summaryrefslogtreecommitdiff
path: root/DayByDay/SeasonsView.swift
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-03-09 20:30:56 -0500
committerChristian Cleberg <[email protected]>2026-03-09 20:31:43 -0500
commit83479f9840f230c0c0dbee083b75735090ae9322 (patch)
treef4c79dc64d3308df30965b72f66882d27faa022c /DayByDay/SeasonsView.swift
parent84f1d5479a9fa884fd3d9119c5edcc4ca42810b5 (diff)
downloaddaybyday-83479f9840f230c0c0dbee083b75735090ae9322.tar.gz
daybyday-83479f9840f230c0c0dbee083b75735090ae9322.tar.bz2
daybyday-83479f9840f230c0c0dbee083b75735090ae9322.zip
initial 1.0 release
Diffstat (limited to 'DayByDay/SeasonsView.swift')
-rw-r--r--DayByDay/SeasonsView.swift30
1 files changed, 30 insertions, 0 deletions
diff --git a/DayByDay/SeasonsView.swift b/DayByDay/SeasonsView.swift
new file mode 100644
index 0000000..848bb13
--- /dev/null
+++ b/DayByDay/SeasonsView.swift
@@ -0,0 +1,30 @@
+//
+// SeasonsView.swift
+// DayByDay
+//
+
+import SwiftUI
+
+/// Displays all four seasons as large, tappable cards in a scrollable grid.
+/// Adapts between 1 and 2 columns depending on available width.
+struct SeasonsView: View {
+ private let columns = [
+ GridItem(.adaptive(minimum: 300, maximum: 500), spacing: 24)
+ ]
+
+ var body: some View {
+ ScrollView {
+ LazyVGrid(columns: columns, spacing: 24) {
+ ForEach(Season.allCases) { season in
+ SeasonCard(season: season, isHighlighted: season == .current)
+ .frame(height: 200)
+ }
+ }
+ .padding(32)
+ }
+ }
+}
+
+#Preview {
+ SeasonsView()
+}