diff options
Diffstat (limited to 'Solsnu.Widget')
| -rw-r--r-- | Solsnu.Widget/Views/SmallWidgetView.swift | 39 |
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) -} |
