Orbit Hero
Space hero with a live, turning WebGL Earth.
npx shadcn@latest add "https://www.pinui.xyz/r/blocx/orbit-hero.json"When to use
- Space, travel, climate or data products where a live globe earns its weight
- A launch page that can afford a WebGL scene for its first impression
When not to use
- Pages that must be light on low-end phones — the Earth is a live WebGL render
- Light-themed sites; the block is built for a dark sky
Installation
Add Orbit Hero with the shadcn CLI — it writes the files into components/blocx/ and installs what they import — or copy it in by hand.
Requires React 19 · Next.js (it loads its fonts with next/font) · motion.
pnpm dlx shadcn@latest add "https://www.pinui.xyz/r/blocx/orbit-hero.json"Images don’t travel through the CLI: copy public/blocx/orbit-hero/ (4 files) into your own public/ folder.
Usage
import OrbitHero from "@/components/blocx/OrbitHero";
export default function Page() {
return <OrbitHero />;
}
page.tsx · 6 lines
API reference
OrbitHero
Takes no props — drop it in as it is.
The headline, nav links and button label are written in OrbitHero.tsx; the Earth's textures are the images in /blocx/orbit-hero, loaded by orbit-globe.ts.
Accessibility
- The globe is aria-hidden; the section is labelled by its headline
- The bracket nav marks the current link with aria-current, and the mobile menu reports aria-expanded
- Escape closes the mobile menu
Motion
- The headline blurs in word by word while the Earth turns slowly at the bottom edge
- The bracket marks glide between nav links on one shared spring
Responsive behavior
- The bracket nav becomes a menu button and sheet on small screens
- The globe is sized to the viewport so it always crests the bottom edge
Blocx · 8 blocks · 4 sections · part of Pin UI