summaryrefslogtreecommitdiff
path: root/BodyPartsView.swift
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-03-14 09:56:39 -0500
committerChristian Cleberg <[email protected]>2026-03-14 09:56:39 -0500
commitc53a320698c17d98477c0384f1f644da9735f645 (patch)
tree9c59fa0a2b2840d4531c562e79a89ed526096874 /BodyPartsView.swift
parent8e4dea12423d7de762d665d58ab31abb1fe1d4f0 (diff)
downloaddaybyday-c53a320698c17d98477c0384f1f644da9735f645.tar.gz
daybyday-c53a320698c17d98477c0384f1f644da9735f645.tar.bz2
daybyday-c53a320698c17d98477c0384f1f644da9735f645.zip
implement more learning categories
Diffstat (limited to 'BodyPartsView.swift')
-rw-r--r--BodyPartsView.swift29
1 files changed, 29 insertions, 0 deletions
diff --git a/BodyPartsView.swift b/BodyPartsView.swift
new file mode 100644
index 0000000..73019f5
--- /dev/null
+++ b/BodyPartsView.swift
@@ -0,0 +1,29 @@
+//
+// BodyPartsView.swift
+// DayByDay
+//
+
+import SwiftUI
+
+/// Displays all 12 body parts as large, tappable cards in a scrollable grid.
+struct BodyPartsView: View {
+ private let columns = [
+ GridItem(.adaptive(minimum: 280), spacing: 24)
+ ]
+
+ var body: some View {
+ ScrollView {
+ LazyVGrid(columns: columns, spacing: 24) {
+ ForEach(LearnBodyPart.allCases) { part in
+ BodyPartCard(bodyPart: part)
+ .frame(height: 200)
+ }
+ }
+ .padding(32)
+ }
+ }
+}
+
+#Preview {
+ BodyPartsView()
+}