Dashboard: show workout list when no scheduled workout

- 'Välj pass' section with all available workouts
- Compact workout cards with exercise tags
- Click any workout → WorkoutPage
- No more 'Vilodag' - user can always pick a workout
This commit is contained in:
2026-02-01 14:30:12 +01:00
parent 9a34bb2e44
commit aa2bcee061
2 changed files with 72 additions and 10 deletions
+22 -10
View File
@@ -141,7 +141,7 @@ function Dashboard({ onStartWorkout, onNavigate }) {
{/* Today's Workout */}
<section className="todays-workout">
<h2>Dagens pass</h2>
<h2>{todayWorkout ? 'Dagens pass' : 'Välj pass'}</h2>
{todayWorkout ? (
<div className="workout-card" onClick={() => onStartWorkout(todayWorkout)}>
<div className="workout-card-header">
@@ -161,15 +161,27 @@ function Dashboard({ onStartWorkout, onNavigate }) {
</button>
</div>
) : (
<div className="rest-day-card">
<div className="rest-icon">🧘</div>
<h3>Vilodag</h3>
<p>Inga pass schemalagda. Fokusera återhämtning!</p>
<div className="rest-tips">
<span>💤 Sömn</span>
<span>🥗 Näring</span>
<span>🚶 Lätt rörelse</span>
</div>
<div className="workout-list">
{program?.days?.map((workout) => (
<div
key={workout.id}
className="workout-card compact"
onClick={() => onStartWorkout(workout)}
>
<div className="workout-card-header">
<h3>{workout.name}</h3>
<span className="workout-day">Dag {workout.day_number}</span>
</div>
<div className="workout-exercises compact">
{workout.exercises?.filter(e => e.name).slice(0, 3).map((ex, i) => (
<span key={i} className="exercise-tag">{ex.name}</span>
))}
{workout.exercises?.filter(e => e.name).length > 3 && (
<span className="exercise-tag more">+{workout.exercises.filter(e => e.name).length - 3}</span>
)}
</div>
</div>
))}
</div>
)}
</section>