From 6ddf6024f7ad0d0acab5c8887a0929b3d659534b Mon Sep 17 00:00:00 2001 From: Scarriffle Date: Fri, 31 Jul 2026 22:53:42 +0200 Subject: [PATCH] iOS: 'Bearbeiten'-Leiste sichtbar machen (nicht mehr in versteckter .bottomBar) Der Start-Tab liegt in einer TabView; deren Tab-Balken verdeckte die .bottomBar-Werkzeugleiste, deshalb war 'Bearbeiten' nicht auffindbar. Jetzt eine eigene Leiste per safeAreaInset direkt ueber dem Tab-Balken. Co-Authored-By: Claude Opus 4.8 --- ios/Sources/LocalOverview.swift | 57 ++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 23 deletions(-) diff --git a/ios/Sources/LocalOverview.swift b/ios/Sources/LocalOverview.swift index e0c4f02..03a7d62 100644 --- a/ios/Sources/LocalOverview.swift +++ b/ios/Sources/LocalOverview.swift @@ -30,7 +30,10 @@ struct LocalOverview: View { anzeige } } - .toolbar { ToolbarItemGroup(placement: .bottomBar) { werkzeugleiste } } + // Eigene Leiste statt `.bottomBar`: der Start-Tab liegt in einer TabView, + // deren Tab-Balken die `.bottomBar` verdecken würde. `safeAreaInset` legt + // die Leiste sichtbar direkt über den Tab-Balken. + .safeAreaInset(edge: .bottom) { werkzeugleiste } .sheet(isPresented: $addShown) { CardPickerView { neu in fuegeHinzu(neu) } } @@ -111,33 +114,41 @@ struct LocalOverview: View { .pickerStyle(.menu) } - @ViewBuilder private var werkzeugleiste: some View { - if bearbeiten { - Button { addShown = true } label: { Label("Karte", systemImage: "plus") } - Spacer() - Menu { - Button("Dashboard hinzufügen", systemImage: "plus") { neuesDashboard() } - if aktives != nil { - Button("Umbenennen", systemImage: "pencil") { - renameText = aktives?.name ?? ""; renameShown = true - } - if config.dashboards.count > 1 { - Button("Dashboard löschen", systemImage: "trash", role: .destructive) { - loescheDashboard() + private var werkzeugleiste: some View { + VStack(spacing: 0) { + Divider() + HStack { + if bearbeiten { + Button { addShown = true } label: { Label("Karte", systemImage: "plus") } + Spacer() + Menu { + Button("Dashboard hinzufügen", systemImage: "plus") { neuesDashboard() } + if aktives != nil { + Button("Umbenennen", systemImage: "pencil") { + renameText = aktives?.name ?? ""; renameShown = true + } + if config.dashboards.count > 1 { + Button("Dashboard löschen", systemImage: "trash", role: .destructive) { + loescheDashboard() + } + } } + } label: { + Label("Dashboards", systemImage: "rectangle.stack") + } + Spacer() + Button("Fertig") { bearbeiten = false }.fontWeight(.semibold) + } else { + Spacer() + Button { bearbeiten = true } label: { + Label("Bearbeiten", systemImage: "slider.horizontal.3") } } - } label: { - Label("Dashboards", systemImage: "rectangle.stack") - } - Spacer() - Button("Fertig") { bearbeiten = false } - } else { - Spacer() - Button { bearbeiten = true } label: { - Label("Bearbeiten", systemImage: "slider.horizontal.3") } + .padding(.horizontal) + .padding(.vertical, 10) } + .background(.bar) } private func titel(_ karte: AppCard) -> String {