"use client" import { useState } from "react" import { X, Phone, User, Gift } from "lucide-react" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { useStore } from "@/lib/store" interface AuthModalProps { isOpen: boolean onClose: () => void defaultTab?: "login" | "register" } export function AuthModal({ isOpen, onClose, defaultTab = "login" }: AuthModalProps) { const [tab, setTab] = useState<"login" | "register">(defaultTab) const [phone, setPhone] = useState("") const [code, setCode] = useState("") const [nickname, setNickname] = useState("") const [referralCode, setReferralCode] = useState("") const [error, setError] = useState("") const [codeSent, setCodeSent] = useState(false) const { login, register } = useStore() const handleSendCode = () => { if (phone.length !== 11) { setError("请输入正确的手机号") return } // Simulate sending verification code setCodeSent(true) setError("") alert("验证码已发送,测试验证码: 123456") } const handleLogin = async () => { setError("") const success = await login(phone, code) if (success) { onClose() } else { setError("验证码错误或用户不存在,请先注册") } } const handleRegister = async () => { setError("") if (!nickname.trim()) { setError("请输入昵称") return } const success = await register(phone, nickname, referralCode || undefined) if (success) { onClose() } else { setError("该手机号已注册") } } if (!isOpen) return null return (
{error}
}{error}
}