Stream the media grid with a scroll buffer

This commit is contained in:
Fisto
2026-09-17 10:47:52 +02:00
parent efd721e83b
commit cc14140f34
6 changed files with 291 additions and 59 deletions
+6 -2
View File
@@ -135,8 +135,12 @@ box live in Chat, not Call, and the connection stats are not chips yet.
apply until **Apply filters** is pressed; **Reset** clears every filter and the zoom, unloads the
grid, and brings back the initial Load media prompt.
- A **Card size** slider scales tiles from two-thirds of the old size up to one image per row; the
page size follows the layout — full rows about 1.5 screens tall — and the grid infinite-scrolls,
preloading the next page's JSON and preview images just before they are needed.
page size follows the layout — full rows about 1.5 screens tall — and the grid streams: each page
appends only its new cards (no image flash) and a buffer below the last row, capped at 1.5
viewport heights, keeps the scroll alive while the next page loads. Auto-fill runs while the
buffer is on screen, so short filtered pages never dead-stop; the note reads `Loading more…`,
`Scroll for more`, or `End of results`, and an elastic nudge replaces the hard stop at the bottom
while loading. The next page's JSON and previews are preloaded just before they are needed.
**New scrape…** opens a popup with **Server** and **Group chat**
tabs: servers expand into their text channels, each channel (and each group chat) has
**Links** and **Download** buttons, and group chats always use the puppet. **History** lists