'use client' import { Loader2, ShieldAlert } from 'lucide-react' import { useTranslations } from 'next-intl' import { Button } from '@/components/ui/button' import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from '@/components/ui/dialog' import type { SessionTimeoutReason } from '@/lib/auth/session-timeout-shared' export function SessionTimeoutModal({ reason, seconds, isExtending, onContinue, }: { reason: SessionTimeoutReason seconds: number isExtending: boolean onContinue: () => void }) { const t = useTranslations('session_timeout') return ( {}}> event.preventDefault()} onPointerDownOutside={(event) => event.preventDefault()} onInteractOutside={(event) => event.preventDefault()} >
{t('warning_title')} {reason === 'idle' ? t('idle_warning', { seconds }) : t('absolute_warning', { seconds })}
) }