dev.void uses React Router v6 for client-side navigation. All route declarations live inDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/dev.void/llms.txt
Use this file to discover all available pages before exploring further.
assets/main.js, which defines nine routes, each wrapped in a shared PageWrapper component that drives a Framer Motion enter/exit animation. Because the portfolio is deployed as a static file (no custom server), a HashRouter is used so that navigation never triggers a real HTTP request.
Why HashRouter?
HashRouter stores the current location in the URL hash (e.g. https://example.com/#/about) rather than the URL pathname. This means the browser never actually requests /about from a server — it only ever fetches index.html from the root. Static hosts such as GitHub Pages and Netlify’s basic static mode serve index.html regardless of the hash, so the SPA always boots correctly. If BrowserRouter were used instead, navigating directly to https://example.com/about would return a 404 unless the host is configured to rewrite all paths to index.html.AuroraNav therefore use hash-prefixed hrefs — /#/about, /#/projects, and so on — rather than bare pathnames.
Router structure
The router tree is assembled in theAppRoutes component and mounted inside a top-level HashRouter:
assets/main.js
Page transition — PageWrapper
Every route element is wrapped in PageWrapper, a motion.div that applies an identical enter/exit animation to every page:
assets/main.js
Enter
Fades in from
opacity: 0, slides up 20 px, and de-blurs from 10 px over 600 ms.Exit
Fades out to
opacity: 0, slides up a further 20 px, and re-blurs to 10 px.Easing
Uses the cubic-bezier
[0.22, 1, 0.36, 1] — an “expo out” curve for a snappy, cinematic feel.Route table
| Path | Page Title | Primary Component | Description |
|---|---|---|---|
/ | Home | AuroraHero + quote block | Landing page with animated hero and intercepted signal quote |
/about | Stellar Cartography | PlanetaryProfile | Developer bio and origins |
/projects | Probes & Payloads | MissionPatchWall | Deployed projects grid |
/skills | Telemetry | TelemetryRadar | Technical skill visualisation |
/work | Mission Log | MissionLogTimeline | Work history timeline |
/case-studies | Anomalies Investigated | FlightRecorderCase | Detailed project case studies |
/blog | Field Notes from the Void | OrbitingSatellites | Blog post listing |
/contact | Open a Hailing Frequency | CommsConsole | Contact form |
/testimonials | Voices from the Crew | AsteroidQuotes | Testimonials |
Navigation link format
BecauseHashRouter is active, AuroraNav constructs all internal links with a /#/ prefix: