From c286cea7b57758a7ddf4a470489edb19fdece34a Mon Sep 17 00:00:00 2001 From: Christoph Urlacher Date: Fri, 27 Dec 2024 19:36:08 +0100 Subject: [PATCH] Data/Season: Add remaining "Create" buttons (drivers/races/substitutions) --- src/routes/data/season/+page.svelte | 70 ++++++++++++++++++++++++++++- 1 file changed, 69 insertions(+), 1 deletion(-) diff --git a/src/routes/data/season/+page.svelte b/src/routes/data/season/+page.svelte index 548a89a..935cfc2 100644 --- a/src/routes/data/season/+page.svelte +++ b/src/routes/data/season/+page.svelte @@ -193,6 +193,24 @@ modalStore.trigger(modalSettings); }; + const create_driver_handler = async (event: Event) => { + const modalSettings: ModalSettings = { + type: "component", + component: "driverCard", + meta: { + team_select_value: update_driver_team_select_values["create"], + team_select_options: team_dropdown_options, + active_value: update_driver_active_values["create"], + disable_inputs: !data.admin, + require_inputs: true, + headshot_template: + get_by_value(data.graphics, "name", "driver_headshot_template")?.file_url ?? "Invalid", + }, + }; + + modalStore.trigger(modalSettings); + }; + const races_columns: TableColumn[] = [ { data_value_name: "name", @@ -239,6 +257,21 @@ modalStore.trigger(modalSettings); }; + const create_race_handler = async (event: Event) => { + const modalSettings: ModalSettings = { + type: "component", + component: "raceCard", + meta: { + disable_inputs: !data.admin, + require_inputs: true, + pictogram_template: + get_by_value(data.graphics, "name", "race_pictogram_template")?.file_url ?? "Invalid", + }, + }; + + modalStore.trigger(modalSettings); + }; + const substitutions_columns: TableColumn[] = [ { data_value_name: "substitute", @@ -283,6 +316,27 @@ modalStore.trigger(modalSettings); }; + + const create_substitution_handler = async (event: Event) => { + const modalSettings: ModalSettings = { + type: "component", + component: "substitutionCard", + meta: { + drivers: await data.drivers, + substitute_select_value: update_substitution_substitute_select_values["create"], + driver_select_value: update_substitution_for_select_values["create"], + disable_inputs: !data.admin, + race_select_value: update_substitution_race_select_values["create"], + driver_select_options: driver_dropdown_options, + race_select_options: race_dropdown_options, + require_inputs: true, + headshot_template: + get_by_value(data.graphics, "name", "driver_headshot_template")?.file_url ?? "Invalid", + }, + }; + + modalStore.trigger(modalSettings); + }; @@ -319,7 +373,11 @@ - +
+ +
{#await data.drivers then drivers} {/await} @@ -327,6 +385,11 @@ +
+ +
{#await data.races then races}
{/await} @@ -334,6 +397,11 @@ +
+ +
{#await data.substitutions then substitutions}