diff --git a/src/pages/parts/admin/RegionSelectorPart.tsx b/src/pages/parts/admin/RegionSelectorPart.tsx index e1f25f12..58af2e30 100644 --- a/src/pages/parts/admin/RegionSelectorPart.tsx +++ b/src/pages/parts/admin/RegionSelectorPart.tsx @@ -7,11 +7,15 @@ export function RegionSelectorPart() { const { region, setRegion } = useRegionStore(); const regionOptions = [ - { id: "east", name: "US East (Ohio)" }, - { id: "west", name: "US West (California)" }, - { id: "south", name: "South America (São Paulo)" }, - { id: "asia", name: "Asia Pacific (Sydney)" }, - { id: "europe", name: "Europe Central (London)" }, + { id: "dallas", name: "Dallas, TX" }, + { id: "portland", name: "Portland, OR" }, + { id: "new-york", name: "New York, NY" }, + { id: "paris", name: "Paris, France" }, + { id: "hong-kong", name: "Hong Kong" }, + { id: "kansas", name: "Kansas City, MO" }, + { id: "sydney", name: "Sydney, Australia" }, + { id: "singapore", name: "Singapore" }, + { id: "mumbai", name: "Mumbai, India" }, ]; return ( @@ -28,10 +32,10 @@ export function RegionSelectorPart() { r.id === region)?.name || - "Unknown (US East)", + "Unknown (New York, NY)", }} setSelectedItem={(item) => setRegion(item.id as Region, true)} direction="up" diff --git a/src/utils/detectRegion.tsx b/src/utils/detectRegion.tsx index 484ccc99..2e1c4268 100644 --- a/src/utils/detectRegion.tsx +++ b/src/utils/detectRegion.tsx @@ -1,7 +1,17 @@ import { create } from "zustand"; import { persist } from "zustand/middleware"; -export type Region = "east" | "west" | "south" | "asia" | "europe" | "unknown"; +export type Region = + | "dallas" + | "portland" + | "new-york" + | "paris" + | "hong-kong" + | "kansas" + | "sydney" + | "singapore" + | "mumbai" + | "unknown"; interface RegionStore { region: Region | null; @@ -33,11 +43,15 @@ export const useRegionStore = create()( // Coordinates for each proxy server region const regionCoordinates = [ - { region: "east" as Region, lat: 40.4173, lon: -82.9071 }, // Ohio, US - { region: "west" as Region, lat: 37.7749, lon: -122.4194 }, // California, US - { region: "south" as Region, lat: -23.5505, lon: -46.6333 }, // São Paulo, BR - { region: "asia" as Region, lat: -33.8688, lon: 151.2093 }, // Sydney, Australia - { region: "europe" as Region, lat: 51.5074, lon: -0.1278 }, // London, UK + { region: "dallas" as Region, lat: 32.7767, lon: -96.797 }, // Dallas, TX, US + { region: "portland" as Region, lat: 45.5152, lon: -122.6784 }, // Portland, OR, US + { region: "new-york" as Region, lat: 40.7128, lon: -74.006 }, // New York, NY, US + { region: "paris" as Region, lat: 48.8566, lon: 2.3522 }, // Paris, France + { region: "hong-kong" as Region, lat: 22.3193, lon: 114.1694 }, // Hong Kong + { region: "kansas" as Region, lat: 39.0997, lon: -94.5786 }, // Kansas City, MO, US + { region: "sydney" as Region, lat: -33.8688, lon: 151.2093 }, // Sydney, Australia + { region: "singapore" as Region, lat: 1.3521, lon: 103.8198 }, // Singapore + { region: "mumbai" as Region, lat: 19.076, lon: 72.8777 }, // Mumbai, India ]; // Haversine formula