Skip to content

Conversation

@marcodejongh
Copy link
Owner

Adds a playlist generator feature to the playlist view that allows users
to generate workout-specific playlists based on their training goals:

  • Volume: High-volume workout at a consistent grade
  • Pyramid: Work up to a peak grade and back down
  • Ladder: Progressive grade increase through steps
  • Grade Focus: Single grade focused workout

Features:

  • Visual grade progression chart preview
  • Configurable options (warm-up, target grade, climb counts)
  • Quality filters (min ascents, min rating, climb bias)
  • Automatic climb selection from search results
  • Progress indicator during generation

Adds a playlist generator feature to the playlist view that allows users
to generate workout-specific playlists based on their training goals:

- Volume: High-volume workout at a consistent grade
- Pyramid: Work up to a peak grade and back down
- Ladder: Progressive grade increase through steps
- Grade Focus: Single grade focused workout

Features:
- Visual grade progression chart preview
- Configurable options (warm-up, target grade, climb counts)
- Quality filters (min ascents, min rating, climb bias)
- Automatic climb selection from search results
- Progress indicator during generation
@vercel
Copy link

vercel bot commented Jan 2, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
boardsesh Building Building Preview, Comment Jan 2, 2026 1:13pm

@claude
Copy link

claude bot commented Jan 2, 2026

Claude Review

Ready to merge - Minor issues noted below, but nothing blocking.

Issues

  1. Hardcoded colors in CSS - Multiple CSS files use hardcoded hex colors instead of design tokens from theme-config.ts per CLAUDE.md guidelines:

    • generator-options-form.module.css: #E5E7EB, #111827, #6B7280, #9CA3AF, #F3F4F6, #06B6D4, #0891B2
    • playlist-generator-drawer.module.css: #FFFFFF, #E5E7EB, #F9FAFB, #6B7280, #06B6D4
    • workout-type-selector.module.css: #E5E7EB, #F9FAFB, #F3F4F6, #9CA3AF
    • grade-progression-chart.module.css: #6B7280, #F9FAFB, #D1D5DB, #9CA3AF
  2. Unused imports - playlist-generator-drawer.tsx:4: Space and Alert are imported from antd but never used. Title is imported but only Text is used.

  3. Unused variables in generation-utils.ts:60-61: minGrade and maxGrade are computed but never used in generateVolumePlan.

  4. Unused export - types.ts:90-95: EFFORT_LEVELS constant is defined and exported but never used in the codebase.

  5. Missing tests - No test files for the new playlist-generator component. The generation algorithms in generation-utils.ts would benefit from unit tests for edge cases (e.g., when target grade is at min/max bounds, when warm-up would go below minimum grade).

  6. Error handling gap - playlist-generator-drawer.tsx:132-136: executeGraphQL calls in searchClimbsForGrade don't have try/catch, so a network error would crash the generation rather than being handled gracefully.

@marcodejongh marcodejongh merged commit d655162 into main Jan 2, 2026
4 of 6 checks passed
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.

3 participants