diff --git a/Sources/KamaalNavigation/Views/Supporting Views/NavigationStackView.swift b/Sources/KamaalNavigation/Views/Supporting Views/NavigationStackView.swift index 8a114d5..1f1d44e 100644 --- a/Sources/KamaalNavigation/Views/Supporting Views/NavigationStackView.swift +++ b/Sources/KamaalNavigation/Views/Supporting Views/NavigationStackView.swift @@ -11,17 +11,20 @@ import KamaalUI public struct NavigationStackView: View { @StateObject private var navigator: Navigator + let handleURLOpen: (_ url: URL) -> Screen? let sidebar: () -> Sidebar let passthroughEnvironment: (_ view: Screen.ScreenView) -> WrappedView public init( initialStack: [Screen], + handleURLOpen: @escaping (_ url: URL) -> Screen? = { _ in nil }, @ViewBuilder sidebar: @escaping () -> Sidebar, @ViewBuilder passthroughEnvironment: @escaping (_ view: Screen.ScreenView) -> WrappedView ) { self.sidebar = sidebar self._navigator = StateObject(wrappedValue: Navigator(stack: initialStack)) self.passthroughEnvironment = passthroughEnvironment + self.handleURLOpen = handleURLOpen } public var body: some View { @@ -91,6 +94,10 @@ public struct NavigationStackView