summaryrefslogtreecommitdiffstats
path: root/Solsnu.Widget/Views
diff options
context:
space:
mode:
Diffstat (limited to 'Solsnu.Widget/Views')
-rw-r--r--Solsnu.Widget/Views/SmallWidgetView.swift39
1 files changed, 22 insertions, 17 deletions
diff --git a/Solsnu.Widget/Views/SmallWidgetView.swift b/Solsnu.Widget/Views/SmallWidgetView.swift
index 4ca73a7..86aa913 100644
--- a/Solsnu.Widget/Views/SmallWidgetView.swift
+++ b/Solsnu.Widget/Views/SmallWidgetView.swift
@@ -1,28 +1,33 @@
import SwiftUI
import WidgetKit
+import Combine
struct SmallWidgetView: View {
let entry: SolvervEntry
@Environment(\.widgetRenderingMode) var renderingMode
-
+ @Environment(\.locale) var locale
+
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))
+ ZStack {
+ Image(entry.def.bg)
+ .resizable()
+ .scaledToFill()
+ VStack(spacing: 8) {
+ Text("\(entry.def.daysUntilNext())")
+ .font(.system(size: 26, weight: .bold, design: .serif))
+ .foregroundStyle(Color(red: 0.152, green: 0.136, blue: 0.056))
+ .italic()
- Text("days")
- .font(.caption2)
+ if !entry.def.sunriseFormatted.isEmpty && !entry.def.sunsetFormatted.isEmpty {
+ HStack(spacing: 4) {
+ Text("↑ \(entry.def.sunriseFormatted)")
+ Text("↓ \(entry.def.sunsetFormatted)")
+ }
+ .font(.system(size: 11, weight: .regular))
+ .foregroundStyle(Color(red: 0.152, green: 0.136, blue: 0.056))
+ }
+ }
}
- .padding()
+ .containerBackground(for: .widget, alignment: .center) { Color.clear }
}
}
-
-#Preview {
- let entry = SolvervEntry(def: SolvervDef(utcString: "2026-12-21 20:50:00"))
- SmallWidgetView(entry: entry)
-}