Redirect now directly to the event
This commit is contained in:
@@ -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
|
||||
// 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}
|
||||
<EmailSettingsStep bind:emailData />
|
||||
|
||||
@@ -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<void>;
|
||||
selectSheet: (sheet: GoogleSheet) => Promise<void>;
|
||||
toggleSheetList: () => void;
|
||||
resetSheetSelection: () => void;
|
||||
}>();
|
||||
|
||||
// Search functionality
|
||||
@@ -123,13 +124,13 @@
|
||||
</div>
|
||||
</div>
|
||||
<button
|
||||
onclick={toggleSheetList}
|
||||
onclick={resetSheetSelection}
|
||||
class="text-blue-600 hover:text-blue-800 flex items-center"
|
||||
aria-label="Show all sheets"
|
||||
aria-label="Reset selection and show all sheets"
|
||||
>
|
||||
<span class="text-sm mr-1">Change</span>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" />
|
||||
<path fill-rule="evenodd" d="M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
}>();
|
||||
</script>
|
||||
|
||||
<div class="mb-8">
|
||||
<div class="mb-8 mt-6">
|
||||
<div class="flex items-center justify-center gap-4 w-full">
|
||||
{#each Array(totalSteps) as _, index}
|
||||
<div class="flex items-center gap-2">
|
||||
|
||||
Reference in New Issue
Block a user