TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/full-moon/llms.txt
Use this file to discover all available pages before exploring further.
Navigation component is Full Moon’s persistent site-wide header. It renders a navigation bar containing links to all nine pages of the portfolio and remains mounted across every route transition because it lives inside <Layout> rather than inside any individual page. Beyond the UI, Navigation.js plays a special role in the build output: it is the chunk that carries the full React DOM production runtime, making it the heaviest — and most important — file the browser loads on first visit.
Exports
Navigation.js exports two symbols that Layout consumes directly:
| Export | Symbol | Description |
|---|---|---|
N | Navigation | The navigation bar component rendered in the site header |
O | Outlet | React Router’s <Outlet /> for rendering the matched child route |
Outlet alongside the navigation component keeps the React Router dependency co-located with the file that already owns the React DOM runtime, avoiding a second chunk fetch for a tiny re-export.
Routes Covered
The navigation bar includes a link to each of the nine pages in the Full Moon portfolio:| Route | Page |
|---|---|
/ | Home |
/about | About |
/skills | Skills |
/work | Work |
/projects | Projects |
/case-studies | Case Studies |
/blog | Blog |
/testimonials | Testimonials |
/contact | Contact |
#/about, #/skills, etc.) so the SPA can be deployed to any static file host without server-side URL rewriting.
Bundled Runtime
Navigation.js includes the full React DOM production bundle — this encompasses the scheduler, the reconciler, the fiber architecture, and the synthetic event system. As a result, the browser only needs to load this one file to acquire both the navigation UI and all React internals required to render the rest of the application.
This bundling strategy is a deliberate Vite code-split decision: rather than emitting a separate react-dom vendor chunk, the build co-locates the runtime with the first component that depends on it at the root of the render tree. Every other component chunk in the build can then assume React DOM is already available in the module graph once Navigation.js has executed.
Usage
Navigation is imported and rendered once inside <Layout>. It requires no props: