import {Flex, List, Tag, Tooltip} from 'antd' import React from 'react' import type {Domain} from '../../utils/api' import { icannAccreditationTranslation, rdapRoleDetailTranslation, rdapRoleTranslation } from '../../utils/functions/rdapTranslation' import {roleToAvatar} from '../../utils/functions/roleToAvatar' import {rolesToColor} from '../../utils/functions/rolesToColor' import {sortDomainEntities} from '../../utils/functions/sortDomainEntities' import {extractDetailsFromJCard} from '../../utils/functions/extractDetailsFromJCard' import {CheckCircleOutlined, CloseCircleOutlined, SettingOutlined} from "@ant-design/icons" export function EntitiesList({domain}: { domain: Domain }) { const rdapRoleTranslated = rdapRoleTranslation() const rdapRoleDetailTranslated = rdapRoleDetailTranslation() const roleToTag = (r: string) => {rdapRoleTranslated[r as keyof typeof rdapRoleTranslated] || r} return ( { const details = extractDetailsFromJCard(e) const icannAccreditationTranslated = icannAccreditationTranslation() const status = e.entity.icannAccreditation?.status as ('Terminated' | 'Accredited' | 'Reserved' | undefined) return {e.entity.handle} { e.entity.icannAccreditation && status && : status === 'Accredited' ? : } color={ status === 'Terminated' ? 'red' : status === 'Accredited' ? 'green' : 'yellow' }>{e.entity.icannAccreditation.id} } } description={<> {details.fn &&
👤 {details.fn}
} {details.organization &&
🏢 {details.organization}
} } /> {e.roles.map(roleToTag)}
}} /> ) }