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 &&