Skip to content

Commit 7f42b47

Browse files
committed
Actually set the RiR value in the logs
1 parent 40753ff commit 7f42b47

File tree

4 files changed

+40
-23
lines changed

4 files changed

+40
-23
lines changed

lib/models/workouts/log.dart

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import 'package:wger/helpers/json.dart';
2222
import 'package:wger/helpers/misc.dart';
2323
import 'package:wger/models/exercises/exercise.dart';
2424
import 'package:wger/models/workouts/repetition_unit.dart';
25+
import 'package:wger/models/workouts/set_config_data.dart';
2526
import 'package:wger/models/workouts/weight_unit.dart';
2627

2728
part 'log.g.dart';
@@ -101,6 +102,24 @@ class Log {
101102

102103
Log.empty();
103104

105+
Log.fromSetConfigData(SetConfigData data) {
106+
date = DateTime.now();
107+
sessionId = null;
108+
slotEntryId = data.slotEntryId;
109+
exerciseBase = data.exercise;
110+
111+
weight = data.weight;
112+
weightTarget = data.weight;
113+
weightUnit = data.weightUnit;
114+
115+
repetitions = data.repetitions;
116+
repetitionsTarget = data.repetitions;
117+
repetitionUnit = data.repetitionsUnit;
118+
119+
rir = data.rir;
120+
rirTarget = data.rir;
121+
}
122+
104123
// Boilerplate
105124
factory Log.fromJson(Map<String, dynamic> json) => _$LogFromJson(json);
106125

lib/models/workouts/slot_entry.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ enum ConfigType {
4343
class SlotEntry {
4444
/// Allowed RiR values. This list must be kept in sync with RIR_OPTIONS in the
4545
/// wger server
46-
static const POSSIBLE_RIR_VALUES = ['', '0', '0.5', '1', '1.5', '2', '2.5', '3', '3.5', '4'];
46+
static const POSSIBLE_RIR_VALUES = ['', 0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5];
4747
static const DEFAULT_RIR = '';
4848

4949
@JsonKey(required: true, includeToJson: false)

lib/widgets/routines/forms/rir.dart

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class RiRInputWidget extends StatefulWidget {
3030
static const SLIDER_START = -0.5;
3131

3232
RiRInputWidget(this._initialValue, {required this.onChanged}) {
33-
dropdownValue = _initialValue != null ? _initialValue.toString() : SlotEntry.DEFAULT_RIR;
33+
dropdownValue = _initialValue != null ? _initialValue!.toString() : SlotEntry.DEFAULT_RIR;
3434

3535
// Read string RiR into a double
3636
if (_initialValue != null) {
@@ -50,20 +50,23 @@ class _RiRInputWidgetState extends State<RiRInputWidget> {
5050
if (value < 0) {
5151
return AppLocalizations.of(context).rirNotUsed;
5252
}
53+
if (value > 4) {
54+
return '4+ ${AppLocalizations.of(context).rir}';
55+
}
5356
return '$value ${AppLocalizations.of(context).rir}';
5457
}
5558

5659
String mapDoubleToAllowedRir(double value) {
5760
if (value < 0) {
5861
return '';
59-
} else {
60-
// The representation is different (3.0 -> 3) we are on an int, round
61-
if (value.toInt() < value) {
62-
return value.toString();
63-
} else {
64-
return value.toInt().toString();
65-
}
6662
}
63+
64+
// The representation is different (3.0 -> 3) we are on an int, round
65+
if (value.toInt() < value) {
66+
return value.toString();
67+
}
68+
69+
return value.toInt().toString();
6770
}
6871

6972
@override

lib/widgets/routines/gym_mode/log_page.dart

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ import 'package:wger/models/workouts/log.dart';
2828
import 'package:wger/models/workouts/routine.dart';
2929
import 'package:wger/models/workouts/set_config_data.dart';
3030
import 'package:wger/models/workouts/slot_data.dart';
31-
import 'package:wger/models/workouts/slot_entry.dart';
3231
import 'package:wger/providers/routines.dart';
3332
import 'package:wger/widgets/core/core.dart';
3433
import 'package:wger/widgets/core/progress_indicator.dart';
@@ -45,7 +44,7 @@ class LogPage extends StatefulWidget {
4544
final Routine _workoutPlan;
4645
final double _ratioCompleted;
4746
final Map<Exercise, int> _exercisePages;
48-
final Log _log = Log.empty();
47+
late Log _log;
4948
final int _iteration;
5049

5150
LogPage(
@@ -58,18 +57,9 @@ class LogPage extends StatefulWidget {
5857
this._exercisePages,
5958
this._iteration,
6059
) {
61-
_log.date = DateTime.now();
62-
_log.sessionId = null;
60+
_log = Log.fromSetConfigData(_configData);
6361
_log.routineId = _workoutPlan.id!;
64-
_log.exerciseBase = _exercise;
65-
_log.weightUnit = _configData.weightUnit;
66-
_log.weightTarget = _configData.weight;
67-
_log.repetitionUnit = _configData.repetitionsUnit;
68-
_log.repetitionsTarget = _configData.repetitions;
69-
_log.rir = _configData.rir;
70-
_log.rirTarget = _configData.rir;
7162
_log.iteration = _iteration;
72-
_log.slotEntryId = _configData.slotEntryId;
7363
}
7464

7565
@override
@@ -78,7 +68,6 @@ class LogPage extends StatefulWidget {
7868

7969
class _LogPageState extends State<LogPage> {
8070
final _form = GlobalKey<FormState>();
81-
String rirValue = SlotEntry.DEFAULT_RIR;
8271
final _repetitionsController = TextEditingController();
8372
final _weightController = TextEditingController();
8473
var _detailed = false;
@@ -275,7 +264,13 @@ class _LogPageState extends State<LogPage> {
275264
if (_detailed)
276265
RiRInputWidget(
277266
widget._log.rir,
278-
onChanged: (v) => {},
267+
onChanged: (value) {
268+
if (value == '') {
269+
widget._log.rir = null;
270+
} else {
271+
widget._log.rir = num.parse(value);
272+
}
273+
},
279274
),
280275
SwitchListTile(
281276
title: Text(AppLocalizations.of(context).setUnitsAndRir),

0 commit comments

Comments
 (0)