AdvancedSettingsViewModel.swift 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. //
  2. // AdvancedSettingsViewModel.swift
  3. // LoopFollow
  4. //
  5. // Created by Jonas Björkert on 2025-01-23.
  6. // Copyright © 2025 Jon Fawcett. All rights reserved.
  7. //
  8. import Foundation
  9. class AdvancedSettingsViewModel: ObservableObject {
  10. @Published var downloadTreatments: Bool {
  11. didSet {
  12. UserDefaultsRepository.downloadTreatments.value = downloadTreatments
  13. }
  14. }
  15. @Published var downloadPrediction: Bool {
  16. didSet {
  17. UserDefaultsRepository.downloadPrediction.value = downloadPrediction
  18. }
  19. }
  20. @Published var graphBasal: Bool {
  21. didSet {
  22. UserDefaultsRepository.graphBasal.value = graphBasal
  23. }
  24. }
  25. @Published var graphBolus: Bool {
  26. didSet {
  27. UserDefaultsRepository.graphBolus.value = graphBolus
  28. }
  29. }
  30. @Published var graphCarbs: Bool {
  31. didSet {
  32. UserDefaultsRepository.graphCarbs.value = graphCarbs
  33. }
  34. }
  35. @Published var graphOtherTreatments: Bool {
  36. didSet {
  37. UserDefaultsRepository.graphOtherTreatments.value = graphOtherTreatments
  38. }
  39. }
  40. @Published var bgUpdateDelay: Int {
  41. didSet {
  42. UserDefaultsRepository.bgUpdateDelay.value = bgUpdateDelay
  43. }
  44. }
  45. @Published var debugLogLevel: Bool {
  46. didSet {
  47. Storage.shared.debugLogLevel.value = debugLogLevel
  48. }
  49. }
  50. init() {
  51. self.downloadTreatments = UserDefaultsRepository.downloadTreatments.value
  52. self.downloadPrediction = UserDefaultsRepository.downloadPrediction.value
  53. self.graphBasal = UserDefaultsRepository.graphBasal.value
  54. self.graphBolus = UserDefaultsRepository.graphBolus.value
  55. self.graphCarbs = UserDefaultsRepository.graphCarbs.value
  56. self.graphOtherTreatments = UserDefaultsRepository.graphOtherTreatments.value
  57. self.bgUpdateDelay = UserDefaultsRepository.bgUpdateDelay.value
  58. self.debugLogLevel = Storage.shared.debugLogLevel.value
  59. }
  60. }