From 0ff998c82c3b86dcafc6a46c68401c1386f6d534 Mon Sep 17 00:00:00 2001 From: jess Date: Tue, 31 Mar 2026 18:33:20 -0700 Subject: [PATCH] =?UTF-8?q?cue-ios:=20fix=20List=20selection=20unavailable?= =?UTF-8?q?=20on=20iOS=20=E2=80=94=20use=20button-based=20sidebar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cue-ios/CueIOS/Views/ContentView.swift | 29 ++++++++++++++------------ 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/cue-ios/CueIOS/Views/ContentView.swift b/cue-ios/CueIOS/Views/ContentView.swift index 298cb9d..41c9996 100644 --- a/cue-ios/CueIOS/Views/ContentView.swift +++ b/cue-ios/CueIOS/Views/ContentView.swift @@ -30,22 +30,16 @@ struct ContentView: View { } private var sidebar: some View { - List(selection: $state.tab) { + List { Section("Measurements") { - Label("EIS", systemImage: "waveform.path.ecg") - .tag(Tab.eis) - Label("LSV", systemImage: "chart.xyaxis.line") - .tag(Tab.lsv) - Label("Amperometry", systemImage: "bolt.fill") - .tag(Tab.amp) - Label("Chlorine", systemImage: "drop.fill") - .tag(Tab.chlorine) - Label("pH", systemImage: "scalemass") - .tag(Tab.ph) + sidebarButton(.eis, "EIS", "waveform.path.ecg") + sidebarButton(.lsv, "LSV", "chart.xyaxis.line") + sidebarButton(.amp, "Amperometry", "bolt.fill") + sidebarButton(.chlorine, "Chlorine", "drop.fill") + sidebarButton(.ph, "pH", "scalemass") } Section("Data") { - Label("Sessions", systemImage: "folder") - .tag(Tab.sessions) + sidebarButton(.sessions, "Sessions", "folder") } Section { cleanControls @@ -55,6 +49,15 @@ struct ContentView: View { .listStyle(.sidebar) } + private func sidebarButton(_ tab: Tab, _ title: String, _ icon: String) -> some View { + Button { + state.tab = tab + } label: { + Label(title, systemImage: icon) + } + .listRowBackground(state.tab == tab ? Color.accentColor.opacity(0.2) : nil) + } + private var cleanControls: some View { VStack(alignment: .leading, spacing: 6) { Text("Electrode Clean")