import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { InputOTP, InputOTPGroup, InputOTPSlot } from "@/components/ui/input-otp"; import { REGEXP_ONLY_DIGITS_AND_CHARS } from "input-otp"; import { useState, useCallback } from "react"; import { toast } from "sonner"; import LoginHeader from "./LoginHeader"; import { SendCodeFormData } from "./types"; import { Label } from "@/components/ui/label" export default function PhoneLoginMode({ onSendCode }: { onSendCode: (data: SendCodeFormData) => Promise }) { const [phone, setPhone] = useState(""); const handleSendCode = useCallback(() => { if (phone.trim().length !== 11) { toast.error('请输入正确的手机号'); return; } onSendCode({ type: 'phone', phone, }) }, [phone, onSendCode]); return ( <>
setPhone(e.target.value)} required />
) }