feat: update RecipesViewNotifier and RecipesScreen to use maybeWhen for safer state handling
This commit is contained in:
@@ -17,7 +17,10 @@ class RecipesViewNotifier extends AsyncNotifier<({RecipesViewMode mode, int colu
|
||||
|
||||
Future<void> toggleMode() async {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
final current = state.valueOrNull ?? (mode: RecipesViewMode.grid, columns: 2);
|
||||
final current = state.maybeWhen(
|
||||
data: (v) => v,
|
||||
orElse: () => (mode: RecipesViewMode.grid, columns: 2),
|
||||
);
|
||||
final newMode = current.mode == RecipesViewMode.grid ? RecipesViewMode.list : RecipesViewMode.grid;
|
||||
await prefs.setInt(_modeKey, newMode.index);
|
||||
state = AsyncData((mode: newMode, columns: current.columns));
|
||||
@@ -25,7 +28,10 @@ class RecipesViewNotifier extends AsyncNotifier<({RecipesViewMode mode, int colu
|
||||
|
||||
Future<void> setColumns(int columns) async {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
final current = state.valueOrNull ?? (mode: RecipesViewMode.grid, columns: 2);
|
||||
final current = state.maybeWhen(
|
||||
data: (v) => v,
|
||||
orElse: () => (mode: RecipesViewMode.grid, columns: 2),
|
||||
);
|
||||
await prefs.setInt(_columnsKey, columns);
|
||||
state = AsyncData((mode: current.mode, columns: columns));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user