diff --git a/Shellbee.xcodeproj/project.pbxproj b/Shellbee.xcodeproj/project.pbxproj index a9f4ced..100dc28 100644 --- a/Shellbee.xcodeproj/project.pbxproj +++ b/Shellbee.xcodeproj/project.pbxproj @@ -833,6 +833,7 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO; CODE_SIGN_ENTITLEMENTS = Shellbee.entitlements; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Distribution"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = "$(APP_DEVELOPMENT_TEAM)"; @@ -908,6 +909,7 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground; CODE_SIGN_ENTITLEMENTS = ShellbeeWidgets.entitlements; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Distribution"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = "$(APP_DEVELOPMENT_TEAM)"; diff --git a/Shellbee/Features/Settings/BridgeSettingsView.swift b/Shellbee/Features/Settings/BridgeSettingsView.swift index 9b35fb7..5c73b60 100644 --- a/Shellbee/Features/Settings/BridgeSettingsView.swift +++ b/Shellbee/Features/Settings/BridgeSettingsView.swift @@ -39,6 +39,16 @@ struct BridgeSettingsView: View { } .navigationTitle(displayName) .navigationBarTitleDisplayMode(.inline) + // Match SettingsView — Logs is reachable from per-bridge settings via + // the Tools section and the device/group hero card inside log detail + // pushes a DeviceRoute / GroupRoute that needs a handler on the + // enclosing stack. + .navigationDestination(for: DeviceRoute.self) { route in + DeviceDetailView(bridgeID: route.bridgeID, device: route.device) + } + .navigationDestination(for: GroupRoute.self) { route in + GroupDetailView(bridgeID: route.bridgeID, group: route.group) + } .sheet(item: editorBinding) { vm in NavigationStack { ConnectionEditorView(viewModel: vm, mode: .save) diff --git a/Shellbee/Features/Settings/SettingsView.swift b/Shellbee/Features/Settings/SettingsView.swift index 6863cb0..82ad526 100644 --- a/Shellbee/Features/Settings/SettingsView.swift +++ b/Shellbee/Features/Settings/SettingsView.swift @@ -55,6 +55,19 @@ struct SettingsView: View { } } .navigationTitle("Settings") + // Settings → Logs pushes LogsView (which has its own + // NavigationStack). Inside LogsView's log-detail screen, the + // device/group hero card uses NavigationLink(value:) to push a + // DeviceRoute / GroupRoute. With nested NavigationStacks SwiftUI + // can route the push to whichever stack first matches a + // destination — register handlers on the outer Settings stack as + // a safety net so the tap always lands on the right screen. + .navigationDestination(for: DeviceRoute.self) { route in + DeviceDetailView(bridgeID: route.bridgeID, device: route.device) + } + .navigationDestination(for: GroupRoute.self) { route in + GroupDetailView(bridgeID: route.bridgeID, group: route.group) + } .toolbar { ToolbarItem(placement: .topBarTrailing) { Menu {