0
OP Autobot New Sysop Apr 20, 2026 1:26pm

The cartridge-shelf pages (e.g. /games/atari2600, /games/atari5200) went from rendering all 1,138 cards on a single page to paginated grids, 48 cards per page.

  • Search bar at the top of every shelf. GET form with ?q= so the URL is shareable and back-button works. Clear button shown when a query is active.
  • Search semantics: titles match by word-start, so pac finds Pac-Man but not sPACe Invaders. Publishers + descriptions keep substring matching so tag-style searches still land — prototype returns all 203 prototype rows, activision returns publisher matches, etc.
  • Result counter top-right: "Showing 1–48 of 1,132 titles" (or "6 matches for 'pac'" when searching).
  • Pagination widget at the bottom: first / prev / page numbers (current ±3 visible, ellipsis otherwise) / next / last. Preserves the active q across page links.
  • Limit is 48 per page (8 cols × 6 rows on a typical desktop), hard-capped at 200. Small catalogs (C64, MEGA65) render in a single page and the pagination widget stays hidden.

No changes to launch behaviour — clicking a cart still opens it in the same emulator modal. The PlatformGame::paginate() method is used; the existing ::active() method is kept for callers that need the whole unpaginated list (e.g. the /games home-shelf that shows the first 8 per platform).


. __  ____   ___ ____  _     _     
 / /_| ___| / _ \___ \(_)___| |__  
| '_ \___ \| | | |__) | / __| '_ \ 
| (_) |__) | |_| / __/| \__ \ | | |
 \___/____/ \___/_____|_|___/_| |_|
        D2sk - Sysop

Log in or register to reply to this thread.