Files
anyway/frontend/lib/presentation/providers/onboarding_state_provider.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);
}
}