diff --git a/TODO.md b/TODO.md index e1087419..e1e88295 100644 --- a/TODO.md +++ b/TODO.md @@ -6,7 +6,7 @@ [x] on /fitness/measure in the past measurments tab, show more than "Body measurements only" if we don't have Bodyweight logged. we can be a bit more elaborate in our syntax here tbh. [x] add a button on /fitness/measure/body-parts for each measurement directly below to say "Same value", instead of having to hit +, then - to lock in same number [x] BF graph (with trend line like weight graph) on /fitness/stats page. Emphasize relative changes, not absolute numbers in design (as we cannot trust those) (e.g., use start day of overview as 0% and then show +/- x % on the graph) -[ ] Workshop better names than "Measure" for the /fitness/measure route. It's about body data points (i.e., non-food related). What's a better, short name than "Measure" to capture the logging of weight, body composition, body part measurements, and period tracking? +[x] Workshop better names than "Measure" for the /fitness/measure route. It's about body data points (i.e., non-food related). What's a better, short name than "Measure" to capture the logging of weight, body composition, body part measurements, and period tracking? [ ] on /fitness/stats/histoy/ for body measurement graphs, make the range reasonable. e.g., if we have 1 cm change, do not fill the entire y-height with 1 cm. Use reasonable padding for low ranges (i think we do something like htis already on the weight graph?) ## Refactor Recipe Search Component diff --git a/package.json b/package.json index 6acdad86..f85bc53a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "homepage", - "version": "1.46.7", + "version": "1.46.8", "private": true, "type": "module", "scripts": { diff --git a/src/lib/js/fitnessI18n.ts b/src/lib/js/fitnessI18n.ts index 676b6737..01e14f25 100644 --- a/src/lib/js/fitnessI18n.ts +++ b/src/lib/js/fitnessI18n.ts @@ -1,8 +1,8 @@ /** Fitness route i18n — slug mappings and UI translations */ const slugMap: Record> = { - en: { statistik: 'stats', verlauf: 'history', training: 'workout', aktiv: 'active', uebungen: 'exercises', messen: 'measure', ernaehrung: 'nutrition' }, - de: { stats: 'statistik', history: 'verlauf', workout: 'training', active: 'aktiv', exercises: 'uebungen', measure: 'messen', nutrition: 'ernaehrung' } + en: { statistik: 'stats', verlauf: 'history', training: 'workout', aktiv: 'active', uebungen: 'exercises', erfassung: 'check-in', ernaehrung: 'nutrition' }, + de: { stats: 'statistik', history: 'verlauf', workout: 'training', active: 'aktiv', exercises: 'uebungen', 'check-in': 'erfassung', nutrition: 'ernaehrung' } }; const germanSlugs = new Set(Object.keys(slugMap.en)); @@ -31,7 +31,7 @@ export function fitnessSlugs(lang: 'en' | 'de') { workout: lang === 'en' ? 'workout' : 'training', active: lang === 'en' ? 'active' : 'aktiv', exercises: lang === 'en' ? 'exercises' : 'uebungen', - measure: lang === 'en' ? 'measure' : 'messen', + measure: lang === 'en' ? 'check-in' : 'erfassung', nutrition: lang === 'en' ? 'nutrition' : 'ernaehrung' }; } @@ -43,7 +43,7 @@ export function fitnessLabels(lang: 'en' | 'de') { history: lang === 'en' ? 'History' : 'Verlauf', workout: lang === 'en' ? 'Workout' : 'Training', exercises: lang === 'en' ? 'Exercises' : 'Übungen', - measure: lang === 'en' ? 'Measure' : 'Messen', + measure: lang === 'en' ? 'Check-in' : 'Erfassung', nutrition: lang === 'en' ? 'Nutrition' : 'Ernährung' }; } diff --git a/src/params/fitnessMeasure.ts b/src/params/fitnessCheckIn.ts similarity index 65% rename from src/params/fitnessMeasure.ts rename to src/params/fitnessCheckIn.ts index e22df15f..ecf2e2db 100644 --- a/src/params/fitnessMeasure.ts +++ b/src/params/fitnessCheckIn.ts @@ -1,5 +1,5 @@ import type { ParamMatcher } from '@sveltejs/kit'; export const match: ParamMatcher = (param) => { - return param === 'measure' || param === 'messen'; + return param === 'check-in' || param === 'erfassung'; }; diff --git a/src/routes/fitness/+layout.svelte b/src/routes/fitness/+layout.svelte index 83580d99..7dba7751 100644 --- a/src/routes/fitness/+layout.svelte +++ b/src/routes/fitness/+layout.svelte @@ -4,7 +4,7 @@ import Header from '$lib/components/Header.svelte'; import UserHeader from '$lib/components/UserHeader.svelte'; import LanguageSelector from '$lib/components/LanguageSelector.svelte'; - import { BarChart3, Clock, Dumbbell, ListChecks, Ruler, UtensilsCrossed } from '@lucide/svelte'; + import { BarChart3, Clock, Dumbbell, ListChecks, NotebookPen, UtensilsCrossed } from '@lucide/svelte'; import { getWorkout } from '$lib/js/workout.svelte'; import { getWorkoutSync } from '$lib/js/workoutSync.svelte'; import WorkoutFab from '$lib/components/fitness/WorkoutFab.svelte'; @@ -27,7 +27,7 @@ const slugs = [ 'workout', 'training', 'workout/active', 'training/aktiv', 'exercises', 'uebungen', 'stats', 'statistik', - 'history', 'verlauf', 'measure', 'messen', + 'history', 'verlauf', 'check-in', 'erfassung', 'nutrition', 'ernaehrung' ]; const urls = slugs.map((s) => `/fitness/${s}`); @@ -69,7 +69,7 @@ !$page.url.pathname.startsWith(`/fitness/${s.nutrition}/meals`) ); const isMeasureIndex = $derived( - /^\/fitness\/(measure|messen)\/?$/.test($page.url.pathname) + /^\/fitness\/(check-in|erfassung)\/?$/.test($page.url.pathname) ); /** @param {number} secs */ function formatElapsed(secs) { @@ -86,7 +86,7 @@
  • {labels.history}
  • {labels.workout}
  • {labels.exercises}
  • -
  • {labels.measure}
  • +
  • {labels.measure}
  • {labels.nutrition}
  • {/snippet} diff --git a/src/routes/fitness/[measure=fitnessMeasure]/+page.server.ts b/src/routes/fitness/[checkin=fitnessCheckIn]/+page.server.ts similarity index 100% rename from src/routes/fitness/[measure=fitnessMeasure]/+page.server.ts rename to src/routes/fitness/[checkin=fitnessCheckIn]/+page.server.ts diff --git a/src/routes/fitness/[measure=fitnessMeasure]/+page.svelte b/src/routes/fitness/[checkin=fitnessCheckIn]/+page.svelte similarity index 100% rename from src/routes/fitness/[measure=fitnessMeasure]/+page.svelte rename to src/routes/fitness/[checkin=fitnessCheckIn]/+page.svelte diff --git a/src/routes/fitness/[measure=fitnessMeasure]/body-parts/+page.server.ts b/src/routes/fitness/[checkin=fitnessCheckIn]/body-parts/+page.server.ts similarity index 100% rename from src/routes/fitness/[measure=fitnessMeasure]/body-parts/+page.server.ts rename to src/routes/fitness/[checkin=fitnessCheckIn]/body-parts/+page.server.ts diff --git a/src/routes/fitness/[measure=fitnessMeasure]/body-parts/+page.svelte b/src/routes/fitness/[checkin=fitnessCheckIn]/body-parts/+page.svelte similarity index 100% rename from src/routes/fitness/[measure=fitnessMeasure]/body-parts/+page.svelte rename to src/routes/fitness/[checkin=fitnessCheckIn]/body-parts/+page.svelte diff --git a/src/routes/fitness/[measure=fitnessMeasure]/edit/[id]/+page.server.ts b/src/routes/fitness/[checkin=fitnessCheckIn]/edit/[id]/+page.server.ts similarity index 100% rename from src/routes/fitness/[measure=fitnessMeasure]/edit/[id]/+page.server.ts rename to src/routes/fitness/[checkin=fitnessCheckIn]/edit/[id]/+page.server.ts diff --git a/src/routes/fitness/[measure=fitnessMeasure]/edit/[id]/+page.svelte b/src/routes/fitness/[checkin=fitnessCheckIn]/edit/[id]/+page.svelte similarity index 100% rename from src/routes/fitness/[measure=fitnessMeasure]/edit/[id]/+page.svelte rename to src/routes/fitness/[checkin=fitnessCheckIn]/edit/[id]/+page.svelte