Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
PR SummaryLow Risk Overview Updates the searchbox footer to render the new Reviewed by Cursor Bugbot for commit 90b1258. Bugbot is set up for automated code reviews on this repo. Configure here. |
👋 Codeowner Review RequestThe following codeowners have been identified for the changed files: Team reviewers: @nodejs/nodejs-website Please review the changes when you have a chance. Thank you! 🙏 |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8829 +/- ##
==========================================
+ Coverage 73.90% 73.91% +0.01%
==========================================
Files 105 105
Lines 8889 8889
Branches 326 326
==========================================
+ Hits 6569 6570 +1
+ Misses 2319 2318 -1
Partials 1 1 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 90b1258. Configure here.
| fill="none" | ||
| aria-hidden="true" | ||
| {...props} | ||
| className={classNames('h-3 w-auto', className)} |
There was a problem hiding this comment.
Hardcoded size classes reduce Logo component reusability
Low Severity
The Orama Logo component hardcodes 'h-3 w-auto' in its classNames, which is inconsistent with every other partner logo component (e.g., Cloudflare, Sentry) that only include color theming — never sizing. This also duplicates the same h-3 w-auto already applied by the oramaLogo CSS module class in the Footer consumer. If the Logo is rendered via renderLargePartner (which passes no className), it would be locked to 12px height instead of sizing naturally.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 90b1258. Configure here.
There was a problem hiding this comment.
Pull request overview
Adds an Orama partner logo to the shared UI icon set and switches the site search footer to render the logo locally (SVG component) instead of fetching a theme-dependent remote asset.
Changes:
- Add new
Oramapartner logo module to@node-core/ui-componentsPartnerLogos. - Update the Searchbox footer to render the Orama logo as an imported SVG React component.
- Adjust partner “small” rendering to avoid hard-failing when a partner logo module doesn’t export a
Favicon.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/ui-components/src/Icons/PartnerLogos/index.ts | Registers ORAMA in the PartnerLogos barrel export. |
| packages/ui-components/src/Icons/PartnerLogos/Orama/index.ts | Adds the Orama logo module export (currently Logo only). |
| packages/ui-components/src/Icons/PartnerLogos/Orama/Logo.tsx | Introduces the Orama SVG logo component. |
| apps/site/components/Common/Searchbox/Footer/index.tsx | Replaces remote theme-based logo with locally imported SVG component. |
| apps/site/components/Common/Searchbox/Footer/index.module.css | Adds styling for the Orama logo color/size. |
| apps/site/components/Common/Partners/index.tsx | Makes small partner rendering tolerant of missing Favicon exports. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| const Logo = PartnerLogos[partner.id]; | ||
| const PartnerIcon = 'Favicon' in Logo ? Logo.Favicon : null; | ||
|
|
||
| if (!PartnerIcon) { | ||
| return null; | ||
| } |
There was a problem hiding this comment.
renderSmallPartner now returns null when a partner logo module doesn’t export Favicon, but getPartners() still slices to the requested length before rendering. This can lead to fewer than length partners being shown (e.g., when a new partner like ORAMA has only Logo). Prefer ensuring every partner logo exports a Favicon, or add a fallback (e.g., render Logo.Logo with small sizing) / filter partners with a favicon before slicing so the UI consistently renders the requested count.
| import OramaLogo from '@node-core/ui-components/Icons/PartnerLogos/Orama/Logo'; | ||
| import { useTranslations } from 'next-intl'; |
There was a problem hiding this comment.
This footer is a client component, and importing the Orama logo as a React SVG component inlines a very large <path> into the client JS bundle. Consider serving the logo as a static asset (local /public SVG or remote) and rendering it via <img>/next/image, or otherwise ensuring it doesn’t inflate the client bundle for the search modal UI.
| import Logo from './Logo'; | ||
|
|
||
| export { Logo }; |
There was a problem hiding this comment.
All other partner logo modules export both Favicon and Logo, but ORAMA only exports Logo. This forces call sites to add special-casing (as in Partners/index.tsx) and can cause ORAMA to be omitted from small partner lists. Add an Orama/Favicon component and export { Favicon, Logo } here to match the established PartnerLogos module shape.
| import Logo from './Logo'; | |
| export { Logo }; | |
| import Favicon from './Favicon'; | |
| import Logo from './Logo'; | |
| export { Favicon, Logo }; |
| fill="none" | ||
| aria-hidden="true" | ||
| {...props} | ||
| className={classNames('h-3 w-auto', className)} |
There was a problem hiding this comment.
The Orama logo component hard-codes sizing (h-3 w-auto) in its own className, while consumers (e.g. the Searchbox footer and PartnerButton styles) also set SVG sizing. To avoid conflicting/duplicated sizing rules and keep this logo consistent with other partner logo components, consider removing the default size classes from the SVG and letting the caller control size via className/container CSS.
| className={classNames('h-3 w-auto', className)} | |
| className={classNames(className)} |
📦 Build Size ComparisonSummary
Changes➕ Added Assets (1)
➖ Removed Assets (1)
|


Description
Validation
Related Issues
Check List
pnpm formatto ensure the code follows the style guide.pnpm testto check if all tests are passing.pnpm buildto check if the website builds without errors.