worldhopper/lib/providers/developer_mode_provider.dart

34 lines
1 KiB
Dart

import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:shared_preferences/shared_preferences.dart';
part 'developer_mode_provider.g.dart';
/// Key for storing developer mode preference in SharedPreferences
const String _developerModeKey = 'developer_mode';
/// Provider for developer mode state management
@riverpod
class DeveloperModeNotifier extends _$DeveloperModeNotifier {
@override
bool build() {
_loadDeveloperMode();
return false; // Default value until loaded
}
/// Load developer mode from SharedPreferences
Future<void> _loadDeveloperMode() async {
final prefs = await SharedPreferences.getInstance();
final enabled = prefs.getBool(_developerModeKey);
if (enabled != null) {
state = enabled;
}
}
/// Set developer mode and persist to SharedPreferences
Future<void> setDeveloperMode(bool enabled) async {
state = enabled;
final prefs = await SharedPreferences.getInstance();
await prefs.setBool(_developerModeKey, enabled);
}
}