From a74d56b4e18f4e8bf8f3d3a5462baabaa241b1c3 Mon Sep 17 00:00:00 2001 From: Hariharan Mudaliar Date: Mon, 3 Nov 2025 11:24:23 +0530 Subject: [PATCH] Update Battery Icon --- .../LockScreen/LockScreenWeatherWidget.swift | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/DynamicIsland/components/LockScreen/LockScreenWeatherWidget.swift b/DynamicIsland/components/LockScreen/LockScreenWeatherWidget.swift index 9ddfd95..8d0380d 100644 --- a/DynamicIsland/components/LockScreen/LockScreenWeatherWidget.swift +++ b/DynamicIsland/components/LockScreen/LockScreenWeatherWidget.swift @@ -163,7 +163,7 @@ struct LockScreenWeatherWidget: View { Gauge(value: Double(level), in: 0...100) { EmptyView() } currentValueLabel: { - Image(systemName: "battery.100") + Image(systemName: batteryIconName(for: level)) .font(.system(size: 20, weight: .semibold)) .foregroundStyle(Color.white) } minimumValueLabel: { @@ -570,6 +570,22 @@ struct LockScreenWeatherWidget: View { clampedBatteryLevel(battery.batteryLevel) ) } + + private func batteryIconName(for level: Int) -> String { + let clamped = clampedBatteryLevel(level) + switch clamped { + case ..<10: + return "battery.0percent" + case 10..<40: + return "battery.25percent" + case 40..<70: + return "battery.50percent" + case 70..<90: + return "battery.75percent" + default: + return "battery.100percent" + } + } }