'use client'; import * as React from 'react'; import { DoorOpen, KeyRound } from 'lucide-react'; import { Button } from '@/components/ui/button'; import { Dialog, DialogContent, DialogHeader, DialogTitle } from '@/components/ui/dialog'; import { PinInput } from '@/components/ui/pin-input'; import { isPinInputComplete } from '@/lib/pin-input'; interface PinLockModalProps { open: boolean; isSubmitting: boolean; error?: string | null; onSubmit: (pin: string) => Promise; onLogout?: () => void; } export function PinLockModal({ open, isSubmitting, error, onSubmit, onLogout }: 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()} > {onLogout ? ( ) : null}
Введите PIN-код

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

{error ?

{error}

: null}
); }