@@ -208,17 +208,23 @@ struct ConnectionStatusView: View {
208 .fill(appState.isConnected ? .green : .red)
208 .fill(appState.isConnected ? .green : .red)
209 .frame(width: 8, height: 8)
209 .frame(width: 8, height: 8)
210 .accessibilityLabel(appState.isConnected ? "Connected" : "Disconnected")
210 .accessibilityLabel(appState.isConnected ? "Connected" : "Disconnected")
211+ Picker("Connection", selection: Binding<UUID>(
211− Text(connection.name)
212+ get: { connection.id },
212− .font(.headline)
213+ set: { newID in
216− ForEach(appState.connections) { conn in
214+ if let conn = appState.connections.first(where: { $0.id == newID }) {
218 Task { await appState.connect(to: conn) }
215 Task { await appState.connect(to: conn) }
219+ ForEach(appState.connections) { conn in
220+ Text(conn.name).tag(conn.id)
225+ .accessibilityLabel("Connection selector")
222 Button("Add Connection...") {
228 Button("Add Connection...") {
223 appState.editingConnection = nil
229 appState.editingConnection = nil
224 appState.showConnectionSheet = true
230 appState.showConnectionSheet = true
@@ -232,16 +238,12 @@ struct ConnectionStatusView: View {
232 appState.disconnect()
238 appState.disconnect()
234 } label: {
240 } label: {
235− Image(systemName: "ellipsis.circle")
241+ Image(systemName: "gear")
237 .menuStyle(.borderlessButton)
243 .menuStyle(.borderlessButton)
238 .frame(width: 24)
244 .frame(width: 24)
239 .accessibilityLabel("Connection options")
245 .accessibilityLabel("Connection options")
241− Text(connection.url)
243− .foregroundStyle(.secondary)
245 } else if appState.isConnecting {
247 } else if appState.isConnecting {
247 ProgressView()
249 ProgressView()