diff --git a/lib/helpers/misc.dart b/lib/helpers/misc.dart index 97027392..8db74a85 100644 --- a/lib/helpers/misc.dart +++ b/lib/helpers/misc.dart @@ -28,7 +28,7 @@ String repText( RepetitionUnit? repetitionUnitObj, num? weight, WeightUnit? weightUnitObj, - String? rir, + num? rir, ) { // TODO(x): how to (easily?) translate strings like the units or 'RiR' diff --git a/lib/models/workouts/log.dart b/lib/models/workouts/log.dart index 7744b280..c3082bf4 100644 --- a/lib/models/workouts/log.dart +++ b/lib/models/workouts/log.dart @@ -49,11 +49,11 @@ class Log { @JsonKey(required: true, name: 'slot_entry') int? slotEntryId; - @JsonKey(required: false) - String? rir; + @JsonKey(required: false, fromJson: stringToNum) + num? rir; - @JsonKey(required: false, name: 'rir_target') - String? rirTarget; + @JsonKey(required: false, fromJson: stringToNum, name: 'rir_target') + num? rirTarget; @JsonKey(required: true, fromJson: stringToNum, name: 'repetitions') num? repetitions; @@ -121,10 +121,6 @@ class Log { repetitionsUnitId = repetitionUnit?.id; } - void setRir(String rir) { - this.rir = rir; - } - /// Returns the text representation for a single setting, used in the gym mode String get singleLogRepTextNoNl { return repText(repetitions, repetitionsUnitObj, weight, weightUnitObj, rir) diff --git a/lib/models/workouts/log.g.dart b/lib/models/workouts/log.g.dart index d26477a0..397df1b5 100644 --- a/lib/models/workouts/log.g.dart +++ b/lib/models/workouts/log.g.dart @@ -34,8 +34,8 @@ Log _$LogFromJson(Map json) { repetitions: stringToNum(json['repetitions'] as String?), repetitionsTarget: stringToNum(json['repetitions_target'] as String?), repetitionsUnitId: (json['repetitions_unit'] as num?)?.toInt() ?? REP_UNIT_REPETITIONS_ID, - rir: json['rir'] as String?, - rirTarget: json['rir_target'] as String?, + rir: stringToNum(json['rir'] as String?), + rirTarget: stringToNum(json['rir_target'] as String?), weight: stringToNum(json['weight'] as String?), weightTarget: stringToNum(json['weight_target'] as String?), weightUnitId: (json['weight_unit'] as num?)?.toInt() ?? WEIGHT_UNIT_KG, diff --git a/lib/models/workouts/set_config_data.dart b/lib/models/workouts/set_config_data.dart index 97d2f711..3bc0f85a 100644 --- a/lib/models/workouts/set_config_data.dart +++ b/lib/models/workouts/set_config_data.dart @@ -78,14 +78,14 @@ class SetConfigData { @JsonKey(required: true, name: 'repetitions_rounding', fromJson: stringToNumNull) late num? repetitionsRounding; - @JsonKey(required: true) - late String? rir; + @JsonKey(required: true, fromJson: stringToNumNull) + late num? rir; - @JsonKey(required: true, name: 'max_rir') - late String? maxRir; + @JsonKey(required: true, name: 'max_rir', fromJson: stringToNumNull) + late num? maxRir; @JsonKey(required: true) - late String? rpe; + late num? rpe; @JsonKey(required: true, name: 'rest', fromJson: stringToNumNull) late num? restTime; diff --git a/lib/models/workouts/set_config_data.g.dart b/lib/models/workouts/set_config_data.g.dart index f1239905..561fd77b 100644 --- a/lib/models/workouts/set_config_data.g.dart +++ b/lib/models/workouts/set_config_data.g.dart @@ -50,9 +50,9 @@ SetConfigData _$SetConfigDataFromJson(Map json) { repetitionsRounding: json['repetitions_rounding'] == null ? 1 : stringToNumNull(json['repetitions_rounding'] as String?), - rir: json['rir'] as String?, - maxRir: json['max_rir'] as String?, - rpe: json['rpe'] as String?, + rir: stringToNumNull(json['rir'] as String?), + maxRir: stringToNumNull(json['max_rir'] as String?), + rpe: json['rpe'] as num?, restTime: stringToNumNull(json['rest'] as String?), maxRestTime: stringToNumNull(json['max_rest'] as String?), comment: json['comment'] as String? ?? '', diff --git a/lib/widgets/routines/gym_mode/log_page.dart b/lib/widgets/routines/gym_mode/log_page.dart index 0471eb90..1c9b966e 100644 --- a/lib/widgets/routines/gym_mode/log_page.dart +++ b/lib/widgets/routines/gym_mode/log_page.dart @@ -274,7 +274,7 @@ class _LogPageState extends State { ), if (_detailed) RiRInputWidget( - widget._log.rir == null ? null : num.parse(widget._log.rir!), + widget._log.rir, onChanged: (v) => {}, ), SwitchListTile( diff --git a/test/fixtures/routines/routine_logs.json b/test/fixtures/routines/routine_logs.json index cca04829..1835cc3d 100644 --- a/test/fixtures/routines/routine_logs.json +++ b/test/fixtures/routines/routine_logs.json @@ -161,7 +161,7 @@ "weight": "90.00", "weight_target": "80.00", "rir": "0.5", - "rir_target": null, + "rir_target": "0.5", "rest": 121, "rest_target": 120 }, diff --git a/test/workout/workout_log_model_test.dart b/test/workout/workout_log_model_test.dart index 9bfdfe93..1d993b2d 100644 --- a/test/workout/workout_log_model_test.dart +++ b/test/workout/workout_log_model_test.dart @@ -32,7 +32,7 @@ void main() { routineId: 100, exerciseId: 1, repetitions: 10, - rir: '1.5', + rir: 1.5, repetitionsUnitId: 1, weight: 20, weightUnitId: 1, @@ -45,7 +45,7 @@ void main() { routineId: 42, exerciseId: 1, repetitions: 10, - rir: '1.5', + rir: 1.5, repetitionsUnitId: 1, weight: 20, weightUnitId: 1, diff --git a/test_data/routines.dart b/test_data/routines.dart index 6885ce64..eb3efb75 100644 --- a/test_data/routines.dart +++ b/test_data/routines.dart @@ -50,7 +50,7 @@ Routine getTestRoutine({List? exercises}) { ..iteration = 2 ..slotEntryId = 3 ..weight = 10 - ..rir = '1.5' + ..rir = 1.5 ..date = DateTime(2021, 5, 1) ..repetitions = 10 ..routineId = 1; @@ -63,7 +63,7 @@ Routine getTestRoutine({List? exercises}) { ..iteration = 4 ..slotEntryId = 1 ..weight = 10 - ..rir = '2' + ..rir = 2 ..date = DateTime(2021, 5, 1) ..repetitions = 12 ..routineId = 1; @@ -76,7 +76,7 @@ Routine getTestRoutine({List? exercises}) { ..iteration = 5 ..slotEntryId = 1 ..weight = 50 - ..rir = '' + ..rir = null ..date = DateTime(2021, 5, 2) ..repetitions = 8 ..routineId = 1; @@ -248,8 +248,8 @@ Routine getTestRoutine({List? exercises}) { weight: 100, weightUnit: testWeightUnit1, restTime: 120, - rir: '1.5', - rpe: '8', + rir: 1.5, + rpe: 8, textRepr: '3x100kg', ), SetConfigData( @@ -262,8 +262,8 @@ Routine getTestRoutine({List? exercises}) { weight: 100, weightUnit: testWeightUnit1, restTime: 120, - rir: '1.5', - rpe: '8', + rir: 1.5, + rpe: 8, textRepr: '3x100kg', ), SetConfigData( @@ -276,8 +276,8 @@ Routine getTestRoutine({List? exercises}) { weight: 100, weightUnit: testWeightUnit1, restTime: 120, - rir: '1.5', - rpe: '8', + rir: 1.5, + rpe: 8, textRepr: '3x100kg', ), ], @@ -297,8 +297,8 @@ Routine getTestRoutine({List? exercises}) { weight: 10, weightUnit: testWeightUnit1, restTime: null, - rir: '', - rpe: '', + rir: null, + rpe: null, textRepr: '12x10kg', ), SetConfigData( @@ -311,8 +311,8 @@ Routine getTestRoutine({List? exercises}) { weight: 10, weightUnit: testWeightUnit1, restTime: null, - rir: '', - rpe: '', + rir: null, + rpe: null, textRepr: '12x10kg', ), SetConfigData( @@ -325,8 +325,8 @@ Routine getTestRoutine({List? exercises}) { weight: 10, weightUnit: testWeightUnit1, restTime: null, - rir: '', - rpe: '', + rir: null, + rpe: null, textRepr: '12x10kg', ), ], @@ -354,8 +354,8 @@ Routine getTestRoutine({List? exercises}) { weight: 100, weightUnit: testWeightUnit1, restTime: 120, - rir: '1.5', - rpe: '8', + rir: 1.5, + rpe: 8, textRepr: '3x100kg', ), SetConfigData( @@ -368,8 +368,8 @@ Routine getTestRoutine({List? exercises}) { weight: 100, weightUnit: testWeightUnit1, restTime: 120, - rir: '1.5', - rpe: '8', + rir: 1.5, + rpe: 8, textRepr: '3x100kg', ), SetConfigData( @@ -382,8 +382,8 @@ Routine getTestRoutine({List? exercises}) { weight: 100, weightUnit: testWeightUnit1, restTime: 120, - rir: '1.5', - rpe: '8', + rir: 1.5, + rpe: 8, textRepr: '3x100kg', ), ], @@ -414,8 +414,8 @@ Routine getTestRoutine({List? exercises}) { weight: 100, weightUnit: testWeightUnit1, restTime: 120, - rir: '1.5', - rpe: '8', + rir: 1.5, + rpe: 8, textRepr: '4 sets 3x100kg', ), ], @@ -435,8 +435,8 @@ Routine getTestRoutine({List? exercises}) { weight: 10, weightUnit: testWeightUnit1, restTime: 60, - rir: '', - rpe: '', + rir: null, + rpe: null, textRepr: '4 sets 12x10kg', ), ], @@ -464,8 +464,8 @@ Routine getTestRoutine({List? exercises}) { weight: 100, weightUnit: testWeightUnit1, restTime: 120, - rir: '1.5', - rpe: '8', + rir: 1.5, + rpe: 8, textRepr: '4 sets 3x100kg', ), ],