import React, { useState } from "react"; import Image from "next/image"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Dialog, DialogContent, DialogHeader, DialogTitle, } from "@/components/ui/dialog"; import Logo from "@/public/logo.png"; interface AuthDialogProps { isOpen: boolean; onClose: () => void; translations: { enterPhone: string; weWillSendCode: string; phone: string; code: string; send: string; }; } export default function AuthDialog({ isOpen, onClose, translations: t, }: AuthDialogProps) { const [phone, setPhone] = useState("993"); const [otp, setOtp] = useState(""); const [otpSent, setOtpSent] = useState(false); const handleSendOtp = () => { if (phone.length > 3) { setOtpSent(true); } }; const handleLogin = () => { // Here you can add authentication logic resetDialog(); }; const resetDialog = () => { onClose(); setOtpSent(false); setPhone("993"); setOtp(""); }; const handleKeyPress = (e: React.KeyboardEvent, action: () => void) => { if (e.key === "Enter") { action(); } }; return (
Logo
{t.enterPhone}

{t.weWillSendCode}

setPhone(e.target.value)} className="h-12 rounded-xl" onKeyDown={(e) => handleKeyPress(e, handleSendOtp)} disabled={otpSent} /> {otpSent && ( setOtp(e.target.value)} className="h-12 rounded-xl" onKeyDown={(e) => handleKeyPress(e, handleLogin)} autoFocus /> )}
); }