SPB Git forge
3commits 1branches 0releases
417.0 KBsize
maindefault branch
10 days agolast push
TypeScript 66.5% Python 30.9% JavaScript 1.4% CSS 0.7%
4.2 KB · 119 lines typescript
Raw Blame History
1export const SITE_NAME = 'SatelliteIndex';2export const SITE_URL = (process.env.NEXT_PUBLIC_SITE_URL ?? 'https://www.satelliteindex.io').replace(/\/$/, '');3export const TAGLINE = "The world's orbital infrastructure, mapped and indexed";4export const DESCRIPTION =5  'SatelliteIndex is the public intelligence layer for everything in Earth orbit: satellites, constellations, operators, countries, launches, debris and reentries — with live SGP4 positions, orbital history and transparent sources.';6export const CONTACT_EMAIL = 'contact@spboucher.ai';7export const AUTHOR = 'Simon-Pierre Boucher';89export const routes = {10  home: () => '/',11  explore: () => '/explore',12  search: (q?: string) => (q ? `/search?q=${encodeURIComponent(q)}` : '/search'),13  satellites: (qs?: string) => (qs ? `/satellites?${qs}` : '/satellites'),14  satellite: (slug: string) => `/satellite/${slug}`,15  constellations: () => '/constellations',16  constellation: (slug: string) => `/constellation/${slug}`,17  operators: () => '/operators',18  operator: (slug: string) => `/operator/${slug}`,19  countries: () => '/countries',20  country: (slug: string) => `/country/${slug}`,21  launches: (qs?: string) => (qs ? `/launches?${qs}` : '/launches'),22  launch: (cospar: string) => `/launch/${cospar}`,23  launchSites: () => '/launch-sites',24  launchSite: (slug: string) => `/launch-sites/${slug}`,25  debris: () => '/debris',26  reentries: () => '/reentries',27  events: (qs?: string) => (qs ? `/events?${qs}` : '/events'),28  stats: () => '/stats',29  rankings: (metric?: string) => (metric ? `/rankings?metric=${metric}` : '/rankings'),30  sources: () => '/sources',31  methodology: () => '/methodology',32  status: () => '/status',33  statusData: () => '/status/data',34  developers: () => '/developers',35  about: () => '/about',36  privacy: () => '/privacy',37  terms: () => '/terms',38  admin: () => '/admin',39} as const;4041export const primaryNav = [42  { href: routes.explore(), label: 'Explore' },43  { href: routes.satellites(), label: 'Satellites' },44  { href: routes.constellations(), label: 'Constellations' },45  { href: routes.operators(), label: 'Operators' },46  { href: routes.countries(), label: 'Countries' },47  { href: routes.launches(), label: 'Launches' },48  { href: routes.events(), label: 'Events' },49  { href: routes.stats(), label: 'Stats' },50] as const;5152export const moreNav = [53  { href: routes.debris(), label: 'Debris' },54  { href: routes.reentries(), label: 'Reentries' },55  { href: routes.rankings(), label: 'Rankings' },56  { href: routes.launchSites(), label: 'Launch sites' },57  { href: routes.sources(), label: 'Sources' },58  { href: routes.methodology(), label: 'Methodology' },59  { href: routes.status(), label: 'Status' },60  { href: routes.developers(), label: 'API' },61  { href: routes.about(), label: 'About' },62] as const;6364export const ORBIT_CLASS_COLORS: Record<string, string> = {65  LEO: 'var(--leo)',66  MEO: 'var(--meo)',67  GEO: 'var(--geo)',68  HEO: 'var(--heo)',69  OTHER: 'var(--other)',70  UNKNOWN: 'var(--other)',71};7273export const STATUS_COLORS: Record<string, string> = {74  ACTIVE: 'var(--active)',75  INACTIVE: 'var(--inactive)',76  DECAYED: 'var(--ink-3)',77  UNKNOWN: 'var(--warn)',78  LOST: 'var(--danger)',79  FAILED: 'var(--danger)',80  PLANNED: 'var(--accent-2)',81};8283export const MISSION_LABELS: Record<string, string> = {84  communications: 'Communications',85  'earth-observation': 'Earth observation',86  navigation: 'Navigation',87  weather: 'Weather',88  science: 'Science',89  military: 'Military',90  technology: 'Technology',91  iot: 'IoT / M2M',92  station: 'Space station',93  'rocket-body': 'Rocket body',94  debris: 'Debris',95  unknown: 'Unknown',96};9798export const OBJECT_TYPE_LABELS: Record<string, string> = {99  PAYLOAD: 'Payload',100  ROCKET_BODY: 'Rocket body',101  DEBRIS: 'Debris',102  STATION: 'Space station',103  UNKNOWN: 'Unknown',104  CREWED: 'Crewed',105};106107export const EVENT_TYPE_LABELS: Record<string, string> = {108  SATELLITE_LAUNCH: 'Launch',109  DECAY: 'Decay / reentry',110  ORBIT_CHANGE: 'Orbit change',111  SATELLITE_DECOMMISSION: 'Decommission',112  SATELLITE_ACTIVATION: 'Activation',113  REENTRY: 'Reentry',114  CONSTELLATION_EXPANSION: 'Constellation expansion',115  REGULATORY_APPROVAL: 'Regulatory approval',116  NEW_LICENSE: 'New license',117  COMPANY_ANNOUNCEMENT: 'Announcement',118};119