refactor into smaller units

This commit is contained in:
Rory Hinnen
2026-09-12 11:25:34 -05:00
parent 4eb7494d08
commit 1507f8b8c6
14 changed files with 637 additions and 415 deletions
+39
View File
@@ -37,3 +37,42 @@ extension View {
self.disabled(condition).opacity(condition ? 0.4 : 1.0)
}
}
struct ToggleChip: View {
let label: String
@Binding var isOn: Bool
var body: some View {
Button(action: { isOn.toggle() }) {
Text(label)
.fontWeight(isOn ? .semibold : .regular)
.padding(.horizontal, 12)
.padding(.vertical, 6)
.foregroundColor(isOn ? Color(UIColor.systemBackground) : .primary)
.background(isOn ? Color.primary : Color.clear)
.clipShape(Capsule())
.overlay(Capsule().stroke(Color.primary, lineWidth: 1))
}
}
}
struct StatStepper: View {
let top: String
let value: String
let bottom: String
let increment: () -> Void
let decrement: () -> Void
var body: some View {
VStack {
Text(top)
Group {
Text("▲").gesture(TapGesture().onEnded { increment() })
Text(value)
Text("▼").gesture(TapGesture().onEnded { decrement() })
}
.font(.system(size: 30))
Text(bottom)
}
}
}