diff --git a/src/routes/private/events/event/new/+page.svelte b/src/routes/private/events/event/new/+page.svelte index 41739bf..dcaf5df 100644 --- a/src/routes/private/events/event/new/+page.svelte +++ b/src/routes/private/events/event/new/+page.svelte @@ -384,13 +384,26 @@ sheetsData.expandedSheetList = !sheetsData.expandedSheetList; } + // Reset sheet selection and show sheet list + function resetSheetSelection() { + sheetsData.selectedSheet = null; + sheetsData.sheetData = []; + sheetsData.columnMapping = { + name: 0, + surname: 0, + email: 0, + confirmation: 0 + }; + sheetsData.expandedSheetList = true; + } + // Final submission async function createEvent() { if (!validateCurrentStep()) return; loading = true; try { - const { error } = await data.supabase.rpc('create_event', { + const { data: newEvent, error } = await data.supabase.rpc('create_event', { p_name: eventData.name, p_date: eventData.date, p_email_subject: emailData.subject, @@ -404,11 +417,19 @@ if (error) throw error; - // Redirect to events list or show success message - goto('/private/events'); + // Display success message + toast.success(`Event "${eventData.name}" was created successfully`); + + // Redirect to the event view page using the returned event ID + if (newEvent) { + goto(`/private/events/event/view?id=${newEvent.id}`); + } else { + // Fallback to events list if for some reason the event ID wasn't returned + goto('/private/events'); + } } catch (error) { console.error('Error creating event:', error); - errors.submit = 'Failed to create event. Please try again.'; + toast.error('Failed to create event. Please try again.'); } finally { loading = false; } @@ -453,6 +474,7 @@ {loadRecentSheets} {selectSheet} {toggleSheetList} + {resetSheetSelection} /> {:else if currentStep === 3} diff --git a/src/routes/private/events/event/new/components/GoogleSheetsStep.svelte b/src/routes/private/events/event/new/components/GoogleSheetsStep.svelte index 8144140..97fcd65 100644 --- a/src/routes/private/events/event/new/components/GoogleSheetsStep.svelte +++ b/src/routes/private/events/event/new/components/GoogleSheetsStep.svelte @@ -2,7 +2,7 @@ import type { GoogleSheet } from '$lib/google/sheets/types.ts'; // Props - let { sheetsData = $bindable(), loadRecentSheets, selectSheet, toggleSheetList } = $props<{ + let { sheetsData = $bindable(), loadRecentSheets, selectSheet, toggleSheetList, resetSheetSelection } = $props<{ sheetsData: { availableSheets: GoogleSheet[]; selectedSheet: GoogleSheet | null; @@ -19,6 +19,7 @@ loadRecentSheets: () => Promise; selectSheet: (sheet: GoogleSheet) => Promise; toggleSheetList: () => void; + resetSheetSelection: () => void; }>(); // Search functionality @@ -123,13 +124,13 @@ diff --git a/src/routes/private/events/event/new/components/StepNavigator.svelte b/src/routes/private/events/event/new/components/StepNavigator.svelte index f26fb87..53d3737 100644 --- a/src/routes/private/events/event/new/components/StepNavigator.svelte +++ b/src/routes/private/events/event/new/components/StepNavigator.svelte @@ -6,7 +6,7 @@ }>(); -
+
{#each Array(totalSteps) as _, index}