import "package:flutter_riverpod/flutter_riverpod.dart"; import "package:nexus/controllers/shared_prefs.dart"; class KeyController(final String key) extends AsyncNotifier { static const String spaceKey = "space"; static const String roomKey = "room"; static const String pushKeyKey = "pushKey"; @override Future build() => ref.watch(SharedPrefsController.provider).getString(key); Future set(String? value) async { final prefs = ref.watch(SharedPrefsController.provider); state = .data(value); if (value == null) { await prefs.remove(key); } else { await prefs.setString(key, value); } } static final provider = AsyncNotifierProvider.family( KeyController.new, ); }