feat: render last-updated dates on creators page and homepage cards

This commit is contained in:
jlightner 2026-04-03 04:17:53 +00:00
parent 18c76dd8ec
commit 8d3f9fd74f
4 changed files with 39 additions and 3 deletions

View file

@ -2468,6 +2468,11 @@ a.app-footer__repo:hover {
color: var(--color-border); color: var(--color-border);
} }
.creator-row__updated {
color: var(--color-text-secondary);
opacity: 0.7;
}
/* /*
CREATOR DETAIL CREATOR DETAIL
*/ */
@ -5018,6 +5023,21 @@ a.app-footer__repo:hover {
flex-shrink: 0; 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 ───────────────────────────────────────── */
.search-result-card__creator { .search-result-card__creator {

View file

@ -164,6 +164,7 @@ export interface CreatorBrowseItem {
updated_at: string; updated_at: string;
technique_count: number; technique_count: number;
video_count: number; video_count: number;
last_technique_at: string | null;
} }
export interface CreatorBrowseResponse { export interface CreatorBrowseResponse {

View file

@ -178,6 +178,14 @@ export default function CreatorsBrowse() {
<span className="creator-row__stat"> <span className="creator-row__stat">
{creator.view_count.toLocaleString()} views {creator.view_count.toLocaleString()} views
</span> </span>
{creator.last_technique_at && (
<>
<span className="creator-row__separator">·</span>
<span className="creator-row__stat creator-row__updated">
Last updated: {new Date(creator.last_technique_at).toLocaleDateString('en-US', { month: 'short', day: 'numeric' })}
</span>
</>
)}
</span> </span>
</Link> </Link>
))} ))}

View file

@ -239,9 +239,16 @@ export default function Home() {
> >
<span className="recent-card__header"> <span className="recent-card__header">
<span className="recent-card__title">{t.title}</span> <span className="recent-card__title">{t.title}</span>
<span className="recent-card__header-right">
{t.creator_name && ( {t.creator_name && (
<span className="recent-card__creator">{t.creator_name}</span> <span className="recent-card__creator">{t.creator_name}</span>
)} )}
{t.created_at && (
<span className="recent-card__date">
{new Date(t.created_at).toLocaleDateString('en-US', { month: 'short', day: 'numeric' })}
</span>
)}
</span>
</span> </span>
<span className="recent-card__meta"> <span className="recent-card__meta">
<span className="badge badge--category"> <span className="badge badge--category">