feat: initialize new Flutter project with core feature structure and cross-platform configuration
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user