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:
@@ -28,7 +28,9 @@ export interface FeedViewSpec {
|
||||
* 3440px, `cards` laid out 11 columns of 264px. Each cap here is set so the item tops out near
|
||||
* 1.5x its own `minCol` on a 3440px ultrawide, which keeps each view recognisably itself (a capped
|
||||
* `cardsSmall` must not grow into a `cards`). Below the width where that many columns already fit
|
||||
* the cap does nothing at all, so 1024 through 2560 are byte-identical to before it existed. */
|
||||
* the cap does nothing at all. For `cards` that width is past 2560; `cardsSmall` already binds AT
|
||||
* 2560 with the filter rail collapsed (12 would fit, 11 are laid out) — the intended layout, not
|
||||
* an accident, but not "unchanged" either. */
|
||||
maxCols: number | null;
|
||||
/** Show the video thumbnail. False only for the bare row — whose badges (duration, live state,
|
||||
* saved, resume bar) then move into the meta line, since Thumb is what draws them. */
|
||||
|
||||
Reference in New Issue
Block a user