From def2bdee1007f05d0fb6f1a69b2817d2e03b2c54 Mon Sep 17 00:00:00 2001 From: ivar Date: Tue, 24 Mar 2026 00:10:45 +0100 Subject: refactor: cache DateFormatter and remove semicolons for code quality --- Solsnu.Widget/Solsnu_Widget.swift | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) (limited to 'Solsnu.Widget/Solsnu_Widget.swift') diff --git a/Solsnu.Widget/Solsnu_Widget.swift b/Solsnu.Widget/Solsnu_Widget.swift index aeadf64..5da5621 100644 --- a/Solsnu.Widget/Solsnu_Widget.swift +++ b/Solsnu.Widget/Solsnu_Widget.swift @@ -70,16 +70,24 @@ struct Solsnu_Widget: Widget { } struct SolvervDef { - let date: Date; - let bg: String; - let sunriseTime: Date?; - let sunsetTime: Date?; + let date: Date + let bg: String + let sunriseTime: Date? + let sunsetTime: Date? + + // Cached formatter for performance + private static let timeFormatter: DateFormatter = { + let formatter = DateFormatter() + formatter.dateFormat = "HH:mm" + formatter.timeZone = TimeZone.current + return formatter + }() init(date: Date, sunriseTime: Date? = nil, sunsetTime: Date? = nil) { - self.date = date; - self.sunriseTime = sunriseTime; - self.sunsetTime = sunsetTime; - self.bg = "smallbg"; + self.date = date + self.sunriseTime = sunriseTime + self.sunsetTime = sunsetTime + self.bg = "smallbg" } init(utcString: String, sunriseTime: Date? = nil, sunsetTime: Date? = nil) { @@ -96,18 +104,12 @@ struct SolvervDef { var sunriseFormatted: String { guard let time = sunriseTime else { return "" } - let formatter = DateFormatter() - formatter.dateFormat = "HH:mm" - formatter.timeZone = TimeZone.current - return formatter.string(from: time) + return Self.timeFormatter.string(from: time) } var sunsetFormatted: String { guard let time = sunsetTime else { return "" } - let formatter = DateFormatter() - formatter.dateFormat = "HH:mm" - formatter.timeZone = TimeZone.current - return formatter.string(from: time) + return Self.timeFormatter.string(from: time) } } -- cgit v1.3