damus

nostr ios client
git clone git://jb55.com/damus
Log | Files | Refs | README | LICENSE

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:
Mdamus/ContentView.swift | 81++++++++++++++++++++++++++++++++++++++++++-------------------------------------
Mdamus/Views/SideMenuView.swift | 9+++++++--
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) }