chatlab-cli 0.31.3 → 0.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chat-command-ZIXKNLSE.mjs → chat-command-3KUWKS53.mjs} +4 -4
- package/dist/{chunk-FDLLEDNW.mjs → chunk-27DWKA3L.mjs} +2 -2
- package/dist/{chunk-MFOCDGCC.mjs → chunk-3IGBPOJM.mjs} +118 -17
- package/dist/chunk-3IGBPOJM.mjs.map +1 -0
- package/dist/{chunk-UIUEG7JB.mjs → chunk-CANPJOIE.mjs} +9 -9
- package/dist/{chunk-75FZ26HM.mjs → chunk-LNU4RW5G.mjs} +17 -6
- package/dist/chunk-LNU4RW5G.mjs.map +1 -0
- package/dist/{chunk-GZO3NAHC.mjs → chunk-PZM3FHVZ.mjs} +56 -7
- package/dist/chunk-PZM3FHVZ.mjs.map +1 -0
- package/dist/{chunk-EINCXXWY.mjs → chunk-UVCH2ICD.mjs} +2 -2
- package/dist/cli.mjs +4 -4
- package/dist/{http-WDG2OHOV.mjs → http-YR26GF7X.mjs} +6 -6
- package/dist/{import-4BDC37F7.mjs → import-Q3DUACU4.mjs} +4 -4
- package/dist/index.mjs +6 -6
- package/dist/{mcp-4KUVRGFF.mjs → mcp-HTVZSGTI.mjs} +3 -3
- package/dist/semantic-index-worker.mjs +1 -1
- package/dist/{src-ZOCLFBCJ.mjs → src-HJL7YZZJ.mjs} +11 -3
- package/dist/{stream-import-ERTT7U6V.mjs → stream-import-MXETSEPW.mjs} +4 -4
- package/dist/{worker-runtime-2TUZHV7W.mjs → worker-runtime-DZQDL2E2.mjs} +2 -2
- package/dist-web/assets/{ActionToolsPanel.vue_vue_type_script_setup_true_lang-GgQ5ueMX.js → ActionToolsPanel.vue_vue_type_script_setup_true_lang-DfQa9E2W.js} +5 -5
- package/dist-web/assets/{BufferResource-DgKoy0Ii.js → BufferResource-BXfwfGam.js} +1 -1
- package/dist-web/assets/{CanvasRenderer-CKpp71xg.js → CanvasRenderer-Bvpsbxds.js} +1 -1
- package/dist-web/assets/DataDirCleanupNotice-C0sCmNL2.js +1 -0
- package/dist-web/assets/{EChartWordcloud-CSOuFvyM.js → EChartWordcloud-C5hLT1vS.js} +1 -1
- package/dist-web/assets/{Filter-D32zqY5x.js → Filter-Irxx0f6j.js} +1 -1
- package/dist-web/assets/{LoadingState.vue_vue_type_script_setup_true_lang-DUAtrSZD.js → LoadingState.vue_vue_type_script_setup_true_lang-8s6XRB3S.js} +1 -1
- package/dist-web/assets/{MessageExportModal-BYLw4vZ8.js → MessageExportModal-tTI358HU.js} +1 -1
- package/dist-web/assets/{PageHeader-Dmu6cdAk.js → PageHeader-D5QQI9io.js} +1 -1
- package/dist-web/assets/{RelationshipGalaxyCanvas-DsMOubHV.js → RelationshipGalaxyCanvas-ByDU6ZS_.js} +3 -3
- package/dist-web/assets/{RelationshipGalaxyThreeCanvas-Dh5HjVHr.js → RelationshipGalaxyThreeCanvas-DgAlyKjc.js} +1 -1
- package/dist-web/assets/{RenderTargetSystem-CovK4x_D.js → RenderTargetSystem-Cx5U5HAM.js} +1 -1
- package/dist-web/assets/{ThemeCard.vue_vue_type_script_setup_true_lang-DhUfYrEx.js → ThemeCard.vue_vue_type_script_setup_true_lang-CpNjFhpm.js} +1 -1
- package/dist-web/assets/{TimeSelect.vue_vue_type_script_setup_true_lang-CaumhCAS.js → TimeSelect.vue_vue_type_script_setup_true_lang-DtCKfbaz.js} +1 -1
- package/dist-web/assets/{WebGLRenderer-CawhbcYU.js → WebGLRenderer-B3Fnp1WX.js} +1 -1
- package/dist-web/assets/{WebGPURenderer-B7P1D2sA.js → WebGPURenderer-DZ0X9N86.js} +1 -1
- package/dist-web/assets/{annual-summary-time-range-Bya4h2j6.js → annual-summary-time-range-CvG74N2l.js} +1 -1
- package/dist-web/assets/{base-ClGWE9aq.js → base-DdQRTliS.js} +1 -1
- package/dist-web/assets/{browserAll-CtQkc1DF.js → browserAll-BqC9ELNO.js} +1 -1
- package/dist-web/assets/{dateFormat-Cfb89ZjM.js → dateFormat-CX9atL2g.js} +1 -1
- package/dist-web/assets/{electron-Brd7jS6W.js → electron-ChQkD5ht.js} +1 -1
- package/dist-web/assets/{fetch-BoB63ns8.js → fetch-3Ifr5YJN.js} +1 -1
- package/dist-web/assets/fetch-74o_kRZf.js +1 -0
- package/dist-web/assets/{fetch-DWoMmOlr.js → fetch-BKFznq4l.js} +1 -1
- package/dist-web/assets/{fetch-Dr_Fjtvp.js → fetch-BPj6IlT-.js} +1 -1
- package/dist-web/assets/{fetch-DkfUUq-R.js → fetch-C3KuMfIU.js} +1 -1
- package/dist-web/assets/{fetch-DVGCzZ0E.js → fetch-CUT9JdXT.js} +1 -1
- package/dist-web/assets/{fetch-BtK7YvLp.js → fetch-CoYaXr5K.js} +1 -1
- package/dist-web/assets/{fetch-CeREJiFL.js → fetch-Dcg6Q6Ei.js} +1 -1
- package/dist-web/assets/{fetch-u7ivV7Uy.js → fetch-DxWfYzkB.js} +1 -1
- package/dist-web/assets/{fetch-D2hvh7lO.js → fetch-th_egarZ.js} +1 -1
- package/dist-web/assets/index-B3riRaJA.js +1 -0
- package/dist-web/assets/index-BRDdozcm.js +173 -0
- package/dist-web/assets/{index-DnkaYOFI.js → index-Bg-OiHMa.js} +1 -1
- package/dist-web/assets/{index-DJ8kB4US.js → index-BhewGKey.js} +2 -2
- package/dist-web/assets/{index-CuPE4SSh.js → index-Bm_U0hSr.js} +1 -1
- package/dist-web/assets/{index-DcAqhCpS.js → index-BpeJ40uK.js} +1 -1
- package/dist-web/assets/{index-w_1EjXiF.js → index-C6bwt1H4.js} +1 -1
- package/dist-web/assets/{index-BXaKyn8J.js → index-CEJqRkis.js} +2 -2
- package/dist-web/assets/{index-BzH9cnfy.js → index-CKLCaqdT.js} +1 -1
- package/dist-web/assets/{index-D494nYee.js → index-Ds5PiVyB.js} +3 -3
- package/dist-web/assets/{index-DSPls1YV.js → index-GXMxhYc9.js} +1 -1
- package/dist-web/assets/index-JyB6Cr8r.js +25 -0
- package/dist-web/assets/index-UJl03IYE.css +1 -0
- package/dist-web/assets/{index-BHnQaeQY.js → index-tx-Oal36.js} +1 -1
- package/dist-web/assets/{people-page-header-YGQM9G53.js → people-page-header-DGkK0AMO.js} +1 -1
- package/dist-web/assets/{vendor-nuxt-ui-DmkGVKod.js → vendor-nuxt-ui-DMdbdSFy.js} +2 -2
- package/dist-web/assets/{vendor-reka-ui-BkhadcDj.js → vendor-reka-ui-8_x7iKfi.js} +1 -1
- package/dist-web/assets/{web-zXxtk2KZ.js → web-aZcioccr.js} +1 -1
- package/dist-web/assets/{webworkerAll-BzRoT-6m.js → webworkerAll-a_fveCLR.js} +1 -1
- package/dist-web/index.html +4 -4
- package/package.json +1 -1
- package/dist/chunk-75FZ26HM.mjs.map +0 -1
- package/dist/chunk-GZO3NAHC.mjs.map +0 -1
- package/dist/chunk-MFOCDGCC.mjs.map +0 -1
- package/dist-web/assets/fetch-BJ3lnhzK.js +0 -1
- package/dist-web/assets/index-D-qNxFxp.js +0 -173
- package/dist-web/assets/index-DNMWR2Vj.js +0 -1
- package/dist-web/assets/index-_UKteDZB.js +0 -25
- package/dist-web/assets/index-gi0wgh0M.css +0 -1
- /package/dist/{chat-command-ZIXKNLSE.mjs.map → chat-command-3KUWKS53.mjs.map} +0 -0
- /package/dist/{chunk-FDLLEDNW.mjs.map → chunk-27DWKA3L.mjs.map} +0 -0
- /package/dist/{chunk-UIUEG7JB.mjs.map → chunk-CANPJOIE.mjs.map} +0 -0
- /package/dist/{chunk-EINCXXWY.mjs.map → chunk-UVCH2ICD.mjs.map} +0 -0
- /package/dist/{http-WDG2OHOV.mjs.map → http-YR26GF7X.mjs.map} +0 -0
- /package/dist/{import-4BDC37F7.mjs.map → import-Q3DUACU4.mjs.map} +0 -0
- /package/dist/{mcp-4KUVRGFF.mjs.map → mcp-HTVZSGTI.mjs.map} +0 -0
- /package/dist/{src-ZOCLFBCJ.mjs.map → src-HJL7YZZJ.mjs.map} +0 -0
- /package/dist/{stream-import-ERTT7U6V.mjs.map → stream-import-MXETSEPW.mjs.map} +0 -0
- /package/dist/{worker-runtime-2TUZHV7W.mjs.map → worker-runtime-DZQDL2E2.mjs.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as a}from"./vendor-nuxt-ui-
|
|
1
|
+
import{_ as a}from"./vendor-nuxt-ui-DMdbdSFy.js";import{u as n}from"./index-JyB6Cr8r.js";import{d as o,Z as r,ag as e,U as c,a0 as i,u as m,P as p}from"./vendor-reka-ui-8_x7iKfi.js";import"./vendor-snapdom--nZvo8Sg.js";const _={class:"flex min-h-0 flex-1 items-center justify-center px-6 py-12"},l={class:"text-center text-sm text-gray-500 dark:text-gray-400"},k=o({__name:"index",setup(d){const{t}=n();return(u,x)=>{const s=a;return p(),r("main",_,[e("div",l,[c(s,{name:"i-lucide-git-compare-arrows",class:"mx-auto mb-3 h-8 w-8 text-pink-500"}),e("p",null,i(m(t)("insight.reserved")),1)])])}}});export{k as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RelationshipGalaxyThreeCanvas-
|
|
2
|
-
import{u as xt,k as wt,n as _t,v as Ne,w as Be,C as St}from"./index-_UKteDZB.js";import{h as Tt,d as Ct,b as Rt}from"./vendor-nuxt-ui-DmkGVKod.js";import{d as Nt,w as ee,x as It,F as Pt,Z as k,ag as o,Q as te,u,U as P,aG as Et,T as ue,bV as Mt,a0 as r,ad as Ie,ae as Pe,a1 as M,_ as Ee,r as g,c as p,n as $,P as m,$ as Me,aa as Lt,bW as Ue}from"./vendor-reka-ui-BkhadcDj.js";import{_ as Vt}from"./LoadingState.vue_vue_type_script_setup_true_lang-DUAtrSZD.js";import{u as Kt}from"./people-page-header-YGQM9G53.js";const At=10,We=80,Gt=2880*60*60,He=.1;function Ye(a,i,f={}){if(!i)return{items:[],total:0,hasMore:!1};const y=new Map(a.nodes.map(h=>[h.key,h])),t=a.edges.flatMap(h=>{if(h.sourceKey!==i&&h.targetKey!==i)return[];const w=h.sourceKey===i?h.targetKey:h.sourceKey,K=y.get(w);return K?[{node:K,edge:h,connectionScore:0}]:[]}),C=t.reduce((h,w)=>Math.max(h,w.edge.lastInteractionTs??0),0),L=new Map(t.map(h=>[h,Le(h.edge,C)]));for(const h of t)h.connectionScore=$t(L.get(h)??0);t.sort((h,w)=>zt(h,w,C));const V=f.collapsedLimit??At;return{items:f.expanded?t:t.slice(0,V),total:t.length,hasMore:!f.expanded&&t.length>V}}function Ft(a,i,f={}){const y=new Set;if(!i||!a.nodes.some(C=>C.key===i))return y;y.add(i);const t=Ye(a,i,{collapsedLimit:f.limit??We});for(const C of t.items)y.add(C.node.key);return y}function go(a,i,f={}){if(!i||!a.nodes.some(t=>t.key===i))return a;const y=Ft(a,i,f);return{nodes:a.nodes.filter(t=>y.has(t.key)),edges:a.edges.filter(t=>y.has(t.sourceKey)&&y.has(t.targetKey)),communities:a.communities}}function $t(a){return a<=0?0:Math.max(1,Math.round(a))}function zt(a,i,f){const y=Le(i.edge,f),t=Le(a.edge,f);if(y!==t)return y-t;if(i.edge.weight!==a.edge.weight)return i.edge.weight-a.edge.weight;const C=i.edge.lastInteractionTs??0,L=a.edge.lastInteractionTs??0;return C!==L?C-L:a.node.rank!==i.node.rank?a.node.rank-i.node.rank:a.node.key.localeCompare(i.node.key)}function Le(a,i){if(!a.lastInteractionTs||i<=0)return a.weight;const f=Math.max(0,i-a.lastInteractionTs),y=He+(1-He)*Math.pow(.5,f/Gt);return a.weight*y}function qe(a){return a.selectedKey&&a.selectedKey===a.loadingNeighborhoodKey?a.currentCanvasSelectedKey:a.selectedKey}function Ot(a){return a.selectedKey?a.isNeighborhoodMode?a.selectedKey!==a.neighborhoodContactKey:!0:!1}function Dt(a){return a.neighborhoodTask?.status==="running"?a.neighborhoodTask:a.graphTask?.status==="running"?a.graphTask:a.isNeighborhoodMode&&a.neighborhoodTask?a.neighborhoodTask:a.graphTask??a.neighborhoodTask??null}function jt(a){return a.nextTaskStatus==="running"?{type:"continue-polling"}:a.previousTaskStatus==="running"&&a.nextTaskStatus==="succeeded"&&a.neighborhoodContactKey?{type:"refresh-neighborhood",key:a.neighborhoodContactKey}:{type:"stop-polling"}}function Bt(a){return a.loadError?a.loadError:a.isTaskFailed&&a.statusText?a.statusText:a.emptyText}const Ut=new RegExp("\\p{Script=Han}","u");function Qe(a){const i=a?.trim()??"";if(!i)return"*";const f=Array.from(i),y=[...f].reverse().find(t=>Ut.test(t));return y?`**${y}`:f.length===1?"*":f.length===2?`${f[0]}***`:`${f[0]}***${f.at(-1)}`}function Ht(){return"*"}const qt={class:"flex min-h-0 flex-1 overflow-hidden text-gray-900 dark:bg-page-dark dark:text-gray-100"},Qt={class:"relative min-h-0 min-w-0 flex-1 overflow-hidden bg-[#0b0f19] dark:bg-page-dark"},Wt={class:"absolute left-6 top-4 z-20 flex max-w-[calc(100%-3rem)] flex-wrap items-center gap-2"},Yt={class:"relative w-28 max-w-full sm:w-32 lg:w-36"},Zt={key:0,class:"absolute left-0 top-full z-30 mt-2 max-h-80 w-72 overflow-y-auto rounded-2xl border border-gray-200/80 bg-white/95 p-2 shadow-overlay backdrop-blur-xl scrollbar-thin dark:border-white/10 dark:bg-page-dark/95"},Jt={class:"px-2 pb-1.5 pt-0.5 text-[11px] font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400"},Xt={class:"space-y-1"},ea=["disabled","onClick"],ta={class:"min-w-0 flex-1"},aa={class:"block truncate text-sm font-semibold text-gray-900 transition-colors group-hover:text-sky-600 dark:text-white dark:group-hover:text-sky-400"},oa={class:"block truncate text-[11px] text-gray-500 dark:text-gray-400"},na={key:0,class:"shrink-0 rounded-md bg-sky-100/60 px-1.5 py-0.5 text-[10px] font-semibold text-sky-600 dark:bg-sky-500/15 dark:text-sky-400"},sa={key:2,class:"absolute bottom-6 left-1/2 z-20 flex max-w-[min(560px,calc(100%-2rem))] -translate-x-1/2 items-center gap-2.5 rounded-2xl border border-sky-500/20 bg-[#090d16]/85 px-4 py-2.5 text-center text-xs font-semibold text-sky-200 shadow-overlay backdrop-blur-md animate-fade-in"},ra={key:4,class:"absolute inset-0 flex items-center justify-center text-sm font-medium text-gray-400"},la={key:5,class:"dark absolute inset-x-3 bottom-3 z-20 flex max-h-[70vh] flex-col overflow-hidden rounded-2xl border border-white/5 bg-page-dark/10 text-white shadow-overlay backdrop-blur-md md:inset-x-auto md:bottom-4 md:right-4 md:top-4 md:max-h-none md:w-[360px]"},ia={key:0,class:"flex min-h-0 flex-1 flex-col gap-3 px-4 pb-4 pt-5"},ca={class:"shrink-0 space-y-2.5"},ua={class:"flex items-center gap-3 pr-8"},da={class:"min-w-0 flex-1"},ha={class:"flex min-w-0 items-center gap-1.5"},va={class:"truncate text-base font-bold text-gray-900 dark:text-white"},pa={class:"truncate text-xs text-gray-500 dark:text-gray-400"},ga={class:"grid grid-cols-3 gap-1 text-xs"},fa={class:"min-w-0 rounded-md border border-gray-100/60 bg-gray-50/35 p-1.5 dark:border-white/5 dark:bg-white/3"},ma={class:"mb-0.5 truncate text-[9px] font-semibold uppercase leading-3 tracking-wide text-gray-400 dark:text-gray-500"},ya={class:"flex min-w-0 items-baseline gap-0.5"},ba={class:"font-mono text-sm font-bold leading-4 text-sky-600 dark:text-sky-400"},ka={class:"min-w-0 rounded-md border border-gray-100/60 bg-gray-50/35 p-1.5 dark:border-white/5 dark:bg-white/3"},xa={class:"mb-0.5 truncate text-[9px] font-semibold uppercase leading-3 tracking-wide text-gray-400 dark:text-gray-500"},wa={class:"min-w-0 rounded-md border border-gray-100/60 bg-gray-50/35 p-1.5 dark:border-white/5 dark:bg-white/3"},_a={class:"mb-0.5 truncate text-[9px] font-semibold uppercase leading-3 tracking-wide text-gray-400 dark:text-gray-500"},Sa={class:"block truncate font-mono text-sm font-bold leading-4 text-gray-900 dark:text-white"},Ta={class:"min-w-0 rounded-md border border-gray-100/60 bg-gray-50/35 p-1.5 dark:border-white/5 dark:bg-white/3"},Ca={class:"mb-0.5 truncate text-[9px] font-semibold uppercase leading-3 tracking-wide text-gray-400 dark:text-gray-500"},Ra={class:"block truncate font-mono text-sm font-bold leading-4 text-gray-900 dark:text-white"},Na={class:"min-w-0 rounded-md border border-gray-100/60 bg-gray-50/35 p-1.5 dark:border-white/5 dark:bg-white/3"},Ia={class:"mb-0.5 truncate text-[9px] font-semibold uppercase leading-3 tracking-wide text-gray-400 dark:text-gray-500"},Pa={class:"block truncate font-mono text-sm font-bold leading-4 text-gray-900 dark:text-white"},Ea={class:"min-w-0 rounded-md border border-gray-100/60 bg-gray-50/35 p-1.5 dark:border-white/5 dark:bg-white/3"},Ma={class:"mb-0.5 truncate text-[9px] font-semibold uppercase leading-3 tracking-wide text-gray-400 dark:text-gray-500"},La={class:"block truncate text-[11px] font-semibold leading-4 text-gray-900 dark:text-white"},Va={class:"flex min-h-0 flex-1 flex-col gap-2"},Ka={class:"flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl border border-gray-100/80 bg-gray-50/25 p-2.5 dark:border-white/5 dark:bg-white/2"},Aa={class:"mb-2 flex shrink-0 items-center justify-between gap-3 pl-1 pr-3"},Ga={class:"flex min-w-0 items-center gap-2"},Fa={class:"truncate text-xs font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400"},$a={class:"shrink-0 font-mono text-[10px] font-bold text-gray-400 dark:text-gray-500"},za={class:"w-14 shrink-0 text-right text-[10px] font-semibold uppercase tracking-wider text-gray-400 dark:text-gray-500"},Oa={key:0,class:"min-h-0 flex-1 space-y-0.5 overflow-y-auto pr-1 scrollbar-thin"},Da=["onClick"],ja={class:"min-w-0 flex-1"},Ba={class:"block truncate text-[13px] font-semibold leading-4 text-gray-900 transition-colors group-hover:text-sky-600 dark:text-white dark:group-hover:text-sky-400"},Ua={class:"flex w-14 shrink-0 justify-end"},Ha={class:"font-mono text-[10px] font-bold text-gray-500 dark:text-gray-400"},qa={key:1,class:"py-4 text-center text-xs text-gray-400 dark:text-gray-500"},Qa={key:0,class:"flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl border border-gray-100/80 bg-gray-50/25 p-2.5 dark:border-white/5 dark:bg-white/2"},Wa={class:"mb-2 flex shrink-0 items-center justify-between gap-3 pl-1 pr-3"},Ya={class:"flex min-w-0 items-center gap-2"},Za={class:"truncate text-xs font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400"},Ja={class:"shrink-0 font-mono text-[10px] font-bold text-gray-400 dark:text-gray-500"},Xa={class:"w-14 shrink-0 text-right text-[10px] font-semibold uppercase tracking-wider text-gray-400 dark:text-gray-500"},eo={class:"min-h-0 flex-1 space-y-0.5 overflow-y-auto pr-1 scrollbar-thin"},to={class:"flex min-w-0 items-center gap-2"},ao={class:"flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-white/45 shadow-sm dark:bg-white/5"},oo={class:"truncate font-semibold leading-4 text-gray-700 dark:text-gray-200"},no={class:"flex w-14 shrink-0 justify-end"},so={class:"font-mono text-[10px] font-bold text-gray-500 dark:text-gray-400"},ro=1400,lo=392,io=Nt({__name:"index",setup(a){const i={nodes:[],edges:[],communities:[]},f=Ue(()=>Be(()=>import("./RelationshipGalaxyThreeCanvas-Dh5HjVHr.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]))),y=Ue(()=>Be(()=>import("./RelationshipGalaxyCanvas-DsMOubHV.js").then(e=>e.as),__vite__mapDeps([10,3,1,4,5,6,2]))),{t,locale:C}=xt(),L=wt(),V=_t(),G=g("1y"),h=g("panorama"),w=g(""),K=g(""),z=g(!1),ae=g(""),v=g(null),A=g(!1),O=g(null),R=g(null),de=g(!1),he=g(!1),H=g(!1),Ve=g(!1),F=g(null),_=g(null),E=g(!1),oe=g("3d"),q=g(""),Q=g(0),D=g(0),S=g(null),ne=g(null);let se=null,ve=null,W=null,Y=null,re=null,pe=!1;const Ze=p(()=>new Intl.NumberFormat(C.value)),Je=p(()=>St.map(e=>({label:t(`relationships.timeRange.${e}`),value:e}))),Xe=p(()=>[{label:t("relationships.graphScope.panorama"),value:"panorama"},{label:t("relationships.graphScope.close"),value:"close"},{label:t("relationships.graphScope.friends"),value:"friends"}]),N=p(()=>R.value?.graph??O.value?.graph??i),ge=p(()=>!!R.value),fe=p(()=>N.value.nodes.length>0),Z=p(()=>Dt({graphTask:O.value?.task??null,neighborhoodTask:R.value?.task??null,isNeighborhoodMode:ge.value})),J=p(()=>Z.value?.status==="running"),Ke=p(()=>Z.value?.status==="failed"),et=p(()=>O.value?.cache.status??R.value?.cache.status),Ae=p(()=>O.value?.searchResults??[]),Ge=p(()=>w.value.trim().length>0),tt=p(()=>Ge.value&&w.value.trim()===ae.value&&z.value&&Ae.value.length>0),at=p(()=>(de.value||J.value)&&!fe.value),ot=p(()=>J.value&&fe.value),b=p(()=>v.value?N.value.nodes.find(e=>e.key===v.value)??R.value?.contact??null:null),Fe=p(()=>A.value&&!!b.value),me=p(()=>Fe.value&&Ve.value?lo:0),nt=p(()=>Ot({selectedKey:v.value,isNeighborhoodMode:ge.value,neighborhoodContactKey:R.value?.contact?.key??null})),le=p(()=>Ye(N.value,v.value,{collapsedLimit:We})),ye=p(()=>({nodes:N.value.nodes.length,edges:N.value.edges.length,communities:N.value.communities.length})),be=p(()=>[...N.value.communities].sort((e,n)=>n.size-e.size).slice(0,8)),ke=p(()=>et.value==="stale"&&J.value?t("relationships.task.updating"):J.value?ut(Z.value):Ke.value?Z.value?.lastError||t("relationships.task.failed"):""),st=p(()=>Bt({loadError:q.value,isTaskFailed:Ke.value,statusText:ke.value,emptyText:t("relationships.empty")}));function x(e){return Ze.value.format(e)}function rt(e){return Math.round(e*100).toString()}function lt(){const e=le.value.items.length,n=le.value.total;return n<=e?x(n):`${x(e)} / ${x(n)}`}function it(e){return e?new Date(e*1e3).toLocaleDateString():t("relationships.detail.emptyValue")}function xe(e){return e.kind==="owner"?t("relationships.owner.avatarText"):E.value?Ht():(e.displayName||e.platformId||"?").slice(0,1)}function we(e){return e.kind==="owner"?e.avatar:E.value?null:e.avatar}function j(e){if(e.kind==="owner")return t("relationships.owner.me");const n=e.displayName||e.platformId||e.key;return E.value?Qe(n):n}function ct(e){const n=e.platformId||e.key;return E.value?Qe(n):n}function $e(e){return e.kind==="owner"?t("relationships.owner.type"):e.friendSource==="manual"?t("relationships.pool.manualFriend"):e.pool==="friend"?t("relationships.pool.friend"):t("relationships.pool.nonFriend")}function ut(e){return t("relationships.task.running",{current:x(e?.processedSessions??0),total:x(e?.totalSessions??0)})}function ze(e){const n=Oe(e,h.value);se&&se!==n&&ie();const d=O.value;O.value=d&&se===n?{...e,graph:d.graph}:e,se=n}function dt(e){const n=Oe(e,`neighborhood:${e.contact?.key??""}`),d=R.value;R.value=d&&ve===n?{...e,graph:d.graph}:e,ve=n}function B(){R.value=null,ve=null}function Oe(e,n){const d=e.graph;let s=2166136261;s=T(s,n),s=T(s,e.algorithmVersion),s=T(s,e.cache.signature??""),s=I(s,e.timeRange.startTs??0),s=T(s,e.timeRange.preset);for(const c of d.nodes)s=T(s,c.key),s=T(s,c.pool),s=T(s,c.friendSource??""),s=I(s,c.rank),s=I(s,Math.round(c.score*1e6)),s=I(s,c.labelVisibility),s=I(s,Math.round(c.x*100)),s=I(s,Math.round(c.y*100)),s=I(s,Math.round(c.size*100));for(const c of d.edges)s=T(s,c.id),s=T(s,c.sourceKey),s=T(s,c.targetKey),s=I(s,Math.round(c.weight*1e6)),s=I(s,c.visibility);for(const c of d.communities)s=T(s,c.id),s=I(s,c.size),s=T(s,c.color);return`${n}:${d.nodes.length}:${d.edges.length}:${d.communities.length}:${s>>>0}`}function T(e,n){for(let d=0;d<n.length;d+=1)e^=n.charCodeAt(d),e=Math.imul(e,16777619);return e}function I(e,n){return T(e,String(n))}function _e(){W&&(clearInterval(W),W=null)}function U(){D.value+=1,H.value=!1,F.value=null}function De(){v.value||ne.value||(ne.value=S.value?.captureView()??null)}function ie(){ne.value=null}function ht(){const e=ne.value;ie(),$(()=>{e&&S.value?.restoreView(e)===!0||S.value?.fitView(),$(()=>{pe=!1})})}function Se(e){if(e?.status==="running"){W||(W=setInterval(()=>{X({silent:!0,preserveNeighborhood:!0})},ro));return}_e()}async function X(e={}){const n=Q.value+1;Q.value=n;const d=Z.value?.status??null,s=e.preserveNeighborhood?R.value?.contact?.key??null:null;e.silent||(de.value=!0),e.preserveNeighborhood||(U(),B()),q.value="";try{const c=await L.getPeopleRelationships({acceptStale:!0,timeRangePreset:G.value,graphScope:h.value,query:K.value.trim()||void 0});if(n!==Q.value)return;ze(c),ae.value=K.value.trim(),v.value&&!N.value.nodes.some(Re=>Re.key===v.value)&&(v.value=null,_.value=null,A.value=!1);const l=jt({previousTaskStatus:d,nextTaskStatus:c.task?.status??null,neighborhoodContactKey:s});Se(c.task),l.type==="refresh-neighborhood"&&ce(l.key)}catch(c){if(n!==Q.value)return;q.value=String(c),V.fail(t("relationships.toast.loadFailed"),{description:String(c)}),_e()}finally{n===Q.value&&(de.value=!1)}}async function vt(){he.value=!0,q.value="";try{const e=await L.recomputePeopleRelationships({timeRangePreset:G.value,graphScope:h.value,query:K.value.trim()||void 0});ze(e),ae.value=K.value.trim(),U(),B(),v.value=null,_.value=null,A.value=!1,Se(e.task),V.success(t("relationships.toast.recomputeStarted"))}catch(e){V.fail(t("relationships.toast.recomputeFailed"),{description:String(e)})}finally{he.value=!1}}const pt=p(()=>({title:t("layout.relationships"),description:t("relationships.subtitle"),icon:"i-lucide-git-fork",iconClass:"bg-primary-600 text-white dark:bg-primary-500 dark:text-white shadow-sm",action:{label:t("relationships.actions.recompute"),icon:"i-lucide-refresh-cw",loading:he.value,disabled:J.value,class:"border border-sky-100 hover:border-sky-200 dark:border-sky-950/30 dark:hover:border-sky-900/50",onClick:vt},stats:[{id:"nodes",label:t("relationships.stats.nodes"),value:x(ye.value.nodes)},{id:"edges",label:t("relationships.stats.edges"),value:x(ye.value.edges)},{id:"communities",label:t("relationships.stats.communities"),value:x(ye.value.communities),dividerBefore:!0}]}));Kt(pt);async function ce(e){const n=D.value+1;D.value=n,H.value=!0,F.value=e,q.value="";try{const d=await L.getPeopleRelationshipNeighborhood(e,{acceptStale:!0,timeRangePreset:G.value});if(n!==D.value)return;dt(d),v.value=d.contact?.key??e,_.value=v.value,Se(d.task),await $(),S.value?.fitView()}catch(d){if(n!==D.value)return;V.fail(t("relationships.toast.neighborhoodFailed"),{description:String(d)})}finally{n===D.value&&(H.value=!1,F.value=null)}}async function gt(){v.value&&await ce(v.value)}async function ft(e){if(De(),z.value=!1,e.inCoreGraph||(F.value=e.key),v.value=e.key,A.value=!0,_.value=qe({selectedKey:v.value,loadingNeighborhoodKey:F.value,currentCanvasSelectedKey:_.value}),!e.inCoreGraph){await ce(e.key);return}U(),B(),await $(),S.value?.focusNode(e.key)}async function Te(e){De();const n=R.value?.contact?.key!==e.key;if(n&&(F.value=e.key),v.value=e.key,A.value=!0,_.value=qe({selectedKey:v.value,loadingNeighborhoodKey:F.value,currentCanvasSelectedKey:_.value}),await $(),S.value?.focusNode(e.key),n){await ce(e.key);return}_.value=v.value}function mt(){oe.value==="3d"&&(oe.value="2d",V.warn(t("relationships.toast.threeUnavailable")))}function je(){pe=!0,U(),B(),v.value=null,_.value=null,A.value=!1,ht()}function yt(){je()}function bt(){w.value="",ae.value="",z.value=!1}function kt(){S.value?.fitView()}function Ce(){Ve.value=re?.matches??!1}return ee(G,()=>{ie(),v.value=null,_.value=null,A.value=!1,U(),B(),X()}),ee(h,()=>{ie(),v.value=null,_.value=null,A.value=!1,U(),B(),X()}),ee(w,e=>{Y&&clearTimeout(Y),z.value=e.trim().length>0,Y=setTimeout(()=>{K.value=e,X({silent:!0,preserveNeighborhood:!0})},260)}),ee(oe,async()=>{if(await $(),v.value){S.value?.focusNode(v.value);return}S.value?.fitView()}),ee(me,async()=>{if(await $(),!pe){if(v.value){S.value?.focusNode(v.value);return}S.value?.fitView()}}),It(()=>{typeof window<"u"&&(re=window.matchMedia("(min-width: 768px)"),Ce(),re.addEventListener("change",Ce)),X()}),Pt(()=>{re?.removeEventListener("change",Ce),_e(),Y&&clearTimeout(Y)}),(e,n)=>{const d=Tt,s=Ct,c=Rt;return m(),k("div",qt,[o("main",Qt,[oe.value==="3d"?(m(),te(u(f),{key:0,ref_key:"canvasRef",ref:S,graph:N.value,"selected-key":_.value,"privacy-mode":E.value,"safe-inset-right":me.value,label:u(t)("relationships.canvas.label3d"),"owner-label":u(t)("relationships.owner.me"),onFallback:mt,onSelectNode:Te},null,8,["graph","selected-key","privacy-mode","safe-inset-right","label","owner-label"])):(m(),te(u(y),{key:1,ref_key:"canvasRef",ref:S,graph:N.value,"selected-key":_.value,"privacy-mode":E.value,"safe-inset-right":me.value,label:u(t)("relationships.canvas.label"),"owner-label":u(t)("relationships.owner.me"),onSelectNode:Te},null,8,["graph","selected-key","privacy-mode","safe-inset-right","label","owner-label"])),o("div",Wt,[P(d,{modelValue:G.value,"onUpdate:modelValue":n[0]||(n[0]=l=>G.value=l),items:Je.value,content:!1,size:"xs",class:"min-w-max gap-0"},null,8,["modelValue","items"]),P(d,{modelValue:h.value,"onUpdate:modelValue":n[1]||(n[1]=l=>h.value=l),items:Xe.value,content:!1,size:"xs",class:"min-w-max gap-0"},null,8,["modelValue","items"]),o("div",Yt,[P(c,{modelValue:w.value,"onUpdate:modelValue":n[2]||(n[2]=l=>w.value=l),icon:"i-lucide-search",placeholder:u(t)("relationships.search"),size:"sm",class:"w-full",onFocus:n[3]||(n[3]=l=>z.value=Ge.value),onKeydown:n[4]||(n[4]=Mt(l=>z.value=!1,["esc"]))},Et({_:2},[w.value?{name:"trailing",fn:ue(()=>[P(s,{icon:"i-heroicons-x-mark",variant:"link",color:"neutral",size:"xs","aria-label":u(t)("relationships.actions.clearSearch"),onClick:bt},null,8,["aria-label"])]),key:"0"}:void 0]),1032,["modelValue","placeholder"]),tt.value?(m(),k("div",Zt,[o("div",Jt,r(u(t)("relationships.searchResults.title")),1),o("div",Xt,[(m(!0),k(Ie,null,Pe(Ae.value,l=>(m(),k("button",{key:l.key,type:"button",class:Ee(["group flex w-full items-center gap-2.5 rounded-xl px-2.5 py-2 text-left transition hover:bg-gray-100/70 dark:hover:bg-white/5",v.value===l.key?"bg-sky-50 dark:bg-sky-500/10":""]),disabled:H.value,onClick:Re=>ft(l)},[P(Ne,{src:we(l),alt:j(l),text:xe(l),"root-class":"h-8 w-8 shrink-0 shadow-sm border border-gray-250/20 dark:border-white/10","image-class":"h-8 w-8 rounded-full object-cover","fallback-class":"flex h-8 w-8 items-center justify-center rounded-full bg-sky-100 text-[10px] font-bold text-sky-700 dark:bg-sky-500/15 dark:text-sky-200"},null,8,["src","alt","text"]),o("span",ta,[o("span",aa,r(j(l)),1),o("span",oa,r($e(l))+" · #"+r(l.rank),1)]),l.inCoreGraph?M("",!0):(m(),k("span",na,r(u(t)("relationships.searchResults.offCore")),1))],10,ea))),128))])])):M("",!0)]),P(s,{icon:"i-lucide-scan-line",color:"neutral",variant:"soft",size:"xs","aria-label":u(t)("relationships.actions.fitView"),onClick:kt},null,8,["aria-label"]),P(s,{icon:E.value?"i-lucide-eye-off":"i-lucide-eye",color:"neutral",variant:"soft",size:"xs",onClick:n[5]||(n[5]=l=>E.value=!E.value)},{default:ue(()=>[Me(r(u(t)("relationships.privacy")),1)]),_:1},8,["icon"]),ge.value?(m(),te(s,{key:0,icon:"i-lucide-undo-2",color:"neutral",variant:"soft",size:"xs",onClick:je},{default:ue(()=>[Me(r(u(t)("relationships.actions.backToPanorama")),1)]),_:1})):M("",!0)]),ot.value?(m(),k("div",sa,[n[6]||(n[6]=o("span",{class:"i-lucide-refresh-cw h-3.5 w-3.5 animate-spin text-sky-400"},null,-1)),o("span",null,r(ke.value),1)])):M("",!0),at.value?(m(),te(u(Vt),{key:3,variant:"overlay",text:ke.value||u(t)("relationships.task.updating")},null,8,["text"])):fe.value?M("",!0):(m(),k("div",ra,r(st.value),1)),Fe.value?(m(),k("aside",la,[P(s,{icon:"i-lucide-x",color:"neutral",variant:"ghost",size:"xs",class:"absolute right-2.5 top-2.5 z-10 bg-white/35 backdrop-blur-sm hover:bg-white/55 dark:bg-white/5 dark:hover:bg-white/10","aria-label":u(t)("relationships.actions.closeDetail"),onClick:yt},null,8,["aria-label"]),b.value?(m(),k("div",ia,[o("div",ca,[o("div",ua,[P(Ne,{src:we(b.value),alt:j(b.value),text:xe(b.value),"root-class":"h-11 w-11 shrink-0 overflow-hidden rounded-lg shadow-sm border border-gray-250/20 dark:border-white/10","image-class":"h-11 w-11 rounded-lg object-cover","fallback-class":"flex h-11 w-11 items-center justify-center rounded-lg bg-sky-100 text-sm font-bold text-sky-700 dark:bg-sky-500/15 dark:text-sky-200"},null,8,["src","alt","text"]),o("div",da,[o("div",ha,[o("p",va,r(j(b.value)),1),o("span",{class:Ee(["shrink-0 rounded-full bg-white/45 px-1.5 py-0.5 font-mono text-[10px] font-bold text-gray-600 dark:bg-white/8 dark:text-gray-300",b.value.rank<=3?"text-amber-600 dark:text-amber-300":""])}," #"+r(b.value.rank),3)]),o("p",pa,r(b.value.platform)+" · "+r(ct(b.value)),1)])]),nt.value?(m(),te(s,{key:0,icon:"i-lucide-network",color:"primary",variant:"soft",size:"sm",block:"",class:"rounded-xl font-semibold shadow-sm border border-sky-100 hover:border-sky-200 dark:border-sky-950/30 dark:hover:border-sky-900/50",loading:H.value,onClick:gt},{default:ue(()=>[Me(r(u(t)("relationships.actions.focusConnections")),1)]),_:1},8,["loading"])):M("",!0),o("div",ga,[o("div",fa,[o("p",ma,r(u(t)("relationships.detail.score")),1),o("div",ya,[o("p",ba,r(rt(b.value.score)),1),n[7]||(n[7]=o("span",{class:"text-[9px] leading-3 text-gray-400"},"/100",-1))])]),o("div",ka,[o("p",xa,r(u(t)("relationships.detail.type")),1),o("span",{class:Ee(["inline-flex max-w-full items-center truncate text-[10px] font-semibold leading-4",b.value.pool==="friend"?"text-sky-700 dark:text-sky-300":"text-amber-700 dark:text-amber-300"])},r($e(b.value)),3)]),o("div",wa,[o("p",_a,r(u(t)("relationships.detail.privateMessages")),1),o("span",Sa,r(x(b.value.privateMessageCount)),1)]),o("div",Ta,[o("p",Ca,r(u(t)("relationships.detail.groupMessages")),1),o("span",Ra,r(x(b.value.groupMessageCount)),1)]),o("div",Na,[o("p",Ia,r(u(t)("relationships.detail.commonGroups")),1),o("span",Pa,r(x(b.value.commonGroupCount)),1)]),o("div",Ea,[o("p",Ma,r(u(t)("relationships.detail.lastInteraction")),1),o("span",La,r(it(b.value.lastInteractionTs)),1)])])]),o("div",Va,[o("section",Ka,[o("div",Aa,[o("div",Ga,[o("h3",Fa,r(u(t)("relationships.connections.title")),1),o("span",$a,r(lt()),1)]),o("span",za,r(u(t)("relationships.connections.connectionScore")),1)]),le.value.items.length>0?(m(),k("div",Oa,[(m(!0),k(Ie,null,Pe(le.value.items,l=>(m(),k("button",{key:l.node.key,type:"button",class:"group flex h-9 w-full items-center gap-2 rounded-lg px-2 py-0 text-left transition-all duration-250 hover:bg-white dark:hover:bg-white/5",onClick:Re=>Te(l.node)},[P(Ne,{src:we(l.node),alt:j(l.node),text:xe(l.node),"root-class":"h-6 w-6 shrink-0 overflow-hidden rounded-md shadow-sm border border-gray-250/20 dark:border-white/10","image-class":"h-6 w-6 rounded-md object-cover","fallback-class":"flex h-6 w-6 items-center justify-center rounded-md bg-sky-100 text-[9px] font-bold text-sky-700 dark:bg-sky-500/15 dark:text-sky-200"},null,8,["src","alt","text"]),o("div",ja,[o("span",Ba,r(j(l.node)),1)]),o("span",Ua,[o("span",Ha,r(x(l.connectionScore)),1)])],8,Da))),128))])):(m(),k("p",qa,r(u(t)("relationships.connections.empty")),1))]),be.value.length>0?(m(),k("section",Qa,[o("div",Wa,[o("div",Ya,[o("h2",Za,r(u(t)("relationships.stats.communities")),1),o("span",Ja,r(x(be.value.length)),1)]),o("span",Xa,r(u(t)("relationships.stats.members")),1)]),o("div",eo,[(m(!0),k(Ie,null,Pe(be.value,l=>(m(),k("div",{key:l.id,class:"flex h-9 items-center justify-between gap-2 rounded-lg px-2 py-0 text-[13px] leading-4"},[o("div",to,[o("span",ao,[o("span",{class:"h-2 w-2 rounded-full shadow-sm",style:Lt({backgroundColor:l.color})},null,4)]),o("span",oo,r(l.label),1)]),o("span",no,[o("span",so,r(x(l.size)),1)])]))),128))])])):M("",!0)])])):M("",!0)])):M("",!0)])])}}}),fo=Object.freeze(Object.defineProperty({__proto__:null,default:io},Symbol.toStringTag,{value:"Module"}));export{Ft as a,go as b,fo as i,Qe as m};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RelationshipGalaxyThreeCanvas-DgAlyKjc.js","assets/vendor-reka-ui-8_x7iKfi.js","assets/relationship-galaxy-viewport-Cwfa51ER.js","assets/index-JyB6Cr8r.js","assets/vendor-nuxt-ui-DMdbdSFy.js","assets/vendor-snapdom--nZvo8Sg.js","assets/index-UJl03IYE.css","assets/LoadingState.vue_vue_type_script_setup_true_lang-8s6XRB3S.js","assets/people-page-header-DGkK0AMO.js","assets/RelationshipGalaxyThreeCanvas-BluPHjCR.css","assets/RelationshipGalaxyCanvas-ByDU6ZS_.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{u as xt,m as wt,q as _t,w as Ne,x as Be,C as St}from"./index-JyB6Cr8r.js";import{h as Tt,a as Ct,d as Rt}from"./vendor-nuxt-ui-DMdbdSFy.js";import{d as Nt,w as ee,x as It,F as Pt,Z as k,ag as o,Q as te,u,U as P,aG as Et,T as ue,bV as Mt,a0 as r,ad as Ie,ae as Pe,a1 as M,_ as Ee,r as g,c as p,n as $,P as m,$ as Me,aa as Lt,bW as Ue}from"./vendor-reka-ui-8_x7iKfi.js";import{_ as Vt}from"./LoadingState.vue_vue_type_script_setup_true_lang-8s6XRB3S.js";import{u as Kt}from"./people-page-header-DGkK0AMO.js";const At=10,We=80,Gt=2880*60*60,He=.1;function Ye(a,i,f={}){if(!i)return{items:[],total:0,hasMore:!1};const y=new Map(a.nodes.map(h=>[h.key,h])),t=a.edges.flatMap(h=>{if(h.sourceKey!==i&&h.targetKey!==i)return[];const w=h.sourceKey===i?h.targetKey:h.sourceKey,K=y.get(w);return K?[{node:K,edge:h,connectionScore:0}]:[]}),C=t.reduce((h,w)=>Math.max(h,w.edge.lastInteractionTs??0),0),L=new Map(t.map(h=>[h,Le(h.edge,C)]));for(const h of t)h.connectionScore=$t(L.get(h)??0);t.sort((h,w)=>zt(h,w,C));const V=f.collapsedLimit??At;return{items:f.expanded?t:t.slice(0,V),total:t.length,hasMore:!f.expanded&&t.length>V}}function Ft(a,i,f={}){const y=new Set;if(!i||!a.nodes.some(C=>C.key===i))return y;y.add(i);const t=Ye(a,i,{collapsedLimit:f.limit??We});for(const C of t.items)y.add(C.node.key);return y}function go(a,i,f={}){if(!i||!a.nodes.some(t=>t.key===i))return a;const y=Ft(a,i,f);return{nodes:a.nodes.filter(t=>y.has(t.key)),edges:a.edges.filter(t=>y.has(t.sourceKey)&&y.has(t.targetKey)),communities:a.communities}}function $t(a){return a<=0?0:Math.max(1,Math.round(a))}function zt(a,i,f){const y=Le(i.edge,f),t=Le(a.edge,f);if(y!==t)return y-t;if(i.edge.weight!==a.edge.weight)return i.edge.weight-a.edge.weight;const C=i.edge.lastInteractionTs??0,L=a.edge.lastInteractionTs??0;return C!==L?C-L:a.node.rank!==i.node.rank?a.node.rank-i.node.rank:a.node.key.localeCompare(i.node.key)}function Le(a,i){if(!a.lastInteractionTs||i<=0)return a.weight;const f=Math.max(0,i-a.lastInteractionTs),y=He+(1-He)*Math.pow(.5,f/Gt);return a.weight*y}function qe(a){return a.selectedKey&&a.selectedKey===a.loadingNeighborhoodKey?a.currentCanvasSelectedKey:a.selectedKey}function Ot(a){return a.selectedKey?a.isNeighborhoodMode?a.selectedKey!==a.neighborhoodContactKey:!0:!1}function Dt(a){return a.neighborhoodTask?.status==="running"?a.neighborhoodTask:a.graphTask?.status==="running"?a.graphTask:a.isNeighborhoodMode&&a.neighborhoodTask?a.neighborhoodTask:a.graphTask??a.neighborhoodTask??null}function jt(a){return a.nextTaskStatus==="running"?{type:"continue-polling"}:a.previousTaskStatus==="running"&&a.nextTaskStatus==="succeeded"&&a.neighborhoodContactKey?{type:"refresh-neighborhood",key:a.neighborhoodContactKey}:{type:"stop-polling"}}function Bt(a){return a.loadError?a.loadError:a.isTaskFailed&&a.statusText?a.statusText:a.emptyText}const Ut=new RegExp("\\p{Script=Han}","u");function Qe(a){const i=a?.trim()??"";if(!i)return"*";const f=Array.from(i),y=[...f].reverse().find(t=>Ut.test(t));return y?`**${y}`:f.length===1?"*":f.length===2?`${f[0]}***`:`${f[0]}***${f.at(-1)}`}function Ht(){return"*"}const qt={class:"flex min-h-0 flex-1 overflow-hidden text-gray-900 dark:bg-page-dark dark:text-gray-100"},Qt={class:"relative min-h-0 min-w-0 flex-1 overflow-hidden bg-[#0b0f19] dark:bg-page-dark"},Wt={class:"absolute left-6 top-4 z-20 flex max-w-[calc(100%-3rem)] flex-wrap items-center gap-2"},Yt={class:"relative w-28 max-w-full sm:w-32 lg:w-36"},Zt={key:0,class:"absolute left-0 top-full z-30 mt-2 max-h-80 w-72 overflow-y-auto rounded-2xl border border-gray-200/80 bg-white/95 p-2 shadow-overlay backdrop-blur-xl scrollbar-thin dark:border-white/10 dark:bg-page-dark/95"},Jt={class:"px-2 pb-1.5 pt-0.5 text-[11px] font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400"},Xt={class:"space-y-1"},ea=["disabled","onClick"],ta={class:"min-w-0 flex-1"},aa={class:"block truncate text-sm font-semibold text-gray-900 transition-colors group-hover:text-sky-600 dark:text-white dark:group-hover:text-sky-400"},oa={class:"block truncate text-[11px] text-gray-500 dark:text-gray-400"},na={key:0,class:"shrink-0 rounded-md bg-sky-100/60 px-1.5 py-0.5 text-[10px] font-semibold text-sky-600 dark:bg-sky-500/15 dark:text-sky-400"},sa={key:2,class:"absolute bottom-6 left-1/2 z-20 flex max-w-[min(560px,calc(100%-2rem))] -translate-x-1/2 items-center gap-2.5 rounded-2xl border border-sky-500/20 bg-[#090d16]/85 px-4 py-2.5 text-center text-xs font-semibold text-sky-200 shadow-overlay backdrop-blur-md animate-fade-in"},ra={key:4,class:"absolute inset-0 flex items-center justify-center text-sm font-medium text-gray-400"},la={key:5,class:"dark absolute inset-x-3 bottom-3 z-20 flex max-h-[70vh] flex-col overflow-hidden rounded-2xl border border-white/5 bg-page-dark/10 text-white shadow-overlay backdrop-blur-md md:inset-x-auto md:bottom-4 md:right-4 md:top-4 md:max-h-none md:w-[360px]"},ia={key:0,class:"flex min-h-0 flex-1 flex-col gap-3 px-4 pb-4 pt-5"},ca={class:"shrink-0 space-y-2.5"},ua={class:"flex items-center gap-3 pr-8"},da={class:"min-w-0 flex-1"},ha={class:"flex min-w-0 items-center gap-1.5"},va={class:"truncate text-base font-bold text-gray-900 dark:text-white"},pa={class:"truncate text-xs text-gray-500 dark:text-gray-400"},ga={class:"grid grid-cols-3 gap-1 text-xs"},fa={class:"min-w-0 rounded-md border border-gray-100/60 bg-gray-50/35 p-1.5 dark:border-white/5 dark:bg-white/3"},ma={class:"mb-0.5 truncate text-[9px] font-semibold uppercase leading-3 tracking-wide text-gray-400 dark:text-gray-500"},ya={class:"flex min-w-0 items-baseline gap-0.5"},ba={class:"font-mono text-sm font-bold leading-4 text-sky-600 dark:text-sky-400"},ka={class:"min-w-0 rounded-md border border-gray-100/60 bg-gray-50/35 p-1.5 dark:border-white/5 dark:bg-white/3"},xa={class:"mb-0.5 truncate text-[9px] font-semibold uppercase leading-3 tracking-wide text-gray-400 dark:text-gray-500"},wa={class:"min-w-0 rounded-md border border-gray-100/60 bg-gray-50/35 p-1.5 dark:border-white/5 dark:bg-white/3"},_a={class:"mb-0.5 truncate text-[9px] font-semibold uppercase leading-3 tracking-wide text-gray-400 dark:text-gray-500"},Sa={class:"block truncate font-mono text-sm font-bold leading-4 text-gray-900 dark:text-white"},Ta={class:"min-w-0 rounded-md border border-gray-100/60 bg-gray-50/35 p-1.5 dark:border-white/5 dark:bg-white/3"},Ca={class:"mb-0.5 truncate text-[9px] font-semibold uppercase leading-3 tracking-wide text-gray-400 dark:text-gray-500"},Ra={class:"block truncate font-mono text-sm font-bold leading-4 text-gray-900 dark:text-white"},Na={class:"min-w-0 rounded-md border border-gray-100/60 bg-gray-50/35 p-1.5 dark:border-white/5 dark:bg-white/3"},Ia={class:"mb-0.5 truncate text-[9px] font-semibold uppercase leading-3 tracking-wide text-gray-400 dark:text-gray-500"},Pa={class:"block truncate font-mono text-sm font-bold leading-4 text-gray-900 dark:text-white"},Ea={class:"min-w-0 rounded-md border border-gray-100/60 bg-gray-50/35 p-1.5 dark:border-white/5 dark:bg-white/3"},Ma={class:"mb-0.5 truncate text-[9px] font-semibold uppercase leading-3 tracking-wide text-gray-400 dark:text-gray-500"},La={class:"block truncate text-[11px] font-semibold leading-4 text-gray-900 dark:text-white"},Va={class:"flex min-h-0 flex-1 flex-col gap-2"},Ka={class:"flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl border border-gray-100/80 bg-gray-50/25 p-2.5 dark:border-white/5 dark:bg-white/2"},Aa={class:"mb-2 flex shrink-0 items-center justify-between gap-3 pl-1 pr-3"},Ga={class:"flex min-w-0 items-center gap-2"},Fa={class:"truncate text-xs font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400"},$a={class:"shrink-0 font-mono text-[10px] font-bold text-gray-400 dark:text-gray-500"},za={class:"w-14 shrink-0 text-right text-[10px] font-semibold uppercase tracking-wider text-gray-400 dark:text-gray-500"},Oa={key:0,class:"min-h-0 flex-1 space-y-0.5 overflow-y-auto pr-1 scrollbar-thin"},Da=["onClick"],ja={class:"min-w-0 flex-1"},Ba={class:"block truncate text-[13px] font-semibold leading-4 text-gray-900 transition-colors group-hover:text-sky-600 dark:text-white dark:group-hover:text-sky-400"},Ua={class:"flex w-14 shrink-0 justify-end"},Ha={class:"font-mono text-[10px] font-bold text-gray-500 dark:text-gray-400"},qa={key:1,class:"py-4 text-center text-xs text-gray-400 dark:text-gray-500"},Qa={key:0,class:"flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl border border-gray-100/80 bg-gray-50/25 p-2.5 dark:border-white/5 dark:bg-white/2"},Wa={class:"mb-2 flex shrink-0 items-center justify-between gap-3 pl-1 pr-3"},Ya={class:"flex min-w-0 items-center gap-2"},Za={class:"truncate text-xs font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400"},Ja={class:"shrink-0 font-mono text-[10px] font-bold text-gray-400 dark:text-gray-500"},Xa={class:"w-14 shrink-0 text-right text-[10px] font-semibold uppercase tracking-wider text-gray-400 dark:text-gray-500"},eo={class:"min-h-0 flex-1 space-y-0.5 overflow-y-auto pr-1 scrollbar-thin"},to={class:"flex min-w-0 items-center gap-2"},ao={class:"flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-white/45 shadow-sm dark:bg-white/5"},oo={class:"truncate font-semibold leading-4 text-gray-700 dark:text-gray-200"},no={class:"flex w-14 shrink-0 justify-end"},so={class:"font-mono text-[10px] font-bold text-gray-500 dark:text-gray-400"},ro=1400,lo=392,io=Nt({__name:"index",setup(a){const i={nodes:[],edges:[],communities:[]},f=Ue(()=>Be(()=>import("./RelationshipGalaxyThreeCanvas-DgAlyKjc.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]))),y=Ue(()=>Be(()=>import("./RelationshipGalaxyCanvas-ByDU6ZS_.js").then(e=>e.as),__vite__mapDeps([10,3,1,4,5,6,2]))),{t,locale:C}=xt(),L=wt(),V=_t(),G=g("1y"),h=g("panorama"),w=g(""),K=g(""),z=g(!1),ae=g(""),v=g(null),A=g(!1),O=g(null),R=g(null),de=g(!1),he=g(!1),H=g(!1),Ve=g(!1),F=g(null),_=g(null),E=g(!1),oe=g("3d"),q=g(""),Q=g(0),D=g(0),S=g(null),ne=g(null);let se=null,ve=null,W=null,Y=null,re=null,pe=!1;const Ze=p(()=>new Intl.NumberFormat(C.value)),Je=p(()=>St.map(e=>({label:t(`relationships.timeRange.${e}`),value:e}))),Xe=p(()=>[{label:t("relationships.graphScope.panorama"),value:"panorama"},{label:t("relationships.graphScope.close"),value:"close"},{label:t("relationships.graphScope.friends"),value:"friends"}]),N=p(()=>R.value?.graph??O.value?.graph??i),ge=p(()=>!!R.value),fe=p(()=>N.value.nodes.length>0),Z=p(()=>Dt({graphTask:O.value?.task??null,neighborhoodTask:R.value?.task??null,isNeighborhoodMode:ge.value})),J=p(()=>Z.value?.status==="running"),Ke=p(()=>Z.value?.status==="failed"),et=p(()=>O.value?.cache.status??R.value?.cache.status),Ae=p(()=>O.value?.searchResults??[]),Ge=p(()=>w.value.trim().length>0),tt=p(()=>Ge.value&&w.value.trim()===ae.value&&z.value&&Ae.value.length>0),at=p(()=>(de.value||J.value)&&!fe.value),ot=p(()=>J.value&&fe.value),b=p(()=>v.value?N.value.nodes.find(e=>e.key===v.value)??R.value?.contact??null:null),Fe=p(()=>A.value&&!!b.value),me=p(()=>Fe.value&&Ve.value?lo:0),nt=p(()=>Ot({selectedKey:v.value,isNeighborhoodMode:ge.value,neighborhoodContactKey:R.value?.contact?.key??null})),le=p(()=>Ye(N.value,v.value,{collapsedLimit:We})),ye=p(()=>({nodes:N.value.nodes.length,edges:N.value.edges.length,communities:N.value.communities.length})),be=p(()=>[...N.value.communities].sort((e,n)=>n.size-e.size).slice(0,8)),ke=p(()=>et.value==="stale"&&J.value?t("relationships.task.updating"):J.value?ut(Z.value):Ke.value?Z.value?.lastError||t("relationships.task.failed"):""),st=p(()=>Bt({loadError:q.value,isTaskFailed:Ke.value,statusText:ke.value,emptyText:t("relationships.empty")}));function x(e){return Ze.value.format(e)}function rt(e){return Math.round(e*100).toString()}function lt(){const e=le.value.items.length,n=le.value.total;return n<=e?x(n):`${x(e)} / ${x(n)}`}function it(e){return e?new Date(e*1e3).toLocaleDateString():t("relationships.detail.emptyValue")}function xe(e){return e.kind==="owner"?t("relationships.owner.avatarText"):E.value?Ht():(e.displayName||e.platformId||"?").slice(0,1)}function we(e){return e.kind==="owner"?e.avatar:E.value?null:e.avatar}function j(e){if(e.kind==="owner")return t("relationships.owner.me");const n=e.displayName||e.platformId||e.key;return E.value?Qe(n):n}function ct(e){const n=e.platformId||e.key;return E.value?Qe(n):n}function $e(e){return e.kind==="owner"?t("relationships.owner.type"):e.friendSource==="manual"?t("relationships.pool.manualFriend"):e.pool==="friend"?t("relationships.pool.friend"):t("relationships.pool.nonFriend")}function ut(e){return t("relationships.task.running",{current:x(e?.processedSessions??0),total:x(e?.totalSessions??0)})}function ze(e){const n=Oe(e,h.value);se&&se!==n&&ie();const d=O.value;O.value=d&&se===n?{...e,graph:d.graph}:e,se=n}function dt(e){const n=Oe(e,`neighborhood:${e.contact?.key??""}`),d=R.value;R.value=d&&ve===n?{...e,graph:d.graph}:e,ve=n}function B(){R.value=null,ve=null}function Oe(e,n){const d=e.graph;let s=2166136261;s=T(s,n),s=T(s,e.algorithmVersion),s=T(s,e.cache.signature??""),s=I(s,e.timeRange.startTs??0),s=T(s,e.timeRange.preset);for(const c of d.nodes)s=T(s,c.key),s=T(s,c.pool),s=T(s,c.friendSource??""),s=I(s,c.rank),s=I(s,Math.round(c.score*1e6)),s=I(s,c.labelVisibility),s=I(s,Math.round(c.x*100)),s=I(s,Math.round(c.y*100)),s=I(s,Math.round(c.size*100));for(const c of d.edges)s=T(s,c.id),s=T(s,c.sourceKey),s=T(s,c.targetKey),s=I(s,Math.round(c.weight*1e6)),s=I(s,c.visibility);for(const c of d.communities)s=T(s,c.id),s=I(s,c.size),s=T(s,c.color);return`${n}:${d.nodes.length}:${d.edges.length}:${d.communities.length}:${s>>>0}`}function T(e,n){for(let d=0;d<n.length;d+=1)e^=n.charCodeAt(d),e=Math.imul(e,16777619);return e}function I(e,n){return T(e,String(n))}function _e(){W&&(clearInterval(W),W=null)}function U(){D.value+=1,H.value=!1,F.value=null}function De(){v.value||ne.value||(ne.value=S.value?.captureView()??null)}function ie(){ne.value=null}function ht(){const e=ne.value;ie(),$(()=>{e&&S.value?.restoreView(e)===!0||S.value?.fitView(),$(()=>{pe=!1})})}function Se(e){if(e?.status==="running"){W||(W=setInterval(()=>{X({silent:!0,preserveNeighborhood:!0})},ro));return}_e()}async function X(e={}){const n=Q.value+1;Q.value=n;const d=Z.value?.status??null,s=e.preserveNeighborhood?R.value?.contact?.key??null:null;e.silent||(de.value=!0),e.preserveNeighborhood||(U(),B()),q.value="";try{const c=await L.getPeopleRelationships({acceptStale:!0,timeRangePreset:G.value,graphScope:h.value,query:K.value.trim()||void 0});if(n!==Q.value)return;ze(c),ae.value=K.value.trim(),v.value&&!N.value.nodes.some(Re=>Re.key===v.value)&&(v.value=null,_.value=null,A.value=!1);const l=jt({previousTaskStatus:d,nextTaskStatus:c.task?.status??null,neighborhoodContactKey:s});Se(c.task),l.type==="refresh-neighborhood"&&ce(l.key)}catch(c){if(n!==Q.value)return;q.value=String(c),V.fail(t("relationships.toast.loadFailed"),{description:String(c)}),_e()}finally{n===Q.value&&(de.value=!1)}}async function vt(){he.value=!0,q.value="";try{const e=await L.recomputePeopleRelationships({timeRangePreset:G.value,graphScope:h.value,query:K.value.trim()||void 0});ze(e),ae.value=K.value.trim(),U(),B(),v.value=null,_.value=null,A.value=!1,Se(e.task),V.success(t("relationships.toast.recomputeStarted"))}catch(e){V.fail(t("relationships.toast.recomputeFailed"),{description:String(e)})}finally{he.value=!1}}const pt=p(()=>({title:t("layout.relationships"),description:t("relationships.subtitle"),icon:"i-lucide-git-fork",iconClass:"bg-primary-600 text-white dark:bg-primary-500 dark:text-white shadow-sm",action:{label:t("relationships.actions.recompute"),icon:"i-lucide-refresh-cw",loading:he.value,disabled:J.value,class:"border border-sky-100 hover:border-sky-200 dark:border-sky-950/30 dark:hover:border-sky-900/50",onClick:vt},stats:[{id:"nodes",label:t("relationships.stats.nodes"),value:x(ye.value.nodes)},{id:"edges",label:t("relationships.stats.edges"),value:x(ye.value.edges)},{id:"communities",label:t("relationships.stats.communities"),value:x(ye.value.communities),dividerBefore:!0}]}));Kt(pt);async function ce(e){const n=D.value+1;D.value=n,H.value=!0,F.value=e,q.value="";try{const d=await L.getPeopleRelationshipNeighborhood(e,{acceptStale:!0,timeRangePreset:G.value});if(n!==D.value)return;dt(d),v.value=d.contact?.key??e,_.value=v.value,Se(d.task),await $(),S.value?.fitView()}catch(d){if(n!==D.value)return;V.fail(t("relationships.toast.neighborhoodFailed"),{description:String(d)})}finally{n===D.value&&(H.value=!1,F.value=null)}}async function gt(){v.value&&await ce(v.value)}async function ft(e){if(De(),z.value=!1,e.inCoreGraph||(F.value=e.key),v.value=e.key,A.value=!0,_.value=qe({selectedKey:v.value,loadingNeighborhoodKey:F.value,currentCanvasSelectedKey:_.value}),!e.inCoreGraph){await ce(e.key);return}U(),B(),await $(),S.value?.focusNode(e.key)}async function Te(e){De();const n=R.value?.contact?.key!==e.key;if(n&&(F.value=e.key),v.value=e.key,A.value=!0,_.value=qe({selectedKey:v.value,loadingNeighborhoodKey:F.value,currentCanvasSelectedKey:_.value}),await $(),S.value?.focusNode(e.key),n){await ce(e.key);return}_.value=v.value}function mt(){oe.value==="3d"&&(oe.value="2d",V.warn(t("relationships.toast.threeUnavailable")))}function je(){pe=!0,U(),B(),v.value=null,_.value=null,A.value=!1,ht()}function yt(){je()}function bt(){w.value="",ae.value="",z.value=!1}function kt(){S.value?.fitView()}function Ce(){Ve.value=re?.matches??!1}return ee(G,()=>{ie(),v.value=null,_.value=null,A.value=!1,U(),B(),X()}),ee(h,()=>{ie(),v.value=null,_.value=null,A.value=!1,U(),B(),X()}),ee(w,e=>{Y&&clearTimeout(Y),z.value=e.trim().length>0,Y=setTimeout(()=>{K.value=e,X({silent:!0,preserveNeighborhood:!0})},260)}),ee(oe,async()=>{if(await $(),v.value){S.value?.focusNode(v.value);return}S.value?.fitView()}),ee(me,async()=>{if(await $(),!pe){if(v.value){S.value?.focusNode(v.value);return}S.value?.fitView()}}),It(()=>{typeof window<"u"&&(re=window.matchMedia("(min-width: 768px)"),Ce(),re.addEventListener("change",Ce)),X()}),Pt(()=>{re?.removeEventListener("change",Ce),_e(),Y&&clearTimeout(Y)}),(e,n)=>{const d=Tt,s=Ct,c=Rt;return m(),k("div",qt,[o("main",Qt,[oe.value==="3d"?(m(),te(u(f),{key:0,ref_key:"canvasRef",ref:S,graph:N.value,"selected-key":_.value,"privacy-mode":E.value,"safe-inset-right":me.value,label:u(t)("relationships.canvas.label3d"),"owner-label":u(t)("relationships.owner.me"),onFallback:mt,onSelectNode:Te},null,8,["graph","selected-key","privacy-mode","safe-inset-right","label","owner-label"])):(m(),te(u(y),{key:1,ref_key:"canvasRef",ref:S,graph:N.value,"selected-key":_.value,"privacy-mode":E.value,"safe-inset-right":me.value,label:u(t)("relationships.canvas.label"),"owner-label":u(t)("relationships.owner.me"),onSelectNode:Te},null,8,["graph","selected-key","privacy-mode","safe-inset-right","label","owner-label"])),o("div",Wt,[P(d,{modelValue:G.value,"onUpdate:modelValue":n[0]||(n[0]=l=>G.value=l),items:Je.value,content:!1,size:"xs",class:"min-w-max gap-0"},null,8,["modelValue","items"]),P(d,{modelValue:h.value,"onUpdate:modelValue":n[1]||(n[1]=l=>h.value=l),items:Xe.value,content:!1,size:"xs",class:"min-w-max gap-0"},null,8,["modelValue","items"]),o("div",Yt,[P(c,{modelValue:w.value,"onUpdate:modelValue":n[2]||(n[2]=l=>w.value=l),icon:"i-lucide-search",placeholder:u(t)("relationships.search"),size:"sm",class:"w-full",onFocus:n[3]||(n[3]=l=>z.value=Ge.value),onKeydown:n[4]||(n[4]=Mt(l=>z.value=!1,["esc"]))},Et({_:2},[w.value?{name:"trailing",fn:ue(()=>[P(s,{icon:"i-heroicons-x-mark",variant:"link",color:"neutral",size:"xs","aria-label":u(t)("relationships.actions.clearSearch"),onClick:bt},null,8,["aria-label"])]),key:"0"}:void 0]),1032,["modelValue","placeholder"]),tt.value?(m(),k("div",Zt,[o("div",Jt,r(u(t)("relationships.searchResults.title")),1),o("div",Xt,[(m(!0),k(Ie,null,Pe(Ae.value,l=>(m(),k("button",{key:l.key,type:"button",class:Ee(["group flex w-full items-center gap-2.5 rounded-xl px-2.5 py-2 text-left transition hover:bg-gray-100/70 dark:hover:bg-white/5",v.value===l.key?"bg-sky-50 dark:bg-sky-500/10":""]),disabled:H.value,onClick:Re=>ft(l)},[P(Ne,{src:we(l),alt:j(l),text:xe(l),"root-class":"h-8 w-8 shrink-0 shadow-sm border border-gray-250/20 dark:border-white/10","image-class":"h-8 w-8 rounded-full object-cover","fallback-class":"flex h-8 w-8 items-center justify-center rounded-full bg-sky-100 text-[10px] font-bold text-sky-700 dark:bg-sky-500/15 dark:text-sky-200"},null,8,["src","alt","text"]),o("span",ta,[o("span",aa,r(j(l)),1),o("span",oa,r($e(l))+" · #"+r(l.rank),1)]),l.inCoreGraph?M("",!0):(m(),k("span",na,r(u(t)("relationships.searchResults.offCore")),1))],10,ea))),128))])])):M("",!0)]),P(s,{icon:"i-lucide-scan-line",color:"neutral",variant:"soft",size:"xs","aria-label":u(t)("relationships.actions.fitView"),onClick:kt},null,8,["aria-label"]),P(s,{icon:E.value?"i-lucide-eye-off":"i-lucide-eye",color:"neutral",variant:"soft",size:"xs",onClick:n[5]||(n[5]=l=>E.value=!E.value)},{default:ue(()=>[Me(r(u(t)("relationships.privacy")),1)]),_:1},8,["icon"]),ge.value?(m(),te(s,{key:0,icon:"i-lucide-undo-2",color:"neutral",variant:"soft",size:"xs",onClick:je},{default:ue(()=>[Me(r(u(t)("relationships.actions.backToPanorama")),1)]),_:1})):M("",!0)]),ot.value?(m(),k("div",sa,[n[6]||(n[6]=o("span",{class:"i-lucide-refresh-cw h-3.5 w-3.5 animate-spin text-sky-400"},null,-1)),o("span",null,r(ke.value),1)])):M("",!0),at.value?(m(),te(u(Vt),{key:3,variant:"overlay",text:ke.value||u(t)("relationships.task.updating")},null,8,["text"])):fe.value?M("",!0):(m(),k("div",ra,r(st.value),1)),Fe.value?(m(),k("aside",la,[P(s,{icon:"i-lucide-x",color:"neutral",variant:"ghost",size:"xs",class:"absolute right-2.5 top-2.5 z-10 bg-white/35 backdrop-blur-sm hover:bg-white/55 dark:bg-white/5 dark:hover:bg-white/10","aria-label":u(t)("relationships.actions.closeDetail"),onClick:yt},null,8,["aria-label"]),b.value?(m(),k("div",ia,[o("div",ca,[o("div",ua,[P(Ne,{src:we(b.value),alt:j(b.value),text:xe(b.value),"root-class":"h-11 w-11 shrink-0 overflow-hidden rounded-lg shadow-sm border border-gray-250/20 dark:border-white/10","image-class":"h-11 w-11 rounded-lg object-cover","fallback-class":"flex h-11 w-11 items-center justify-center rounded-lg bg-sky-100 text-sm font-bold text-sky-700 dark:bg-sky-500/15 dark:text-sky-200"},null,8,["src","alt","text"]),o("div",da,[o("div",ha,[o("p",va,r(j(b.value)),1),o("span",{class:Ee(["shrink-0 rounded-full bg-white/45 px-1.5 py-0.5 font-mono text-[10px] font-bold text-gray-600 dark:bg-white/8 dark:text-gray-300",b.value.rank<=3?"text-amber-600 dark:text-amber-300":""])}," #"+r(b.value.rank),3)]),o("p",pa,r(b.value.platform)+" · "+r(ct(b.value)),1)])]),nt.value?(m(),te(s,{key:0,icon:"i-lucide-network",color:"primary",variant:"soft",size:"sm",block:"",class:"rounded-xl font-semibold shadow-sm border border-sky-100 hover:border-sky-200 dark:border-sky-950/30 dark:hover:border-sky-900/50",loading:H.value,onClick:gt},{default:ue(()=>[Me(r(u(t)("relationships.actions.focusConnections")),1)]),_:1},8,["loading"])):M("",!0),o("div",ga,[o("div",fa,[o("p",ma,r(u(t)("relationships.detail.score")),1),o("div",ya,[o("p",ba,r(rt(b.value.score)),1),n[7]||(n[7]=o("span",{class:"text-[9px] leading-3 text-gray-400"},"/100",-1))])]),o("div",ka,[o("p",xa,r(u(t)("relationships.detail.type")),1),o("span",{class:Ee(["inline-flex max-w-full items-center truncate text-[10px] font-semibold leading-4",b.value.pool==="friend"?"text-sky-700 dark:text-sky-300":"text-amber-700 dark:text-amber-300"])},r($e(b.value)),3)]),o("div",wa,[o("p",_a,r(u(t)("relationships.detail.privateMessages")),1),o("span",Sa,r(x(b.value.privateMessageCount)),1)]),o("div",Ta,[o("p",Ca,r(u(t)("relationships.detail.groupMessages")),1),o("span",Ra,r(x(b.value.groupMessageCount)),1)]),o("div",Na,[o("p",Ia,r(u(t)("relationships.detail.commonGroups")),1),o("span",Pa,r(x(b.value.commonGroupCount)),1)]),o("div",Ea,[o("p",Ma,r(u(t)("relationships.detail.lastInteraction")),1),o("span",La,r(it(b.value.lastInteractionTs)),1)])])]),o("div",Va,[o("section",Ka,[o("div",Aa,[o("div",Ga,[o("h3",Fa,r(u(t)("relationships.connections.title")),1),o("span",$a,r(lt()),1)]),o("span",za,r(u(t)("relationships.connections.connectionScore")),1)]),le.value.items.length>0?(m(),k("div",Oa,[(m(!0),k(Ie,null,Pe(le.value.items,l=>(m(),k("button",{key:l.node.key,type:"button",class:"group flex h-9 w-full items-center gap-2 rounded-lg px-2 py-0 text-left transition-all duration-250 hover:bg-white dark:hover:bg-white/5",onClick:Re=>Te(l.node)},[P(Ne,{src:we(l.node),alt:j(l.node),text:xe(l.node),"root-class":"h-6 w-6 shrink-0 overflow-hidden rounded-md shadow-sm border border-gray-250/20 dark:border-white/10","image-class":"h-6 w-6 rounded-md object-cover","fallback-class":"flex h-6 w-6 items-center justify-center rounded-md bg-sky-100 text-[9px] font-bold text-sky-700 dark:bg-sky-500/15 dark:text-sky-200"},null,8,["src","alt","text"]),o("div",ja,[o("span",Ba,r(j(l.node)),1)]),o("span",Ua,[o("span",Ha,r(x(l.connectionScore)),1)])],8,Da))),128))])):(m(),k("p",qa,r(u(t)("relationships.connections.empty")),1))]),be.value.length>0?(m(),k("section",Qa,[o("div",Wa,[o("div",Ya,[o("h2",Za,r(u(t)("relationships.stats.communities")),1),o("span",Ja,r(x(be.value.length)),1)]),o("span",Xa,r(u(t)("relationships.stats.members")),1)]),o("div",eo,[(m(!0),k(Ie,null,Pe(be.value,l=>(m(),k("div",{key:l.id,class:"flex h-9 items-center justify-between gap-2 rounded-lg px-2 py-0 text-[13px] leading-4"},[o("div",to,[o("span",ao,[o("span",{class:"h-2 w-2 rounded-full shadow-sm",style:Lt({backgroundColor:l.color})},null,4)]),o("span",oo,r(l.label),1)]),o("span",no,[o("span",so,r(x(l.size)),1)])]))),128))])])):M("",!0)])])):M("",!0)])):M("",!0)])])}}}),fo=Object.freeze(Object.defineProperty({__proto__:null,default:io},Symbol.toStringTag,{value:"Module"}));export{Ft as a,go as b,fo as i,Qe as m};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as U0,
|
|
1
|
+
import{i as U0,a as Z0}from"./vendor-nuxt-ui-DMdbdSFy.js";import{j as W0,q as V0,V as G0,K as Q0,k as Zu,u as J0}from"./index-JyB6Cr8r.js";import{r as ru,d as b0,x as Y0,P as Tu,Q as X0,u as Wu,T as Vu,U as K0,_ as ue,Z as p0,ad as ee,$ as te,a0 as re,a1 as ne,ag as ce,a4 as ie,Y as oe,c as ae}from"./vendor-reka-ui-8_x7iKfi.js";const se=525,le=.3;function fe(u,e){return{paddingTop:u.paddingTop,paddingRight:u.paddingRight,paddingBottom:u.paddingBottom,paddingLeft:u.paddingLeft,restoreAll:e}}function de(u,e){e.restoreAll&&(u.paddingTop=e.paddingTop,u.paddingRight=e.paddingRight,u.paddingLeft=e.paddingLeft),u.paddingBottom=e.paddingBottom}function he(u){const{currentWidth:e,progressiveNarrowing:t}=u;let r=e;if(t){const c=typeof t=="number"?t:se;e>c&&(r=Math.round(c+(e-c)*le))}const n=Math.max(0,u.frameHorizontalPadding??0);return{contentWidth:r,outerWidth:r+n*2,didChangeContentWidth:r!==e}}function be(){return new Promise(u=>{requestAnimationFrame(()=>u())})}function pe(){window.dispatchEvent(new Event("resize"))}async function Gu(u){const e=u?.waitFrame??be,t=u?.dispatchResize??pe;await e(),u?.resizeCharts&&t(),await e()}const Qu=40,xe=16;function _e(){const u=W0(),e=V0(),t=ru(!1),r=ru(null);let n=null;async function c(l){const b=`chatlab-screenshot-${new Date().toISOString().replace(/[:.]/g,"-").slice(0,19)}.png`;try{const h=await Zu().saveToDownloads(b,l);if(h.success)e.add({title:"截图已保存",description:`已保存到下载目录:${b}`,color:"primary",actions:[{label:"打开目录",onClick:()=>{Zu().openDir("downloads")}}]});else throw new Error(h.error)}catch(h){console.error("保存图片失败:",h),e.fail("保存失败",{description:String(h)})}}function o(l){n=l,e.add({title:"截图已复制到剪贴板",color:"primary",actions:[{label:"预览截图",icon:"i-heroicons-eye",onClick:()=>{n&&u.openScreenCaptureModal(n)}},{label:"保存",icon:"i-heroicons-arrow-down-tray",onClick:()=>{n&&c(n)}}]})}async function i(l,f){const b=document.querySelector(l);return b?a(b,f):(r.value=`未找到元素: ${l}`,!1)}async function a(l,f){if(t.value)return!1;t.value=!0,r.value=null;const b=fe(l.style,f?.captureFrame===!0),h=l.style.boxSizing,d=l.style.position,y=l.style.width,E=l.style.minWidth,g=l.style.maxWidth,p=l.getBoundingClientRect().width,_=he({currentWidth:p,progressiveNarrowing:f?.progressiveNarrowing,frameHorizontalPadding:f?.captureFrame?Qu:0});f?.captureFrame&&(l.style.padding=`${xe}px ${Qu}px`),l.style.paddingBottom="48px",window.getComputedStyle(l).position==="static"&&(l.style.position="relative"),(f?.captureFrame||_.didChangeContentWidth)&&(l.style.boxSizing="border-box",l.style.width=`${_.outerWidth}px`,l.style.minWidth=`${_.outerWidth}px`,l.style.maxWidth=`${_.outerWidth}px`);const m=document.createElement("div");m.className="__capture-watermark__",m.style.cssText=`
|
|
2
2
|
position: absolute;
|
|
3
3
|
left: 0;
|
|
4
4
|
right: 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as Z,d as J}from"./vendor-nuxt-ui-DmkGVKod.js";import{u as V,M as Q,s as W,t as X,k as E,r as H}from"./index-_UKteDZB.js";import{_ as tt}from"./LoadingState.vue_vue_type_script_setup_true_lang-DUAtrSZD.js";import{u as et,w as st}from"./annual-summary-time-range-Bya4h2j6.js";import{_ as at,C as nt,g as it}from"./base-ClGWE9aq.js";import{f as ot}from"./dateFormat-Cfb89ZjM.js";import{_ as B}from"./ThemeCard.vue_vue_type_script_setup_true_lang-DhUfYrEx.js";import{d as P,P as r,Z as l,ad as z,ae as R,ag as t,a0 as s,u as n,_ as rt,c,Q as q,U as p,T as A,aa as G,w as lt,F as ct,a1 as N,$ as U,r as K}from"./vendor-reka-ui-BkhadcDj.js";import"./vendor-echarts-wordcloud-Ca8n6qS6.js";import"./vendor-snapdom--nZvo8Sg.js";import"./vendor-echarts-B-i_56Av.js";import"./vendor-zrender-5DcYjSZk.js";const dt={class:"grid grid-cols-2 gap-x-3 gap-y-4 sm:grid-cols-3 lg:grid-cols-4"},ut={class:"mb-1.5 text-[10px] font-semibold text-gray-500 dark:text-zinc-400"},gt={class:"grid grid-cols-7 gap-0.5","aria-hidden":"true"},mt=["title"],ht=P({__name:"AnnualCalendarGrid",props:{range:{},data:{}},setup(h){const e=h,{t:o}=V(),Y=c(()=>Math.max(...e.data.map(u=>u.messageCount),1)),k=c(()=>new Map(e.data.map(u=>[u.date,u.messageCount]))),b=c(()=>new Date(e.range.startTs*1e3)),i=c(()=>new Date(e.range.endTs*1e3)),$=c(()=>{const u=b.value,D=i.value,f=[],m=e.range.year??u.getFullYear(),M=e.range.mode==="year"?new Date(m,0,1):new Date(u.getFullYear(),u.getMonth(),1),L=e.range.mode==="year"?new Date(m,11,1):new Date(D.getFullYear(),D.getMonth(),1);for(;M<=L;){const _=M.getFullYear(),S=M.getMonth(),C=`${_}-${String(S+1).padStart(2,"0")}`,a=new Date(_,S+1,0).getDate(),g=Array.from({length:a},(j,d)=>{const F=d+1,I=`${C}-${String(F).padStart(2,"0")}`,x=new Date(_,S,F),v=k.value.get(I)??0,T=x>=w(u)&&x<=w(D);return{key:I,day:F,count:v,inRange:T,level:T&&v>0?Math.max(1,Math.ceil(v/Y.value*4)):0}});f.push({key:C,label:e.range.mode==="year"?o("insight.monthLabel",{month:S+1}):C.replace("-","/"),leadingDays:(new Date(_,S,1).getDay()+6)%7,days:g}),M.setMonth(M.getMonth()+1)}return f});function w(u){return new Date(u.getFullYear(),u.getMonth(),u.getDate())}return(u,D)=>(r(),l("div",dt,[(r(!0),l(z,null,R($.value,f=>(r(),l("div",{key:f.key,class:"min-w-0"},[t("div",ut,s(f.label),1),t("div",gt,[(r(!0),l(z,null,R(f.leadingDays,m=>(r(),l("span",{key:`blank-${m}`,class:"aspect-square"}))),128)),(r(!0),l(z,null,R(f.days,m=>(r(),l("span",{key:m.key,class:rt(["aspect-square min-h-[5px] rounded-[2px] bg-gray-100 dark:bg-zinc-800",{"opacity-30":!m.inRange,"bg-pink-200 dark:bg-pink-950":m.level===1,"bg-pink-300 dark:bg-pink-800":m.level===2,"bg-pink-500 dark:bg-pink-600":m.level===3,"bg-pink-700 dark:bg-pink-400":m.level===4}]),title:`${m.key}: ${m.count} ${n(o)("insight.messages")}`},null,10,mt))),128))])]))),128))]))}}),xt=P({__name:"AnnualMessageTrend",props:{range:{},data:{},height:{}},setup(h){const e=h,{t:o}=V(),Y=c(()=>({labels:e.data.map(k=>e.range.mode==="year"?o("insight.monthLabel",{month:Number(k.month.slice(5))}):k.month.replace("-","/")),values:e.data.map(k=>k.messageCount)}));return(k,b)=>(r(),q(n(at),{data:Y.value,height:h.height??260,"border-radius":3},null,8,["data","height"]))}}),vt={class:"grid gap-4 lg:grid-cols-12"},pt={class:"relative z-10 min-w-0 p-5 sm:p-6"},yt={class:"flex flex-col gap-5 xl:flex-row xl:items-start xl:justify-between"},_t={class:"min-w-0"},kt={class:"text-2xl font-bold text-gray-900 dark:text-white sm:text-3xl"},ft={class:"mt-3 space-y-1.5 text-xs font-medium text-gray-500 dark:text-zinc-400"},bt={class:"flex items-center gap-2"},wt={class:"font-mono"},Dt={class:"flex flex-wrap items-center gap-x-2 gap-y-1"},Ct={class:"grid grid-cols-2 gap-x-6 gap-y-4 sm:grid-cols-4 xl:shrink-0"},$t={class:"font-mono text-xl font-black tabular-nums text-gray-900 dark:text-white"},Mt={class:"mt-1 truncate text-[10px] font-medium text-gray-500 dark:text-zinc-400"},St={class:"mt-7 flex items-center justify-between gap-3"},Tt={class:"text-[11px] font-bold uppercase text-pink-600 dark:text-pink-400"},zt={class:"text-[10px] text-gray-400 dark:text-zinc-500"},Yt={class:"mt-2"},Lt={class:"min-w-0 p-5 sm:p-6"},At={class:"flex items-start justify-between gap-4"},Rt={class:"text-[11px] font-bold uppercase text-pink-600 dark:text-pink-400"},Nt={class:"mt-1 text-[10px] text-gray-400 dark:text-zinc-500"},jt={class:"shrink-0 text-right"},Ft={class:"font-mono text-lg font-black tabular-nums text-gray-900 dark:text-white"},Bt={class:"text-[9px] text-gray-400 dark:text-zinc-500"},It={class:"mt-5"},Vt={class:"min-w-0 p-5 sm:p-6"},Pt={class:"text-[11px] font-bold uppercase text-pink-600 dark:text-pink-400"},Ot={class:"mt-1 text-[10px] text-gray-400 dark:text-zinc-500"},Ut={key:0,class:"mt-5 grid grid-cols-2 gap-x-5 gap-y-4 sm:grid-cols-3"},qt={class:"flex items-end justify-between gap-2"},Et={class:"truncate text-xs font-medium text-gray-600 dark:text-zinc-300"},Gt={class:"font-mono text-xs font-black tabular-nums text-gray-900 dark:text-white"},Kt={class:"mt-2 h-1 overflow-hidden rounded-full bg-gray-100 dark:bg-zinc-800"},Zt={class:"mt-1.5 font-mono text-[9px] text-gray-400 dark:text-zinc-500"},Jt={key:1,class:"flex h-28 items-center justify-center text-xs text-gray-400 dark:text-zinc-600"},Qt={class:"min-w-0 p-5 sm:p-6"},Wt={class:"flex items-start justify-between gap-3"},Xt={class:"text-[11px] font-bold uppercase text-pink-600 dark:text-pink-400"},Ht={class:"mt-1 text-[10px] text-gray-400 dark:text-zinc-500"},te={class:"flex shrink-0 gap-3 text-right"},ee={class:"font-mono text-sm font-black text-gray-900 dark:text-white"},se={class:"text-[9px] text-gray-400 dark:text-zinc-500"},ae={class:"font-mono text-sm font-black text-gray-900 dark:text-white"},ne={key:0,class:"mt-5 flex h-24 items-end gap-2"},ie={class:"flex h-16 w-full items-end rounded-sm bg-gray-100 dark:bg-zinc-800"},oe=["title"],re={class:"w-full truncate text-center font-mono text-[8px] text-gray-400 dark:text-zinc-500"},le={key:1,class:"flex h-24 items-center justify-center text-xs text-gray-400 dark:text-zinc-600"},ce={class:"min-w-0 p-5 sm:p-6"},de={class:"text-[11px] font-bold uppercase text-pink-600 dark:text-pink-400"},ue={class:"mt-4 grid grid-cols-3 divide-x divide-gray-200 dark:divide-white/10"},ge={class:"truncate font-mono text-sm font-black tabular-nums text-gray-900 dark:text-white"},me={class:"mt-1 truncate text-[9px] font-medium text-gray-500 dark:text-zinc-400"},he={class:"mt-0.5 truncate text-[8px] text-gray-400 dark:text-zinc-500"},xe=P({__name:"AnnualInsightBoard",props:{range:{},metrics:{},coverage:{},monthlyActivity:{},dailyActivity:{},messageTypes:{},textLength:{}},setup(h){const e=h,{t:o}=V(),Y=c(()=>e.range.mode==="year"?o("insight.overviewCard.yearTitle",{year:e.range.year}):o("insight.overviewCard.recentTitle")),k=c(()=>ot(e.range.startTs,e.range.endTs,"YYYY/MM/DD")),b=c(()=>[{key:"messages",value:e.metrics.sentMessageCount},{key:"activeDays",value:e.metrics.activeDayCount},{key:"contacts",value:e.metrics.directContactCount},{key:"dailyMessages",value:e.metrics.averageMessagesPerDay}]),i=c(()=>e.monthlyActivity.reduce((a,g)=>!a||g.messageCount>a.messageCount?g:a,null)),$=c(()=>e.dailyActivity.reduce((a,g)=>!a||g.messageCount>a.messageCount?g:a,null)),w=c(()=>[...e.messageTypes].sort((a,g)=>g.count-a.count).slice(0,6)),u=c(()=>e.messageTypes.reduce((a,g)=>a+g.count,0)),D=c(()=>e.messageTypes.find(a=>a.type===Q.TEXT)?.count??0),f=c(()=>C(D.value,u.value)),m=c(()=>Math.max(...e.textLength.buckets.map(a=>a.count),1)),M=c(()=>{const a=Math.max(1,Math.round((e.range.endTs-e.range.startTs)/86400)+1);return C(e.metrics.activeDayCount,a)}),L=c(()=>[{key:"dailyContacts",value:_(e.metrics.averageDirectContactsPerDay),detail:o("insight.overviewCard.perDay")},{key:"peakMonth",value:S(i.value?.month),detail:o("insight.overviewCard.messagesCount",{count:_(i.value?.messageCount??0)})},{key:"peakDay",value:$.value?.date.slice(5).replace("-","/")??"-",detail:o("insight.overviewCard.messagesCount",{count:_($.value?.messageCount??0)})}]);function _(a){return Number.isInteger(a)?a.toLocaleString():a.toLocaleString(void 0,{maximumFractionDigits:1})}function S(a){return a?e.range.mode==="year"?o("insight.monthLabel",{month:Number(a.slice(5))}):a.replace("-","/"):"-"}function C(a,g){return g>0?Math.round(a/g*100):0}return(a,g)=>{const j=Z;return r(),l("div",vt,[p(n(B),{class:"relative isolate lg:col-span-8"},{default:A(()=>[p(n(nt)),t("section",pt,[t("div",yt,[t("div",_t,[t("h2",kt,s(Y.value),1),t("div",ft,[t("div",bt,[p(j,{name:"i-heroicons-calendar",class:"h-4 w-4 opacity-70"}),t("span",wt,s(k.value),1)]),t("div",Dt,[p(j,{name:"i-heroicons-circle-stack",class:"h-4 w-4 opacity-70"}),t("span",null,s(n(o)("insight.status.coverage",{analyzed:h.coverage.analyzedSessions,total:h.coverage.totalSessions})),1)])])]),t("div",Ct,[(r(!0),l(z,null,R(b.value,d=>(r(),l("div",{key:d.key,class:"min-w-0"},[t("div",$t,s(_(d.value)),1),t("div",Mt,s(n(o)(`insight.kpis.${d.key}`)),1)]))),128))])]),t("div",St,[t("h3",Tt,s(n(o)("insight.sections.overview")),1),t("span",zt,s(n(o)("insight.sections.overviewDescription")),1)]),t("div",Yt,[p(xt,{range:h.range,data:h.monthlyActivity,height:210},null,8,["range","data"])])])]),_:1}),p(n(B),{class:"lg:col-span-4"},{default:A(()=>[t("section",Lt,[t("div",At,[t("div",null,[t("h3",Rt,s(n(o)("insight.overviewCard.activity")),1),t("p",Nt,s(n(o)("insight.sections.activityDescription")),1)]),t("div",jt,[t("div",Ft,s(h.metrics.activeDayCount),1),t("div",Bt,s(n(o)("insight.overviewCard.activeRate",{rate:M.value})),1)])]),t("div",It,[p(ht,{range:h.range,data:h.dailyActivity},null,8,["range","data"])])])]),_:1}),p(n(B),{class:"lg:col-span-5"},{default:A(()=>[t("section",Vt,[t("h3",Pt,s(n(o)("insight.sections.messageTypes")),1),t("p",Ot,s(n(o)("insight.sections.messageTypesDescription")),1),w.value.length?(r(),l("div",Ut,[(r(!0),l(z,null,R(w.value,d=>(r(),l("div",{key:d.type,class:"min-w-0"},[t("div",qt,[t("span",Et,s(n(it)(d.type,n(o))),1),t("span",Gt,s(C(d.count,u.value))+"% ",1)]),t("div",Kt,[t("div",{class:"h-full rounded-full bg-pink-500",style:G({width:`${C(d.count,u.value)}%`})},null,4)]),t("div",Zt,s(_(d.count)),1)]))),128))])):(r(),l("div",Jt,s(n(o)("insight.noData")),1))])]),_:1}),p(n(B),{class:"lg:col-span-3"},{default:A(()=>[t("section",Qt,[t("div",Wt,[t("div",null,[t("h3",Xt,s(n(o)("insight.sections.textLength")),1),t("p",Ht,s(n(o)("insight.overviewCard.textRatio"))+" "+s(f.value)+"% ",1)]),t("div",te,[t("div",null,[t("div",ee,s(h.textLength.median??"-"),1),t("div",se,s(n(o)("insight.length.median")),1)]),t("div",null,[t("div",ae,s(h.textLength.p90??"-"),1),g[0]||(g[0]=t("div",{class:"text-[9px] text-gray-400 dark:text-zinc-500"},"P90",-1))])])]),h.textLength.textMessageCount?(r(),l("div",ne,[(r(!0),l(z,null,R(h.textLength.buckets,d=>(r(),l("div",{key:d.key,class:"flex min-w-0 flex-1 flex-col items-center gap-2"},[t("div",ie,[t("div",{class:"w-full rounded-sm bg-blue-500/80 dark:bg-blue-400/80",style:G({height:`${Math.max(4,d.count/m.value*100)}%`}),title:`${d.key}: ${d.count}`},null,12,oe)]),t("span",re,s(d.key),1)]))),128))])):(r(),l("div",le,s(n(o)("insight.noTextData")),1))])]),_:1}),p(n(B),{class:"lg:col-span-4"},{default:A(()=>[t("section",ce,[t("h3",de,s(n(o)("insight.overviewCard.keyMetrics")),1),t("div",ue,[(r(!0),l(z,null,R(L.value,d=>(r(),l("div",{key:d.key,class:"min-w-0 px-3 first:pl-0 last:pr-0"},[t("div",ge,s(d.value),1),t("div",me,s(n(o)(`insight.overviewCard.${d.key}`)),1),t("div",he,s(d.detail),1)]))),128))])])]),_:1})])}}}),ve={class:"min-h-0 flex-1 overflow-y-auto"},pe={class:"mx-auto w-full max-w-[1120px] space-y-6 px-4 py-5 sm:px-6 sm:py-6"},ye={class:"min-w-0"},_e={key:1,class:"flex items-center gap-2 rounded-xl border border-amber-100 bg-amber-50/50 px-4 py-2.5 text-xs text-amber-800 backdrop-blur-sm dark:border-amber-950/40 dark:bg-amber-950/20 dark:text-amber-300"},ke={key:2,class:"flex flex-wrap items-center justify-between gap-3 rounded-xl border border-red-200 bg-red-50/50 px-4 py-2.5 text-xs text-red-800 backdrop-blur-sm dark:border-red-950/40 dark:bg-red-950/20 dark:text-red-300"},fe={key:0,class:"flex flex-wrap items-center justify-between gap-3 rounded-xl border border-gray-200 bg-white p-4 text-xs text-gray-600 dark:border-zinc-800 dark:bg-zinc-900/50 dark:text-zinc-300"},be={key:0},we={key:1},je=P({__name:"index",setup(h){const{t:e}=V(),o=W(),{showSettings:Y}=X(o),k=new Date().getFullYear(),b=et(),i=K(null),$=K("");let w=null,u=0;const D=c(()=>{const x=b.modelValue.value?.state;return x?x.mode==="recent"?{mode:"recent",days:365,acceptStale:!0}:{mode:"year",year:x.year??k,acceptStale:!0}:null}),f=c(()=>JSON.stringify(D.value)),m=c(()=>(i.value?.coverage.missingOwnerSessions??0)+(i.value?.coverage.unresolvedOwnerSessions??0)),M=c(()=>i.value?.task.status==="running"),L=c(()=>i.value?.metrics!==null&&i.value?.metrics!==void 0),_=c(()=>L.value&&i.value?.metrics?.sentMessageCount===0),S=c(()=>(i.value?.coverage.totalSessions??0)>0&&i.value?.coverage.analyzedSessions===0&&m.value>0),C=c(()=>b.modelValue.value?.state.mode==="year"?b.modelValue.value.state.year:void 0),a=c(()=>{const x=C.value,v=i.value?.latestDataYear;return x===void 0||v===null||v===void 0||x===v?null:{year:x,latestYear:v}});lt(f,()=>{d(),D.value&&(i.value=null,g(!1))},{immediate:!0}),st(Y,()=>{g(!1)}),ct(d);async function g(x){const v=D.value;if(!v)return;const T=++u;$.value="";try{const y=x?await E().recomputeAnnualSummary(v):await E().getAnnualSummary(v);if(T!==u)return;i.value=y,y.metrics&&b.setAvailableYears(y.availableDataYears),y.task.status==="running"&&j()}catch(y){if(T!==u)return;const O=y instanceof Error?y.message:String(y);$.value=O,H(`Global insight annual summary failed: ${O}`,y instanceof Error?y.stack:void 0)}}function j(){d(),w=setTimeout(()=>{g(!1)},900)}function d(){w&&(clearTimeout(w),w=null)}function F(){const x=i.value?.latestDataYear;x&&b.switchToYear(x)}function I(){o.openSettings("data","missing-owner")}return(x,v)=>{const T=Z,y=J;return r(),l("main",ve,[t("div",pe,[m.value>0?(r(),l("button",{key:0,type:"button",class:"inline-flex w-fit max-w-full items-center gap-2 rounded-lg bg-amber-50 px-3 py-2 text-left text-xs text-amber-800 transition-colors hover:bg-amber-100 dark:bg-amber-950/20 dark:text-amber-300 dark:hover:bg-amber-950/30",onClick:I},[p(T,{name:"i-heroicons-user-circle",class:"h-4 w-4 shrink-0"}),t("span",ye,s(n(e)("insight.status.ownerIssues",{count:m.value})),1),p(T,{name:"i-heroicons-arrow-right",class:"h-3.5 w-3.5 shrink-0 opacity-70"})])):N("",!0),i.value?.cache.status==="stale"||M.value&&L.value?(r(),l("div",_e,[p(T,{name:"i-heroicons-arrow-path",class:"h-4 w-4 shrink-0 animate-spin text-amber-600 dark:text-amber-400"}),U(" "+s(n(e)("insight.status.updating")),1)])):N("",!0),$.value||i.value?.task.status==="failed"?(r(),l("div",ke,[t("span",null,s(n(e)("insight.status.failed")),1),p(y,{size:"xs",color:"error",variant:"soft",icon:"i-heroicons-arrow-path",onClick:v[0]||(v[0]=O=>g(!0))},{default:A(()=>[U(s(n(e)("insight.actions.retry")),1)]),_:1})])):N("",!0),!L.value&&!$.value&&i.value?.task.status!=="failed"?(r(),q(tt,{key:3,height:"min(52vh, 420px)",text:i.value?.task.status==="running"?n(e)("insight.status.computingProgress",{processed:i.value.task.processedSessions,total:i.value.task.totalSessions}):n(e)("insight.status.loading")},null,8,["text"])):i.value?.metrics&&i.value.textLength?(r(),l(z,{key:4},[_.value&&!S.value?(r(),l("div",fe,[a.value?(r(),l("span",be,s(n(e)("insight.status.noDataWithLatest",a.value)),1)):(r(),l("span",we,s(n(e)("insight.noData")),1)),a.value?(r(),q(y,{key:2,size:"xs",variant:"soft",color:"neutral",icon:"i-heroicons-arrow-right",onClick:F},{default:A(()=>[U(s(n(e)("insight.actions.switchYear",{year:a.value.latestYear})),1)]),_:1})):N("",!0)])):N("",!0),p(xe,{range:i.value.range,metrics:i.value.metrics,coverage:i.value.coverage,"monthly-activity":i.value.monthlyActivity,"daily-activity":i.value.dailyActivity,"message-types":i.value.messageTypes,"text-length":i.value.textLength},null,8,["range","metrics","coverage","monthly-activity","daily-activity","message-types","text-length"])],64)):N("",!0)])])}}});export{je as default};
|
|
1
|
+
import{_ as Z,a as J}from"./vendor-nuxt-ui-DMdbdSFy.js";import{u as V,M as Q,j as W,v as X,m as E,r as H}from"./index-JyB6Cr8r.js";import{_ as tt}from"./LoadingState.vue_vue_type_script_setup_true_lang-8s6XRB3S.js";import{u as et,w as st}from"./annual-summary-time-range-CvG74N2l.js";import{_ as at,C as nt,g as it}from"./base-DdQRTliS.js";import{f as ot}from"./dateFormat-CX9atL2g.js";import{_ as B}from"./ThemeCard.vue_vue_type_script_setup_true_lang-CpNjFhpm.js";import{d as P,P as r,Z as l,ad as z,ae as R,ag as t,a0 as s,u as n,_ as rt,c,Q as q,U as p,T as A,aa as G,w as lt,F as ct,a1 as j,$ as U,r as K}from"./vendor-reka-ui-8_x7iKfi.js";import"./vendor-echarts-wordcloud-Ca8n6qS6.js";import"./vendor-snapdom--nZvo8Sg.js";import"./vendor-echarts-B-i_56Av.js";import"./vendor-zrender-5DcYjSZk.js";const dt={class:"grid grid-cols-2 gap-x-3 gap-y-4 sm:grid-cols-3 lg:grid-cols-4"},ut={class:"mb-1.5 text-[10px] font-semibold text-gray-500 dark:text-zinc-400"},gt={class:"grid grid-cols-7 gap-0.5","aria-hidden":"true"},mt=["title"],ht=P({__name:"AnnualCalendarGrid",props:{range:{},data:{}},setup(h){const e=h,{t:o}=V(),Y=c(()=>Math.max(...e.data.map(u=>u.messageCount),1)),f=c(()=>new Map(e.data.map(u=>[u.date,u.messageCount]))),b=c(()=>new Date(e.range.startTs*1e3)),i=c(()=>new Date(e.range.endTs*1e3)),$=c(()=>{const u=b.value,D=i.value,k=[],m=e.range.year??u.getFullYear(),M=e.range.mode==="year"?new Date(m,0,1):new Date(u.getFullYear(),u.getMonth(),1),L=e.range.mode==="year"?new Date(m,11,1):new Date(D.getFullYear(),D.getMonth(),1);for(;M<=L;){const _=M.getFullYear(),S=M.getMonth(),C=`${_}-${String(S+1).padStart(2,"0")}`,a=new Date(_,S+1,0).getDate(),g=Array.from({length:a},(N,d)=>{const F=d+1,I=`${C}-${String(F).padStart(2,"0")}`,v=new Date(_,S,F),x=f.value.get(I)??0,T=v>=w(u)&&v<=w(D);return{key:I,day:F,count:x,inRange:T,level:T&&x>0?Math.max(1,Math.ceil(x/Y.value*4)):0}});k.push({key:C,label:e.range.mode==="year"?o("insight.monthLabel",{month:S+1}):C.replace("-","/"),leadingDays:(new Date(_,S,1).getDay()+6)%7,days:g}),M.setMonth(M.getMonth()+1)}return k});function w(u){return new Date(u.getFullYear(),u.getMonth(),u.getDate())}return(u,D)=>(r(),l("div",dt,[(r(!0),l(z,null,R($.value,k=>(r(),l("div",{key:k.key,class:"min-w-0"},[t("div",ut,s(k.label),1),t("div",gt,[(r(!0),l(z,null,R(k.leadingDays,m=>(r(),l("span",{key:`blank-${m}`,class:"aspect-square"}))),128)),(r(!0),l(z,null,R(k.days,m=>(r(),l("span",{key:m.key,class:rt(["aspect-square min-h-[5px] rounded-[2px] bg-gray-100 dark:bg-zinc-800",{"opacity-30":!m.inRange,"bg-pink-200 dark:bg-pink-950":m.level===1,"bg-pink-300 dark:bg-pink-800":m.level===2,"bg-pink-500 dark:bg-pink-600":m.level===3,"bg-pink-700 dark:bg-pink-400":m.level===4}]),title:`${m.key}: ${m.count} ${n(o)("insight.messages")}`},null,10,mt))),128))])]))),128))]))}}),vt=P({__name:"AnnualMessageTrend",props:{range:{},data:{},height:{}},setup(h){const e=h,{t:o}=V(),Y=c(()=>({labels:e.data.map(f=>e.range.mode==="year"?o("insight.monthLabel",{month:Number(f.month.slice(5))}):f.month.replace("-","/")),values:e.data.map(f=>f.messageCount)}));return(f,b)=>(r(),q(n(at),{data:Y.value,height:h.height??260,"border-radius":3},null,8,["data","height"]))}}),xt={class:"grid gap-4 lg:grid-cols-12"},pt={class:"relative z-10 min-w-0 p-5 sm:p-6"},yt={class:"flex flex-col gap-5 xl:flex-row xl:items-start xl:justify-between"},_t={class:"min-w-0"},ft={class:"text-2xl font-bold text-gray-900 dark:text-white sm:text-3xl"},kt={class:"mt-3 space-y-1.5 text-xs font-medium text-gray-500 dark:text-zinc-400"},bt={class:"flex items-center gap-2"},wt={class:"font-mono"},Dt={class:"flex flex-wrap items-center gap-x-2 gap-y-1"},Ct={class:"grid grid-cols-2 gap-x-6 gap-y-4 sm:grid-cols-4 xl:shrink-0"},$t={class:"font-mono text-xl font-black tabular-nums text-gray-900 dark:text-white"},Mt={class:"mt-1 truncate text-[10px] font-medium text-gray-500 dark:text-zinc-400"},St={class:"mt-7 flex items-center justify-between gap-3"},Tt={class:"text-[11px] font-bold uppercase text-pink-600 dark:text-pink-400"},zt={class:"text-[10px] text-gray-400 dark:text-zinc-500"},Yt={class:"mt-2"},Lt={class:"min-w-0 p-5 sm:p-6"},At={class:"flex items-start justify-between gap-4"},Rt={class:"text-[11px] font-bold uppercase text-pink-600 dark:text-pink-400"},jt={class:"mt-1 text-[10px] text-gray-400 dark:text-zinc-500"},Nt={class:"shrink-0 text-right"},Ft={class:"font-mono text-lg font-black tabular-nums text-gray-900 dark:text-white"},Bt={class:"text-[9px] text-gray-400 dark:text-zinc-500"},It={class:"mt-5"},Vt={class:"min-w-0 p-5 sm:p-6"},Pt={class:"text-[11px] font-bold uppercase text-pink-600 dark:text-pink-400"},Ot={class:"mt-1 text-[10px] text-gray-400 dark:text-zinc-500"},Ut={key:0,class:"mt-5 grid grid-cols-2 gap-x-5 gap-y-4 sm:grid-cols-3"},qt={class:"flex items-end justify-between gap-2"},Et={class:"truncate text-xs font-medium text-gray-600 dark:text-zinc-300"},Gt={class:"font-mono text-xs font-black tabular-nums text-gray-900 dark:text-white"},Kt={class:"mt-2 h-1 overflow-hidden rounded-full bg-gray-100 dark:bg-zinc-800"},Zt={class:"mt-1.5 font-mono text-[9px] text-gray-400 dark:text-zinc-500"},Jt={key:1,class:"flex h-28 items-center justify-center text-xs text-gray-400 dark:text-zinc-600"},Qt={class:"min-w-0 p-5 sm:p-6"},Wt={class:"flex items-start justify-between gap-3"},Xt={class:"text-[11px] font-bold uppercase text-pink-600 dark:text-pink-400"},Ht={class:"mt-1 text-[10px] text-gray-400 dark:text-zinc-500"},te={class:"flex shrink-0 gap-3 text-right"},ee={class:"font-mono text-sm font-black text-gray-900 dark:text-white"},se={class:"text-[9px] text-gray-400 dark:text-zinc-500"},ae={class:"font-mono text-sm font-black text-gray-900 dark:text-white"},ne={key:0,class:"mt-5 flex h-24 items-end gap-2"},ie={class:"flex h-16 w-full items-end rounded-sm bg-gray-100 dark:bg-zinc-800"},oe=["title"],re={class:"w-full truncate text-center font-mono text-[8px] text-gray-400 dark:text-zinc-500"},le={key:1,class:"flex h-24 items-center justify-center text-xs text-gray-400 dark:text-zinc-600"},ce={class:"min-w-0 p-5 sm:p-6"},de={class:"text-[11px] font-bold uppercase text-pink-600 dark:text-pink-400"},ue={class:"mt-4 grid grid-cols-3 divide-x divide-gray-200 dark:divide-white/10"},ge={class:"truncate font-mono text-sm font-black tabular-nums text-gray-900 dark:text-white"},me={class:"mt-1 truncate text-[9px] font-medium text-gray-500 dark:text-zinc-400"},he={class:"mt-0.5 truncate text-[8px] text-gray-400 dark:text-zinc-500"},ve=P({__name:"AnnualInsightBoard",props:{range:{},metrics:{},coverage:{},monthlyActivity:{},dailyActivity:{},messageTypes:{},textLength:{}},setup(h){const e=h,{t:o}=V(),Y=c(()=>e.range.mode==="year"?o("insight.overviewCard.yearTitle",{year:e.range.year}):o("insight.overviewCard.recentTitle")),f=c(()=>ot(e.range.startTs,e.range.endTs,"YYYY/MM/DD")),b=c(()=>[{key:"messages",value:e.metrics.sentMessageCount},{key:"activeDays",value:e.metrics.activeDayCount},{key:"contacts",value:e.metrics.directContactCount},{key:"dailyMessages",value:e.metrics.averageMessagesPerDay}]),i=c(()=>e.monthlyActivity.reduce((a,g)=>!a||g.messageCount>a.messageCount?g:a,null)),$=c(()=>e.dailyActivity.reduce((a,g)=>!a||g.messageCount>a.messageCount?g:a,null)),w=c(()=>[...e.messageTypes].sort((a,g)=>g.count-a.count).slice(0,6)),u=c(()=>e.messageTypes.reduce((a,g)=>a+g.count,0)),D=c(()=>e.messageTypes.find(a=>a.type===Q.TEXT)?.count??0),k=c(()=>C(D.value,u.value)),m=c(()=>Math.max(...e.textLength.buckets.map(a=>a.count),1)),M=c(()=>{const a=Math.max(1,Math.round((e.range.endTs-e.range.startTs)/86400)+1);return C(e.metrics.activeDayCount,a)}),L=c(()=>[{key:"dailyContacts",value:_(e.metrics.averageDirectContactsPerDay),detail:o("insight.overviewCard.perDay")},{key:"peakMonth",value:S(i.value?.month),detail:o("insight.overviewCard.messagesCount",{count:_(i.value?.messageCount??0)})},{key:"peakDay",value:$.value?.date.slice(5).replace("-","/")??"-",detail:o("insight.overviewCard.messagesCount",{count:_($.value?.messageCount??0)})}]);function _(a){return Number.isInteger(a)?a.toLocaleString():a.toLocaleString(void 0,{maximumFractionDigits:1})}function S(a){return a?e.range.mode==="year"?o("insight.monthLabel",{month:Number(a.slice(5))}):a.replace("-","/"):"-"}function C(a,g){return g>0?Math.round(a/g*100):0}return(a,g)=>{const N=Z;return r(),l("div",xt,[p(n(B),{class:"relative isolate lg:col-span-8"},{default:A(()=>[p(n(nt)),t("section",pt,[t("div",yt,[t("div",_t,[t("h2",ft,s(Y.value),1),t("div",kt,[t("div",bt,[p(N,{name:"i-heroicons-calendar",class:"h-4 w-4 opacity-70"}),t("span",wt,s(f.value),1)]),t("div",Dt,[p(N,{name:"i-heroicons-circle-stack",class:"h-4 w-4 opacity-70"}),t("span",null,s(n(o)("insight.status.coverage",{analyzed:h.coverage.analyzedSessions,total:h.coverage.totalSessions})),1)])])]),t("div",Ct,[(r(!0),l(z,null,R(b.value,d=>(r(),l("div",{key:d.key,class:"min-w-0"},[t("div",$t,s(_(d.value)),1),t("div",Mt,s(n(o)(`insight.kpis.${d.key}`)),1)]))),128))])]),t("div",St,[t("h3",Tt,s(n(o)("insight.sections.overview")),1),t("span",zt,s(n(o)("insight.sections.overviewDescription")),1)]),t("div",Yt,[p(vt,{range:h.range,data:h.monthlyActivity,height:210},null,8,["range","data"])])])]),_:1}),p(n(B),{class:"lg:col-span-4"},{default:A(()=>[t("section",Lt,[t("div",At,[t("div",null,[t("h3",Rt,s(n(o)("insight.overviewCard.activity")),1),t("p",jt,s(n(o)("insight.sections.activityDescription")),1)]),t("div",Nt,[t("div",Ft,s(h.metrics.activeDayCount),1),t("div",Bt,s(n(o)("insight.overviewCard.activeRate",{rate:M.value})),1)])]),t("div",It,[p(ht,{range:h.range,data:h.dailyActivity},null,8,["range","data"])])])]),_:1}),p(n(B),{class:"lg:col-span-5"},{default:A(()=>[t("section",Vt,[t("h3",Pt,s(n(o)("insight.sections.messageTypes")),1),t("p",Ot,s(n(o)("insight.sections.messageTypesDescription")),1),w.value.length?(r(),l("div",Ut,[(r(!0),l(z,null,R(w.value,d=>(r(),l("div",{key:d.type,class:"min-w-0"},[t("div",qt,[t("span",Et,s(n(it)(d.type,n(o))),1),t("span",Gt,s(C(d.count,u.value))+"% ",1)]),t("div",Kt,[t("div",{class:"h-full rounded-full bg-pink-500",style:G({width:`${C(d.count,u.value)}%`})},null,4)]),t("div",Zt,s(_(d.count)),1)]))),128))])):(r(),l("div",Jt,s(n(o)("insight.noData")),1))])]),_:1}),p(n(B),{class:"lg:col-span-3"},{default:A(()=>[t("section",Qt,[t("div",Wt,[t("div",null,[t("h3",Xt,s(n(o)("insight.sections.textLength")),1),t("p",Ht,s(n(o)("insight.overviewCard.textRatio"))+" "+s(k.value)+"% ",1)]),t("div",te,[t("div",null,[t("div",ee,s(h.textLength.median??"-"),1),t("div",se,s(n(o)("insight.length.median")),1)]),t("div",null,[t("div",ae,s(h.textLength.p90??"-"),1),g[0]||(g[0]=t("div",{class:"text-[9px] text-gray-400 dark:text-zinc-500"},"P90",-1))])])]),h.textLength.textMessageCount?(r(),l("div",ne,[(r(!0),l(z,null,R(h.textLength.buckets,d=>(r(),l("div",{key:d.key,class:"flex min-w-0 flex-1 flex-col items-center gap-2"},[t("div",ie,[t("div",{class:"w-full rounded-sm bg-blue-500/80 dark:bg-blue-400/80",style:G({height:`${Math.max(4,d.count/m.value*100)}%`}),title:`${d.key}: ${d.count}`},null,12,oe)]),t("span",re,s(d.key),1)]))),128))])):(r(),l("div",le,s(n(o)("insight.noTextData")),1))])]),_:1}),p(n(B),{class:"lg:col-span-4"},{default:A(()=>[t("section",ce,[t("h3",de,s(n(o)("insight.overviewCard.keyMetrics")),1),t("div",ue,[(r(!0),l(z,null,R(L.value,d=>(r(),l("div",{key:d.key,class:"min-w-0 px-3 first:pl-0 last:pr-0"},[t("div",ge,s(d.value),1),t("div",me,s(n(o)(`insight.overviewCard.${d.key}`)),1),t("div",he,s(d.detail),1)]))),128))])])]),_:1})])}}}),xe={class:"min-h-0 flex-1 overflow-y-auto"},pe={class:"mx-auto w-full max-w-[1120px] space-y-6 px-4 py-5 sm:px-6 sm:py-6"},ye={class:"min-w-0"},_e={key:1,class:"flex items-center gap-2 rounded-xl border border-amber-100 bg-amber-50/50 px-4 py-2.5 text-xs text-amber-800 backdrop-blur-sm dark:border-amber-950/40 dark:bg-amber-950/20 dark:text-amber-300"},fe={key:2,class:"flex flex-wrap items-center justify-between gap-3 rounded-xl border border-red-200 bg-red-50/50 px-4 py-2.5 text-xs text-red-800 backdrop-blur-sm dark:border-red-950/40 dark:bg-red-950/20 dark:text-red-300"},ke={key:0,class:"flex flex-wrap items-center justify-between gap-3 rounded-xl border border-gray-200 bg-white p-4 text-xs text-gray-600 dark:border-zinc-800 dark:bg-zinc-900/50 dark:text-zinc-300"},be={key:0},we={key:1},Ne=P({__name:"index",setup(h){const{t:e}=V(),o=W(),{showSettings:Y}=X(o),f=new Date().getFullYear(),b=et(),i=K(null),$=K("");let w=null,u=0;const D=c(()=>{const v=b.modelValue.value?.state;return v?v.mode==="recent"?{mode:"recent",days:365,acceptStale:!0}:{mode:"year",year:v.year??f,acceptStale:!0}:null}),k=c(()=>JSON.stringify(D.value)),m=c(()=>(i.value?.coverage.missingOwnerSessions??0)+(i.value?.coverage.unresolvedOwnerSessions??0)),M=c(()=>i.value?.task.status==="running"),L=c(()=>i.value?.metrics!==null&&i.value?.metrics!==void 0),_=c(()=>L.value&&i.value?.metrics?.sentMessageCount===0),S=c(()=>(i.value?.coverage.totalSessions??0)>0&&i.value?.coverage.analyzedSessions===0&&m.value>0),C=c(()=>b.modelValue.value?.state.mode==="year"?b.modelValue.value.state.year:void 0),a=c(()=>{const v=C.value,x=i.value?.latestDataYear;return v===void 0||x===null||x===void 0||v===x?null:{year:v,latestYear:x}});lt(k,()=>{d(),D.value&&(i.value=null,g(!1))},{immediate:!0}),st(Y,()=>{g(!1)}),ct(d);async function g(v){const x=D.value;if(!x)return;const T=++u;$.value="";try{const y=v?await E().recomputeAnnualSummary(x):await E().getAnnualSummary(x);if(T!==u)return;i.value=y,y.metrics&&b.setAvailableYears(y.availableDataYears),y.task.status==="running"&&N()}catch(y){if(T!==u)return;const O=y instanceof Error?y.message:String(y);$.value=O,H(`Global insight annual summary failed: ${O}`,y instanceof Error?y.stack:void 0)}}function N(){d(),w=setTimeout(()=>{g(!1)},900)}function d(){w&&(clearTimeout(w),w=null)}function F(){const v=i.value?.latestDataYear;v&&b.switchToYear(v)}function I(){o.openSettings("data","missing-owner")}return(v,x)=>{const T=Z,y=J;return r(),l("main",xe,[t("div",pe,[m.value>0?(r(),l("button",{key:0,type:"button",class:"inline-flex w-fit max-w-full items-center gap-2 rounded-lg bg-amber-50 px-3 py-2 text-left text-xs text-amber-800 transition-colors hover:bg-amber-100 dark:bg-amber-950/20 dark:text-amber-300 dark:hover:bg-amber-950/30",onClick:I},[p(T,{name:"i-heroicons-user-circle",class:"h-4 w-4 shrink-0"}),t("span",ye,s(n(e)("insight.status.ownerIssues",{count:m.value})),1),p(T,{name:"i-heroicons-arrow-right",class:"h-3.5 w-3.5 shrink-0 opacity-70"})])):j("",!0),i.value?.cache.status==="stale"||M.value&&L.value?(r(),l("div",_e,[p(T,{name:"i-heroicons-arrow-path",class:"h-4 w-4 shrink-0 animate-spin text-amber-600 dark:text-amber-400"}),U(" "+s(n(e)("insight.status.updating")),1)])):j("",!0),$.value||i.value?.task.status==="failed"?(r(),l("div",fe,[t("span",null,s(n(e)("insight.status.failed")),1),p(y,{size:"xs",color:"error",variant:"soft",icon:"i-heroicons-arrow-path",onClick:x[0]||(x[0]=O=>g(!0))},{default:A(()=>[U(s(n(e)("insight.actions.retry")),1)]),_:1})])):j("",!0),!L.value&&!$.value&&i.value?.task.status!=="failed"?(r(),q(tt,{key:3,height:"min(52vh, 420px)",text:i.value?.task.status==="running"?n(e)("insight.status.computingProgress",{processed:i.value.task.processedSessions,total:i.value.task.totalSessions}):n(e)("insight.status.loading")},null,8,["text"])):i.value?.metrics&&i.value.textLength?(r(),l(z,{key:4},[_.value&&!S.value?(r(),l("div",ke,[a.value?(r(),l("span",be,s(n(e)("insight.status.noDataWithLatest",a.value)),1)):(r(),l("span",we,s(n(e)("insight.noData")),1)),a.value?(r(),q(y,{key:2,size:"xs",variant:"soft",color:"neutral",icon:"i-heroicons-arrow-right",onClick:F},{default:A(()=>[U(s(n(e)("insight.actions.switchYear",{year:a.value.latestYear})),1)]),_:1})):j("",!0)])):j("",!0),p(ve,{range:i.value.range,metrics:i.value.metrics,coverage:i.value.coverage,"monthly-activity":i.value.monthlyActivity,"daily-activity":i.value.dailyActivity,"message-types":i.value.messageTypes,"text-length":i.value.textLength},null,8,["range","metrics","coverage","monthly-activity","daily-activity","message-types","text-length"])],64)):j("",!0)])])}}});export{Ne as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as v,Z as _,U as t,T as i,u as e,P as l,aG as b,Q as c,A as y,bS as k,R as x,c as u}from"./vendor-reka-ui-
|
|
1
|
+
import{d as v,Z as _,U as t,T as i,u as e,P as l,aG as b,Q as c,A as y,bS as k,R as x,c as u}from"./vendor-reka-ui-8_x7iKfi.js";import{R as w,f as R}from"./vendor-nuxt-ui-DMdbdSFy.js";import{u as S,n as V,o as C}from"./index-JyB6Cr8r.js";import{P as I}from"./PageHeader-D5QQI9io.js";import{_ as B}from"./TimeSelect.vue_vue_type_script_setup_true_lang-DtCKfbaz.js";import{p as P}from"./annual-summary-time-range-CvG74N2l.js";import"./vendor-snapdom--nZvo8Sg.js";import"./dateFormat-CX9atL2g.js";const T={class:"flex h-full flex-col text-gray-900 dark:bg-page-dark dark:text-gray-100",style:{"padding-top":"var(--titlebar-area-height)"}},A=v({__name:"index",setup(U){const{t:a}=S(),r=R(),d=P(),{modelValue:n,componentKey:p,initialState:g,rangeSource:h}=d,s=u(()=>r.name==="insight-time-investment"?"time-investment":r.name==="insight-relationship-changes"?"relationship-changes":"annual-summary"),f=u(()=>[{id:"annual-summary",label:a("insight.tabs.annualSummary"),icon:"i-lucide-calendar-range",to:{name:"insight-annual-summary"}},{id:"time-investment",label:a("insight.tabs.timeInvestment"),icon:"i-lucide-clock-3",to:{name:"insight-time-investment"}},{id:"relationship-changes",label:a("insight.tabs.relationshipChanges"),icon:"i-lucide-git-compare-arrows",to:{name:"insight-relationship-changes"}}]);return($,m)=>(l(),_("div",T,[t(I,{title:e(a)("insight.title"),icon:"i-heroicons-presentation-chart-bar","icon-class":"bg-pink-600 text-white dark:bg-pink-500 dark:text-white",size:"compact"},{default:i(()=>[t(e(V),{class:"mt-3 pb-1.5","model-value":s.value,items:f.value,"aria-label":e(a)("insight.tabs.nav")},b({_:2},[s.value==="annual-summary"?{name:"right",fn:i(()=>[(l(),c(B,{key:e(p),modelValue:e(n),"onUpdate:modelValue":m[0]||(m[0]=o=>y(n)?n.value=o:null),"range-source":e(h),"allowed-modes":["recent","year"],"allowed-recent-days":[365],"initial-state":e(g)},null,8,["modelValue","range-source","initial-state"]))]),key:"0"}:void 0]),1032,["model-value","items","aria-label"])]),_:1},8,["title"]),t(e(w),null,{default:i(({Component:o})=>[t(k,{name:"insight-tab-slide",mode:"out-in"},{default:i(()=>[(l(),c(x(o),{key:s.value}))]),_:2},1024)]),_:1})]))}}),Z=C(A,[["__scopeId","data-v-a94720f4"]]);export{Z as default};
|