Switch to iOS 17 inspector

This commit is contained in:
Thomas Ricouard 2023-09-20 21:19:31 +02:00
parent 15f498037d
commit 7589ab75f8
3 changed files with 34 additions and 32 deletions

View file

@ -113,36 +113,34 @@ struct IceCubesApp: App {
popToRootTab: $popToRootTab,
tabs: availableTabs)
{
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()
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)
}
}
}
if appAccountsManager.currentClient.isAuth,
userPreferences.showiPadSecondaryColumn
{
Divider().edgesIgnoringSafeArea(.all)
notificationsSecondaryColumn
} else {
EmptyView()
}
}
}
}.onChange(of: $appAccountsManager.currentAccount.id) {
}
.inspector(isPresented: .init(get: {
appAccountsManager.currentClient.isAuth && userPreferences.showiPadSecondaryColumn
}, set: { newValue in
userPreferences.showiPadSecondaryColumn = newValue
}), content: {
notificationsSecondaryColumn
})
.onChange(of: $appAccountsManager.currentAccount.id) {
sideBarLoadedTabs.removeAll()
}
.environment(sidebarRouterPath)
@ -151,8 +149,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 {

View file

@ -75,12 +75,14 @@ public struct NotificationsListView: View {
.scrollContentBackground(.hidden)
.background(theme.primaryBackgroundColor)
.task {
viewModel.client = client
viewModel.currentAccount = account
if let lockedType {
viewModel.selectedType = lockedType
if client.isAuth {
viewModel.client = client
viewModel.currentAccount = account
if let lockedType {
viewModel.selectedType = lockedType
}
await viewModel.fetchNotifications()
}
await viewModel.fetchNotifications()
}
.refreshable {
SoundEffectManager.shared.playSound(of: .pull)

View file

@ -93,6 +93,8 @@ import SwiftUI
nextPageState: consolidatedNotifications.isEmpty ? .none : nextPageState)
}
} catch {
let error = error as NSError
guard error.code != -999 else { return }
state = .error(error: error)
}
}