feat: add domain status detail

This commit is contained in:
Maël Gangloff
2024-08-20 15:22:14 +02:00
parent 7290e7c60d
commit 98104eb683
9 changed files with 524 additions and 125 deletions

View File

@@ -1,16 +1,17 @@
import {Card, Divider, Flex, Space, Table, Tag, Typography} from "antd";
import {Card, Divider, Space, Table, Tag, Typography} from "antd";
import {DisconnectOutlined, LinkOutlined} from "@ant-design/icons";
import {t} from "ttag";
import {ViewDiagramWatchlistButton} from "./diagram/ViewDiagramWatchlistButton";
import {UpdateWatchlistButton} from "./UpdateWatchlistButton";
import {DeleteWatchlistButton} from "./DeleteWatchlistButton";
import punycode from "punycode/punycode";
import {actionToColor, domainEvent} from "../../search/EventTimeline";
import React, {useState} from "react";
import {actionToColor} from "../../search/EventTimeline";
import React from "react";
import {Watchlist} from "../../../pages/tracking/WatchlistPage";
import {Connector} from "../../../utils/api/connectors";
import useBreakpoint from "../../../hooks/useBreakpoint";
import {CalendarWatchlistButton} from "./CalendarWatchlistButton";
import {rdapEventNameTranslation} from "../../search/rdapEventActionDetailTranslation";
export function WatchlistCard({watchlist, onUpdateWatchlist, connectors, onDelete}: {
watchlist: Watchlist,
@@ -19,7 +20,7 @@ export function WatchlistCard({watchlist, onUpdateWatchlist, connectors, onDelet
onDelete: () => void
}) {
const sm = useBreakpoint('sm')
const domainEventTranslated = domainEvent()
const rdapEventNameTranslated = rdapEventNameTranslation()
const columns = [
{
@@ -75,7 +76,7 @@ export function WatchlistCard({watchlist, onUpdateWatchlist, connectors, onDelet
domains: watchlist.domains.map(d => <Tag>{punycode.toUnicode(d.ldhName)}</Tag>),
events: watchlist.triggers?.filter(t => t.action === 'email')
.map(t => <Tag color={actionToColor(t.event)}>
{domainEventTranslated[t.event as keyof typeof domainEventTranslated]}
{rdapEventNameTranslated[t.event as keyof typeof rdapEventNameTranslated]}
</Tag>
)
}]}

View File

@@ -3,7 +3,8 @@ import {t} from "ttag";
import {ApiOutlined, MinusCircleOutlined, PlusOutlined} from "@ant-design/icons";
import React from "react";
import {Connector} from "../../../utils/api/connectors";
import {actionToColor, domainEvent} from "../../search/EventTimeline";
import {actionToColor} from "../../search/EventTimeline";
import {rdapEventNameTranslation} from "../../search/rdapEventActionDetailTranslation";
type TagRender = SelectProps['tagRender'];
@@ -31,7 +32,7 @@ export function WatchlistForm({form, connectors, onFinish, isCreation}: {
onFinish: (values: { domains: string[], triggers: string[], token: string }) => void
isCreation: boolean
}) {
const domainEventTranslated = domainEvent()
const rdapEventNameTranslated = rdapEventNameTranslation()
const triggerTagRenderer: TagRender = (props) => {
const {value, closable, onClose} = props;
@@ -47,7 +48,7 @@ export function WatchlistForm({form, connectors, onFinish, isCreation}: {
onClose={onClose}
style={{marginInlineEnd: 4}}
>
{domainEventTranslated[value as keyof typeof domainEventTranslated]}
{rdapEventNameTranslated[value as keyof typeof rdapEventNameTranslated]}
</Tag>
)
}
@@ -156,9 +157,9 @@ export function WatchlistForm({form, connectors, onFinish, isCreation}: {
mode="multiple"
tagRender={triggerTagRenderer}
style={{width: '100%'}}
options={Object.keys(domainEventTranslated).map(e => ({
options={Object.keys(rdapEventNameTranslated).map(e => ({
value: e,
label: domainEventTranslated[e as keyof typeof domainEventTranslated]
label: rdapEventNameTranslated[e as keyof typeof rdapEventNameTranslated]
}))}
/>
</Form.Item>