Files
HKSingleParty/99_references/supabase-examples/todo-list/sveltejs-todo-list/src/App.svelte
2025-05-28 09:55:51 +08:00

37 lines
852 B
Svelte

<script lang="ts">
import { onMount } from "svelte";
import { supabase } from "$lib/db";
import Auth from "$lib/Auth.svelte";
import type { User } from "@supabase/supabase-js";
import Home from "$lib/Home.svelte";
let user: User;
onMount(() => {
supabase.auth.getSession().then(({ data: { session } }) => {
user = session?.user ?? null;
});
const { data: { subscription: authListener } } = supabase.auth.onAuthStateChange(
(_, session) => {
const currentUser = session?.user;
user = currentUser ?? null;
}
);
return () => {
authListener?.unsubscribe();
};
});
</script>
<div class="w-full h-full bg-200">
{#if user}
<Home bind:user />
{:else}
<div class="min-w-full min-h-screen flex items-center justify-center">
<Auth />
</div>
{/if}
</div>