import { CredentialApiResponse, isCreditCardCredential, isPasswordCredential, isSecretCredential, } from "@/api/types"; import { DeleteCredentialButton } from "./DeleteCredentialButton"; type Props = { credential: CredentialApiResponse; }; function CredentialItem({ credential }: Props) { const credentialData = credential.credential; const getTotpTypeDisplay = (totpType: string) => { switch (totpType) { case "authenticator": return "Authenticator App"; case "email": return "Email"; case "text": return "Text Message"; case "none": default: return ""; } }; let credentialDetails = null; if (isPasswordCredential(credentialData)) { credentialDetails = (
Username/Email
Password
{credentialData.totp_type !== "none" && (2FA Type
)}{credentialData.username}
{"********"}
{credentialData.totp_type !== "none" && ({getTotpTypeDisplay(credentialData.totp_type)}
)}Card Number
Brand
{"************" + credentialData.last_four}
{credentialData.brand}
Secret Value
{credentialData.secret_label ? (Type
) : null}{"************"}
{credentialData.secret_label ? ({credentialData.secret_label}
) : null}{credential.name}
{credential.credential_id}