25 lines
759 B
Dart
25 lines
759 B
Dart
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
final onboardingStateProvider = FutureProvider<bool>((ref) async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
return prefs.getBool('onboardingCompleted') ?? false;
|
|
});
|
|
|
|
|
|
final onboardingControllerProvider = Provider<OnboardingController>((ref) {
|
|
return OnboardingController(ref);
|
|
});
|
|
|
|
class OnboardingController {
|
|
final Ref ref;
|
|
OnboardingController(this.ref);
|
|
|
|
Future<void> setOnboarded(bool value) async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
await prefs.setBool('onboardingCompleted', value);
|
|
// refresh the read provider so UI updates
|
|
ref.invalidate(onboardingStateProvider);
|
|
}
|
|
}
|