personal-site/pkg/ui/forms/forgot_password.go

39 lines
916 B
Go

package forms
import (
"net/http"
"github.com/camzawacki/personal-site/pkg/form"
"github.com/camzawacki/personal-site/pkg/routenames"
"github.com/camzawacki/personal-site/pkg/ui"
. "github.com/camzawacki/personal-site/pkg/ui/components"
. "maragu.dev/gomponents"
. "maragu.dev/gomponents/html"
)
type ForgotPassword struct {
Email string `form:"email" validate:"required,email"`
form.Submission
}
func (f *ForgotPassword) Render(r *ui.Request) Node {
return Form(
ID("forgot-password"),
Method(http.MethodPost),
HxBoost(),
Action(r.Path(routenames.ForgotPasswordSubmit)),
InputField(InputFieldParams{
Form: f,
FormField: "Email",
Name: "email",
InputType: "email",
Label: "Email address",
Value: f.Email,
}),
ControlGroup(
FormButton(ColorPrimary, "Reset password"),
ButtonLink(ColorLink, r.Path(routenames.Home), "Cancel"),
),
CSRF(r),
)
}