import { Divider, Tooltip } from '@mui/material' import { formatTimestamp, fromUnixTimestamp, hexToNpub, npubToHex, SignStatus } from '../../utils' import { useSigitMeta } from '../../hooks/useSigitMeta' import { UserAvatarGroup } from '../UserAvatarGroup' import styles from './style.module.scss' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { faCalendar, faCalendarCheck, faCalendarPlus, faEye, faFile, faFileCircleExclamation } from '@fortawesome/free-solid-svg-icons' import { getExtensionIconLabel } from '../getExtensionIconLabel' import { useAppSelector } from '../../hooks/store' import { DisplaySigner } from '../DisplaySigner' import { Meta } from '../../types' import { extractFileExtensions } from '../../utils/file' import { UserAvatar } from '../UserAvatar' interface UsersDetailsProps { meta: Meta } export const UsersDetails = ({ meta }: UsersDetailsProps) => { const { submittedBy, exportedBy, signers, viewers, fileHashes, signersStatus, createdAt, completedAt, parsedSignatureEvents, signedStatus, isValid } = useSigitMeta(meta) const { usersPubkey } = useAppSelector((state) => state.auth) const userCanSign = typeof usersPubkey !== 'undefined' && signers.includes(hexToNpub(usersPubkey)) const { extensions, isSame } = extractFileExtensions(Object.keys(fileHashes)) return submittedBy ? (

Signers

{submittedBy && ( )} {submittedBy && signers.length ? ( ) : null} {signers.map((signer) => { const pubkey = npubToHex(signer)! return ( ) })}
{viewers.length > 0 && ( <>

Viewers

{viewers.map((signer) => { const pubkey = npubToHex(signer)! return ( ) })}
)} {exportedBy && ( <>

Exported By

)}

Details

{' '} {createdAt ? formatTimestamp(createdAt) : <>—} {' '} {completedAt ? formatTimestamp(completedAt) : <>—} {/* User signed date */} {userCanSign ? ( {' '} {hexToNpub(usersPubkey) in parsedSignatureEvents ? ( parsedSignatureEvents[hexToNpub(usersPubkey)].created_at ? ( formatTimestamp( fromUnixTimestamp( parsedSignatureEvents[hexToNpub(usersPubkey)].created_at ) ) ) : ( <>— ) ) : ( <>— )} ) : null} {signedStatus} {extensions.length > 0 ? ( {!isSame ? ( <> Multiple File Types ) : ( getExtensionIconLabel(extensions[0]) )} ) : ( <> — )}
) : undefined }