SettingsRootViewModel.swift 922 B

12345678910111213141516171819202122232425262728293031
  1. //
  2. // SettingsRootViewModel.swift
  3. // FreeAPS
  4. //
  5. // Created by Jonas Björkert on 2024-05-09.
  6. //
  7. import Foundation
  8. import SwiftUI
  9. import Swinject
  10. class SettingsRootViewModel: ObservableObject {
  11. @Published var headerText: String = ""
  12. init() {
  13. let buildDetails = BuildDetails.default
  14. let versionNumber = Bundle.main.releaseVersionNumber ?? "Unknown"
  15. let buildNumber = Bundle.main.buildVersionNumber ?? "Unknown"
  16. let branch = buildDetails.branchAndSha
  17. let headerBase = "Trio v\(versionNumber) (\(buildNumber))\nBranch: \(branch)"
  18. if let expirationDate = buildDetails.calculateExpirationDate() {
  19. let formattedDate = DateFormatter.localizedString(from: expirationDate, dateStyle: .medium, timeStyle: .none)
  20. headerText = "\(headerBase)\nBuild Expires: \(formattedDate)"
  21. } else {
  22. headerText = headerBase
  23. }
  24. }
  25. }