From 0b70aa0c565e8d6cface9010ac1bd4a5045eba92 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 22 Dec 2025 22:09:17 +0100 Subject: [PATCH] fix(mac): hide sessions header when disconnected --- .../Sources/Clawdis/MenuContentView.swift | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/apps/macos/Sources/Clawdis/MenuContentView.swift b/apps/macos/Sources/Clawdis/MenuContentView.swift index f070dfd77..2f7ca291b 100644 --- a/apps/macos/Sources/Clawdis/MenuContentView.swift +++ b/apps/macos/Sources/Clawdis/MenuContentView.swift @@ -200,6 +200,21 @@ struct MenuContent: View { private var sessionsSection: some View { Group { + if !self.isGatewayConnected { + MenuHostedItem( + width: self.sessionMenuItemWidth, + rootView: AnyView( + Label("No connection to gateway", systemImage: "wifi.slash") + .font(.caption) + .foregroundStyle(.secondary) + .lineLimit(1) + .truncationMode(.tail) + .padding(.leading, 20) + .padding(.trailing, 10) + .padding(.vertical, 6) + .frame(minWidth: 300, alignment: .leading))) + .disabled(true) + } else { MenuHostedItem( width: self.sessionMenuItemWidth, rootView: AnyView(MenuSessionsHeaderView( @@ -245,9 +260,15 @@ struct MenuContent: View { } } } + } } } + private var isGatewayConnected: Bool { + if case .connected = self.controlChannel.state { return true } + return false + } + @ViewBuilder private func sessionSubmenu(for row: SessionRow) -> some View { Menu("Syncing") {