From ea9d336944c8ce91e15966b70fd06850bd75cc5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Bj=C3=B6rkert?= Date: Sat, 21 Mar 2026 16:37:14 +0100 Subject: [PATCH] Display HIGH/LOW for out-of-range BG values on main screen Show "HIGH" when BG >= 400 and "LOW" when BG <= 39, matching Dexcom sensor range behavior. Reduce font size for these labels to fit the display. --- LoopFollow/Controllers/Nightscout/BGData.swift | 11 ++++++++--- LoopFollow/ViewControllers/MainViewController.swift | 10 ++++++++-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/LoopFollow/Controllers/Nightscout/BGData.swift b/LoopFollow/Controllers/Nightscout/BGData.swift index c07da66d5..5571739c6 100644 --- a/LoopFollow/Controllers/Nightscout/BGData.swift +++ b/LoopFollow/Controllers/Nightscout/BGData.swift @@ -236,14 +236,19 @@ extension MainViewController { let latestBG = entries[latestEntryIndex].sgv let priorBG = entries[latestEntryIndex - 1].sgv let deltaBG = latestBG - priorBG - let lastBGTime = entries[latestEntryIndex].date self.updateServerText(with: sourceName) // Set BGText with the latest BG value - self.setBGTextColor() + self.updateBGTextAppearance() - Observable.shared.bgText.value = Localizer.toDisplayUnits(String(latestBG)) + if latestBG <= 39 { + Observable.shared.bgText.value = "LOW" + } else if latestBG >= 400 { + Observable.shared.bgText.value = "HIGH" + } else { + Observable.shared.bgText.value = Localizer.toDisplayUnits(String(latestBG)) + } Observable.shared.bg.value = latestBG // Direction handling diff --git a/LoopFollow/ViewControllers/MainViewController.swift b/LoopFollow/ViewControllers/MainViewController.swift index e494ea946..e7af6bd51 100644 --- a/LoopFollow/ViewControllers/MainViewController.swift +++ b/LoopFollow/ViewControllers/MainViewController.swift @@ -277,7 +277,7 @@ class MainViewController: UIViewController, UITableViewDataSource, ChartViewDele Storage.shared.colorBGText.$value .receive(on: DispatchQueue.main) .sink { [weak self] _ in - self?.setBGTextColor() + self?.updateBGTextAppearance() } .store(in: &cancellables) @@ -1085,7 +1085,7 @@ class MainViewController: UIViewController, UITableViewDataSource, ChartViewDele } } - func setBGTextColor() { + func updateBGTextAppearance() { if bgData.count > 0 { let latestBG = bgData[bgData.count - 1].sgv var color = NSUIColor.label @@ -1105,6 +1105,12 @@ class MainViewController: UIViewController, UITableViewDataSource, ChartViewDele } BGText.textColor = color + + if latestBG <= 39 || latestBG >= 400 { + BGText.font = UIFont.systemFont(ofSize: 65, weight: .black) + } else { + BGText.font = UIFont.systemFont(ofSize: 85, weight: .black) + } } }