Skip to content

chore(release): promote dev to main - #1555

Merged
JOY (JOY) merged 1 commit into
mainfrom
dev
Oct 31, 2026
Merged

JOY (JOY) merged 1 commit into
mainfrom
dev

Conversation

@JOY

@JOY JOY (JOY) commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

Promote dev to main.

Merge with a merge commit, never squash (Docs/Resources/RELEASE.md).


📌 TL;DR

This PR refines the leaderboard and product review UI to dynamically hide criteria, personas, and weight sliders when no products in the current category have valid scores for them, preventing empty states and ensuring URL consistency. It also updates localization strings to remove hardcoded references to "5" criteria.

🎯 Type of Change

  • 🚀 New feature
  • 🐛 Bugfix
  • 🧹 Refactor
  • ⚡ Performance
  • 📚 Documentation
  • ⚙️ CI / Configuration

🔍 Changes Walkthrough

File Summary of Changes
apps/web/e2e/selector-state.spec.ts Updated E2E tests to verify that criteria tabs, persona presets, and weight sliders are hidden when no products have scores. Added a new test case for URL redirection to criterion=combined when a specific criterion has no data.
apps/web/locales/cs.json Updated criteriaMatrixHeading to remove the hardcoded number "5".
apps/web/locales/en.json Updated criteriaMatrixHeading to remove the hardcoded number "5".
apps/web/locales/vi.json Updated criteriaMatrixHeading to remove the hardcoded number "5".
apps/web/src/app/[locale]/smartphones/[slug]/page.tsx Passed categorySlug to JReviewsSection to enable category-specific filtering of criteria.
apps/web/src/components/leaderboard/LeaderboardExplorer.tsx Introduced scoredCriteria memo to filter criteria based on actual product scores. Added useLayoutEffect to redirect URL to combined if the requested criterion has no data. Conditionally rendered persona/weight slider sections and criteria bars only when hasScoredCriteria is true.
apps/web/src/components/reviews/JReviewsSection.tsx Added categorySlug prop. Created shownCriteriaMeta memo to filter criteria based on the category. Updated rendering logic to use shownCriteriaMeta instead of the full criteriaMeta list.

📊 Architectural Flow

flowchart TD
    A[LeaderboardExplorer Mount] --> B{Calculate scoredCriteria}
    B -->|No products have scores| C[hasScoredCriteria = false]
    B -->|Products have scores| D[hasScoredCriteria = true]
    
    C --> E[Hide Persona/Weight UI]
    C --> F[Hide Criteria Bars]
    C --> G[Redirect URL to criterion=combined]
    
    D --> H[Show Persona/Weight UI]
    D --> I[Show Criteria Bars]
    
    J[Product Detail Page] --> K[Pass categorySlug to JReviewsSection]
    K --> L{Filter criteriaMeta by category}
    L --> M[Render only relevant criteria]
Loading

…buds (#1554)

* fix(web): hide criteria with no scored product; no screen row for earbuds

#1553: no published product has a criterion score yet, so every
criterion tab and persona emptied the leaderboard with no word why.
- The leaderboard shows a criterion tab, weight slider, row cell and
  podium bar only for a criterion that some product in the category has a
  real score for; with none, the persona presets and sliders are hidden
  and a criterion URL opens on the combined score.
- The product page's review score block and each review's criterion
  chips use the category's criteria: no screen row for earbuds. The
  heading drops its fixed "5". The review form is unchanged.

Closes #1553

* fix(web): an unscored criterion falls back before paint and in the url

Review of #1554: the fallback to the combined tab ran after paint, so an
empty list flashed, and the URL kept the unscored criterion after a
category switch. It now runs as a layout effect and rewrites the URL.

Refs #1553

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Code review skipped — your organization has no extra usage available to pay for this review.

If your organization's extra usage balance is empty, an organization admin can add extra usage credits at claude.ai/admin-settings/usage. If its monthly spend limit was reached, an admin can raise it on the same page. If neither applies, contact Anthropic support.

Once extra usage is available, someone with write access to this repository can comment @claude review on this pull request to trigger a review.

@vercel

vercel Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
rate Ready Ready Preview Oct 31, 2026 7:55pm UTC

Request Review

@coderabbitai

coderabbitai Bot commented Oct 31, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 6e78eee4-17b6-441f-b1bf-c0735af068fa

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

dos[bot]
dos Bot approved these changes Oct 31, 2026

@dos dos Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⏱️ Code Review completed (7 eligible files · 28,920 chars · 4 model call(s) · 1 PR unit(s))

Whole diff with bounded context at base 1a9cd84 / head 781e4a0.

✅ CLEAN_PASS: Complete diff reviewed

Context investigation was bounded to the explicitly requested snapshot paths.

@JOY
JOY (JOY) merged commit 2ec154c into main Oct 31, 2026
30 of 31 checks passed

This branch was successfully deployed

1 active deployment
Preview — 781e4a01 Deployed Oct 31, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:frontend Frontend / Next.js / UI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant