Always show Connections in Dashboard

This commit is contained in:
世界
2025-12-06 20:14:34 +08:00
parent f1fa3cbbdf
commit 52efbd97d2
4 changed files with 6 additions and 23 deletions
@@ -161,8 +161,6 @@ import SwiftUI
coordinator.selection = .overview coordinator.selection = .overview
} }
#endif #endif
}.onReceive(environments.commandClient.$connections) { _ in
updateButtonVisibility()
}.onReceive(profile.$status) { _ in }.onReceive(profile.$status) { _ in
updateButtonVisibility() updateButtonVisibility()
#if os(iOS) #if os(iOS)
@@ -193,7 +191,7 @@ import SwiftUI
#if os(iOS) || os(tvOS) #if os(iOS) || os(tvOS)
private func updateButtonVisibility() { private func updateButtonVisibility() {
buttonState.update(profile: profile, commandClient: environments.commandClient, requireAnyConnection: true) buttonState.update(profile: profile, commandClient: environments.commandClient)
} }
#if os(iOS) #if os(iOS)
@@ -12,8 +12,7 @@ public struct ButtonVisibilityState {
public mutating func update( public mutating func update(
profile: ExtensionProfile?, profile: ExtensionProfile?,
commandClient: CommandClient, commandClient: CommandClient
requireAnyConnection: Bool = false
) { ) {
guard let profile else { guard let profile else {
reset() reset()
@@ -25,7 +24,7 @@ public struct ButtonVisibilityState {
let isConnected = ApplicationLibrary.inPreview || profile.status.isConnectedStrict let isConnected = ApplicationLibrary.inPreview || profile.status.isConnectedStrict
showConnectionsButton = isConnected && (!requireAnyConnection || commandClient.hasAnyConnection) showConnectionsButton = isConnected
showGroupsButton = isConnected && (commandClient.groups?.isEmpty == false) showGroupsButton = isConnected && (commandClient.groups?.isEmpty == false)
} }
@@ -14,16 +14,7 @@ public enum DashboardPage: Int, CaseIterable, Identifiable {
public extension DashboardPage { public extension DashboardPage {
static func enabledCases() -> [DashboardPage] { static func enabledCases() -> [DashboardPage] {
var cases: [DashboardPage] = [ [.overview, .groups, .connections]
.overview,
.groups,
]
#if !os(tvOS)
if Variant.isBeta {
cases.append(.connections)
}
#endif
return cases
} }
static func enabledCases(hasGroups: Bool) -> [DashboardPage] { static func enabledCases(hasGroups: Bool) -> [DashboardPage] {
@@ -31,11 +22,7 @@ public extension DashboardPage {
if hasGroups { if hasGroups {
cases.append(.groups) cases.append(.groups)
} }
#if !os(tvOS) cases.append(.connections)
if Variant.isBeta {
cases.append(.connections)
}
#endif
return cases return cases
} }
} }
+1 -2
View File
@@ -144,8 +144,7 @@ struct MainView: View {
private func updateButtonVisibility() { private func updateButtonVisibility() {
buttonState.update( buttonState.update(
profile: environments.extensionProfile, profile: environments.extensionProfile,
commandClient: environments.commandClient, commandClient: environments.commandClient
requireAnyConnection: true
) )
} }