diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/features/messages.js | 5 | ||||
| -rw-r--r-- | src/style.css | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/features/messages.js b/src/features/messages.js index 32d23a9..0f8c78a 100644 --- a/src/features/messages.js +++ b/src/features/messages.js @@ -14205,7 +14205,10 @@ export function messagesFeature(ctx) { if (missing.length) warmTileThumbs(missing).then(() => queueTileThumbs(missing.filter((u) => !tileThumbs.has(u)))); } if (mediaMode === 'videos') for (const it of items.slice(0, 24)) preconnect(playSrc(it.url)); - return h('div', { class: 'media-grid', 'data-key': 'media-grid:' + mediaMode }, + // wide clips only (a wide screen, not "All shapes"): one to a row, wide + // posters, not slivers of them cut to portrait tiles (Adam, 2026-10-22) + const wideRows = mediaMode === 'videos' && !clipsAll() && !screenTall(); + return h('div', { class: 'media-grid' + (wideRows ? ' wide' : ''), 'data-key': 'media-grid:' + mediaMode }, ...items.map((it) => { const k = mediaKey(it); // a video tile shows a still at once: kept, given, or the server's diff --git a/src/style.css b/src/style.css index 4fbe96b..25f3bed 100644 --- a/src/style.css +++ b/src/style.css @@ -1538,6 +1538,9 @@ body::after { background: var(--surface2); overflow: hidden; cursor: pointer; } .media-tile.video { aspect-ratio: 9 / 16; } +/* only wide clips in it: one to a row, the poster whole */ +.media-grid.wide { grid-template-columns: 1fr; gap: 6px; } +.media-grid.wide .media-tile.video { aspect-ratio: 16 / 9; } .media-tile img, .media-tile video { width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; } .media-tile.broken { display: none; } .media-tile-play { |
