mirror of
https://github.com/omnivore-app/omnivore.git
synced 2026-03-11 08:54:26 +00:00
ensure nav bar is hidden if searchable field is active in home view
This commit is contained in:
parent
bca28bb699
commit
e2f08e7141
4 changed files with 17 additions and 7 deletions
|
|
@ -14,7 +14,6 @@ struct FeedCardNavigationLink: View {
|
|||
let destination = LinkItemDetailView(viewModel: LinkItemDetailViewModel(item: item, homeFeedViewModel: viewModel))
|
||||
#if os(iOS)
|
||||
let modifiedDestination = destination
|
||||
.navigationBarHidden(true)
|
||||
.navigationTitle("")
|
||||
#else
|
||||
let modifiedDestination = destination
|
||||
|
|
@ -54,7 +53,6 @@ struct GridCardNavigationLink: View {
|
|||
let destination = LinkItemDetailView(viewModel: LinkItemDetailViewModel(item: item, homeFeedViewModel: viewModel))
|
||||
#if os(iOS)
|
||||
let modifiedDestination = destination
|
||||
.navigationBarHidden(true)
|
||||
.navigationTitle("")
|
||||
#else
|
||||
let modifiedDestination = destination
|
||||
|
|
|
|||
|
|
@ -27,8 +27,7 @@ private let enableGrid = UIDevice.isIPad || FeatureFlag.enableGridCardsOnPhone
|
|||
loadItems(isRefresh: true)
|
||||
}
|
||||
.searchable(
|
||||
text: $viewModel.searchTerm,
|
||||
placement: .navigationBarDrawer
|
||||
text: $viewModel.searchTerm
|
||||
) {
|
||||
if viewModel.searchTerm.isEmpty {
|
||||
Text("Inbox").searchCompletion("in:inbox ")
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ struct HomeView: View {
|
|||
NavigationView {
|
||||
HomeFeedContainerView(viewModel: viewModel)
|
||||
}
|
||||
.navigationViewStyle(StackNavigationViewStyle())
|
||||
.navigationViewStyle(.stack)
|
||||
.accentColor(.appGrayTextContrast)
|
||||
} else {
|
||||
HomeFeedContainerView(viewModel: viewModel)
|
||||
|
|
|
|||
|
|
@ -136,14 +136,27 @@ struct LinkItemDetailView: View {
|
|||
)
|
||||
}
|
||||
|
||||
// We always want this hidden but setting it to false initially
|
||||
// fixes a bug where SwiftUI searchable will always show the nav bar
|
||||
// if the search field is active when pushing.
|
||||
@State var hideNavBar = false
|
||||
|
||||
var body: some View {
|
||||
#if os(iOS)
|
||||
if viewModel.item.isPDF {
|
||||
fixedNavBarReader
|
||||
.task { viewModel.trackReadEvent() }
|
||||
.navigationBarHidden(hideNavBar)
|
||||
.task {
|
||||
hideNavBar = true
|
||||
viewModel.trackReadEvent()
|
||||
}
|
||||
} else {
|
||||
WebReaderContainerView(item: viewModel.item, homeFeedViewModel: viewModel.homeFeedViewModel)
|
||||
.task { viewModel.trackReadEvent() }
|
||||
.navigationBarHidden(hideNavBar)
|
||||
.task {
|
||||
hideNavBar = true
|
||||
viewModel.trackReadEvent()
|
||||
}
|
||||
}
|
||||
#else
|
||||
fixedNavBarReader
|
||||
|
|
|
|||
Loading…
Reference in a new issue