Sidebar Fixes

Closes: #587
This commit is contained in:
Ben Weeks
2023-02-13 10:10:54 +00:00
committed by William Casarin
parent e9ea96ffb6
commit 6653798d27
2 changed files with 51 additions and 41 deletions

View File

@@ -260,9 +260,10 @@ struct ContentView: View {
} }
var body: some View { var body: some View {
VStack(alignment: .leading, spacing: 0) { ZStack() {
if let damus = self.damus_state { if let damus = self.damus_state {
NavigationView { NavigationView {
VStack(alignment: .leading, spacing: 0) {
ZStack { ZStack {
TabView { // Prevents navbar appearance change on scroll TabView { // Prevents navbar appearance change on scroll
MainContent(damus: damus) MainContent(damus: damus)
@@ -306,16 +307,20 @@ struct ContentView: View {
} }
.tabViewStyle(.page(indexDisplayMode: .never)) .tabViewStyle(.page(indexDisplayMode: .never))
} }
.overlay(
SideMenuView(damus_state: damus, isSidebarVisible: $isSideBarOpened.animation())
)
}
.navigationViewStyle(.stack)
TabBar(new_events: $home.new_events, selected: $selected_timeline, isSidebarVisible: $isSideBarOpened, action: switch_timeline) TabBar(new_events: $home.new_events, selected: $selected_timeline, isSidebarVisible: $isSideBarOpened, action: switch_timeline)
.padding([.bottom], 8) .padding([.bottom], 8)
} }
.overlay(
SideMenuView(damus_state: damus, isSidebarVisible: $isSideBarOpened.animation())
)
.navigationBarTitleDisplayMode(.inline)
} }
.navigationViewStyle(.stack)
}
}
.onAppear() { .onAppear() {
self.connect() self.connect()
setup_notifications() setup_notifications()

View File

@@ -166,8 +166,13 @@ struct SideMenuView: View {
@ViewBuilder @ViewBuilder
func navLabel(title: String, systemImage: String) -> some View { func navLabel(title: String, systemImage: String) -> some View {
Label(title, systemImage: systemImage) Label {
Text(title)
.font(.title2) .font(.title2)
} icon: {
Image(systemName: systemImage)
.frame(width:20)
}
.foregroundColor(textColor()) .foregroundColor(textColor())
.frame(maxWidth: .infinity, alignment: .leading) .frame(maxWidth: .infinity, alignment: .leading)
} }