diff --git a/src/app/(main)/events/[eventID]/page.tsx b/src/app/(main)/events/[eventID]/page.tsx index ce39d19..f47493a 100644 --- a/src/app/(main)/events/[eventID]/page.tsx +++ b/src/app/(main)/events/[eventID]/page.tsx @@ -51,9 +51,6 @@ export default function ShowEvent() { ); } - const event = eventData.data.event; - const organiserName = userData?.data.user?.name || 'Unknown User'; - // Format dates & times for display const formatDate = (isoString?: string) => { if (!isoString) return '-'; @@ -81,7 +78,7 @@ export default function ShowEvent() {

- {event.title || 'Untitled Event'} + {eventData.data.event.title || 'Untitled Event'}

@@ -92,8 +89,8 @@ export default function ShowEvent() { start Time @@ -102,8 +99,8 @@ export default function ShowEvent() { end Time @@ -111,7 +108,7 @@ export default function ShowEvent() { - +
@@ -119,7 +116,7 @@ export default function ShowEvent() { created:
@@ -127,7 +124,7 @@ export default function ShowEvent() { updated:
@@ -139,14 +136,14 @@ export default function ShowEvent() { - +
- +
@@ -154,11 +151,11 @@ export default function ShowEvent() { Participants {' '}
- {event.participants?.map((user) => ( + {eventData.data.event.participants?.map((user) => ( ))}
@@ -167,7 +164,7 @@ export default function ShowEvent() {
- {session.data?.user?.id === event.organizer.id ? ( + {session.data?.user?.id === eventData.data.event.organizer.id ? ( Delete Event Are you sure you want to delete the event “ - {event.title}”? This action cannot be undone. + {eventData.data.event.title}”? This action cannot be undone. @@ -196,7 +193,7 @@ export default function ShowEvent() { variant='muted' onClick={() => { deleteEvent.mutate( - { eventID: event.id }, + { eventID: eventData.data.event.id }, { onSuccess: () => { router.push('/home'); @@ -204,7 +201,7 @@ export default function ShowEvent() { )); @@ -222,7 +219,7 @@ export default function ShowEvent() { ) : null}
- {session.data?.user?.id === event.organizer.id ? ( + {session.data?.user?.id === eventData.data.event.organizer.id ? ( { + if (value !== undefined) { + setInputValue(value); + } + }, [value]); + const handleInputChange = (e: React.ChangeEvent) => { setInputValue(e.target.value); if (rest.onChange) { diff --git a/src/components/forms/event-form.tsx b/src/components/forms/event-form.tsx index 11bf820..17a4cb4 100644 --- a/src/components/forms/event-form.tsx +++ b/src/components/forms/event-form.tsx @@ -58,14 +58,14 @@ const EventForm: React.FC = (props) => { error, } = usePostApiEvent(); const { data, isLoading, error: fetchError } = useGetApiUserMe(); - const { data: eventData } = useGetApiEventEventID(props.eventId!, { - query: { enabled: props.type === 'edit' }, - }); + const { data: eventData } = useGetApiEventEventID( + props.eventId!, + { + query: { enabled: props.type === 'edit' }, + }, + ); const patchEvent = usePatchApiEventEventID(); - const router = useRouter(); - - // Extract event fields for form defaults - const event = eventData?.data?.event; + const router = useRouter();; // State for date and time fields const [startDate, setStartDate] = React.useState(undefined); @@ -87,22 +87,22 @@ const EventForm: React.FC = (props) => { // Update state when event data loads React.useEffect(() => { - if (props.type === 'edit' && event) { - setTitle(event.title || ''); + if (props.type === 'edit' && eventData?.data?.event) { + setTitle(eventData?.data?.event.title || ''); // Parse start_time and end_time - if (event.start_time) { - const start = new Date(event.start_time); + if (eventData?.data?.event.start_time) { + const start = new Date(eventData?.data?.event.start_time); setStartDate(start); setStartTime(start.toTimeString().slice(0, 5)); // "HH:mm" } - if (event.end_time) { - const end = new Date(event.end_time); + if (eventData?.data?.event.end_time) { + const end = new Date(eventData?.data?.event.end_time); setEndDate(end); setEndTime(end.toTimeString().slice(0, 5)); // "HH:mm" } - setLocation(event.location || ''); - setDescription(event.description || ''); - setSelectedParticipants(event.participants?.map((u) => u.user) || []); + setLocation(eventData?.data?.event.location || ''); + setDescription(eventData?.data?.event.description || ''); + setSelectedParticipants(eventData?.data?.event.participants?.map((u) => u.user) || []); } else if (props.type === 'create' && startFromUrl && endFromUrl) { // If creating a new event with URL params, set title and dates setTitle(''); @@ -113,7 +113,7 @@ const EventForm: React.FC = (props) => { setEndDate(end); setEndTime(end.toTimeString().slice(0, 5)); // "HH:mm" } - }, [event, props.type, startFromUrl, endFromUrl]); + }, [eventData?.data?.event, props.type, startFromUrl, endFromUrl]); async function handleSubmit(e: React.FormEvent) { e.preventDefault(); @@ -181,7 +181,7 @@ const EventForm: React.FC = (props) => { router.push(`/events/${eventID}`)} variant='success' buttonText='show' @@ -198,12 +198,12 @@ const EventForm: React.FC = (props) => { // Use DB values for created_at/updated_at in edit mode const createdAtValue = - props.type === 'edit' && event?.created_at - ? event.created_at + props.type === 'edit' && eventData?.data?.event?.created_at + ? eventData.data.event.created_at : new Date().toISOString(); const updatedAtValue = - props.type === 'edit' && event?.updated_at - ? event.updated_at + props.type === 'edit' && eventData?.data?.event?.updated_at + ? eventData.data.event.updated_at : new Date().toISOString(); // Format date for display