export const regions = [ { code: "ams", location: "Amsterdam, Netherlands", flag: "๐Ÿ‡ณ๐Ÿ‡ฑ", continent: "Europe", provider: "Fly", }, { code: "arn", location: "Stockholm, Sweden", flag: "๐Ÿ‡ธ๐Ÿ‡ช", continent: "Europe", provider: "Fly", }, { code: "atl", location: "Atlanta, Georgia, USA", flag: "๐Ÿ‡บ๐Ÿ‡ธ", continent: "North America", provider: "Fly", }, { code: "bog", location: "Bogotรก, Colombia", flag: "๐Ÿ‡จ๐Ÿ‡ด", continent: "South America", provider: "Fly", }, { code: "bom", location: "Mumbai, India", flag: "๐Ÿ‡ฎ๐Ÿ‡ณ", continent: "Asia", provider: "Fly", }, { code: "bos", location: "Boston, Massachusetts, USA", flag: "๐Ÿ‡บ๐Ÿ‡ธ", continent: "North America", provider: "Fly", }, { code: "cdg", location: "Paris, France", flag: "๐Ÿ‡ซ๐Ÿ‡ท", continent: "Europe", provider: "Fly", }, { code: "den", location: "Denver, Colorado, USA", flag: "๐Ÿ‡บ๐Ÿ‡ธ", continent: "North America", provider: "Fly", }, { code: "dfw", location: "Dallas, Texas, USA", flag: "๐Ÿ‡บ๐Ÿ‡ธ", continent: "North America", provider: "Fly", }, { code: "ewr", location: "Secaucus, New Jersey, USA", flag: "๐Ÿ‡บ๐Ÿ‡ธ", continent: "North America", provider: "Fly", }, { code: "eze", location: "Ezeiza, Argentina", flag: "๐Ÿ‡ฆ๐Ÿ‡ท", continent: "South America", provider: "Fly", }, { code: "fra", location: "Frankfurt, Germany", flag: "๐Ÿ‡ฉ๐Ÿ‡ช", continent: "Europe", provider: "Fly", }, { code: "gdl", location: "Guadalajara, Mexico", flag: "๐Ÿ‡ฒ๐Ÿ‡ฝ", continent: "North America", provider: "Fly", }, { code: "gig", location: "Rio de Janeiro, Brazil", flag: "๐Ÿ‡ง๐Ÿ‡ท", continent: "South America", provider: "Fly", }, { code: "gru", location: "Sao Paulo, Brazil", flag: "๐Ÿ‡ง๐Ÿ‡ท", continent: "South America", provider: "Fly", }, { code: "hkg", location: "Hong Kong, Hong Kong", flag: "๐Ÿ‡ญ๐Ÿ‡ฐ", continent: "Asia", provider: "Fly", }, { code: "iad", location: "Ashburn, Virginia, USA", flag: "๐Ÿ‡บ๐Ÿ‡ธ", continent: "North America", provider: "Fly", }, { code: "jnb", location: "Johannesburg, South Africa", flag: "๐Ÿ‡ฟ๐Ÿ‡ฆ", continent: "Africa", }, { code: "lax", location: "Los Angeles, California, USA", flag: "๐Ÿ‡บ๐Ÿ‡ธ", continent: "North America", provider: "Fly", }, { code: "lhr", location: "London, United Kingdom", flag: "๐Ÿ‡ฌ๐Ÿ‡ง", continent: "Europe", provider: "Fly", }, { code: "mad", location: "Madrid, Spain", flag: "๐Ÿ‡ช๐Ÿ‡ธ", continent: "Europe", }, { code: "mia", location: "Miami, Florida, USA", flag: "๐Ÿ‡บ๐Ÿ‡ธ", continent: "North America", provider: "Fly", }, { code: "nrt", location: "Tokyo, Japan", flag: "๐Ÿ‡ฏ๐Ÿ‡ต", continent: "Asia", provider: "Fly", }, { code: "ord", location: "Chicago, Illinois, USA", flag: "๐Ÿ‡บ๐Ÿ‡ธ", continent: "North America", }, { code: "otp", location: "Bucharest, Romania", flag: "๐Ÿ‡ท๐Ÿ‡ด", continent: "Europe", provider: "Fly", }, { code: "phx", location: "Phoenix, Arizona, USA", flag: "๐Ÿ‡บ๐Ÿ‡ธ", continent: "North America", provider: "Fly", }, { code: "qro", location: "Querรฉtaro, Mexico", flag: "๐Ÿ‡ฒ๐Ÿ‡ฝ", continent: "North America", provider: "Fly", }, { code: "scl", location: "Santiago, Chile", flag: "๐Ÿ‡จ๐Ÿ‡ฑ", continent: "South America", provider: "Fly", }, { code: "sjc", location: "San Jose, California, USA", flag: "๐Ÿ‡บ๐Ÿ‡ธ", continent: "North America", provider: "Fly", }, { code: "sea", location: "Seattle, Washington, USA", flag: "๐Ÿ‡บ๐Ÿ‡ธ", continent: "North America", provider: "Fly", }, { code: "sin", location: "Singapore, Singapore", flag: "๐Ÿ‡ธ๐Ÿ‡ฌ", continent: "Asia", provider: "Fly", }, { code: "syd", location: "Sydney, Australia", flag: "๐Ÿ‡ฆ๐Ÿ‡บ", continent: "Oceania", provider: "Fly", }, { code: "waw", location: "Warsaw, Poland", flag: "๐Ÿ‡ต๐Ÿ‡ฑ", continent: "Europe", provider: "Fly", }, { code: "yul", location: "Montreal, Canada", flag: "๐Ÿ‡จ๐Ÿ‡ฆ", continent: "North America", provider: "Fly", }, { code: "yyz", location: "Toronto, Canada", flag: "๐Ÿ‡จ๐Ÿ‡ฆ", continent: "North America", provider: "Fly", }, { code: "koyeb_fra", location: "Frankfurt, Germany", flag: "๐Ÿ‡ฉ๐Ÿ‡ช", continent: "Europe", provider: "koyeb", }, { code: "koyeb_par", location: "Paris, France", flag: "๐Ÿ‡ซ๐Ÿ‡ท", continent: "Europe", provider: "koyeb", }, { code: "koyeb_sfo", location: "San Francisco, USA", flag: "๐Ÿ‡บ๐Ÿ‡ธ", continent: "North America", provider: "koyeb", }, { code: "koyeb_sin", location: "Singapore, Singapore", flag: "๐Ÿ‡ธ๐Ÿ‡ฌ", continent: "Asia", provider: "koyeb", }, { code: "koyeb_tyo", location: "Tokyo, Japan", flag: "๐Ÿ‡ฏ๐Ÿ‡ต", continent: "Asia", provider: "koyeb", }, { code: "koyeb_was", location: "Washington, USA", flag: "๐Ÿ‡บ๐Ÿ‡ธ", continent: "North America", provider: "koyeb", }, { code: "railway_us-west2", location: "California, USA", flag: "๐Ÿ‡บ๐Ÿ‡ธ", continent: "North America", provider: "railway", }, { code: "railway_us-east4-eqdc4a", location: "Virginia, USA", flag: "๐Ÿ‡บ๐Ÿ‡ธ", continent: "North America", provider: "railway", }, { code: "railway_europe-west4-drams3a", location: "Amsterdam, Netherlands", flag: "๐Ÿ‡ณ๐Ÿ‡ฑ", continent: "Europe", provider: "railway", }, { code: "railway_asia-southeast1-eqsg3a", location: "Singapore, Singapore", flag: "๐Ÿ‡ธ๐Ÿ‡ฌ", continent: "Asia", provider: "railway", }, ] as const; export type Region = (typeof regions)[number]["code"]; export const groupedRegions = regions.reduce( (acc, region) => { const continent = region.continent; if (!acc[continent]) { acc[continent] = []; } acc[continent].push(region.code); return acc; }, {} as Record, ); export const regionColors = { ams: "hsl(217.2 91.2% 59.8%)", arn: "hsl(238.7 83.5% 66.7%)", atl: "hsl(258.3 89.5% 66.3%)", bog: "hsl(270.7 91% 65.1%)", bom: "hsl(292.2 84.1% 60.6%)", bos: "hsl(330.4 81.2% 60.4%)", cdg: "hsl(349.7 89.2% 60.2%)", den: "hsl(215.4 16.3% 46.9%)", dfw: "hsl(220 8.9% 46.1%)", ewr: "hsl(240 3.8% 46.1%)", eze: "hsl(0 0% 45.1%)", fra: "hsl(25 5.3% 44.7%)", gdl: "hsl(0 84.2% 60.2%)", gig: "hsl(24.6 95% 53.1%)", gru: "hsl(37.7 92.1% 50.2%)", hkg: "hsl(45.4 93.4% 47.5%)", iad: "hsl(83.7 80.5% 44.3%)", jnb: "hsl(142.1 70.6% 45.3%)", lax: "hsl(160.1 84.1% 39.4%)", lhr: "hsl(173.4 80.4% 40%)", mad: "hsl(188.7 94.5% 42.7%)", mia: "hsl(198.6 88.7% 48.4%)", nrt: "hsl(217.2 91.2% 59.8%)", ord: "hsl(238.7 83.5% 66.7%)", otp: "hsl(258.3 89.5% 66.3%)", phx: "hsl(270.7 91% 65.1%)", qro: "hsl(292.2 84.1% 60.6%)", scl: "hsl(330.4 81.2% 60.4%)", sjc: "hsl(349.7 89.2% 60.2%)", sea: "hsl(215.4 16.3% 46.9%)", sin: "hsl(220 8.9% 46.1%)", syd: "hsl(240 3.8% 46.1%)", waw: "hsl(0 0% 45.1%)", yul: "hsl(25 5.3% 44.7%)", yyz: "hsl(0 84.2% 60.2%)", koyeb_fra: "hsl(25 5.3% 44.7%)", koyeb_par: "hsl(25 5.3% 44.7%)", koyeb_sin: "hsl(25 5.3% 44.7%)", koyeb_sfo: "hsl(0 0% 45.1%)", koyeb_tyo: "hsl(0 0% 45.1%)", koyeb_was: "hsl(0 0% 45.1%)", "railway_asia-southeast1-eqsg3a": "hsl(0 0% 45.1%)", "railway_europe-west4-drams3a": "hsl(0 0% 45.1%)", "railway_us-east4-eqdc4a": "hsl(0 0% 45.1%)", "railway_us-west2": "hsl(0 0% 45.1%)", } satisfies Record; export function getRegionColor(region: string) { if (region in regionColors) { return regionColors[region as keyof typeof regionColors]; } return "hsl(0 0% 45.1%)"; }