diff --git a/src/pages/CatalogPage.jsx b/src/pages/CatalogPage.jsx index e8086a3..82517ec 100644 --- a/src/pages/CatalogPage.jsx +++ b/src/pages/CatalogPage.jsx @@ -46,18 +46,20 @@ const CatalogPage = () => { const handleFormSubmit = async (eventData) => { try { - const url = currentEvent ? `${API_URL}/${currentEvent.id}` : API_URL; - const method = currentEvent ? 'PUT' : 'POST'; + console.log('Отправляемые данные:', eventData); // для отладки - // Преобразуем данные в новый формат Rq DTO + // ПРАВИЛЬНОЕ ФОРМИРОВАНИЕ ДАННЫХ const requestData = { title: eventData.title, description: eventData.description, imageUrl: eventData.imageUrl, - categoryId: 1, // Фиксированные значения для демонстрации - typeId: 1 // В реальном приложении нужно получать из формы + categoryId: eventData.category.id || eventData.categoryId, + typeId: eventData.type.id || eventData.typeId }; + const url = currentEvent ? `${API_URL}/${currentEvent.id}` : API_URL; + const method = currentEvent ? 'PUT' : 'POST'; + const response = await fetch(url, { method: method, headers: { @@ -67,10 +69,12 @@ const CatalogPage = () => { }); if (!response.ok) { - throw new Error(`Ошибка ${method === 'POST' ? 'создания' : 'обновления'}: ${response.status}`); + const errorText = await response.text(); + throw new Error(`Ошибка ${response.status}: ${errorText}`); } const result = await response.json(); + console.log('Ответ от сервера:', result); // для отладки if (currentEvent) { setEvents(events.map(e => e.id === currentEvent.id ? result : e)); @@ -79,6 +83,7 @@ const CatalogPage = () => { } setIsFormOpen(false); + setCurrentEvent(null); } catch (error) { console.error('Ошибка при сохранении события:', error); alert('Ошибка при сохранении события: ' + error.message); @@ -106,12 +111,12 @@ const CatalogPage = () => { const handleFormClose = () => { setIsFormOpen(false); + setCurrentEvent(null); }; const handleSortAsc = () => setSortOrder('asc'); const handleSortDesc = () => setSortOrder('desc'); - // Функция сортировки const getSortedEvents = (eventsList, order) => { if (!eventsList || !Array.isArray(eventsList)) return []; return [...eventsList].sort((a, b) => { @@ -150,7 +155,6 @@ const CatalogPage = () => {

Каталог стримов и событий

Выбирай из нашего ассортимента уникальных стримов, концертов и кибермероприятий.

- {/* Кнопки сортировки */}