diff --git a/frontend/src/components/Loader.svelte b/frontend/src/components/Loader.svelte new file mode 100644 index 0000000..27160c3 --- /dev/null +++ b/frontend/src/components/Loader.svelte @@ -0,0 +1,72 @@ + + + diff --git a/frontend/src/routes/(root)/[evaNumber=int]/[type=type]/+page.server.ts b/frontend/src/routes/(root)/[evaNumber=int]/[type=type]/+page.server.ts index 95f1e1c..aa66c4f 100644 --- a/frontend/src/routes/(root)/[evaNumber=int]/[type=type]/+page.server.ts +++ b/frontend/src/routes/(root)/[evaNumber=int]/[type=type]/+page.server.ts @@ -4,8 +4,8 @@ import type { Journey } from "$models/connection"; import { DateTime } from "luxon"; import { env } from "$env/dynamic/private"; -export const load: PageServerLoad = async ({ params, url }): Promise<{ journeys: Journey[] }> => { - const journeys = await loadJourneys( +export const load: PageServerLoad = async ({ params, url }): Promise<{ journeys: Promise }> => { + const journeys = loadJourneys( params.evaNumber, params.type, url.searchParams.get("startDate") ?? DateTime.now().set({ second: 0, millisecond: 0 }).toISO() diff --git a/frontend/src/routes/(root)/[evaNumber=int]/[type=type]/+page.svelte b/frontend/src/routes/(root)/[evaNumber=int]/[type=type]/+page.svelte index 111467d..125d284 100644 --- a/frontend/src/routes/(root)/[evaNumber=int]/[type=type]/+page.svelte +++ b/frontend/src/routes/(root)/[evaNumber=int]/[type=type]/+page.svelte @@ -1,13 +1,16 @@ -
- {#each data.journeys as journey} - {#if !matchesFilter(journey)}{:else if journey.connections.length > 1} - - {:else} - - {/if} - {/each} -
- -
- -
+{#await data.journeys} +
+ +
+{:then journeys} +
+ {#each journeys as journey} + {#if !matchesFilter(journey)}{:else if journey.connections.length > 1} + + {:else} + + {/if} + {/each} +
+ +
+ +
+{/await}