From b5602bead51ae0c1ee0ec65e75625485f9df4602 Mon Sep 17 00:00:00 2001 From: Dominik Stahl Date: Tue, 1 Jul 2025 08:55:53 +0200 Subject: [PATCH 1/3] fix: empty event form edit fields --- src/app/(main)/events/[eventID]/page.tsx | 37 +++++++++--------- src/components/custom-ui/labeled-input.tsx | 6 +++ src/components/forms/event-form.tsx | 44 +++++++++++----------- 3 files changed, 45 insertions(+), 42 deletions(-) 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 -- 2.47.2 From 2a95836dcb3bce2777a40886d5ba2b351affa464 Mon Sep 17 00:00:00 2001 From: Dominik Stahl Date: Tue, 1 Jul 2025 08:59:22 +0200 Subject: [PATCH 2/3] fix: settings error message --- src/app/(main)/events/[eventID]/page.tsx | 29 +++++++++++++++++------- src/components/forms/event-form.tsx | 15 ++++++------ src/components/settings/tabs/account.tsx | 2 +- 3 files changed, 29 insertions(+), 17 deletions(-) diff --git a/src/app/(main)/events/[eventID]/page.tsx b/src/app/(main)/events/[eventID]/page.tsx index f47493a..b9e01ca 100644 --- a/src/app/(main)/events/[eventID]/page.tsx +++ b/src/app/(main)/events/[eventID]/page.tsx @@ -108,7 +108,9 @@ export default function ShowEvent() { - +
@@ -116,7 +118,9 @@ export default function ShowEvent() { created:
@@ -124,7 +128,9 @@ export default function ShowEvent() { updated:
@@ -136,14 +142,18 @@ export default function ShowEvent() { - +
- +
@@ -164,7 +174,8 @@ export default function ShowEvent() {
- {session.data?.user?.id === eventData.data.event.organizer.id ? ( + {session.data?.user?.id === + eventData.data.event.organizer.id ? ( Delete Event Are you sure you want to delete the event “ - {eventData.data.event.title}”? This action cannot be undone. + {eventData.data.event.title}”? This action + cannot be undone. @@ -219,7 +231,8 @@ export default function ShowEvent() { ) : null}
- {session.data?.user?.id === eventData.data.event.organizer.id ? ( + {session.data?.user?.id === + eventData.data.event.organizer.id ? ( = (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();; + const router = useRouter(); // State for date and time fields const [startDate, setStartDate] = React.useState(undefined); @@ -102,7 +99,9 @@ const EventForm: React.FC = (props) => { } setLocation(eventData?.data?.event.location || ''); setDescription(eventData?.data?.event.description || ''); - setSelectedParticipants(eventData?.data?.event.participants?.map((u) => u.user) || []); + 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(''); 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) => ( Date: Tue, 1 Jul 2025 09:05:21 +0200 Subject: [PATCH 3/3] fix: remove penguin source --- next.config.ts | 2 +- src/app/login/page.tsx | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) 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/login/page.tsx b/src/app/login/page.tsx index dcd207d..b83c311 100644 --- a/src/app/login/page.tsx +++ b/src/app/login/page.tsx @@ -61,10 +61,11 @@ export default async function LoginPage() { dancing penguin -- 2.47.2