"use client" import { standardSchemaResolver } from "@hookform/resolvers/standard-schema" import { Gamepad2 } from "lucide-react" import Link from "next/link" import { useRouter } from "next/navigation" import { useForm } from "react-hook-form" import { z } from "zod" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { currentUser } from "@/lib/mock" import { useAuthStore } from "@/store/auth" const registerSchema = z .object({ nickname: z.string().min(2, "昵称至少2个字符"), phone: z.string().min(11, "请输入正确的手机号"), password: z.string().min(6, "密码至少6位"), confirmPassword: z.string(), }) .refine((data) => data.password === data.confirmPassword, { message: "两次密码不一致", path: ["confirmPassword"], }) export default function RegisterPage() { const router = useRouter() const { login } = useAuthStore() const { register, handleSubmit, formState: { errors, isSubmitting }, } = useForm({ resolver: standardSchemaResolver(registerSchema), }) const onSubmit = async (_data: z.infer) => { await new Promise((r) => setTimeout(r, 500)) login(currentUser, ["consumer"]) router.push("/") } return (
聚玩

创建账号

创建你的聚玩账号

{errors.nickname &&

{errors.nickname.message}

}
{errors.phone &&

{errors.phone.message}

}
{errors.password &&

{errors.password.message}

}
{errors.confirmPassword && (

{errors.confirmPassword.message}

)}

已有账号?{" "} 立即登录

) }