Loading...
Loading...
Guides SwiftUI navigation using the Navigator/NavigatorUI library—NavigationDestination enums, ManagedNavigationStack, NavigationLink(to:label), deep linking (send/onNavigationReceive), checkpoints, dismissible views, and modular/provided destinations. Use when implementing or discussing SwiftUI navigation with Navigator, deep linking, checkpoints, or NavigatorUI.
npx skill4agent add hmlongco/navigator swiftui-navigation-navigatorNavigationDestinationbodyNavigationLink(value:label:)NavigationLink(destination:label:)NavigationLink(to: SomeDestination.case, label: { ... })navigationDestination(for: MyType.self)ManagedNavigationStack { ... }NavigationStackNavigatorNavigationDestination@Environment(\.navigator) var navigatorManagedNavigationStacknavigator.navigate(to: HomeDestinations.pageN(55))navigator.push(HomeDestinations.pageN(55))navigator.navigate(to: destination, method: .sheet).managedSheet.cover.managedCover.send.navigate(to: $optionalDestination).navigate(trigger: $bool, destination: someDestination)NavigationCheckpointscheckpoint().navigationCheckpoint(KnownCheckpoints.home)navigator.returnToCheckpoint(KnownCheckpoints.home).navigationReturnToCheckpoint(trigger: $flag, checkpoint: KnownCheckpoints.home)navigator.send(RootTabs.home, HomeDestinations.page2)navigator.perform(route: KnownRoutes.profilePhoto).onNavigationReceive { (tab: RootTabs) in ... return .auto }.onNavigationReceive(assign: $selectedTab).onNavigationReceive { (dest: HomeDestinations, navigator) in navigator.navigate(to: dest); return .auto }.navigationAutoReceive(HomeDestinations.self)navigator.dismiss()dismissPresentedViews()dismissAnyChildren()dismissAny()navigate(to:)ManagedPresentationView { content }content.managedPresentationView()ManagedNavigationStack { content }.navigationLocked()dismissAny()NavigationLink(to: Destination.case)ManagedNavigationStackManagedPresentationView.managedPresentationView()NavigationLink(destination:label:)NavigationLink(value:label:)Navigator(configuration: NavigationConfiguration(...)).navigationRoot(navigator).onNavigationProvidedView(...).onNavigationRoute(router).onNavigationReceive(...).navigationRoot(navigator)