This commit is contained in:
世界
2024-10-06 21:41:12 +08:00
parent 7e67e68670
commit 0a456131ea
3 changed files with 18 additions and 54 deletions
@@ -50,23 +50,25 @@ public struct ActiveDashboardView: View {
VStack {
#if os(iOS) || os(tvOS)
if ApplicationLibrary.inPreview || profile.status.isConnectedStrict {
viewBuilder {
#if os(iOS)
if #available(iOS 16.0, *) {
content1
} else {
content0
}
#else
content0
#endif
Picker("Page", selection: $selection) {
ForEach(DashboardPage.allCases) { page in
page.label
}
}
.pickerStyle(.segmented)
#if os(iOS)
.padding([.leading, .trailing])
.navigationBarTitleDisplayMode(.inline)
#endif
TabView(selection: $selection) {
ForEach(DashboardPage.enabledCases) { page in
page.contentView($profileList, $selectedProfileID, $systemProxyAvailable, $systemProxyEnabled)
.tag(page)
}
}
#if os(iOS)
.navigationBarTitleDisplayMode(.inline)
#endif
.onAppear {
UIScrollView.appearance().isScrollEnabled = false
}
.tabViewStyle(.page(indexDisplayMode: .never))
} else {
OverviewView($profileList, $selectedProfileID, $systemProxyAvailable, $systemProxyEnabled)
@@ -91,46 +93,6 @@ public struct ActiveDashboardView: View {
.alertBinding($alert)
}
@ViewBuilder
private var content0: some View {
Picker("Page", selection: $selection) {
ForEach(DashboardPage.allCases) { page in
page.label
}
}
.pickerStyle(.segmented)
#if os(iOS)
.padding([.leading, .trailing])
.navigationBarTitleDisplayMode(.inline)
#endif
TabView(selection: $selection) {
ForEach(DashboardPage.enabledCases) { page in
page.contentView($profileList, $selectedProfileID, $systemProxyAvailable, $systemProxyEnabled)
.tag(page)
}
}
}
@available(iOS 16.0, *)
@ViewBuilder
private var content1: some View {
TabView(selection: $selection) {
ForEach(DashboardPage.enabledCases) { page in
page.contentView($profileList, $selectedProfileID, $systemProxyAvailable, $systemProxyEnabled)
.tag(page)
}
}
.toolbar {
ToolbarTitleMenu {
Picker("Page", selection: $selection) {
ForEach(DashboardPage.allCases) { page in
page.label
}
}
}
}
}
private func doReload() async {
defer {
isLoading = false
@@ -13,7 +13,7 @@ public enum DashboardPage: Int, CaseIterable, Identifiable {
}
public extension DashboardPage {
#if !os(tvOS)
#if !tvOS
static var enabledCases: [DashboardPage] = [
.overview,
.groups,