{{/* Reusable prompt card partial - expects . to be a PromptView */}}
Stop tracking? Yes No
{{.Question}} {{if .ScheduleFormatted}}
🔁 {{.ScheduleFormatted}}
{{end}}
{{.Category}} {{.NextAskFormatted}}
{{if .Groups}} {{if eq .Layout "two-column"}} {{/* Two-column layout - first two groups side-by-side */}}
{{range $i, $g := .Groups}} {{if lt $i 2}}
{{if $g.Title}}
{{$g.Title}}
{{end}}
{{range $g.Fields}} {{if eq .Type "number"}}
{{if .Label}}{{.Label}}:{{end}} {{if .Unit}}{{.Unit}}{{end}}
{{end}} {{end}}
{{end}} {{end}}
{{/* Remaining groups below (index 2+) with save button inline */}} {{range $i, $g := .Groups}} {{if ge $i 2}}
{{if $g.Title}}
{{$g.Title}}
{{end}} {{range $g.Fields}} {{if eq .Type "text"}}
{{end}} {{end}}
{{end}} {{end}} {{/* Save button if no text fields */}} {{$hasText := false}} {{range .Groups}} {{range .Fields}} {{if eq .Type "text"}}{{$hasText = true}}{{end}} {{end}} {{end}} {{if not $hasText}}
{{end}} {{else}} {{/* Regular grouped fields */}} {{range .Groups}}
{{if .Title}}
{{.Title}}
{{end}}
{{range .Fields}} {{if eq .Type "number"}}
{{if .Label}}{{.Label}}:{{end}} {{if .Unit}}{{.Unit}}{{end}}
{{else if eq .Type "text"}}
{{end}} {{end}}
{{end}}
{{end}} {{else if .Fields}} {{/* Flat fields */}}
{{range .Fields}} {{if eq .Type "number"}} {{if .Label}}{{.Label}}{{end}} {{if .Unit}}{{.Unit}}{{end}} {{else if eq .Type "checkbox"}} {{else if eq .Type "text"}} {{if .Label}}{{.Label}}{{end}} {{end}} {{end}}
{{end}}