diff --git a/src/routes/account/+page.server.ts b/src/routes/account/+page.server.ts new file mode 100644 index 0000000..5f1050b --- /dev/null +++ b/src/routes/account/+page.server.ts @@ -0,0 +1,23 @@ +import { fail, redirect } from '@sveltejs/kit'; + +import type { Actions, PageServerLoad } from './$types'; + +export const load: PageServerLoad = async ({ locals: { authReq } }) => { + const session = await authReq.validate(); + if (!session) throw redirect(302, '/login'); + return { + username: session.user.username + }; +}; + +export const actions: Actions = { + signout: async ({ locals: { auth, authReq } }) => { + const session = await authReq.validate(); + if (!session) return fail(401); + + await auth.invalidateSession(session.sessionId); + authReq.setSession(null); // remove cookie + + throw redirect(302, '/login'); + } +}; diff --git a/src/routes/account/+page.svelte b/src/routes/account/+page.svelte new file mode 100644 index 0000000..5484b3d --- /dev/null +++ b/src/routes/account/+page.svelte @@ -0,0 +1,119 @@ + + + + Account | Roll With It + + +
+

Account

+
+
+ {#if form?.type === 'updateAccount'} + {form?.message} + {/if} + + + +
+ + +
+
+ +
+
+ {#if form?.type === 'changePassword'} + {form.message} + {/if} + + +
+ + +
+ + +
+
+ +
+
+

Billing Information

+

Thank you for your support!

+
+
+ +
+ +
+