Fix default sort settings not saving

This commit is contained in:
John Wesley 2024-06-10 15:02:43 -04:00
parent c95c52395d
commit e7ce45aff2
3 changed files with 26 additions and 24 deletions

View File

@ -60,8 +60,8 @@ class _FeedScreenState extends State<FeedScreen> {
: PostType.thread;
_sort = widget.source == null
? _mode == PostType.thread
? context.read<SettingsController>().defaultEntriesFeedSort
: context.read<SettingsController>().defaultPostsFeedSort
? context.read<SettingsController>().defaultThreadsFeedSort
: context.read<SettingsController>().defaultMicroblogFeedSort
: context.read<SettingsController>().defaultExploreFeedSort;
}
@ -142,8 +142,10 @@ class _FeedScreenState extends State<FeedScreen> {
? _mode == PostType.thread
? context
.read<SettingsController>()
.defaultEntriesFeedSort
: context.read<SettingsController>().defaultPostsFeedSort
.defaultThreadsFeedSort
: context
.read<SettingsController>()
.defaultMicroblogFeedSort
: context.read<SettingsController>().defaultExploreFeedSort;
});
}

View File

@ -18,9 +18,9 @@ class ActionSettings extends StatelessWidget {
final currentDefaultFeedMode =
feedTypeSelect.getOption(controller.defaultFeedType);
final currentDefaultEntriesFeedSort =
feedSortSelect.getOption(controller.defaultEntriesFeedSort);
feedSortSelect.getOption(controller.defaultThreadsFeedSort);
final currentDefaultPostsFeedSort =
feedSortSelect.getOption(controller.defaultPostsFeedSort);
feedSortSelect.getOption(controller.defaultMicroblogFeedSort);
final currentDefaultExploreFeedSort =
feedSortSelect.getOption(controller.defaultExploreFeedSort);
final currentDefaultCommentSort =
@ -95,7 +95,7 @@ class ActionSettings extends StatelessWidget {
title: const Text('Threads Feed Sort'),
leading: const Icon(Icons.sort),
onTap: () async {
controller.updateDefaultEntriesFeedSort(
controller.updateDefaultThreadsFeedSort(
await feedSortSelect.askSelection(
context,
currentDefaultEntriesFeedSort.value,
@ -116,7 +116,7 @@ class ActionSettings extends StatelessWidget {
leading: const Icon(Icons.sort),
enabled: !isLemmy,
onTap: () async {
controller.updateDefaultPostsFeedSort(
controller.updateDefaultMicroblogFeedSort(
await feedSortSelect.askSelection(
context,
currentDefaultPostsFeedSort.value,

View File

@ -92,10 +92,10 @@ class SettingsController with ChangeNotifier {
late PostType _defaultFeedType;
PostType get defaultFeedType => _defaultFeedType;
late FeedSort _defaultEntriesFeedSort;
FeedSort get defaultEntriesFeedSort => _defaultEntriesFeedSort;
late FeedSort _defaultPostsFeedSort;
FeedSort get defaultPostsFeedSort => _defaultPostsFeedSort;
late FeedSort _defaultThreadsFeedSort;
FeedSort get defaultThreadsFeedSort => _defaultThreadsFeedSort;
late FeedSort _defaultMicroblogFeedSort;
FeedSort get defaultMicroblogFeedSort => _defaultMicroblogFeedSort;
late FeedSort _defaultExploreFeedSort;
FeedSort get defaultExploreFeedSort => _defaultExploreFeedSort;
late CommentSort _defaultCommentSort;
@ -196,15 +196,15 @@ class SettingsController with ChangeNotifier {
PostType.thread,
prefs.getString('defaultFeedType'),
);
_defaultEntriesFeedSort = parseEnum(
_defaultThreadsFeedSort = parseEnum(
FeedSort.values,
FeedSort.hot,
prefs.getString('defaultEntriesFeedSort'),
prefs.getString('defaultThreadsFeedSort'),
);
_defaultPostsFeedSort = parseEnum(
_defaultMicroblogFeedSort = parseEnum(
FeedSort.values,
FeedSort.hot,
prefs.getString('defaultPostsFeedSort'),
prefs.getString('defaultMicroblogFeedSort'),
);
_defaultExploreFeedSort = parseEnum(
FeedSort.values,
@ -322,28 +322,28 @@ class SettingsController with ChangeNotifier {
await prefs.setString('defaultFeedType', newValue.name);
}
Future<void> updateDefaultEntriesFeedSort(FeedSort? newValue) async {
Future<void> updateDefaultThreadsFeedSort(FeedSort? newValue) async {
if (newValue == null) return;
if (newValue == _defaultEntriesFeedSort) return;
if (newValue == _defaultThreadsFeedSort) return;
_defaultEntriesFeedSort = newValue;
_defaultThreadsFeedSort = newValue;
notifyListeners();
final SharedPreferences prefs = await SharedPreferences.getInstance();
await prefs.setString('defaultFeedSortEntries', newValue.name);
await prefs.setString('defaultThreadsFeedSort', newValue.name);
}
Future<void> updateDefaultPostsFeedSort(FeedSort? newValue) async {
Future<void> updateDefaultMicroblogFeedSort(FeedSort? newValue) async {
if (newValue == null) return;
if (newValue == _defaultPostsFeedSort) return;
if (newValue == _defaultMicroblogFeedSort) return;
_defaultPostsFeedSort = newValue;
_defaultMicroblogFeedSort = newValue;
notifyListeners();
final SharedPreferences prefs = await SharedPreferences.getInstance();
await prefs.setString('defaultPostsFeedSort', newValue.name);
await prefs.setString('defaultMicroblogFeedSort', newValue.name);
}
Future<void> updateDefaultExploreFeedSort(