import React from "react"; import type { KnownHost } from "../../domain/models"; import { usePortForwardHostKeyVerification } from "../../application/state/usePortForwardHostKeyVerification"; import { useI18n } from "../../application/i18n/I18nProvider"; import { cn } from "../../lib/utils"; import { Button } from "../ui/button"; interface PortForwardHostKeyTrayPromptProps { onAddKnownHost?: (knownHost: KnownHost) => void; } export const PortForwardHostKeyTrayPrompt: React.FC = ({ onAddKnownHost, }) => { const { t } = useI18n(); const { hostKeyVerification, rejectHostKeyVerification, acceptHostKeyVerification, acceptAndSaveHostKeyVerification, } = usePortForwardHostKeyVerification(onAddKnownHost); if (!hostKeyVerification) return null; const { hostKeyInfo } = hostKeyVerification; const isChanged = hostKeyInfo.status === "changed"; return (
{isChanged ? t("terminal.hostKey.changedTitle") : t("terminal.hostKey.unknownTitle")}
{hostKeyInfo.hostname}:{hostKeyInfo.port}
{t("terminal.hostKey.fingerprintLabel", { keyType: hostKeyInfo.keyType })} {hostKeyInfo.fingerprint}
{isChanged && hostKeyInfo.knownFingerprint && (
{t("terminal.hostKey.savedFingerprintLabel")} {hostKeyInfo.knownFingerprint}
)}
); };