Sidebar fixes

This commit is contained in:
Thomas Ricouard 2024-01-04 16:42:03 +01:00
parent 469b99f3c9
commit 60ade66251
2 changed files with 20 additions and 18 deletions

View file

@ -105,28 +105,30 @@ struct SideBarView<Content: View>: View {
private var tabsView: some View {
ForEach(tabs) { tab in
Button {
// ensure keyboard is always dismissed when selecting a tab
hideKeyboard()
if tab != .profile {
Button {
// ensure keyboard is always dismissed when selecting a tab
hideKeyboard()
if tab == selectedTab {
popToRootTab = .other
DispatchQueue.main.asyncAfter(deadline: .now() + 0.01) {
popToRootTab = tab
if tab == selectedTab {
popToRootTab = .other
DispatchQueue.main.asyncAfter(deadline: .now() + 0.01) {
popToRootTab = tab
}
}
}
selectedTab = tab
SoundEffectManager.shared.playSound(.tabSelection)
if tab == .notifications {
if let token = appAccounts.currentAccount.oauthToken {
userPreferences.notificationsCount[token] = 0
selectedTab = tab
SoundEffectManager.shared.playSound(.tabSelection)
if tab == .notifications {
if let token = appAccounts.currentAccount.oauthToken {
userPreferences.notificationsCount[token] = 0
}
watcher.unreadNotificationsCount = 0
}
watcher.unreadNotificationsCount = 0
} label: {
makeIconForTab(tab: tab)
}
} label: {
makeIconForTab(tab: tab)
.background(tab == selectedTab ? theme.secondaryBackgroundColor : .clear)
}
.background(tab == selectedTab ? theme.secondaryBackgroundColor : .clear)
}
}

View file

@ -24,7 +24,7 @@ enum Tab: Int, Identifiable, Hashable, CaseIterable {
static func loggedInTabs() -> [Tab] {
if UIDevice.current.userInterfaceIdiom == .pad ||
UIDevice.current.userInterfaceIdiom == .mac {
[.timeline, .trending, .federated, .local, .notifications, .mentions, .explore, .messages, .bookmarks, .favorites, .settings]
[.timeline, .trending, .federated, .local, .notifications, .mentions, .explore, .messages, .bookmarks, .favorites, .profile, .settings]
} else if UIDevice.current.userInterfaceIdiom == .vision {
[.profile, .timeline, .trending, .federated, .local, .notifications, .mentions, .explore, .messages, .settings]
} else {