From 9593e0bea28fb35e0a897a1fb99453c1519d9227 Mon Sep 17 00:00:00 2001 From: TZGyn Date: Fri, 17 Nov 2023 06:36:17 +0800 Subject: [PATCH] added logout dialog to sidebar --- src/lib/components/sidebar.svelte | 46 ++++++++++++++++++++++++++++--- src/routes/api/logout/+server.ts | 10 +++++++ 2 files changed, 52 insertions(+), 4 deletions(-) create mode 100644 src/routes/api/logout/+server.ts diff --git a/src/lib/components/sidebar.svelte b/src/lib/components/sidebar.svelte index 2acd612..6df1c95 100644 --- a/src/lib/components/sidebar.svelte +++ b/src/lib/components/sidebar.svelte @@ -4,9 +4,22 @@ import { Button } from '$lib/components/ui/button' import * as Avatar from '$lib/components/ui/avatar' import * as DropdownMenu from '$lib/components/ui/dropdown-menu' + import * as AlertDialog from '$lib/components/ui/alert-dialog' - import { User } from 'lucide-svelte' + import { Loader2, User } from 'lucide-svelte' import { goto } from '$app/navigation' + + let dialogOpen = false + let isLoading = false + const logout = async () => { + isLoading = true + + await fetch('/api/logout', { method: 'post' }) + + isLoading = false + dialogOpen = false + goto('/login') + }
@@ -46,9 +59,34 @@ -
- -
+
+ + + + + + + Are you absolutely sure? + + You are about to log out of this account. + + + + Cancel + + + + +
diff --git a/src/routes/api/logout/+server.ts b/src/routes/api/logout/+server.ts new file mode 100644 index 0000000..5990116 --- /dev/null +++ b/src/routes/api/logout/+server.ts @@ -0,0 +1,10 @@ +import type { RequestHandler } from './$types' + +export const GET: RequestHandler = async () => { + return new Response() +} + +export const POST: RequestHandler = async (event) => { + await new Promise((r) => setTimeout(r, 5000)) + return new Response('hello') +}