From f6e723edc3bee7b190cf80c2cce586f8769f1aee Mon Sep 17 00:00:00 2001 From: Letro Bot Date: Mon, 4 May 2026 23:32:03 +0400 Subject: [PATCH] Add Acknowledgement row to About page in settings --- .../View/LegalInformationScreen.swift | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/ElementX/Sources/Screens/Settings/LegalInformationScreen/View/LegalInformationScreen.swift b/ElementX/Sources/Screens/Settings/LegalInformationScreen/View/LegalInformationScreen.swift index 242e90b03..4f13c0b93 100644 --- a/ElementX/Sources/Screens/Settings/LegalInformationScreen/View/LegalInformationScreen.swift +++ b/ElementX/Sources/Screens/Settings/LegalInformationScreen/View/LegalInformationScreen.swift @@ -14,9 +14,7 @@ struct LegalInformationScreen: View { let context: LegalInformationScreenViewModel.Context @Environment(\.openURL) private var openURL - /* - Letro: open legal info in a sheet instead of external browser - */ + // Letro: Open legal info in a sheet instead of external browser @State private var browserURL: BrowserURL? var body: some View { @@ -28,6 +26,9 @@ struct LegalInformationScreen: View { kind: .button { browserURL = BrowserURL(context.viewState.acceptableUseURL) }) ListRow(label: .plain(title: L10n.commonPrivacyPolicy), kind: .button { browserURL = BrowserURL(context.viewState.privacyURL) }) + // Letro: Add Acknowledgement row + ListRow(label: .plain(title: "Acknowledgement"), + kind: .button { browserURL = BrowserURL(acknowledgementURL) }) } } .compoundList() @@ -47,15 +48,19 @@ struct LegalInformationScreen: View { } } } + + private var acknowledgementURL: URL { + let version = InfoPlistReader.main.bundleShortVersionString + let baseURL = URL(string: "https://git.postnumber.com/letro/letro-authentication-service/releases/download/")! + return URL(string: "letro-v\(version)/sbom.json", relativeTo: baseURL)!.absoluteURL + } } -/* - Letro: open legal info in a sheet instead of external browser - */ - private struct BrowserURL: Identifiable { let url: URL - var id: URL { url } + var id: URL { + url + } init(_ url: URL) { self.url = url