import { useEffect, useState } from 'react'; import { useParams } from 'react-router'; import { Link } from 'react-router-dom'; import { getGroup, getGroupEvents } from './api'; import EventCreatorLink from './EventCreator/EventCreatorLink'; import EventStream from './EventStream'; import GroupSettingsLink from './GroupSettings/GroupSettingsLink'; import { IEvent } from './types'; import UILink from './UI/UILink'; export type IGroup = { id: number; events: IEvent[]; name: string; }; export default function Group() { const { id } = useParams<{ id: string }>(); const [loading, setLoading] = useState(true); const [group, setGroup] = useState(null); const [events, setEvents] = useState([]); useEffect(() => { setLoading(true); getGroup(+id) .then(setGroup) .finally(() => setLoading(false)); getGroupEvents(+id).then(setEvents); }, [id]); if (!group && !loading) { return (

Group Not Found

Home
); } if (!group) { return null; } const { name } = group; return (

{name}

Home



{events && events.length > 0 ? ( ) : ( There are no events yet. Click 'create event' above to add one! )}
); }