import { ArrowRight } from 'lucide-react'; import Link from 'next/link'; import { LazyGlobe } from '@/components/globe/lazy-globe'; import { Container } from '@/components/ui/section'; import { fmtInt } from '@/lib/format'; import { routes } from '@/lib/site'; import type { HomePayload } from '@/lib/types'; import { SearchButton } from './search-button'; function Count({ label, value, href }: { label: string; value: string; href: string }) { return (
{value}
{label}
); } /** Hero: statement + live counts (from /stats/home, never hardcoded) + CTAs, with the compact globe island beside/below. */ export function HomeHero({ home }: { home: HomePayload | null }) { const s = home?.stats; const counts: [string, string, string][] = [ ['Active satellites', fmtInt(s?.active_satellites), routes.satellites('status=ACTIVE')], ['Objects on orbit', fmtInt(s?.objects_on_orbit), routes.satellites('on_orbit=true')], ['Launches catalogued', fmtInt(home?.launches.total), routes.launches()], ['Active operators', fmtInt(s?.active_operators), routes.operators()], ['Countries', fmtInt(s?.active_countries), routes.countries()], ]; return (Satellite Index · live catalogue
Every satellite, constellation, operator, launch, debris object and reentry in Earth orbit — one canonical, source-attributed database with live SGP4 positions, orbital history and a transparent methodology.
Live statistics unavailable — the catalogue API did not respond.
}