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!
-
-
startAuth("google")}
- >
- {activeProvider === "google" ? "Restart Google sign-in" : "Continue with Google"}
-
-
-
-
-
startAuth("discord")}
- >
- {activeProvider === "discord" ? "Restart Discord sign-in" : "Continue with Discord"}
-
-
-
-
-
- Advanced options
-
+
+
Sign in with
+
+
startAuth("google")}
+ >
+
+
+
+
startAuth("discord")}
+ >
+
+
+
+
{#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}
+
+
+ Client Configuration (Advanced)
+
@@ -146,7 +177,7 @@
class="absolute pointer-events-none bottom-6 right-6 flex flex-col gap-1 justify-between"
>
-