import React, { useEffect, useState } from "react"; import { Table, TableHeader, TableColumn, TableBody, TableRow, TableCell, Avatar, Button, } from "@nextui-org/react"; import { useNavigate } from "react-router-dom"; import { PencilSquareIcon, TrashIcon } from "../icons"; import axios from "axios"; import config from "../config"; const ManageEventsPage = () => { const [events, setEvents] = useState([]); const navigate = useNavigate(); const fetchEvents = async () => { try { const res = await axios.get(config.serverAddress + "/events"); console.log("Fetched events data:", res.data); // Debug log setEvents(res.data); } catch (error) { console.error("Failed to fetch events:", error); } }; useEffect(() => { fetchEvents(); }, []); const handleEdit = (id: string) => { navigate(`editEvent/${id}`); }; const handleDelete = async (id: string) => { try { await axios.delete(`${config.serverAddress}/events/${id}`); setEvents(events.filter((event) => event.id !== id)); } catch (error) { console.error("Failed to delete event:", error); } }; return (

Manage Events

Event Name and Picture Date Time Location Description Event Category Actions {events.map((event) => (
{event.title}
{new Date(event.date).toLocaleDateString()} {event.time} {event.location} {event.description} {event.category}
))}
); }; export default ManageEventsPage;