domain-watchdog/assets/components/search/DomainLifecycleSteps.tsx

45 lines
1.6 KiB
TypeScript
Raw Normal View History

2024-08-23 21:19:34 +02:00
import {StepProps, Steps, Tooltip} from "antd";
import React from "react";
import {t} from "ttag";
2024-08-23 21:37:39 +02:00
import {CheckOutlined, DeleteOutlined, ExclamationCircleOutlined, SignatureOutlined} from "@ant-design/icons";
2024-08-23 21:19:34 +02:00
import {rdapEventDetailTranslation, rdapStatusCodeDetailTranslation} from "../../utils/functions/rdapTranslation";
export function DomainLifecycleSteps({status}: { status: string[] }) {
const rdapEventDetailTranslated = rdapEventDetailTranslation()
const rdapStatusCodeDetailTranslated = rdapStatusCodeDetailTranslation()
const steps: StepProps[] = [
{
title: <Tooltip title={rdapEventDetailTranslated.registration}>{t`Registration`}</Tooltip>,
2024-08-23 21:37:39 +02:00
icon: <SignatureOutlined style={{color: 'green'}}/>
2024-08-23 21:19:34 +02:00
},
{
title: <Tooltip title={rdapStatusCodeDetailTranslated.active}>{t`Active`}</Tooltip>,
icon: <CheckOutlined/>
},
{
title: <Tooltip
title={rdapStatusCodeDetailTranslated["redemption period"]}>{t`Redemption Period`}</Tooltip>,
2024-08-23 21:37:39 +02:00
icon: <ExclamationCircleOutlined style={{color: 'orangered'}}/>
2024-08-23 21:19:34 +02:00
},
{
title: <Tooltip title={rdapStatusCodeDetailTranslated["pending delete"]}>{t`Pending Delete`}</Tooltip>,
2024-08-23 21:37:39 +02:00
icon: <DeleteOutlined style={{color: 'palevioletred'}}/>
2024-08-23 21:19:34 +02:00
}
]
let currentStep = 1
if (status.includes('redemption period')) {
2024-08-23 21:37:39 +02:00
currentStep = 2
2024-08-23 21:19:34 +02:00
} else if (status.includes('pending delete')) {
2024-08-23 21:37:39 +02:00
currentStep = 3
2024-08-23 21:19:34 +02:00
}
return <Steps
current={currentStep}
items={steps}
/>
}