summaryrefslogtreecommitdiffstats
path: root/Solsnu.Widget/Views/SmallWidgetView.swift
diff options
context:
space:
mode:
authorivar <i@oiee.no>2026-03-23 16:40:55 +0100
committerivar <i@oiee.no>2026-03-23 16:40:55 +0100
commite45dd001f178a640e1f799616868accb4254c313 (patch)
treee26f7f8d6d9e6135e5a88bf16a12d63d18a81eb0 /Solsnu.Widget/Views/SmallWidgetView.swift
parenta8fe9dafa7abc99490bda842e4062e08faaf70f5 (diff)
downloadsolverv-e45dd001f178a640e1f799616868accb4254c313.tar.xz
solverv-e45dd001f178a640e1f799616868accb4254c313.zip
feat: add widget views for small, medium, and large sizes
Diffstat (limited to 'Solsnu.Widget/Views/SmallWidgetView.swift')
-rw-r--r--Solsnu.Widget/Views/SmallWidgetView.swift28
1 files changed, 28 insertions, 0 deletions
diff --git a/Solsnu.Widget/Views/SmallWidgetView.swift b/Solsnu.Widget/Views/SmallWidgetView.swift
new file mode 100644
index 0000000..4ca73a7
--- /dev/null
+++ b/Solsnu.Widget/Views/SmallWidgetView.swift
@@ -0,0 +1,28 @@
+import SwiftUI
+import WidgetKit
+
+struct SmallWidgetView: View {
+ let entry: SolvervEntry
+ @Environment(\.widgetRenderingMode) var renderingMode
+
+ var body: some View {
+ VStack(spacing: 8) {
+ // Seasonal emoji
+ Text(entry.emoji)
+ .font(.system(size: 40))
+
+ // Days countdown
+ Text("\(entry.def.daysUntilNext())")
+ .font(.system(.title, design: .default).weight(.bold))
+
+ Text("days")
+ .font(.caption2)
+ }
+ .padding()
+ }
+}
+
+#Preview {
+ let entry = SolvervEntry(def: SolvervDef(utcString: "2026-12-21 20:50:00"))
+ SmallWidgetView(entry: entry)
+}