fix network

This commit is contained in:
JinJiangHuang
2026-03-10 21:37:51 +08:00
parent 76ed32ccf3
commit fac70d7496
7 changed files with 383 additions and 37 deletions
+34
View File
@@ -10,6 +10,8 @@ struct ContentView: View {
///
@EnvironmentObject var appState: AppState
///
@EnvironmentObject var networkMonitor: NetworkMonitor
/// ViewModel
@StateObject private var settingsVM = SettingsViewModel()
///
@@ -28,6 +30,9 @@ struct ContentView: View {
}
}
.overlay(multiRepoSelectionOverlay)
.overlay(alignment: .top) {
networkStatusBanner
}
.preferredColorScheme(.dark)
.onAppear {
//
@@ -353,6 +358,35 @@ struct ContentView: View {
}
}
///
@ViewBuilder
private var networkStatusBanner: some View {
if !networkMonitor.isConnected {
HStack(spacing: 8) {
Image(systemName: "wifi.slash")
.font(.system(size: 13, weight: .semibold))
Text("网络连接已断开")
.font(.system(size: 13, weight: .medium))
if appState.isRetryingConfig {
ProgressView()
.scaleEffect(0.7)
.tint(.white)
}
}
.foregroundColor(.white)
.padding(.horizontal, 16)
.padding(.vertical, 8)
.background(
Capsule()
.fill(Color.red.opacity(0.85))
)
.shadow(color: .black.opacity(0.3), radius: 8, y: 4)
.padding(.top, 8)
.transition(.move(edge: .top).combined(with: .opacity))
.animation(.easeInOut(duration: 0.3), value: networkMonitor.isConnected)
}
}
private func readPasteboardText() -> String? {
#if os(iOS)
UIPasteboard.general.string