summaryrefslogtreecommitdiff
path: root/ShapesView.swift
blob: 347dbadd37660d9e40477ffbb11ac7c9b21f5a41 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//
//  ShapesView.swift
//  DayByDay
//

import SwiftUI

/// Displays 8 shapes as large, tappable cards in a scrollable grid.
/// Adapts between 1 and 2 columns depending on available width.
struct ShapesView: View {
    private let columns = [
        GridItem(.adaptive(minimum: 300, maximum: 500), spacing: 24)
    ]

    var body: some View {
        ScrollView {
            LazyVGrid(columns: columns, spacing: 24) {
                ForEach(LearnShape.allCases) { shape in
                    ShapeCard(shape: shape)
                        .frame(height: 200)
                }
            }
            .padding(32)
        }
    }
}

#Preview {
    ShapesView()
}