From b6b73195a597afd6f243d46a2a6de81f00f53efc Mon Sep 17 00:00:00 2001 From: zias Date: Tue, 16 Dec 2025 16:01:25 +0100 Subject: [PATCH] fix:api-sync rating and CORS new OSM tiles --- src/hooks.server.ts | 4 ++-- src/lib/stores/api-sync.ts | 2 ++ src/routes/+layout.svelte | 4 ++-- src/routes/+page.svelte | 2 ++ src/routes/api/finds/+server.ts | 2 ++ src/routes/api/finds/[findId]/+server.ts | 2 ++ src/routes/api/locations/+server.ts | 2 ++ src/service-worker.ts | 2 +- 8 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/hooks.server.ts b/src/hooks.server.ts index 003dbbb..1ebca81 100644 --- a/src/hooks.server.ts +++ b/src/hooks.server.ts @@ -50,9 +50,9 @@ export const handle: Handle = async ({ event, resolve }) => { "worker-src 'self' blob:; " + "style-src 'self' 'unsafe-inline' fonts.googleapis.com; " + "font-src 'self' fonts.gstatic.com; " + - "img-src 'self' data: blob: *.openstreetmap.org *.tile.openstreetmap.org *.r2.cloudflarestorage.com *.r2.dev; " + + "img-src 'self' data: blob: *.tiles.stadiamap.com *.r2.cloudflarestorage.com *.r2.dev; " + "media-src 'self' *.r2.cloudflarestorage.com *.r2.dev; " + - "connect-src 'self' *.openstreetmap.org https://fcm.googleapis.com https://android.googleapis.com; " + + "connect-src 'self' *.stadiamap.com https://fcm.googleapis.com https://android.googleapis.com; " + "frame-ancestors 'none'; " + "base-uri 'self'; " + "form-action 'self';" diff --git a/src/lib/stores/api-sync.ts b/src/lib/stores/api-sync.ts index 5e15efd..c0220c9 100644 --- a/src/lib/stores/api-sync.ts +++ b/src/lib/stores/api-sync.ts @@ -44,6 +44,8 @@ export interface FindState { longitude: string; locationName?: string; category?: string; + rating?: number | null; + ratingCount?: number; isPublic: boolean; createdAt: Date; userId: string; diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index f7e5444..4eceb30 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -22,8 +22,8 @@ type="font/ttf" crossorigin="anonymous" /> - - + + {#if isLoginRoute} diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 5b2d45c..46c24a2 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -17,6 +17,8 @@ description?: string; category?: string; locationName?: string; + rating?: number | null; + ratingCount?: number; isPublic: number; userId: string; username: string; diff --git a/src/routes/api/finds/+server.ts b/src/routes/api/finds/+server.ts index 40fbc01..3761fd5 100644 --- a/src/routes/api/finds/+server.ts +++ b/src/routes/api/finds/+server.ts @@ -72,6 +72,8 @@ export const GET: RequestHandler = async ({ url, locals }) => { description: find.description, locationName: location.locationName, category: find.category, + rating: find.rating, + ratingCount: find.ratingCount, isPublic: find.isPublic, createdAt: find.createdAt, userId: find.userId, diff --git a/src/routes/api/finds/[findId]/+server.ts b/src/routes/api/finds/[findId]/+server.ts index b6723dd..2e03f25 100644 --- a/src/routes/api/finds/[findId]/+server.ts +++ b/src/routes/api/finds/[findId]/+server.ts @@ -23,6 +23,8 @@ export const GET: RequestHandler = async ({ params, locals }) => { longitude: location.longitude, locationName: location.locationName, category: find.category, + rating: find.rating, + ratingCount: find.ratingCount, isPublic: find.isPublic, createdAt: find.createdAt, userId: find.userId, diff --git a/src/routes/api/locations/+server.ts b/src/routes/api/locations/+server.ts index de34565..e6f39f4 100644 --- a/src/routes/api/locations/+server.ts +++ b/src/routes/api/locations/+server.ts @@ -111,6 +111,8 @@ export const GET: RequestHandler = async ({ url, locals }) => { title: find.title, description: find.description, category: find.category, + rating: find.rating, + ratingCount: find.ratingCount, isPublic: find.isPublic, createdAt: find.createdAt, userId: find.userId, diff --git a/src/service-worker.ts b/src/service-worker.ts index 8ead51e..04013c5 100644 --- a/src/service-worker.ts +++ b/src/service-worker.ts @@ -155,7 +155,7 @@ self.addEventListener('fetch', (event) => { } // Handle OpenStreetMap tiles with cache-first strategy - if (url.hostname === 'tile.openstreetmap.org') { + if (url.hostname === 'tiles.stadiamaps.com') { const cachedResponse = await r2Cache.match(event.request); if (cachedResponse) { return cachedResponse;