big update

This commit is contained in:
15lu.akari
2025-08-26 23:37:39 +03:00
parent 6b88875bee
commit a87a3d12ab
34 changed files with 803 additions and 282 deletions

View File

@ -2,6 +2,7 @@ import SwiftUI
struct RouteSelectionView: View {
@EnvironmentObject var appState: AppState
@Environment(\.dismiss) private var dismiss
@State private var routes: [Route] = []
@State private var isLoading = true
@ -9,12 +10,17 @@ struct RouteSelectionView: View {
var body: some View {
VStack {
if isLoading {
ProgressView("Загрузка маршрутов...")
.padding()
ProgressView(
appState.selectedLanguage == "ru" ? "Загрузка маршрутов..." :
appState.selectedLanguage == "zh" ? "正在加载路线..." :
"Loading routes..."
)
.padding()
} else {
List(routes, id: \.id) { route in
Button(action: {
appState.selectedRoute = route
dismiss()
}) {
HStack {
Text("\(route.routeNumber)")
@ -26,15 +32,21 @@ struct RouteSelectionView: View {
.listStyle(PlainListStyle())
}
}
.navigationTitle("Выберите маршрут")
.navigationTitle(
appState.selectedLanguage == "ru" ? "Выберите маршрут" :
appState.selectedLanguage == "zh" ? "选择路线" :
"Select route"
)
.onAppear {
Task {
await fetchRoutes()
}
}
.onChange(of: appState.selectedLanguage) { _ in
// просто перерисовываем view, navigationTitle автоматически обновится
}
}
// MARK: - Fetch Routes
private func fetchRoutes() async {
isLoading = true
defer { isLoading = false }