import React from 'react'; import {View} from 'react-native'; import testIDProps from '../shared/commonUtil'; import {Display} from './VC/common/VCUtils'; import VerifiedIcon from './VerifiedIcon'; import PendingIcon from './PendingIcon'; import {Row, Text} from './ui'; import {Theme} from './ui/styleUtils'; import {useTranslation} from 'react-i18next'; import {VCMetadata} from '../shared/VCMetadata'; import {RevocationStatus} from '../shared/vcVerifier/VcVerifier'; export const VCVerification: React.FC = ({ vcMetadata, display, showLastChecked = true, }) => { const {t} = useTranslation('VcDetails'); let statusText: string; let statusIcon: JSX.Element; if (vcMetadata.isVerified) { if (vcMetadata.isRevoked === RevocationStatus.TRUE) { statusText = t('revoked'); statusIcon = ; } else if (vcMetadata.isExpired) { statusText = t('expired'); statusIcon = ; } else if (vcMetadata.isRevoked === RevocationStatus.UNDETERMINED) { statusText = t('pending'); statusIcon = ; } else { statusText = t('valid'); statusIcon = ; } } else { statusText = t('pending'); statusIcon = ; } return ( {/* First Row: Status Icon + Text */} {statusIcon} {statusText} {showLastChecked && vcMetadata.lastKnownStatusTimestamp && ( {t('lastChecked')} {new Date(vcMetadata.lastKnownStatusTimestamp).toLocaleString()} )} ); }; export interface VCVerificationProps { vcMetadata: VCMetadata; display: Display; showLastChecked?: boolean; }