From 5e0f5f19f0ff545b91d49a30634e54034f2ee9c3 Mon Sep 17 00:00:00 2001 From: Wind-Explorer Date: Wed, 18 Mar 2026 01:25:32 +0800 Subject: [PATCH] welcome screen refinements --- src/assets/icons/trademarks/discord.svelte | 10 ++ src/assets/icons/trademarks/google.svelte | 10 ++ src/routes/welcome/+page.svelte | 103 ++++++++++++++------- 3 files changed, 87 insertions(+), 36 deletions(-) create mode 100644 src/assets/icons/trademarks/discord.svelte create mode 100644 src/assets/icons/trademarks/google.svelte diff --git a/src/assets/icons/trademarks/discord.svelte b/src/assets/icons/trademarks/discord.svelte new file mode 100644 index 0000000..53a9bc4 --- /dev/null +++ b/src/assets/icons/trademarks/discord.svelte @@ -0,0 +1,10 @@ + diff --git a/src/assets/icons/trademarks/google.svelte b/src/assets/icons/trademarks/google.svelte new file mode 100644 index 0000000..fb76d38 --- /dev/null +++ b/src/assets/icons/trademarks/google.svelte @@ -0,0 +1,10 @@ + diff --git a/src/routes/welcome/+page.svelte b/src/routes/welcome/+page.svelte index dda2b9b..a4d676e 100644 --- a/src/routes/welcome/+page.svelte +++ b/src/routes/welcome/+page.svelte @@ -4,6 +4,8 @@ import DollPreview from "../app-menu/components/doll-preview.svelte"; import ExternalLink from "../../assets/icons/external-link.svelte"; import type { UnlistenFn } from "@tauri-apps/api/event"; + import Google from "../../assets/icons/trademarks/google.svelte"; + import Discord from "../../assets/icons/trademarks/discord.svelte"; let activeProvider: "google" | "discord" | null = null; let errorMessage = ""; @@ -45,7 +47,11 @@ const providerLabel = (provider: "google" | "discord") => provider === "google" ? "Google" : "Discord"; - const handleAuthFlowUpdated = ({ payload }: { payload: AuthFlowUpdatedPayload }) => { + const handleAuthFlowUpdated = ({ + payload, + }: { + payload: AuthFlowUpdatedPayload; + }) => { const provider = payload.provider as "google" | "discord"; if (activeProvider !== provider) { return; @@ -62,11 +68,14 @@ return; } - errorMessage = payload.message ?? `Unable to sign in with ${providerLabel(provider)}.`; + errorMessage = + payload.message ?? `Unable to sign in with ${providerLabel(provider)}.`; }; onMount(async () => { - unlistenAuthFlow = await events.authFlowUpdated.listen(handleAuthFlowUpdated); + unlistenAuthFlow = await events.authFlowUpdated.listen( + handleAuthFlowUpdated, + ); }); onDestroy(() => { @@ -97,44 +106,66 @@ a cute passive socialization layer!

-
- - - +
+ Sign in with +
+ + +
{#if errorMessage} -

{errorMessage}

+

{errorMessage}

{:else} -

- {#if activeProvider} - Friendolls is waiting for the browser callback. Click either button again to restart sign-in at any time. - {:else} - Sign in through your browser, then return here once Friendolls finishes the handshake. - {/if} +

+ An account is needed to connect you with friends.

{/if} + +
@@ -146,7 +177,7 @@ class="absolute pointer-events-none bottom-6 right-6 flex flex-col gap-1 justify-between" >
-
+