import {Badge, Card, Col, Divider, Flex, Row, Space, Tag, Tooltip, Typography} from 'antd' import {t} from 'ttag' import {EventTimeline} from './EventTimeline' import {EntitiesList} from './EntitiesList' import {DomainDiagram} from './DomainDiagram' import React from 'react' import type {Domain} from '../../utils/api' import {regionNames} from '../../i18n' import {getCountryCode} from '../../utils/functions/getCountryCode' import {DomainLifecycleSteps} from './DomainLifecycleSteps' import {BankOutlined, KeyOutlined, SafetyCertificateOutlined} from '@ant-design/icons' import {statusToTag} from '../../utils/functions/StatusToTag' import {isDomainLocked} from "../../utils/functions/isDomainLocked" export function DomainResult({domain}: { domain: Domain }) { const {tld, events} = domain const domainEvents = events.sort((e1, e2) => new Date(e2.date).getTime() - new Date(e1.date).getTime()) const clientStatus = domain.status.filter(s => s.startsWith('client')) const serverStatus = domain.status.filter(s => !clientStatus.includes(s)) return ( {`${domain.tld.tld.toUpperCase()} (${tld.type})`} } color={ tld.type === 'ccTLD' ? 'purple' : (tld.type === 'gTLD' && tld.specification13) ? 'volcano' : tld.type === 'gTLD' ? 'green' : 'cyan' } > {domain.ldhName}{domain.handle && {domain.handle}} } size='small' > { domain.events.length > 0 && } } >{t`Registry Lock`} } >{t`Registrar Lock`} } >{t`DNSSEC`} {domain.status.length > 0 && <> {t`EPP Status Codes`} {serverStatus.map(statusToTag)} {clientStatus.map(statusToTag)} } { domain.events.length > 0 && <> {t`Timeline`} } { domain.entities.length > 0 && <> {t`Entities`} } ) }