44 lines
1.2 KiB
Dart
44 lines
1.2 KiB
Dart
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
import 'business_provider.dart';
|
|
|
|
class BusinessModeNotifier extends Notifier<bool> {
|
|
@override
|
|
bool build() {
|
|
final businessProfile = ref.watch(businessProfileProvider).asData?.value;
|
|
if (businessProfile == null) {
|
|
return false;
|
|
}
|
|
_loadPreference();
|
|
return true;
|
|
}
|
|
|
|
Future<void> _loadPreference() async {
|
|
final businessProfile = ref.read(businessProfileProvider).asData?.value;
|
|
if (businessProfile == null) {
|
|
state = false;
|
|
return;
|
|
}
|
|
final prefs = await SharedPreferences.getInstance();
|
|
final saved = prefs.getBool('is_business_mode');
|
|
if (saved != null) {
|
|
state = saved;
|
|
}
|
|
}
|
|
|
|
Future<void> toggleMode() async {
|
|
final businessProfile = ref.read(businessProfileProvider).asData?.value;
|
|
if (businessProfile == null) {
|
|
state = false;
|
|
return;
|
|
}
|
|
final prefs = await SharedPreferences.getInstance();
|
|
state = !state;
|
|
await prefs.setBool('is_business_mode', state);
|
|
}
|
|
}
|
|
|
|
final businessModeProvider = NotifierProvider<BusinessModeNotifier, bool>(() {
|
|
return BusinessModeNotifier();
|
|
});
|