import React from "react"; import { Button } from "@/components/ui/button.tsx"; import { Input } from "@/components/ui/input.tsx"; import { Label } from "@/components/ui/label.tsx"; import { Shield } from "lucide-react"; import { useTranslation } from "react-i18next"; interface TOTPDialogProps { isOpen: boolean; prompt: string; onSubmit: (code: string) => void; onCancel: () => void; backgroundColor?: string; } export function TOTPDialog({ isOpen, prompt, onSubmit, onCancel, backgroundColor, }: TOTPDialogProps) { const { t } = useTranslation(); if (!isOpen) return null; return (

{t("terminal.totpRequired")}

{prompt}

{ e.preventDefault(); const input = e.currentTarget.elements.namedItem( "totpCode", ) as HTMLInputElement; if (input && input.value.trim()) { onSubmit(input.value.trim()); } }} className="space-y-4" >
); }