summaryrefslogtreecommitdiffstats
path: root/Solsnu.Widget
diff options
context:
space:
mode:
Diffstat (limited to 'Solsnu.Widget')
-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)
}
}