Documentation 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.
AuroraHero is the first thing visitors encounter on the dev.void portfolio — a full-viewport landing section that layers two animated aurora blobs behind a centered headline, tagline, and pair of call-to-action buttons. Everything is hardcoded in the JSX, so customising the portfolio means editing the strings and button labels directly in AuroraHero.js.
Visual Structure
The component renders a single<section> with min-h-[90vh] and flexbox centering. It is divided into three stacking layers along the z-axis:
| z-index | Layer | Contents |
|---|---|---|
z-0 | Aurora background | Two motion.div aurora blobs |
z-10 | Text content | Pre-title, headline, subheadline, CTA buttons |
| (absolute) | Scroll indicator | ”Descend” label + gradient line |
The outer
<section> carries overflow-hidden, so the aurora blobs (which are wider than the viewport) are safely clipped without triggering a horizontal scrollbar.Aurora Background Layers
Both blobs sit inside anabsolute inset-0 container with pointer-events-none so they never interfere with clicks.
Layer 1 — Slow drift
- Fills 120 % of the viewport width so the colour bleeds edge-to-edge.
mix-blend-screenlets the blob interact additively with the dark background, producing the characteristic aurora glow rather than a flat overlay.- The keyframe sequence is a 4-point loop: drift up 30 px, drift down 20 px, return — giving the impression of slow, organic breathing.
Layer 2 — Faster cross-drift
- Narrower blob (80 % wide) positioned slightly lower — the two blobs overlap near the vertical centre.
- Adds horizontal
xmovement so the gradient colour shifts left-to-right across the hero. delay: 2seconds means it starts mid-cycle relative to Layer 1, preventing the blobs from always peaking at the same moment.
Text Entrance Animations
All text content lives inside a singlemotion.div that fades up as a unit, with the CTA buttons on their own motion.div so they can be staggered separately.
Text container
CTA button row
Scroll indicator
0.2 s — text container enters
The pre-title, headline, and subheadline translate up 30 px and fade from opacity 0 to 1 over 1 s.
0.8 s — CTA buttons fade in
The button row fades in independently over 1 s, giving it a slight stagger relative to the headline.
Rendered Content
All strings are hardcoded inAuroraHero.js. Here is a map of every piece of text and where it lives:
<span> also contains an absolutely-positioned sibling <span> with a blur-xl teal glow that pulses via the animate-[pulse_4s_ease-in-out_infinite] class — this gives the name a soft halo effect.
CTA Buttons
Home Page Integration
AuroraHero is rendered at the root / route inside a wrapper <div className="w-full">. Immediately below it, main.js renders a hardcoded quote section:
The quote and its flavour text live in the
Home component inside main.js, not inside AuroraHero.js. Update them there.Customisation Reference
Name & Tagline
Edit the
<h1> and <h2> strings in AuroraHero.js. The gradient on the name is pure Tailwind — swap via-aurora-light to any colour token to change the midpoint hue.Pre-title Status Text
The
"Establishing Connection..." monospaced label is its own <p> directly above the <h1>. Change it to any status string you like.CTA Button Labels
Both button texts are inline strings. Change
"Initiate Sequence" and "View Telemetry" to whatever suits your routing.Aurora Colours
Layer 1 uses the
bg-aurora-gradient CSS custom property. Layer 2 uses inline Tailwind gradient stops (aurora-mint, aurora-teal, aurora-pink). Adjust opacity fractions (e.g. /20, /40) for subtlety.Animation Speed
Change
duration: 20 and duration: 15 on the two layers to speed up or slow down the aurora drift. Higher values = more languid movement.Scroll Indicator Text
The
"Descend" label is a <span> inside the absolute-positioned scroll indicator motion.div at the bottom of the component.