commit 6653798d275da4d8945b8f41c7d55371278e181d
parent e9ea96ffb62430bea581216665ee4197cb88be5d
Author: Ben Weeks <ben.weeks@outlook.com>
Date:   Mon, 13 Feb 2023 10:10:54 +0000
Sidebar Fixes
Closes: #587
Diffstat:
2 files changed, 50 insertions(+), 40 deletions(-)
diff --git a/damus/ContentView.swift b/damus/ContentView.swift
@@ -260,62 +260,67 @@ struct ContentView: View {
     }
     
     var body: some View {
-        VStack(alignment: .leading, spacing: 0) {
+        ZStack() {
             if let damus = self.damus_state {
                 NavigationView {
-                    ZStack {
-                        TabView { // Prevents navbar appearance change on scroll
-                            MainContent(damus: damus)
-                                .toolbar() {
-                                    ToolbarItem(placement: .navigationBarLeading) {
-                                        Button {
-                                            isSideBarOpened.toggle()
-                                        } label: {
-                                            ProfilePicView(pubkey: damus_state!.pubkey, size: 32, highlight: .none, profiles: damus_state!.profiles)
-                                                .opacity(isSideBarOpened ? 0 : 1)
-                                                .animation(isSideBarOpened ? .none : .default, value: isSideBarOpened)
+                    VStack(alignment: .leading, spacing: 0) {
+                        ZStack {
+                            TabView { // Prevents navbar appearance change on scroll
+                                MainContent(damus: damus)
+                                    .toolbar() {
+                                        ToolbarItem(placement: .navigationBarLeading) {
+                                            Button {
+                                                isSideBarOpened.toggle()
+                                            } label: {
+                                                ProfilePicView(pubkey: damus_state!.pubkey, size: 32, highlight: .none, profiles: damus_state!.profiles)
+                                                    .opacity(isSideBarOpened ? 0 : 1)
+                                                    .animation(isSideBarOpened ? .none : .default, value: isSideBarOpened)
+                                            }
+                                            .disabled(isSideBarOpened)
                                         }
-                                        .disabled(isSideBarOpened)
-                                    }
-                                    
-                                    ToolbarItem(placement: .navigationBarTrailing) {
-                                        HStack(alignment: .center) {
-                                            if home.signal.signal != home.signal.max_signal {
-                                                NavigationLink(destination: RelayConfigView(state: damus_state!)) {
-                                                    Text("\(home.signal.signal)/\(home.signal.max_signal)", comment: "Fraction of how many of the user's relay servers that are operational.")
-                                                        .font(.callout)
-                                                        .foregroundColor(.gray)
+                                        
+                                        ToolbarItem(placement: .navigationBarTrailing) {
+                                            HStack(alignment: .center) {
+                                                if home.signal.signal != home.signal.max_signal {
+                                                    NavigationLink(destination: RelayConfigView(state: damus_state!)) {
+                                                        Text("\(home.signal.signal)/\(home.signal.max_signal)", comment: "Fraction of how many of the user's relay servers that are operational.")
+                                                            .font(.callout)
+                                                            .foregroundColor(.gray)
+                                                    }
                                                 }
-                                            }
-                                            
-                                            // maybe expand this to other timelines in the future
-                                            if selected_timeline == .search {
-                                                Button(action: {
-                                                    //isFilterVisible.toggle()
-                                                    self.active_sheet = .filter
-                                                }) {
-                                                    // checklist, checklist.checked, lisdt.bullet, list.bullet.circle, line.3.horizontal.decrease...,  line.3.horizontail.decrease
-                                                    Label("Filter", systemImage: "line.3.horizontal.decrease")
-                                                        .foregroundColor(.gray)
+                                                
+                                                // maybe expand this to other timelines in the future
+                                                if selected_timeline == .search {
+                                                    Button(action: {
+                                                        //isFilterVisible.toggle()
+                                                        self.active_sheet = .filter
+                                                    }) {
+                                                        // checklist, checklist.checked, lisdt.bullet, list.bullet.circle, line.3.horizontal.decrease...,  line.3.horizontail.decrease
+                                                        Label("Filter", systemImage: "line.3.horizontal.decrease")
+                                                            .foregroundColor(.gray)
                                                         //.contentShape(Rectangle())
+                                                    }
                                                 }
                                             }
                                         }
                                     }
-                                }
+                            }
+                            .tabViewStyle(.page(indexDisplayMode: .never))
                         }
-                        .tabViewStyle(.page(indexDisplayMode: .never))
+                        
+                        TabBar(new_events: $home.new_events, selected: $selected_timeline, isSidebarVisible: $isSideBarOpened, action: switch_timeline)
+                            .padding([.bottom], 8)
                     }
                     .overlay(
                         SideMenuView(damus_state: damus, isSidebarVisible: $isSideBarOpened.animation())
                     )
+                    .navigationBarTitleDisplayMode(.inline)
                 }
                 .navigationViewStyle(.stack)
-            
-                TabBar(new_events: $home.new_events, selected: $selected_timeline, isSidebarVisible: $isSideBarOpened, action: switch_timeline)
-                    .padding([.bottom], 8)
+                
             }
         }
+        
         .onAppear() {
             self.connect()
             setup_notifications()
diff --git a/damus/Views/SideMenuView.swift b/damus/Views/SideMenuView.swift
@@ -166,8 +166,13 @@ struct SideMenuView: View {
     
     @ViewBuilder
     func navLabel(title: String, systemImage: String) -> some View {
-        Label(title, systemImage: systemImage)
-            .font(.title2)
+        Label {
+            Text(title)
+                .font(.title2)
+        } icon: {
+            Image(systemName: systemImage)
+                .frame(width:20)
+        }
             .foregroundColor(textColor())
             .frame(maxWidth: .infinity, alignment: .leading)
     }