From 7114b86f7d42c29a296515d4db87f3fac5c59146 Mon Sep 17 00:00:00 2001 From: Stossy11 Date: Thu, 2 Oct 2025 14:38:54 +1000 Subject: [PATCH] Add Apple TV support and Fix UI --- Build.xcconfig | 2 +- StosVPN.xcodeproj/project.pbxproj | 16 ++ .../UserInterfaceState.xcuserstate | Bin 63234 -> 72288 bytes StosVPN/ContentView.swift | 139 ++++++++++++++++-- 4 files changed, 144 insertions(+), 13 deletions(-) diff --git a/Build.xcconfig b/Build.xcconfig index 98c21cf..1f49873 100644 --- a/Build.xcconfig +++ b/Build.xcconfig @@ -5,7 +5,7 @@ MARKETING_VERSION = 1.1.1 CURRENT_PROJECT_VERSION = 1 // Vars to be overwritten by `CodeSigning.xcconfig` if exists -DEVELOPMENT_TEAM = S32Z3HMYVQ +DEVELOPMENT_TEAM = 95J8WZ4TN8 ORG_IDENTIFIER = com.stossy11 // Codesigning settings defined optionally, see `CodeSigning.xcconfig.example` diff --git a/StosVPN.xcodeproj/project.pbxproj b/StosVPN.xcodeproj/project.pbxproj index 187b0ec..4b43228 100644 --- a/StosVPN.xcodeproj/project.pbxproj +++ b/StosVPN.xcodeproj/project.pbxproj @@ -417,9 +417,13 @@ "$(inherited)", "@executable_path/Frameworks", ); + SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; SWIFT_OBJC_BRIDGING_HEADER = "StosVPN/StosVPN-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,3"; + TVOS_DEPLOYMENT_TARGET = 17.0; }; name = Debug; }; @@ -440,8 +444,12 @@ "$(inherited)", "@executable_path/Frameworks", ); + SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; SWIFT_OBJC_BRIDGING_HEADER = "StosVPN/StosVPN-Bridging-Header.h"; SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,3"; + TVOS_DEPLOYMENT_TARGET = 17.0; }; name = Release; }; @@ -455,8 +463,12 @@ ); PRODUCT_BUNDLE_IDENTIFIER = "$(TUNNEL_BUNDLE_IDENTIFIER)"; SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; SWIFT_OBJC_BRIDGING_HEADER = "StosVPN/StosVPN-Bridging-Header.h"; SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,3"; + TVOS_DEPLOYMENT_TARGET = 17.0; }; name = Debug; }; @@ -470,8 +482,12 @@ ); PRODUCT_BUNDLE_IDENTIFIER = "$(TUNNEL_BUNDLE_IDENTIFIER)"; SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator"; + SUPPORTS_MACCATALYST = NO; SWIFT_OBJC_BRIDGING_HEADER = "StosVPN/StosVPN-Bridging-Header.h"; SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,3"; + TVOS_DEPLOYMENT_TARGET = 17.0; }; name = Release; }; diff --git a/StosVPN.xcodeproj/project.xcworkspace/xcuserdata/stossy11.xcuserdatad/UserInterfaceState.xcuserstate b/StosVPN.xcodeproj/project.xcworkspace/xcuserdata/stossy11.xcuserdatad/UserInterfaceState.xcuserstate index c3edd96e91193b31d9eb18054949c3068e538637..af9fc137dad8bc2c3da9c99ad9dc5f1f39483fa2 100644 GIT binary patch literal 72288 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⪚+&5(uFTnY7lG3C&~D1~0dynC^JX{_qLB?Sx< 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 literal 63234 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 z some View { + #if os(iOS) + self.navigationBarTitleDisplayMode(displayMode) + #else + self + #endif + } +} + struct StatusIndicatorView: View { @StateObject private var tunnelManager = TunnelManager.shared @@ -776,6 +787,7 @@ struct SettingsView: View { @AppStorage("autoConnect") private var autoConnect = false @AppStorage("shownTunnelAlert") private var shownTunnelAlert = false @StateObject private var tunnelManager = TunnelManager.shared + @AppStorage("hasNotCompletedSetup") private var hasNotCompletedSetup = true @State private var showNetworkWarning = false @@ -843,7 +855,7 @@ struct SettingsView: View { ) } .navigationTitle(Text("settings")) - .navigationBarTitleDisplayMode(.inline) + .tvOSNavigationBarTitleDisplayMode(.inline) .toolbar { ToolbarItem(placement: .topBarTrailing) { Button("done") { @@ -920,7 +932,7 @@ struct DataCollectionInfoView: View { .padding() } .navigationTitle(Text("data_collection_policy_nav")) - .navigationBarTitleDisplayMode(.inline) + .tvOSNavigationBarTitleDisplayMode(.inline) } } @@ -932,7 +944,7 @@ struct ConnectionLogView: View { .font(.system(.body, design: .monospaced)) } .navigationTitle(Text("logs_nav")) - .navigationBarTitleDisplayMode(.inline) + .tvOSNavigationBarTitleDisplayMode(.inline) } } @@ -1023,7 +1035,7 @@ struct HelpView: View { } } .navigationTitle(Text("help_and_support_nav")) - .navigationBarTitleDisplayMode(.inline) + .tvOSNavigationBarTitleDisplayMode(.inline) } } @@ -1078,6 +1090,8 @@ struct SetupView: View { .fontWeight(.semibold) .frame(height: 50) .frame(maxWidth: .infinity) + .background(Color.blue) + .foregroundColor(.white) .cornerRadius(10) .padding(.horizontal) } @@ -1091,14 +1105,17 @@ struct SetupView: View { .fontWeight(.semibold) .frame(height: 50) .frame(maxWidth: .infinity) + .background(Color.blue) + .foregroundColor(.white) .cornerRadius(10) .padding(.horizontal) } .padding(.bottom) } + } .navigationTitle(Text("setup_nav")) - .navigationBarTitleDisplayMode(.inline) + .tvOSNavigationBarTitleDisplayMode(.inline) .toolbar { ToolbarItem(placement: .topBarTrailing) { Button("setup_skip") { hasNotCompletedSetup = false; dismiss() } @@ -1123,25 +1140,25 @@ struct SetupPageView: View { let page: SetupPage var body: some View { - VStack(spacing: 30) { + VStack(spacing: tvOSSpacing) { Image(systemName: page.imageName) - .font(.system(size: 80)) + .font(.system(size: tvOSImageSize)) .foregroundColor(.blue) - .padding(.top, 50) + .padding(.top, tvOSTopPadding) Text(page.title) - .font(.title) + .font(tvOSTitleFont) .fontWeight(.bold) .multilineTextAlignment(.center) Text(page.description) - .font(.headline) + .font(tvOSDescriptionFont) .foregroundColor(.secondary) .multilineTextAlignment(.center) ScrollView { Text(page.details) - .font(.body) + .font(tvOSBodyFont) .multilineTextAlignment(.leading) .padding(.horizontal) } @@ -1150,8 +1167,58 @@ struct SetupPageView: View { } .padding() } + + // MARK: - Conditional sizes for tvOS + private var tvOSImageSize: CGFloat { + #if os(tvOS) + return 60 + #else + return 80 + #endif + } + + private var tvOSTopPadding: CGFloat { + #if os(tvOS) + return 30 + #else + return 50 + #endif + } + + private var tvOSSpacing: CGFloat { + #if os(tvOS) + return 20 + #else + return 30 + #endif + } + + private var tvOSTitleFont: Font { + #if os(tvOS) + return .headline //.system(size: 35).bold() + #else + return .title + #endif + } + + private var tvOSDescriptionFont: Font { + #if os(tvOS) + return .subheadline + #else + return .headline + #endif + } + + private var tvOSBodyFont: Font { + #if os(tvOS) + return .system(size: 18).bold() + #else + return .body + #endif + } } + class LanguageManager: ObservableObject { static let shared = LanguageManager() @@ -1172,6 +1239,54 @@ class LanguageManager: ObservableObject { } } +#if os(tvOS) +@ViewBuilder +func GroupBox( + label: some View, + @ViewBuilder content: @escaping () -> Content +) -> some View { + #if os(tvOS) + tvOSGroupBox(label: { + label + }, content: content) + #else + SwiftUI.GroupBox(label: label, content: content) + #endif +} + +struct tvOSGroupBox: View { + @ViewBuilder let label: () -> Label + @ViewBuilder let content: () -> Content + + init( + @ViewBuilder label: @escaping () -> Label, + @ViewBuilder content: @escaping () -> Content + ) { + self.label = label + self.content = content + } + + var body: some View { + VStack(alignment: .leading, spacing: 8) { + label() + .font(.headline) + + content() + .padding(.top, 4) + } + .padding() + .background( + RoundedRectangle(cornerRadius: 12, style: .continuous) + .fill(.secondary) + ) + .overlay( + RoundedRectangle(cornerRadius: 12, style: .continuous) + .stroke(.separator, lineWidth: 0.5) + ) + } +} +#endif + #Preview { ContentView() }