29 lines
751 B
Dart
29 lines
751 B
Dart
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import '../../data/repositories/setup_repository.dart';
|
|
|
|
final setupRepositoryProvider = Provider((ref) => SetupRepository());
|
|
|
|
final deviceRoleProvider = NotifierProvider<DeviceRoleNotifier, DeviceRole>(() {
|
|
return DeviceRoleNotifier();
|
|
});
|
|
|
|
class DeviceRoleNotifier extends Notifier<DeviceRole> {
|
|
@override
|
|
DeviceRole build() {
|
|
_loadRole();
|
|
return DeviceRole.unknown;
|
|
}
|
|
|
|
Future<void> _loadRole() async {
|
|
final repository = ref.read(setupRepositoryProvider);
|
|
state = await repository.getRole();
|
|
}
|
|
|
|
Future<void> setRole(DeviceRole role) async {
|
|
final repository = ref.read(setupRepositoryProvider);
|
|
await repository.setRole(role);
|
|
state = role;
|
|
}
|
|
}
|
|
|