When i am pushing from home to chat screen it wont showing me bottom tabbar
i want to display it
struct MainRouterView: View {
var rootScreen:ScreensPath
@ObservedObject var router: Router<ScreensPath>
init(rootScreen:ScreensPath) {
self.rootScreen = rootScreen
self._router = ObservedObject(initialValue: Router<ScreensPath>(root: rootScreen))
}
var body: some View {
RouterView(router: router) { path in
case .tabbarScreen(let selectedTab): TabbarScreen(tabSelection: selectedTab)
case .homeScreen: HomeScreen(homeViewModel: HomeViewModel())
case .historyScreen: HistoryScreen(historyViewModel: HistoryViewModel())
case .profileScreen: ProfileScreen()
case .myQAScreen: QAScreen()
case .chatScreen(let questionID): ChatScreen()
}
}
struct RouterView<T: Hashable, Content: View>: View {
@ObservedObject
var router: Router<T>
@ViewBuilder var buildView: (T) -> Content
var body: some View {
NavigationStack(path: $router.paths) {
buildView(router.root)
.navigationDestination(for: T.self) { path in
buildView(path)
}
}
.environmentObject(router)
}
}
final class Router<T: Hashable>: ObservableObject {
@Published var root: T
@Published var paths: [T] = []
init(root: T) {
self.root = root
}
func push(_ path: T) {
paths.append(path)
}
func pop() {
paths.removeLast()
}
func updateRoot(root: T) {
self.root = root
}
func popToRoot(){
paths = []
}
}
struct HomeScreen: View {
var body: some View {
ZStack{
Text("Home")
.onTapGesture {
router.push(.chatScreen)
}
}
}
}
When i am pushing from home to chat screen it wont showing me bottom tabbar
i want to display it