"use client" import { useState } from "react" import { X, Phone, Lock, 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 [password, setPassword] = useState("") const [nickname, setNickname] = useState("") const [referralCode, setReferralCode] = useState("") const [error, setError] = useState("") const [isLoading, setIsLoading] = useState(false) const { login, register } = useStore() const handleLogin = async () => { setError("") if (phone.length !== 11) { setError("请输入正确的手机号") return } if (!password) { setError("请输入密码") return } setIsLoading(true) // 使用密码替代验证码进行登录 const success = await login(phone, password) setIsLoading(false) if (success) { onClose() } else { setError("手机号或密码错误,请先注册") } } const handleRegister = async () => { setError("") if (phone.length !== 11) { setError("请输入正确的手机号") return } if (!password || password.length < 6) { setError("密码至少6位") return } setIsLoading(true) // 昵称可选,默认使用手机号后四位 const name = nickname.trim() || `用户${phone.slice(-4)}` const success = await register(phone, name, referralCode || undefined) setIsLoading(false) if (success) { onClose() } else { setError("该手机号已注册,请直接登录") } } if (!isOpen) return null return (
{error}
}{error}
}