diff --git a/apps/web/src/app.d.ts b/apps/web/src/app.d.ts index 3ba5e57..09e8ff8 100644 --- a/apps/web/src/app.d.ts +++ b/apps/web/src/app.d.ts @@ -5,6 +5,7 @@ declare global { namespace App { interface Locals { pocketBase: PocketBase; + user: object; } // interface Error {} // interface PageData {} diff --git a/apps/web/src/hooks.server.ts b/apps/web/src/hooks.server.ts index a2fa874..5d8ff7c 100644 --- a/apps/web/src/hooks.server.ts +++ b/apps/web/src/hooks.server.ts @@ -1,4 +1,4 @@ -import type { Handle } from '@sveltejs/kit'; +import { redirect, type Handle } from '@sveltejs/kit'; import PocketBase from 'pocketbase'; import { pb } from '$lib/pocketbase'; import { PUBLIC_CLIENT_PB } from '$env/static/public'; @@ -10,7 +10,18 @@ export const handle: Handle = async ({ event, resolve }) => { pb.set(event.locals.pocketBase); event.locals.pocketBase.authStore.loadFromCookie(event.request.headers.get('cookie') ?? ''); - + // try { + // //refresh the auth if it is valid + // if (!event.locals.pocketBase.authStore.isValid) + // await event.locals.pocketBase + // .collection('users') + // .authRefresh<{ id: string; email: string }>(); + // //spread the model to locals.user to be available in all pages + // event.locals.user = { ...event.locals.pocketBase.authStore.model }; + // } catch (err) { + // console.log(err, 'error in hooks'); + // event.locals.pocketBase.authStore.clear(); + // } const response = await resolve(event); response.headers.set( diff --git a/apps/web/src/lib/components/site/nav/user-nav.svelte b/apps/web/src/lib/components/site/nav/user-nav.svelte new file mode 100644 index 0000000..9d1e550 --- /dev/null +++ b/apps/web/src/lib/components/site/nav/user-nav.svelte @@ -0,0 +1,51 @@ + + +{#if authenticated} +
{JSON.stringify(user)}+
BB
+email@email.com
+shadcn
-m@example.com
-Here's a list of your tasks for this month!
-