IceCubes/IceCubesApp/App/Tabs/ToolbarTab.swift

52 lines
1.7 KiB
Swift
Raw Normal View History

import AppAccount
import DesignSystem
2024-02-14 12:48:14 +01:00
import Env
import SwiftUI
@MainActor
struct ToolbarTab: ToolbarContent {
@Environment(\.isSecondaryColumn) private var isSecondaryColumn: Bool
@Environment(\.horizontalSizeClass) private var horizontalSizeClass
2024-02-14 12:48:14 +01:00
@Environment(UserPreferences.self) private var userPreferences
@Environment(Theme.self) private var theme
2024-02-14 12:48:14 +01:00
@Binding var routerPath: RouterPath
2024-02-14 12:48:14 +01:00
var body: some ToolbarContent {
if !isSecondaryColumn {
2024-07-22 08:28:42 +02:00
if horizontalSizeClass == .regular {
ToolbarItem(placement: .topBarLeading) {
if UIDevice.current.userInterfaceIdiom == .pad || UIDevice.current.userInterfaceIdiom == .mac {
Button {
withAnimation {
userPreferences.isSidebarExpanded.toggle()
}
} label: {
if userPreferences.isSidebarExpanded {
Image(systemName: "sidebar.squares.left")
} else {
Image(systemName: "sidebar.left")
}
2024-05-08 11:51:28 +02:00
}
}
}
}
statusEditorToolbarItem(routerPath: routerPath,
visibility: userPreferences.postVisibility)
if UIDevice.current.userInterfaceIdiom != .pad ||
2024-02-14 12:48:14 +01:00
(UIDevice.current.userInterfaceIdiom == .pad && horizontalSizeClass == .compact)
{
ToolbarItem(placement: .navigationBarLeading) {
AppAccountsSelectorView(routerPath: routerPath, avatarConfig: theme.avatarShape == .circle ? .badge : .badgeRounded)
}
}
}
if UIDevice.current.userInterfaceIdiom == .pad && horizontalSizeClass == .regular {
if (!isSecondaryColumn && !userPreferences.showiPadSecondaryColumn) || isSecondaryColumn {
SecondaryColumnToolbarItem()
}
}
}
}