screen-locker/stronglift_replacement/workout_app/lib/models/exercise_result.dart
Krzysztof kuhy Rudnicki 26d55fb311 feat: add Flutter workout app (StrongLifts replacement)
Full-featured workout tracker with session persistence, auto A/B cycling,
warmup weights (4/5 of target), settings weight stepper, history + progress
graph, HTTP sync server, and crash-safe active session resume.

Removed per-set break timers per user preference. Dropped audioplayers and
vibration dependencies; updated permission_handler to 12.x to eliminate
two of three KGP build warnings (shared_preferences_android is an upstream issue).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 16:23:46 +02:00

28 lines
742 B
Dart

/// All set results for one exercise in a workout session.
library;
import 'package:workout_app/models/exercise.dart';
import 'package:workout_app/models/set_result.dart';
class ExerciseResult {
const ExerciseResult({
required this.exercise,
required this.sets,
});
final Exercise exercise;
final List<SetResult> sets;
/// True when every set was fully completed.
bool get succeeded => sets.isNotEmpty && sets.every((s) => s.succeeded);
Map<String, dynamic> toJson() => {
'name': exercise.name,
'targetSets': exercise.sets,
'targetReps': exercise.reps,
'targetWeight': exercise.weight,
'sets': sets.map((s) => s.toJson()).toList(),
'succeeded': succeeded,
};
}