Files
recipe-app/flutter/lib/features/recipes/data/recipes_grid_provider.dart
T

22 lines
676 B
Dart

import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:shared_preferences/shared_preferences.dart';
const _prefsKey = 'recipes_grid_columns';
class RecipesGridNotifier extends AsyncNotifier<int> {
@override
Future<int> build() async {
final prefs = await SharedPreferences.getInstance();
return prefs.getInt(_prefsKey) ?? 2;
}
Future<void> setColumns(int columns) async {
final prefs = await SharedPreferences.getInstance();
await prefs.setInt(_prefsKey, columns);
state = AsyncData(columns);
}
}
final recipesGridProvider =
AsyncNotifierProvider<RecipesGridNotifier, int>(RecipesGridNotifier.new);