From 086be8ccc2bf02fc181aa7b38cb6f6589e19b061 Mon Sep 17 00:00:00 2001 From: Miki Date: Sat, 30 Dec 2023 10:39:53 +0000 Subject: [PATCH] +surfers & athletes --- backend/heats.go | 10 +++---- backend/surfers.go | 7 +++++ frontend/src/lib/select.svelte | 7 +++-- frontend/src/routes/setup/+page.svelte | 26 +++++++++++++++++-- frontend/src/routes/surfers/+page.svelte | 33 ++++++++++++++++++++---- 5 files changed, 67 insertions(+), 16 deletions(-) create mode 100644 backend/surfers.go diff --git a/backend/heats.go b/backend/heats.go index fb53b03..0527830 100644 --- a/backend/heats.go +++ b/backend/heats.go @@ -10,10 +10,10 @@ import ( ) type Surfer struct { - Name string `json:"name"` - Color string `json:"color"` - Priority string `json:"priority"` - Score string `json:"score"` + Athlete Athlete `json:"surfer"` + Color string `json:"color"` + Priority string `json:"priority"` + Score string `json:"score"` } type Heat struct { @@ -27,7 +27,7 @@ type Heat struct { func heatName(heat Heat) string { str := fmt.Sprintf("%s.%d.%s", heat.Round, heat.Number, heat.Category) - strings.ReplaceAll(str, " ", "_") + str = strings.ReplaceAll(str, " ", "_") return str } diff --git a/backend/surfers.go b/backend/surfers.go new file mode 100644 index 0000000..e04def4 --- /dev/null +++ b/backend/surfers.go @@ -0,0 +1,7 @@ +package main + +type Athlete struct { + Firstname string `json:"firstname"` + Lastname string `json:"lastname"` + Category string `json:"category"` +} diff --git a/frontend/src/lib/select.svelte b/frontend/src/lib/select.svelte index 2ec0257..a7a04c4 100644 --- a/frontend/src/lib/select.svelte +++ b/frontend/src/lib/select.svelte @@ -3,14 +3,13 @@ export let id; export let options = []; export let value; - export let optionStyle = ''; - export let selectStyle; + export let handleSelect; - {#each options as option} - + {/each} diff --git a/frontend/src/routes/setup/+page.svelte b/frontend/src/routes/setup/+page.svelte index 0354cac..a66453b 100644 --- a/frontend/src/routes/setup/+page.svelte +++ b/frontend/src/routes/setup/+page.svelte @@ -11,6 +11,7 @@ import Button from '../../lib/button.svelte'; $: surfers = 2; + $: athletes = []; $: heats = []; let surfer_list = []; @@ -68,6 +69,15 @@ loadHeats(); } + async function loadSurfers() { + const res = await fetch(`/api/loadsurfers`); + const data = await res.json(); + for (let i in data) { + athletes[i] = data[i]; + console.log(`${i} retval: ${JSON.stringify(data[i])}`); + } + } + function setHeat(id) { resetHeat(); console.log(`setHeat: ${id}`); @@ -188,7 +198,13 @@
-
@@ -204,7 +220,13 @@
{#each Array(surfers) as _, surfer}
- +
- - + +
+ +
+ +{#each surfers as s} + +{/each}}