diff --git a/public/images/screenshots/map.png b/public/images/screenshots/map.png new file mode 100644 index 0000000..877e112 Binary files /dev/null and b/public/images/screenshots/map.png differ diff --git a/public/images/screenshots/marketplace.png b/public/images/screenshots/marketplace.png new file mode 100644 index 0000000..e39f9cd Binary files /dev/null and b/public/images/screenshots/marketplace.png differ diff --git a/public/images/screenshots/spot.png b/public/images/screenshots/spot.png new file mode 100644 index 0000000..7003cb9 Binary files /dev/null and b/public/images/screenshots/spot.png differ diff --git a/src/pages/AdminReviewPage.tsx b/src/pages/AdminReviewPage.tsx index d373bfb..0ad08ee 100644 --- a/src/pages/AdminReviewPage.tsx +++ b/src/pages/AdminReviewPage.tsx @@ -125,6 +125,9 @@ function QueueList({ const { toast } = useToast(); const [bulkBusy, setBulkBusy] = useState(false); + // Old verdicts (e.g. a cleanup sweep from weeks ago) are correct but noisy — + // they must not bury the items that still need a decision. + const [showActioned, setShowActioned] = useState(false); const mappers = useMemo(() => [...new Set(rows.map((r) => r.pubkey))], [rows]); const { data: trustScores } = useBatchTrustScores(mappers); const { getCounts } = useSpotReports(rows); @@ -214,6 +217,8 @@ function QueueList({ } const actioned = prepared.filter((r) => r.actioned); + const open = prepared.filter((r) => !r.actioned); + const visible = showActioned ? prepared : open; const undoAll = async () => { setBulkBusy(true); @@ -235,11 +240,22 @@ function QueueList({ return (
- {actioned.length} item{actioned.length === 1 ? '' : 's'} hidden or confirmed in this tab. + {actioned.length} already actioned in this tab (hidden or confirmed).
++ Nothing waiting on you. {actioned.length} earlier verdict + {actioned.length === 1 ? '' : 's'} {actioned.length === 1 ? 'is' : 'are'} hidden above. +
+