From 8d3f9fd74f79d7c4cd13cf3d3d1cea5673995522 Mon Sep 17 00:00:00 2001 From: jlightner Date: Fri, 3 Apr 2026 04:17:53 +0000 Subject: [PATCH] feat: render last-updated dates on creators page and homepage cards --- frontend/src/App.css | 20 ++++++++++++++++++++ frontend/src/api/public-client.ts | 1 + frontend/src/pages/CreatorsBrowse.tsx | 8 ++++++++ frontend/src/pages/Home.tsx | 13 ++++++++++--- 4 files changed, 39 insertions(+), 3 deletions(-) diff --git a/frontend/src/App.css b/frontend/src/App.css index fcb0c8c..f4a142f 100644 --- a/frontend/src/App.css +++ b/frontend/src/App.css @@ -2468,6 +2468,11 @@ a.app-footer__repo:hover { color: var(--color-border); } +.creator-row__updated { + color: var(--color-text-secondary); + opacity: 0.7; +} + /* ══════════════════════════════════════════════════════════════════════════════ CREATOR DETAIL ══════════════════════════════════════════════════════════════════════════════ */ @@ -5018,6 +5023,21 @@ a.app-footer__repo:hover { flex-shrink: 0; } +.recent-card__header-right { + display: flex; + flex-direction: column; + align-items: flex-end; + gap: 0.15rem; + flex-shrink: 0; +} + +.recent-card__date { + font-size: 0.7rem; + color: var(--color-text-secondary); + opacity: 0.65; + white-space: nowrap; +} + /* ── Search result card creator ───────────────────────────────────────── */ .search-result-card__creator { diff --git a/frontend/src/api/public-client.ts b/frontend/src/api/public-client.ts index c0c5ecb..04c62a5 100644 --- a/frontend/src/api/public-client.ts +++ b/frontend/src/api/public-client.ts @@ -164,6 +164,7 @@ export interface CreatorBrowseItem { updated_at: string; technique_count: number; video_count: number; + last_technique_at: string | null; } export interface CreatorBrowseResponse { diff --git a/frontend/src/pages/CreatorsBrowse.tsx b/frontend/src/pages/CreatorsBrowse.tsx index 9450b16..524f196 100644 --- a/frontend/src/pages/CreatorsBrowse.tsx +++ b/frontend/src/pages/CreatorsBrowse.tsx @@ -178,6 +178,14 @@ export default function CreatorsBrowse() { {creator.view_count.toLocaleString()} views + {creator.last_technique_at && ( + <> + · + + Last updated: {new Date(creator.last_technique_at).toLocaleDateString('en-US', { month: 'short', day: 'numeric' })} + + + )} ))} diff --git a/frontend/src/pages/Home.tsx b/frontend/src/pages/Home.tsx index 1a323df..8dac13e 100644 --- a/frontend/src/pages/Home.tsx +++ b/frontend/src/pages/Home.tsx @@ -239,9 +239,16 @@ export default function Home() { > {t.title} - {t.creator_name && ( - {t.creator_name} - )} + + {t.creator_name && ( + {t.creator_name} + )} + {t.created_at && ( + + {new Date(t.created_at).toLocaleDateString('en-US', { month: 'short', day: 'numeric' })} + + )} +