Skip to content

feat: replace feature grid with dynamic comparison table - #25

Merged
Zahnentferner merged 2 commits into
StabilityNexus:mainfrom
ankitkr104:feat/comparison-table
Aug 7, 2026
Merged

Zahnentferner merged 2 commits into
StabilityNexus:mainfrom
ankitkr104:feat/comparison-table

Conversation

@ankitkr104

@ankitkr104 ankitkr104 commented Aug 7, 2026 •

Copy link
Copy Markdown
Contributor

Description

This PR replaces the static "Why Tectonic" 4-card grid on the homepage with a comprehensive, highly interactive <ComparisonTable /> component that visually highlights Tectonic's advantages over other assets.

Addressed Issues:

Fixes #(TODO:issue number)

Screenshots/Recordings:

new.mp4

Additional Notes:

AI Usage Disclosure:

We encourage contributors to use AI tools responsibly when creating Pull Requests. While AI can be a valuable aid, it is essential to ensure that your contributions meet the task requirements, build successfully, include relevant tests, and pass all linters. Submissions that do not meet these standards may be closed without warning to maintain the quality and integrity of the project. Please take the time to understand the changes you are proposing and their impact. AI slop is strongly discouraged and may lead to banning and blocking. Do not spam our repos with AI slop.

Check one of the checkboxes below:

  • This PR does not contain AI-generated code at all.
  • This PR contains AI-generated code. I have read the AI Usage Policy and this PR complies with this policy. I have tested the code locally and I am responsible for it.

I have used the following AI models and tools: TODO

Checklist

  • My PR addresses a single issue, fixes a single bug or makes a single improvement.
  • My code follows the project's code style and conventions
  • If applicable, I have made corresponding changes or additions to the documentation
  • If applicable, I have made corresponding changes or additions to tests
  • My changes generate no new warnings or errors
  • I have joined the Discord server and I will share a link to this PR with the project maintainers there
  • I have read the Contribution Guidelines
  • Once I submit my PR, CodeRabbit AI will automatically review it and I will address CodeRabbit's comments.
  • I have filled this PR template completely and carefully, and I understand that my PR may be closed without review otherwise.

Summary by CodeRabbit

  • New Features
    • Added an interactive stablecoin comparison table featuring five model categories.
    • Compare key attributes including decentralization, backing, transparency, redemption rights, capital efficiency, and depeg resilience.
    • Added status icons, star ratings, explanatory tooltips, and column highlighting for easier evaluation.
    • Improved usability on smaller screens with responsive horizontal scrolling.

@coderabbitai

coderabbitai Bot commented Aug 7, 2026 •

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@ankitkr104, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 48 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 898db9d9-6d31-4edc-9e6e-d8cc29f34b3f

📥 Commits

Reviewing files that changed from the base of the PR and between 8067d49 and 5b78931.

📒 Files selected for processing (2)
  • components/ComparisonTable.tsx
  • lib/i18n/locales/en.json

Walkthrough

The homepage now renders an interactive comparison table for five stablecoin categories. The component includes static evaluation data, score icons, explanatory footnotes, responsive scrolling, column highlighting, and special emphasis for Tectonic.

Changes

Stablecoin comparison table

Layer / File(s) Summary
Comparison data and formatting
components/ComparisonTable.tsx
The component defines comparison data and footnotes. It formats score icons, footnote markers, and hover tooltips.
Interactive table rendering
components/ComparisonTable.tsx
The table renders responsive headers, feature rows, score cells, hover states, alternating backgrounds, and Tectonic emphasis.
Homepage integration
app/page.tsx
The homepage replaces the feature-card grid with ComparisonTable.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

Suggested labels: Typescript Lang

Poem

A rabbit reviews the table bright,
With stars and checks arranged just right.
Tectonic shines in highlighted view,
Footnotes hop with tooltips too.
The old cards rest; comparison grows.

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: replacing the feature grid with a dynamic comparison table.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai 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.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@components/ComparisonTable.tsx`:
- Around line 5-63: Externalize all user-visible comparison content currently
defined in FOOTNOTES, columns, and features within ComparisonTable into the
locale resource files. Use the component’s useTranslations-based localization
flow to resolve column labels, feature names, scores, and footnote descriptions
at render time, preserving the existing ordering and footnote markers across
locales.
- Around line 119-132: The footnote trigger in the rendered match content must
be keyboard-accessible instead of relying on the non-focusable sup and hover
alone. Replace the footnoteKey trigger within the renderIcons/tooltip block with
a labeled button, connect it to the tooltip via aria-describedby, and add
focus-visible plus group-focus-within styles so the existing tooltip appears
while focused; preserve the current tooltip text and positioning behavior.
- Around line 65-100: Update renderIcons in ComparisonTable to provide
screen-reader text for each score state (“Yes”, “No”, “Caution”, and the
calculated star rating) while marking the decorative SVGs aria-hidden. In the
comparison table markup, render each feature label as a row header using th
scope="row" and assign scope="col" to column headers so scores are associated
with their feature and plan.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: cbd0eb73-f5a0-42ef-b6e9-135958351c07

📥 Commits

Reviewing files that changed from the base of the PR and between ae12b60 and 8067d49.

📒 Files selected for processing (2)
  • app/page.tsx
  • components/ComparisonTable.tsx

Comment thread components/ComparisonTable.tsx Outdated
Comment thread components/ComparisonTable.tsx
Comment thread components/ComparisonTable.tsx Outdated
@Zahnentferner
Zahnentferner merged commit 6893cf3 into StabilityNexus:main Aug 7, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants