diff --git a/web/src/hooks.client.ts b/web/src/hooks.client.ts index 622c6d5c..6e8996e4 100644 --- a/web/src/hooks.client.ts +++ b/web/src/hooks.client.ts @@ -1,9 +1,10 @@ import type { User } from '$lib/models/user'; -import { pb } from '$lib/pocketbase'; +import { getPb } from '$lib/pocketbase'; import { currentUser } from '$lib/stores/user_store'; +const pb = getPb(); pb.authStore.loadFromCookie(document.cookie) -pb.authStore.onChange(() => { +pb.authStore.onChange(() => { currentUser.set(pb.authStore.record as User) const secure = location.protocol === "https:" document.cookie = pb.authStore.exportToCookie({ httpOnly: false, secure: secure, sameSite: "Lax" }) diff --git a/web/src/hooks.server.ts b/web/src/hooks.server.ts index 98534ddc..42b93bae 100644 --- a/web/src/hooks.server.ts +++ b/web/src/hooks.server.ts @@ -2,7 +2,7 @@ import { env } from '$env/dynamic/private' import { env as envPub } from '$env/dynamic/public' import type { Settings } from '$lib/models/settings' -import { pb } from '$lib/pocketbase' +import PocketBase from 'pocketbase' import { isRouteProtected } from '$lib/util/authorization_util' import { json, redirect, text, type Handle } from '@sveltejs/kit' import { sequence } from '@sveltejs/kit/hooks' @@ -49,6 +49,7 @@ function isFormContentType(request: Request) { const auth: Handle = async ({ event, resolve }) => { + const pb = new PocketBase(envPub.PUBLIC_POCKETBASE_URL) // load the store data from the request cookie string pb.authStore.loadFromCookie(event.request.headers.get('cookie') || '') @@ -80,8 +81,7 @@ const auth: Handle = async ({ event, resolve }) => { meiliApiKey = pb.authStore.record.token settings = await pb.collection('settings').getFirstListItem(`user="${pb.authStore.record.id}"`, { requestKey: null }) } else { - const r = await event.fetch(pb.buildURL("/public/search/token")); - const response = await r.json(); + const response = await pb.send("/public/search/token", { method: "GET", fetch: event.fetch }); meiliApiKey = response.token; } const ms = new MeiliSearch({ host: env.MEILI_URL, apiKey: meiliApiKey }); @@ -103,7 +103,7 @@ const auth: Handle = async ({ event, resolve }) => { const response = await resolve(event) // send back the default 'pb_auth' cookie to the client with the latest store state - const secure = event.url.protocol === "https:" + const secure = event.url.protocol === "https:" response.headers.set( 'set-cookie', diff --git a/web/src/lib/components/nav_bar.svelte b/web/src/lib/components/nav_bar.svelte index 1c89caad..136898a7 100644 --- a/web/src/lib/components/nav_bar.svelte +++ b/web/src/lib/components/nav_bar.svelte @@ -1,21 +1,26 @@ diff --git a/web/src/lib/components/share_info.svelte b/web/src/lib/components/share_info.svelte index 806baf37..8b69eae2 100644 --- a/web/src/lib/components/share_info.svelte +++ b/web/src/lib/components/share_info.svelte @@ -1,12 +1,11 @@