2024-12-22 17:01:11 -05:00
|
|
|
package islands
|
2024-12-10 23:41:49 -05:00
|
|
|
|
2024-12-11 15:11:24 -05:00
|
|
|
type HandleState string
|
2024-12-10 23:41:49 -05:00
|
|
|
|
|
|
|
const (
|
2024-12-11 15:11:24 -05:00
|
|
|
HandleStateInitial HandleState = "inital"
|
|
|
|
HandleStateValid HandleState = "valid"
|
|
|
|
HandleStateInvalid HandleState = "invalid"
|
2024-12-10 23:41:49 -05:00
|
|
|
)
|
|
|
|
|
2024-12-11 15:11:24 -05:00
|
|
|
func (s HandleState) string() string {
|
2024-12-10 23:41:49 -05:00
|
|
|
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>
|
2024-12-13 15:10:27 -05:00
|
|
|
<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-10 23:41:49 -05:00
|
|
|
}
|
2024-12-11 11:36:52 -05:00
|
|
|
|
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 }>
|
2024-12-11 11:36:52 -05:00
|
|
|
<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>
|
2024-12-11 11:36:52 -05:00
|
|
|
</div>
|
|
|
|
</sl-input>
|
2024-12-11 14:57:07 -05:00
|
|
|
<br/>
|
2024-12-11 11:36:52 -05:00
|
|
|
}
|
|
|
|
|
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>
|
2024-12-11 11:36:52 -05:00
|
|
|
<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/>
|
2024-12-11 11:36:52 -05:00
|
|
|
}
|