Files
Twinmoji/Twinmoji/CardView.swift
2024-12-24 05:02:21 +08:00

48 lines
1.1 KiB
Swift

//
// CardView.swift
// Twinmoji
//
// Created by Zhang Mengxu on 2024/12/23.
//
import SwiftUI
struct CardView: View {
var card: [String]
var userCanAnswer: Bool
var onSelect: (String) -> Void
var rows: Int {
if card.count == 12 {
4
} else {
3
}
}
var body: some View {
Grid(horizontalSpacing: 0, verticalSpacing: 0) {
ForEach(0..<rows, id: \.self) { i in
GridRow {
ForEach(0..<3) { j in
let text = card[i * 3 + j]
Button(text) {
onSelect(text)
}
}
}
}
}
.font(.system(size: 64))
.padding()
.background(.white)
.clipShape(.rect(cornerRadius: 20))
.fixedSize()
.shadow(radius: 10)
.disabled(userCanAnswer == false)
}
}
#Preview {
CardView(card: ["1", "2", "3", "4", "5", "6", "7", "8", "9"], userCanAnswer: true) { _ in }
}