34 lines
1 KiB
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);
|
|
}
|
|
}
|