feat(06-01): Exercise recommendations API endpoint + frontend components (coach-assisted suggestions)
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
export type Difficulty = 'Easy' | 'Medium' | 'Hard' | 'Beginner' | 'Intermediate' | 'Advanced'
|
||||
|
||||
export interface ExerciseRecommendation {
|
||||
id?: string | number
|
||||
name: string
|
||||
description?: string
|
||||
difficulty?: Difficulty | string
|
||||
duration?: number
|
||||
duration_min?: number
|
||||
durationMinutes?: number
|
||||
reps?: string | number
|
||||
reps_min?: number
|
||||
reps_max?: number
|
||||
repsMin?: number
|
||||
repsMax?: number
|
||||
image_url?: string
|
||||
image?: string
|
||||
imageUrl?: string
|
||||
group?: string
|
||||
category?: string
|
||||
level?: string
|
||||
progression_level?: string
|
||||
equipment?: string[]
|
||||
tags?: string[]
|
||||
rationale?: string
|
||||
}
|
||||
|
||||
export interface RecommendationGroup {
|
||||
id?: string
|
||||
title: string
|
||||
description?: string
|
||||
recommendations?: ExerciseRecommendation[]
|
||||
items?: ExerciseRecommendation[]
|
||||
}
|
||||
|
||||
export type ProgressionStatus = 'completed' | 'current' | 'available' | 'locked'
|
||||
|
||||
export interface ProgressionLevel {
|
||||
id?: string
|
||||
label: string
|
||||
description?: string
|
||||
status?: ProgressionStatus
|
||||
}
|
||||
|
||||
export interface ExerciseRecommendationResponse {
|
||||
recommendations: ExerciseRecommendation[]
|
||||
groups?: RecommendationGroup[]
|
||||
progression?: ProgressionLevel[]
|
||||
meta?: Record<string, unknown>
|
||||
}
|
||||
Reference in New Issue
Block a user