diff --git a/frontend/src/components/Feed.tsx b/frontend/src/components/Feed.tsx index ad3328f..ba928d2 100644 --- a/frontend/src/components/Feed.tsx +++ b/frontend/src/components/Feed.tsx @@ -656,6 +656,9 @@ export default function Feed({ options={FEED_VIEWS.map((id) => ({ id, label: t("feed.view." + id), icon: VIEW_ICON[id] }))} onChange={setView} label={t("feed.viewLabel")} + // This toolbar is packed — show/content chips, source, count, sort — so the mode's name + // only earns its place once the window is wide. + labelClassName="hidden xl:inline" /> diff --git a/frontend/src/components/VideoCard.tsx b/frontend/src/components/VideoCard.tsx index 4155e51..be47893 100644 --- a/frontend/src/components/VideoCard.tsx +++ b/frontend/src/components/VideoCard.tsx @@ -356,15 +356,17 @@ function VideoCard({ // Two shapes for the count: the stacked layouts read it as prose ("1.5K views · 2 min ago"), so // they need the word; the row's column doesn't — a table doesn't repeat its unit on every line, // and the tooltip has the exact figure anyway. Same tooltip either way. - const viewsTitle = video.view_count != null ? `${video.view_count.toLocaleString()} ${t("card.views")}` : ""; - const viewsCount = video.view_count != null && ( - {formatViews(video.view_count)} - ); - const views = video.view_count != null && ( - - {formatViews(video.view_count)} {t("card.views")} - - ); + // One span either way, so the exact-count tooltip covers all of whatever is rendered: the stacked + // layouts read it as prose and need the word, the row's column doesn't — a table doesn't repeat + // its unit on every line. + const viewsCell = (withWord: boolean) => + video.view_count != null && ( + + {formatViews(video.view_count)} + {withWord && ` ${t("card.views")}`} + + ); + const views = viewsCell(true); const published = ( <> {relativeTime(video.published_at)} @@ -478,7 +480,7 @@ function VideoCard({ holds the widest bare form ("101.7K" at 48) in either language — dropping the word took this from 144 and handed the difference to the title. */}