big update
This commit is contained in:
@ -18,11 +18,24 @@ class AppState: ObservableObject {
|
||||
|
||||
@Published var allRoutes: [Route] = []
|
||||
@Published var sightId: Int? = nil
|
||||
@Published var sights: [SightModel] = [] // <- все достопримечательности маршрута
|
||||
@Published var sights: [SightModel] = [] // все достопримечательности маршрута
|
||||
|
||||
@Published var selectedLanguage: String = "ru" {
|
||||
didSet {
|
||||
// если язык поменялся и маршрут уже выбран, перезагружаем достопримечательности
|
||||
if let routeId = selectedRoute?.id {
|
||||
Task {
|
||||
await fetchSights(for: routeId)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// язык с начальным значением "ru"
|
||||
|
||||
// MARK: - Fetch Sights
|
||||
private func fetchSights(for routeId: Int) async {
|
||||
let urlString = "https://white-nights.krbl.ru/services/content/route/\(routeId)/sight"
|
||||
// Добавляем параметр выбранного языка
|
||||
let urlString = "https://white-nights.krbl.ru/services/content/route/\(routeId)/sight?lang=\(selectedLanguage)"
|
||||
guard let url = URL(string: urlString) else { return }
|
||||
|
||||
do {
|
||||
@ -50,7 +63,8 @@ class AppState: ObservableObject {
|
||||
private func preloadThumbnails(for sights: [SightModel]) {
|
||||
let session = URLSession.shared
|
||||
for sight in sights {
|
||||
guard let url = URL(string: "https://white-nights.krbl.ru/services/content/media/\(sight.thumbnail)/download") else { continue }
|
||||
// Миниатюры тоже адаптируем под выбранный язык
|
||||
guard let url = URL(string: "https://white-nights.krbl.ru/services/content/media/\(sight.thumbnail)/download?lang=\(selectedLanguage)") else { continue }
|
||||
let request = URLRequest(url: url)
|
||||
|
||||
// Если уже в кэше, пропускаем
|
||||
|
Reference in New Issue
Block a user