feat: add dark mode logos for selected chains and tokens#1394
feat: add dark mode logos for selected chains and tokens#1394paulbalaji merged 7 commits intomainfrom
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
📝 WalkthroughWalkthroughAdds dark mode logos support: a changelog entry, build script copying of Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 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 |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.changeset/dark-logos-added.md (1)
1-5: Changeset is well-formed — consider whetherminorfits better thanpatch.The format and description look good. One thing worth a wee think: adding 24 brand-new
logo-dark.svgassets is net-new functionality that consumers can now start referencing. That's the kind of addition that typically sits inminorterritory under semver, since it's backwards-compatible new capability rather than a fix to something already broken.That said, if the project convention is to treat pure asset drops as
patch, this is perfectly fine as-is.♻️ Optional bump level adjustment
-'@hyperlane-xyz/registry': patch +'@hyperlane-xyz/registry': minor🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.changeset/dark-logos-added.md around lines 1 - 5, The changeset header currently marks '@hyperlane-xyz/registry' as "patch" while adding 24 new dark-mode logo assets; update the changeset release level from patch to minor by changing the version tag string in the changeset frontmatter (the line "'@hyperlane-xyz/registry': patch") to "'@hyperlane-xyz/registry': minor" so the new consumer-facing assets are treated as a minor, backwards-compatible addition.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.changeset/dark-logos-added.md:
- Around line 1-5: The changeset header currently marks
'@hyperlane-xyz/registry' as "patch" while adding 24 new dark-mode logo assets;
update the changeset release level from patch to minor by changing the version
tag string in the changeset frontmatter (the line "'@hyperlane-xyz/registry':
patch") to "'@hyperlane-xyz/registry': minor" so the new consumer-facing assets
are treated as a minor, backwards-compatible addition.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0fc03a1159
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
- Fix neutron/sophon/sonic/soneium darkmode logos placed in wrong dirs - Update CHAIN_FILE_REGEX to allow hyphens in filenames - Add darkmode-logo field to ChainFiles interface - Copy darkmode-logo.svg in build script Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
🧹 Nitpick comments (1)
src/registry/IRegistry.ts (1)
34-34: LGTM on the new field — consider adding agetChainDarkLogoUricounterpart.The
'darkmode-logo'?: stringfield is correctly optional and the quoted key syntax is valid TypeScript. That said, the interface already exposesgetChainLogoUrias a named accessor for the regular logo. Without a parallelgetChainDarkLogoUri(chainName: ChainName): Promise<string | null>, consumers wanting the dark variant must dig throughlistRegistryContent()to find it — a bit of a farther walk through the swamp when the shortcut already exists for the light logo.♻️ Suggested addition to IRegistry
getChainLogoUri(chainName: ChainName): Promise<string | null>; + getChainDarkLogoUri(chainName: ChainName): Promise<string | null>;🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@src/registry/IRegistry.ts` at line 34, Add a parallel accessor to IRegistry so consumers can fetch the dark-mode logo without scanning listRegistryContent: declare a new async method getChainDarkLogoUri(chainName: ChainName): Promise<string | null> on the IRegistry interface, implement it alongside the existing getChainLogoUri, and have implementations return the `'darkmode-logo'` value (or null if absent); update any implementing classes that currently only support getChainLogoUri and listRegistryContent to provide this new method.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@src/registry/IRegistry.ts`:
- Line 34: Add a parallel accessor to IRegistry so consumers can fetch the
dark-mode logo without scanning listRegistryContent: declare a new async method
getChainDarkLogoUri(chainName: ChainName): Promise<string | null> on the
IRegistry interface, implement it alongside the existing getChainLogoUri, and
have implementations return the `'darkmode-logo'` value (or null if absent);
update any implementing classes that currently only support getChainLogoUri and
listRegistryContent to provide this new method.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary
darkmode-logo.svg(white/inverted) variants for 21 chains: abstract, aleo, aleotestnet, berachain, eclipsemainnet, edgenchain, incentiv, krown, litchain, mantle, megaeth, milkyway, neutron, soneium, sonic, sophon, subtensor, vana, viction, worldchain, xlayerdarkmode-logo.svgfor 6 token warp routes: ALEO, CENT, EDGEN, KROWN, LITKEY, MILKCHAIN_FILE_REGEXto support hyphenated filenamesdarkmode-logofield toChainFilesinterfacedarkmode-logo.svgin build scriptTest plan
🤖 Generated with Claude Code