From 022054c1f123f8925547fdf3618724ea17e74781 Mon Sep 17 00:00:00 2001 From: Christoph Urlacher Date: Tue, 4 Feb 2025 23:01:54 +0100 Subject: [PATCH] Racepicks: Use progressive form enhancement for racepicks --- src/routes/racepicks/+page.svelte | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/routes/racepicks/+page.svelte b/src/routes/racepicks/+page.svelte index ded7d5f..4ef8df1 100644 --- a/src/routes/racepicks/+page.svelte +++ b/src/routes/racepicks/+page.svelte @@ -25,24 +25,26 @@ let { data }: { data: PageData } = $props(); - const currentpick: RacePick | undefined = + let currentpick = (): RacePick | undefined => data.racepicks.filter( (racepick: RacePick) => racepick.expand.user.username === data.user?.username && racepick.race === data.currentrace?.id, )[0] ?? undefined; - let pxx_select_value: string = $state(currentpick?.pxx ?? ""); - let dnf_select_value: string = $state(currentpick?.dnf ?? ""); + let pxx_select_value: string = $state(currentpick()?.pxx ?? ""); + let dnf_select_value: string = $state(currentpick()?.dnf ?? ""); const active_drivers_and_substitutes = ( drivers: Driver[], substitutions: Substitution[], ): Driver[] => { + if (!data.currentrace) return []; + let active_and_substitutes: Driver[] = drivers.filter((driver: Driver) => driver.active); substitutions - .filter((substitution: Substitution) => substitution.race === currentpick.race) + .filter((substitution: Substitution) => substitution.race === data.currentrace?.id) .forEach((substitution: Substitution) => { const for_index = active_and_substitutes.findIndex( (driver: Driver) => driver.id === substitution.for, @@ -63,7 +65,7 @@ type: "component", component: "racePickCard", meta: { - racepick: currentpick, + racepick: currentpick(), currentrace: data.currentrace, user: data.user, drivers: active_drivers_and_substitutes(await data.drivers, await data.substitutions), @@ -156,7 +158,7 @@ {#await data.graphics then graphics} {#await data.drivers then drivers}