Files
sonr/gateway/islands/input_handle.templ
T

46 lines
1.4 KiB
Templ
Raw Normal View History

2024-12-22 17:01:11 -05:00
package islands
type HandleState string
const (
HandleStateInitial HandleState = "inital"
HandleStateValid HandleState = "valid"
HandleStateInvalid HandleState = "invalid"
)
func (s HandleState) string() string {
return string(s)
}
2024-12-22 17:01:11 -05:00
templ InputHandle() {
2024-12-16 15:29:54 -05:00
<div hx-target="this" hx-swap="outerHTML">
2024-12-22 17:01:11 -05:00
<sl-input name="handle" placeholder="digitalgold" type="text" label="Handle" minlength="4" maxlength="12" required hx-post="/register/profile" hx-indicator="#handle-indicator" autofocus>
<div slot="prefix">
<sl-icon name="at-sign" library="sonr"></sl-icon>
</div>
</sl-input>
</div>
2024-12-11 14:57:07 -05:00
<br/>
}
2024-12-22 17:01:11 -05:00
templ InputHandleError(value string, helpText string) {
2024-12-18 15:53:45 -05:00
<sl-input name="handle" placeholder="digitalgold" type="text" label="Handle" minlength="4" maxlength="12" required class="border-red-500" value={ value } help-text={ helpText }>
<div slot="prefix">
<sl-icon name="at-sign" library="sonr"></sl-icon>
</div>
<div slot="suffix" style="color: #B54549;">
2024-12-16 15:29:54 -05:00
<sl-icon name="x"></sl-icon>
</div>
</sl-input>
2024-12-11 14:57:07 -05:00
<br/>
}
2024-12-22 17:01:11 -05:00
templ InputHandleSuccess(value string) {
2024-12-16 15:29:54 -05:00
<sl-input name="handle" placeholder="digitalgold" type="text" label="Handle" minlength="4" maxlength="12" required class="border-green-500" value={ value } disabled>
<div slot="prefix" style="color: #46A758;">
<sl-icon name="at-sign" library="sonr"></sl-icon>
</div>
</sl-input>
2024-12-11 14:57:07 -05:00
<br/>
}