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") {