54cfe4f175bfb94a7e47cd2cfcd49c8206c1ee53
Why - Reduce time-to-first-content on ZXDB index pages by eliminating the initial client-side fetch and enabling incremental static regeneration. What - Main Explorer (/zxdb): - Server-renders first page of results and lookup lists (genres, languages, machinetypes) and passes them as initial props. - Keeps client interactivity for subsequent searches/filters. - Labels index (/zxdb/labels): - Server-renders first page of empty search and passes as initial props to skip the first fetch. - Category lists: - Genres (/zxdb/genres), Languages (/zxdb/languages), Machine Types (/zxdb/machinetypes) now server-render their lists and export revalidate=3600. - Refactored list components to accept server-provided items; removed on-mount fetching. - Links & prefetch: - Replaced remaining anchors with Next Link to enable prefetch where applicable. Tech details - Added revalidate=3600 to the index pages for ISR. - Updated ZxdbExplorer to accept initial results and initial filter lists; skips first client fetch when initial props are present. - Updated LabelsSearch to accept initial payload and skip first fetch in default state. - Updated GenreList, LanguageList, MachineTypeList to be presentational components receiving items from server pages. Notes - Low-churn list APIs already emit Cache-Control for CDN; list pages now render instantly from server. - Further polish (breadcrumbs, facet counts UI) can build on this foundation without reintroducing initial network waits. Signed-off-by: Junie@lucy.xalior.com
Spectrum Next Explorer
A Next.js application for exploring the Spectrum Next hardware. It includes a Register Explorer with real‑time search and deep‑linkable queries.
Features
- Register Explorer parsed from
data/nextreg.txt - Real‑time filtering with query‑string deep links (e.g.
/registers?q=vram) - Bootstrap 5 theme with light/dark support
Quick start
- Prerequisites: Node.js 20+, pnpm (recommended)
- Install dependencies:
pnpm install
- Run in development (Turbopack, port 4000):
pnpm devthen open http://localhost:4000
- Build and start (production):
pnpm buildpnpm start(defaults to http://localhost:3000)
- Lint:
pnpm lint
Project scripts (package.json)
dev:PORT=4000 next dev --turbopackbuild:next build --turbopackstart:next startdeploy-test: push totest.explorer.specnext.devdeploy-prod: push toexplorer.specnext.dev
Documentation
- Docs index:
docs/index.md - Getting Started:
docs/getting-started.md - Architecture:
docs/architecture.md - Register Explorer:
docs/registers.md
License
- See
LICENSE.txtfor details.
Description
Languages
TypeScript
77.3%
SCSS
11.6%
CSS
7.5%
JavaScript
2%
Dockerfile
1.4%
Other
0.2%