summaryrefslogtreecommitdiff
path: root/AnimalsView.swift
blob: d3c5a2d124ad94a64bd8c835a9bef87b9ade0282 (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
//
//  AnimalsView.swift
//  DayByDay
//

import SwiftUI

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

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

#Preview {
    AnimalsView()
}