Lab_6 (надеюсь все)

This commit is contained in:
2025-10-23 01:54:53 +04:00
parent 022979e322
commit 92fc66a712
2 changed files with 15 additions and 10 deletions

View File

@@ -27,7 +27,7 @@
{ {
"id": 4, "id": 4,
"title": "Hologram Show", "title": "Hologram Show",
"description": "Уникальное цифровое шоу с голографическими эффектами.", "description": "Уникальное цифровое шоу с голографическими эффектами. Абсолютно новый формат!",
"imageUrl": "https://kartinki.pics/pics/uploads/posts/2022-08/1660474027_1-kartinkin-net-p-kiberpank-oboi-krasivo-1.jpg", "imageUrl": "https://kartinki.pics/pics/uploads/posts/2022-08/1660474027_1-kartinkin-net-p-kiberpank-oboi-krasivo-1.jpg",
"categoryId": 2, "categoryId": 2,
"typeId": 1 "typeId": 1
@@ -104,12 +104,6 @@
"userId": 1, "userId": 1,
"eventId": 1, "eventId": 1,
"date": "2025-10-22T12:00:00Z" "date": "2025-10-22T12:00:00Z"
},
{
"id": 102,
"userId": 1,
"eventId": 3,
"date": "2025-10-20T10:15:00Z"
} }
] ]
} }

View File

@@ -1,3 +1,4 @@
// src/pages/CatalogPage.jsx
import React from 'react'; import React from 'react';
import EventList from '../components/EventList'; import EventList from '../components/EventList';
import EventForm from '../components/EventForm'; import EventForm from '../components/EventForm';
@@ -8,6 +9,16 @@ const CatalogPage = () => {
const { events, loading, error, addEvent, updateEvent, deleteEvent } = useEvents(); const { events, loading, error, addEvent, updateEvent, deleteEvent } = useEvents();
const { formData, currentEvent, isFormOpen, openForm, closeForm, handleFormChange } = useFormState(); const { formData, currentEvent, isFormOpen, openForm, closeForm, handleFormChange } = useFormState();
// Функция для открытия формы для РЕДАКТИРОВАНИЯ
const handleEditClick = (event) => {
openForm(event); // Передаём конкретное событие
};
// Функция для открытия формы для ДОБАВЛЕНИЯ
const handleAddClick = () => {
openForm(null); // Явно передаём null
};
const handleFormSubmit = async (e) => { const handleFormSubmit = async (e) => {
e.preventDefault(); e.preventDefault();
try { try {
@@ -27,14 +38,14 @@ const CatalogPage = () => {
return ( return (
<div className="container-fluid"> <div className="container-fluid">
<h1>Каталог стримов и событий (React)</h1> <h1>Каталог стримов и событий</h1>
<p>Выбирай из нашего ассортимента уникальных стримов, концертов и кибермероприятий.</p> <p>Выбирай из нашего ассортимента уникальных стримов, концертов и кибермероприятий.</p>
<EventList <EventList
events={events} events={events}
onEdit={openForm} onEdit={handleEditClick} // Передаём новую функцию для редактирования
onDelete={deleteEvent} onDelete={deleteEvent}
onAddClick={openForm} onAddClick={handleAddClick} // Передаём новую функцию для добавления
/> />
{isFormOpen && ( {isFormOpen && (