diff --git a/frontend/src/components/EventList.tsx b/frontend/src/components/EventList.tsx index bb358ca..aa441fb 100644 --- a/frontend/src/components/EventList.tsx +++ b/frontend/src/components/EventList.tsx @@ -11,6 +11,8 @@ import { Container, Chip, Stack, + Switch, + FormControlLabel, } from '@mui/material'; import AdminPanelSettingsIcon from '@mui/icons-material/AdminPanelSettings'; import VisibilityIcon from '@mui/icons-material/Visibility'; @@ -30,6 +32,7 @@ interface Event { const EventList: React.FC = () => { const [events, setEvents] = useState([]); const navigate = useNavigate(); + const [hideClosed, setHideClosed] = useState(false); useEffect(() => { fetchEvents(); @@ -84,81 +87,95 @@ const EventList: React.FC = () => { > Create Event + + setHideClosed(checked)} + color="primary" + /> + } + label="Hide Closed Events" + /> + - {events.map((event) => ( - - - - - - {event.title} - - - - {event.description && ( + {events + .filter(event => !hideClosed || isEventOpen(event)) + .map((event) => ( + + + + + + {event.title} + + + + {event.description && ( + + Info: {event.description} + + )} - Info: {event.description} + Date: {new Date(event.date).toLocaleString()} - )} - - Date: {new Date(event.date).toLocaleString()} - - - Location: {event.location} - - {event.rsvp_cutoff_date && ( - RSVP cut-off date: {new Date(event.rsvp_cutoff_date).toLocaleString()} + Location: {event.location} - )} - - - - {isEventOpen(event) && ( + {event.rsvp_cutoff_date && ( + + RSVP cut-off date: {new Date(event.rsvp_cutoff_date).toLocaleString()} + + )} + + + + {isEventOpen(event) && ( + + )} - )} + - - - - - - ))} + + + + ))}