'use client'; import * as React from 'react'; import { KeyRound } from 'lucide-react'; import { Button } from '@/components/ui/button'; import { Dialog, DialogContent, DialogHeader, DialogTitle } from '@/components/ui/dialog'; import { Input } from '@/components/ui/input'; interface PinLockModalProps { open: boolean; isSubmitting: boolean; error?: string | null; onSubmit: (pin: string) => Promise; } export function PinLockModal({ open, isSubmitting, error, onSubmit }: PinLockModalProps) { const [pin, setPin] = React.useState(''); React.useEffect(() => { if (open) { setPin(''); } }, [open]); async function handleSubmit(event: React.FormEvent) { event.preventDefault(); await onSubmit(pin); } return ( undefined}> event.preventDefault()} onEscapeKeyDown={(event) => event.preventDefault()}>
Введите PIN-код

Сессия заблокирована из-за бездействия. Подтвердите PIN, чтобы продолжить работу.

setPin(event.target.value)} required minLength={4} maxLength={6} inputMode="numeric" autoComplete="one-time-code" /> {error ?

{error}

: null}
); }