1 line
20 KiB
JavaScript
1 line
20 KiB
JavaScript
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,41385,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return a}});let s=e.r(91162);function a({reason:e,children:r}){if("undefined"==typeof window)throw Object.defineProperty(new s.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return r}},6198,(e,r,t)=>{"use strict";function s(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"encodeURIPath",{enumerable:!0,get:function(){return s}})},1573,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return o}});let s=e.r(36792),a=e.r(76124),l=e.r(73564),n=e.r(6198);function o({moduleIds:e}){if("undefined"!=typeof window)return null;let r=l.workAsyncStorage.getStore();if(void 0===r)return null;let t=[];if(r.reactLoadableManifest&&e){let s=r.reactLoadableManifest;for(let r of e){if(!s[r])continue;let e=s[r].files;t.push(...e)}}return 0===t.length?null:(0,s.jsx)(s.Fragment,{children:t.map(e=>{let t=`${r.assetPrefix}/_next/${(0,n.encodeURIPath)(e)}`;return e.endsWith(".css")?(0,s.jsx)("link",{precedence:"dynamic",href:t,rel:"stylesheet",as:"style",nonce:r.nonce},e):((0,a.preload)(t,{as:"script",fetchPriority:"low",nonce:r.nonce}),null)})})}},30651,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let s=e.r(36792),a=e.r(34346),l=e.r(41385),n=e.r(1573);function o(e){return{default:e&&"default"in e?e.default:e}}let d={loader:()=>Promise.resolve(o(()=>null)),loading:null,ssr:!0},i=function(e){let r={...d,...e},t=(0,a.lazy)(()=>r.loader().then(o)),i=r.loading;function c(e){let o=i?(0,s.jsx)(i,{isLoading:!0,pastDelay:!0,error:null}):null,d=!r.ssr||!!r.loading,c=d?a.Suspense:a.Fragment,m=r.ssr?(0,s.jsxs)(s.Fragment,{children:["undefined"==typeof window?(0,s.jsx)(n.PreloadChunks,{moduleIds:r.modules}):null,(0,s.jsx)(t,{...e})]}):(0,s.jsx)(l.BailoutToCSR,{reason:"next/dynamic",children:(0,s.jsx)(t,{...e})});return(0,s.jsx)(c,{...d?{fallback:o}:{},children:m})}return c.displayName="LoadableComponent",c}},6500,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let s=e.r(33334)._(e.r(30651));function a(e,r){let t={};"function"==typeof e&&(t.loader=e);let a={...t,...r};return(0,s.default)({...a,modules:a.loadableGenerated?.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),r.exports=t.default)},10960,e=>{"use strict";var r=e.i(36792),t=e.i(82772),s=e.i(92879),a=e.i(33483),l=e.i(10743),n=e.i(43840),o=e.i(49954);let d=(0,e.i(27706).default)("Map",[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]]);var i=e.i(90288),c=e.i(6500),m=e.i(34346);e.i(75246);var u=e.i(12908);let x=(0,c.default)(()=>e.A(63544),{loadableGenerated:{modules:[40258]},ssr:!1}),f={type:"FeatureCollection",features:[{type:"Feature",properties:{name:"中国"},geometry:{type:"MultiPolygon",coordinates:[[[[134.5,48.5],[135,47],[134,45],[133,43],[131,42],[130,43],[129,44],[128,45],[127,46],[126,47],[125,48],[124,49],[123.5,50],[123,51],[122.5,52],[122,53],[121,53.5],[120,53.3],[119,53],[118.5,52],[119,51],[119.5,50],[120,49],[121,48],[122,47],[123,46],[124,45],[125,44],[126,43],[127,42.5],[128,42],[129,41.5],[130,41],[130,40],[129,39],[128,38.5],[127,38],[126,37.5],[125,37],[124,36.5],[123,36],[122.5,35.5],[122,35],[121.5,34.5],[121,34],[120.5,33.5],[120,33],[119.5,32.5],[119.5,32],[120,31.5],[120.5,31],[121,30.5],[121.5,30],[122,29.5],[122,29],[121.5,28.5],[121,28],[120.5,27.5],[120,27],[119.5,26.5],[119,26],[118.5,25.5],[118,25],[117.5,24.5],[117,24],[116.5,23.5],[116,23],[115.5,22.5],[115,22],[114,21.8],[113,21.5],[112,21.3],[111,21.2],[110.5,21],[110,20.5],[109.5,20],[109,20.5],[108.5,21],[108,21.5],[107.5,22],[107,22.5],[106.5,23],[106,23.5],[105.5,24],[105,24.5],[104.5,25],[104,25.5],[103.5,26],[103,26.5],[102.5,27],[102,27.5],[101.5,28],[101,28.5],[100.5,29],[100,29.5],[99.5,30],[99,30.5],[98.5,31],[98,31.5],[97.5,32],[97,32.5],[96.5,33],[96,33.5],[95.5,34],[95,34.5],[94.5,35],[94,35.5],[93.5,36],[93,36.5],[92.5,37],[92,37.5],[91.5,38],[91,38.5],[90.5,39],[90,39.5],[89.5,40],[89,40.5],[88.5,41],[88,41.5],[87.5,42],[87,42.5],[86.5,43],[86,43.5],[85.5,44],[85,44.5],[84.5,45],[84,45.5],[83.5,46],[83,46.5],[82.5,47],[82,47.5],[81.5,48],[81,48.5],[80.5,49],[80,49.5],[79.5,49.5],[79,49.3],[78.5,49],[78,48.5],[77.5,48],[77,47.5],[76.5,47],[76,46.5],[75.5,46],[75,45.5],[74.5,45],[74,44.5],[73.5,44],[73.5,43.5],[74,43],[74.5,42.5],[75,42],[75.5,41.5],[76,41],[76.5,40.5],[77,40],[77.5,39.5],[78,39],[78.5,38.5],[79,38.5],[79.5,39],[80,39.5],[80.5,40],[81,40.5],[81.5,41],[82,41.5],[82.5,42],[83,42.5],[83.5,43],[84,43.5],[84.5,44],[85,44.5],[85.5,45],[86,45.5],[86.5,46],[87,46.5],[87.5,47],[88,47.5],[88.5,48],[89,48.5],[89.5,49],[90,49.5],[90.5,50],[91,50.5],[91.5,51],[92,51.5],[92.5,52],[93,52.5],[93.5,53],[94,53],[95,52.8],[96,52.5],[97,52.2],[98,52],[99,51.8],[100,51.5],[101,51.2],[102,51],[103,50.8],[104,50.5],[105,50.2],[106,50],[107,49.8],[108,49.5],[109,49.3],[110,49.2],[111,49.1],[112,49],[113,48.9],[114,48.8],[115,48.7],[116,48.6],[117,48.5],[118,48.5],[119,48.5],[120,48.6],[121,48.7],[122,48.8],[123,48.9],[124,49],[125,49.1],[126,49.2],[127,49.3],[128,49.4],[129,49.5],[130,49.5],[131,49.4],[132,49.2],[133,49],[134,48.8],[134.5,48.5]]],[[[108.6,18.5],[109.5,18.3],[110.5,18.5],[111,19],[111,19.5],[110.5,20],[109.5,20.2],[108.6,20],[108.2,19.5],[108.6,18.5]]],[[[120,22],[120.5,21.9],[121,22],[121.5,22.5],[122,23],[122,23.5],[122,24],[121.8,24.5],[121.5,25],[121,25.2],[120.5,25.1],[120.2,24.8],[120,24.5],[120,24],[120,23.5],[120,23],[120,22.5],[120,22]]]]}}]},b={北京:[116.46,39.92],上海:[121.48,31.22],广州:[113.23,23.16],深圳:[114.07,22.62],成都:[104.06,30.67],杭州:[120.19,30.26],重庆:[106.55,29.56],西安:[108.95,34.27],苏州:[120.62,31.32],武汉:[114.31,30.52],南京:[118.78,32.04],天津:[117.2,39.13],郑州:[113.65,34.76],长沙:[112.94,28.23],东莞:[113.75,23.05],沈阳:[123.43,41.8],青岛:[120.38,36.07],合肥:[117.27,31.86],佛山:[113.12,23.02],昆明:[102.73,25.04],福州:[119.3,26.08],无锡:[120.29,31.57],厦门:[118.1,24.46],哈尔滨:[126.63,45.75],长春:[125.35,43.88],南昌:[115.89,28.68],济南:[117.12,36.65],宁波:[121.55,29.87],大连:[121.62,38.91],贵阳:[106.71,26.57],温州:[120.67,28],石家庄:[114.52,38.05],泉州:[118.58,24.93],南宁:[108.33,22.84],金华:[119.65,29.08],常州:[119.95,31.79],珠海:[113.52,22.3],惠州:[114.42,23.09],嘉兴:[120.76,30.77],南通:[120.86,32.01],中山:[113.38,22.52],保定:[115.48,38.85],太原:[112.55,37.87],兰州:[103.79,36.06],台州:[121.43,28.66],乌鲁木齐:[87.68,43.77],绍兴:[120.58,30.03],廊坊:[116.7,39.54],洛阳:[112.45,34.62],威海:[122.12,37.52],盐城:[120.13,33.38],临沂:[118.35,35.05],江门:[113.08,22.61],汕头:[116.69,23.39],泰州:[119.9,32.49],漳州:[117.65,24.52],邯郸:[114.47,36.6],济宁:[116.59,35.38],芜湖:[118.38,31.33],淄博:[118.05,36.78],银川:[106.27,38.47],柳州:[109.4,24.33],绵阳:[104.73,31.48],湖州:[120.1,30.86],衡阳:[112.61,26.89],莆田:[119.01,25.43],宜昌:[111.29,30.7],桂林:[110.28,25.29],三亚:[109.51,18.25],遵义:[106.93,27.71],咸阳:[108.71,34.33],上饶:[117.97,28.45],莱芜:[117.68,36.21],赣州:[114.94,25.85],揭阳:[116.35,23.55],扬州:[119.42,32.39],菏泽:[115.47,35.23],徐州:[117.2,34.26],肇庆:[112.47,23.05],海口:[110.33,20.02],拉萨:[91.13,29.66],呼和浩特:[111.75,40.84],包头:[109.84,40.66],南阳:[112.53,33],鞍山:[122.99,41.12],九江:[115.99,29.71],大庆:[125.11,46.59],平顶山:[113.31,33.74],抚顺:[123.92,41.88],秦皇岛:[119.57,39.95],株洲:[113.15,27.83],齐齐哈尔:[123.95,47.33]};function h(){let{treeData:e,getMember:c,isLoading:h}=(0,s.useFamily)(),p=Object.values(e.members),[g,j]=(0,m.useState)(!1);(0,m.useEffect)(()=>{fetch("/china.json").then(e=>e.json()).then(e=>{u.registerMap("china",e),j(!0)}).catch(e=>{console.error("Failed to load China map:",e),u.registerMap("china",f),j(!0)})},[]);let y=(0,m.useMemo)(()=>p.flatMap(e=>{let r=[];return e.birthDate&&r.push({date:e.birthDate,year:Number.parseInt(e.birthDate.substring(0,4)),type:"birth",member:e}),e.deathDate&&r.push({date:e.deathDate,year:Number.parseInt(e.deathDate.substring(0,4)),type:"death",member:e}),r}).sort((e,r)=>r.date.localeCompare(e.date)),[p]),N=(0,m.useMemo)(()=>p.flatMap(e=>{if(!e.fatherId)return[];let r=c(e.fatherId);if(!r)return[];let t=r.birthPlace||r.ancestralHome,s=e.birthPlace||e.ancestralHome;return t&&s&&t!==s?[{year:e.birthDate?Number.parseInt(e.birthDate.substring(0,4)):null,from:t,to:s,person:e,father:r}]:[]}).sort((e,r)=>(e.year||0)-(r.year||0)),[p,c]),v=(0,m.useMemo)(()=>{let e={};Object.keys(b).forEach(r=>{e[r]=r,e[`${r}市`]=r,Object.entries({广东省:["广州","深圳","东莞","佛山","珠海","惠州","中山","江门","汕头","肇庆"],浙江省:["杭州","宁波","温州","金华","嘉兴","台州","绍兴","湖州"],江苏省:["苏州","南京","无锡","常州","南通","盐城","泰州","扬州","徐州"],山东省:["济南","青岛","威海","临沂","济宁","淄博","莱芜","菏泽"],四川省:["成都","绵阳"],河北省:["石家庄","保定","廊坊","邯郸","秦皇岛"],福建省:["福州","厦门","泉州","莆田","漳州"],湖北省:["武汉","宜昌"],湖南省:["长沙","衡阳","株洲"],陕西省:["西安","咸阳"],河南省:["郑州","洛阳","南阳","平顶山"],辽宁省:["沈阳","大连","鞍山","抚顺"],安徽省:["合肥","芜湖"],云南省:["昆明"],贵州省:["贵阳","遵义"],广西壮族自治区:["南宁","柳州","桂林"],江西省:["南昌","九江","赣州","上饶"],黑龙江省:["哈尔滨","大庆","齐齐哈尔"],吉林省:["长春"],山西省:["太原"],甘肃省:["兰州"],新疆维吾尔自治区:["乌鲁木齐"],宁夏回族自治区:["银川"],内蒙古自治区:["呼和浩特","包头"],海南省:["海口","三亚"],西藏自治区:["拉萨"],天津市:["天津"],重庆市:["重庆"],北京市:["北京"],上海市:["上海"]}).forEach(([t,s])=>{s.includes(r)&&(e[`${t}${r}市`]=r,e[`${t}${r}`]=r)})});let r=r=>{let t=e[r];if(t&&b[t])return t;let s=r.match(/(.+?省)?(.+?市)/);if(s){let t=s[1]||"",a=s[2]||"";for(let s of[r,t+a,a.replace("市",""),a]){let r=e[s];if(r&&b[r])return r}}return r},t=N.map(e=>{let t=r(e.from),s=r(e.to),a=b[t],l=b[s];return a&&l?{fromName:t,toName:s,coords:[a,l]}:(console.log("坐标未找到:",{from:e.from,to:e.to,fromCity:t,toCity:s,fromCoord:a,toCoord:l}),null)}).filter(Boolean);console.log("迁徙数据:",{migrations:N,lines:t});let s={};return N.forEach(e=>{let t=r(e.from),a=r(e.to);s[t]=(s[t]||0)+1,s[a]=(s[a]||0)+1}),{backgroundColor:"transparent",geo:{map:"china",roam:!0,label:{show:!0,color:"#666",fontSize:12},itemStyle:{areaColor:"rgba(128, 128, 128, 0.15)",borderColor:"rgba(128, 128, 128, 0.5)",borderWidth:2},emphasis:{itemStyle:{areaColor:"rgba(128, 128, 128, 0.25)"},label:{show:!0,color:"#333",fontSize:14}}},series:[{type:"lines",coordinateSystem:"geo",data:t,lineStyle:{color:"transparent",width:0,opacity:0},effect:{show:!0,period:3,trailLength:.2,symbol:"arrow",symbolSize:12,color:"#3b82f6",loop:!0},zlevel:1},{type:"scatter",coordinateSystem:"geo",data:Object.entries(s).map(([e,r])=>{let t=b[e];return t?{name:e,value:[...t,10*r]}:null}).filter(Boolean),symbolSize:10,label:{show:!0,formatter:"{b}",position:"right",fontSize:12,fontWeight:"normal",color:"#333"},itemStyle:{color:"#000",shadowBlur:0,borderWidth:0},emphasis:{scale:!0,itemStyle:{color:"#000"},label:{show:!0,fontSize:14,fontWeight:"bold"}}}]}},[N]);return h?(0,r.jsxs)("div",{className:"min-h-screen bg-background flex flex-col",children:[(0,r.jsx)(t.SiteHeader,{}),(0,r.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-primary mx-auto mb-4"}),(0,r.jsx)("p",{className:"text-muted-foreground",children:"加载中..."})]})})]}):0===p.length?(0,r.jsxs)("div",{className:"min-h-screen bg-background flex flex-col",children:[(0,r.jsx)(t.SiteHeader,{}),(0,r.jsx)("div",{className:"flex-1 flex items-center justify-center text-muted-foreground",children:"暂无家族成员数据"})]}):(0,r.jsxs)("div",{className:"min-h-screen bg-background flex flex-col font-sans",children:[(0,r.jsx)(t.SiteHeader,{}),(0,r.jsxs)("main",{className:"container mx-auto py-8 px-4 md:px-6 flex-1",children:[(0,r.jsxs)("div",{className:"mb-8",children:[(0,r.jsx)("h1",{className:"text-3xl font-serif font-bold mb-2",children:"家族历史 (History)"}),(0,r.jsx)("p",{className:"text-muted-foreground",children:"纵览家族发展的时间脉络与迁徙足迹。"})]}),(0,r.jsxs)(a.Tabs,{defaultValue:"timeline",className:"w-full",children:[(0,r.jsxs)(a.TabsList,{className:"mb-6 w-full md:w-auto",children:[(0,r.jsxs)(a.TabsTrigger,{value:"timeline",className:"flex items-center gap-2",children:[(0,r.jsx)(o.Clock,{className:"h-4 w-4"})," 时间轴 (Chronology)"]}),(0,r.jsxs)(a.TabsTrigger,{value:"migration",className:"flex items-center gap-2",children:[(0,r.jsx)(d,{className:"h-4 w-4"})," 迁徙图 (Migration)"]})]}),(0,r.jsx)(a.TabsContent,{value:"timeline",children:(0,r.jsx)(l.Card,{className:"border-none shadow-none bg-transparent",children:(0,r.jsx)(l.CardContent,{className:"p-0",children:(0,r.jsxs)("div",{className:"relative border-l-2 border-primary/20 ml-6 md:ml-12 space-y-8 py-4",children:[y.map((e,t)=>(0,r.jsxs)("div",{className:"relative pl-8 md:pl-12 group",children:[(0,r.jsx)("div",{className:`absolute -left-[9px] top-1 h-4 w-4 rounded-full border-2 border-background transition-colors group-hover:scale-110 ${"birth"===e.type?"bg-primary":"bg-neutral-400"}`}),(0,r.jsx)("div",{className:"absolute -left-16 md:-left-24 top-0 w-12 md:w-20 text-right text-sm font-mono text-muted-foreground font-bold",children:e.year}),(0,r.jsx)("div",{className:"bg-card rounded-lg px-4 py-2 transition-all hover:bg-accent/5 border border-border/50",children:(0,r.jsxs)("div",{className:"flex items-center gap-2 flex-wrap text-sm",children:[(0,r.jsx)("span",{className:`text-xs px-2 py-0.5 rounded-full flex-shrink-0 ${"birth"===e.type?"bg-primary/10 text-primary":"bg-neutral-100 text-neutral-500"}`,children:"birth"===e.type?"诞生":"逝世"}),(0,r.jsx)("span",{className:"font-serif font-bold",children:e.member.fullName}),(0,r.jsx)("span",{className:`text-xs px-1.5 py-0.5 rounded ${"male"===e.member.gender?"bg-blue-100 text-blue-700":"bg-pink-100 text-pink-700"}`,children:"male"===e.member.gender?"男":"女"}),(0,r.jsxs)("span",{className:"text-xs text-muted-foreground",children:["第",e.member.generation,"世"]}),e.member.fatherId&&(0,r.jsxs)("span",{className:"text-xs px-1.5 py-0.5 rounded bg-orange-50 text-orange-700 border border-orange-200",children:["父:",c(e.member.fatherId)?.fullName||"未知"]}),e.member.motherId&&(0,r.jsxs)("span",{className:"text-xs px-1.5 py-0.5 rounded bg-orange-50 text-orange-700 border border-orange-200",children:["母:",c(e.member.motherId)?.fullName||"未知"]}),e.member.spouseIds&&e.member.spouseIds.length>0&&(0,r.jsxs)("span",{className:"text-xs px-1.5 py-0.5 rounded bg-purple-50 text-purple-700 border border-purple-200",children:["配偶:",c(e.member.spouseIds[0])?.fullName||"未知"]}),e.member.childrenIds&&e.member.childrenIds.length>0&&(0,r.jsxs)("span",{className:"text-xs px-1.5 py-0.5 rounded bg-green-50 text-green-700 border border-green-200",children:["子女:",e.member.childrenIds.length,"人"]}),"birth"===e.type&&(e.member.birthPlace||e.member.ancestralHome)&&(0,r.jsxs)("span",{className:"text-xs text-muted-foreground",children:["📍",e.member.birthPlace||e.member.ancestralHome]}),"death"===e.type&&e.member.birthDate&&(0,r.jsxs)("span",{className:"text-xs text-muted-foreground",children:["享年",e.year-Number.parseInt(e.member.birthDate.substring(0,4)),"岁"]}),"death"===e.type&&e.member.burialPlace&&(0,r.jsxs)("span",{className:"text-xs text-muted-foreground",children:["⚰️",e.member.burialPlace]}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground font-mono ml-auto",children:e.date})]})})]},t)),0===y.length&&(0,r.jsx)("div",{className:"pl-8 text-muted-foreground italic",children:"暂无时间记录。请完善成员的出生日期信息。"})]})})})}),(0,r.jsx)(a.TabsContent,{value:"migration",children:(0,r.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8",children:[(0,r.jsxs)(l.Card,{children:[(0,r.jsx)(l.CardHeader,{children:(0,r.jsx)(l.CardTitle,{className:"font-serif",children:"迁徙记录 (Records)"})}),(0,r.jsx)(l.CardContent,{children:(0,r.jsx)(n.ScrollArea,{className:"h-[600px] pr-4",children:(0,r.jsxs)("div",{className:"space-y-6",children:[N.map((e,t)=>(0,r.jsxs)("div",{className:"flex flex-col gap-2 p-4 rounded-lg bg-muted/30 border border-border",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground mb-1",children:[(0,r.jsx)("span",{className:"font-mono bg-background px-1 rounded",children:e.year?`${e.year}年`:"未知年代"}),(0,r.jsxs)("span",{children:["第 ",e.person.generation," 世"]})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,r.jsxs)("div",{className:"flex-1 text-center p-2 bg-background rounded border border-border/50",children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:"迁出地"}),(0,r.jsx)("div",{className:"font-bold",children:e.from}),(0,r.jsx)("div",{className:"text-xs text-muted-foreground mt-1",children:e.father.fullName})]}),(0,r.jsx)(i.ArrowRight,{className:"text-muted-foreground"}),(0,r.jsxs)("div",{className:"flex-1 text-center p-2 bg-background rounded border border-border/50",children:[(0,r.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:"迁入地"}),(0,r.jsx)("div",{className:"font-bold text-primary",children:e.to}),(0,r.jsx)("div",{className:"text-xs text-muted-foreground mt-1",children:e.person.fullName})]})]})]},t)),0===N.length&&(0,r.jsxs)("p",{className:"text-center text-muted-foreground py-10",children:["暂无迁徙记录。",(0,r.jsx)("br",{}),"系统会自动分析父子代之间的籍贯/出生地差异来生成迁徙路径。"]})]})})})]}),(0,r.jsxs)(l.Card,{className:"bg-gradient-to-br from-primary/5 via-background to-secondary/5 border-primary/20",children:[(0,r.jsx)(l.CardHeader,{children:(0,r.jsx)(l.CardTitle,{className:"font-serif",children:"迁徙路径图 (Migration Flow)"})}),(0,r.jsx)(l.CardContent,{children:(0,r.jsx)("div",{className:"relative h-[600px] overflow-hidden rounded-lg bg-background/50 backdrop-blur border border-border/50",children:g?0===N.length?(0,r.jsx)("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)(d,{className:"h-16 w-16 mx-auto mb-4 opacity-20"}),(0,r.jsx)("p",{children:"暂无迁徙数据"}),(0,r.jsx)("p",{className:"text-sm mt-2",children:"请先清空数据库重新加载数据"})]})}):(0,r.jsx)(x,{option:v,style:{height:"100%",width:"100%"},opts:{renderer:"canvas"},notMerge:!0,lazyUpdate:!0},"migration-map"):(0,r.jsx)("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)(d,{className:"h-16 w-16 mx-auto mb-4 opacity-20 animate-pulse"}),(0,r.jsx)("p",{children:"加载地图中..."})]})})})})]})]})})]})]})]})}e.s(["default",()=>h],10960)},63544,e=>{e.v(r=>Promise.all(["static/chunks/4f801f214b57e73f.js"].map(r=>e.l(r))).then(()=>r(40258)))}]); |