Redirect now directly to the event

This commit is contained in:
Roman Krček
2025-07-14 14:56:49 +02:00
parent b9db3d22a3
commit 6466665549
3 changed files with 32 additions and 9 deletions

View File

@@ -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}
<EmailSettingsStep bind:emailData />

View File

@@ -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>

View File

@@ -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">