Satoru
%s
%s
%spackage webui import ( "context" "fmt" "html" "io" "github.com/a-h/templ" ) type AuthPageData struct { Username string Error string } func Signup(data AuthPageData) templ.Component { return authPage( "Sign up", "Create your account", "First account created becomes the initial admin.", "/signup", "Create account", "/signin", "Already have an account? Sign in", data, ) } func Signin(data AuthPageData) templ.Component { return authPage( "Sign in", "Welcome back", "Sign in to manage backup infrastructure.", "/signin", "Sign in", "/signup", "Need an account? Sign up", data, ) } func authPage( title string, heading string, description string, action string, submitLabel string, switchHref string, switchLabel string, data AuthPageData, ) templ.Component { return templ.ComponentFunc(func(_ context.Context, w io.Writer) error { errBlock := "" if data.Error != "" { errBlock = fmt.Sprintf(`
%s
`, html.EscapeString(data.Error)) } _, err := io.WriteString(w, fmt.Sprintf(`Satoru
%s
%s