Lab_6 (надеюсь все)
This commit is contained in:
8
db.json
8
db.json
@@ -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"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -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 && (
|
||||||
|
|||||||
Reference in New Issue
Block a user