diff --git a/.svelte-kit/generated/server/internal.js b/.svelte-kit/generated/server/internal.js index 1b4237d9..e08579cd 100644 --- a/.svelte-kit/generated/server/internal.js +++ b/.svelte-kit/generated/server/internal.js @@ -21,10 +21,10 @@ export const options = { service_worker: false, service_worker_options: undefined, templates: { - app: ({ head, body, assets, nonce, env }) => "\n\n \n \n \n \n " + head + "\n \n \n
" + body + "
\n \n\n", + app: ({ head, body, assets, nonce, env }) => "\n\n \n \n S\" />\n \n " + head + "\n \n \n
" + body + "
\n \n\n", error: ({ status, message }) => "\n\n\t\n\t\t\n\t\t" + message + "\n\n\t\t\n\t\n\t\n\t\t
\n\t\t\t" + status + "\n\t\t\t
\n\t\t\t\t

" + message + "

\n\t\t\t
\n\t\t
\n\t\n\n" }, - version_hash: "10e2644" + version_hash: "6si2m4" }; export async function get_hooks() { diff --git a/src/app.html b/src/app.html index 84ffad16..5e257da3 100644 --- a/src/app.html +++ b/src/app.html @@ -2,7 +2,7 @@ - + %sveltekit.head% diff --git a/src/lib/pocketbase.ts b/src/lib/pocketbase.ts index b24576eb..a0234f1f 100644 --- a/src/lib/pocketbase.ts +++ b/src/lib/pocketbase.ts @@ -2,4 +2,24 @@ import PocketBase from "pocketbase"; const POCKETBASE_URL = "https://pocketbase.ccllc.pro"; -export const pb = new PocketBase(POCKETBASE_URL); +/** Base URL for API/file URLs; safe to use during SSR. */ +export const POCKETBASE_BASE_URL = POCKETBASE_URL; + +let _pb: PocketBase | null = null; + +/** PocketBase client — only created in the browser to avoid fetch during SSR. */ +export function getPb(): PocketBase { + if (typeof window === "undefined") { + throw new Error("PocketBase client is only available in the browser. Use load/actions for server data."); + } + if (!_pb) _pb = new PocketBase(POCKETBASE_URL); + return _pb; +} + +/** Lazy client proxy: baseUrl is safe during SSR; other access creates the client in the browser only. */ +export const pb = new Proxy({} as PocketBase, { + get(_, prop) { + if (prop === "baseUrl") return POCKETBASE_BASE_URL; + return (getPb() as Record)[prop as string]; + }, +}); diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 388df71e..fb0d1bd4 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,6 +1,8 @@ {#if browser} @@ -14,7 +16,6 @@ {:else}

Stackq

-

Svelte 5 + shadcn-svelte + PocketBase