Files
fastwatcher/lib/features/setup/presentation/providers/setup_providers.dart
T

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;
}
}