import { Icon } from "../../icon"; import { EmptyState, ErrorState } from "../../data-states"; import type { SSHKey } from "../../../api/ssh-keys"; interface Props { keys: SSHKey[]; status: "idle" | "loading" | "ready" | "error"; signPayloads: Record; signatures: Record; signing: Record; verifyPayloads: Record; verifySignatures: Record; verifyResults: Record; verifying: Record; onLoadKeys: () => void; onDelete: (id: string) => void; onCopy: (text: string) => void; onSign: (id: string) => void; onVerify: (id: string) => void; onSignPayloadChange: (id: string, value: string) => void; onVerifyPayloadChange: (id: string, value: string) => void; onVerifySignatureChange: (id: string, value: string) => void; } export const SSHKeyList = ({ keys, status, signPayloads, signatures, signing, verifyPayloads, verifySignatures, verifyResults, verifying, onLoadKeys, onDelete, onCopy, onSign, onVerify, onSignPayloadChange, onVerifyPayloadChange, onVerifySignatureChange, }: Props) => { if (status === "error") { return ; } if (keys.length === 0) { return ; } return (
{keys.map((key) => (

{key.name}

Created: {new Date(key.created_at).toLocaleDateString()}
{key.public_key.substring(0, 50)}...

Sign Payload