From ce42d7074170e5b076147462d5a7fd48828dc16b Mon Sep 17 00:00:00 2001 From: Alexander Bocken Date: Fri, 24 Apr 2026 18:16:15 +0200 Subject: [PATCH] feat(fitness/measure): theme-adaptive waist svg Replaces static PNG with currentColor-stroked SVG matching forearm/thigh pattern for light/dark theme adaptation. --- package.json | 2 +- src/lib/js/fitnessBodyParts.ts | 2 +- .../body-parts/+page.svelte | 2 +- static/fitness/measure/waist.png | Bin 15017 -> 0 bytes static/fitness/measure/waist.svg | 16 ++++++++++++++++ 5 files changed, 19 insertions(+), 3 deletions(-) delete mode 100644 static/fitness/measure/waist.png create mode 100644 static/fitness/measure/waist.svg diff --git a/package.json b/package.json index e109adfe..d3ba008d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "homepage", - "version": "1.48.0", + "version": "1.48.1", "private": true, "type": "module", "scripts": { diff --git a/src/lib/js/fitnessBodyParts.ts b/src/lib/js/fitnessBodyParts.ts index 77252ed2..30610ad0 100644 --- a/src/lib/js/fitnessBodyParts.ts +++ b/src/lib/js/fitnessBodyParts.ts @@ -23,7 +23,7 @@ export const BODY_PART_CARDS: BodyPartCard[] = [ { key: 'chest', slugDe: 'brust', labelKey: 'chest', img: 'shoulders.png', paired: false, db: 'chest' }, { key: 'biceps', slugDe: 'bizeps', labelKey: 'biceps', img: 'bicep.png', paired: true, dbLeft: 'leftBicep', dbRight: 'rightBicep' }, { key: 'forearms', slugDe: 'unterarme', labelKey: 'forearms', img: 'forearm.svg', paired: true, dbLeft: 'leftForearm', dbRight: 'rightForearm' }, - { key: 'waist', slugDe: 'taille', labelKey: 'waist', img: 'waist.png', paired: false, db: 'waist' }, + { key: 'waist', slugDe: 'taille', labelKey: 'waist', img: 'waist.svg', paired: false, db: 'waist' }, { key: 'hips', slugDe: 'huefte', labelKey: 'hips', img: 'hips.png', paired: false, db: 'hips' }, { key: 'thighs', slugDe: 'oberschenkel', labelKey: 'thighs', img: 'thigh.svg', paired: true, dbLeft: 'leftThigh', dbRight: 'rightThigh' }, { key: 'calves', slugDe: 'waden', labelKey: 'calves', img: 'calves.png', paired: true, dbLeft: 'leftCalf', dbRight: 'rightCalf' } diff --git a/src/routes/fitness/[checkin=fitnessCheckIn]/body-parts/+page.svelte b/src/routes/fitness/[checkin=fitnessCheckIn]/body-parts/+page.svelte index 25936b48..d9c1f3c3 100644 --- a/src/routes/fitness/[checkin=fitnessCheckIn]/body-parts/+page.svelte +++ b/src/routes/fitness/[checkin=fitnessCheckIn]/body-parts/+page.svelte @@ -35,7 +35,7 @@ { key: 'chest', labelKey: 'chest', img: 'shoulders.png', paired: false, tipKey: 'measure_tip_chest', dbSingle: 'chest' }, { key: 'biceps', labelKey: 'l_bicep', img: 'bicep.png', paired: true, tipKey: 'measure_tip_biceps', dbLeft: 'leftBicep', dbRight: 'rightBicep' }, { key: 'forearms', labelKey: 'l_forearm', img: 'forearm.svg', paired: true, tipKey: 'measure_tip_forearms', dbLeft: 'leftForearm', dbRight: 'rightForearm' }, - { key: 'waist', labelKey: 'waist', img: 'waist.png', paired: false, tipKey: 'measure_tip_waist', dbSingle: 'waist' }, + { key: 'waist', labelKey: 'waist', img: 'waist.svg', paired: false, tipKey: 'measure_tip_waist', dbSingle: 'waist' }, { key: 'hips', labelKey: 'hips', img: 'hips.png', paired: false, tipKey: 'measure_tip_hips', dbSingle: 'hips' }, { key: 'thighs', labelKey: 'l_thigh', img: 'thigh.svg', paired: true, tipKey: 'measure_tip_thighs', dbLeft: 'leftThigh', dbRight: 'rightThigh' }, { key: 'calves', labelKey: 'calves', img: 'calves.png', paired: true, tipKey: 'measure_tip_calves', dbLeft: 'leftCalf', dbRight: 'rightCalf' } diff --git a/static/fitness/measure/waist.png b/static/fitness/measure/waist.png deleted file mode 100644 index 4abe3031f6cbb94aa84814309aefaa8a41d01994..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15017 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 + + + + + + + + + +