chore: Apply minor UI/UX updates to ensv2-ready-resolution best practice - #231
Conversation
…ark for WalletChan
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughThe PR extracts inline app and protocol leaderboard rendering from ChangesLeaderboard Snippet Componentization
ENSv2 Benchmark Content and NotApplicable Rendering
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
Greptile SummaryThis PR applies UI/UX updates to the
Confidence Score: 5/5Safe to merge — content data updates and a clean component extraction with no logic regressions. All four AppTypes remain covered across the two new display arrays, the extracted Astro components faithfully reproduce the original index.astro logic, and the new exampleNotApplicable path follows the existing pattern correctly. The benchmark and example-app updates are purely content changes. No files require special attention. The only nuance is in technicalDetails.tsx where the Fail description no longer mentions apps that fail to resolve entirely — but this is intentional, covered by the new Not Applicable classification. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[index.astro] --> B[TOP_DISPLAY_APP_TYPES\nWallet · DeFi]
A --> C[ProtocolTypes\nall protocol types]
A --> D[BOTTOM_DISPLAY_APP_TYPES\nExchange · Explorer]
B --> E[AppLeaderboardSnippet.astro]
C --> F[ProtocolLeaderboardSnippet.astro]
D --> E
E --> G[Filter APPS by appType\nSort · Slice top 3\nRender LeaderboardCard ×3\n+ View full leaderboard link]
F --> H[getContractNamingScoresByProtocolType\nSlice top 3\nRender LeaderboardCard ×3\n+ View full leaderboard link]
subgraph technicalDetails [ensv2-ready-resolution technicalDetails]
I[examplePass\nRabby Wallet GIF]
J[exampleFail\nZerion PNG]
K[exampleNotApplicable NEW\nBinance Wallet GIF]
end
subgraph BestPracticeTechnicalDetails [BestPracticeTechnicalDetails component]
L[Render examplePass]
M[Render exampleFail]
N[Render exampleNotApplicable\nif defined NEW]
end
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
A[index.astro] --> B[TOP_DISPLAY_APP_TYPES\nWallet · DeFi]
A --> C[ProtocolTypes\nall protocol types]
A --> D[BOTTOM_DISPLAY_APP_TYPES\nExchange · Explorer]
B --> E[AppLeaderboardSnippet.astro]
C --> F[ProtocolLeaderboardSnippet.astro]
D --> E
E --> G[Filter APPS by appType\nSort · Slice top 3\nRender LeaderboardCard ×3\n+ View full leaderboard link]
F --> H[getContractNamingScoresByProtocolType\nSlice top 3\nRender LeaderboardCard ×3\n+ View full leaderboard link]
subgraph technicalDetails [ensv2-ready-resolution technicalDetails]
I[examplePass\nRabby Wallet GIF]
J[exampleFail\nZerion PNG]
K[exampleNotApplicable NEW\nBinance Wallet GIF]
end
subgraph BestPracticeTechnicalDetails [BestPracticeTechnicalDetails component]
L[Render examplePass]
M[Render exampleFail]
N[Render exampleNotApplicable\nif defined NEW]
end
Reviews (1): Last reviewed commit: "Apply feedback item 4 from the 06/16/26 ..." | Re-trigger Greptile |
There was a problem hiding this comment.
Pull request overview
This PR applies small UI/UX improvements related to the ensv2-ready-resolution best practice technical details, and refactors the landing page leaderboard sections into reusable snippets with an explicit app-type ordering.
Changes:
- Refactors the landing page leaderboards into
AppLeaderboardSnippet/ProtocolLeaderboardSnippetcomponents and introduces top/bottom app-type display group ordering. - Adds support for displaying “Not Applicable” acceptance test examples in best-practice technical details and populates a Not Applicable example for
ensv2-ready-resolution. - Updates WalletChan’s
ensv2-ready-resolutionbenchmark result to Pass with updated notes/metadata.
Reviewed changes
Copilot reviewed 7 out of 12 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| ensawards.org/src/pages/index.astro | Switches landing page rendering to use new leaderboard snippet components and app-type display groups. |
| ensawards.org/src/components/organisms/ProtocolLeaderboardSnippet.astro | New reusable protocol leaderboard snippet extracted from the landing page logic. |
| ensawards.org/src/components/organisms/AppLeaderboardSnippet.astro | New reusable app leaderboard snippet extracted from the landing page logic. |
| ensawards.org/src/components/molecules/technicalDetails/bestPractice/index.tsx | Adds UI rendering for exampleNotApplicable acceptance test examples. |
| ensawards.org/data/ens-best-practices/ensv2-readiness/ensv2-ready-resolution/technicalDetails.tsx | Adds a Not Applicable example and updates example assets/content for the best practice. |
| ensawards.org/data/apps/walletchan-wallet/benchmarks/index.tsx | Updates WalletChan’s benchmark result/notes for ensv2-ready-resolution. |
| ensawards.org/data/apps/index.ts | Adds explicit landing-page app-type display group constants. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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 `@ensawards.org/src/components/organisms/ProtocolLeaderboardSnippet.astro`:
- Line 78: The `formatProtocolType(protocolType)` call on the "View full" link
text in ProtocolLeaderboardSnippet should be made consistent with the same call
in AppLeaderboardSnippet by explicitly passing the options parameter. Update the
call to `formatProtocolType(protocolType, { plural: false, lowercase: true })`
to match the explicit options used in AppLeaderboardSnippet for the same "View
full" link text pattern.
- Line 56: The formatProtocolType function call in the viewDetailsText prop is
missing the options argument that controls text casing. Add the second argument
`{ lowercase: false }` to the formatProtocolType call so that it reads
`formatProtocolType(protocolType, { lowercase: false })`. This will ensure the
button text renders in titlecase (e.g., "DeFi protocol report") instead of
defaulting to lowercase casing.
🪄 Autofix (Beta)
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: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: a298954b-f1e8-4b09-a542-28af5db8875b
⛔ Files ignored due to path filters (5)
ensawards.org/data/apps/walletchan-wallet/benchmarks/correctly-resolve-ensv2-test-name-address-proof.pngis excluded by!**/*.pngensawards.org/data/ens-best-practices/ensv2-readiness/ensv2-ready-resolution/images/correctly-resolve-ensv2-test-name-address-fail-example.pngis excluded by!**/*.pngensawards.org/data/ens-best-practices/ensv2-readiness/ensv2-ready-resolution/images/correctly-resolve-ensv2-test-name-address-not-applicable-example.gifis excluded by!**/*.gifensawards.org/data/ens-best-practices/ensv2-readiness/ensv2-ready-resolution/images/correctly-resolve-ensv2-test-name-address-pass-example.gifis excluded by!**/*.gifensawards.org/data/ens-best-practices/ensv2-readiness/ensv2-ready-resolution/images/correctly-resolve-ensv2-test-name-address-pass-example.pngis excluded by!**/*.png
📒 Files selected for processing (7)
ensawards.org/data/apps/index.tsensawards.org/data/apps/walletchan-wallet/benchmarks/index.tsxensawards.org/data/ens-best-practices/ensv2-readiness/ensv2-ready-resolution/technicalDetails.tsxensawards.org/src/components/molecules/technicalDetails/bestPractice/index.tsxensawards.org/src/components/organisms/AppLeaderboardSnippet.astroensawards.org/src/components/organisms/ProtocolLeaderboardSnippet.astroensawards.org/src/pages/index.astro
lightwalker-eth
left a comment
There was a problem hiding this comment.
@Y3drk Nice work, looks good, thanks 👍
Lite PR → Apply minor UI/UX updates to
ensv2-ready-resolutionbest practiceSummary
Why
Testing
typecheck,lint, andtestcommands locally to ensure that the migration didn't break anything, and later confirmed that in our CI workflowPre-Review Checklist (Blocking)