Fladder/lib/providers/settings/home_settings_provider.dart
PartyDonut 8012fdcea8
feature: Rework responsive layout (#217)
Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
2025-02-07 15:55:01 +01:00

26 lines
911 B
Dart

import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:fladder/models/settings/home_settings_model.dart';
import 'package:fladder/providers/shared_provider.dart';
final homeSettingsProvider = StateNotifierProvider<HomeSettingsNotifier, HomeSettingsModel>((ref) {
return HomeSettingsNotifier(ref);
});
class HomeSettingsNotifier extends StateNotifier<HomeSettingsModel> {
HomeSettingsNotifier(this.ref) : super(HomeSettingsModel());
final Ref ref;
@override
set state(HomeSettingsModel value) {
super.state = value;
ref.read(sharedUtilityProvider).homeSettings = value;
}
HomeSettingsModel update(HomeSettingsModel Function(HomeSettingsModel currentState) value) => state = value(state);
void setLayoutModes(Set<LayoutMode> set) => state = state.copyWith(screenLayouts: set);
void setViewSize(Set<ViewSize> set) => state = state.copyWith(layoutStates: set);
}