diff --git a/assets/controllers.json b/assets/controllers.json index 103b202..29ea244 100644 --- a/assets/controllers.json +++ b/assets/controllers.json @@ -1,15 +1,15 @@ { - "controllers": { - "@symfony/ux-turbo": { - "turbo-core": { - "enabled": true, - "fetch": "eager" - }, - "mercure-turbo-stream": { - "enabled": false, - "fetch": "eager" - } - } - }, - "entrypoints": [] + "controllers": { + "@symfony/ux-turbo": { + "turbo-core": { + "enabled": true, + "fetch": "eager" + }, + "mercure-turbo-stream": { + "enabled": false, + "fetch": "eager" + } + } + }, + "entrypoints": [] } diff --git a/assets/pages/search/DomainSearchPage.tsx b/assets/pages/search/DomainSearchPage.tsx index 42b991a..af8e5e6 100644 --- a/assets/pages/search/DomainSearchPage.tsx +++ b/assets/pages/search/DomainSearchPage.tsx @@ -1,6 +1,13 @@ import React, {useState} from "react"; -import {Card, Flex, Form, FormProps, Input, message} from "antd"; -import {SearchOutlined} from "@ant-design/icons"; +import {Card, Divider, Flex, Form, FormProps, Input, message, Timeline} from "antd"; +import { + ClockCircleOutlined, + DeleteOutlined, + SearchOutlined, + ShareAltOutlined, + SignatureOutlined, + SyncOutlined +} from "@ant-design/icons"; import {Domain, getDomain} from "../../utils/api"; import {AxiosError} from "axios" @@ -48,10 +55,47 @@ export default function DomainSearchPage() { > } placeholder="example.com"/> - - - + + { + domainData && <> + new Date(e2.date).getTime() - new Date(e1.date).getTime()) + .map(({action, date}) => { + + let color, dot + if (action === 'registration') { + color = 'green' + dot = + } else if (action === 'expiration') { + color = 'red' + dot = + } else if (action === 'transfer') { + color = 'orange' + dot = + } else if (action === 'last changed') { + color = 'blue' + dot = + } else if (action === 'deletion') { + color = 'red' + dot = + } + + return { + label: new Date(date).toUTCString(), + children: action, + color, + dot, + pending: new Date(date).getTime() > new Date().getTime() + } + } + ) + } + /> + + } } \ No newline at end of file diff --git a/assets/utils/api/index.ts b/assets/utils/api/index.ts index b931c03..9e1b272 100644 --- a/assets/utils/api/index.ts +++ b/assets/utils/api/index.ts @@ -1,8 +1,23 @@ import axios, {AxiosRequestConfig, AxiosResponse} from "axios"; +type EventAction = + 'registration' + | 'reregistration' + | 'last changed' + | 'expiration' + | 'deletion' + | 'reinstantiation' + | 'transfer' + | 'locked' + | 'unlocked' + | 'last update of RDAP database' + | 'registrar expiration' + | 'enum validation expiration' + | string + export interface Event { - action: string + action: EventAction date: string }