Measured entry
ruixen-navbar-icon-links
A compact client-side React navbar that ships as a shadcn registry component. It renders a home-linked logo, desktop navigation links, external social icon buttons, and a primary call to action. It relies on Next.js Link, Tailwind utility classes, lucide-react icons, the shadcn Button component, and the usual cn helper.



Measured
Every value below was written by the harness on the run that produced the frames above. None of it is derived from the prose.
| Build | OK |
|---|---|
| Mount | OK |
| Console errors | 0 |
| Uncaught page errors | 0 |
| Horizontal overflow | clean at 375, 768, 1440 |
| Axe critical | 0 |
| Axe serious | 0 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 45.4 KB (110.8 KB build, 65.4 KB baseline) |
| Bare mode | FAIL |
| Provider required | NO |
| Demo used | written from the component source API |
What the harness recorded
BARE BUILD
✗ Build failed in 1m 5s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/navbar-icon-links.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A sensible, focused header for an existing shadcn-based Next.js site, with clear props and restrained scope. It needs a shadcn-style setup before it can build or mount in a bare project, and its missing mobile navigation limits it to sites where the primary links are optional on small screens.
Use it if
- You need a simple marketing header with a logo, desktop links, social destinations, and one primary action.
- Your app already uses Next.js, Tailwind, and shadcn component conventions.
- You want navigation content supplied through props instead of editing the component markup.
Skip it if
- You need mobile access to the main navigation links, since they are hidden on smaller screens and no menu replaces them.
- Your project is not built on Next.js or you do not want to replace its Link dependency.
- You need arbitrary social networks without extending the fixed GitHub and Twitter icon map.
- You want a standalone component with no shadcn utilities or shared button primitive.
Install
| Declared dependencies | lucide-react, radix-ui |
|---|---|
| Missing on install | none |
| Bare install | fails once the shadcn-style helpers are removed, so it needs that setup |
| Provider | no provider required in the harness |
In a non-shadcn project, add Tailwind with the expected theme tokens, provide the cn class-merging helper, install lucide-react, and add a compatible Button primitive with ghost, icon, small, and as-child behavior. Use Next.js Link or replace those imports and link elements with your router's equivalent.
Source and credit
This page is a review, not a copy. The component source lives with its author and this site does not republish it. Read the license before you use anything.
Author repository
github.com/ruixenui/ruixen.comAlternatives
Other published entries for the navbar pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- hyperui-headers-4editorial
- Renders
- YES
- A11y
- 0
- Gzip
- 19.1KB
- Bare
- pass
- Prov
- NO
- kibo-dialog-stackminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 33.4KB
- Bare
- pass
- Prov
- NO
- ruixen-floating-navbarunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 59.9KB
- Bare
- pass
- Prov
- NO
- ruixen-hover-gradient-navbargradient-glow
- Renders
- YES
- A11y
- 0
- Gzip
- 60.9KB
- Bare
- pass
- Prov
- NO
- ruixen-expandable-menu-navbarunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 61.8KB
- Bare
- pass
- Prov
- NO
- hextaui-cardminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 26.7KB
- Bare
- fail
- Prov
- NO