Improve ZXDB downloads with local mirroring and inline preview
This commit implements a comprehensive local file mirror system for ZXDB and WoS downloads, allowing users to access local archives directly through the explorer UI. Key Changes: Local File Mirroring & Proxy: - Added `ZXDB_LOCAL_FILEPATH` and `WOS_LOCAL_FILEPATH` to `src/env.ts` and `example.env` for opt-in local mirroring. - Implemented `resolveLocalLink` in `src/server/repo/zxdb.ts` to map database `file_link` paths to local filesystem paths based on configurable prefixes. - Created `src/app/api/zxdb/download/route.ts` to safely proxy local files, preventing path traversal and serving with appropriate `Content-Type` and `Content-Disposition`. - Updated `docs/ZXDB.md` with setup instructions and resolution logic. UI Enhancements & Grouping: - Grouped downloads and scraps by type (e.g., Inlay, Game manual, Tape image) in `EntryDetail.tsx` and `ReleaseDetail.tsx` for better organization. - Introduced `FileViewer.tsx` component to provide inline previews for supported formats (.txt, .nfo, .png, .jpg, .gif, .pdf). - Added a "Preview" button for local mirrors of supported file types. - Optimized download tables with badge-style links for local/remote sources. Guideline Updates: - Updated `AGENTS.md` to clarify commit message handling: edit or append to `COMMIT_EDITMSG` instead of overwriting. - Re-emphasized testing rules: use `tsc --noEmit`, do not restart dev-server, and avoid `pnpm build` during development. Signed-off-by: junie@lucy.xalior.com
This commit is contained in:
@@ -19,9 +19,6 @@ ZXDB_REMOTE_FILEPATH=https://zxdbfiles.com/
|
||||
# Note: Example uses the Internet Archive WoS mirror; keep the trailing slash
|
||||
WOS_REMOTE_FILEPATH=https://archive.org/download/World_of_Spectrum_June_2017_Mirror/World%20of%20Spectrum%20June%202017%20Mirror.zip/World%20of%20Spectrum%20June%202017%20Mirror/
|
||||
|
||||
# Local cache root where files will be mirrored (without the leading slash)
|
||||
CDN_CACHE=/mnt/files/zxfiles
|
||||
|
||||
# Local mirror filesystem paths for downloads.
|
||||
# Enabling these (and verifying existence) will show "Local Mirror" links.
|
||||
# See docs/ZXDB.md for how prefixes are stripped and joined to these paths.
|
||||
|
||||
Reference in New Issue
Block a user