summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorivar <i@oiee.no>2026-03-24 00:10:45 +0100
committerivar <i@oiee.no>2026-03-24 00:10:45 +0100
commitdef2bdee1007f05d0fb6f1a69b2817d2e03b2c54 (patch)
tree0c829e875d01d080ab122e6e66c5d7198945c4bf
parent0b9bfd04af48af213fc139781e8cb5ca5be1d439 (diff)
downloadsolverv-def2bdee1007f05d0fb6f1a69b2817d2e03b2c54.tar.xz
solverv-def2bdee1007f05d0fb6f1a69b2817d2e03b2c54.zip
refactor: cache DateFormatter and remove semicolons for code quality
-rw-r--r--Solsnu.Widget/Solsnu_Widget.swift34
1 files changed, 18 insertions, 16 deletions
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)
}
}