diff --git a/web/src/lib/stores/trail_store.ts b/web/src/lib/stores/trail_store.ts index 1b41da85..00856d4a 100644 --- a/web/src/lib/stores/trail_store.ts +++ b/web/src/lib/stores/trail_store.ts @@ -15,7 +15,7 @@ export const trail: Writable = writable(new Trail("")); export const editTrail: Writable = writable(new Trail("")); -export async function trails_index(perPage: number = 21, random: boolean = false, f: (url: RequestInfo | URL, config?: RequestInit) => Promise = fetch) { +export async function trails_index(perPage: number = 21, random: boolean = false, setStore: boolean = true, f: (url: RequestInfo | URL, config?: RequestInit) => Promise = fetch) { const r = await f('/api/v1/trail?' + new URLSearchParams({ "per-page": perPage.toString(), expand: "category,waypoints,summit_logs", @@ -26,7 +26,9 @@ export async function trails_index(perPage: number = 21, random: boolean = false const response = await r.json() if (r.ok) { - trails.set(response.items); + if(setStore) { + trails.set(response.items); + } return response.items; } else { throw new ClientResponseError(response) diff --git a/web/src/routes/+page.svelte b/web/src/routes/+page.svelte index eb1c1856..77688ae3 100644 --- a/web/src/routes/+page.svelte +++ b/web/src/routes/+page.svelte @@ -13,6 +13,8 @@ import { Canvas } from "@threlte/core"; import { _ } from "svelte-i18n"; + export let data; + let searchDropdownItems: SearchItem[] = []; async function search(q: string) { @@ -108,7 +110,7 @@ id="trails" class="flex flex-wrap justify-items-center gap-8 py-8 order-1 md:order-none" > - {#if $trails.length == 0} + {#if data.trails.length == 0}
{/if} - {#each { length: Math.min($trails.length, 4) } as _, i} - - + {/each}
- {#if $trails.length == 0} + {#if data.trails.length == 0}

{$_("hero_section_1_heading")}

diff --git a/web/src/routes/+page.ts b/web/src/routes/+page.ts index 72e34d4d..fe47a4e0 100644 --- a/web/src/routes/+page.ts +++ b/web/src/routes/+page.ts @@ -1,8 +1,11 @@ +import type { Trail } from "$lib/models/trail"; import { categories_index } from "$lib/stores/category_store"; import { trails_index } from "$lib/stores/trail_store"; import type { ServerLoad } from "@sveltejs/kit"; export const load: ServerLoad = async ({ params, locals, fetch }) => { - await trails_index(20, true, fetch) + const trails: Trail[] = await trails_index(20, true, false, fetch) await categories_index(fetch) + + return {trails} }; \ No newline at end of file