PageSourceSearch

https://wfftz.org/assets/TradeCenterMap-UBHYjsQS.js

js wfftz.org collected 2026-10-09 22:04:11 UTC 12,392 bytes, 21 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Bab2R6yH.js","assets/index-DzjF18Ep.css"])))=>i.map(i=>d[i]);
2import{u as C,r as l,a7 as u,j as t,e as h,a9 as g,aa as m,M as p,f as x,ad as z,ac as _,$ as v,a0 as k,a1 as S,a2 as A,B as M,k as B}from"./index-Bab2R6yH.js";import{H as b}from"./TradeCenterProgress-4No8duFj.js";const s=[{id:1,city:"Dubai",city_zh:"迪拜",country:"UAE",country_zh:"阿联酋",lat:25.2048,lng:55.2708,status:"completed",year:2024},{id:2,city:"Singapore",city_zh:"新加坡",country:"Singapore",country_zh:"新加坡",lat:1.3521,lng:103.8198,status:"completed",year:2024},{id:3,city:"Haikou",city_zh:"海口",country:"China",country_zh:"中国",lat:20.044,lng:110.1999,status:"completed",year:2025},{id:4,city:"Hong Kong",city_zh:"香港",country:"China",country_zh:"中国",lat:22.3193,lng:114.1694,status:"completed",year:2024},{id:5,city:"Rotterdam",city_zh:"鹿特丹",country:"Netherlands",country_zh:"荷兰",lat:51.9244,lng:4.4777,status:"completed",year:2025},{id:6,city:"Shenzhen",city_zh:"深圳",country:"China",country_zh:"中国",lat:22.5431,lng:114.0579,status:"completed",year:2024},{id:7,city:"Abu Dhabi",city_zh:"阿布扎比",country:"UAE",country_zh:"阿联酋",lat:24.4539,lng:54.3773,status:"completed",year:2025},{id:8,city:"Busan",city_zh:"釜山",country:"South Korea",country_zh:"韩国",lat:35.1796,lng:129.0756,status:"completed",year:2025},{id:9,city:"Seoul",city_zh:"首尔",country:"South Korea",country_zh:"韩国",lat:37.5665,lng:126.978,status:"inProgress",year:2026},{id:10,city:"Jeddah",city_zh:"吉达",country:"Saudi Arabia",country_zh:"沙特阿拉伯",lat:21.4858,lng:39.1925,status:"inProgress",year:2026},{id:11,city:"Bangkok",city_zh:"曼谷",country:"Thailand",country_zh:"泰国",lat:13.7563,lng:100.5018,status:"inProgress",year:2026},{id:12,city:"Shanghai",city_zh:"上海",country:"China",country_zh:"中国",lat:31.2304,lng:121.4737,status:"inProgress",year:2026},{id:13,city:"Guangzhou",city_zh:"广州",country:"China",country_zh:"中国",lat:23.1291,lng:113.2644,status:"inProgress",year:2026},{id:14,city:"Riyadh",city_zh:"利雅得",country:"Saudi Arabia",country_zh:"沙特阿拉伯",lat:24.7136,lng:46.6753,status:"inProgress",year:2026},{id:15,city:"Jakarta",city_zh:"雅加达",country:"Indonesia",country_zh:"印度尼西亚",lat:-6.2088,lng:106.8456,status:"inProgress",year:2026},{id:16,city:"Hamburg",city_zh:"汉堡",country:"Germany",country_zh:"德国",lat:53.5511,lng:9.9937,status:"inProgress",year:2026},{id:17,city:"Mumbai",city_zh:"孟买",country:"India",country_zh:"印度",lat:19.076,lng:72.8777,status:"inProgress",year:2027},{id:18,city:"Cairo",city_zh:"开罗",country:"Egypt",country_zh:"埃及",lat:30.0444,lng:31.2357,status:"inProgress",year:2027},{id:19,city:"Miami",city_zh:"迈阿密",country:"USA",country_zh:"美国",lat:25.7617,lng:-80.1918,status:"inProgress",year:2027},{id:20,city:"Panama City",city_zh:"巴拿马城",country:"Panama",country_zh:"巴拿马",lat:8.9824,lng:-79.5199,status:"inProgress",year:2027},{id:21,city:"Tokyo",city_zh:"东京",country:"Japan",country_zh:"日本",lat:35.6762,lng:139.6503,status:"planned",year:2028},{id:22,city:"Kuala Lumpur",city_zh:"吉隆坡",country:"Malaysia",country_zh:"马来西亚",lat:3.139,lng:101.6869,status:"planned",year:2028},{id:23,city:"Ho Chi Minh",city_zh:"胡志明市",country:"Vietnam",country_zh:"越南",lat:10.8231,lng:106.6297,status:"planned",year:2028},{id:24,city:"Manila",city_zh:"马尼拉",country:"Philippines",country_zh:"菲律宾",lat:14.5995,lng:120.9842,status:"planned",year:2028},{id:25,city:"Sydney",city_zh:"悉尼",country:"Australia",country_zh:"澳大利亚",lat:-33.8688,lng:151.2093,status:"planned",year:2029},{id:26,city:"Auckland",city_zh:"奥克兰",country:"New Zealand",country_zh:"新西兰",lat:-36.8509,lng:174.7645,status:"planned",year:2029},{id:27,city:"Doha",city_zh:"多哈",country:"Qatar",country_zh:"卡塔尔",lat:25.2854,lng:51.531,status:"planned",year:2028},{id:28,city:"Muscat",city_zh:"马斯喀特",country:"Oman",country_zh:"阿曼",lat:23.588,lng:58.3829,status:"planned",year:2028},{id:29,city:"Casablanca",city_zh:"卡萨布兰卡",country:"Morocco",country_zh:"摩洛哥",lat:33.5731,lng:-7.5898,status:"planned",year:2029},{id:30,city:"Lagos",city_zh:"拉各斯",country:"Nigeria",country_zh:"尼日利亚",lat:6.5244,lng:3.3792,status:"planned",year:2029},{id:31,city:"Johannesburg",city_zh:"约翰内斯堡",country:"South Africa",country_zh:"南非",lat:-26.2041,lng:28.0473,status:"planned",year:2029},{id:32,city:"Nairobi",city_zh:"内罗毕",country:"Kenya",country_zh:"肯尼亚",lat:-1.2921,lng:36.8219,status:"planned",year:2030},{id:33,city:"London",city_zh:"伦敦",country:"UK",country_zh:"英国",lat:51.5074,lng:-.1278,status:"planned",year:2028},{id:34,city:"Frankfurt",city_zh:"法兰克福",country:"Germany",country_zh:"德国",lat:50.1109,lng:8.6821,status:"planned",year:2028},{id:35,city:"Barcelona",city_zh:"巴塞罗那",country:"Spain",country_zh:"西班牙",lat:41.3851,lng:2.1734,status:"planned",year:2029},{id:36,city:"Antwerp",city_zh:"安特卫普",country:"Belgium",country_zh:"比利时",lat:51.2194,lng:4.4025,status:"planned",year:2029},{id:37,city:"Istanbul",city_zh:"伊斯坦布尔",country:"Turkey",country_zh:"土耳其",lat:41.0082,lng:28.9784,status:"planned",year:2028},{id:38,city:"Los Angeles",city_zh:"洛杉矶",country:"USA",country_zh:"美国",lat:34.0522,lng:-118.2437,status:"planned",year:2028},{id:39,city:"New York",city_zh:"纽约",country:"USA",country_zh:"美国",lat:40.7128,lng:-74.006,status:"planned",year:2029},{id:40,city:"Sao Paulo",city_zh:"圣保罗",country:"Brazil",country_zh:"巴西",lat:-23.5505,lng:-46.6333,status:"planned",year:2029}
2,{id:41,city:"Mexico City",city_zh:"墨西哥城",country:"Mexico",country_zh:"墨西哥",lat:19.4326,lng:-99.1332,status:"planned",year:2029},{id:42,city:"Vancouver",city_zh:"温哥华",country:"Canada",country_zh:"加拿大",lat:49.2827,lng:-123.1207,status:"planned",year:2030},{id:43,city:"Almaty",city_zh:"阿拉木图",country:"Kazakhstan",country_zh:"哈萨克斯坦",lat:43.222,lng:76.8512,status:"planned",year:2028},{id:44,city:"Tashkent",city_zh:"塔什干",country:"Uzbekistan",country_zh:"乌兹别克斯坦",lat:41.2995,lng:69.2401,status:"planned",year:2029},{id:45,city:"Astana",city_zh:"阿斯塔纳",country:"Kazakhstan",country_zh:"哈萨克斯坦",lat:51.1694,lng:71.4491,status:"planned",year:2029}],L=()=>{const{language:a}=C(),[n,r]=l.useState(null),[i,f]=l.useState(null);l.useEffect(()=>{u(()=>import("./index-Bab2R6yH.js").then(e=>e.l),__vite__mapDeps([0,1])).then(e=>{u(()=>import("./index-Bab2R6yH.js").then(o=>o.ag),__vite__mapDeps([0,1])),f(e)})},[]);const j=n?s.filter(e=>e.status===n):s,c={completed:s.filter(e=>e.status==="completed").length,inProgress:s.filter(e=>e.status==="inProgress").length,planned:s.filter(e=>e.status==="planned").length},y=l.useMemo(()=>{if(!i)return null;const e=o=>{const d={completed:"#10B981",inProgress:"#F59E0B",planned:"#94A3B8"},P=d[o]||d.planned;return i.divIcon({className:"custom-marker",html:`
3          <div style="
4            width: 24px;
5            height: 24px;
6            background-color: ${P};
7            border: 3px solid white;
8            border-radius: 50%;
9            box-shadow: 0 2px 8px rgba(0,0,0,0.3);
10            display: flex;
11            align-items: center;
12            justify-content: center;
13          ">
14            <div style="
15              width: 8px;
16              height: 8px;
17              background-color: white;
18              border-radius: 50%;
19            "></div>
20          </div>
21        `,iconSize:[24,24],iconAnchor:[12,12],popupAnchor:[0,-12]})};return{completed:e("completed"),inProgress:e("inProgress"),planned:e("planned")}},[i]),N=e=>e==="completed"?a==="zh"?"已建成":"Completed":e==="inProgress"?a==="zh"?"建设中":"In Progress":a==="zh"?"规划中":"Planned",w=e=>{switch(e){case"completed":return t.jsx(z,{className:"w-4 h-4"});case"inProgress":return t.jsx(b,{className:"w-4 h-4"});default:return t.jsx(_,{className:"w-4 h-4"})}};return!i||!y?t.jsxs(h,{className:"overflow-hidden",children:[t.jsx(g,{children:t.jsxs(m,{className:"flex items-center gap-2 text-lg",children:[t.jsx(p,{className:"w-5 h-5 text-primary"}),a==="zh"?"全球贸易中心分布图":"Global Trade Center Map"]})}),t.jsx(x,{className:"p-0",children:t.jsx("div",{className:"h-[500px] w-full flex items-center justify-center bg-muted/30",children:t.jsx("div",{className:"text-muted-foreground",children:a==="zh"?"加载地图中...":"Loading map..."})})})]}):t.jsxs(h,{className:"overflow-hidden",children:[t.jsxs(g,{children:[t.jsxs(m,{className:"flex items-center gap-2 text-lg",children:[t.jsx(p,{className:"w-5 h-5 text-primary"}),a==="zh"?"全球贸易中心分布图":"Global Trade Center Map"]}),t.jsxs("div",{className:"flex flex-wrap gap-2 mt-4",children:[t.jsxs("button",{onClick:()=>r(null),className:`px-4 py-2 rounded-lg text-sm font-medium transition-colors ${n===null?"bg-primary text-primary-foreground":"bg-muted hover:bg-muted/80"}`,children:[a==="zh"?"全部":"All"," (",s.length,")"]}),t.jsxs("button",{onClick:()=>r("completed"),className:`px-4 py-2 rounded-lg text-sm font-medium transition-colors flex items-center gap-2 ${n==="completed"?"bg-green-500 text-white":"bg-green-100 text-green-700 hover:bg-green-200 dark:bg-green-900/30 dark:text-green-400"}`,children:[t.jsx(z,{className:"w-4 h-4"}),a==="zh"?"已建成":"Completed"," (",c.completed,")"]}),t.jsxs("button",{onClick:()=>r("inProgress"),className:`px-4 py-2 rounded-lg text-sm font-medium transition-colors flex items-center gap-2 ${n==="inProgress"?"bg-amber-500 text-white":"bg-amber-100 text-amber-700 hover:bg-amber-200 dark:bg-amber-900/30 dark:text-amber-400"}`,children:[t.jsx(b,{className:"w-4 h-4"}),a==="zh"?"建设中":"In Progress"," (",c.inProgress,")"]}),t.jsxs("button",{onClick:()=>r("planned"),className:`px-4 py-2 rounded-lg text-sm font-medium transition-colors flex items-center gap-2 ${n==="planned"?"bg-slate-500 text-white":"bg-slate-100 text-slate-700 hover:bg-slate-200 dark:bg-slate-800 dark:text-slate-400"}`,children:[t.jsx(_,{className:"w-4 h-4"}),a==="zh"?"规划中":"Planned"," (",c.planned,")"]})]})]}),t.jsxs(x,{className:"p-0",children:[t.jsx("div",{className:"h-[500px] w-full",children:t.jsxs(v,{center:[20,50],zoom:2,style:{height:"100%",width:"100%"},scrollWheelZoom:!0,minZoom:2,maxZoom:10,children:[t.jsx(k,{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>',url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"}),j.map(e=>t.jsx(S,{position:[e.lat,e.lng],icon:y[e.status],children:t.jsx(A,{children:t.jsxs("div",{className:"min-w-[200px]",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[t.jsx(M,{className:"w-5 h-5 text-primary"}),t.jsx("span",{className:"font-bold text-lg",children:a==="zh"?e.city_zh:e.city})]}),t.jsx("div",{className:"text-sm text-muted-foreground mb-3",children:a==="zh"?e.country_zh:e.country}),t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx(B,{variant:"outline",className:`${e.status==="completed"?"bg-green-100 text-green-700 border-green-300":e.status==="inProgress"?"bg-amber-100 text-amber-700 border-amber-300":"bg-slate-100 text-slate-700 border-slate-300"}`,children:t.jsxs("span",{className:"flex items-center gap-1",children:[w(e.status),N(e.status)]})}),t.jsx("span",{className:"text-sm font-medium",children:e.year})]})]})})},e.id))]})}),t.jsxs("div",{className:"p-4 bg-muted/30 border-t flex flex-wrap items-center justify-center gap-6",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("div",{className:"w-4 h-4 rounded-full bg-green-500 border-2 border-white shadow"}),t.jsx("span",{className:"text-sm",children:a==="zh"?"已建成":"Completed"})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("div",{className:"w-4 h-4 rounded-full bg-amber-500 border-2 border-white shadow"}),t.jsx("span",{className:"text-sm",children:a==="zh"?"建设中":"In Progress"})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("div",{className:"w-4 h-4 rounded-full bg-slate-400 border-2 border-white shadow"}),t.jsx("span",{className:"text-sm",children:a==="zh"?"规划中":"Planned"})]})]})]})]})};export{L as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.