fix(feed): keep the duration, live state and resume bar in the bare row

Dropping Thumb dropped everything it draws ON the image — duration, the
live/stream badges, the saved marker and the resume bar. Those are
metadata, not decoration, so they move into the meta line and the bar
onto the row. Splits the spec's overloaded compact flag into thumb/dense,
which meant one thing per family and nothing on its own.
This commit is contained in:
2026-07-16 03:25:05 +02:00
parent 78f21eb46b
commit 944dedb218
3 changed files with 82 additions and 26 deletions
+6 -5
View File
@@ -9,14 +9,15 @@ import VideoCard from "./VideoCard";
// minimum column width lives with the rest of the view matrix in lib/feedView.ts.
const GRID_GAP = 16;
const LIST_GAP = 4;
// Estimated row heights before measurement; real heights are measured per-row so
// these only affect the very first paint and the scrollbar's initial guess.
// Estimated row heights before measurement; real heights are measured per-row so these only affect
// the very first paint and the scrollbar's initial guess. Taken from measuring each mode in the
// browser rather than guessed — a bad estimate makes the scrollbar jump as you scroll in.
const ROW_EST: Record<FeedView, number> = {
cards: 340,
cardsSmall: 240,
cardsSmall: 257,
rows: 115,
rowsCompact: 64,
tiles: 124,
rowsCompact: 82,
tiles: 132,
};
/** Columns that fit `width`, or 1 for the single-column views. */