commit b8b3925dfe695cb34fffc199e7256e81fd1f047d
parent c5f1ab2ce2766a9ad0501c18dce576f0d194dc0c
Author: Marc Stibane <marc@taler.net>
Date: Mon, 3 Aug 2026 16:24:23 +0200
ErrorBanner
Diffstat:
1 file changed, 31 insertions(+), 23 deletions(-)
diff --git a/TalerWallet1/Views/Sheets/Sheet.swift b/TalerWallet1/Views/Sheets/Sheet.swift
@@ -47,6 +47,7 @@ struct Sheet: View {
@Environment(\.dismiss) var dismiss // call dismiss() to get rid of the sheet
@EnvironmentObject private var debugViewC: DebugViewC
@EnvironmentObject private var model: WalletModel
+ @EnvironmentObject private var controller: Controller
@AppStorage("talerFontIndex") var talerFontIndex: Int = 0
#if DEBUG
@AppStorage("developerMode") var developerMode: Bool = true
@@ -66,32 +67,39 @@ struct Sheet: View {
var body: some View {
let idString = debugViewC.sheetID > 0 ? String(debugViewC.sheetID)
: EMPTYSTRING // show nothing if 0
- ZStack {
- NavigationView {
- sheetView
- .navigationBarTitleDisplayMode(.automatic)
- .background(FullBackground())
- }
- .navigationViewStyle(.stack)
- .talerNavBar(talerFontIndex: talerFontIndex)
- .overlay(alignment: .top) {
- // Show the viewID on top of the sheet's NavigationView
- Text(idString)
- .foregroundColor(.purple)
- .font(.system(size: 11)) // no talerFont
- .monospacedDigit()
- .ignoresSafeArea(edges: .top)
- .id("sheetID")
- .accessibilityLabel(Text("Sheet.ID.", comment: "a11y"))
- .accessibilityValue(idString)
+ VStack {
+ if controller.networkUnavailable {
+ ErrorBanner(.networkUnavailable) // red bar on top
+ } else if controller.slowConnection {
+ ErrorBanner(.warning5sec) // yellow bar on top
}
- if let error2 = model.error2 {
- ErrorView(stack.push(), data: error2, devMode: developerMode) {
- model.setError(nil)
- logger.log("ErrorSheet dismissTop")
- dismissTop(stack.push())
+ ZStack {
+ NavigationView {
+ sheetView
}
+ .navigationBarTitleDisplayMode(.automatic)
.background(FullBackground())
+ .navigationViewStyle(.stack)
+ .talerNavBar(talerFontIndex: talerFontIndex)
+ .overlay(alignment: .top) {
+ // Show the viewID on top of the sheet's NavigationView
+ Text(idString)
+ .foregroundColor(.purple)
+ .font(.system(size: 11)) // no talerFont
+ .monospacedDigit()
+ .ignoresSafeArea(edges: .top)
+ .id("sheetID")
+ .accessibilityLabel(Text("Sheet.ID.", comment: "a11y"))
+ .accessibilityValue(idString)
+ }
+ if let error2 = model.error2 {
+ ErrorView(stack.push(), data: error2, devMode: developerMode) {
+ model.setError(nil)
+ logger.log("ErrorSheet dismissTop")
+ dismissTop(stack.push())
+ }
+ .background(FullBackground())
+ }
}
}
.onDisappear {