package component import ( "errors" "forge.cadoles.com/wpetit/clearcase/internal/http/form" ) templ FormField(form *form.Form, id string, name string, label string) { {{ field := form.Field(name) }} if field != nil {
{{ err, hasErr := form.Error(name) }}
if hasErr {

{ err.Message() }

}
} } templ FormTextarea(form *form.Form, id string, name string, label string) { {{ field := form.Field(name) }} if field != nil {
{{ err, hasErr := form.Error(name) }} {{ value, hasValue := field.Get("value") }} if hasErr {

{ err.Message() }

}
} } templ FormSelect(form *form.Form, id string, name string, label string, kvOptions ...string) { {{ field := form.Field(name) }} if field != nil {
{{ err, hasErr := form.Error(name) }}
if hasErr {

{ err.Message() }

}
} } type SelectOption struct { Value string Label string } func keyValuesToOptions(kv []string) []SelectOption { if len(kv)%2 != 0 { panic(errors.New("expected pair number of key/values")) } options := make([]SelectOption, 0) var key string for idx := range kv { if idx%2 == 0 { key = kv[idx] continue } options = append(options, SelectOption{ Value: kv[idx], Label: key, }) } return options }