SettingsRootViewModel.swift 847 B

123456789101112131415161718192021222324
  1. import Foundation
  2. import SwiftUI
  3. import Swinject
  4. class SettingsRootViewModel: ObservableObject {
  5. @Published var headerText: String = ""
  6. init() {
  7. let buildDetails = BuildDetails.default
  8. let versionNumber = Bundle.main.releaseVersionNumber ?? "Unknown"
  9. let buildNumber = Bundle.main.buildVersionNumber ?? "Unknown"
  10. let branch = buildDetails.branchAndSha
  11. let headerBase = "Trio v\(versionNumber) (\(buildNumber))\nBranch: \(branch)"
  12. if let expirationDate = buildDetails.calculateExpirationDate() {
  13. let formattedDate = DateFormatter.localizedString(from: expirationDate, dateStyle: .medium, timeStyle: .none)
  14. headerText = "\(headerBase)\n\(buildDetails.expirationHeaderString): \(formattedDate)"
  15. } else {
  16. headerText = headerBase
  17. }
  18. }
  19. }