import { page } from "web-utils"; import { useLocal } from "web-utils"; import { Loading } from "../../../utils/ui/loading"; import { formStyle } from "../../../utils/ui/form.style"; import { Input } from "../../../utils/ui/form/input"; export default page({ url: "/register", component: ({}) => { const form = useLocal( { username: "", password: "", email: "", submitting: false, init: false, }, async () => { const s = await _api.session(); if (s && s.id) { navigate("/ed"); } else { form.init = true; form.render(); } } ); if (!form.init) return ; return (
{ e.preventDefault(); form.submitting = true; form.render(); const s = await _api.register({ username: form.username, password: form.password, email: form.email, }); if (s.status === "failed") { form.submitting = false; form.render(); alert(s.reason); } else { navigate("/ed"); } }} className={cx("border-[3px] border-black", formStyle)} >
Register
Login
); }, });