mirror of
https://github.com/wger-project/flutter.git
synced 2026-02-18 00:17:48 +01:00
Repetitions are not integers anymore
This commit is contained in:
@@ -24,7 +24,7 @@ import 'package:wger/models/workouts/weight_unit.dart';
|
||||
|
||||
/// Returns the text representation for a single setting, used in the gym mode
|
||||
String repText(
|
||||
int? reps,
|
||||
num? reps,
|
||||
RepetitionUnit repetitionUnitObj,
|
||||
num? weight,
|
||||
WeightUnit weightUnitObj,
|
||||
|
||||
@@ -45,11 +45,11 @@ class Log {
|
||||
@JsonKey(required: false, name: 'rir_target')
|
||||
String? rirTarget;
|
||||
|
||||
@JsonKey(required: true, name: 'repetitions')
|
||||
late int repetitions;
|
||||
@JsonKey(required: true, fromJson: stringToNum, name: 'repetitions')
|
||||
late num? repetitions;
|
||||
|
||||
@JsonKey(required: true, name: 'repetitions_target')
|
||||
late int? repetitionsTarget;
|
||||
@JsonKey(required: true, fromJson: stringToNum, name: 'repetitions_target')
|
||||
late num? repetitionsTarget;
|
||||
|
||||
@JsonKey(required: true, name: 'repetitions_unit')
|
||||
late int repetitionsUnitId;
|
||||
|
||||
@@ -26,8 +26,8 @@ Log _$LogFromJson(Map<String, dynamic> json) {
|
||||
id: (json['id'] as num?)?.toInt(),
|
||||
exerciseId: (json['exercise'] as num).toInt(),
|
||||
routineId: (json['routine'] as num).toInt(),
|
||||
repetitions: (json['repetitions'] as num).toInt(),
|
||||
repetitionsTarget: (json['repetitions_target'] as num?)?.toInt(),
|
||||
repetitions: stringToNum(json['repetitions'] as String?),
|
||||
repetitionsTarget: stringToNum(json['repetitions_target'] as String?),
|
||||
repetitionsUnitId: (json['repetitions_unit'] as num).toInt(),
|
||||
rir: json['rir'] as String?,
|
||||
rirTarget: json['rir_target'] as String?,
|
||||
|
||||
@@ -4,7 +4,8 @@ import 'package:wger/models/exercises/exercise.dart';
|
||||
|
||||
const GYM_PAGE_KEY = 'gym_current_page';
|
||||
|
||||
final StateNotifierProvider<GymStateNotifier, GymState> gymStateProvider = StateNotifierProvider<GymStateNotifier, GymState>((ref) {
|
||||
final StateNotifierProvider<GymStateNotifier, GymState> gymStateProvider =
|
||||
StateNotifierProvider<GymStateNotifier, GymState>((ref) {
|
||||
return GymStateNotifier();
|
||||
});
|
||||
|
||||
@@ -41,7 +42,7 @@ class GymStateNotifier extends StateNotifier<GymState> {
|
||||
|
||||
Future<void> _loadSavedState() async {
|
||||
final SharedPreferences prefs = await _prefs;
|
||||
final int savedPage = prefs.getInt(GYM_PAGE_KEY) ?? 0;
|
||||
final int savedPage = prefs.getInt(GYM_PAGE_KEY) ?? 0;
|
||||
state = state.copyWith(currentPage: savedPage);
|
||||
}
|
||||
|
||||
@@ -54,7 +55,8 @@ class GymStateNotifier extends StateNotifier<GymState> {
|
||||
void toggleExercisePages() {
|
||||
state = state.copyWith(showExercisePages: !state.showExercisePages);
|
||||
}
|
||||
|
||||
void setExercisePages(Map<Exercise, int> exercisePages) {
|
||||
state = state.copyWith(exercisePages: exercisePages);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
import 'package:flutter_html/flutter_html.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:provider/provider.dart'as provider;
|
||||
import 'package:provider/provider.dart' as provider;
|
||||
import 'package:wger/exceptions/http_exception.dart';
|
||||
import 'package:wger/helpers/consts.dart';
|
||||
import 'package:wger/helpers/gym_mode.dart';
|
||||
@@ -61,7 +61,6 @@ class GymMode extends ConsumerStatefulWidget {
|
||||
ConsumerState<GymMode> createState() => _GymModeState();
|
||||
}
|
||||
|
||||
|
||||
class _GymModeState extends ConsumerState<GymMode> {
|
||||
var _totalElements = 1;
|
||||
|
||||
@@ -73,7 +72,6 @@ class _GymModeState extends ConsumerState<GymMode> {
|
||||
void dispose() {
|
||||
_controller.dispose();
|
||||
super.dispose();
|
||||
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -83,6 +81,7 @@ class _GymModeState extends ConsumerState<GymMode> {
|
||||
_controller = PageController(initialPage: initialPage);
|
||||
Future.microtask(() => _calculatePages());
|
||||
}
|
||||
|
||||
void _calculatePages() {
|
||||
for (final slot in widget._dayDataGym.slots) {
|
||||
_totalElements += slot.setConfigs.length;
|
||||
@@ -148,6 +147,7 @@ class _GymModeState extends ConsumerState<GymMode> {
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return PageView(
|
||||
|
||||
26
pubspec.lock
26
pubspec.lock
@@ -501,6 +501,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.23"
|
||||
flutter_riverpod:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_riverpod
|
||||
sha256: "9532ee6db4a943a1ed8383072a2e3eeda041db5657cdf6d2acecf3c21ecbe7e1"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.6.1"
|
||||
flutter_staggered_grid_view:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -1121,6 +1129,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.4.15"
|
||||
riverpod:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: riverpod
|
||||
sha256: "59062512288d3056b2321804332a13ffdd1bf16df70dcc8e506e411280a72959"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.6.1"
|
||||
shared_preferences:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -1262,6 +1278,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.12.0"
|
||||
state_notifier:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: state_notifier
|
||||
sha256: b8677376aa54f2d7c58280d5a007f9e8774f1968d1fb1c096adcb4792fba29bb
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.0.0"
|
||||
stream_channel:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1568,4 +1592,4 @@ packages:
|
||||
version: "3.1.2"
|
||||
sdks:
|
||||
dart: ">=3.6.0 <4.0.0"
|
||||
flutter: ">=3.24.0"
|
||||
flutter: ">=3.27.0"
|
||||
|
||||
Reference in New Issue
Block a user