From cb54ac0494cf722341da742149d6c37d8d2a2664 Mon Sep 17 00:00:00 2001 From: Ben Weeks Date: Sun, 8 Jan 2023 01:00:35 +0000 Subject: [PATCH] Updated sidebar to close when tab items at the bottom are clicked too. --- damus/ContentView.swift | 3 +-- damus/Views/MainTabView.swift | 12 +++++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/damus/ContentView.swift b/damus/ContentView.swift index 039c371..43ec794 100644 --- a/damus/ContentView.swift +++ b/damus/ContentView.swift @@ -240,7 +240,7 @@ struct ContentView: View { } .navigationViewStyle(.stack) - TabBar(new_events: $home.new_events, selected: $selected_timeline, action: switch_timeline) + TabBar(new_events: $home.new_events, selected: $selected_timeline, isSidebarVisible: $isSideBarOpened, action: switch_timeline) .padding([.bottom], 8) } } @@ -283,7 +283,6 @@ struct ContentView: View { guard let privkey = self.privkey else { return } - let ev = notif.object as! NostrEvent let boost = make_boost_event(pubkey: pubkey, privkey: privkey, boosted: ev) self.damus_state?.pool.send(.event(boost)) diff --git a/damus/Views/MainTabView.swift b/damus/Views/MainTabView.swift index e766605..3bd72d1 100644 --- a/damus/Views/MainTabView.swift +++ b/damus/Views/MainTabView.swift @@ -31,9 +31,9 @@ func timeline_bit(_ timeline: Timeline) -> Int { struct TabButton: View { let timeline: Timeline let img: String - @Binding var selected: Timeline? @Binding var new_events: NewEventsBits + @Binding var isSidebarVisible: Bool let action: (Timeline) -> () @@ -56,6 +56,7 @@ struct TabButton: View { Button(action: { action(timeline) new_events = NewEventsBits(prev: new_events, unsetting: timeline) + isSidebarVisible = false }) { Label("", systemImage: selected == timeline ? "\(img).fill" : img) .contentShape(Rectangle()) @@ -69,6 +70,7 @@ struct TabButton: View { struct TabBar: View { @Binding var new_events: NewEventsBits @Binding var selected: Timeline? + @Binding var isSidebarVisible: Bool let action: (Timeline) -> () @@ -76,10 +78,10 @@ struct TabBar: View { VStack { Divider() HStack { - TabButton(timeline: .home, img: "house", selected: $selected, new_events: $new_events, action: action).keyboardShortcut("1") - TabButton(timeline: .dms, img: "bubble.left.and.bubble.right", selected: $selected, new_events: $new_events, action: action).keyboardShortcut("2") - TabButton(timeline: .search, img: "magnifyingglass.circle", selected: $selected, new_events: $new_events, action: action).keyboardShortcut("3") - TabButton(timeline: .notifications, img: "bell", selected: $selected, new_events: $new_events, action: action).keyboardShortcut("4") + TabButton(timeline: .home, img: "house", selected: $selected, new_events: $new_events, isSidebarVisible: $isSidebarVisible, action: action).keyboardShortcut("1") + TabButton(timeline: .dms, img: "bubble.left.and.bubble.right", selected: $selected, new_events: $new_events, isSidebarVisible: $isSidebarVisible, action: action).keyboardShortcut("2") + TabButton(timeline: .search, img: "magnifyingglass.circle", selected: $selected, new_events: $new_events, isSidebarVisible: $isSidebarVisible, action: action).keyboardShortcut("3") + TabButton(timeline: .notifications, img: "bell", selected: $selected, new_events: $new_events, isSidebarVisible: $isSidebarVisible, action: action).keyboardShortcut("4") } } }