mirror of
https://github.com/Dimillian/IceCubesApp.git
synced 2024-11-25 09:41:02 +00:00
parent
4870b202d6
commit
cc32845134
3 changed files with 32 additions and 34 deletions
|
@ -115,34 +115,36 @@ struct IceCubesApp: App {
|
|||
popToRootTab: $popToRootTab,
|
||||
tabs: availableTabs)
|
||||
{
|
||||
ZStack {
|
||||
if selectedTab == .profile {
|
||||
ProfileTab(popToRootTab: $popToRootTab)
|
||||
}
|
||||
ForEach(availableTabs) { tab in
|
||||
if tab == selectedTab || sideBarLoadedTabs.contains(tab) {
|
||||
tab
|
||||
.makeContentView(popToRootTab: $popToRootTab)
|
||||
.opacity(tab == selectedTab ? 1 : 0)
|
||||
.transition(.opacity)
|
||||
.id("\(tab)\(appAccountsManager.currentAccount.id)")
|
||||
.onAppear {
|
||||
sideBarLoadedTabs.insert(tab)
|
||||
GeometryReader { _ in
|
||||
HStack(spacing: 0) {
|
||||
ZStack {
|
||||
if selectedTab == .profile {
|
||||
ProfileTab(popToRootTab: $popToRootTab)
|
||||
}
|
||||
ForEach(availableTabs) { tab in
|
||||
if tab == selectedTab || sideBarLoadedTabs.contains(tab) {
|
||||
tab
|
||||
.makeContentView(popToRootTab: $popToRootTab)
|
||||
.opacity(tab == selectedTab ? 1 : 0)
|
||||
.transition(.opacity)
|
||||
.id("\(tab)\(appAccountsManager.currentAccount.id)")
|
||||
.onAppear {
|
||||
sideBarLoadedTabs.insert(tab)
|
||||
}
|
||||
} else {
|
||||
EmptyView()
|
||||
}
|
||||
} else {
|
||||
EmptyView()
|
||||
}
|
||||
}
|
||||
if appAccountsManager.currentClient.isAuth,
|
||||
userPreferences.showiPadSecondaryColumn
|
||||
{
|
||||
Divider().edgesIgnoringSafeArea(.all)
|
||||
notificationsSecondaryColumn
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.inspector(isPresented: .init(get: {
|
||||
appAccountsManager.currentClient.isAuth && userPreferences.showiPadSecondaryColumn
|
||||
}, set: { newValue in
|
||||
userPreferences.showiPadSecondaryColumn = newValue
|
||||
}), content: {
|
||||
notificationsSecondaryColumn
|
||||
})
|
||||
.onChange(of: $appAccountsManager.currentAccount.id) {
|
||||
}.onChange(of: $appAccountsManager.currentAccount.id) {
|
||||
sideBarLoadedTabs.removeAll()
|
||||
}
|
||||
.environment(sidebarRouterPath)
|
||||
|
@ -151,8 +153,8 @@ struct IceCubesApp: App {
|
|||
private var notificationsSecondaryColumn: some View {
|
||||
NotificationsTab(popToRootTab: $popToRootTab, lockedType: nil)
|
||||
.environment(\.isSecondaryColumn, true)
|
||||
.frame(maxWidth: .secondaryColumnWidth)
|
||||
.id(appAccountsManager.currentAccount.id)
|
||||
.inspectorColumnWidth(.secondaryColumnWidth)
|
||||
}
|
||||
|
||||
private var tabBarView: some View {
|
||||
|
|
|
@ -75,14 +75,12 @@ public struct NotificationsListView: View {
|
|||
.scrollContentBackground(.hidden)
|
||||
.background(theme.primaryBackgroundColor)
|
||||
.task {
|
||||
if client.isAuth {
|
||||
viewModel.client = client
|
||||
viewModel.currentAccount = account
|
||||
if let lockedType {
|
||||
viewModel.selectedType = lockedType
|
||||
}
|
||||
await viewModel.fetchNotifications()
|
||||
viewModel.client = client
|
||||
viewModel.currentAccount = account
|
||||
if let lockedType {
|
||||
viewModel.selectedType = lockedType
|
||||
}
|
||||
await viewModel.fetchNotifications()
|
||||
}
|
||||
.refreshable {
|
||||
SoundEffectManager.shared.playSound(of: .pull)
|
||||
|
|
|
@ -93,8 +93,6 @@ import SwiftUI
|
|||
nextPageState: consolidatedNotifications.isEmpty ? .none : nextPageState)
|
||||
}
|
||||
} catch {
|
||||
let error = error as NSError
|
||||
guard error.code != -999 else { return }
|
||||
state = .error(error: error)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue