StealThis .dev

Gym — Progress Stats

An athletic member progress panel built on the dark gym theme with hand-drawn SVG charts and zero libraries. A Strength / Cardio / Body tab switcher swaps a self-rendered bodyweight line chart, a weekly volume bar chart and a personal-records list for squat, bench, deadlift and 5k bests, each carrying up or down trend deltas and dates. A 4w / 12w / 1y range toggle re-renders the data, headline stat cards update, and hover or focus reveals neon point tooltips.

Labで開く
html css vanilla-js
ターゲット: JS HTML

コード

Progress Stats

A high-energy member dashboard for tracking training progress on the dark performance-gym theme. A segmented Strength / Cardio / Body tab switcher drives the whole panel: it swaps the chart type, its data, the headline summary cards and the personal-records list at once. Strength shows a weekly volume bar chart, while Cardio and Body render smooth line charts with a filled area and a dashed orange target line — all drawn by hand as raw SVG with no charting library.

The chart points and bars respond to hover and keyboard focus with a neon tooltip showing the exact value, and a 4w / 12w / 1y range toggle recomputes and re-renders the series in place. Below the chart, a PR list lists lifts like Back Squat, Bench Press and Deadlift (or cardio bests and body measurements) with little up/down/flat trend deltas and the date each was set; clicking a row fires a toast with the record detail.

Headline stat cards summarise total volume, sessions and bodyweight with colour-coded deltas, and the layout collapses to a single column down to ~360px. Names, lifts and dates are realistic but fictional. Everything is vanilla JS — no frameworks, no build step.