From d8907583f3d87dac7dc6047bd9884df8a247844c Mon Sep 17 00:00:00 2001 From: Ethan Pippin Date: Wed, 13 Jul 2022 21:06:18 -0600 Subject: [PATCH] pop to root on repeat tap --- .../MainCoordinator/iOSMainTabCoordinator.swift | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Shared/Coordinators/MainCoordinator/iOSMainTabCoordinator.swift b/Shared/Coordinators/MainCoordinator/iOSMainTabCoordinator.swift index e9d22210..67f99571 100644 --- a/Shared/Coordinators/MainCoordinator/iOSMainTabCoordinator.swift +++ b/Shared/Coordinators/MainCoordinator/iOSMainTabCoordinator.swift @@ -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 { NavigationViewCoordinator(HomeCoordinator()) } + func onHomeTapped(isRepeat: Bool, coordinator: NavigationViewCoordinator) { + 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) { + if isRepeat { + coordinator.child.popToRoot() + } + } + @ViewBuilder func makeAllMediaTab(isActive: Bool) -> some View { Image(systemName: "folder")