fix(ui): stable shelf-card menu triggers, a named Button by type, true layout comments
- Home's rail handed each card a fresh `() => menu.triggerProps(c)` per
render, defeating memo(VideoCard) on every tile whenever the menu's own
state changed. `useItemTriggers` (ui/useContextMenu) keeps one trigger per
item, index-aligned; tested for identity across renders.
- The Button accessible-name union had one hole: `<Button icon={…} />` with
no children and no size typechecked into a nameless button. A textful
button now needs children or a name; pinned with @ts-expect-error.
- comfortPin's header said the pin belongs "on every card and row", which
the code never meant (an episode, a season, a person are not pin kinds).
It now says what is pinnable — and the show page's Related strip, whose
shows ARE pinnable, gets the pin menu it was missing (and a rem width).
- gridColumns / feedView / VirtualGrid claimed layouts 1024–2560 are
"byte-identical" under the column cap; the small cards are capped at 2560
with the filter rail collapsed. The comments say so.
This commit is contained in:
@@ -6,8 +6,10 @@
|
||||
// just above its minimum column width no matter how wide the screen is. Measured at 3440px (E10 S4),
|
||||
// the feed laid out 11 columns of 264px — a diluted feed is as bad a failure of the viewport contract
|
||||
// as a broken one, so `maxCols` stops the multiplication and lets the leftover width flow into the
|
||||
// items instead. The cap can only bind ABOVE the width at which that many columns already fit, which
|
||||
// is what keeps every narrower layout — the 1024px floor included — bit-for-bit unchanged.
|
||||
// items instead. The cap can only bind ABOVE the width at which that many columns already fit, so the
|
||||
// 1024px floor and everything near it is unchanged. How far up that reaches is per view: the feed's
|
||||
// small cards (`feedView.cardsSmall`, 11) are already capped at 2560 with the filter rail collapsed —
|
||||
// 12 would fit there — while the regular cards stay uncapped up to 2560.
|
||||
|
||||
/** The grid's gutter in px; the column maths has to net it out on both sides of the division. */
|
||||
export const GRID_GAP = 16;
|
||||
|
||||
Reference in New Issue
Block a user