set a default filter on load

This commit is contained in:
Jackson Harper 2023-12-27 17:52:14 +08:00
parent 88493f8bd2
commit e746952f65
2 changed files with 16 additions and 0 deletions

View file

@ -294,6 +294,9 @@ struct AnimatingCellHeight: AnimatableModifier {
}
.task {
await viewModel.loadFilters(dataService: dataService)
if viewModel.appliedFilter == nil {
viewModel.setDefaultFilter()
}
}
.environment(\.editMode, self.$isEditMode)
.navigationBarTitleDisplayMode(.inline)

View file

@ -168,6 +168,19 @@ import Views
}
}
func setDefaultFilter() {
let availableFolders = folderConfigs.keys
let appliedFilterName = UserDefaults.standard.string(forKey: filterKey)
if let newFilter = filters.first(where: { $0.name.lowercased() == appliedFilterName }), newFilter.id != appliedFilter?.id {
appliedFilter = newFilter
return
}
if let defaultFilter = filters.first(where: { availableFolders.contains($0.folder) }) {
appliedFilter = defaultFilter
}
}
func loadNewItems(dataService: DataService) async {
if let filterState = filterState {
await fetcher.loadNewItems(