From 2e21ae29a74df23f2129f1ceecec5ee57174e05b Mon Sep 17 00:00:00 2001 From: Bradley Mackey Date: Sun, 7 Jun 2026 14:20:01 +0100 Subject: [PATCH 1/2] Add app version to About page --- .../Views/Settings/VaultAboutView.swift | 29 ++++++++++++++++-- .../VaultAboutViewSnapshotTests.swift | 7 +++-- .../VaultAboutViewSnapshotTests/layout.1.png | Bin 201861 -> 208891 bytes 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/Vault/Sources/VaultiOS/Views/Settings/VaultAboutView.swift b/Vault/Sources/VaultiOS/Views/Settings/VaultAboutView.swift index a7d5b02e..d59e8a1c 100644 --- a/Vault/Sources/VaultiOS/Views/Settings/VaultAboutView.swift +++ b/Vault/Sources/VaultiOS/Views/Settings/VaultAboutView.swift @@ -5,9 +5,11 @@ import VaultSettings struct VaultAboutView: View { @State private var viewModel: SettingsViewModel + private let appVersionText: String - init(viewModel: SettingsViewModel) { + init(viewModel: SettingsViewModel, appVersionText: String = Bundle.main.vaultAboutVersionText) { self.viewModel = viewModel + self.appVersionText = appVersionText } var body: some View { @@ -100,9 +102,12 @@ struct VaultAboutView: View { Image("bad-bundle-logo", bundle: VaultFeedAssets.bundle) .resizable(resizingMode: .stretch) .scaledToFit() - .frame(height: 30) + .frame(height: 21.6) Text("free and open since 2024 ✌️") - .font(.caption2.bold()) + .font(.caption2) + Text(appVersionText) + .font(.caption2) + .padding(.top, 12) } .padding(.top, 24) .containerRelativeFrame(.horizontal) @@ -111,3 +116,21 @@ struct VaultAboutView: View { } } } + +extension Bundle { + fileprivate var vaultAboutVersionText: String { + let marketingVersion = object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String + let buildNumber = object(forInfoDictionaryKey: "CFBundleVersion") as? String + + switch (marketingVersion, buildNumber) { + case let (.some(marketingVersion), .some(buildNumber)): + return "Version \(marketingVersion) (Build \(buildNumber))" + case let (.some(marketingVersion), .none): + return "Version \(marketingVersion)" + case let (.none, .some(buildNumber)): + return "Build \(buildNumber)" + case (.none, .none): + return "Version unavailable" + } + } +} diff --git a/Vault/Tests/VaultiOSTests/VaultAboutViewSnapshotTests.swift b/Vault/Tests/VaultiOSTests/VaultAboutViewSnapshotTests.swift index 8bee1bb3..d5a2dc24 100644 --- a/Vault/Tests/VaultiOSTests/VaultAboutViewSnapshotTests.swift +++ b/Vault/Tests/VaultiOSTests/VaultAboutViewSnapshotTests.swift @@ -7,8 +7,11 @@ import Testing struct VaultAboutViewSnapshotTests { @Test func layout() { - let sut = VaultAboutView(viewModel: .init()) - .framedForTest(height: 1200) + let sut = VaultAboutView( + viewModel: .init(), + appVersionText: "Version 2.0 (Build 100001)", + ) + .framedForTest(height: 1200) assertSnapshot(of: sut, as: .image) } diff --git a/Vault/Tests/VaultiOSTests/__Snapshots__/VaultAboutViewSnapshotTests/layout.1.png b/Vault/Tests/VaultiOSTests/__Snapshots__/VaultAboutViewSnapshotTests/layout.1.png index 7f95f75506ad45d33b41f2019dd666b46f1d8956..b5b5c0dae898a985c6012790d574ac6d4afa4915 100644 GIT binary patch delta 66608 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 Date: Sun, 7 Jun 2026 14:26:12 +0100 Subject: [PATCH 2/2] Update open source repository URL --- Vault/Sources/VaultSettings/OpenSourceStrings.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Vault/Sources/VaultSettings/OpenSourceStrings.swift b/Vault/Sources/VaultSettings/OpenSourceStrings.swift index a784ebb1..44df4454 100644 --- a/Vault/Sources/VaultSettings/OpenSourceStrings.swift +++ b/Vault/Sources/VaultSettings/OpenSourceStrings.swift @@ -17,5 +17,5 @@ public enum OpenSourceStrings { localized(key: "openSource.aboutLink") } - public static let openSourceLink = URL(string: "https://github.com/bradleymackey/vault-ios")! + public static let openSourceLink = URL(string: "https://github.com/badbundle/vault-ios")! }