From 167b246f60aff763790cd70be72d7fd35d2d5a01 Mon Sep 17 00:00:00 2001 From: Jackpkn Date: Sun, 19 Jan 2025 23:40:33 +0530 Subject: [PATCH] added setDayId function in gym_state --- lib/providers/gym_state.dart | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/lib/providers/gym_state.dart b/lib/providers/gym_state.dart index 89afa0bb..65a94eed 100644 --- a/lib/providers/gym_state.dart +++ b/lib/providers/gym_state.dart @@ -1,3 +1,4 @@ +import 'package:flutter/cupertino.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:wger/models/exercises/exercise.dart'; @@ -35,40 +36,58 @@ class GymState { dayId: dayId ?? this.dayId, ); } + @override + String toString() { + return 'GymState(currentPage: $currentPage, showExercisePages: $showExercisePages, exercisePages: ${exercisePages.length} exercises, dayId: $dayId)'; + } } class GymStateNotifier extends StateNotifier { final _prefs = SharedPreferences.getInstance(); GymStateNotifier() : super(const GymState()) { + debugPrint('GymStateNotifier: Initializing'); _loadSavedState(); } Future _loadSavedState() async { + debugPrint('GymStateNotifier: Loading saved state'); final SharedPreferences prefs = await _prefs; final int savedPage = prefs.getInt(GYM_PAGE_KEY) ?? 0; + debugPrint('GymStateNotifier: Loaded saved page: $savedPage'); state = state.copyWith(currentPage: savedPage); } Future setCurrentPage(int page) async { + debugPrint('GymStateNotifier: Setting page from ${state.currentPage} to $page'); final SharedPreferences prefs = await _prefs; await prefs.setInt(GYM_PAGE_KEY, page); state = state.copyWith(currentPage: page); + debugPrint('GymStateNotifier: New state - $state'); } void toggleExercisePages() { state = state.copyWith(showExercisePages: !state.showExercisePages); } - + void setDayId(int dayId) { + state = state.copyWith(dayId: dayId); + } void setExercisePages(Map exercisePages) { + debugPrint('GymStateNotifier: Setting exercise pages - ${exercisePages.length} exercises'); state = state.copyWith(exercisePages: exercisePages); + debugPrint('GymStateNotifier: Exercise pages set - ${exercisePages.entries.map((e) => '${e.key.id}: ${e.value}').join(', ')}'); + debugPrint('GymStateNotifier: New state - $state'); } - void clear() { + Future clear() async { + debugPrint('GymStateNotifier: Clearing state'); + final SharedPreferences prefs = await _prefs; + await prefs.remove(GYM_PAGE_KEY); state = state.copyWith( exercisePages: {}, currentPage: 0, dayId: null, ); + debugPrint('GymStateNotifier: State cleared - $state'); } }