From 9cb8a75f74dd6b426c28178c650eda5f80973798 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20Engl=C3=B6f=20Ytterstr=C3=B6m?= Date: Thu, 20 Mar 2025 16:51:40 +0100 Subject: [PATCH] Add progress bars to summary page --- README | 6 +- data/default-state.js | 226 ++++++++++++++++++------------------ src/app.css | 17 ++- src/lib/DietProgress.svelte | 2 +- src/lib/Info.svelte | 13 ++- src/lib/Summary.svelte | 169 ++++++++++++++++++--------- vite.config.ts | 4 +- 7 files changed, 256 insertions(+), 181 deletions(-) diff --git a/README b/README index f4dfd97..9b24b82 100644 --- a/README +++ b/README @@ -14,7 +14,5 @@ Stack ----- Vanilla Svelte, with a plugin for persistent store using -localStorage. - -As an academic exercise, this might as well be ported to a -PWA by introducing a webappmanifest and a ServiceWorker. +localStorage, as well as some PWA addons for better offline +use on mobile devices. diff --git a/data/default-state.js b/data/default-state.js index 1744dbb..0cc269d 100644 --- a/data/default-state.js +++ b/data/default-state.js @@ -382,120 +382,118 @@ const gym = [ ]; const diet = [ - { date: "2025-02-10", completed: false }, - { date: "2025-02-11", completed: false }, - { date: "2025-02-12", completed: false }, - { date: "2025-02-13", completed: false }, - { date: "2025-02-14", completed: false }, - { date: "2025-02-15", completed: false }, - { date: "2025-02-16", completed: false }, - { date: "2025-02-17", completed: false }, - { date: "2025-02-18", completed: false }, - { date: "2025-02-19", completed: false }, - { date: "2025-02-10", completed: false }, - { date: "2025-02-21", completed: false }, - { date: "2025-02-22", completed: false }, - { date: "2025-02-23", completed: false }, - { date: "2025-02-24", completed: false }, - { date: "2025-02-25", completed: false }, - { date: "2025-02-26", completed: false }, - { date: "2025-02-27", completed: false }, - { date: "2025-02-28", completed: false }, - { date: "2025-03-01", completed: false }, - { date: "2025-03-02", completed: false }, - { date: "2025-03-03", completed: false }, - { date: "2025-03-04", excluded: true, because: "Semmeldagen" }, - { date: "2025-03-05", completed: false }, - { date: "2025-03-06", completed: false }, - { date: "2025-03-07", completed: false }, - { date: "2025-03-08", completed: false }, - { date: "2025-03-09", completed: false }, - { date: "2025-03-10", completed: false }, - { date: "2025-03-11", completed: false }, - { date: "2025-03-12", completed: false }, - { date: "2025-03-13", completed: false }, - { date: "2025-03-14", completed: false }, - { date: "2025-03-15", completed: false }, - { date: "2025-03-16", completed: false }, - { date: "2025-03-17", completed: false }, - { date: "2025-03-18", completed: false }, - { date: "2025-03-19", completed: false }, - { date: "2025-03-10", completed: false }, - { date: "2025-03-21", completed: false }, - { date: "2025-03-22", completed: false }, - { date: "2025-03-23", completed: false }, - { date: "2025-03-24", completed: false }, - { date: "2025-03-25", completed: false }, - { date: "2025-03-26", completed: false }, - { date: "2025-03-27", completed: false }, - { date: "2025-03-28", completed: false }, - { date: "2025-03-29", excluded: true, because: "Födelsedag" }, - { date: "2025-03-30", completed: false }, - { date: "2025-03-31", completed: false }, - { date: "2025-04-01", completed: false }, - { date: "2025-04-02", completed: false }, - { date: "2025-04-03", completed: false }, - { date: "2025-04-04", completed: false }, - { date: "2025-04-05", completed: false }, - { date: "2025-04-06", completed: false }, - { date: "2025-04-07", completed: false }, - { date: "2025-04-08", completed: false }, - { date: "2025-04-09", completed: false }, - { date: "2025-04-10", completed: false }, - { date: "2025-04-11", completed: false }, - { date: "2025-04-12", completed: false }, - { date: "2025-04-13", completed: false }, - { date: "2025-04-14", completed: false }, - { date: "2025-04-15", completed: false }, - { date: "2025-04-16", completed: false }, - { date: "2025-04-17", excluded: true, because: "Påsk" }, - { date: "2025-04-18", completed: false }, - { date: "2025-04-19", completed: false }, - { date: "2025-04-10", completed: false }, - { date: "2025-04-21", completed: false }, - { date: "2025-04-22", completed: false }, - { date: "2025-04-23", completed: false }, - { date: "2025-04-24", completed: false }, - { date: "2025-04-25", completed: false }, - { date: "2025-04-26", completed: false }, - { date: "2025-04-27", completed: false }, - { date: "2025-04-28", completed: false }, - { date: "2025-04-29", completed: false }, - { date: "2025-04-30", completed: false }, - { date: "2025-05-01", completed: false }, - { date: "2025-05-02", completed: false }, - { date: "2025-05-03", completed: false }, - { date: "2025-05-04", completed: false }, - { date: "2025-05-05", completed: false }, - { date: "2025-05-06", completed: false }, - { date: "2025-05-07", completed: false }, - { date: "2025-05-08", completed: false }, - { date: "2025-05-09", completed: false }, - { date: "2025-05-10", completed: false }, - { date: "2025-05-11", completed: false }, - { date: "2025-05-12", completed: false }, - { date: "2025-05-13", completed: false }, - { date: "2025-05-14", completed: false }, - { date: "2025-05-15", completed: false }, - { date: "2025-05-16", completed: false }, - { date: "2025-05-17", completed: false }, - { date: "2025-05-18", completed: false }, - { date: "2025-05-19", completed: false }, - { date: "2025-05-10", completed: false }, - { date: "2025-05-21", completed: false }, - { date: "2025-05-22", completed: false }, - { date: "2025-05-23", completed: false }, - { date: "2025-05-24", completed: false }, - { date: "2025-05-25", completed: false }, - { date: "2025-05-26", completed: false }, - { date: "2025-05-27", completed: false }, - { date: "2025-05-28", completed: false }, - { date: "2025-05-29", completed: false }, - { date: "2025-05-30", completed: false }, - { date: "2025-05-31", completed: false }, - ] -; - + { date: "2025-02-10", completed: false }, + { date: "2025-02-11", completed: false }, + { date: "2025-02-12", completed: false }, + { date: "2025-02-13", completed: false }, + { date: "2025-02-14", completed: false }, + { date: "2025-02-15", completed: false }, + { date: "2025-02-16", completed: false }, + { date: "2025-02-17", completed: false }, + { date: "2025-02-18", completed: false }, + { date: "2025-02-19", completed: false }, + { date: "2025-02-10", completed: false }, + { date: "2025-02-21", completed: false }, + { date: "2025-02-22", completed: false }, + { date: "2025-02-23", completed: false }, + { date: "2025-02-24", completed: false }, + { date: "2025-02-25", completed: false }, + { date: "2025-02-26", completed: false }, + { date: "2025-02-27", completed: false }, + { date: "2025-02-28", completed: false }, + { date: "2025-03-01", completed: false }, + { date: "2025-03-02", completed: false }, + { date: "2025-03-03", completed: false }, + { date: "2025-03-04", excluded: true, because: "Semmeldagen" }, + { date: "2025-03-05", completed: false }, + { date: "2025-03-06", completed: false }, + { date: "2025-03-07", completed: false }, + { date: "2025-03-08", completed: false }, + { date: "2025-03-09", completed: false }, + { date: "2025-03-10", completed: false }, + { date: "2025-03-11", completed: false }, + { date: "2025-03-12", completed: false }, + { date: "2025-03-13", completed: false }, + { date: "2025-03-14", completed: false }, + { date: "2025-03-15", completed: false }, + { date: "2025-03-16", completed: false }, + { date: "2025-03-17", completed: false }, + { date: "2025-03-18", completed: false }, + { date: "2025-03-19", completed: false }, + { date: "2025-03-20", completed: false }, + { date: "2025-03-21", completed: false }, + { date: "2025-03-22", completed: false }, + { date: "2025-03-23", completed: false }, + { date: "2025-03-24", completed: false }, + { date: "2025-03-25", completed: false }, + { date: "2025-03-26", completed: false }, + { date: "2025-03-27", completed: false }, + { date: "2025-03-28", completed: false }, + { date: "2025-03-29", excluded: true, because: "Födelsedag" }, + { date: "2025-03-30", completed: false }, + { date: "2025-03-31", completed: false }, + { date: "2025-04-01", completed: false }, + { date: "2025-04-02", completed: false }, + { date: "2025-04-03", completed: false }, + { date: "2025-04-04", completed: false }, + { date: "2025-04-05", completed: false }, + { date: "2025-04-06", completed: false }, + { date: "2025-04-07", completed: false }, + { date: "2025-04-08", completed: false }, + { date: "2025-04-09", completed: false }, + { date: "2025-04-10", completed: false }, + { date: "2025-04-11", completed: false }, + { date: "2025-04-12", completed: false }, + { date: "2025-04-13", completed: false }, + { date: "2025-04-14", completed: false }, + { date: "2025-04-15", completed: false }, + { date: "2025-04-16", completed: false }, + { date: "2025-04-17", excluded: true, because: "Påsk" }, + { date: "2025-04-18", completed: false }, + { date: "2025-04-19", completed: false }, + { date: "2025-04-10", completed: false }, + { date: "2025-04-21", completed: false }, + { date: "2025-04-22", completed: false }, + { date: "2025-04-23", completed: false }, + { date: "2025-04-24", completed: false }, + { date: "2025-04-25", completed: false }, + { date: "2025-04-26", completed: false }, + { date: "2025-04-27", completed: false }, + { date: "2025-04-28", completed: false }, + { date: "2025-04-29", completed: false }, + { date: "2025-04-30", completed: false }, + { date: "2025-05-01", completed: false }, + { date: "2025-05-02", completed: false }, + { date: "2025-05-03", completed: false }, + { date: "2025-05-04", completed: false }, + { date: "2025-05-05", completed: false }, + { date: "2025-05-06", completed: false }, + { date: "2025-05-07", completed: false }, + { date: "2025-05-08", completed: false }, + { date: "2025-05-09", completed: false }, + { date: "2025-05-10", completed: false }, + { date: "2025-05-11", completed: false }, + { date: "2025-05-12", completed: false }, + { date: "2025-05-13", completed: false }, + { date: "2025-05-14", completed: false }, + { date: "2025-05-15", completed: false }, + { date: "2025-05-16", completed: false }, + { date: "2025-05-17", completed: false }, + { date: "2025-05-18", completed: false }, + { date: "2025-05-19", completed: false }, + { date: "2025-05-10", completed: false }, + { date: "2025-05-21", completed: false }, + { date: "2025-05-22", completed: false }, + { date: "2025-05-23", completed: false }, + { date: "2025-05-24", completed: false }, + { date: "2025-05-25", completed: false }, + { date: "2025-05-26", completed: false }, + { date: "2025-05-27", completed: false }, + { date: "2025-05-28", completed: false }, + { date: "2025-05-29", completed: false }, + { date: "2025-05-30", completed: false }, + { date: "2025-05-31", completed: false }, +]; export default { cardio, gym, diff --git a/src/app.css b/src/app.css index 1769a2d..0e0259e 100644 --- a/src/app.css +++ b/src/app.css @@ -14,6 +14,21 @@ body { margin: 0; } +.top-button { + position: absolute; + top: 0.25em; + right: 0.25em; + button { + padding: 1em; + background-color: #ff0; + color: #000; + + &:hover { + filter: brightness(95%); + } + } +} + main { min-height: 100vh; display: flex; @@ -26,7 +41,7 @@ main { h1 { font-size: 3em; line-height: 1.1; - margin: 1.25em 0; + margin: 0.2em 0; text-wrap: balance; } diff --git a/src/lib/DietProgress.svelte b/src/lib/DietProgress.svelte index 2dcd468..896f765 100644 --- a/src/lib/DietProgress.svelte +++ b/src/lib/DietProgress.svelte @@ -51,7 +51,7 @@ article:has(.red) { pointer-events: none; - opacity: 0.33; + opacity: 0.33 !important; } article { diff --git a/src/lib/Info.svelte b/src/lib/Info.svelte index e355183..ce294e9 100644 --- a/src/lib/Info.svelte +++ b/src/lib/Info.svelte @@ -6,6 +6,12 @@
+
+ +
+

Hej, Jag har en 40-årskris xD

Dessutom hägrar en vecka på Sweden rock festival. @@ -57,9 +63,6 @@

Mål: Följa ovan kostråd 16 veckor, med fördefinierade cheat meals.

-
diff --git a/vite.config.ts b/vite.config.ts index 92d3a20..990a794 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -11,7 +11,7 @@ export default defineConfig({ includeAssets: ["icon512_rounded.png", "icon512_maskable.png"], manifest: { theme_color: "#8936FF", - background_color: "#2EC6FE", + background_color: "#222", icons: [ { purpose: "maskable", @@ -28,7 +28,7 @@ export default defineConfig({ ], orientation: "portrait", display: "standalone", - dir: "auto", + dir: "ltr", lang: "sv-SE", name: "Strand", short_name: "strand",