From 195d2caf525fa678fcfdcafea38aad896d529f6c Mon Sep 17 00:00:00 2001 From: Dilan Gilluly Date: Tue, 13 Jan 2026 17:09:13 -0500 Subject: [PATCH] (change): Making code more concise. --- webapp/src/lib/components/FormHeader.svelte | 3 ++- webapp/src/lib/focusElement.js | 3 +++ .../src/routes/baskets/[prefix]/+page.svelte | 17 +++++++----- .../src/routes/drawing/[prefix]/+page.svelte | 20 +++++++++----- .../src/routes/tickets/[prefix]/+page.svelte | 27 +++++++++++-------- 5 files changed, 45 insertions(+), 25 deletions(-) create mode 100644 webapp/src/lib/focusElement.js diff --git a/webapp/src/lib/components/FormHeader.svelte b/webapp/src/lib/components/FormHeader.svelte index fbe39eb..7213725 100644 --- a/webapp/src/lib/components/FormHeader.svelte +++ b/webapp/src/lib/components/FormHeader.svelte @@ -5,6 +5,7 @@ let { prefix, pagerForm = $bindable(), + headerHeight = $bindable(), functions } = $props() @@ -22,7 +23,7 @@ } -
+
diff --git a/webapp/src/lib/focusElement.js b/webapp/src/lib/focusElement.js new file mode 100644 index 0000000..6dddb27 --- /dev/null +++ b/webapp/src/lib/focusElement.js @@ -0,0 +1,3 @@ +export function focusElement(e) { + e.target.scrollIntoView({block: "center", behavior: "smooth"}); +}; \ No newline at end of file diff --git a/webapp/src/routes/baskets/[prefix]/+page.svelte b/webapp/src/routes/baskets/[prefix]/+page.svelte index ac91dd4..3485042 100644 --- a/webapp/src/routes/baskets/[prefix]/+page.svelte +++ b/webapp/src/routes/baskets/[prefix]/+page.svelte @@ -7,8 +7,11 @@ const prefix = {...data.prefix}; let pagerForm = $state({id_from: 0, id_to: 0}); let current_idx = $state(0); + let next_idx = $derived(current_idx+1); + let prev_idx = $derived(current_idx-1) let current_baskets = $state([]); let copy_buffer = $state({prefix: prefix.name, b_id: 0, description: "", donors: "", winning_ticket: 0}); + let headerHeight = $state() function changeFocus(idx) { const focusDe = document.getElementById(`${idx}_de`); @@ -43,7 +46,6 @@ functions.refreshPage(); }, duplicateDown: () => { - const next_idx = current_idx + 1; if (current_baskets[next_idx]) { current_baskets[next_idx] = {...current_baskets[current_idx], b_id: current_baskets[next_idx].b_id, winning_ticket: current_baskets[next_idx].winning_ticket, changed: true}; changeFocus(next_idx); @@ -52,7 +54,6 @@ } }, duplicateUp: () => { - const prev_idx = current_idx - 1; if (prev_idx >= 0) { current_baskets[prev_idx] = {...current_baskets[current_idx], b_id: current_baskets[prev_idx].b_id, winning_ticket: current_baskets[prev_idx].winning_ticket, changed: true}; changeFocus(prev_idx); @@ -61,7 +62,6 @@ } }, gotoNext: () => { - const next_idx = current_idx + 1; if (current_baskets[next_idx]) { changeFocus(next_idx); } else { @@ -69,7 +69,6 @@ } }, gotoPrev: () => { - const prev_idx = current_idx - 1; if (prev_idx >= 0) { changeFocus(prev_idx); } else { @@ -103,9 +102,9 @@

{prefix.name} Basket Entry

- + - + @@ -128,8 +127,14 @@
Basket ID Description