Omit wrapping Section on Mac

This commit is contained in:
Davide De Rosa 2022-05-01 19:27:13 +02:00
parent cfc0d4f572
commit 171c1e1dd4
2 changed files with 22 additions and 9 deletions

View File

@ -125,7 +125,7 @@ struct OrganizerView: View {
return ZStack {
hiddenSceneView
mainView
if profileManager.headers.isEmpty {
if !profileManager.hasProfiles {
emptyView
}
}.toolbar {
@ -171,18 +171,27 @@ struct OrganizerView: View {
private var mainView: some View {
List {
let headers = sortedHeaders
if !headers.isEmpty {
// FIXME: iPad multitasking, navigation binding does not clear on pop without Section
Section {
ForEach(sortedHeaders, content: profileRow(forHeader:))
.onDelete(perform: removeProfiles)
} header: {
Text(L10n.Global.Strings.profiles)
if profileManager.hasProfiles {
switch themeIdiom {
case .mac:
profilesView
default:
// FIXME: iPad multitasking, navigation binding does not clear on pop without Section
Section {
profilesView
} header: {
Text(L10n.Global.Strings.profiles)
}
}
}
}.themeAnimation(on: profileManager.headers)
}
private var profilesView: some View {
ForEach(sortedHeaders, content: profileRow(forHeader:))
.onDelete(perform: removeProfiles)
}
private var emptyView: some View {
VStack {

View File

@ -109,6 +109,10 @@ extension ProfileManager {
availableHeaders
}
public var hasProfiles: Bool {
!availableHeaders.isEmpty
}
public var hasActiveProfile: Bool {
activeHeader != nil
}