Skip to content

Add: alpine ski waist width recommendation with terrain selector#54

Merged
theredmoose merged 1 commit into
mainfrom
feature/alpine-waist-width
Feb 23, 2026
Merged

Add: alpine ski waist width recommendation with terrain selector#54
theredmoose merged 1 commit into
mainfrom
feature/alpine-waist-width

Conversation

@theredmoose

Copy link
Copy Markdown
Owner

Summary

  • Add Terrain selector (Groomed / All-Mountain / Powder) to the Alpine tab in SportSizing — follows the same visual pattern as the Nordic model selector
  • Display a Ski Waist mm range in Equipment Sizing, driven by the selected terrain:
    • Groomed: 65–80 mm (hardpack, carving)
    • All-Mountain: 80–96 mm (versatile, mixed conditions)
    • Powder: 96–120 mm (off-piste, freeride)
  • Terrain selection is session-local (no storage needed), defaults to All-Mountain

Files changed

File Change
src/types/index.ts Add AlpineTerrain type + ALPINE_TERRAIN_LABELS
src/services/sizing.ts Add calculateAlpineWaistWidth(terrain)
src/components/SportSizing.tsx Terrain selector + Ski Waist row
src/services/__tests__/sizing.test.ts 4 tests for the new function

Test plan

  • 531 tests pass (4 new)
  • npx tsc --noEmit — no TypeScript errors

🤖 Generated with Claude Code

- Add AlpineTerrain type ('groomed' | 'all-mountain' | 'powder') and
  ALPINE_TERRAIN_LABELS to types/index.ts
- Add calculateAlpineWaistWidth(terrain) to sizing.ts with documented
  ranges: 65–80 mm (groomed), 80–96 mm (all-mountain), 96–120 mm (powder)
- Add terrain selector pill row to SportSizing (alpine tab only),
  following the same pattern as the Nordic model selector
- Display 'Ski Waist' mm range in Equipment Sizing section below ski length
- Add 4 tests for calculateAlpineWaistWidth in sizing.test.ts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@theredmoose theredmoose merged commit 3dcb9ab into main Feb 23, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant