From ee4892df75830a488ef6e9974a85777deec070ae Mon Sep 17 00:00:00 2001 From: alireza Date: Wed, 10 Jun 2026 16:53:58 +0330 Subject: [PATCH] @ Globe: more arcs across 27 cities with 8 varied colors Co-Authored-By: Claude Opus 4.8 @ --- src/components/ui/globe.tsx | 46 +++++++++++++++++++++++++++---------- 1 file changed, 34 insertions(+), 12 deletions(-) diff --git a/src/components/ui/globe.tsx b/src/components/ui/globe.tsx index 87518b2..5a3d672 100644 --- a/src/components/ui/globe.tsx +++ b/src/components/ui/globe.tsx @@ -11,20 +11,42 @@ type Arc = { arcAlt: number; color: string } -const COLORS = ['#22ade0', '#3b82f6', '#CD9E53'] +const COLORS = ['#22ade0', '#3b82f6', '#CD9E53', '#e0529c', '#34d399', '#f59e0b', '#a78bfa', '#ef4444'] -/* steel-trade arcs centred on Tehran/Shanghai */ +/* global steel-trade arcs across many countries, varied colours */ const ARCS: Arc[] = [ - { order: 1, startLat: 35.69, startLng: 51.39, endLat: 31.23, endLng: 121.47, arcAlt: 0.3, color: COLORS[0] }, - { order: 1, startLat: 35.69, startLng: 51.39, endLat: 33.31, endLng: 44.36, arcAlt: 0.1, color: COLORS[2] }, - { order: 2, startLat: 35.69, startLng: 51.39, endLat: 51.92, endLng: 4.47, arcAlt: 0.3, color: COLORS[1] }, - { order: 2, startLat: 31.23, startLng: 121.47, endLat: 35.69, endLng: 51.39, arcAlt: 0.2, color: COLORS[0] }, - { order: 3, startLat: 25.20, startLng: 55.27, endLat: 35.69, endLng: 51.39, arcAlt: 0.2, color: COLORS[2] }, - { order: 3, startLat: 19.07, startLng: 72.88, endLat: 35.69, endLng: 51.39, arcAlt: 0.3, color: COLORS[1] }, - { order: 4, startLat: 41.01, startLng: 28.97, endLat: 35.69, endLng: 51.39, arcAlt: 0.2, color: COLORS[0] }, - { order: 4, startLat: -23.55, startLng: -46.63, endLat: 31.23, endLng: 121.47, arcAlt: 0.5, color: COLORS[2] }, - { order: 5, startLat: 55.75, startLng: 37.62, endLat: 35.69, endLng: 51.39, arcAlt: 0.2, color: COLORS[1] }, - { order: 5, startLat: 37.56, startLng: 126.97, endLat: 31.23, endLng: 121.47, arcAlt: 0.2, color: COLORS[0] }, + // Tehran hub + { order: 1, startLat: 35.69, startLng: 51.39, endLat: 31.23, endLng: 121.47, arcAlt: 0.3, color: COLORS[0] }, // → Shanghai + { order: 1, startLat: 35.69, startLng: 51.39, endLat: 33.31, endLng: 44.36, arcAlt: 0.1, color: COLORS[2] }, // → Baghdad + { order: 2, startLat: 35.69, startLng: 51.39, endLat: 51.92, endLng: 4.47, arcAlt: 0.3, color: COLORS[1] }, // → Rotterdam + { order: 2, startLat: 35.69, startLng: 51.39, endLat: 24.71, endLng: 46.68, arcAlt: 0.15, color: COLORS[3] }, // → Riyadh + { order: 3, startLat: 25.20, startLng: 55.27, endLat: 35.69, endLng: 51.39, arcAlt: 0.2, color: COLORS[2] }, // Dubai → + { order: 3, startLat: 19.07, startLng: 72.88, endLat: 35.69, endLng: 51.39, arcAlt: 0.3, color: COLORS[4] }, // Mumbai → + { order: 4, startLat: 41.01, startLng: 28.97, endLat: 35.69, endLng: 51.39, arcAlt: 0.2, color: COLORS[5] }, // Istanbul → + { order: 4, startLat: 55.75, startLng: 37.62, endLat: 35.69, endLng: 51.39, arcAlt: 0.2, color: COLORS[6] }, // Moscow → + // Shanghai / East-Asia hub + { order: 2, startLat: 31.23, startLng: 121.47, endLat: 35.69, endLng: 51.39, arcAlt: 0.2, color: COLORS[0] }, // → Tehran + { order: 5, startLat: 37.56, startLng: 126.97, endLat: 31.23, endLng: 121.47, arcAlt: 0.2, color: COLORS[3] }, // Seoul → Shanghai + { order: 5, startLat: 35.68, startLng: 139.65, endLat: 22.32, endLng: 114.17, arcAlt: 0.2, color: COLORS[7] }, // Tokyo → Hong Kong + { order: 6, startLat: 1.35, startLng: 103.82, endLat: 31.23, endLng: 121.47, arcAlt: 0.25, color: COLORS[1] }, // Singapore → Shanghai + { order: 6, startLat: -6.21, startLng: 106.85, endLat: 35.68, endLng: 139.65, arcAlt: 0.3, color: COLORS[4] }, // Jakarta → Tokyo + // Europe + { order: 3, startLat: 51.51, startLng: -0.13, endLat: 52.52, endLng: 13.40, arcAlt: 0.1, color: COLORS[6] }, // London → Berlin + { order: 7, startLat: 51.92, startLng: 4.47, endLat: 40.71, endLng: -74.0, arcAlt: 0.35, color: COLORS[2] }, // Rotterdam → New York + { order: 7, startLat: 52.52, startLng: 13.40, endLat: 41.01, endLng: 28.97, arcAlt: 0.2, color: COLORS[5] }, // Berlin → Istanbul + // Americas + { order: 8, startLat: -23.55, startLng: -46.63, endLat: 31.23, endLng: 121.47, arcAlt: 0.5, color: COLORS[3] }, // São Paulo → Shanghai + { order: 8, startLat: 40.71, startLng: -74.0, endLat: 51.51, endLng: -0.13, arcAlt: 0.3, color: COLORS[0] }, // New York → London + { order: 9, startLat: 34.05, startLng: -118.24, endLat: 35.68, endLng: 139.65, arcAlt: 0.4, color: COLORS[7] }, // LA → Tokyo + { order: 9, startLat: -34.60, startLng: -58.38, endLat: 6.45, endLng: 3.39, arcAlt: 0.4, color: COLORS[4] }, // Buenos Aires → Lagos + { order: 10, startLat: 19.43, startLng: -99.13, endLat: 40.71, endLng: -74.0, arcAlt: 0.2, color: COLORS[1] }, // Mexico City → New York + // Africa / Middle East + { order: 10, startLat: 30.04, startLng: 31.24, endLat: 41.01, endLng: 28.97, arcAlt: 0.15, color: COLORS[5] }, // Cairo → Istanbul + { order: 11, startLat: 6.45, startLng: 3.39, endLat: 51.92, endLng: 4.47, arcAlt: 0.4, color: COLORS[6] }, // Lagos → Rotterdam + { order: 11, startLat: -26.20, startLng: 28.04, endLat: 19.07, endLng: 72.88, arcAlt: 0.4, color: COLORS[2] }, // Johannesburg → Mumbai + { order: 12, startLat: -1.29, startLng: 36.82, endLat: 25.20, endLng: 55.27, arcAlt: 0.3, color: COLORS[0] }, // Nairobi → Dubai + // Oceania + { order: 12, startLat: -33.87, startLng: 151.21, endLat: 31.23, endLng: 121.47, arcAlt: 0.35, color: COLORS[3] }, // Sydney → Shanghai ] function GlobeObject({ countries }: { countries: { features: object[] } }) {