Scope: rework the page-header version surface and the About modal so users can navigate between releases / MR previews without opening a multi-screen modal, and surface the on-Commons tracking category for files uploaded with this tool.
Header version indicator
src/app.jsx:1402–1425 (the topbar). Today the brand row reads W Upload Workbench · Wikimedia Commons [Beta], with version only visible inside the About modal.
Wanted:
- Drop the · Wikimedia Commons sub-title and its sibling Beta chip from the topbar (Beta moves into the About modal head).
- Inline <VersionChip> reading v<X.Y.Z> from __APP_VERSION__ (Vite compile-time define from vite.config.js).
- Color-coded by __DEPLOY_TARGET__:
- main → green ("you're on the live release")
- v<X.Y.Z> → yellow ("you're on an older archived release")
- mr-<IID> → blue ("you're previewing an unmerged MR")
- dev → grey (npm run dev local build)
- Click the chip → small dropdown anchored under it, listing:
- the latest 5 releases parsed from CHANGELOG.md (each → https://upload-workbench.toolforge.org/v<X.Y.Z>/)
- every open merge request from fetchOpenMergeRequests() (each → https://upload-workbench.toolforge.org/mr-<IID>/)
- the currently-active build is marked "you are here"
- Esc / click-outside closes. Aria-haspopup, button semantics.
About modal redesign
src/ui/info-modal.jsx. The current modal stacks About → Links → Switch version (full list, ~25 versions) → MRs → Full changelog (every CHANGELOG entry rendered inline). Per maintainer: it's too long and dominated by version content; MR list is buried.
Wanted:
- New link in the Links section: "Files uploaded with this tool" → https://commons.wikimedia.org/wiki/Category:Uploaded_with_Upload_Workbench (the on-Commons hidden tracking category that publish.js already appends to every uploaded file via [[ T426405 ]] / v0.26.0).
- "Versions" section becomes an accordion, default-open. Inside:
- Compact list of the latest 5 releases.
- Each release row is click-to-expand (inner accordion) — expanding inlines that release's CHANGELOG entry (the per-section Added/Changed/Fixed/Removed bullets).
- Below the latest 5: a "Show all releases" disclosure that reveals the rest of the list (still each click-to-expand).
- "Open merge requests" section sits below versions — with the versions section foldable, the MR list is no longer buried.
- The standalone "Full changelog" wall-of-text section is removed — that content is now reachable per-version via the accordion above; no need to render every release's bullets inline a second time.
Acceptance criteria
- Build passes: npm run build (with the undefined-identifier scanner).
- Header chip renders v0.27 in green when loaded from /, yellow when loaded from /v0.27.0/, blue when loaded from /mr-<IID>/. Verified on the MR preview itself (this MR's own /mr-<IID>/ view should report blue).
- Header chip dropdown lists latest-5 releases + open MRs; entries are clickable; current view is marked "you are here".
- About modal: Commons-category link works (opens the Category page in a new tab); Versions accordion folds; per-version inline expansion shows that release's CHANGELOG bullets; "Show all releases" reveals the rest; MR list is reachable without scrolling past a wall of changelog text.
Out of scope
- No commit-by-commit history.
- No persistence of accordion open/closed state across modal opens.
- No version-chip hover preview / no language switcher / no other dropdown content.
- The single CHANGELOG.md remains the source of truth for releases.