summaryrefslogtreecommitdiff
path: root/NumbersView.swift
blob: b6d5de694458e69fb788b77323ff66bbcc5c0814 (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
31
32
33
//
//  NumbersView.swift
//  DayByDay
//

import SwiftUI

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

    var body: some View {
        ScrollView {
            LazyVGrid(columns: columns, spacing: 24) {
                ForEach(LearnNumber.allCases) { number in
                    NumberCard(
                        number: number,
                        isHighlighted: number == .current
                    )
                    .frame(height: 200)
                }
            }
            .padding(32)
        }
    }
}

#Preview {
    NumbersView()
}