diff --git a/integration_test/1_dashboard.dart b/integration_test/1_dashboard.dart index e408830c..e369c0ed 100644 --- a/integration_test/1_dashboard.dart +++ b/integration_test/1_dashboard.dart @@ -24,8 +24,7 @@ import '../test_data/routines.dart'; Widget createDashboardScreen({locale = 'en'}) { final mockWorkoutProvider = MockRoutinesProvider(); - when(mockWorkoutProvider.activeRoutine) - .thenReturn(getTestRoutine(exercises: getScreenshotExercises())); + when(mockWorkoutProvider.items).thenReturn([getTestRoutine(exercises: getScreenshotExercises())]); when(mockWorkoutProvider.fetchSessionData()).thenAnswer((a) => Future.value([ WorkoutSession( diff --git a/lib/providers/routines.dart b/lib/providers/routines.dart index a2d9a192..ee22eae9 100644 --- a/lib/providers/routines.dart +++ b/lib/providers/routines.dart @@ -83,6 +83,15 @@ class RoutinesProvider with ChangeNotifier { _repetitionUnits = repetitionUnits ?? []; } + /// Returns the current active nutritional plan. At the moment this is just + /// the latest, but this might change in the future. + Routine? get currentRoutine { + if (_routines.isNotEmpty) { + return _routines.first; + } + return null; + } + List get items { return [..._routines]; } @@ -97,7 +106,6 @@ class RoutinesProvider with ChangeNotifier { /// Clears all lists void clear() { - activeRoutine = null; _routines = []; _weightUnits = []; _repetitionUnits = []; @@ -138,16 +146,6 @@ class RoutinesProvider with ChangeNotifier { return _routines.indexWhere((routine) => routine.id == id); } - /// Sets the current active routine. At the moment this is just the latest, - /// but this might change in the future. - void setActiveRoutine() { - if (_routines.isNotEmpty) { - activeRoutine = _routines.first; - } else { - activeRoutine = null; - } - } - /* * Routines */ @@ -165,7 +163,6 @@ class RoutinesProvider with ChangeNotifier { await fetchAndSetRoutineFull(entry['id']); } - setActiveRoutine(); notifyListeners(); } @@ -181,7 +178,6 @@ class RoutinesProvider with ChangeNotifier { _routines.add(plan); } - setActiveRoutine(); notifyListeners(); } @@ -220,7 +216,6 @@ class RoutinesProvider with ChangeNotifier { _routines.add(routine); _routines.sort((a, b) => b.created.compareTo(a.created)); - setActiveRoutine(); notifyListeners(); return routine; } @@ -338,7 +333,6 @@ class RoutinesProvider with ChangeNotifier { _routines.add(routine); } - setActiveRoutine(); notifyListeners(); return routine; } diff --git a/lib/screens/home_tabs_screen.dart b/lib/screens/home_tabs_screen.dart index 3fea4cee..299aeada 100644 --- a/lib/screens/home_tabs_screen.dart +++ b/lib/screens/home_tabs_screen.dart @@ -116,8 +116,8 @@ class _HomeTabsScreenState extends State with SingleTickerProvid // Current routine widget._logger.info('Loading current routine'); - if (routinesProvider.activeRoutine != null) { - final planId = routinesProvider.activeRoutine!.id!; + if (routinesProvider.currentRoutine != null) { + final planId = routinesProvider.currentRoutine!.id!; await routinesProvider.fetchAndSetRoutineFull(planId); } } diff --git a/lib/widgets/dashboard/widgets/routines.dart b/lib/widgets/dashboard/widgets/routines.dart index ae4c06e2..66392c68 100644 --- a/lib/widgets/dashboard/widgets/routines.dart +++ b/lib/widgets/dashboard/widgets/routines.dart @@ -44,7 +44,7 @@ class _DashboardRoutineWidgetState extends State { @override Widget build(BuildContext context) { - final routine = context.watch().activeRoutine; + final routine = context.watch().currentRoutine; _hasContent = routine != null; final dateFormat = DateFormat.yMd(Localizations.localeOf(context).languageCode); diff --git a/lib/widgets/routines/routines_list.dart b/lib/widgets/routines/routines_list.dart index 2932e285..618f9a85 100644 --- a/lib/widgets/routines/routines_list.dart +++ b/lib/widgets/routines/routines_list.dart @@ -53,8 +53,6 @@ class _RoutinesListState extends State { return Card( child: ListTile( onTap: () async { - widget._routineProvider.activeRoutine = currentRoutine; - setState(() { _loadingRoutine = currentRoutine.id; }); diff --git a/pubspec.lock b/pubspec.lock index f3612baa..551d71e4 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1554,5 +1554,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.8.0 <4.0.0" + dart: ">=3.9.0 <4.0.0" flutter: ">=3.35.0" diff --git a/test/routine/day_form_test.mocks.dart b/test/routine/day_form_test.mocks.dart index 45d67cb1..533407f7 100644 --- a/test/routine/day_form_test.mocks.dart +++ b/test/routine/day_form_test.mocks.dart @@ -294,15 +294,6 @@ class MockRoutinesProvider extends _i1.Mock implements _i12.RoutinesProvider { returnValue: 0, ) as int); - @override - void setActiveRoutine() => super.noSuchMethod( - Invocation.method( - #setActiveRoutine, - [], - ), - returnValueForMissingStub: null, - ); - @override _i13.Future fetchAndSetAllRoutinesFull() => (super.noSuchMethod( Invocation.method( diff --git a/test/routine/forms/session_form_test.mocks.dart b/test/routine/forms/session_form_test.mocks.dart index 68bc92d3..141e88f8 100644 --- a/test/routine/forms/session_form_test.mocks.dart +++ b/test/routine/forms/session_form_test.mocks.dart @@ -294,15 +294,6 @@ class MockRoutinesProvider extends _i1.Mock implements _i12.RoutinesProvider { returnValue: 0, ) as int); - @override - void setActiveRoutine() => super.noSuchMethod( - Invocation.method( - #setActiveRoutine, - [], - ), - returnValueForMissingStub: null, - ); - @override _i13.Future fetchAndSetAllRoutinesFull() => (super.noSuchMethod( Invocation.method( diff --git a/test/routine/gym_mode_session_screen_test.mocks.dart b/test/routine/gym_mode_session_screen_test.mocks.dart index d45aabfb..5bb488b7 100644 --- a/test/routine/gym_mode_session_screen_test.mocks.dart +++ b/test/routine/gym_mode_session_screen_test.mocks.dart @@ -294,15 +294,6 @@ class MockRoutinesProvider extends _i1.Mock implements _i12.RoutinesProvider { returnValue: 0, ) as int); - @override - void setActiveRoutine() => super.noSuchMethod( - Invocation.method( - #setActiveRoutine, - [], - ), - returnValueForMissingStub: null, - ); - @override _i13.Future fetchAndSetAllRoutinesFull() => (super.noSuchMethod( Invocation.method( diff --git a/test/routine/repetition_unit_form_widget_test.mocks.dart b/test/routine/repetition_unit_form_widget_test.mocks.dart index 539db43d..ae386b9e 100644 --- a/test/routine/repetition_unit_form_widget_test.mocks.dart +++ b/test/routine/repetition_unit_form_widget_test.mocks.dart @@ -294,15 +294,6 @@ class MockRoutinesProvider extends _i1.Mock implements _i12.RoutinesProvider { returnValue: 0, ) as int); - @override - void setActiveRoutine() => super.noSuchMethod( - Invocation.method( - #setActiveRoutine, - [], - ), - returnValueForMissingStub: null, - ); - @override _i13.Future fetchAndSetAllRoutinesFull() => (super.noSuchMethod( Invocation.method( diff --git a/test/routine/routine_edit_screen_test.mocks.dart b/test/routine/routine_edit_screen_test.mocks.dart index ce8ce0d6..ee06b9cb 100644 --- a/test/routine/routine_edit_screen_test.mocks.dart +++ b/test/routine/routine_edit_screen_test.mocks.dart @@ -294,15 +294,6 @@ class MockRoutinesProvider extends _i1.Mock implements _i12.RoutinesProvider { returnValue: 0, ) as int); - @override - void setActiveRoutine() => super.noSuchMethod( - Invocation.method( - #setActiveRoutine, - [], - ), - returnValueForMissingStub: null, - ); - @override _i13.Future fetchAndSetAllRoutinesFull() => (super.noSuchMethod( Invocation.method( diff --git a/test/routine/routine_edit_test.mocks.dart b/test/routine/routine_edit_test.mocks.dart index 78ce146e..e607298d 100644 --- a/test/routine/routine_edit_test.mocks.dart +++ b/test/routine/routine_edit_test.mocks.dart @@ -294,15 +294,6 @@ class MockRoutinesProvider extends _i1.Mock implements _i12.RoutinesProvider { returnValue: 0, ) as int); - @override - void setActiveRoutine() => super.noSuchMethod( - Invocation.method( - #setActiveRoutine, - [], - ), - returnValueForMissingStub: null, - ); - @override _i13.Future fetchAndSetAllRoutinesFull() => (super.noSuchMethod( Invocation.method( diff --git a/test/routine/routine_form_test.mocks.dart b/test/routine/routine_form_test.mocks.dart index 48438fa8..ab5629f7 100644 --- a/test/routine/routine_form_test.mocks.dart +++ b/test/routine/routine_form_test.mocks.dart @@ -294,15 +294,6 @@ class MockRoutinesProvider extends _i1.Mock implements _i12.RoutinesProvider { returnValue: 0, ) as int); - @override - void setActiveRoutine() => super.noSuchMethod( - Invocation.method( - #setActiveRoutine, - [], - ), - returnValueForMissingStub: null, - ); - @override _i13.Future fetchAndSetAllRoutinesFull() => (super.noSuchMethod( Invocation.method( diff --git a/test/routine/routine_logs_screen_test.mocks.dart b/test/routine/routine_logs_screen_test.mocks.dart index 23e1a83a..e1df625d 100644 --- a/test/routine/routine_logs_screen_test.mocks.dart +++ b/test/routine/routine_logs_screen_test.mocks.dart @@ -294,15 +294,6 @@ class MockRoutinesProvider extends _i1.Mock implements _i12.RoutinesProvider { returnValue: 0, ) as int); - @override - void setActiveRoutine() => super.noSuchMethod( - Invocation.method( - #setActiveRoutine, - [], - ), - returnValueForMissingStub: null, - ); - @override _i13.Future fetchAndSetAllRoutinesFull() => (super.noSuchMethod( Invocation.method( diff --git a/test/routine/slot_entry_form_test.mocks.dart b/test/routine/slot_entry_form_test.mocks.dart index 5a00cd20..3ed76010 100644 --- a/test/routine/slot_entry_form_test.mocks.dart +++ b/test/routine/slot_entry_form_test.mocks.dart @@ -294,15 +294,6 @@ class MockRoutinesProvider extends _i1.Mock implements _i12.RoutinesProvider { returnValue: 0, ) as int); - @override - void setActiveRoutine() => super.noSuchMethod( - Invocation.method( - #setActiveRoutine, - [], - ), - returnValueForMissingStub: null, - ); - @override _i13.Future fetchAndSetAllRoutinesFull() => (super.noSuchMethod( Invocation.method( diff --git a/test/routine/weight_unit_form_widget_test.mocks.dart b/test/routine/weight_unit_form_widget_test.mocks.dart index daf91fde..b76ec9ab 100644 --- a/test/routine/weight_unit_form_widget_test.mocks.dart +++ b/test/routine/weight_unit_form_widget_test.mocks.dart @@ -294,15 +294,6 @@ class MockRoutinesProvider extends _i1.Mock implements _i12.RoutinesProvider { returnValue: 0, ) as int); - @override - void setActiveRoutine() => super.noSuchMethod( - Invocation.method( - #setActiveRoutine, - [], - ), - returnValueForMissingStub: null, - ); - @override _i13.Future fetchAndSetAllRoutinesFull() => (super.noSuchMethod( Invocation.method(