From e4a4a15367e7db586ee753b3e152edb39b6d5394 Mon Sep 17 00:00:00 2001 From: Christoph Urlacher Date: Mon, 23 Dec 2024 17:32:45 +0100 Subject: [PATCH] Data/Season: Add create team button --- src/lib/components/cards/TeamCard.svelte | 3 +++ src/lib/components/form/Button.svelte | 4 ++-- src/routes/data/season/+page.svelte | 26 +++++++++++++++++++++--- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/lib/components/cards/TeamCard.svelte b/src/lib/components/cards/TeamCard.svelte index e0476e8..184dd7e 100644 --- a/src/lib/components/cards/TeamCard.svelte +++ b/src/lib/components/cards/TeamCard.svelte @@ -38,7 +38,10 @@ const meta = $modalStore[0].meta; team = meta.team; + require_inputs = meta.require_inputs; disable_inputs = meta.disable_inputs; + banner_template = meta.banner_template; + logo_template = meta.logo_template; } diff --git a/src/lib/components/form/Button.svelte b/src/lib/components/form/Button.svelte index 8527c1d..f4f6dd9 100644 --- a/src/lib/components/form/Button.svelte +++ b/src/lib/components/form/Button.svelte @@ -14,13 +14,13 @@ children: Snippet; /** The main color variant, e.g. "primary" or "secondary". */ - color?: string | undefined; + color?: string; /** Set the button type to "submit" (otherwise "button"). Only if "href" is undefined. */ submit?: boolean; /** Make the button act as a link. */ - href?: string | undefined; + href?: string; /** Add a width class to the button. */ width?: string; diff --git a/src/routes/data/season/+page.svelte b/src/routes/data/season/+page.svelte index bed5d37..589c7aa 100644 --- a/src/routes/data/season/+page.svelte +++ b/src/routes/data/season/+page.svelte @@ -9,7 +9,7 @@ type ModalStore, } from "@skeletonlabs/skeleton"; - import { Table, type LazyDropdownOption, type TableColumn } from "$lib/components"; + import { Button, Table, type LazyDropdownOption, type TableColumn } from "$lib/components"; import { get_by_value } from "$lib/database"; import { DRIVER_HEADSHOT_HEIGHT, @@ -24,7 +24,6 @@ let current_tab: number = $state(0); if (form?.tab) { - // console.log(`Form returned current_tab=${form.current_tab}`); current_tab = form.tab; } @@ -128,6 +127,23 @@ modalStore.trigger(modalSettings); }; + const create_team_handler = (event: Event) => { + const modalSettings: ModalSettings = { + type: "component", + component: "teamCard", + meta: { + banner_template: + get_by_value(data.graphics, "name", "team_banner_template")?.file_url ?? "Invalid", + logo_template: + get_by_value(data.graphics, "name", "team_logo_template")?.file_url ?? "Invalid", + require_inputs: true, + disable_inputs: !data.admin, + }, + }; + + modalStore.trigger(modalSettings); + }; + const drivers_columns: TableColumn[] = [ { data_value_name: "code", @@ -291,7 +307,11 @@ - +
+ +
{:else if current_tab === 1}