2023-01-25 22:41:11 +05:30
|
|
|
<script lang="ts">
|
2023-02-03 23:25:33 +05:30
|
|
|
import { signIn, signOut } from "@auth/sveltekit/client";
|
|
|
|
import { page } from "$app/stores";
|
|
|
|
import type { PageData } from "./$types";
|
2023-01-25 22:41:11 +05:30
|
|
|
const buttonStyles = "button w-fit";
|
2022-12-30 22:32:49 +05:30
|
|
|
|
2023-01-25 22:41:11 +05:30
|
|
|
export let data: PageData;
|
2022-12-30 22:32:49 +05:30
|
|
|
</script>
|
|
|
|
|
2023-01-25 22:41:11 +05:30
|
|
|
<h1>{data.title}</h1>
|
2022-12-30 22:32:49 +05:30
|
|
|
|
2023-01-25 22:41:11 +05:30
|
|
|
{#if data.hasAuth}
|
|
|
|
{#if Object.keys($page.data.session || {}).length}
|
|
|
|
<div class="flex flex-col gap-4">
|
|
|
|
<div class="flex flex-row items-center gap-1">
|
|
|
|
<span>Signed in as</span><br />
|
2023-02-03 23:25:33 +05:30
|
|
|
<span class="font-extrabold"
|
|
|
|
>{$page?.data?.session?.user?.email}</span
|
|
|
|
>
|
2023-01-25 22:41:11 +05:30
|
|
|
</div>
|
|
|
|
<a href="/admin">Go to admin dashboard</a>
|
2023-02-03 23:25:33 +05:30
|
|
|
<button
|
|
|
|
on:click={() => signOut()}
|
|
|
|
class={buttonStyles}
|
|
|
|
><div class="i-ic:outline-logout" />
|
|
|
|
Sign out</button
|
|
|
|
>
|
2022-12-30 22:32:49 +05:30
|
|
|
</div>
|
2023-01-25 22:41:11 +05:30
|
|
|
{:else}
|
|
|
|
<div class="flex flex-col gap-4">
|
|
|
|
<span>You are not signed in</span>
|
2023-02-03 23:25:33 +05:30
|
|
|
<button
|
|
|
|
on:click={() => signIn("authentik")}
|
|
|
|
class={buttonStyles}
|
|
|
|
><div class="i-ic:outline-login" />
|
|
|
|
Sign in using Authentik</button
|
|
|
|
>
|
2023-01-25 22:41:11 +05:30
|
|
|
</div>
|
|
|
|
{/if}
|
2022-12-30 22:32:49 +05:30
|
|
|
{:else}
|
2023-01-25 22:41:11 +05:30
|
|
|
<div class="flex flex-col gap-4">
|
|
|
|
<span>Authentik is not configured</span>
|
2023-02-03 23:25:33 +05:30
|
|
|
<a href="https://goauthentik.io/docs/installation"
|
|
|
|
>Configure Authentik</a
|
|
|
|
>
|
2022-12-30 22:32:49 +05:30
|
|
|
</div>
|
2023-02-03 23:25:33 +05:30
|
|
|
{/if}
|