Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 14 additions & 12 deletions umd-dining-app/ViewModels/HomeViewModel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,20 @@ class HomeViewModel {
}

func loadMenus() async {
// Sync temp filters from saved profile preferences (once per session). Must run before the
// cache check: a launch served from disk returns early below, and syncing on a later load
// would overwrite the filter the user just applied.
if !hasLoadedPrefs {
let prefs = UserPreferences.shared
filterVegetarian = prefs.vegetarian
filterVegan = prefs.vegan
filterHalal = prefs.halal
filterGlutenFree = prefs.glutenFree
filterDairyFree = prefs.dairyFree
filterAllergens = prefs.allergens
hasLoadedPrefs = true
}

// Try disk cache first (instant app launch)
if allItems.isEmpty {
loadFromDisk()
Expand All @@ -245,18 +259,6 @@ class HomeViewModel {
errorMessage = nil
showDiscovery = false

// Sync temp filters from saved profile preferences (once per session)
if !hasLoadedPrefs {
let prefs = UserPreferences.shared
filterVegetarian = prefs.vegetarian
filterVegan = prefs.vegan
filterHalal = prefs.halal
filterGlutenFree = prefs.glutenFree
filterDairyFree = prefs.dairyFree
filterAllergens = prefs.allergens
hasLoadedPrefs = true
}

// Snapshot favorites at load time so feed order stays stable until next refresh
loadedFavRecNums = Set(FavoritesManager.shared.favoriteFoods.keys)
loadedFavStations = FavoritesManager.shared.favoriteStations
Expand Down
Loading