This repository has been archived on 2026-06-02. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
FabledApp/lib/providers/capture_queue_provider.dart
T
bvandeusen a687e3637f feat: upgrade Riverpod 3, go_router 17, google_fonts 8, package_info_plus 9
Migrate StateNotifierProvider/StateNotifier → NotifierProvider/Notifier,
StateProvider → NotifierProvider with simple notifier, FamilyAsyncNotifier
removed in Riverpod 3 (replaced with constructor-arg pattern), and rename
.valueOrNull → .value throughout all providers and screens.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 06:21:17 -04:00

34 lines
919 B
Dart

import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'settings_provider.dart';
final captureQueueProvider =
NotifierProvider<CaptureQueueNotifier, List<String>>(
CaptureQueueNotifier.new,
);
class CaptureQueueNotifier extends Notifier<List<String>> {
static const _key = 'capture_queue';
SharedPreferences get _prefs => ref.read(sharedPreferencesProvider);
@override
List<String> build() {
final prefs = ref.watch(sharedPreferencesProvider);
return prefs.getStringList(_key) ?? [];
}
Future<void> enqueue(String text) async {
final updated = [...state, text];
await _prefs.setStringList(_key, updated);
state = updated;
}
Future<void> dequeue(String text) async {
final updated = List<String>.from(state)..remove(text);
await _prefs.setStringList(_key, updated);
state = updated;
}
}