From bb8077677644ef1c7c56b22dc07888f6d34717df Mon Sep 17 00:00:00 2001 From: Yuri Tatishchev Date: Sun, 4 May 2025 18:43:15 -0700 Subject: [PATCH] ui: auth: improve auth form and invite page --- .../app/auth-form/auth-button.svelte | 28 ++++++++++ .../components/app/auth-form/auth-form.svelte | 56 +++++-------------- src/routes/invite/[id]/+layout.server.ts | 5 +- src/routes/invite/[id]/+page.svelte | 4 +- 4 files changed, 47 insertions(+), 46 deletions(-) create mode 100644 src/lib/components/app/auth-form/auth-button.svelte diff --git a/src/lib/components/app/auth-form/auth-button.svelte b/src/lib/components/app/auth-form/auth-button.svelte new file mode 100644 index 0000000..0fec16f --- /dev/null +++ b/src/lib/components/app/auth-form/auth-button.svelte @@ -0,0 +1,28 @@ + + +
(submitted = true)} action="/auth/{providerName}"> + {#if inviteToken} + + {/if} + +
diff --git a/src/lib/components/app/auth-form/auth-form.svelte b/src/lib/components/app/auth-form/auth-form.svelte index 2a19451..d1c332b 100644 --- a/src/lib/components/app/auth-form/auth-form.svelte +++ b/src/lib/components/app/auth-form/auth-form.svelte @@ -1,54 +1,26 @@ -
- {#if enabledAuthProviders.authentik } -
submitted = true} - action="/auth/authentik{inviteToken ? `?invite=${inviteToken}` : ''}"> - - -
+
+ {#if enabledAuthProviders.authentik} + {/if} - {#if enabledAuthProviders.google } -
submitted = true} - action="/auth/google{inviteToken ? `?invite=${inviteToken}` : ''}"> - - -
+ {#if enabledAuthProviders.google} + {/if}
diff --git a/src/routes/invite/[id]/+layout.server.ts b/src/routes/invite/[id]/+layout.server.ts index 31cbbcd..faebc7c 100644 --- a/src/routes/invite/[id]/+layout.server.ts +++ b/src/routes/invite/[id]/+layout.server.ts @@ -2,6 +2,7 @@ import type { LayoutServerLoad } from './$types'; import { redirect } from '@sveltejs/kit'; import { isValidInviteToken } from '$lib/server/auth'; -export const load: LayoutServerLoad = ({ params }) => { - if (!isValidInviteToken(params.id)) redirect(307, '/') +export const load: LayoutServerLoad = ({ params, locals }) => { + if (!isValidInviteToken(params.id)) redirect(302, '/'); + if (locals.user !== null) redirect(302, '/'); }; diff --git a/src/routes/invite/[id]/+page.svelte b/src/routes/invite/[id]/+page.svelte index 5cbdd6b..d1b8391 100644 --- a/src/routes/invite/[id]/+page.svelte +++ b/src/routes/invite/[id]/+page.svelte @@ -10,7 +10,7 @@

- Welcome to VPGen + You are invited to VPGen

- +