@@ -122,7 +122,7 @@ func (m *Model) startHouseForm() {
122122 form := huh .NewForm (
123123 huh .NewGroup (
124124 huh .NewInput ().
125- Title ("Nickname *" ).
125+ Title (requiredTitle ( "Nickname" ) ).
126126 Description ("Ex: Primary Residence" ).
127127 Value (& values .Nickname ).
128128 Validate (requiredText ("nickname" )),
@@ -210,7 +210,7 @@ func (m *Model) startProjectForm() {
210210 form := huh .NewForm (
211211 huh .NewGroup (
212212 huh .NewInput ().
213- Title ("Title *" ).
213+ Title (requiredTitle ( "Title" ) ).
214214 Value (& values .Title ).
215215 Validate (requiredText ("title" )),
216216 huh .NewSelect [uint ]().
@@ -242,7 +242,7 @@ func (m *Model) openProjectForm(values *projectFormData, options []huh.Option[ui
242242 form := huh .NewForm (
243243 huh .NewGroup (
244244 huh .NewInput ().
245- Title ("Title *" ).
245+ Title (requiredTitle ( "Title" ) ).
246246 Value (& values .Title ).
247247 Validate (requiredText ("title" )),
248248 huh .NewSelect [uint ]().
@@ -299,11 +299,11 @@ func (m *Model) startQuoteForm() error {
299299 Options (options ... ).
300300 Value (& values .ProjectID ),
301301 huh .NewInput ().
302- Title ("Vendor name *" ).
302+ Title (requiredTitle ( "Vendor name" ) ).
303303 Value (& values .VendorName ).
304304 Validate (requiredText ("vendor name" )),
305305 huh .NewInput ().
306- Title ("Total *" ).
306+ Title (requiredTitle ( "Total" ) ).
307307 Placeholder ("3250.00" ).
308308 Value (& values .Total ).
309309 Validate (requiredMoney ("total" )),
@@ -340,7 +340,7 @@ func (m *Model) openQuoteForm(values *quoteFormData, projectOpts []huh.Option[ui
340340 Options (projectOpts ... ).
341341 Value (& values .ProjectID ),
342342 huh .NewInput ().
343- Title ("Vendor name *" ).
343+ Title (requiredTitle ( "Vendor name" ) ).
344344 Value (& values .VendorName ).
345345 Validate (requiredText ("vendor name" )),
346346 huh .NewInput ().Title ("Contact name" ).Value (& values .ContactName ),
@@ -350,7 +350,7 @@ func (m *Model) openQuoteForm(values *quoteFormData, projectOpts []huh.Option[ui
350350 ).Title ("Vendor" ),
351351 huh .NewGroup (
352352 huh .NewInput ().
353- Title ("Total *" ).
353+ Title (requiredTitle ( "Total" ) ).
354354 Placeholder ("3250.00" ).
355355 Value (& values .Total ).
356356 Validate (requiredMoney ("total" )),
@@ -390,7 +390,7 @@ func (m *Model) startMaintenanceForm() {
390390 form := huh .NewForm (
391391 huh .NewGroup (
392392 huh .NewInput ().
393- Title ("Item *" ).
393+ Title (requiredTitle ( "Item" ) ).
394394 Value (& values .Name ).
395395 Validate (requiredText ("item" )),
396396 huh .NewSelect [uint ]().
@@ -433,7 +433,7 @@ func (m *Model) openMaintenanceForm(
433433 form := huh .NewForm (
434434 huh .NewGroup (
435435 huh .NewInput ().
436- Title ("Item *" ).
436+ Title (requiredTitle ( "Item" ) ).
437437 Value (& values .Name ).
438438 Validate (requiredText ("item" )),
439439 huh .NewSelect [uint ]().
@@ -473,7 +473,7 @@ func (m *Model) startApplianceForm() {
473473 form := huh .NewForm (
474474 huh .NewGroup (
475475 huh .NewInput ().
476- Title ("Name *" ).
476+ Title (requiredTitle ( "Name" ) ).
477477 Placeholder ("Kitchen Refrigerator" ).
478478 Value (& values .Name ).
479479 Validate (requiredText ("name" )),
@@ -497,7 +497,7 @@ func (m *Model) openApplianceForm(values *applianceFormData) {
497497 form := huh .NewForm (
498498 huh .NewGroup (
499499 huh .NewInput ().
500- Title ("Name *" ).
500+ Title (requiredTitle ( "Name" ) ).
501501 Placeholder ("Kitchen Refrigerator" ).
502502 Value (& values .Name ).
503503 Validate (requiredText ("name" )),
@@ -573,7 +573,7 @@ func (m *Model) startVendorForm() {
573573 form := huh .NewForm (
574574 huh .NewGroup (
575575 huh .NewInput ().
576- Title ("Name *" ).
576+ Title (requiredTitle ( "Name" ) ).
577577 Placeholder ("Acme Plumbing" ).
578578 Value (& values .Name ).
579579 Validate (requiredText ("name" )),
@@ -597,7 +597,7 @@ func (m *Model) openVendorForm(values *vendorFormData) {
597597 form := huh .NewForm (
598598 huh .NewGroup (
599599 huh .NewInput ().
600- Title ("Name *" ).
600+ Title (requiredTitle ( "Name" ) ).
601601 Placeholder ("Acme Plumbing" ).
602602 Value (& values .Name ).
603603 Validate (requiredText ("name" )),
@@ -908,7 +908,7 @@ func (m *Model) startServiceLogForm(maintenanceItemID uint) error {
908908 form := huh .NewForm (
909909 huh .NewGroup (
910910 huh .NewInput ().
911- Title ("Date serviced * (YYYY-MM-DD)" ).
911+ Title (requiredTitle ( "Date serviced" ) + " (YYYY-MM-DD)" ).
912912 Value (& values .ServicedAt ).
913913 Validate (requiredDate ("date serviced" )),
914914 huh .NewSelect [uint ]().
@@ -940,7 +940,7 @@ func (m *Model) openServiceLogForm(
940940 form := huh .NewForm (
941941 huh .NewGroup (
942942 huh .NewInput ().
943- Title ("Date serviced * (YYYY-MM-DD)" ).
943+ Title (requiredTitle ( "Date serviced" ) + " (YYYY-MM-DD)" ).
944944 Value (& values .ServicedAt ).
945945 Validate (requiredDate ("date serviced" )),
946946 huh .NewSelect [uint ]().
@@ -1633,6 +1633,12 @@ func houseFormValues(profile data.HouseProfile) *houseFormData {
16331633 }
16341634}
16351635
1636+ // requiredTitle appends a colored ∗ (U+2217) to a form field label.
1637+ func requiredTitle (label string ) string {
1638+ marker := lipgloss .NewStyle ().Foreground (secondary ).Render (" ∗" )
1639+ return label + marker
1640+ }
1641+
16361642func intToString (value int ) string {
16371643 if value == 0 {
16381644 return ""
0 commit comments