feat: ExerciseDB integration with muscle heatmap, SVG body filter, and enriched exercises
All checks were successful
CI / update (push) Successful in 3m31s
All checks were successful
CI / update (push) Successful in 3m31s
Integrate ExerciseDB v2 data layer (muscleMap.ts, exercisedb.ts) to enrich the 77 static exercises with detailed muscle targeting, similar exercises, and expand the catalog to 254 exercises. Add interactive SVG muscle body diagrams for both the stats page heatmap and exercise list filtering, with split front/back views flanking the exercise list on desktop. Replace body part dropdown with unified muscle group multi-select with pill tags.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
<script>
|
||||
import { page } from '$app/stores';
|
||||
import FitnessChart from '$lib/components/fitness/FitnessChart.svelte';
|
||||
import MuscleHeatmap from '$lib/components/fitness/MuscleHeatmap.svelte';
|
||||
import { Dumbbell, Route, Flame, Weight } from '@lucide/svelte';
|
||||
import FitnessStreakAura from '$lib/components/fitness/FitnessStreakAura.svelte';
|
||||
import { onMount } from 'svelte';
|
||||
@@ -221,6 +222,11 @@
|
||||
height="220px"
|
||||
/>
|
||||
{/if}
|
||||
|
||||
<div class="section-block">
|
||||
<h2 class="section-title">{t('muscle_balance', lang)}</h2>
|
||||
<MuscleHeatmap data={data.muscleHeatmap} />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
@@ -519,4 +525,16 @@
|
||||
color: var(--color-text-secondary);
|
||||
padding: 2rem 0;
|
||||
}
|
||||
|
||||
.section-block {
|
||||
background: var(--color-surface);
|
||||
border-radius: 12px;
|
||||
padding: 1rem;
|
||||
box-shadow: var(--shadow-sm);
|
||||
}
|
||||
.section-title {
|
||||
margin: 0 0 0.75rem;
|
||||
font-size: 1rem;
|
||||
font-weight: 700;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user