diff --git a/web/src/routes/admin/+layout.svelte b/web/src/routes/admin/+layout.svelte
index 4dec39b..8ab4ebc 100644
--- a/web/src/routes/admin/+layout.svelte
+++ b/web/src/routes/admin/+layout.svelte
@@ -1,3 +1,17 @@
+
+
-
-
Login
-
-
- {#if form?.success}
-
Success!
- {:else if form && !form.success}
-
Invalid login
- {/if}
+
+
BW Contest Admin
+ {#if form && !dismissed}
+
+ {form.success ? 'Success' : form.message ?? 'Unknown Error'}
+
-
+ {/if}
+
+
+
diff --git a/web/src/routes/logout/+page.server.ts b/web/src/routes/logout/+page.server.ts
deleted file mode 100644
index 5ace374..0000000
--- a/web/src/routes/logout/+page.server.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import { redirect } from '@sveltejs/kit';
-import type { PageServerLoad } from './$types';
-import { logout } from '$lib/server/auth';
-
-export const load = (async ({ cookies }) => {
- await logout(cookies);
- throw redirect(302, '/login');
-}) satisfies PageServerLoad;
diff --git a/web/src/routes/logout/+page.svelte b/web/src/routes/logout/+page.svelte
deleted file mode 100644
index 43d1e22..0000000
--- a/web/src/routes/logout/+page.svelte
+++ /dev/null
@@ -1 +0,0 @@
-
Logging Out
diff --git a/web/src/routes/logout/+server.ts b/web/src/routes/logout/+server.ts
new file mode 100644
index 0000000..83f3b28
--- /dev/null
+++ b/web/src/routes/logout/+server.ts
@@ -0,0 +1,8 @@
+import { logout } from '$lib/server/auth';
+import { json } from '@sveltejs/kit';
+import type { RequestHandler } from './$types';
+
+export const POST = (async ({ cookies }) => {
+ await logout(cookies);
+ return json({ success: true });
+}) satisfies RequestHandler;