Enhance user routing and layout management. Added support for user-specific routes, including dynamic user ID handling and updated component imports. Improved type definitions and user data mapping in hooks for better user experience.

This commit is contained in:
eewing
2026-02-18 15:59:16 -06:00
parent 1af7aeb7d9
commit 5776a1fdb1
22 changed files with 274 additions and 28 deletions
+11 -9
View File
@@ -1,6 +1,7 @@
import { redirect } from '@sveltejs/kit';
import PocketBase from 'pocketbase';
import type { Handle } from '@sveltejs/kit';
import { mapUserRecord } from '$lib/user-from-record';
const POCKETBASE_URL =
process.env.VITE_POCKETBASE_URL ?? 'https://pocketbase.ccllc.pro';
@@ -28,15 +29,16 @@ export const handle: Handle = async ({ event, resolve }) => {
}
const record = event.locals.pb.authStore.record;
event.locals.user = record
? {
id: record.id,
email: record.email,
name: record.name,
avatar: record.avatar,
darkmode: !!record.darkmode
}
: null;
if (!record) {
event.locals.user = null;
} else {
try {
const full = (await event.locals.pb.collection('users').getOne(record.id)) as Record<string, unknown>;
event.locals.user = mapUserRecord(full);
} catch {
event.locals.user = mapUserRecord(record as Record<string, unknown>);
}
}
if (!event.locals.user && !isPublicRoute(event.url.pathname)) {
const redirectTo = event.url.pathname + event.url.search;