Open anthony1810 opened 6 months ago
Let say I have a coordinator like this:
import Foundation import RMStoreKit import Stinsen import SwiftUI final class AccountCoordinator: NavigationCoordinatable { let stack = NavigationStack(initial: \AccountCoordinator.start) @Root var start = makeStart @Route(.fullScreen) var sports = makeSportScreen @Route(.push) var joinCodeTeam = makeJoinTeamScreen @Route(.push) var teamJoinCodeSettings = makeTeamJoinCodeSettingsScreen @Route(.fullScreen) var subscription = makeSubscriptionModal let mainViewModel: MainViewModel init(mainViewModel: MainViewModel) { self.mainViewModel = mainViewModel } @ViewBuilder func makeStart() -> some View { AccountsView() .environmentObject(mainViewModel) } func makeSportScreen() -> NavigationViewCoordinator<CreateTeamCoordinator> { NavigationViewCoordinator( CreateTeamCoordinator(sportsViewModel: ViewModelBuilder.build(), mainViewModel: mainViewModel) ) } func makeJoinTeamScreen() -> some View { JoinTeamView() .environmentObject(mainViewModel) } @ViewBuilder func makeTeamJoinCodeSettingsScreen() -> some View { if let selectedTeam = mainViewModel.selectedTeam { TeamJoinCodeView(viewModel: TeamJoinCodeViewModel(team: selectedTeam)) .environmentObject(mainViewModel) } } @ViewBuilder func makeSubscriptionModal() -> some View { RMSubscriptionModal() } }
How do I detect which route I am current at so I can adjust my logic accordingly?
if (accountRouters?.isRoot(\.sports)).orFalse() { // do something } else { // do something else }
Let say I have a coordinator like this:
How do I detect which route I am current at so I can adjust my logic accordingly?