diff --git a/next.config.ts b/next.config.ts index 164b423..b9574f9 100644 --- a/next.config.ts +++ b/next.config.ts @@ -6,7 +6,7 @@ const nextConfig: NextConfig = { remotePatterns: [ { protocol: 'https', - hostname: 'img1.wikia.nocookie.net', + hostname: 'i.gifer.com', port: '', pathname: '/**', }, diff --git a/src/app/(main)/events/[eventID]/page.tsx b/src/app/(main)/events/[eventID]/page.tsx index ce39d19..b9e01ca 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,9 @@ export default function ShowEvent() { - +
@@ -119,7 +118,9 @@ export default function ShowEvent() { created:
@@ -127,7 +128,9 @@ export default function ShowEvent() { updated:
@@ -139,14 +142,18 @@ export default function ShowEvent() { - +
- +
@@ -154,11 +161,11 @@ export default function ShowEvent() { Participants {' '}
- {event.participants?.map((user) => ( + {eventData.data.event.participants?.map((user) => ( ))}
@@ -167,7 +174,8 @@ 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 +205,7 @@ export default function ShowEvent() { variant='muted' onClick={() => { deleteEvent.mutate( - { eventID: event.id }, + { eventID: eventData.data.event.id }, { onSuccess: () => { router.push('/home'); @@ -204,7 +213,7 @@ export default function ShowEvent() { )); @@ -222,7 +231,8 @@ export default function ShowEvent() { ) : null}
- {session.data?.user?.id === event.organizer.id ? ( + {session.data?.user?.id === + eventData.data.event.organizer.id ? ( dancing penguin diff --git a/src/components/custom-ui/labeled-input.tsx b/src/components/custom-ui/labeled-input.tsx index 5505e14..4900e66 100644 --- a/src/components/custom-ui/labeled-input.tsx +++ b/src/components/custom-ui/labeled-input.tsx @@ -36,6 +36,12 @@ export default function LabeledInput({ value || defaultValue || '', ); + React.useEffect(() => { + 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..d89efdc 100644 --- a/src/components/forms/event-form.tsx +++ b/src/components/forms/event-form.tsx @@ -64,9 +64,6 @@ const EventForm: React.FC = (props) => { const patchEvent = usePatchApiEventEventID(); const router = useRouter(); - // Extract event fields for form defaults - const event = eventData?.data?.event; - // State for date and time fields const [startDate, setStartDate] = React.useState(undefined); const [startTime, setStartTime] = React.useState(''); @@ -87,22 +84,24 @@ 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 +112,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 +180,7 @@ const EventForm: React.FC = (props) => { router.push(`/events/${eventID}`)} variant='success' buttonText='show' @@ -198,12 +197,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 diff --git a/src/components/settings/tabs/account.tsx b/src/components/settings/tabs/account.tsx index 0b8fe60..db18b0f 100644 --- a/src/components/settings/tabs/account.tsx +++ b/src/components/settings/tabs/account.tsx @@ -98,7 +98,7 @@ export default function AccountTab() { toast.custom((t) => (