cb_prestige_qr/lib/features/auth/presentation/providers/fingerprint_provider.dart
2026-04-22 14:07:53 +06:30

33 lines
914 B
Dart

import 'package:cb_prestige_qr/core/storage/local_storage_service.dart';
import 'package:cb_prestige_qr/features/auth/data/fingerprint_repository.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:hooks_riverpod/legacy.dart';
final storageProvider = Provider((ref) => LocalStorageService());
final fingerprintRepoProvider = Provider((ref) {
return FingerprintRepository(ref.read(storageProvider));
});
final fingerprintProvider =
StateNotifierProvider<FingerprintNotifier, bool>((ref) {
return FingerprintNotifier(ref.read(fingerprintRepoProvider));
});
class FingerprintNotifier extends StateNotifier<bool> {
final FingerprintRepository repo;
FingerprintNotifier(this.repo) : super(false) {
_init();
}
Future<void> _init() async {
state = await repo.load();
}
Future<void> toggle(bool value) async {
state = value;
await repo.save(value);
}
}