pop to root on repeat tap

This commit is contained in:
Ethan Pippin 2022-07-13 21:06:18 -06:00
parent ae6d054a3b
commit d8907583f3
1 changed files with 14 additions and 2 deletions

View File

@ -16,15 +16,21 @@ final class MainTabCoordinator: TabCoordinatable {
\MainTabCoordinator.allMedia,
])
@Route(tabItem: makeHomeTab)
@Route(tabItem: makeHomeTab, onTapped: onHomeTapped)
var home = makeHome
@Route(tabItem: makeAllMediaTab)
@Route(tabItem: makeAllMediaTab, onTapped: onMediaTapped)
var allMedia = makeAllMedia
func makeHome() -> NavigationViewCoordinator<HomeCoordinator> {
NavigationViewCoordinator(HomeCoordinator())
}
func onHomeTapped(isRepeat: Bool, coordinator: NavigationViewCoordinator<HomeCoordinator>) {
if isRepeat {
coordinator.child.popToRoot()
}
}
@ViewBuilder
func makeHomeTab(isActive: Bool) -> some View {
Image(systemName: "house")
@ -35,6 +41,12 @@ final class MainTabCoordinator: TabCoordinatable {
NavigationViewCoordinator(LibraryListCoordinator(viewModel: LibraryListViewModel()))
}
func onMediaTapped(isRepeat: Bool, coordinator: NavigationViewCoordinator<LibraryListCoordinator>) {
if isRepeat {
coordinator.child.popToRoot()
}
}
@ViewBuilder
func makeAllMediaTab(isActive: Bool) -> some View {
Image(systemName: "folder")