import 'package:shared_preferences/shared_preferences.dart'; import '../library/song_sort.dart'; /// Sortier-Wahl einer Liederliste: Kriterium + Richtung. class SortSetting { const SortSetting(this.mode, {required this.ascending}); final SortMode mode; final bool ascending; } /// Merkt sich die Sortier-Wahl pro Liste ([key] z. B. 'meine_musik'), /// damit sie einen App-Neustart überlebt. class SortStore { static const meineMusik = 'meine_musik'; static const favoriten = 'favoriten'; static const _standard = SortSetting(SortMode.dateAdded, ascending: false); static Future load(String key) async { final prefs = await SharedPreferences.getInstance(); final index = prefs.getInt('sort_${key}_mode'); if (index == null || index < 0 || index >= SortMode.values.length) { return _standard; } final mode = SortMode.values[index]; return SortSetting( mode, ascending: prefs.getBool('sort_${key}_asc') ?? defaultAscending(mode), ); } static Future save(String key, SortSetting setting) async { final prefs = await SharedPreferences.getInstance(); await prefs.setInt('sort_${key}_mode', setting.mode.index); await prefs.setBool('sort_${key}_asc', setting.ascending); } }