Abschnitt 10

This commit is contained in:
2024-03-12 15:29:57 +01:00
parent e37b77e024
commit eae46d7a80
6 changed files with 44 additions and 42 deletions
+2 -1
View File
@@ -1,6 +1,7 @@
import 'package:flutter_meals/models/meal.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_meals/models/meal.dart';
class FavoriteMealsNotifier extends StateNotifier<List<Meal>> {
FavoriteMealsNotifier() : super([]);
+11 -9
View File
@@ -1,6 +1,7 @@
import 'package:flutter_meals/providers/meals_provider.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_meals/providers/meals_provider.dart';
enum Filter {
glutenFree,
lactoseFree,
@@ -11,17 +12,18 @@ enum Filter {
class FiltersNotifier extends StateNotifier<Map<Filter, bool>> {
FiltersNotifier()
: super({
Filter.glutenFree: false,
Filter.lactoseFree: false,
Filter.vegetarian: false,
Filter.vegan: false
});
Filter.glutenFree: false,
Filter.lactoseFree: false,
Filter.vegetarian: false,
Filter.vegan: false
});
void setFilters(Map<Filter, bool> chosenFilters) {
state = chosenFilters;
}
void setFilter(Filter filter, bool isActive) {
// state[filter] = isActive; // not allowed! => mutating state
state = {
...state,
filter: isActive,
@@ -30,8 +32,8 @@ class FiltersNotifier extends StateNotifier<Map<Filter, bool>> {
}
final filtersProvider =
StateNotifierProvider<FiltersNotifier, Map<Filter, bool>>(
(ref) => FiltersNotifier(),
StateNotifierProvider<FiltersNotifier, Map<Filter, bool>>(
(ref) => FiltersNotifier(),
);
final filteredMealsProvider = Provider((ref) {
@@ -53,4 +55,4 @@ final filteredMealsProvider = Provider((ref) {
}
return true;
}).toList();
});
});
+2 -1
View File
@@ -1,6 +1,7 @@
import 'package:flutter_meals/data/dummy_data.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_meals/data/dummy_data.dart';
final mealsProvider = Provider((ref) {
return dummyMeals;
});