diff --git a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewIOS.swift b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewIOS.swift index 981f96e58..89704d246 100644 --- a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewIOS.swift +++ b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewIOS.swift @@ -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) diff --git a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewModel.swift b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewModel.swift index 2c03d01af..425b5465f 100644 --- a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewModel.swift +++ b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewModel.swift @@ -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(