fix: add spinner to sign-in
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
import { Avatar, Button, DropdownMenu, Separator } from 'bits-ui';
|
||||
import { authClient } from './auth-client';
|
||||
import Image from './Image.svelte';
|
||||
import { CircleUser, FolderGit2, User } from '@lucide/svelte';
|
||||
import { CircleUser, FolderGit2, Loader2, User } from '@lucide/svelte';
|
||||
import { goto } from '$app/navigation';
|
||||
type MockUser = {
|
||||
image: string;
|
||||
@@ -10,8 +10,10 @@
|
||||
|
||||
const session = authClient.useSession();
|
||||
const user = $derived($session.data?.user);
|
||||
let loading = $state(false);
|
||||
|
||||
const signIn = async () => {
|
||||
loading = true;
|
||||
await authClient.signIn.social({
|
||||
provider: 'github'
|
||||
});
|
||||
@@ -25,7 +27,11 @@
|
||||
</Button.Root>
|
||||
{#if !user && !$session.isPending}
|
||||
<Button.Root class="rounded-md p-2 transition-colors hover:bg-gray-800" onclick={signIn}>
|
||||
Sign In
|
||||
{#if loading}
|
||||
<Loader2 class="animate-spin" />
|
||||
{:else}
|
||||
Sign In
|
||||
{/if}
|
||||
</Button.Root>
|
||||
{:else if user}
|
||||
<DropdownMenu.Root>
|
||||
|
||||
@@ -2,6 +2,6 @@ import { jwtClient, adminClient } from 'better-auth/client/plugins';
|
||||
import { createAuthClient } from 'better-auth/svelte';
|
||||
|
||||
export const authClient = createAuthClient({
|
||||
baseURL: process.env.BETTER_AUTH_URL!,
|
||||
baseURL: "http://localhost:5173",
|
||||
plugins: [jwtClient(), adminClient()]
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user