From c40b0fe09515146de7a1cd55b62fc3602f0201c1 Mon Sep 17 00:00:00 2001 From: Marcel Raddatz Date: Fri, 10 Apr 2026 19:55:00 +0200 Subject: [PATCH] fix(members): create invite on first click when no active invite exists When activeInvite is null and the user clicks the invite card, POST to /members/invites first to generate a code, then toggle the panel open. Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/routes/(app)/members/+page.svelte | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/frontend/src/routes/(app)/members/+page.svelte b/frontend/src/routes/(app)/members/+page.svelte index 5c2dd64..df15e7b 100644 --- a/frontend/src/routes/(app)/members/+page.svelte +++ b/frontend/src/routes/(app)/members/+page.svelte @@ -59,6 +59,16 @@ } } + async function handleInviteClick() { + if (!activeInvite) { + const res = await fetch('/members/invites', { method: 'POST' }); + if (res.ok) { + activeInvite = await res.json(); + } + } + showInvitePanel = !showInvitePanel; + } + async function handleRegenerate() { const res = await fetch('/members/invites', { method: 'POST' }); if (res.ok) { @@ -80,7 +90,7 @@ showInviteCard={isPlanner} onremove={handleRemove} onrolechange={handleRoleChange} - oninviteclick={() => (showInvitePanel = !showInvitePanel)} + oninviteclick={handleInviteClick} /> {#if showInvitePanel && isPlanner && activeInvite}