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`}
>
}
)
}