diff --git a/lib/models/workouts/day.dart b/lib/models/workouts/day.dart
index 88b5954c..cb67f8b7 100644
--- a/lib/models/workouts/day.dart
+++ b/lib/models/workouts/day.dart
@@ -16,66 +16,45 @@
* along with this program. If not, see .
*/
-import 'package:intl/intl.dart';
import 'package:json_annotation/json_annotation.dart';
-import 'package:wger/models/workouts/set.dart';
+import 'package:wger/models/workouts/slot.dart';
part 'day.g.dart';
@JsonSerializable()
class Day {
- static const Map weekdays = {
- 1: 'Monday',
- 2: 'Tuesday',
- 3: 'Wednesday',
- 4: 'Thursday',
- 5: 'Friday',
- 6: 'Saturday',
- 7: 'Sunday',
- };
-
@JsonKey(required: true)
int? id;
- @JsonKey(required: true, name: 'training')
- late int workoutId;
+ @JsonKey(required: true, name: 'routine')
+ late int routineId;
+
+ @JsonKey(required: true)
+ late String name;
@JsonKey(required: true)
late String description;
- @JsonKey(required: true, name: 'day')
- List daysOfWeek = [];
+ @JsonKey(required: true, name: 'is_rest')
+ late bool isRest;
+
+ @JsonKey(required: true, name: 'need_logs_to_advance')
+ late bool needLogsToAdvance;
+
+ @JsonKey(required: true)
+ late String type;
+
+ @JsonKey(required: true)
+ late Object config;
@JsonKey(includeFromJson: false, includeToJson: false)
- List sets = [];
+ List slots = [];
//@JsonKey(includeFromJson: false, includeToJson: false)
//late WorkoutPlan workout;
Day() {
- daysOfWeek = [];
- sets = [];
- }
-
- String getDayName(int weekDay) {
- return weekdays[weekDay]!;
- }
-
- String get getDaysText {
- return daysOfWeek.map((e) => getDayName(e)).join(', ');
- }
-
- String getDaysTextTranslated(locale) {
- return daysOfWeek.map((e) => getDayTranslated(e, locale)).join(', ');
- }
-
- /// Returns the translated name of the given day
- String getDayTranslated(int day, locale) {
- // Isn't there another way?... 🙄
- final now = DateTime.now();
- final firstDayOfWeek = now.subtract(Duration(days: now.weekday));
-
- return DateFormat(DateFormat.WEEKDAY, locale).format(firstDayOfWeek.add(Duration(days: day)));
+ slots = [];
}
// Boilerplate
diff --git a/lib/models/workouts/day.g.dart b/lib/models/workouts/day.g.dart
index 55db607c..d58c1897 100644
--- a/lib/models/workouts/day.g.dart
+++ b/lib/models/workouts/day.g.dart
@@ -9,18 +9,35 @@ part of 'day.dart';
Day _$DayFromJson(Map json) {
$checkKeys(
json,
- requiredKeys: const ['id', 'training', 'description', 'day'],
+ requiredKeys: const [
+ 'id',
+ 'routine',
+ 'name',
+ 'description',
+ 'is_rest',
+ 'need_logs_to_advance',
+ 'type',
+ 'config'
+ ],
);
return Day()
..id = (json['id'] as num?)?.toInt()
- ..workoutId = (json['training'] as num).toInt()
+ ..routineId = (json['routine'] as num).toInt()
+ ..name = json['name'] as String
..description = json['description'] as String
- ..daysOfWeek = (json['day'] as List).map((e) => (e as num).toInt()).toList();
+ ..isRest = json['is_rest'] as bool
+ ..needLogsToAdvance = json['need_logs_to_advance'] as bool
+ ..type = json['type'] as String
+ ..config = json['config'] as Object;
}
Map _$DayToJson(Day instance) => {
'id': instance.id,
- 'training': instance.workoutId,
+ 'routine': instance.routineId,
+ 'name': instance.name,
'description': instance.description,
- 'day': instance.daysOfWeek,
+ 'is_rest': instance.isRest,
+ 'need_logs_to_advance': instance.needLogsToAdvance,
+ 'type': instance.type,
+ 'config': instance.config,
};
diff --git a/lib/models/workouts/routine.g.dart b/lib/models/workouts/routine.g.dart
index 400eee8e..c0e7339c 100644
--- a/lib/models/workouts/routine.g.dart
+++ b/lib/models/workouts/routine.g.dart
@@ -9,7 +9,15 @@ part of 'routine.dart';
Routine _$RoutineFromJson(Map json) {
$checkKeys(
json,
- requiredKeys: const ['id', 'created', 'name', 'description', 'fit_in_week', 'start', 'end'],
+ requiredKeys: const [
+ 'id',
+ 'created',
+ 'name',
+ 'description',
+ 'fit_in_week',
+ 'start',
+ 'end'
+ ],
);
return Routine(
id: (json['id'] as num?)?.toInt(),
diff --git a/lib/models/workouts/set.g.dart b/lib/models/workouts/set.g.dart
deleted file mode 100644
index 1e489fa2..00000000
--- a/lib/models/workouts/set.g.dart
+++ /dev/null
@@ -1,29 +0,0 @@
-// GENERATED CODE - DO NOT MODIFY BY HAND
-
-part of 'set.dart';
-
-// **************************************************************************
-// JsonSerializableGenerator
-// **************************************************************************
-
-Set _$SetFromJson(Map json) {
- $checkKeys(
- json,
- requiredKeys: const ['id', 'sets', 'order', 'comment'],
- );
- return Set(
- day: (json['exerciseday'] as num).toInt(),
- sets: (json['sets'] as num).toInt(),
- order: (json['order'] as num).toInt(),
- )
- ..id = (json['id'] as num?)?.toInt()
- ..comment = json['comment'] as String? ?? '';
-}
-
-Map _$SetToJson(Set instance) => {
- 'id': instance.id,
- 'sets': instance.sets,
- 'exerciseday': instance.day,
- 'order': instance.order,
- 'comment': instance.comment,
- };
diff --git a/lib/models/workouts/set.dart b/lib/models/workouts/slot.dart
similarity index 70%
rename from lib/models/workouts/set.dart
rename to lib/models/workouts/slot.dart
index a1caa104..6fee2e28 100644
--- a/lib/models/workouts/set.dart
+++ b/lib/models/workouts/slot.dart
@@ -18,21 +18,18 @@
import 'package:json_annotation/json_annotation.dart';
import 'package:wger/models/exercises/exercise.dart';
-import 'package:wger/models/workouts/setting.dart';
+import 'package:wger/models/workouts/slot_entry.dart';
-part 'set.g.dart';
+part 'slot.g.dart';
@JsonSerializable()
-class Set {
+class Slot {
static const DEFAULT_NR_SETS = 4;
@JsonKey(required: true)
int? id;
- @JsonKey(required: true)
- late int sets;
-
- @JsonKey(required: false, name: 'exerciseday')
+ @JsonKey(required: false)
late int day;
@JsonKey(required: true)
@@ -41,25 +38,34 @@ class Set {
@JsonKey(required: true, defaultValue: '')
late String comment;
- @JsonKey(includeFromJson: false, includeToJson: false)
- List exerciseBasesObj = [];
+ @JsonKey(required: true)
+ late Object config;
@JsonKey(includeFromJson: false, includeToJson: false)
- List exerciseBasesIds = [];
+ List exercisesObj = [];
@JsonKey(includeFromJson: false, includeToJson: false)
- List settings = [];
+ List exercisesIds = [];
+
+ @JsonKey(includeFromJson: false, includeToJson: false)
+ List entries = [];
/// Computed settings (instead of 4x10 this has [10, 10, 10, 10]), used for
/// the gym mode where the individual values are used
@JsonKey(includeFromJson: false, includeToJson: false)
- List settingsComputed = [];
+ List settingsComputed = [];
- Set({required this.day, required this.sets, required this.order});
+ Slot({
+ required this.id,
+ required this.day,
+ required this.comment,
+ required this.order,
+ required this.config,
+ });
- Set.empty();
+ Slot.empty();
- Set.withData({
+ Slot.withData({
this.id,
sets,
day,
@@ -69,12 +75,11 @@ class Set {
settings,
settingsComputed,
}) {
- this.sets = sets ?? DEFAULT_NR_SETS;
this.order = order ?? 1;
this.comment = comment ?? '';
- exerciseBasesObj = exercises ?? [];
- exerciseBasesIds = exerciseBasesObj.map((e) => e.id!).toList();
- this.settings = settings ?? [];
+ exercisesObj = exercises ?? [];
+ exercisesIds = exercisesObj.map((e) => e.id!).toList();
+ this.entries = settings ?? [];
this.settingsComputed = settingsComputed ?? [];
if (day != null) {
this.day = day;
@@ -83,10 +88,10 @@ class Set {
/// Return only one setting object per exercise, this makes rendering workout
/// plans easier and the gym mode uses the synthetic settings anyway.
- List get settingsFiltered {
- final List out = [];
+ List get settingsFiltered {
+ final List out = [];
- for (final setting in settings) {
+ for (final setting in entries) {
final foundSettings = out.where(
(element) => element.exerciseId == setting.exerciseId,
);
@@ -99,18 +104,18 @@ class Set {
}
void addExerciseBase(Exercise base) {
- exerciseBasesObj.add(base);
- exerciseBasesIds.add(base.id!);
+ exercisesObj.add(base);
+ exercisesIds.add(base.id!);
}
void removeExercise(Exercise base) {
- exerciseBasesObj.removeWhere((e) => e.id == base.id);
- exerciseBasesIds.removeWhere((e) => e == base.id);
+ exercisesObj.removeWhere((e) => e.id == base.id);
+ exercisesIds.removeWhere((e) => e == base.id);
}
/// Returns all settings for the given exercise
- List filterSettingsByExercise(Exercise exerciseBase) {
- return settings.where((element) => element.exerciseId == exerciseBase.id).toList();
+ List filterSettingsByExercise(Exercise exerciseBase) {
+ return entries.where((element) => element.exerciseId == exerciseBase.id).toList();
}
/// Returns a list with all repetitions for the given exercise
@@ -137,12 +142,12 @@ class Set {
}
/// Returns a string with all repetitions for the given exercise
- String getSmartTextRepr(Exercise execiseBase) {
- return getSmartRepr(execiseBase).join(' – ');
+ String getSmartTextRepr(Exercise exerciseBase) {
+ return getSmartRepr(exerciseBase).join(' – ');
}
// Boilerplate
- factory Set.fromJson(Map json) => _$SetFromJson(json);
+ factory Slot.fromJson(Map json) => _$SlotFromJson(json);
- Map toJson() => _$SetToJson(this);
+ Map toJson() => _$SlotToJson(this);
}
diff --git a/lib/models/workouts/slot.g.dart b/lib/models/workouts/slot.g.dart
new file mode 100644
index 00000000..4e7d8ba8
--- /dev/null
+++ b/lib/models/workouts/slot.g.dart
@@ -0,0 +1,29 @@
+// GENERATED CODE - DO NOT MODIFY BY HAND
+
+part of 'slot.dart';
+
+// **************************************************************************
+// JsonSerializableGenerator
+// **************************************************************************
+
+Slot _$SlotFromJson(Map json) {
+ $checkKeys(
+ json,
+ requiredKeys: const ['id', 'order', 'comment', 'config'],
+ );
+ return Slot(
+ id: (json['id'] as num?)?.toInt(),
+ day: (json['day'] as num).toInt(),
+ comment: json['comment'] as String? ?? '',
+ order: (json['order'] as num).toInt(),
+ config: json['config'] as Object,
+ );
+}
+
+Map _$SlotToJson(Slot instance) => {
+ 'id': instance.id,
+ 'day': instance.day,
+ 'order': instance.order,
+ 'comment': instance.comment,
+ 'config': instance.config,
+ };
diff --git a/lib/models/workouts/setting.dart b/lib/models/workouts/slot_entry.dart
similarity index 76%
rename from lib/models/workouts/setting.dart
rename to lib/models/workouts/slot_entry.dart
index 035e431f..87fba13f 100644
--- a/lib/models/workouts/setting.dart
+++ b/lib/models/workouts/slot_entry.dart
@@ -18,15 +18,14 @@
import 'package:json_annotation/json_annotation.dart';
import 'package:wger/helpers/json.dart';
-import 'package:wger/helpers/misc.dart';
import 'package:wger/models/exercises/exercise.dart';
import 'package:wger/models/workouts/repetition_unit.dart';
import 'package:wger/models/workouts/weight_unit.dart';
-part 'setting.g.dart';
+part 'slot_entry.g.dart';
@JsonSerializable()
-class Setting {
+class SlotEntry {
/// Allowed RiR values. This list must be kept in sync with RIR_OPTIONS in the
/// wger server
static const POSSIBLE_RIR_VALUES = ['', '0', '0.5', '1', '1.5', '2', '2.5', '3', '3.5', '4'];
@@ -35,16 +34,19 @@ class Setting {
@JsonKey(required: true)
int? id;
- @JsonKey(required: true, name: 'set')
- late int setId;
+ @JsonKey(required: true, name: 'slot')
+ late int slotId;
@JsonKey(required: true)
late int order;
+ @JsonKey(required: true)
+ late String type;
+
@JsonKey(includeFromJson: false, includeToJson: false)
late Exercise exerciseObj;
- @JsonKey(required: true, name: 'exercise_base')
+ @JsonKey(required: true, name: 'exercise')
late int exerciseId;
@JsonKey(required: true, name: 'repetition_unit')
@@ -53,6 +55,9 @@ class Setting {
@JsonKey(includeFromJson: false, includeToJson: false)
late RepetitionUnit repetitionUnitObj;
+ @JsonKey(required: true, name: 'repetition_rounding')
+ late num repetitionRounding;
+
@JsonKey(required: true)
int? reps;
@@ -65,32 +70,39 @@ class Setting {
@JsonKey(includeFromJson: false, includeToJson: false)
late WeightUnit weightUnitObj;
- /// Personal notes about this setting. Currently not used
+ @JsonKey(required: true, name: 'weight_rounding')
+ late num weightRounding;
+
@JsonKey(required: true)
late String comment = '';
- /// Reps in Reserve
@JsonKey(required: true)
- String? rir = '';
+ late Object config;
- Setting({
+ SlotEntry({
this.id,
- required this.setId,
+ required this.slotId,
required this.order,
+ required this.type,
required this.exerciseId,
required this.repetitionUnitId,
+ required this.repetitionRounding,
required this.reps,
required this.weightUnitId,
+ required this.weightRounding,
required this.comment,
- required this.rir,
});
- Setting.empty();
+ SlotEntry.empty();
+
+ get rir {
+ return 'DELETE ME! RIR';
+ }
// Boilerplate
- factory Setting.fromJson(Map json) => _$SettingFromJson(json);
+ factory SlotEntry.fromJson(Map json) => _$SlotEntryFromJson(json);
- Map toJson() => _$SettingToJson(this);
+ Map toJson() => _$SlotEntryToJson(this);
set exercise(Exercise exercise) {
exerciseObj = exercise;
@@ -107,16 +119,7 @@ class Setting {
repetitionUnitId = repetitionUnit.id;
}
- void setRir(String newRir) {
- if (POSSIBLE_RIR_VALUES.contains(newRir)) {
- rir = newRir;
- } else {
- throw Exception('RiR value not allowed: $newRir');
- }
- }
-
- /// Returns the text representation for a single setting, used in the gym mode
String get singleSettingRepText {
- return repText(reps, repetitionUnitObj, weight, weightUnitObj, rir);
+ return 'DELETE singleSettingRepText!';
}
}
diff --git a/lib/models/workouts/setting.g.dart b/lib/models/workouts/slot_entry.g.dart
similarity index 52%
rename from lib/models/workouts/setting.g.dart
rename to lib/models/workouts/slot_entry.g.dart
index 88b5b16f..48f8456d 100644
--- a/lib/models/workouts/setting.g.dart
+++ b/lib/models/workouts/slot_entry.g.dart
@@ -1,49 +1,59 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
-part of 'setting.dart';
+part of 'slot_entry.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
-Setting _$SettingFromJson(Map json) {
+SlotEntry _$SlotEntryFromJson(Map json) {
$checkKeys(
json,
requiredKeys: const [
'id',
- 'set',
+ 'slot',
'order',
- 'exercise_base',
+ 'type',
+ 'exercise',
'repetition_unit',
+ 'repetition_rounding',
'reps',
'weight',
'weight_unit',
+ 'weight_rounding',
'comment',
- 'rir'
+ 'config'
],
);
- return Setting(
+ return SlotEntry(
id: (json['id'] as num?)?.toInt(),
- setId: (json['set'] as num).toInt(),
+ slotId: (json['slot'] as num).toInt(),
order: (json['order'] as num).toInt(),
- exerciseId: (json['exercise_base'] as num).toInt(),
+ type: json['type'] as String,
+ exerciseId: (json['exercise'] as num).toInt(),
repetitionUnitId: (json['repetition_unit'] as num).toInt(),
+ repetitionRounding: json['repetition_rounding'] as num,
reps: (json['reps'] as num?)?.toInt(),
weightUnitId: (json['weight_unit'] as num).toInt(),
+ weightRounding: json['weight_rounding'] as num,
comment: json['comment'] as String,
- rir: json['rir'] as String?,
- )..weight = stringToNum(json['weight'] as String?);
+ )
+ ..weight = stringToNum(json['weight'] as String?)
+ ..config = json['config'] as Object;
}
-Map _$SettingToJson(Setting instance) => {
+Map _$SlotEntryToJson(SlotEntry instance) => {
'id': instance.id,
- 'set': instance.setId,
+ 'slot': instance.slotId,
'order': instance.order,
- 'exercise_base': instance.exerciseId,
+ 'type': instance.type,
+ 'exercise': instance.exerciseId,
'repetition_unit': instance.repetitionUnitId,
+ 'repetition_rounding': instance.repetitionRounding,
'reps': instance.reps,
'weight': numToString(instance.weight),
'weight_unit': instance.weightUnitId,
+ 'weight_rounding': instance.weightRounding,
'comment': instance.comment,
- 'rir': instance.rir,
+ 'config': instance.config,
};
diff --git a/lib/providers/workout_plans.dart b/lib/providers/workout_plans.dart
index 8e6510a7..747a7f4c 100644
--- a/lib/providers/workout_plans.dart
+++ b/lib/providers/workout_plans.dart
@@ -30,8 +30,8 @@ import 'package:wger/models/workouts/log.dart';
import 'package:wger/models/workouts/repetition_unit.dart';
import 'package:wger/models/workouts/routine.dart';
import 'package:wger/models/workouts/session.dart';
-import 'package:wger/models/workouts/set.dart';
-import 'package:wger/models/workouts/setting.dart';
+import 'package:wger/models/workouts/slot.dart';
+import 'package:wger/models/workouts/slot_entry.dart';
import 'package:wger/models/workouts/weight_unit.dart';
import 'package:wger/providers/base_provider.dart';
import 'package:wger/providers/exercises.dart';
@@ -39,8 +39,8 @@ import 'package:wger/providers/exercises.dart';
class WorkoutPlansProvider with ChangeNotifier {
static const _routinesUrlPath = 'routine';
static const _daysUrlPath = 'day';
- static const _setsUrlPath = 'set';
- static const _settingsUrlPath = 'setting';
+ static const _slotsUrlPath = 'slot';
+ static const _slotEntriesUrlPath = 'slot-entry';
static const _logsUrlPath = 'workoutlog';
static const _sessionUrlPath = 'workoutsession';
static const _weightUnitUrlPath = 'setting-weightunit';
@@ -182,7 +182,7 @@ class WorkoutPlansProvider with ChangeNotifier {
//
// This is a bit ugly, but saves us sending lots of requests later on
final allSettingsData = await baseProvider.fetch(
- baseProvider.makeUrl(_settingsUrlPath, query: {'limit': '1000'}),
+ baseProvider.makeUrl(_slotEntriesUrlPath, query: {'limit': '1000'}),
);
Routine plan;
@@ -201,20 +201,20 @@ class WorkoutPlansProvider with ChangeNotifier {
final day = Day.fromJson(dayEntry);
// Sets
- final List sets = [];
+ final List sets = [];
final setData = await baseProvider.fetch(
- baseProvider.makeUrl(_setsUrlPath, query: {'exerciseday': day.id.toString()}),
+ baseProvider.makeUrl(_slotsUrlPath, query: {'exerciseday': day.id.toString()}),
);
for (final setEntry in setData['results']) {
- final workoutSet = Set.fromJson(setEntry);
+ final workoutSet = Slot.fromJson(setEntry);
fetchComputedSettings(workoutSet); // request!
- final List settings = [];
+ final List settings = [];
final settingData = allSettingsData['results'].where((s) => s['set'] == workoutSet.id);
for (final settingEntry in settingData) {
- final workoutSetting = Setting.fromJson(settingEntry);
+ final workoutSetting = SlotEntry.fromJson(settingEntry);
workoutSetting.exercise = await _exercises.fetchAndSetExercise(workoutSetting.exerciseId);
workoutSetting.weightUnit = _weightUnits.firstWhere(
@@ -223,16 +223,16 @@ class WorkoutPlansProvider with ChangeNotifier {
workoutSetting.repetitionUnit = _repetitionUnit.firstWhere(
(e) => e.id == workoutSetting.repetitionUnitId,
);
- if (!workoutSet.exerciseBasesIds.contains(workoutSetting.exerciseId)) {
+ if (!workoutSet.exercisesIds.contains(workoutSetting.exerciseId)) {
workoutSet.addExerciseBase(workoutSetting.exerciseObj);
}
settings.add(workoutSetting);
}
- workoutSet.settings = settings;
+ workoutSet.entries = settings;
sets.add(workoutSet);
}
- day.sets = sets;
+ day.slots = sets;
days.add(day);
}
plan.days = days;
@@ -369,13 +369,13 @@ class WorkoutPlansProvider with ChangeNotifier {
/*
* Saves a new day instance to the DB and adds it to the given workout
*/
- day.workoutId = workout.id!;
+ day.routineId = workout.id!;
final data = await baseProvider.post(
day.toJson(),
baseProvider.makeUrl(_daysUrlPath),
);
day = Day.fromJson(data);
- day.sets = [];
+ day.slots = [];
workout.days.insert(0, day);
notifyListeners();
return day;
@@ -400,48 +400,48 @@ class WorkoutPlansProvider with ChangeNotifier {
/*
* Sets
*/
- Future addSet(Set workoutSet) async {
+ Future addSet(Slot workoutSet) async {
final data = await baseProvider.post(
workoutSet.toJson(),
- baseProvider.makeUrl(_setsUrlPath),
+ baseProvider.makeUrl(_slotsUrlPath),
);
- final set = Set.fromJson(data);
+ final set = Slot.fromJson(data);
notifyListeners();
return set;
}
- Future editSet(Set workoutSet) async {
+ Future editSet(Slot workoutSet) async {
await baseProvider.patch(
workoutSet.toJson(),
- baseProvider.makeUrl(_setsUrlPath, id: workoutSet.id),
+ baseProvider.makeUrl(_slotsUrlPath, id: workoutSet.id),
);
notifyListeners();
}
- Future> reorderSets(List sets, int startIndex) async {
+ Future> reorderSets(List sets, int startIndex) async {
for (int i = startIndex; i < sets.length; i++) {
sets[i].order = i;
await baseProvider.patch(
sets[i].toJson(),
- baseProvider.makeUrl(_setsUrlPath, id: sets[i].id),
+ baseProvider.makeUrl(_slotsUrlPath, id: sets[i].id),
);
}
notifyListeners();
return sets;
}
- Future fetchComputedSettings(Set workoutSet) async {
+ Future fetchComputedSettings(Slot workoutSet) async {
final data = await baseProvider.fetch(
baseProvider.makeUrl(
- _setsUrlPath,
+ _slotsUrlPath,
id: workoutSet.id,
objectMethod: 'computed_settings',
),
);
- final List settings = [];
+ final List settings = [];
data['results'].forEach((e) {
- final Setting workoutSetting = Setting.fromJson(e);
+ final SlotEntry workoutSetting = SlotEntry.fromJson(e);
workoutSetting.weightUnitObj = _weightUnits.firstWhere(
(unit) => unit.id == workoutSetting.weightUnitId,
@@ -456,10 +456,10 @@ class WorkoutPlansProvider with ChangeNotifier {
notifyListeners();
}
- Future fetchSmartText(Set workoutSet, Translation exercise) async {
+ Future fetchSmartText(Slot workoutSet, Translation exercise) async {
final data = await baseProvider.fetch(
baseProvider.makeUrl(
- _setsUrlPath,
+ _slotsUrlPath,
id: workoutSet.id,
objectMethod: 'smart_text',
query: {'exercise': exercise.id.toString()},
@@ -469,12 +469,12 @@ class WorkoutPlansProvider with ChangeNotifier {
return data['results'];
}
- Future deleteSet(Set workoutSet) async {
- await baseProvider.deleteRequest(_setsUrlPath, workoutSet.id!);
+ Future deleteSet(Slot workoutSet) async {
+ await baseProvider.deleteRequest(_slotsUrlPath, workoutSet.id!);
for (final workout in _workoutPlans) {
for (final day in workout.days) {
- day.sets.removeWhere((element) => element.id == workoutSet.id);
+ day.slots.removeWhere((element) => element.id == workoutSet.id);
}
}
notifyListeners();
@@ -483,12 +483,12 @@ class WorkoutPlansProvider with ChangeNotifier {
/*
* Setting
*/
- Future addSetting(Setting workoutSetting) async {
+ Future addSetting(SlotEntry workoutSetting) async {
final data = await baseProvider.post(
workoutSetting.toJson(),
- baseProvider.makeUrl(_settingsUrlPath),
+ baseProvider.makeUrl(_slotEntriesUrlPath),
);
- final setting = Setting.fromJson(data);
+ final setting = SlotEntry.fromJson(data);
notifyListeners();
return setting;
}
diff --git a/lib/widgets/dashboard/widgets.dart b/lib/widgets/dashboard/widgets.dart
index e5774904..1d020889 100644
--- a/lib/widgets/dashboard/widgets.dart
+++ b/lib/widgets/dashboard/widgets.dart
@@ -394,13 +394,13 @@ class _DashboardWorkoutWidgetState extends State {
children: [
Expanded(
child: Text(
- day.description,
+ day.name,
style: const TextStyle(fontWeight: FontWeight.bold),
overflow: TextOverflow.ellipsis,
),
),
Expanded(
- child: MutedText(day.getDaysText, textAlign: TextAlign.right),
+ child: MutedText(day.description, textAlign: TextAlign.right),
),
IconButton(
icon: const Icon(Icons.play_arrow),
@@ -413,7 +413,7 @@ class _DashboardWorkoutWidgetState extends State {
),
));
- for (final set in day.sets) {
+ for (final set in day.slots) {
out.add(SizedBox(
width: double.infinity,
child: Column(
diff --git a/lib/widgets/workouts/day.dart b/lib/widgets/workouts/day.dart
index 82ab108a..cc9166ae 100644
--- a/lib/widgets/workouts/day.dart
+++ b/lib/widgets/workouts/day.dart
@@ -21,8 +21,8 @@ import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:provider/provider.dart';
import 'package:wger/helpers/consts.dart';
import 'package:wger/models/workouts/day.dart';
-import 'package:wger/models/workouts/set.dart';
-import 'package:wger/models/workouts/setting.dart';
+import 'package:wger/models/workouts/slot.dart';
+import 'package:wger/models/workouts/slot_entry.dart';
import 'package:wger/providers/workout_plans.dart';
import 'package:wger/screens/form_screen.dart';
import 'package:wger/screens/gym_mode.dart';
@@ -32,8 +32,8 @@ import 'package:wger/widgets/exercises/images.dart';
import 'package:wger/widgets/workouts/forms.dart';
class SettingWidget extends StatelessWidget {
- final Set set;
- final Setting setting;
+ final Slot set;
+ final SlotEntry setting;
final bool expanded;
final Function toggle;
@@ -100,12 +100,12 @@ class WorkoutDayWidget extends StatefulWidget {
class _WorkoutDayWidgetState extends State {
bool _editing = false;
- late List _sets;
+ late List _sets;
@override
void initState() {
super.initState();
- _sets = widget._day.sets;
+ _sets = widget._day.slots;
_sets.sort((a, b) => a.order.compareTo(b.order));
}
@@ -115,7 +115,7 @@ class _WorkoutDayWidgetState extends State {
});
}
- Widget getSetRow(Set set, int index) {
+ Widget getSetRow(Slot set, int index) {
return Row(
key: ValueKey(set.id),
crossAxisAlignment: CrossAxisAlignment.center,
@@ -207,7 +207,7 @@ class _WorkoutDayWidgetState extends State {
Provider.of(
context,
listen: false,
- ).findById(widget._day.workoutId),
+ ).findById(widget._day.routineId),
widget._day,
),
hasListView: true,
@@ -250,7 +250,8 @@ class _WorkoutDayWidgetState extends State {
).reorderSets(_sets, startIndex);
},
children: [
- for (var i = 0; i < widget._day.sets.length; i++) getSetRow(widget._day.sets[i], i),
+ for (var i = 0; i < widget._day.slots.length; i++)
+ getSetRow(widget._day.slots[i], i),
],
),
],
@@ -278,11 +279,11 @@ class DayHeader extends StatelessWidget {
return ListTile(
contentPadding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
title: Text(
- _day.description,
+ _day.name,
style: Theme.of(context).textTheme.headlineSmall,
overflow: TextOverflow.ellipsis,
),
- subtitle: Text(_day.getDaysTextTranslated(Localizations.localeOf(context).languageCode)),
+ subtitle: Text(_day.description),
leading: const Icon(Icons.play_arrow),
minLeadingWidth: 8,
trailing: Row(mainAxisSize: MainAxisSize.min, children: [
diff --git a/lib/widgets/workouts/forms.dart b/lib/widgets/workouts/forms.dart
index 21d798ea..7cc56941 100644
--- a/lib/widgets/workouts/forms.dart
+++ b/lib/widgets/workouts/forms.dart
@@ -25,8 +25,8 @@ import 'package:wger/models/exercises/exercise.dart';
import 'package:wger/models/workouts/day.dart';
import 'package:wger/models/workouts/repetition_unit.dart';
import 'package:wger/models/workouts/routine.dart';
-import 'package:wger/models/workouts/set.dart';
-import 'package:wger/models/workouts/setting.dart';
+import 'package:wger/models/workouts/slot.dart';
+import 'package:wger/models/workouts/slot_entry.dart';
import 'package:wger/models/workouts/weight_unit.dart';
import 'package:wger/providers/exercises.dart';
import 'package:wger/providers/workout_plans.dart';
@@ -127,39 +127,6 @@ class WorkoutForm extends StatelessWidget {
}
}
-class DayCheckbox extends StatefulWidget {
- final Day _day;
- final int _dayNr;
-
- const DayCheckbox(this._dayNr, this._day);
-
- @override
- _DayCheckboxState createState() => _DayCheckboxState();
-}
-
-class _DayCheckboxState extends State {
- @override
- Widget build(BuildContext context) {
- return CheckboxListTile(
- key: Key('field-checkbox-${widget._dayNr}'),
- title: Text(widget._day.getDayTranslated(
- widget._dayNr,
- Localizations.localeOf(context).languageCode,
- )),
- value: widget._day.daysOfWeek.contains(widget._dayNr),
- onChanged: (bool? newValue) {
- setState(() {
- if (!newValue!) {
- widget._day.daysOfWeek.remove(widget._dayNr);
- } else {
- widget._day.daysOfWeek.add(widget._dayNr);
- }
- });
- },
- );
- }
-}
-
class DayFormWidget extends StatefulWidget {
final Routine workout;
final dayController = TextEditingController();
@@ -167,7 +134,7 @@ class DayFormWidget extends StatefulWidget {
DayFormWidget(this.workout, [Day? day]) {
_day = day ?? Day();
- _day.workoutId = workout.id!;
+ _day.routineId = workout.id!;
if (_day.id != null) {
dayController.text = day!.description;
}
@@ -204,14 +171,11 @@ class _DayFormWidgetState extends State {
return AppLocalizations.of(context).enterCharacters(minLength, maxLength);
}
- if (widget._day.daysOfWeek.isEmpty) {
- return 'You need to select at least one day';
- }
return null;
},
),
- const SizedBox(height: 10),
- ...Day.weekdays.keys.map((dayNr) => DayCheckbox(dayNr, widget._day)),
+ // const SizedBox(height: 10),
+ // ...Day.weekdays.keys.map((dayNr) => DayCheckbox(dayNr, widget._day)),
ElevatedButton(
key: const Key(SUBMIT_BUTTON_KEY_NAME),
child: Text(AppLocalizations.of(context).save),
@@ -262,10 +226,10 @@ class _DayFormWidgetState extends State {
class SetFormWidget extends StatefulWidget {
final Day _day;
- late final Set _set;
+ late final Slot _set;
- SetFormWidget(this._day, [Set? set]) {
- _set = set ?? Set.withData(day: _day.id, order: _day.sets.length, sets: 4);
+ SetFormWidget(this._day, [Slot? set]) {
+ _set = set ?? Slot.withData(day: _day.id, order: _day.slots.length, sets: 4);
}
@override
@@ -273,7 +237,7 @@ class SetFormWidget extends StatefulWidget {
}
class _SetFormWidgetState extends State {
- double _currentSetSliderValue = Set.DEFAULT_NR_SETS.toDouble();
+ double _currentSetSliderValue = Slot.DEFAULT_NR_SETS.toDouble();
bool _detailed = false;
bool _searchEnglish = true;
@@ -306,19 +270,19 @@ class _SetFormWidgetState extends State {
void addSettings() {
final workoutProvider = context.read();
- widget._set.settings = [];
+ widget._set.entries = [];
int order = 0;
- for (final exercise in widget._set.exerciseBasesObj) {
+ for (final exercise in widget._set.exercisesObj) {
order++;
- for (int loop = 0; loop < widget._set.sets; loop++) {
- final Setting setting = Setting.empty();
- setting.order = order;
- setting.exercise = exercise;
- setting.weightUnit = workoutProvider.defaultWeightUnit;
- setting.repetitionUnit = workoutProvider.defaultRepetitionUnit;
+ // for (int loop = 0; loop < widget._set.sets; loop++) {
+ final SlotEntry setting = SlotEntry.empty();
+ setting.order = order;
+ setting.exercise = exercise;
+ setting.weightUnit = workoutProvider.defaultWeightUnit;
+ setting.repetitionUnit = workoutProvider.defaultRepetitionUnit;
- widget._set.settings.add(setting);
- }
+ widget._set.entries.add(setting);
+ // }
}
}
@@ -343,14 +307,14 @@ class _SetFormWidgetState extends State {
label: _currentSetSliderValue.round().toString(),
onChanged: (double value) {
setState(() {
- widget._set.sets = value.round();
+ // widget._set.sets = value.round();
_currentSetSliderValue = value;
addSettings();
});
},
inactiveColor: Theme.of(context).colorScheme.surface,
),
- if (widget._set.settings.isNotEmpty)
+ if (widget._set.entries.isNotEmpty)
SwitchListTile(
title: Text(AppLocalizations.of(context).setUnitsAndRir),
value: _detailed,
@@ -422,15 +386,15 @@ class _SetFormWidgetState extends State {
),
validator: (value) {
// At least one exercise must be selected
- if (widget._set.exerciseBasesIds.isEmpty) {
+ if (widget._set.exercisesIds.isEmpty) {
return AppLocalizations.of(context).selectExercise;
}
// At least one setting has to be filled in
- if (widget._set.settings
+ if (widget._set.entries
.where((s) => s.weight == null && s.reps == null)
.length ==
- widget._set.settings.length) {
+ widget._set.entries.length) {
return AppLocalizations.of(context).enterRepetitionsOrWeight;
}
return null;
@@ -534,12 +498,12 @@ class _SetFormWidgetState extends State {
},
),
const SizedBox(height: 10),
- ...widget._set.exerciseBasesObj.asMap().entries.map((entry) {
+ ...widget._set.exercisesObj.asMap().entries.map((entry) {
final index = entry.key;
final exercise = entry.value;
- final showSupersetInfo = (index + 1) < widget._set.exerciseBasesObj.length;
+ final showSupersetInfo = (index + 1) < widget._set.exercisesObj.length;
final settings =
- widget._set.settings.where((e) => e.exerciseObj.id == exercise.id).toList();
+ widget._set.entries.where((e) => e.exerciseObj.id == exercise.id).toList();
return Column(
children: [
@@ -580,24 +544,24 @@ class _SetFormWidgetState extends State {
);
// Save set
- final Set setDb = await workoutProvider.addSet(widget._set);
+ final Slot setDb = await workoutProvider.addSet(widget._set);
widget._set.id = setDb.id;
// Remove unused settings
- widget._set.settings.removeWhere((s) => s.weight == null && s.reps == null);
+ widget._set.entries.removeWhere((s) => s.weight == null && s.reps == null);
// Save remaining settings
- for (final setting in widget._set.settings) {
- setting.setId = setDb.id!;
+ for (final setting in widget._set.entries) {
+ setting.slotId = setDb.id!;
setting.comment = '';
- final Setting settingDb = await workoutProvider.addSetting(setting);
+ final SlotEntry settingDb = await workoutProvider.addSetting(setting);
setting.id = settingDb.id;
}
// Add to workout day
workoutProvider.fetchComputedSettings(widget._set);
- widget._day.sets.add(widget._set);
+ widget._day.slots.add(widget._set);
// Close the bottom sheet
if (context.mounted) {
@@ -619,7 +583,7 @@ class ExerciseSetting extends StatelessWidget {
late final int _numberOfSets;
final bool _detailed;
final Function removeExercise;
- final List _settings;
+ final List _settings;
ExerciseSetting(
this._exerciseBase,
@@ -744,7 +708,7 @@ class ExerciseSetting extends StatelessWidget {
class RepsInputWidget extends StatelessWidget {
final _repsController = TextEditingController();
- final Setting _setting;
+ final SlotEntry _setting;
final bool _detailed;
RepsInputWidget(this._setting, this._detailed);
@@ -781,7 +745,7 @@ class RepsInputWidget extends StatelessWidget {
class WeightInputWidget extends StatelessWidget {
final _weightController = TextEditingController();
- final Setting _setting;
+ final SlotEntry _setting;
final bool _detailed;
WeightInputWidget(this._setting, this._detailed);
@@ -827,7 +791,7 @@ class RiRInputWidget extends StatefulWidget {
static const SLIDER_START = -0.5;
RiRInputWidget(this._setting) {
- dropdownValue = _setting.rir ?? Setting.DEFAULT_RIR;
+ dropdownValue = _setting.rir ?? SlotEntry.DEFAULT_RIR;
// Read string RiR into a double
if (_setting.rir != null) {
@@ -877,11 +841,11 @@ class _RiRInputWidgetState extends State {
child: Slider(
value: widget._currentSetSliderValue,
min: RiRInputWidget.SLIDER_START,
- max: (Setting.POSSIBLE_RIR_VALUES.length - 2) / 2,
- divisions: Setting.POSSIBLE_RIR_VALUES.length - 1,
+ max: (SlotEntry.POSSIBLE_RIR_VALUES.length - 2) / 2,
+ divisions: SlotEntry.POSSIBLE_RIR_VALUES.length - 1,
label: getSliderLabel(widget._currentSetSliderValue),
onChanged: (double value) {
- widget._setting.setRir(mapDoubleToAllowedRir(value));
+ // widget._setting.setRir(mapDoubleToAllowedRir(value));
setState(() {
widget._currentSetSliderValue = value;
});
diff --git a/lib/widgets/workouts/gym_mode.dart b/lib/widgets/workouts/gym_mode.dart
index 25a213c5..97414850 100644
--- a/lib/widgets/workouts/gym_mode.dart
+++ b/lib/widgets/workouts/gym_mode.dart
@@ -34,8 +34,8 @@ import 'package:wger/models/workouts/day.dart';
import 'package:wger/models/workouts/log.dart';
import 'package:wger/models/workouts/routine.dart';
import 'package:wger/models/workouts/session.dart';
-import 'package:wger/models/workouts/set.dart';
-import 'package:wger/models/workouts/setting.dart';
+import 'package:wger/models/workouts/slot.dart';
+import 'package:wger/models/workouts/slot_entry.dart';
import 'package:wger/providers/exercises.dart';
import 'package:wger/providers/workout_plans.dart';
import 'package:wger/theme/theme.dart';
@@ -72,7 +72,7 @@ class _GymModeState extends State {
void initState() {
super.initState();
// Calculate amount of elements for progress indicator
- for (final set in widget._workoutDay.sets) {
+ for (final set in widget._workoutDay.slots) {
_totalElements = _totalElements + set.settingsComputed.length;
}
// Calculate the pages for the navigation
@@ -80,7 +80,7 @@ class _GymModeState extends State {
// This duplicates the code below in the getContent method, but it seems to
// be the easiest way
var currentPage = 1;
- for (final set in widget._workoutDay.sets) {
+ for (final set in widget._workoutDay.slots) {
var firstPage = true;
for (final setting in set.settingsComputed) {
final exerciseBase = Provider.of(context, listen: false)
@@ -108,7 +108,7 @@ class _GymModeState extends State {
var currentElement = 1;
final List out = [];
- for (final set in widget._workoutDay.sets) {
+ for (final set in widget._workoutDay.slots) {
var firstPage = true;
for (final setting in set.settingsComputed) {
final ratioCompleted = currentElement / _totalElements;
@@ -129,7 +129,7 @@ class _GymModeState extends State {
setting,
set,
exerciseBase,
- workoutProvider.findById(widget._workoutDay.workoutId),
+ workoutProvider.findById(widget._workoutDay.routineId),
ratioCompleted,
_exercisePages,
));
@@ -150,7 +150,7 @@ class _GymModeState extends State {
...getContent(),
SessionPage(
Provider.of(context, listen: false)
- .findById(widget._workoutDay.workoutId),
+ .findById(widget._workoutDay.routineId),
_controller,
widget._start,
_exercisePages,
@@ -180,7 +180,7 @@ class StartPage extends StatelessWidget {
Expanded(
child: ListView(
children: [
- ..._day.sets.map((set) {
+ ..._day.slots.map((set) {
return Column(
children: [
...set.settingsFiltered.map((s) {
@@ -220,8 +220,8 @@ class StartPage extends StatelessWidget {
class LogPage extends StatefulWidget {
final PageController _controller;
- final Setting _setting;
- final Set _set;
+ final SlotEntry _entry;
+ final Slot _set;
final Exercise _exerciseBase;
final Routine _workoutPlan;
final double _ratioCompleted;
@@ -230,7 +230,7 @@ class LogPage extends StatefulWidget {
LogPage(
this._controller,
- this._setting,
+ this._entry,
this._set,
this._exerciseBase,
this._workoutPlan,
@@ -240,9 +240,9 @@ class LogPage extends StatefulWidget {
_log.date = DateTime.now();
_log.workoutPlan = _workoutPlan.id!;
_log.exerciseBase = _exerciseBase;
- _log.weightUnit = _setting.weightUnitObj;
- _log.repetitionUnit = _setting.repetitionUnitObj;
- _log.rir = _setting.rir;
+ _log.weightUnit = _entry.weightUnitObj;
+ _log.repetitionUnit = _entry.repetitionUnitObj;
+ _log.rir = _entry.rir;
}
@override
@@ -251,7 +251,7 @@ class LogPage extends StatefulWidget {
class _LogPageState extends State {
final _form = GlobalKey();
- String rirValue = Setting.DEFAULT_RIR;
+ String rirValue = SlotEntry.DEFAULT_RIR;
final _repsController = TextEditingController();
final _weightController = TextEditingController();
var _detailed = false;
@@ -265,12 +265,12 @@ class _LogPageState extends State {
focusNode = FocusNode();
- if (widget._setting.reps != null) {
- _repsController.text = widget._setting.reps.toString();
+ if (widget._entry.reps != null) {
+ _repsController.text = widget._entry.reps.toString();
}
- if (widget._setting.weight != null) {
- _weightController.text = widget._setting.weight.toString();
+ if (widget._entry.weight != null) {
+ _weightController.text = widget._entry.weight.toString();
}
}
@@ -618,7 +618,7 @@ class _LogPageState extends State {
),
Center(
child: Text(
- widget._setting.singleSettingRepText,
+ widget._entry.singleSettingRepText,
style: Theme.of(context).textTheme.headlineMedium,
textAlign: TextAlign.center,
),
diff --git a/test/auth/auth_screen_test.mocks.dart b/test/auth/auth_screen_test.mocks.dart
index 3b46b01e..f2c7f3b9 100644
--- a/test/auth/auth_screen_test.mocks.dart
+++ b/test/auth/auth_screen_test.mocks.dart
@@ -34,7 +34,8 @@ class _FakeResponse_0 extends _i1.SmartFake implements _i2.Response {
);
}
-class _FakeStreamedResponse_1 extends _i1.SmartFake implements _i2.StreamedResponse {
+class _FakeStreamedResponse_1 extends _i1.SmartFake
+ implements _i2.StreamedResponse {
_FakeStreamedResponse_1(
Object parent,
Invocation parentInvocation,
@@ -254,12 +255,14 @@ class MockClient extends _i1.Mock implements _i2.Client {
) as _i3.Future<_i6.Uint8List>);
@override
- _i3.Future<_i2.StreamedResponse> send(_i2.BaseRequest? request) => (super.noSuchMethod(
+ _i3.Future<_i2.StreamedResponse> send(_i2.BaseRequest? request) =>
+ (super.noSuchMethod(
Invocation.method(
#send,
[request],
),
- returnValue: _i3.Future<_i2.StreamedResponse>.value(_FakeStreamedResponse_1(
+ returnValue:
+ _i3.Future<_i2.StreamedResponse>.value(_FakeStreamedResponse_1(
this,
Invocation.method(
#send,
diff --git a/test/exercises/contribute_exercise_test.mocks.dart b/test/exercises/contribute_exercise_test.mocks.dart
index 5a02ea6b..6b7eba52 100644
--- a/test/exercises/contribute_exercise_test.mocks.dart
+++ b/test/exercises/contribute_exercise_test.mocks.dart
@@ -34,7 +34,8 @@ import 'package:wger/providers/user.dart' as _i15;
// ignore_for_file: camel_case_types
// ignore_for_file: subtype_of_sealed_class
-class _FakeWgerBaseProvider_0 extends _i1.SmartFake implements _i2.WgerBaseProvider {
+class _FakeWgerBaseProvider_0 extends _i1.SmartFake
+ implements _i2.WgerBaseProvider {
_FakeWgerBaseProvider_0(
Object parent,
Invocation parentInvocation,
@@ -87,7 +88,8 @@ class _FakeAlias_4 extends _i1.SmartFake implements _i6.Alias {
/// A class which mocks [AddExerciseProvider].
///
/// See the documentation for Mockito's code generation for more information.
-class MockAddExerciseProvider extends _i1.Mock implements _i7.AddExerciseProvider {
+class MockAddExerciseProvider extends _i1.Mock
+ implements _i7.AddExerciseProvider {
MockAddExerciseProvider() {
_i1.throwOnMissingStub(this);
}
@@ -376,7 +378,8 @@ class MockAddExerciseProvider extends _i1.Mock implements _i7.AddExerciseProvide
) as _i13.Future);
@override
- _i13.Future<_i4.Translation> addExerciseTranslation(_i4.Translation? exercise) =>
+ _i13.Future<_i4.Translation> addExerciseTranslation(
+ _i4.Translation? exercise) =>
(super.noSuchMethod(
Invocation.method(
#addExerciseTranslation,
diff --git a/test/measurements/measurement_categories_screen_test.mocks.dart b/test/measurements/measurement_categories_screen_test.mocks.dart
index bcda9791..79c88136 100644
--- a/test/measurements/measurement_categories_screen_test.mocks.dart
+++ b/test/measurements/measurement_categories_screen_test.mocks.dart
@@ -25,7 +25,8 @@ import 'package:wger/providers/measurement.dart' as _i4;
// ignore_for_file: camel_case_types
// ignore_for_file: subtype_of_sealed_class
-class _FakeWgerBaseProvider_0 extends _i1.SmartFake implements _i2.WgerBaseProvider {
+class _FakeWgerBaseProvider_0 extends _i1.SmartFake
+ implements _i2.WgerBaseProvider {
_FakeWgerBaseProvider_0(
Object parent,
Invocation parentInvocation,
@@ -35,7 +36,8 @@ class _FakeWgerBaseProvider_0 extends _i1.SmartFake implements _i2.WgerBaseProvi
);
}
-class _FakeMeasurementCategory_1 extends _i1.SmartFake implements _i3.MeasurementCategory {
+class _FakeMeasurementCategory_1 extends _i1.SmartFake
+ implements _i3.MeasurementCategory {
_FakeMeasurementCategory_1(
Object parent,
Invocation parentInvocation,
@@ -48,7 +50,8 @@ class _FakeMeasurementCategory_1 extends _i1.SmartFake implements _i3.Measuremen
/// A class which mocks [MeasurementProvider].
///
/// See the documentation for Mockito's code generation for more information.
-class MockMeasurementProvider extends _i1.Mock implements _i4.MeasurementProvider {
+class MockMeasurementProvider extends _i1.Mock
+ implements _i4.MeasurementProvider {
MockMeasurementProvider() {
_i1.throwOnMissingStub(this);
}
@@ -129,7 +132,8 @@ class MockMeasurementProvider extends _i1.Mock implements _i4.MeasurementProvide
) as _i5.Future);
@override
- _i5.Future addCategory(_i3.MeasurementCategory? category) => (super.noSuchMethod(
+ _i5.Future addCategory(_i3.MeasurementCategory? category) =>
+ (super.noSuchMethod(
Invocation.method(
#addCategory,
[category],
diff --git a/test/nutrition/nutritional_meal_form_test.mocks.dart b/test/nutrition/nutritional_meal_form_test.mocks.dart
index 9ef7dd8a..3df6d7b2 100644
--- a/test/nutrition/nutritional_meal_form_test.mocks.dart
+++ b/test/nutrition/nutritional_meal_form_test.mocks.dart
@@ -29,7 +29,8 @@ import 'package:wger/providers/nutrition.dart' as _i8;
// ignore_for_file: camel_case_types
// ignore_for_file: subtype_of_sealed_class
-class _FakeWgerBaseProvider_0 extends _i1.SmartFake implements _i2.WgerBaseProvider {
+class _FakeWgerBaseProvider_0 extends _i1.SmartFake
+ implements _i2.WgerBaseProvider {
_FakeWgerBaseProvider_0(
Object parent,
Invocation parentInvocation,
@@ -39,7 +40,8 @@ class _FakeWgerBaseProvider_0 extends _i1.SmartFake implements _i2.WgerBaseProvi
);
}
-class _FakeIngredientDatabase_1 extends _i1.SmartFake implements _i3.IngredientDatabase {
+class _FakeIngredientDatabase_1 extends _i1.SmartFake
+ implements _i3.IngredientDatabase {
_FakeIngredientDatabase_1(
Object parent,
Invocation parentInvocation,
@@ -49,7 +51,8 @@ class _FakeIngredientDatabase_1 extends _i1.SmartFake implements _i3.IngredientD
);
}
-class _FakeNutritionalPlan_2 extends _i1.SmartFake implements _i4.NutritionalPlan {
+class _FakeNutritionalPlan_2 extends _i1.SmartFake
+ implements _i4.NutritionalPlan {
_FakeNutritionalPlan_2(
Object parent,
Invocation parentInvocation,
@@ -92,7 +95,8 @@ class _FakeIngredient_5 extends _i1.SmartFake implements _i7.Ingredient {
/// A class which mocks [NutritionPlansProvider].
///
/// See the documentation for Mockito's code generation for more information.
-class MockNutritionPlansProvider extends _i1.Mock implements _i8.NutritionPlansProvider {
+class MockNutritionPlansProvider extends _i1.Mock
+ implements _i8.NutritionPlansProvider {
MockNutritionPlansProvider() {
_i1.throwOnMissingStub(this);
}
@@ -202,12 +206,14 @@ class MockNutritionPlansProvider extends _i1.Mock implements _i8.NutritionPlansP
) as _i9.Future);
@override
- _i9.Future<_i4.NutritionalPlan> fetchAndSetPlanSparse(int? planId) => (super.noSuchMethod(
+ _i9.Future<_i4.NutritionalPlan> fetchAndSetPlanSparse(int? planId) =>
+ (super.noSuchMethod(
Invocation.method(
#fetchAndSetPlanSparse,
[planId],
),
- returnValue: _i9.Future<_i4.NutritionalPlan>.value(_FakeNutritionalPlan_2(
+ returnValue:
+ _i9.Future<_i4.NutritionalPlan>.value(_FakeNutritionalPlan_2(
this,
Invocation.method(
#fetchAndSetPlanSparse,
@@ -217,12 +223,14 @@ class MockNutritionPlansProvider extends _i1.Mock implements _i8.NutritionPlansP
) as _i9.Future<_i4.NutritionalPlan>);
@override
- _i9.Future<_i4.NutritionalPlan> fetchAndSetPlanFull(int? planId) => (super.noSuchMethod(
+ _i9.Future<_i4.NutritionalPlan> fetchAndSetPlanFull(int? planId) =>
+ (super.noSuchMethod(
Invocation.method(
#fetchAndSetPlanFull,
[planId],
),
- returnValue: _i9.Future<_i4.NutritionalPlan>.value(_FakeNutritionalPlan_2(
+ returnValue:
+ _i9.Future<_i4.NutritionalPlan>.value(_FakeNutritionalPlan_2(
this,
Invocation.method(
#fetchAndSetPlanFull,
@@ -232,12 +240,14 @@ class MockNutritionPlansProvider extends _i1.Mock implements _i8.NutritionPlansP
) as _i9.Future<_i4.NutritionalPlan>);
@override
- _i9.Future<_i4.NutritionalPlan> addPlan(_i4.NutritionalPlan? planData) => (super.noSuchMethod(
+ _i9.Future<_i4.NutritionalPlan> addPlan(_i4.NutritionalPlan? planData) =>
+ (super.noSuchMethod(
Invocation.method(
#addPlan,
[planData],
),
- returnValue: _i9.Future<_i4.NutritionalPlan>.value(_FakeNutritionalPlan_2(
+ returnValue:
+ _i9.Future<_i4.NutritionalPlan>.value(_FakeNutritionalPlan_2(
this,
Invocation.method(
#addPlan,
@@ -342,7 +352,8 @@ class MockNutritionPlansProvider extends _i1.Mock implements _i8.NutritionPlansP
) as _i9.Future<_i6.MealItem>);
@override
- _i9.Future deleteMealItem(_i6.MealItem? mealItem) => (super.noSuchMethod(
+ _i9.Future deleteMealItem(_i6.MealItem? mealItem) =>
+ (super.noSuchMethod(
Invocation.method(
#deleteMealItem,
[mealItem],
@@ -412,7 +423,8 @@ class MockNutritionPlansProvider extends _i1.Mock implements _i8.NutritionPlansP
) as _i9.Future>);
@override
- _i9.Future<_i7.Ingredient?> searchIngredientWithCode(String? code) => (super.noSuchMethod(
+ _i9.Future<_i7.Ingredient?> searchIngredientWithCode(String? code) =>
+ (super.noSuchMethod(
Invocation.method(
#searchIngredientWithCode,
[code],
@@ -467,7 +479,8 @@ class MockNutritionPlansProvider extends _i1.Mock implements _i8.NutritionPlansP
) as _i9.Future);
@override
- _i9.Future fetchAndSetLogs(_i4.NutritionalPlan? plan) => (super.noSuchMethod(
+ _i9.Future fetchAndSetLogs(_i4.NutritionalPlan? plan) =>
+ (super.noSuchMethod(
Invocation.method(
#fetchAndSetLogs,
[plan],
diff --git a/test/nutrition/nutritional_plan_form_test.mocks.dart b/test/nutrition/nutritional_plan_form_test.mocks.dart
index 702b49cd..3b48c530 100644
--- a/test/nutrition/nutritional_plan_form_test.mocks.dart
+++ b/test/nutrition/nutritional_plan_form_test.mocks.dart
@@ -29,7 +29,8 @@ import 'package:wger/providers/nutrition.dart' as _i8;
// ignore_for_file: camel_case_types
// ignore_for_file: subtype_of_sealed_class
-class _FakeWgerBaseProvider_0 extends _i1.SmartFake implements _i2.WgerBaseProvider {
+class _FakeWgerBaseProvider_0 extends _i1.SmartFake
+ implements _i2.WgerBaseProvider {
_FakeWgerBaseProvider_0(
Object parent,
Invocation parentInvocation,
@@ -39,7 +40,8 @@ class _FakeWgerBaseProvider_0 extends _i1.SmartFake implements _i2.WgerBaseProvi
);
}
-class _FakeIngredientDatabase_1 extends _i1.SmartFake implements _i3.IngredientDatabase {
+class _FakeIngredientDatabase_1 extends _i1.SmartFake
+ implements _i3.IngredientDatabase {
_FakeIngredientDatabase_1(
Object parent,
Invocation parentInvocation,
@@ -49,7 +51,8 @@ class _FakeIngredientDatabase_1 extends _i1.SmartFake implements _i3.IngredientD
);
}
-class _FakeNutritionalPlan_2 extends _i1.SmartFake implements _i4.NutritionalPlan {
+class _FakeNutritionalPlan_2 extends _i1.SmartFake
+ implements _i4.NutritionalPlan {
_FakeNutritionalPlan_2(
Object parent,
Invocation parentInvocation,
@@ -92,7 +95,8 @@ class _FakeIngredient_5 extends _i1.SmartFake implements _i7.Ingredient {
/// A class which mocks [NutritionPlansProvider].
///
/// See the documentation for Mockito's code generation for more information.
-class MockNutritionPlansProvider extends _i1.Mock implements _i8.NutritionPlansProvider {
+class MockNutritionPlansProvider extends _i1.Mock
+ implements _i8.NutritionPlansProvider {
MockNutritionPlansProvider() {
_i1.throwOnMissingStub(this);
}
@@ -202,12 +206,14 @@ class MockNutritionPlansProvider extends _i1.Mock implements _i8.NutritionPlansP
) as _i9.Future);
@override
- _i9.Future<_i4.NutritionalPlan> fetchAndSetPlanSparse(int? planId) => (super.noSuchMethod(
+ _i9.Future<_i4.NutritionalPlan> fetchAndSetPlanSparse(int? planId) =>
+ (super.noSuchMethod(
Invocation.method(
#fetchAndSetPlanSparse,
[planId],
),
- returnValue: _i9.Future<_i4.NutritionalPlan>.value(_FakeNutritionalPlan_2(
+ returnValue:
+ _i9.Future<_i4.NutritionalPlan>.value(_FakeNutritionalPlan_2(
this,
Invocation.method(
#fetchAndSetPlanSparse,
@@ -217,12 +223,14 @@ class MockNutritionPlansProvider extends _i1.Mock implements _i8.NutritionPlansP
) as _i9.Future<_i4.NutritionalPlan>);
@override
- _i9.Future<_i4.NutritionalPlan> fetchAndSetPlanFull(int? planId) => (super.noSuchMethod(
+ _i9.Future<_i4.NutritionalPlan> fetchAndSetPlanFull(int? planId) =>
+ (super.noSuchMethod(
Invocation.method(
#fetchAndSetPlanFull,
[planId],
),
- returnValue: _i9.Future<_i4.NutritionalPlan>.value(_FakeNutritionalPlan_2(
+ returnValue:
+ _i9.Future<_i4.NutritionalPlan>.value(_FakeNutritionalPlan_2(
this,
Invocation.method(
#fetchAndSetPlanFull,
@@ -232,12 +240,14 @@ class MockNutritionPlansProvider extends _i1.Mock implements _i8.NutritionPlansP
) as _i9.Future<_i4.NutritionalPlan>);
@override
- _i9.Future<_i4.NutritionalPlan> addPlan(_i4.NutritionalPlan? planData) => (super.noSuchMethod(
+ _i9.Future<_i4.NutritionalPlan> addPlan(_i4.NutritionalPlan? planData) =>
+ (super.noSuchMethod(
Invocation.method(
#addPlan,
[planData],
),
- returnValue: _i9.Future<_i4.NutritionalPlan>.value(_FakeNutritionalPlan_2(
+ returnValue:
+ _i9.Future<_i4.NutritionalPlan>.value(_FakeNutritionalPlan_2(
this,
Invocation.method(
#addPlan,
@@ -342,7 +352,8 @@ class MockNutritionPlansProvider extends _i1.Mock implements _i8.NutritionPlansP
) as _i9.Future<_i6.MealItem>);
@override
- _i9.Future deleteMealItem(_i6.MealItem? mealItem) => (super.noSuchMethod(
+ _i9.Future deleteMealItem(_i6.MealItem? mealItem) =>
+ (super.noSuchMethod(
Invocation.method(
#deleteMealItem,
[mealItem],
@@ -412,7 +423,8 @@ class MockNutritionPlansProvider extends _i1.Mock implements _i8.NutritionPlansP
) as _i9.Future>);
@override
- _i9.Future<_i7.Ingredient?> searchIngredientWithCode(String? code) => (super.noSuchMethod(
+ _i9.Future<_i7.Ingredient?> searchIngredientWithCode(String? code) =>
+ (super.noSuchMethod(
Invocation.method(
#searchIngredientWithCode,
[code],
@@ -467,7 +479,8 @@ class MockNutritionPlansProvider extends _i1.Mock implements _i8.NutritionPlansP
) as _i9.Future);
@override
- _i9.Future fetchAndSetLogs(_i4.NutritionalPlan? plan) => (super.noSuchMethod(
+ _i9.Future fetchAndSetLogs(_i4.NutritionalPlan? plan) =>
+ (super.noSuchMethod(
Invocation.method(
#fetchAndSetLogs,
[plan],
diff --git a/test/nutrition/nutritional_plan_screen_test.mocks.dart b/test/nutrition/nutritional_plan_screen_test.mocks.dart
index 1a3aad46..57c8ebeb 100644
--- a/test/nutrition/nutritional_plan_screen_test.mocks.dart
+++ b/test/nutrition/nutritional_plan_screen_test.mocks.dart
@@ -68,7 +68,8 @@ class _FakeResponse_3 extends _i1.SmartFake implements _i3.Response {
);
}
-class _FakeStreamedResponse_4 extends _i1.SmartFake implements _i3.StreamedResponse {
+class _FakeStreamedResponse_4 extends _i1.SmartFake
+ implements _i3.StreamedResponse {
_FakeStreamedResponse_4(
Object parent,
Invocation parentInvocation,
@@ -123,7 +124,8 @@ class MockWgerBaseProvider extends _i1.Mock implements _i4.WgerBaseProvider {
);
@override
- Map getDefaultHeaders({bool? includeAuth = false}) => (super.noSuchMethod(
+ Map getDefaultHeaders({bool? includeAuth = false}) =>
+ (super.noSuchMethod(
Invocation.method(
#getDefaultHeaders,
[],
@@ -169,7 +171,8 @@ class MockWgerBaseProvider extends _i1.Mock implements _i4.WgerBaseProvider {
#fetch,
[uri],
),
- returnValue: _i5.Future