From 6b2d0f5cbce84188856115cc1aa42642057ef60f Mon Sep 17 00:00:00 2001 From: Face <69168154+face-hh@users.noreply.github.com> Date: Thu, 22 May 2025 14:00:43 +0300 Subject: [PATCH] improve home page & account footer --- .../src/lib/components/self/AppSidebar.svelte | 125 ++++++++++++++---- .../self/SignInConfirmDialog.svelte | 16 ++- .../ui/avatar/avatar-fallback.svelte | 17 +++ .../components/ui/avatar/avatar-image.svelte | 17 +++ .../lib/components/ui/avatar/avatar.svelte | 17 +++ website/src/lib/components/ui/avatar/index.ts | 13 ++ .../dropdown-menu-checkbox-item.svelte | 41 ++++++ .../dropdown-menu-content.svelte | 27 ++++ .../dropdown-menu-group-heading.svelte | 22 +++ .../dropdown-menu/dropdown-menu-group.svelte | 7 + .../dropdown-menu/dropdown-menu-item.svelte | 27 ++++ .../dropdown-menu/dropdown-menu-label.svelte | 24 ++++ .../dropdown-menu-radio-group.svelte | 16 +++ .../dropdown-menu-radio-item.svelte | 31 +++++ .../dropdown-menu-separator.svelte | 17 +++ .../dropdown-menu-shortcut.svelte | 20 +++ .../dropdown-menu-sub-content.svelte | 20 +++ .../dropdown-menu-sub-trigger.svelte | 29 ++++ .../dropdown-menu-trigger.svelte | 7 + .../lib/components/ui/dropdown-menu/index.ts | 49 +++++++ website/src/lib/utils.ts | 14 ++ website/src/routes/+layout.svelte | 4 +- website/src/routes/+page.svelte | 27 +++- 23 files changed, 551 insertions(+), 36 deletions(-) create mode 100644 website/src/lib/components/ui/avatar/avatar-fallback.svelte create mode 100644 website/src/lib/components/ui/avatar/avatar-image.svelte create mode 100644 website/src/lib/components/ui/avatar/avatar.svelte create mode 100644 website/src/lib/components/ui/avatar/index.ts create mode 100644 website/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte create mode 100644 website/src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte create mode 100644 website/src/lib/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte create mode 100644 website/src/lib/components/ui/dropdown-menu/dropdown-menu-group.svelte create mode 100644 website/src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte create mode 100644 website/src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte create mode 100644 website/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte create mode 100644 website/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte create mode 100644 website/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte create mode 100644 website/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte create mode 100644 website/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte create mode 100644 website/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte create mode 100644 website/src/lib/components/ui/dropdown-menu/dropdown-menu-trigger.svelte create mode 100644 website/src/lib/components/ui/dropdown-menu/index.ts diff --git a/website/src/lib/components/self/AppSidebar.svelte b/website/src/lib/components/self/AppSidebar.svelte index ee0bfa9..1c00ec3 100644 --- a/website/src/lib/components/self/AppSidebar.svelte +++ b/website/src/lib/components/self/AppSidebar.svelte @@ -1,23 +1,29 @@ - +
@@ -120,21 +118,92 @@ {/snippet} - - {#if !$USER_DATA} - - - {#snippet child()} - - {/snippet} - - - {/if} + + {#if $USER_DATA} + + + + + + {#snippet child({ props })} + + + + CN + +
+ {$USER_DATA.name} + $35,674.34 + +
+ +
+ {/snippet} +
+ + +
+ + + CN + +
+ {$USER_DATA.name} + {$USER_DATA.email} +
+
+
+ + + + + Upgrade to Pro + + + + + + + Account + + + + Billing + + + + Notifications + + + + { + signOut().then(() => { + USER_DATA.set(null); + window.location.reload(); + }); + }} + > + + Log out + +
+
+
+
+
+ {/if} diff --git a/website/src/lib/components/self/SignInConfirmDialog.svelte b/website/src/lib/components/self/SignInConfirmDialog.svelte index 7c07a9d..56ee8bd 100644 --- a/website/src/lib/components/self/SignInConfirmDialog.svelte +++ b/website/src/lib/components/self/SignInConfirmDialog.svelte @@ -7,17 +7,25 @@ DialogDescription } from '$lib/components/ui/dialog'; import { Button } from '$lib/components/ui/button'; + import { signIn } from '$lib/auth-client'; + import { page } from '$app/state'; - let { open = $bindable(false), onConfirm } = $props<{ + async function onConfirm() { + await signIn.social({ + provider: 'google', + callbackURL: `${page.url.pathname}?signIn=1` + }); + } + + let { open = $bindable(false) } = $props<{ open?: boolean; - onConfirm: (provider: 'google') => void; }>(); - Sign in to Vyntr + Sign in to Rugplay Choose a service to sign in with. Your account will be created automatically if you don't have one. @@ -27,7 +35,7 @@ + or{' '} + to play. + {/if} +