Fix default langauge for library filtering

This commit is contained in:
Balazs Perlaki-Horvath 2024-02-15 22:42:22 +01:00 committed by BPH
parent a627fdf649
commit 97a6e599ef

View File

@ -56,10 +56,19 @@ public class LibraryViewModel: ObservableObject {
Defaults[.libraryLastRefresh] = Date()
// populate library language code if there isn't one set already
if Defaults[.libraryLanguageCodes].isEmpty, let currentLanguageCode = Locale.current.languageCode {
Defaults[.libraryLanguageCodes] = [currentLanguageCode]
let currentLanguageCode: String?
if #available(iOS 16, *) {
currentLanguageCode = Locale.current.language.languageCode?.identifier(.alpha3)
} else {
// Locale.current.languageCode is returning a 2 char lang code, eg: "en"
// we want a 3 char value, eg: "eng", otherwise we filter out every results
// and end up with an empty list in the categories
currentLanguageCode = "eng"
}
if Defaults[.libraryLanguageCodes].isEmpty,
let currentLanguageCode {
Defaults[.libraryLanguageCodes] = [currentLanguageCode]
}
// reset error
error = nil