You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
924 B
TypeScript
33 lines
924 B
TypeScript
import { BaseContext } from "koa";
|
|
import { Errors } from "sealious";
|
|
import RegistrationIntents from "../../../collections/registration-intents";
|
|
import html from "../../../html";
|
|
import { CollectionTiedFormData } from "../../common/form";
|
|
import navbar from "../../common/navbar";
|
|
import input from "../../common/ui/input";
|
|
|
|
export function createAccountForm(
|
|
ctx: BaseContext,
|
|
{ values, errors }: CollectionTiedFormData<RegistrationIntents> = {
|
|
values: {},
|
|
}
|
|
) {
|
|
errors =
|
|
errors ||
|
|
new Errors.FieldsError(ctx.$app.collections["registration-intents"], {}); // empty error;
|
|
return html(
|
|
ctx,
|
|
/* HTML */ `<title>Sign up</title>${navbar(ctx)}
|
|
<h1>Register</h1>
|
|
<form action="/account/create" method="POST">
|
|
${input({
|
|
name: "email",
|
|
value: values.email,
|
|
type: "email",
|
|
error: errors.getErrorForField("email"),
|
|
})}
|
|
<input type="submit" value="register" />
|
|
</form>`
|
|
);
|
|
}
|