From 2bc7373f3803d17703789de363ee67db875bda5c Mon Sep 17 00:00:00 2001 From: Rassl Date: Tue, 1 Sep 2026 14:33:09 +0400 Subject: [PATCH] Reviews page: 50 per page + show decision time on decided reviews - PAGE_SIZE 20 -> 50 (backend clamps limit at 100, so this is safe) - Approved/Dismissed rows showed created_at (when the janitor proposed the review), so a just-decided item read "4 hours ago"; rows now show decided_at when present, falling back to created_at for pending ones Claude-Session: https://claude.ai/code/session_01UzsJagqB6Xepx2m6PbcFdQ --- src/app/admin/reviews/page.tsx | 2 +- src/components/admin/review-row.tsx | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/app/admin/reviews/page.tsx b/src/app/admin/reviews/page.tsx index de23dcb..5f9707a 100644 --- a/src/app/admin/reviews/page.tsx +++ b/src/app/admin/reviews/page.tsx @@ -43,7 +43,7 @@ const SORT_OPTIONS = [ { label: "Highest priority", value: "priority" }, ] -const PAGE_SIZE = 20 +const PAGE_SIZE = 50 function SkeletonRows() { return ( diff --git a/src/components/admin/review-row.tsx b/src/components/admin/review-row.tsx index b609808..3fe262f 100644 --- a/src/components/admin/review-row.tsx +++ b/src/components/admin/review-row.tsx @@ -640,7 +640,10 @@ export function ReviewRow({ const [checkedSources, setCheckedSources] = useState>(new Set()) const [canonicalId, setCanonicalId] = useState("") - const relativeTime = formatDateRelative(review.created_at, review.created_at ?? "") + // Decided reviews show when the decision happened; pending ones show creation + // time (decided_at is unset until approve/dismiss). + const rowTimestamp = review.decided_at ?? review.created_at + const relativeTime = formatDateRelative(rowTimestamp, rowTimestamp ?? "") const direction = useMemo( () => extractDirection(review.action_name, review.action_payload),