From e45dd001f178a640e1f799616868accb4254c313 Mon Sep 17 00:00:00 2001 From: ivar Date: Mon, 23 Mar 2026 16:40:55 +0100 Subject: feat: add widget views for small, medium, and large sizes --- Solsnu.Widget/Views/MediumWidgetView.swift | 36 ++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 Solsnu.Widget/Views/MediumWidgetView.swift (limited to 'Solsnu.Widget/Views/MediumWidgetView.swift') diff --git a/Solsnu.Widget/Views/MediumWidgetView.swift b/Solsnu.Widget/Views/MediumWidgetView.swift new file mode 100644 index 0000000..6f1c8e9 --- /dev/null +++ b/Solsnu.Widget/Views/MediumWidgetView.swift @@ -0,0 +1,36 @@ +import SwiftUI +import WidgetKit + +struct MediumWidgetView: View { + let entry: SolvervEntry + + var body: some View { + HStack(spacing: 12) { + // Left: Emoji + Text(entry.emoji) + .font(.system(size: 60)) + + // Right: Info + VStack(alignment: .leading, spacing: 8) { + Text("Season Event") + .font(.headline) + .lineLimit(1) + + Text("\(entry.def.daysUntilNext()) days") + .font(.system(.title3, design: .default).weight(.semibold)) + + ProgressView(value: Double(entry.def.progressRatio())) + + Spacer() + } + + Spacer() + } + .padding() + } +} + +#Preview { + let entry = SolvervEntry(def: SolvervDef(utcString: "2026-12-21 20:50:00")) + MediumWidgetView(entry: entry) +} -- cgit v1.3