[Feat] Issue-1050 Revamp release page UI - #1076
Open
SwarajKeshari wants to merge 8 commits into
Open
Conversation
… and modularized release components
…contributor and entry data.
…mponents Add test coverage for partial/missing data scenarios across all release page components: - VersionCard: null entry guard, missing prNumber/title/description/category, contributor field precedence and malformed contributor filtering - AvatarStack: empty/null users, invalid username filtering, fallback avatarUrl/profileUrl generation, excess count badge - ReleaseHero: contributors section conditional rendering, null selectedRelease guard, heroImage key fallback, CTA click without DOM target - ChangeLog: 'Select Release' fallback, empty entries state, category filter logic, null selectedRelease guard, active category reset on version switch - Release page: author excluded from hero contributors, deduplication logic, default version in dropdown trigger
- Clean up duplicate CSS selectors and fix color contrast for badges - Add explicit type=button attributes and apply optional chaining - Parameterize ReleaseHero tests and simplify VersionCard conditional logi
SwarajKeshari
force-pushed
the
feat/issue-1050-revamp-release-page-ui
branch
from
July 20, 2026 13:02
9cdb43f to
2207498
Compare
…ease constants - Replace transparent badge background colors with solid hex values in VersionCard to satisfy WCAG contrast requirements. - Remove redundant avatarUrl and profileUrl properties from RELEASE_DATA.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Description
Closes #1050
Revamp the Release Page UI with a modular component architecture.
What changed:
New page layout — Replaced the single monolithic component with dedicated modular components:
ReleaseHero,ChangeLog,AvatarStack, andVersionCard, each with scoped CSS modules.Hero section — New
ReleaseHerocomponent displays the selected version's landing page screenshot with version badge and release date. Image resolution is data-driven viaHERO_IMAGE_MAPinConstants.js, with automatic fallback to the latest image for versions that didn't ship a UI change — ensuring old releases always show their era-correct screenshot.Changelog section —
ChangeLogrenders per-version release notes. Each entry shows the feature category badge, description, PR number (where available), and contributor avatar(s). Supports single and multiple contributors per entry.Contributor avatars — New
AvatarStackcomponent renders overlapping GitHub avatars with hover tooltips linking to contributor profiles. Handles bothcontributor(single) andcontributors(array) shapes defensively.Version selector —
VersionCardlists all available versions. Selecting one updates the hero image and changelog in sync.Centralized data — All release content (versions, entries, contributors, hero image keys) is defined in
RELEASE_DATAinsideConstants.js. Synced with live website data across all versions:v0.8.0,v0.7.0,v0.6.0, andPrevious Versions.Defensive rendering — All components handle missing/partial data (no PR number, no contributors, null entries) without crashing.
Tests — Added unit tests for all new components (
ReleaseHero,AvatarStack,ChangeLog,VersionCard) and updatedRelease.test.jsx.All 618 UI tests pass.What type of PR is this? (Check all applicable)
Screenshots
Screencast.From.2026-07-19.23-53-50.webm
Checklist