From 1508b501af11b340e2a2323b0ccdfb04dad51e54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Kr=C4=8Dek?= Date: Sun, 29 Jun 2025 17:12:36 +0200 Subject: [PATCH] Add the ability to add participants to already created events --- .../private/events/creator/+page.svelte | 179 +++++++++++------- .../events/creator/finish/+page.svelte | 23 ++- .../creator/steps/StepCreateEvent.svelte | 24 ++- .../events/creator/steps/StepOverview.svelte | 6 +- src/routes/private/events/event/+page.svelte | 32 ++-- 5 files changed, 167 insertions(+), 97 deletions(-) diff --git a/src/routes/private/events/creator/+page.svelte b/src/routes/private/events/creator/+page.svelte index e82c77c..0b2e1f0 100644 --- a/src/routes/private/events/creator/+page.svelte +++ b/src/routes/private/events/creator/+page.svelte @@ -1,86 +1,129 @@ -
- - - Step {step + 1} of {steps.length} - - +
+ {#if isAddingParticipants} +

Add Participants to "{event.name}"

+ {/if}
{#if step == 0} - + {:else if step == 1} - + {:else if step == 2} - + {:else if step == 3} - + {:else if step == 4} - + {/if} + +
+ +
+
+ + + Step {step + 1} of {steps.length} + + +
+
diff --git a/src/routes/private/events/creator/finish/+page.svelte b/src/routes/private/events/creator/finish/+page.svelte index 64dcda3..93dc831 100644 --- a/src/routes/private/events/creator/finish/+page.svelte +++ b/src/routes/private/events/creator/finish/+page.svelte @@ -29,9 +29,18 @@ all_data = JSON.parse(sessionStorage.getItem(session_storage_id) || '{}'); try { - event_status = StepStatus.Loading; - const createdEvent = await createEventInSupabase(all_data.event); - event_status = StepStatus.Success; + let createdEvent; + + if (all_data.isAddingParticipants && all_data.existingEventId) { + // Skip event creation for existing events + event_status = StepStatus.Success; + createdEvent = { id: all_data.existingEventId, ...all_data.event }; + } else { + // Create new event + event_status = StepStatus.Loading; + createdEvent = await createEventInSupabase(all_data.event); + event_status = StepStatus.Success; + } participants_status = StepStatus.Loading; createdParticipants = await createParticipantsInSupabase(all_data.participants, createdEvent); @@ -141,13 +150,17 @@
-

Creating event

+

+ {all_data.isAddingParticipants ? 'Using existing event' : 'Creating event'} +

{#if event_status === StepStatus.Waiting} Waiting... {:else if event_status === StepStatus.Loading} Creating event... {:else if event_status === StepStatus.Success} - Event created successfully. + + {all_data.isAddingParticipants ? 'Using existing event.' : 'Event created successfully.'} + {:else if event_status === StepStatus.Failure} Failed to create event. {/if} diff --git a/src/routes/private/events/creator/steps/StepCreateEvent.svelte b/src/routes/private/events/creator/steps/StepCreateEvent.svelte index 7d69dc5..5c96e46 100644 --- a/src/routes/private/events/creator/steps/StepCreateEvent.svelte +++ b/src/routes/private/events/creator/steps/StepCreateEvent.svelte @@ -1,8 +1,8 @@ @@ -59,13 +61,15 @@ {/if} {#if !showForm} - + {#if !readonly} + + {/if}

Event Preview

{#if Object.keys(event).length > 0} diff --git a/src/routes/private/events/creator/steps/StepOverview.svelte b/src/routes/private/events/creator/steps/StepOverview.svelte index cd77d45..836d1bd 100644 --- a/src/routes/private/events/creator/steps/StepOverview.svelte +++ b/src/routes/private/events/creator/steps/StepOverview.svelte @@ -1,7 +1,7 @@