diff --git a/assets/components/tracking/watchlist/TrackedDomainTable.tsx b/assets/components/tracking/watchlist/TrackedDomainTable.tsx index d4c79dd..4884486 100644 --- a/assets/components/tracking/watchlist/TrackedDomainTable.tsx +++ b/assets/components/tracking/watchlist/TrackedDomainTable.tsx @@ -31,7 +31,8 @@ export function TrackedDomainTable() { {s} ), - updatedAt: new Date(d.updatedAt).toLocaleString() + updatedAt: new Date(d.updatedAt).toLocaleString(), + domain: d } })) }) @@ -48,15 +49,36 @@ export function TrackedDomainTable() { }, { title: t`Expiration date`, - dataIndex: 'expirationDate' + dataIndex: 'expirationDate', + sorter: (a: { domain: Domain }, b: { domain: Domain }) => { + + const expirationDate1 = a.domain.events.find(e => e.action === 'expiration' && !e.deleted)?.date + const expirationDate2 = b.domain.events.find(e => e.action === 'expiration' && !e.deleted)?.date + + if (expirationDate1 === undefined || expirationDate2 === undefined) return 0 + return new Date(expirationDate1).getTime() - new Date(expirationDate2).getTime() + } }, { title: t`Status`, - dataIndex: 'status' + dataIndex: 'status', + showSorterTooltip: {target: 'full-header'}, + filters: [...new Set(dataTable.map((d: any) => d.domain.status).flat())].map(s => ({ + text: + {s} + , + value: s, + })), + onFilter: (value, record: { domain: Domain }) => record.domain.status.includes(value as string) }, { title: t`Updated at`, - dataIndex: 'updatedAt' + dataIndex: 'updatedAt', + sorter: (a: { domain: Domain }, b: { + domain: Domain + }) => new Date(a.domain.updatedAt).getTime() - new Date(b.domain.updatedAt).getTime() } ] diff --git a/assets/pages/tracking/WatchlistPage.tsx b/assets/pages/tracking/WatchlistPage.tsx index 95ee480..c647f79 100644 --- a/assets/pages/tracking/WatchlistPage.tsx +++ b/assets/pages/tracking/WatchlistPage.tsx @@ -99,12 +99,6 @@ export default function WatchlistPage() { return {contextHolder} - - {connectors && - - } - - } color="cyan-inverse"/> @@ -115,6 +109,12 @@ export default function WatchlistPage() { + + {connectors && + + } + + {connectors && watchlists && watchlists.length > 0 &&