"use client" import { standardSchemaResolver } from "@hookform/resolvers/standard-schema" import { useRouter } from "next/navigation" import { useForm } from "react-hook-form" import { z } from "zod" import { Button } from "@/components/ui/button" import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, } from "@/components/ui/dialog" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { currentUser } from "@/lib/mock" import { useAuthStore } from "@/store/auth" const loginSchema = z.object({ phone: z.string().min(11, "请输入正确的手机号"), password: z.string().min(6, "密码至少6位"), }) interface LoginDialogProps { open: boolean onOpenChange: (open: boolean) => void } export function LoginDialog({ open, onOpenChange }: LoginDialogProps) { const router = useRouter() const { login } = useAuthStore() const { register, handleSubmit, formState: { errors, isSubmitting }, } = useForm({ resolver: standardSchemaResolver(loginSchema), }) const onSubmit = async (_data: z.infer) => { await new Promise((r) => setTimeout(r, 500)) login(currentUser, ["consumer", "player", "owner"]) onOpenChange(false) } return ( 登录聚玩 请先登录以继续操作
{errors.phone &&

{errors.phone.message}

}
{errors.password && (

{errors.password.message}

)}
) }