pop to root on repeat tap
This commit is contained in:
parent
ae6d054a3b
commit
d8907583f3
|
@ -16,15 +16,21 @@ final class MainTabCoordinator: TabCoordinatable {
|
||||||
\MainTabCoordinator.allMedia,
|
\MainTabCoordinator.allMedia,
|
||||||
])
|
])
|
||||||
|
|
||||||
@Route(tabItem: makeHomeTab)
|
@Route(tabItem: makeHomeTab, onTapped: onHomeTapped)
|
||||||
var home = makeHome
|
var home = makeHome
|
||||||
@Route(tabItem: makeAllMediaTab)
|
@Route(tabItem: makeAllMediaTab, onTapped: onMediaTapped)
|
||||||
var allMedia = makeAllMedia
|
var allMedia = makeAllMedia
|
||||||
|
|
||||||
func makeHome() -> NavigationViewCoordinator<HomeCoordinator> {
|
func makeHome() -> NavigationViewCoordinator<HomeCoordinator> {
|
||||||
NavigationViewCoordinator(HomeCoordinator())
|
NavigationViewCoordinator(HomeCoordinator())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func onHomeTapped(isRepeat: Bool, coordinator: NavigationViewCoordinator<HomeCoordinator>) {
|
||||||
|
if isRepeat {
|
||||||
|
coordinator.child.popToRoot()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@ViewBuilder
|
@ViewBuilder
|
||||||
func makeHomeTab(isActive: Bool) -> some View {
|
func makeHomeTab(isActive: Bool) -> some View {
|
||||||
Image(systemName: "house")
|
Image(systemName: "house")
|
||||||
|
@ -35,6 +41,12 @@ final class MainTabCoordinator: TabCoordinatable {
|
||||||
NavigationViewCoordinator(LibraryListCoordinator(viewModel: LibraryListViewModel()))
|
NavigationViewCoordinator(LibraryListCoordinator(viewModel: LibraryListViewModel()))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func onMediaTapped(isRepeat: Bool, coordinator: NavigationViewCoordinator<LibraryListCoordinator>) {
|
||||||
|
if isRepeat {
|
||||||
|
coordinator.child.popToRoot()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@ViewBuilder
|
@ViewBuilder
|
||||||
func makeAllMediaTab(isActive: Bool) -> some View {
|
func makeAllMediaTab(isActive: Bool) -> some View {
|
||||||
Image(systemName: "folder")
|
Image(systemName: "folder")
|
||||||
|
|
Loading…
Reference in New Issue