import type { Metadata } from 'next'; import { LatestLaunches, RecentEvents, RecentReentries } from '@/components/home/activity'; import { OrbitalDensity } from '@/components/home/density'; import { FeaturedObjects } from '@/components/home/featured'; import { HomeHero } from '@/components/home/hero'; import { HeadlineMetrics } from '@/components/home/metrics'; import { TopConstellations, TopCountries, TopOperators } from '@/components/home/rankings'; import { ApiTeaser, DataSources } from '@/components/home/sources'; import { Container } from '@/components/ui/section'; import { Unavailable } from '@/components/ui/unavailable'; import { api, safe } from '@/lib/api'; import { fmtAgo, fmtDateTime } from '@/lib/format'; import { DESCRIPTION, SITE_NAME, SITE_URL, TAGLINE } from '@/lib/site'; export const revalidate = 120; export const metadata: Metadata = { title: { absolute: `${SITE_NAME} — ${TAGLINE}` }, description: DESCRIPTION, alternates: { canonical: '/' }, openGraph: { title: `${SITE_NAME} — ${TAGLINE}`, description: DESCRIPTION, url: SITE_URL, type: 'website' }, twitter: { card: 'summary_large_image', title: `${SITE_NAME} — ${TAGLINE}`, description: DESCRIPTION }, }; export default async function HomePage() { const res = await safe(api.home()); const home = res?.data ?? null; return ( <> {!home ? ( ) : ( <> Statistics snapshot computed {fmtAgo(home.computed_at)} · {fmtDateTime(home.computed_at)} · page refreshes every 2 min > )} > ); }
Statistics snapshot computed {fmtAgo(home.computed_at)} · {fmtDateTime(home.computed_at)} · page refreshes every 2 min