chatlab-cli 0.34.1 → 0.34.2

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.
Files changed (124) hide show
  1. package/dist/{chat-command-OWKJJ736.mjs → chat-command-6IOH2QRF.mjs} +9 -9
  2. package/dist/{chunk-ZM5DSHFF.mjs → chunk-2XCNTG4O.mjs} +313 -76
  3. package/dist/chunk-2XCNTG4O.mjs.map +1 -0
  4. package/dist/{chunk-RRC6U56Y.mjs → chunk-4LW6443F.mjs} +1570 -687
  5. package/dist/chunk-4LW6443F.mjs.map +1 -0
  6. package/dist/{chunk-OHFVX2HH.mjs → chunk-4RLZFGO5.mjs} +2 -2
  7. package/dist/{chunk-GHZFNAMF.mjs → chunk-52P5ZRBD.mjs} +2 -2
  8. package/dist/{chunk-XEGEOU2D.mjs → chunk-652KEAX3.mjs} +2 -2
  9. package/dist/{chunk-J7HAIT3T.mjs → chunk-72RWABYJ.mjs} +2 -2
  10. package/dist/{chunk-MPHFZYB7.mjs → chunk-H6D4DZOC.mjs} +4 -4
  11. package/dist/{chunk-3RWYALUP.mjs → chunk-INBJ7SND.mjs} +50 -25
  12. package/dist/chunk-INBJ7SND.mjs.map +1 -0
  13. package/dist/{chunk-VTCZM2JS.mjs → chunk-JX6MFS6F.mjs} +43 -23
  14. package/dist/chunk-JX6MFS6F.mjs.map +1 -0
  15. package/dist/{chunk-RMW3524R.mjs → chunk-MENKFEPC.mjs} +149 -44
  16. package/dist/chunk-MENKFEPC.mjs.map +1 -0
  17. package/dist/{chunk-YRCFDZ5Q.mjs → chunk-U6MVJSXX.mjs} +170 -66
  18. package/dist/chunk-U6MVJSXX.mjs.map +1 -0
  19. package/dist/chunk-UMBEHBIZ.mjs +41 -0
  20. package/dist/chunk-UMBEHBIZ.mjs.map +1 -0
  21. package/dist/{chunk-GFHSSCCR.mjs → chunk-VSOWNKPA.mjs} +1 -11
  22. package/dist/cli.mjs +10 -9
  23. package/dist/contacts-worker.mjs +3 -3
  24. package/dist/global-insight-worker.mjs +2 -2
  25. package/dist/{http-X55S6MTO.mjs → http-HSK46XEU.mjs} +13 -12
  26. package/dist/{import-4AX6IX57.mjs → import-DF2WD2HE.mjs} +10 -8
  27. package/dist/index.mjs +13 -12
  28. package/dist/{mcp-GWC52AWE.mjs → mcp-A2RND7KN.mjs} +12 -12
  29. package/dist/people-relationships-worker.mjs +3 -3
  30. package/dist/semantic-index-worker.mjs +1 -1
  31. package/dist/{service-KGL3RAIA.mjs → service-KZTHBDQ5.mjs} +2 -2
  32. package/dist/{src-DLLM4SEO.mjs → src-SHFHW2QB.mjs} +27 -7
  33. package/dist/{stream-import-K24HWAAZ.mjs → stream-import-GZ2QDE3Z.mjs} +10 -8
  34. package/dist/{undici-ZSXBT7EA.mjs → undici-MU5I3L6Q.mjs} +2 -2
  35. package/dist/{update-checker-LGMTEKMT.mjs → update-checker-3N7HQEP2.mjs} +2 -2
  36. package/dist/{worker-runtime-6KKR55TD.mjs → worker-runtime-OWN56GG5.mjs} +14 -8
  37. package/dist/worker-runtime-OWN56GG5.mjs.map +1 -0
  38. package/dist-cli-web/assets/{ActionToolsPanel.vue_vue_type_script_setup_true_lang-D1BiZuQL.js → ActionToolsPanel.vue_vue_type_script_setup_true_lang-B06LYYS9.js} +14 -14
  39. package/dist-cli-web/assets/{BufferResource-IPkSmPao.js → BufferResource-BdKXeRZS.js} +1 -1
  40. package/dist-cli-web/assets/{CanvasRenderer-OAQy65em.js → CanvasRenderer-DDRdIyZ8.js} +1 -1
  41. package/dist-cli-web/assets/{DataDirCleanupNotice-jEI-YjFp.js → DataDirCleanupNotice-CP8P1lsL.js} +1 -1
  42. package/dist-cli-web/assets/{EChartWordcloud-Pi48JdN2.js → EChartWordcloud-CqknPGui.js} +1 -1
  43. package/dist-cli-web/assets/{Filter-FQD30cRE.js → Filter-B2eEAPxI.js} +1 -1
  44. package/dist-cli-web/assets/{LoadingState.vue_vue_type_script_setup_true_lang-CCK5yTju.js → LoadingState.vue_vue_type_script_setup_true_lang-BFaXTz1c.js} +1 -1
  45. package/dist-cli-web/assets/{MessageExportModal-CZn3LbeY.js → MessageExportModal-CZge6qub.js} +1 -1
  46. package/dist-cli-web/assets/{PageHeader-B9B9K9by.js → PageHeader-CxKbcLDc.js} +1 -1
  47. package/dist-cli-web/assets/{RelationshipGalaxyCanvas-CbTmpnZ6.js → RelationshipGalaxyCanvas-CwQ63TPi.js} +7 -7
  48. package/dist-cli-web/assets/RelationshipGalaxyThreeCanvas-BLqISQe5.js +4108 -0
  49. package/dist-cli-web/assets/{RelationshipGalaxyThreeCanvas-CeYJABxI.css → RelationshipGalaxyThreeCanvas-CMuibfiA.css} +1 -1
  50. package/dist-cli-web/assets/{RenderTargetSystem-DnptJCQ0.js → RenderTargetSystem-eC_VrDAr.js} +1 -1
  51. package/dist-cli-web/assets/{ThemeCard.vue_vue_type_script_setup_true_lang-JXMFY6aD.js → ThemeCard.vue_vue_type_script_setup_true_lang-DVmpDz05.js} +1 -1
  52. package/dist-cli-web/assets/{TimeSelect.vue_vue_type_script_setup_true_lang-QAZFwx5S.js → TimeSelect.vue_vue_type_script_setup_true_lang-CCH1UQGc.js} +1 -1
  53. package/dist-cli-web/assets/{WebGLRenderer-BmjIF5se.js → WebGLRenderer-CRp_HC84.js} +1 -1
  54. package/dist-cli-web/assets/{WebGPURenderer-DkNcKkqj.js → WebGPURenderer-WIUnEhpi.js} +1 -1
  55. package/dist-cli-web/assets/{annual-summary-time-range-DJ0HWI_t.js → annual-summary-time-range-R3pLPEuN.js} +1 -1
  56. package/dist-cli-web/assets/{base-CnuE0ss0.js → base-CLwWn3Rs.js} +1 -1
  57. package/dist-cli-web/assets/{browserAll-C_NnyNBz.js → browserAll-B29Ox2in.js} +1 -1
  58. package/dist-cli-web/assets/cli-web-CVLb5Pkq.js +1 -0
  59. package/dist-cli-web/assets/{dateFormat-p6nibkgt.js → dateFormat-T7kMS5IP.js} +1 -1
  60. package/dist-cli-web/assets/{fetch-C4KJ7tGz.js → fetch-BBgZQob_.js} +1 -1
  61. package/dist-cli-web/assets/{fetch-BfYranz7.js → fetch-BKBlpBl4.js} +1 -1
  62. package/dist-cli-web/assets/{fetch-Ch4IMKin.js → fetch-BLi6Jsjg.js} +1 -1
  63. package/dist-cli-web/assets/{fetch-WElo3Vix.js → fetch-CYaGyohV.js} +1 -1
  64. package/dist-cli-web/assets/{fetch-CMhV3TYQ.js → fetch-Cm2WR2Cv.js} +1 -1
  65. package/dist-cli-web/assets/{fetch-DajjPQtq.js → fetch-D8hJZa8o.js} +1 -1
  66. package/dist-cli-web/assets/fetch-D9sn99zX.js +4 -0
  67. package/dist-cli-web/assets/{fetch-WIOgRPd9.js → fetch-DsHf-61a.js} +1 -1
  68. package/dist-cli-web/assets/{fetch-Bsm5YQ_7.js → fetch-DvrVGAzR.js} +1 -1
  69. package/dist-cli-web/assets/{fetch-BBUvWvOM.js → fetch-L6PKD8-N.js} +1 -1
  70. package/dist-cli-web/assets/{index-dObiAHg6.js → index-0qcENyvH.js} +1 -1
  71. package/dist-cli-web/assets/{index-DLnlRLCx.js → index-AkF_KqVI.js} +1 -1
  72. package/dist-cli-web/assets/index-BVOFyB9E.js +137 -0
  73. package/dist-cli-web/assets/{index-CjoTcSEc.js → index-BkdOH41D.js} +1 -1
  74. package/dist-cli-web/assets/index-C4TuoOLM.js +2 -0
  75. package/dist-cli-web/assets/{index-BcWaPFz7.js → index-C6Mk-Xqt.js} +1 -1
  76. package/dist-cli-web/assets/{index-Bb6EtLMB.js → index-CkgUsaeX.js} +1 -1
  77. package/dist-cli-web/assets/{index-CKkIHbie.js → index-CuAy1Xmt.js} +3 -3
  78. package/dist-cli-web/assets/index-CxGtGxLW.css +1 -0
  79. package/dist-cli-web/assets/index-D_0qeKKc.js +53 -0
  80. package/dist-cli-web/assets/{index-CsyURmWU.js → index-DeR0Vukh.js} +1 -1
  81. package/dist-cli-web/assets/{index-CbacXZN3.js → index-Dx-XvfIK.js} +2 -2
  82. package/dist-cli-web/assets/{index-BE4nd1aX.js → index-_DrviTnP.js} +1 -1
  83. package/dist-cli-web/assets/{index-x74lBtei.js → index-xN0sjOLK.js} +1 -1
  84. package/dist-cli-web/assets/{people-page-header-BW5cNPl7.js → people-page-header-CCNJOrmK.js} +1 -1
  85. package/dist-cli-web/assets/telemetry-DPC69b73.js +1 -0
  86. package/dist-cli-web/assets/{webworkerAll-8AFsQkH1.js → webworkerAll-B2qvP2qR.js} +1 -1
  87. package/dist-cli-web/index.html +1 -1
  88. package/package.json +3 -2
  89. package/dist/chunk-3RWYALUP.mjs.map +0 -1
  90. package/dist/chunk-RMW3524R.mjs.map +0 -1
  91. package/dist/chunk-RRC6U56Y.mjs.map +0 -1
  92. package/dist/chunk-VTCZM2JS.mjs.map +0 -1
  93. package/dist/chunk-YRCFDZ5Q.mjs.map +0 -1
  94. package/dist/chunk-ZM5DSHFF.mjs.map +0 -1
  95. package/dist/onnxruntime_binding-6Q6HXASN.node +0 -0
  96. package/dist/onnxruntime_binding-EKZT2NRK.node +0 -0
  97. package/dist/onnxruntime_binding-P6S7V3CI.node +0 -0
  98. package/dist/onnxruntime_binding-PJNNIIUO.node +0 -0
  99. package/dist/onnxruntime_binding-UN6SPTQK.node +0 -0
  100. package/dist/transformers.node-PUMHAODN.mjs +0 -42889
  101. package/dist/transformers.node-PUMHAODN.mjs.map +0 -1
  102. package/dist/worker-runtime-6KKR55TD.mjs.map +0 -1
  103. package/dist-cli-web/assets/RelationshipGalaxyThreeCanvas-Cu6NmKOq.js +0 -4108
  104. package/dist-cli-web/assets/cli-web-t1gabACJ.js +0 -1
  105. package/dist-cli-web/assets/fetch-_Hb-KRSr.js +0 -3
  106. package/dist-cli-web/assets/index-B8I5Pax_.js +0 -2
  107. package/dist-cli-web/assets/index-CsX1Wt8l.js +0 -173
  108. package/dist-cli-web/assets/index-DmrrdYXH.css +0 -1
  109. package/dist-cli-web/assets/index-YzfjPohq.js +0 -53
  110. /package/dist/{chat-command-OWKJJ736.mjs.map → chat-command-6IOH2QRF.mjs.map} +0 -0
  111. /package/dist/{chunk-OHFVX2HH.mjs.map → chunk-4RLZFGO5.mjs.map} +0 -0
  112. /package/dist/{chunk-GHZFNAMF.mjs.map → chunk-52P5ZRBD.mjs.map} +0 -0
  113. /package/dist/{chunk-XEGEOU2D.mjs.map → chunk-652KEAX3.mjs.map} +0 -0
  114. /package/dist/{chunk-J7HAIT3T.mjs.map → chunk-72RWABYJ.mjs.map} +0 -0
  115. /package/dist/{chunk-MPHFZYB7.mjs.map → chunk-H6D4DZOC.mjs.map} +0 -0
  116. /package/dist/{chunk-GFHSSCCR.mjs.map → chunk-VSOWNKPA.mjs.map} +0 -0
  117. /package/dist/{http-X55S6MTO.mjs.map → http-HSK46XEU.mjs.map} +0 -0
  118. /package/dist/{import-4AX6IX57.mjs.map → import-DF2WD2HE.mjs.map} +0 -0
  119. /package/dist/{mcp-GWC52AWE.mjs.map → mcp-A2RND7KN.mjs.map} +0 -0
  120. /package/dist/{service-KGL3RAIA.mjs.map → service-KZTHBDQ5.mjs.map} +0 -0
  121. /package/dist/{src-DLLM4SEO.mjs.map → src-SHFHW2QB.mjs.map} +0 -0
  122. /package/dist/{stream-import-K24HWAAZ.mjs.map → stream-import-GZ2QDE3Z.mjs.map} +0 -0
  123. /package/dist/{undici-ZSXBT7EA.mjs.map → undici-MU5I3L6Q.mjs.map} +0 -0
  124. /package/dist/{update-checker-LGMTEKMT.mjs.map → update-checker-3N7HQEP2.mjs.map} +0 -0
@@ -1 +1 @@
1
- import{d as a,A as n,c as o,f as e,g as c,t as r,G as i,o as m,_}from"./index-YzfjPohq.js";import"./vendor-snapdom--nZvo8Sg.js";const p={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"},h=a({__name:"index",setup(d){const{t}=n();return(x,f)=>{const s=_;return m(),o("main",p,[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,r(i(t)("insight.reserved")),1)])])}}});export{h as default};
1
+ import{d as a,A as n,c as o,f as e,g as c,t as r,G as i,o as m,_}from"./index-D_0qeKKc.js";import"./vendor-snapdom--nZvo8Sg.js";const p={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"},h=a({__name:"index",setup(d){const{t}=n();return(x,f)=>{const s=_;return m(),o("main",p,[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,r(i(t)("insight.reserved")),1)])])}}});export{h as default};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RelationshipGalaxyThreeCanvas-BLqISQe5.js","assets/index-D_0qeKKc.js","assets/vendor-snapdom--nZvo8Sg.js","assets/index-DrjoMv9s.css","assets/relationship-galaxy-viewport-Cwfa51ER.js","assets/LoadingState.vue_vue_type_script_setup_true_lang-BFaXTz1c.js","assets/people-page-header-CCNJOrmK.js","assets/RelationshipGalaxyThreeCanvas-CMuibfiA.css","assets/RelationshipGalaxyCanvas-CwQ63TPi.js"])))=>i.map(i=>d[i]);
2
+ import{d as kt,A as wt,M as _t,a3 as St,w as te,C as Tt,aq as Ct,c as b,f as o,E as ae,G as h,g as P,R as Rt,F as ce,ar as Nt,t as l,Z as Ne,$ as Ie,h as M,as as Pe,n as Ee,b as f,a as g,an as F,at as It,H as Pt,aj as Et,o as m,I as Me,P as Mt,au as Be,av as He,aw as Lt}from"./index-D_0qeKKc.js";import{_ as Vt}from"./LoadingState.vue_vue_type_script_setup_true_lang-BFaXTz1c.js";import{u as At}from"./people-page-header-CCNJOrmK.js";const Kt=10,Qe=80,Gt=2880*60*60,Ue=.1;function We(t,r,u={}){if(!r)return{items:[],total:0,hasMore:!1};const y=new Map(t.nodes.map(c=>[c.key,c])),a=t.edges.flatMap(c=>{if(c.sourceKey!==r&&c.targetKey!==r)return[];const w=c.sourceKey===r?c.targetKey:c.sourceKey,A=y.get(w);return A?[{node:A,edge:c,connectionScore:0}]:[]}),C=a.reduce((c,w)=>Math.max(c,w.edge.lastInteractionTs??0),0),L=new Map(a.map(c=>[c,Le(c.edge,C)]));for(const c of a)c.connectionScore=Ft(L.get(c)??0);a.sort((c,w)=>$t(c,w,C));const V=u.collapsedLimit??Kt;return{items:u.expanded?a:a.slice(0,V),total:a.length,hasMore:!u.expanded&&a.length>V}}function zt(t,r,u={}){const y=new Set;if(!r||!t.nodes.some(C=>C.key===r))return y;y.add(r);const a=We(t,r,{collapsedLimit:u.limit??Qe});for(const C of a.items)y.add(C.node.key);return y}function ko(t,r,u={}){if(!r||!t.nodes.some(a=>a.key===r))return t;const y=zt(t,r,u);return{nodes:t.nodes.filter(a=>y.has(a.key)),edges:t.edges.filter(a=>y.has(a.sourceKey)&&y.has(a.targetKey)),communities:t.communities}}function Ft(t){return t<=0?0:Math.max(1,Math.round(t))}function $t(t,r,u){const y=Le(r.edge,u),a=Le(t.edge,u);if(y!==a)return y-a;if(r.edge.weight!==t.edge.weight)return r.edge.weight-t.edge.weight;const C=r.edge.lastInteractionTs??0,L=t.edge.lastInteractionTs??0;return C!==L?C-L:t.node.rank!==r.node.rank?t.node.rank-r.node.rank:t.node.key.localeCompare(r.node.key)}function Le(t,r){if(!t.lastInteractionTs||r<=0)return t.weight;const u=Math.max(0,r-t.lastInteractionTs),y=Ue+(1-Ue)*Math.pow(.5,u/Gt);return t.weight*y}function qe(t){return t.selectedKey&&t.selectedKey===t.loadingNeighborhoodKey?t.currentCanvasSelectedKey:t.selectedKey}function Dt(t){return t.selectedKey?t.isNeighborhoodMode?t.selectedKey!==t.neighborhoodContactKey:!0:!1}function Ot(t){return t.neighborhoodTask?.status==="running"?t.neighborhoodTask:t.graphTask?.status==="running"?t.graphTask:t.isNeighborhoodMode&&t.neighborhoodTask?t.neighborhoodTask:t.graphTask??t.neighborhoodTask??null}function jt(t){return t.nextTaskStatus==="running"?{type:"continue-polling"}:t.previousTaskStatus==="running"&&t.nextTaskStatus==="succeeded"&&t.neighborhoodContactKey?{type:"refresh-neighborhood",key:t.neighborhoodContactKey}:{type:"stop-polling"}}function Bt(t){return t.loadError?t.loadError:t.isTaskFailed&&t.statusText?t.statusText:t.emptyText}const Ht=new RegExp("\\p{Script=Han}","u");function Ye(t){const r=t?.trim()??"";if(!r)return"*";const u=Array.from(r),y=[...u].reverse().find(a=>Ht.test(a));return y?`**${y}`:u.length===1?"*":u.length===2?`${u[0]}***`:`${u[0]}***${u.at(-1)}`}function Ut(){return"*"}function qt(t,r){if(t.kind==="owner")return r.ownerLabel;const u=t.displayName||t.platformId||t.key;return r.privacyMode?Ye(u):u}function Qt(t,r){return t.kind==="owner"?r.ownerLabel:r.privacyMode?Ut():(t.displayName||t.platformId||"?").slice(0,1)}function Wt(t,r){return t.kind==="owner"?t.avatar:r?null:t.avatar}function Yt(t,r){const u=t.platformId||t.key;return r?Ye(u):u}const Xt="3d";function Zt(t){return t==="3d"?"2d":t}function Jt(t,r,u){return r||u?u:t?.captureView()??null}function ea(t,r){return r&&t?.restoreView(r)===!0?!0:(t?.fitView(),!1)}const ta={class:"flex min-h-0 flex-1 overflow-hidden text-gray-900 dark:bg-page-dark dark:text-gray-100"},aa={class:"relative min-h-0 min-w-0 flex-1 overflow-hidden bg-[#0b0f19] dark:bg-page-dark"},oa={class:"absolute left-6 top-4 z-20 flex max-w-[calc(100%-3rem)] flex-wrap items-center gap-2"},na={class:"relative w-28 max-w-full sm:w-32 lg:w-36"},sa={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"},ra={class:"px-2 pb-1.5 pt-0.5 text-[11px] font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400"},la={class:"space-y-1"},ia=["disabled","onClick"],ua={class:"min-w-0 flex-1"},ca={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"},da={class:"block truncate text-[11px] text-gray-500 dark:text-gray-400"},ha={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"},pa={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"},va={key:4,class:"absolute inset-0 flex items-center justify-center text-sm font-medium text-gray-400"},ga={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]"},fa={key:0,class:"flex min-h-0 flex-1 flex-col gap-3 px-4 pb-4 pt-5"},ma={class:"shrink-0 space-y-2.5"},ya={class:"flex items-center gap-3 pr-8"},xa={class:"min-w-0 flex-1"},ba={class:"flex min-w-0 items-center gap-1.5"},ka={class:"truncate text-base font-bold text-gray-900 dark:text-white"},wa={class:"truncate text-xs text-gray-500 dark:text-gray-400"},_a={class:"grid grid-cols-3 gap-1 text-xs"},Sa={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"},Ta={class:"mb-0.5 truncate text-[9px] font-semibold uppercase leading-3 tracking-wide text-gray-400 dark:text-gray-500"},Ca={class:"flex min-w-0 items-baseline gap-0.5"},Ra={class:"font-mono text-sm font-bold leading-4 text-sky-600 dark:text-sky-400"},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:"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"},Ea={class:"mb-0.5 truncate text-[9px] font-semibold uppercase leading-3 tracking-wide text-gray-400 dark:text-gray-500"},Ma={class:"block truncate font-mono text-sm font-bold leading-4 text-gray-900 dark:text-white"},La={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"},Va={class:"mb-0.5 truncate text-[9px] font-semibold uppercase leading-3 tracking-wide text-gray-400 dark:text-gray-500"},Aa={class:"block truncate font-mono text-sm font-bold leading-4 text-gray-900 dark:text-white"},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"},Ga={class:"mb-0.5 truncate text-[9px] font-semibold uppercase leading-3 tracking-wide text-gray-400 dark:text-gray-500"},za={class:"block truncate font-mono text-sm font-bold leading-4 text-gray-900 dark:text-white"},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"},$a={class:"mb-0.5 truncate text-[9px] font-semibold uppercase leading-3 tracking-wide text-gray-400 dark:text-gray-500"},Da={class:"block truncate text-[11px] font-semibold leading-4 text-gray-900 dark:text-white"},Oa={class:"flex min-h-0 flex-1 flex-col gap-2"},ja={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"},Ba={class:"mb-2 flex shrink-0 items-center justify-between gap-3 pl-1 pr-3"},Ha={class:"flex min-w-0 items-center gap-2"},Ua={class:"truncate text-xs font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400"},qa={class:"shrink-0 font-mono text-[10px] font-bold text-gray-400 dark:text-gray-500"},Qa={class:"w-14 shrink-0 text-right text-[10px] font-semibold uppercase tracking-wider text-gray-400 dark:text-gray-500"},Wa={key:0,class:"min-h-0 flex-1 space-y-0.5 overflow-y-auto pr-1 scrollbar-thin"},Ya=["onClick"],Xa={class:"min-w-0 flex-1"},Za={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"},Ja={class:"flex w-14 shrink-0 justify-end"},eo={class:"font-mono text-[10px] font-bold text-gray-500 dark:text-gray-400"},to={key:1,class:"py-4 text-center text-xs text-gray-400 dark:text-gray-500"},ao={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"},oo={class:"mb-2 flex shrink-0 items-center justify-between gap-3 pl-1 pr-3"},no={class:"flex min-w-0 items-center gap-2"},so={class:"truncate text-xs font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400"},ro={class:"shrink-0 font-mono text-[10px] font-bold text-gray-400 dark:text-gray-500"},lo={class:"w-14 shrink-0 text-right text-[10px] font-semibold uppercase tracking-wider text-gray-400 dark:text-gray-500"},io={class:"min-h-0 flex-1 space-y-0.5 overflow-y-auto pr-1 scrollbar-thin"},uo={class:"flex min-w-0 items-center gap-2"},co={class:"flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-white/45 shadow-sm dark:bg-white/5"},ho={class:"truncate font-semibold leading-4 text-gray-700 dark:text-gray-200"},po={class:"flex w-14 shrink-0 justify-end"},vo={class:"font-mono text-[10px] font-bold text-gray-500 dark:text-gray-400"},go=1400,fo=392,mo=kt({__name:"index",setup(t){const r={nodes:[],edges:[],communities:[]},u=Be(()=>He(()=>import("./RelationshipGalaxyThreeCanvas-BLqISQe5.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]))),y=Be(()=>He(()=>import("./RelationshipGalaxyCanvas-CwQ63TPi.js").then(e=>e.as),__vite__mapDeps([8,1,2,3,4]))),{t:a,locale:C}=wt(),L=_t(),V=St(),G=f("1y"),c=f("panorama"),w=f(""),A=f(""),$=f(!1),oe=f(""),v=f(null),K=f(!1),D=f(null),R=f(null),de=f(!1),he=f(!1),U=f(!1),Ve=f(!1),z=f(null),_=f(null),E=f(!1),q=f(Xt),Q=f(""),W=f(0),O=f(0),T=f(null),ne=f(null);let se=null,pe=null,Y=null,X=null,re=null,ve=!1;const Xe=g(()=>new Intl.NumberFormat(C.value)),Ze=g(()=>Lt.map(e=>({label:a(`relationships.timeRange.${e}`),value:e}))),Je=g(()=>[{label:a("relationships.graphScope.panorama"),value:"panorama"},{label:a("relationships.graphScope.close"),value:"close"},{label:a("relationships.graphScope.friends"),value:"friends"}]),N=g(()=>R.value?.graph??D.value?.graph??r),ge=g(()=>!!R.value),fe=g(()=>N.value.nodes.length>0),Z=g(()=>Ot({graphTask:D.value?.task??null,neighborhoodTask:R.value?.task??null,isNeighborhoodMode:ge.value})),J=g(()=>Z.value?.status==="running"),Ae=g(()=>Z.value?.status==="failed"),et=g(()=>D.value?.cache.status??R.value?.cache.status),Ke=g(()=>D.value?.searchResults??[]),Ge=g(()=>w.value.trim().length>0),tt=g(()=>Ge.value&&w.value.trim()===oe.value&&$.value&&Ke.value.length>0),at=g(()=>(de.value||J.value)&&!fe.value),ot=g(()=>J.value&&fe.value),x=g(()=>v.value?N.value.nodes.find(e=>e.key===v.value)??R.value?.contact??null:null),ze=g(()=>K.value&&!!x.value),me=g(()=>ze.value&&Ve.value?fo:0),nt=g(()=>Dt({selectedKey:v.value,isNeighborhoodMode:ge.value,neighborhoodContactKey:R.value?.contact?.key??null})),le=g(()=>We(N.value,v.value,{collapsedLimit:Qe})),ye=g(()=>({nodes:N.value.nodes.length,edges:N.value.edges.length,communities:N.value.communities.length})),xe=g(()=>[...N.value.communities].sort((e,s)=>s.size-e.size).slice(0,8)),be=g(()=>et.value==="stale"&&J.value?a("relationships.task.updating"):J.value?ct(Z.value):Ae.value?Z.value?.lastError||a("relationships.task.failed"):""),st=g(()=>Bt({loadError:Q.value,isTaskFailed:Ae.value,statusText:be.value,emptyText:a("relationships.empty")}));function k(e){return Xe.value.format(e)}function rt(e){return Math.round(e*100).toString()}function lt(){const e=le.value.items.length,s=le.value.total;return s<=e?k(s):`${k(e)} / ${k(s)}`}function it(e){return e?new Date(e*1e3).toLocaleDateString():a("relationships.detail.emptyValue")}function ke(e){return Qt(e,{privacyMode:E.value,ownerLabel:a("relationships.owner.avatarText")})}function we(e){return Wt(e,E.value)}function j(e){return qt(e,{privacyMode:E.value,ownerLabel:a("relationships.owner.me")})}function ut(e){return Yt(e,E.value)}function Fe(e){return e.kind==="owner"?a("relationships.owner.type"):e.friendSource==="manual"?a("relationships.pool.manualFriend"):e.pool==="friend"?a("relationships.pool.friend"):a("relationships.pool.nonFriend")}function ct(e){return a("relationships.task.running",{current:k(e?.processedSessions??0),total:k(e?.totalSessions??0)})}function $e(e){const s=De(e,c.value);se&&se!==s&&ie();const p=D.value;D.value=p&&se===s?{...e,graph:p.graph}:e,se=s}function dt(e){const s=De(e,`neighborhood:${e.contact?.key??""}`),p=R.value;R.value=p&&pe===s?{...e,graph:p.graph}:e,pe=s}function B(){R.value=null,pe=null}function De(e,s){const p=e.graph;let n=2166136261;n=S(n,s),n=S(n,e.algorithmVersion),n=S(n,e.cache.signature??""),n=I(n,e.timeRange.startTs??0),n=S(n,e.timeRange.preset);for(const d of p.nodes)n=S(n,d.key),n=S(n,d.pool),n=S(n,d.friendSource??""),n=I(n,d.rank),n=I(n,Math.round(d.score*1e6)),n=I(n,d.labelVisibility),n=I(n,Math.round(d.x*100)),n=I(n,Math.round(d.y*100)),n=I(n,Math.round(d.size*100));for(const d of p.edges)n=S(n,d.id),n=S(n,d.sourceKey),n=S(n,d.targetKey),n=I(n,Math.round(d.weight*1e6)),n=I(n,d.visibility);for(const d of p.communities)n=S(n,d.id),n=I(n,d.size),n=S(n,d.color);return`${s}:${p.nodes.length}:${p.edges.length}:${p.communities.length}:${n>>>0}`}function S(e,s){for(let p=0;p<s.length;p+=1)e^=s.charCodeAt(p),e=Math.imul(e,16777619);return e}function I(e,s){return S(e,String(s))}function _e(){Y&&(clearInterval(Y),Y=null)}function H(){O.value+=1,U.value=!1,z.value=null}function Oe(){ne.value=Jt(T.value,v.value,ne.value)}function ie(){ne.value=null}function ht(){const e=ne.value;ie(),F(()=>{ea(T.value,e),F(()=>{ve=!1})})}function Se(e){if(e?.status==="running"){Y||(Y=setInterval(()=>{ee({silent:!0,preserveNeighborhood:!0})},go));return}_e()}async function ee(e={}){const s=W.value+1;W.value=s;const p=Z.value?.status??null,n=e.preserveNeighborhood?R.value?.contact?.key??null:null;e.silent||(de.value=!0),e.preserveNeighborhood||(H(),B()),Q.value="";try{const d=await L.getPeopleRelationships({acceptStale:!0,timeRangePreset:G.value,graphScope:c.value,query:A.value.trim()||void 0});if(s!==W.value)return;$e(d),oe.value=A.value.trim(),v.value&&!N.value.nodes.some(Re=>Re.key===v.value)&&(v.value=null,_.value=null,K.value=!1);const i=jt({previousTaskStatus:p,nextTaskStatus:d.task?.status??null,neighborhoodContactKey:n});Se(d.task),i.type==="refresh-neighborhood"&&ue(i.key)}catch(d){if(s!==W.value)return;Q.value=String(d),V.fail(a("relationships.toast.loadFailed"),{description:String(d)}),_e()}finally{s===W.value&&(de.value=!1)}}async function pt(){he.value=!0,Q.value="";try{const e=await L.recomputePeopleRelationships({timeRangePreset:G.value,graphScope:c.value,query:A.value.trim()||void 0});$e(e),oe.value=A.value.trim(),H(),B(),v.value=null,_.value=null,K.value=!1,Se(e.task),V.success(a("relationships.toast.recomputeStarted"))}catch(e){V.fail(a("relationships.toast.recomputeFailed"),{description:String(e)})}finally{he.value=!1}}const vt=g(()=>({title:a("layout.relationships"),description:a("relationships.subtitle"),icon:"i-lucide-git-fork",iconClass:"bg-primary-600 text-white dark:bg-primary-500 dark:text-white shadow-sm",action:{label:a("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:pt},stats:[{id:"nodes",label:a("relationships.stats.nodes"),value:k(ye.value.nodes)},{id:"edges",label:a("relationships.stats.edges"),value:k(ye.value.edges)},{id:"communities",label:a("relationships.stats.communities"),value:k(ye.value.communities),dividerBefore:!0}]}));At(vt);async function ue(e){const s=O.value+1;O.value=s,U.value=!0,z.value=e,Q.value="";try{const p=await L.getPeopleRelationshipNeighborhood(e,{acceptStale:!0,timeRangePreset:G.value,graphScope:c.value});if(s!==O.value)return;dt(p),v.value=p.contact?.key??e,_.value=v.value,Se(p.task),await F(),T.value?.fitView()}catch(p){if(s!==O.value)return;V.fail(a("relationships.toast.neighborhoodFailed"),{description:String(p)})}finally{s===O.value&&(U.value=!1,z.value=null)}}async function gt(){v.value&&await ue(v.value)}async function ft(e){if(Oe(),$.value=!1,e.inCoreGraph||(z.value=e.key),v.value=e.key,K.value=!0,_.value=qe({selectedKey:v.value,loadingNeighborhoodKey:z.value,currentCanvasSelectedKey:_.value}),!e.inCoreGraph){await ue(e.key);return}H(),B(),await F(),T.value?.focusNode(e.key)}async function Te(e){Oe();const s=R.value?.contact?.key!==e.key;if(s&&(z.value=e.key),v.value=e.key,K.value=!0,_.value=qe({selectedKey:v.value,loadingNeighborhoodKey:z.value,currentCanvasSelectedKey:_.value}),await F(),T.value?.focusNode(e.key),s){await ue(e.key);return}_.value=v.value}function mt(){const e=Zt(q.value);e!==q.value&&(q.value=e,V.warn(a("relationships.toast.threeUnavailable")))}function je(){ve=!0,H(),B(),v.value=null,_.value=null,K.value=!1,ht()}function yt(){je()}function xt(){w.value="",oe.value="",$.value=!1}function bt(){T.value?.fitView()}function Ce(){Ve.value=re?.matches??!1}return te(G,()=>{ie(),v.value=null,_.value=null,K.value=!1,H(),B(),ee()}),te(c,()=>{ie(),v.value=null,_.value=null,K.value=!1,H(),B(),ee()}),te(w,e=>{X&&clearTimeout(X),$.value=e.trim().length>0,X=setTimeout(()=>{A.value=e,ee({silent:!0,preserveNeighborhood:!0})},260)}),te(q,async()=>{if(await F(),v.value){T.value?.focusNode(v.value);return}T.value?.fitView()}),te(me,async()=>{if(await F(),!ve){if(v.value){T.value?.focusNode(v.value);return}T.value?.fitView()}}),Tt(()=>{typeof window<"u"&&(re=window.matchMedia("(min-width: 768px)"),Ce(),re.addEventListener("change",Ce)),ee()}),Ct(()=>{re?.removeEventListener("change",Ce),_e(),X&&clearTimeout(X)}),(e,s)=>{const p=It,n=Pt,d=Et;return m(),b("div",ta,[o("main",aa,[q.value==="3d"?(m(),ae(h(u),{key:0,ref_key:"canvasRef",ref:T,graph:N.value,"selected-key":_.value,"privacy-mode":E.value,"safe-inset-right":me.value,"emphasize-edges":c.value==="friends",label:h(a)("relationships.canvas.label3d"),"owner-label":h(a)("relationships.owner.me"),onFallback:mt,onSelectNode:Te},null,8,["graph","selected-key","privacy-mode","safe-inset-right","emphasize-edges","label","owner-label"])):(m(),ae(h(y),{key:1,ref_key:"canvasRef",ref:T,graph:N.value,"selected-key":_.value,"privacy-mode":E.value,"safe-inset-right":me.value,"emphasize-edges":c.value==="friends",label:h(a)("relationships.canvas.label"),"owner-label":h(a)("relationships.owner.me"),onSelectNode:Te},null,8,["graph","selected-key","privacy-mode","safe-inset-right","emphasize-edges","label","owner-label"])),o("div",oa,[P(p,{modelValue:G.value,"onUpdate:modelValue":s[0]||(s[0]=i=>G.value=i),items:Ze.value,content:!1,size:"xs",class:"min-w-max gap-0"},null,8,["modelValue","items"]),P(p,{modelValue:c.value,"onUpdate:modelValue":s[1]||(s[1]=i=>c.value=i),items:Je.value,content:!1,size:"xs",class:"min-w-max gap-0"},null,8,["modelValue","items"]),o("div",na,[P(d,{modelValue:w.value,"onUpdate:modelValue":s[2]||(s[2]=i=>w.value=i),icon:"i-lucide-search",placeholder:h(a)("relationships.search"),size:"sm",class:"w-full",onFocus:s[3]||(s[3]=i=>$.value=Ge.value),onKeydown:s[4]||(s[4]=Nt(i=>$.value=!1,["esc"]))},Rt({_:2},[w.value?{name:"trailing",fn:ce(()=>[P(n,{icon:"i-heroicons-x-mark",variant:"link",color:"neutral",size:"xs","aria-label":h(a)("relationships.actions.clearSearch"),onClick:xt},null,8,["aria-label"])]),key:"0"}:void 0]),1032,["modelValue","placeholder"]),tt.value?(m(),b("div",sa,[o("div",ra,l(h(a)("relationships.searchResults.title")),1),o("div",la,[(m(!0),b(Ne,null,Ie(Ke.value,i=>(m(),b("button",{key:i.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===i.key?"bg-sky-50 dark:bg-sky-500/10":""]),disabled:U.value,onClick:Re=>ft(i)},[P(Pe,{src:we(i),alt:j(i),text:ke(i),"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",ua,[o("span",ca,l(j(i)),1),o("span",da,l(Fe(i))+" · #"+l(i.rank),1)]),i.inCoreGraph?M("",!0):(m(),b("span",ha,l(h(a)("relationships.searchResults.offCore")),1))],10,ia))),128))])])):M("",!0)]),P(n,{icon:"i-lucide-scan-line",color:"neutral",variant:"soft",size:"xs","aria-label":h(a)("relationships.actions.fitView"),onClick:bt},null,8,["aria-label"]),P(n,{icon:E.value?"i-lucide-eye-off":"i-lucide-eye",color:"neutral",variant:"soft",size:"xs",onClick:s[5]||(s[5]=i=>E.value=!E.value)},{default:ce(()=>[Me(l(h(a)("relationships.privacy")),1)]),_:1},8,["icon"]),ge.value?(m(),ae(n,{key:0,icon:"i-lucide-undo-2",color:"neutral",variant:"soft",size:"xs",onClick:je},{default:ce(()=>[Me(l(h(a)("relationships.actions.backToPanorama")),1)]),_:1})):M("",!0)]),ot.value?(m(),b("div",pa,[s[6]||(s[6]=o("span",{class:"i-lucide-refresh-cw h-3.5 w-3.5 animate-spin text-sky-400"},null,-1)),o("span",null,l(be.value),1)])):M("",!0),at.value?(m(),ae(h(Vt),{key:3,variant:"overlay",text:be.value||h(a)("relationships.task.updating")},null,8,["text"])):fe.value?M("",!0):(m(),b("div",va,l(st.value),1)),ze.value?(m(),b("aside",ga,[P(n,{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":h(a)("relationships.actions.closeDetail"),onClick:yt},null,8,["aria-label"]),x.value?(m(),b("div",fa,[o("div",ma,[o("div",ya,[P(Pe,{src:we(x.value),alt:j(x.value),text:ke(x.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",xa,[o("div",ba,[o("p",ka,l(j(x.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",x.value.rank<=3?"text-amber-600 dark:text-amber-300":""])}," #"+l(x.value.rank),3)]),o("p",wa,l(x.value.platform)+" · "+l(ut(x.value)),1)])]),nt.value?(m(),ae(n,{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:U.value,onClick:gt},{default:ce(()=>[Me(l(h(a)("relationships.actions.focusConnections")),1)]),_:1},8,["loading"])):M("",!0),o("div",_a,[o("div",Sa,[o("p",Ta,l(h(a)("relationships.detail.score")),1),o("div",Ca,[o("p",Ra,l(rt(x.value.score)),1),s[7]||(s[7]=o("span",{class:"text-[9px] leading-3 text-gray-400"},"/100",-1))])]),o("div",Na,[o("p",Ia,l(h(a)("relationships.detail.type")),1),o("span",{class:Ee(["inline-flex max-w-full items-center truncate text-[10px] font-semibold leading-4",x.value.pool==="friend"?"text-sky-700 dark:text-sky-300":"text-amber-700 dark:text-amber-300"])},l(Fe(x.value)),3)]),o("div",Pa,[o("p",Ea,l(h(a)("relationships.detail.privateMessages")),1),o("span",Ma,l(k(x.value.privateMessageCount)),1)]),o("div",La,[o("p",Va,l(h(a)("relationships.detail.groupMessages")),1),o("span",Aa,l(k(x.value.groupMessageCount)),1)]),o("div",Ka,[o("p",Ga,l(h(a)("relationships.detail.commonGroups")),1),o("span",za,l(k(x.value.commonGroupCount)),1)]),o("div",Fa,[o("p",$a,l(h(a)("relationships.detail.lastInteraction")),1),o("span",Da,l(it(x.value.lastInteractionTs)),1)])])]),o("div",Oa,[o("section",ja,[o("div",Ba,[o("div",Ha,[o("h3",Ua,l(h(a)("relationships.connections.title")),1),o("span",qa,l(lt()),1)]),o("span",Qa,l(h(a)("relationships.connections.connectionScore")),1)]),le.value.items.length>0?(m(),b("div",Wa,[(m(!0),b(Ne,null,Ie(le.value.items,i=>(m(),b("button",{key:i.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(i.node)},[P(Pe,{src:we(i.node),alt:j(i.node),text:ke(i.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",Xa,[o("span",Za,l(j(i.node)),1)]),o("span",Ja,[o("span",eo,l(k(i.connectionScore)),1)])],8,Ya))),128))])):(m(),b("p",to,l(h(a)("relationships.connections.empty")),1))]),xe.value.length>0?(m(),b("section",ao,[o("div",oo,[o("div",no,[o("h2",so,l(h(a)("relationships.stats.communities")),1),o("span",ro,l(k(xe.value.length)),1)]),o("span",lo,l(h(a)("relationships.stats.members")),1)]),o("div",io,[(m(!0),b(Ne,null,Ie(xe.value,i=>(m(),b("div",{key:i.id,class:"flex h-9 items-center justify-between gap-2 rounded-lg px-2 py-0 text-[13px] leading-4"},[o("div",uo,[o("span",co,[o("span",{class:"h-2 w-2 rounded-full shadow-sm",style:Mt({backgroundColor:i.color})},null,4)]),o("span",ho,l(i.label),1)]),o("span",po,[o("span",vo,l(k(i.size)),1)])]))),128))])])):M("",!0)])])):M("",!0)])):M("",!0)])])}}}),wo=Object.freeze(Object.defineProperty({__proto__:null,default:mo},Symbol.toStringTag,{value:"Module"}));export{zt as a,ko as b,qt as g,wo as i};
@@ -1 +1 @@
1
- import{d as v,A as _,c as b,g as t,F as n,G as e,o as l,Q as y,R as k,E as c,S as x,U as w,V as S,W as V,a as u,X as R,Y as C}from"./index-YzfjPohq.js";import{P as I}from"./PageHeader-B9B9K9by.js";import{_ as B}from"./TimeSelect.vue_vue_type_script_setup_true_lang-QAZFwx5S.js";import{p as A}from"./annual-summary-time-range-DJ0HWI_t.js";import"./vendor-snapdom--nZvo8Sg.js";import"./dateFormat-p6nibkgt.js";const E={class:"flex h-full flex-col text-gray-900 dark:bg-page-dark dark:text-gray-100",style:{"padding-top":"var(--titlebar-area-height)"}},P=v({__name:"index",setup(T){const{t:a}=_(),r=R(),d=A(),{modelValue:i,componentKey:g,initialState:p,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(U,m)=>(l(),b("div",E,[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:n(()=>[t(e(y),{class:"mt-3 pb-1.5","model-value":s.value,items:f.value,"aria-label":e(a)("insight.tabs.nav")},k({_:2},[s.value==="annual-summary"?{name:"right",fn:n(()=>[(l(),c(B,{key:e(g),modelValue:e(i),"onUpdate:modelValue":m[0]||(m[0]=o=>x(i)?i.value=o:null),"range-source":e(h),"allowed-modes":["recent","year"],"allowed-recent-days":[365],"initial-state":e(p)},null,8,["modelValue","range-source","initial-state"]))]),key:"0"}:void 0]),1032,["model-value","items","aria-label"])]),_:1},8,["title"]),t(e(V),null,{default:n(({Component:o})=>[t(w,{name:"insight-tab-slide",mode:"out-in"},{default:n(()=>[(l(),c(S(o),{key:s.value}))]),_:2},1024)]),_:1})]))}}),K=C(P,[["__scopeId","data-v-a94720f4"]]);export{K as default};
1
+ import{d as v,A as _,c as b,g as t,F as n,G as e,o as l,Q as y,R as k,E as c,S as x,U as w,V as S,W as V,a as u,X as R,Y as C}from"./index-D_0qeKKc.js";import{P as I}from"./PageHeader-CxKbcLDc.js";import{_ as B}from"./TimeSelect.vue_vue_type_script_setup_true_lang-CCH1UQGc.js";import{p as A}from"./annual-summary-time-range-R3pLPEuN.js";import"./vendor-snapdom--nZvo8Sg.js";import"./dateFormat-T7kMS5IP.js";const E={class:"flex h-full flex-col text-gray-900 dark:bg-page-dark dark:text-gray-100",style:{"padding-top":"var(--titlebar-area-height)"}},P=v({__name:"index",setup(T){const{t:a}=_(),r=R(),d=A(),{modelValue:i,componentKey:g,initialState:p,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(U,m)=>(l(),b("div",E,[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:n(()=>[t(e(y),{class:"mt-3 pb-1.5","model-value":s.value,items:f.value,"aria-label":e(a)("insight.tabs.nav")},k({_:2},[s.value==="annual-summary"?{name:"right",fn:n(()=>[(l(),c(B,{key:e(g),modelValue:e(i),"onUpdate:modelValue":m[0]||(m[0]=o=>x(i)?i.value=o:null),"range-source":e(h),"allowed-modes":["recent","year"],"allowed-recent-days":[365],"initial-state":e(p)},null,8,["modelValue","range-source","initial-state"]))]),key:"0"}:void 0]),1032,["model-value","items","aria-label"])]),_:1},8,["title"]),t(e(V),null,{default:n(({Component:o})=>[t(w,{name:"insight-tab-slide",mode:"out-in"},{default:n(()=>[(l(),c(S(o),{key:s.value}))]),_:2},1024)]),_:1})]))}}),K=C(P,[["__scopeId","data-v-a94720f4"]]);export{K as default};
@@ -1 +1 @@
1
- import{a7 as F,a8 as W,i as S,a9 as D,b,aa as N,ab as U,w as E,o as d,E as A,F as x,f as u,n as c,G as t,c as m,g as y,ac as K,r as v,I as g,t as l,h as _,ad as L,a as w,ae as z,af as O,p as j,ag as R,ah as M,d as G,A as H,ai as T,aj as X,ak as J,H as Q,al as Y,am as Z,X as ee}from"./index-YzfjPohq.js";import{_ as te}from"./ThemeCard.vue_vue_type_script_setup_true_lang-JXMFY6aD.js";import"./vendor-snapdom--nZvo8Sg.js";const ae={slots:{root:"",wrapper:"",labelWrapper:"flex content-center items-center justify-between gap-1",label:"block font-medium text-default",container:"relative",description:"text-muted",error:"mt-2 text-error",hint:"text-muted",help:"mt-2 text-muted"},variants:{size:{xs:{root:"text-xs"},sm:{root:"text-xs"},md:{root:"text-sm"},lg:{root:"text-sm"},xl:{root:"text-base"}},required:{true:{label:"after:content-['*'] after:ms-0.5 after:text-error"}},orientation:{vertical:{container:"mt-1"},horizontal:{root:"flex justify-between place-items-baseline gap-2"}}},defaultVariants:{size:"md"}},re=["id"],se=["id"],oe=["id"],le=["id"],ne={__name:"FormField",props:{as:{type:null,required:!1},name:{type:String,required:!1},errorPattern:{type:null,required:!1},label:{type:String,required:!1},description:{type:String,required:!1},help:{type:String,required:!1},error:{type:[Boolean,String],required:!1,default:void 0},hint:{type:String,required:!1},size:{type:null,required:!1},required:{type:Boolean,required:!1},eagerValidation:{type:Boolean,required:!1},validateOnInputDelay:{type:Number,required:!1},orientation:{type:null,required:!1,default:"vertical"},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(V){const o=V,n=F(),e=W("formField",o),k=O(),r=w(()=>z({extend:z(ae),...k.ui?.formField||{}})({size:e.size,required:e.required,orientation:e.orientation})),h=S(D,null),s=w(()=>e.error||h?.value?.find(a=>a.name===e.name||e.errorPattern&&a.name?.match(e.errorPattern))?.message),i=b(N()),f=i.value,q=S(U,void 0);return E(i,()=>{q&&e.name&&(q.value[e.name]={id:i.value,pattern:e.errorPattern})},{immediate:!0}),j(R,i),j(M,w(()=>({error:s.value,name:e.name,size:e.size,eagerValidation:e.eagerValidation,validateOnInputDelay:e.validateOnInputDelay,errorPattern:e.errorPattern,hint:e.hint,description:e.description,help:e.help,ariaId:f}))),(a,p)=>(d(),A(t(L),{as:t(e).as,"data-orientation":t(e).orientation,"data-slot":"root",class:c(r.value.root({class:[t(e).ui?.root,t(e).class]}))},{default:x(()=>[u("div",{"data-slot":"wrapper",class:c(r.value.wrapper({class:t(e).ui?.wrapper}))},[t(e).label||n.label?(d(),m("div",{key:0,"data-slot":"labelWrapper",class:c(r.value.labelWrapper({class:t(e).ui?.labelWrapper}))},[y(t(K),{for:i.value,"data-slot":"label",class:c(r.value.label({class:t(e).ui?.label}))},{default:x(()=>[v(a.$slots,"label",{label:t(e).label},()=>[g(l(t(e).label),1)])]),_:3},8,["for","class"]),t(e).hint||n.hint?(d(),m("span",{key:0,id:`${t(f)}-hint`,"data-slot":"hint",class:c(r.value.hint({class:t(e).ui?.hint}))},[v(a.$slots,"hint",{hint:t(e).hint},()=>[g(l(t(e).hint),1)])],10,re)):_("",!0)],2)):_("",!0),t(e).description||n.description?(d(),m("p",{key:1,id:`${t(f)}-description`,"data-slot":"description",class:c(r.value.description({class:t(e).ui?.description}))},[v(a.$slots,"description",{description:t(e).description},()=>[g(l(t(e).description),1)])],10,se)):_("",!0)],2),u("div",{class:c([(t(e).label||!!n.label||t(e).description||!!n.description)&&r.value.container({class:t(e).ui?.container})])},[v(a.$slots,"default",{error:s.value}),t(e).error!==!1&&(typeof s.value=="string"&&s.value||n.error)?(d(),m("div",{key:0,id:`${t(f)}-error`,"data-slot":"error",class:c(r.value.error({class:t(e).ui?.error}))},[v(a.$slots,"error",{error:s.value},()=>[g(l(s.value),1)])],10,oe)):t(e).help||n.help?(d(),m("div",{key:1,id:`${t(f)}-help`,"data-slot":"help",class:c(r.value.help({class:t(e).ui?.help}))},[v(a.$slots,"help",{help:t(e).help},()=>[g(l(t(e).help),1)])],10,le)):_("",!0)],2)]),_:3},8,["as","data-orientation","class"]))}},ie={class:"flex min-h-screen items-center justify-center bg-gray-50 dark:bg-page-dark"},ce={class:"text-center"},ue={class:"mt-2 text-sm text-gray-500 dark:text-gray-400"},de={key:0,class:"text-sm text-red-500"},pe={class:"flex items-center gap-2 text-sm text-gray-600 dark:text-gray-400"},me={class:"text-center text-xs text-gray-400 dark:text-gray-500"},fe={key:0,class:"text-center text-xs text-amber-500 dark:text-amber-400"},ge=G({__name:"index",setup(V){const{t:o}=H(),n=Z(),e=ee(),k=T(),r=b(""),h=b(k.rememberDevice),s=b(""),i=b(!1);function f(a){return!a||!a.startsWith("/")||a.startsWith("/login")?"/":a}async function q(){const a=r.value.trim();if(!a){s.value=o("common.login.errorEmpty");return}i.value=!0,s.value="";try{if(!(await fetch("/api/v1/status",{headers:{Authorization:`Bearer ${a}`}})).ok){s.value=o("common.login.errorInvalid");return}k.login(a,h.value);const $=f(e.query.redirect);n.replace($)}catch{s.value=o("common.login.errorNetwork")}finally{i.value=!1}}return(a,p)=>{const $=X,B=ne,C=J,P=Q;return d(),m("div",ie,[y(t(te),{class:"w-full max-w-sm space-y-6 p-8"},{default:x(()=>[u("div",ce,[p[2]||(p[2]=u("h1",{class:"text-2xl font-bold text-gray-900 dark:text-white"},"ChatLab",-1)),u("p",ue,l(t(o)("common.login.description")),1)]),u("form",{class:"space-y-4",onSubmit:Y(q,["prevent"])},[y(B,{label:t(o)("common.login.tokenLabel")},{default:x(()=>[y($,{modelValue:r.value,"onUpdate:modelValue":p[0]||(p[0]=I=>r.value=I),type:"password",placeholder:t(o)("common.login.tokenPlaceholder"),autocomplete:"off",class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),s.value?(d(),m("p",de,l(s.value),1)):_("",!0),u("label",pe,[y(C,{modelValue:h.value,"onUpdate:modelValue":p[1]||(p[1]=I=>h.value=I)},null,8,["modelValue"]),u("span",null,l(t(o)("common.login.rememberDevice")),1)]),y(P,{type:"submit",block:"",loading:i.value,color:"primary"},{default:x(()=>[g(l(t(o)("common.login.submit")),1)]),_:1},8,["loading"])],32),u("p",me,l(t(o)("common.login.hint")),1),h.value?(d(),m("p",fe,l(t(o)("common.login.rememberWarning")),1)):_("",!0)]),_:1})])}}});export{ge as default};
1
+ import{a7 as F,a8 as W,i as S,a9 as D,b,aa as N,ab as U,w as E,o as d,E as A,F as x,f as u,n as c,G as t,c as m,g as y,ac as K,r as v,I as g,t as l,h as _,ad as L,a as w,ae as z,af as O,p as j,ag as R,ah as M,d as G,A as H,ai as T,aj as X,ak as J,H as Q,al as Y,am as Z,X as ee}from"./index-D_0qeKKc.js";import{_ as te}from"./ThemeCard.vue_vue_type_script_setup_true_lang-DVmpDz05.js";import"./vendor-snapdom--nZvo8Sg.js";const ae={slots:{root:"",wrapper:"",labelWrapper:"flex content-center items-center justify-between gap-1",label:"block font-medium text-default",container:"relative",description:"text-muted",error:"mt-2 text-error",hint:"text-muted",help:"mt-2 text-muted"},variants:{size:{xs:{root:"text-xs"},sm:{root:"text-xs"},md:{root:"text-sm"},lg:{root:"text-sm"},xl:{root:"text-base"}},required:{true:{label:"after:content-['*'] after:ms-0.5 after:text-error"}},orientation:{vertical:{container:"mt-1"},horizontal:{root:"flex justify-between place-items-baseline gap-2"}}},defaultVariants:{size:"md"}},re=["id"],se=["id"],oe=["id"],le=["id"],ne={__name:"FormField",props:{as:{type:null,required:!1},name:{type:String,required:!1},errorPattern:{type:null,required:!1},label:{type:String,required:!1},description:{type:String,required:!1},help:{type:String,required:!1},error:{type:[Boolean,String],required:!1,default:void 0},hint:{type:String,required:!1},size:{type:null,required:!1},required:{type:Boolean,required:!1},eagerValidation:{type:Boolean,required:!1},validateOnInputDelay:{type:Number,required:!1},orientation:{type:null,required:!1,default:"vertical"},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(V){const o=V,n=F(),e=W("formField",o),k=O(),r=w(()=>z({extend:z(ae),...k.ui?.formField||{}})({size:e.size,required:e.required,orientation:e.orientation})),h=S(D,null),s=w(()=>e.error||h?.value?.find(a=>a.name===e.name||e.errorPattern&&a.name?.match(e.errorPattern))?.message),i=b(N()),f=i.value,q=S(U,void 0);return E(i,()=>{q&&e.name&&(q.value[e.name]={id:i.value,pattern:e.errorPattern})},{immediate:!0}),j(R,i),j(M,w(()=>({error:s.value,name:e.name,size:e.size,eagerValidation:e.eagerValidation,validateOnInputDelay:e.validateOnInputDelay,errorPattern:e.errorPattern,hint:e.hint,description:e.description,help:e.help,ariaId:f}))),(a,p)=>(d(),A(t(L),{as:t(e).as,"data-orientation":t(e).orientation,"data-slot":"root",class:c(r.value.root({class:[t(e).ui?.root,t(e).class]}))},{default:x(()=>[u("div",{"data-slot":"wrapper",class:c(r.value.wrapper({class:t(e).ui?.wrapper}))},[t(e).label||n.label?(d(),m("div",{key:0,"data-slot":"labelWrapper",class:c(r.value.labelWrapper({class:t(e).ui?.labelWrapper}))},[y(t(K),{for:i.value,"data-slot":"label",class:c(r.value.label({class:t(e).ui?.label}))},{default:x(()=>[v(a.$slots,"label",{label:t(e).label},()=>[g(l(t(e).label),1)])]),_:3},8,["for","class"]),t(e).hint||n.hint?(d(),m("span",{key:0,id:`${t(f)}-hint`,"data-slot":"hint",class:c(r.value.hint({class:t(e).ui?.hint}))},[v(a.$slots,"hint",{hint:t(e).hint},()=>[g(l(t(e).hint),1)])],10,re)):_("",!0)],2)):_("",!0),t(e).description||n.description?(d(),m("p",{key:1,id:`${t(f)}-description`,"data-slot":"description",class:c(r.value.description({class:t(e).ui?.description}))},[v(a.$slots,"description",{description:t(e).description},()=>[g(l(t(e).description),1)])],10,se)):_("",!0)],2),u("div",{class:c([(t(e).label||!!n.label||t(e).description||!!n.description)&&r.value.container({class:t(e).ui?.container})])},[v(a.$slots,"default",{error:s.value}),t(e).error!==!1&&(typeof s.value=="string"&&s.value||n.error)?(d(),m("div",{key:0,id:`${t(f)}-error`,"data-slot":"error",class:c(r.value.error({class:t(e).ui?.error}))},[v(a.$slots,"error",{error:s.value},()=>[g(l(s.value),1)])],10,oe)):t(e).help||n.help?(d(),m("div",{key:1,id:`${t(f)}-help`,"data-slot":"help",class:c(r.value.help({class:t(e).ui?.help}))},[v(a.$slots,"help",{help:t(e).help},()=>[g(l(t(e).help),1)])],10,le)):_("",!0)],2)]),_:3},8,["as","data-orientation","class"]))}},ie={class:"flex min-h-screen items-center justify-center bg-gray-50 dark:bg-page-dark"},ce={class:"text-center"},ue={class:"mt-2 text-sm text-gray-500 dark:text-gray-400"},de={key:0,class:"text-sm text-red-500"},pe={class:"flex items-center gap-2 text-sm text-gray-600 dark:text-gray-400"},me={class:"text-center text-xs text-gray-400 dark:text-gray-500"},fe={key:0,class:"text-center text-xs text-amber-500 dark:text-amber-400"},ge=G({__name:"index",setup(V){const{t:o}=H(),n=Z(),e=ee(),k=T(),r=b(""),h=b(k.rememberDevice),s=b(""),i=b(!1);function f(a){return!a||!a.startsWith("/")||a.startsWith("/login")?"/":a}async function q(){const a=r.value.trim();if(!a){s.value=o("common.login.errorEmpty");return}i.value=!0,s.value="";try{if(!(await fetch("/api/v1/status",{headers:{Authorization:`Bearer ${a}`}})).ok){s.value=o("common.login.errorInvalid");return}k.login(a,h.value);const $=f(e.query.redirect);n.replace($)}catch{s.value=o("common.login.errorNetwork")}finally{i.value=!1}}return(a,p)=>{const $=X,B=ne,C=J,P=Q;return d(),m("div",ie,[y(t(te),{class:"w-full max-w-sm space-y-6 p-8"},{default:x(()=>[u("div",ce,[p[2]||(p[2]=u("h1",{class:"text-2xl font-bold text-gray-900 dark:text-white"},"ChatLab",-1)),u("p",ue,l(t(o)("common.login.description")),1)]),u("form",{class:"space-y-4",onSubmit:Y(q,["prevent"])},[y(B,{label:t(o)("common.login.tokenLabel")},{default:x(()=>[y($,{modelValue:r.value,"onUpdate:modelValue":p[0]||(p[0]=I=>r.value=I),type:"password",placeholder:t(o)("common.login.tokenPlaceholder"),autocomplete:"off",class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),s.value?(d(),m("p",de,l(s.value),1)):_("",!0),u("label",pe,[y(C,{modelValue:h.value,"onUpdate:modelValue":p[1]||(p[1]=I=>h.value=I)},null,8,["modelValue"]),u("span",null,l(t(o)("common.login.rememberDevice")),1)]),y(P,{type:"submit",block:"",loading:i.value,color:"primary"},{default:x(()=>[g(l(t(o)("common.login.submit")),1)]),_:1},8,["loading"])],32),u("p",me,l(t(o)("common.login.hint")),1),h.value?(d(),m("p",fe,l(t(o)("common.login.rememberWarning")),1)):_("",!0)]),_:1})])}}});export{ge as default};
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MessageExportModal-CZn3LbeY.js","assets/index-YzfjPohq.js","assets/vendor-snapdom--nZvo8Sg.js","assets/index-DrjoMv9s.css"])))=>i.map(i=>d[i]);
2
- import{b as S,C as Ce,O as Ae,d as A,o,c as I,n as K,f as s,Z as q,$ as Z,t as g,r as oe,a0 as nt,E as C,K as lt,P as pe,a as y,aA as it,w as z,i as rt,G as e,F as T,g as x,A as J,h as N,J as Ie,H as he,I as X,_ as ge,aT as Oe,aU as We,M as Q,T as le,aV as ut,an as De,aI as ct,aj as Ke,ay as Ue,U as Te,Y as Se,B as Fe,aW as dt,aX as mt,aY as je,ar as qe,al as ze,aZ as vt,R as pt,p as ht,a_ as gt,a4 as ft,aB as yt,ap as bt,S as He,aC as xt,X as kt,am as wt,au as _t,av as $t}from"./index-YzfjPohq.js";import{b as P,a as ne,c as Ct,d as Ee,e as It,u as Tt,f as Ge,g as St,h as Vt,i as Rt,j as Mt,k as Lt,l as Dt,m as Nt,n as At,C as Ut,o as Ft,L as Bt,D as qt,M as zt}from"./ActionToolsPanel.vue_vue_type_script_setup_true_lang-D1BiZuQL.js";import{u as Ye,y as Ht,j as Xe,s as Et,i as Ze,k as Je,p as Pt,t as Ot,v as Wt}from"./vendor-echarts-B-i_56Av.js";import"./vendor-echarts-wordcloud-Ca8n6qS6.js";import{_ as te}from"./LoadingState.vue_vue_type_script_setup_true_lang-CCK5yTju.js";import{a as Kt}from"./index-dObiAHg6.js";import{_ as jt}from"./ThemeCard.vue_vue_type_script_setup_true_lang-JXMFY6aD.js";import{a as ae,g as Gt,_ as Yt}from"./base-CnuE0ss0.js";import{a as Ne,b as Xt,c as Zt}from"./dateFormat-p6nibkgt.js";import"./vendor-snapdom--nZvo8Sg.js";import"./TimeSelect.vue_vue_type_script_setup_true_lang-QAZFwx5S.js";import"./PageHeader-B9B9K9by.js";import"./vendor-zrender-5DcYjSZk.js";function Jt(l,t={}){const{threshold:a=300,containerSelector:n=".overflow-y-auto",scrollLockDuration:r=800}=t,c=S(l[0]?.id||"");let d=!1;const v=S(null);let m=null;function w(){if(d)return;const u=[];l.forEach(p=>{const $=document.getElementById(p.id);if($){const h=$.getBoundingClientRect();u.push({id:p.id,top:Math.round(h.top)})}});let i=0;for(let p=0;p<u.length;p++){if(u[p].top>a){i=Math.max(0,p-1);break}i=p}c.value=l[i]?.id||""}function f(u){const i=document.getElementById(u);i&&(c.value=u,d=!0,i.scrollIntoView({behavior:"smooth",block:"start"}),setTimeout(()=>{d=!1,w()},r))}return Ce(()=>{m=v.value?.closest(n)||null,m&&(m.addEventListener("scroll",w,{passive:!0}),w())}),Ae(()=>{m&&m.removeEventListener("scroll",w)}),{contentRef:v,activeAnchor:c,scrollToAnchor:f,updateActiveAnchor:w}}function ke(l){return l===0?"text-amber-500 dark:text-amber-400":l===1?"text-gray-500 dark:text-gray-300":l===2?"text-orange-600 dark:text-orange-400":"text-gray-400 dark:text-gray-500"}function we(l){return String(l+1).padStart(2,"0")}function Qt(l){return l===0?"from-amber-400 to-orange-500":l===1?"from-gray-300 to-gray-400":l===2?"from-orange-400 to-amber-600":"from-primary-300 to-primary-500"}const ea={class:"sticky top-24 space-y-6"},ta={class:"border-l border-gray-200 dark:border-gray-800"},aa=["onClick"],sa=A({__name:"PageAnchorsNav",props:{anchors:{},activeAnchor:{},width:{default:"w-44"},hideOnMobile:{type:Boolean,default:!0}},emits:["click"],setup(l,{emit:t}){const a=t;function n(r){a("click",r)}return(r,c)=>(o(),I("div",{class:K([l.width,"shrink-0",l.hideOnMobile?"hidden lg:block":""])},[s("div",ea,[s("nav",null,[s("div",ta,[(o(!0),I(q,null,Z(l.anchors,d=>(o(),I("button",{key:d.id,class:K(["-ml-px block border-l-2 py-1.5 pl-4 text-left text-sm transition-colors",[l.activeAnchor===d.id?"border-pink-500 font-medium text-pink-600 dark:text-pink-400":"border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300"]]),onClick:v=>n(d.id)},g(d.label),11,aa))),128))])]),oe(r.$slots,"default")])],2))}}),ie=A({__name:"TopNSelect",props:{modelValue:{default:10},modelModifiers:{}},emits:["update:modelValue"],setup(l){const t=nt(l,"modelValue"),a=[{label:"Top 5",value:5},{label:"Top 10",value:10},{label:"Top 20",value:20},{label:"Top 30",value:30},{label:"Top 50",value:50},{label:"Top 100",value:100}];return(n,r)=>{const c=lt;return o(),C(c,{modelValue:t.value,"onUpdate:modelValue":r[0]||(r[0]=d=>t.value=d),items:a,"value-key":"value",class:"w-25"},null,8,["modelValue"])}}}),fe=A({__name:"ScrollableChart",props:{contentHeight:{},maxHeightVh:{default:60},paddingClass:{default:"px-3 py-2"}},setup(l){const t=l,a=y(()=>typeof window>"u"?500:Math.round(window.innerHeight*t.maxHeightVh/100)),n=y(()=>t.contentHeight>a.value),r=y(()=>({maxHeight:`${t.maxHeightVh}vh`,overflowY:n.value?"auto":"hidden"}));return(c,d)=>(o(),I("div",{class:K(l.paddingClass),style:pe(r.value)},[oe(c.$slots,"default")],6))}}),oa=A({__name:"EChartGraph",props:{data:{},height:{default:400},layout:{default:"circular"},directed:{type:Boolean,default:!1}},setup(l,{expose:t}){Ye([Ht,Xe,Et,Ze]);const a=l,n=y(()=>typeof a.height=="number"?`${a.height}px`:a.height),r=it(),c=S(null);let d=null;const v=["#ee4567","#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#9a60b4","#fc8452","#3ba272","#ea7ccc","#6e7074","#546570"],m=y(()=>{const b=new Set;return a.data.nodes.filter(k=>b.has(k.name)?!1:(b.add(k.name),!0))}),w=y(()=>{const b=new Map;return m.value.forEach((k,_)=>{b.set(k.name,v[_%v.length])}),b});function f(b,k){return k<=0?1:1+b/k*5}const u=y(()=>{const b=a.data.maxLinkValue||Math.max(...a.data.links.map(k=>k.value||1),1);return{tooltip:{trigger:"item",backgroundColor:r.value?"rgba(30, 30, 30, 0.9)":"rgba(255, 255, 255, 0.95)",borderColor:r.value?"rgba(255, 255, 255, 0.1)":"rgba(0, 0, 0, 0.1)",textStyle:{color:r.value?"#e5e7eb":"#374151"},formatter:k=>k.dataType==="node"?`<b>${k.data.name}</b><br/>消息数: ${k.data.value||0}`:k.dataType==="edge"?`${k.data.source} → ${k.data.target}<br/>艾特次数: ${k.data.value||0}`:""},animationDuration:1e3,animationDurationUpdate:500,animationEasingUpdate:"quinticInOut",series:[{type:"graph",layout:a.layout,circular:a.layout==="circular"?{rotateLabel:!0}:void 0,force:a.layout==="force"?{repulsion:300,gravity:.1,edgeLength:[80,200],friction:.6}:void 0,roam:!0,scaleLimit:{min:.3,max:3},draggable:!0,label:{show:!0,position:"right",formatter:"{b}",color:r.value?"#e5e7eb":"#374151",fontSize:11,fontWeight:500},edgeSymbol:a.directed?["none","arrow"]:["none","none"],edgeSymbolSize:a.directed?[0,10]:[0,0],lineStyle:{curveness:.3,opacity:.5},emphasis:{focus:"adjacency",label:{show:!0,fontSize:13,fontWeight:600},lineStyle:{width:4,opacity:.9},itemStyle:{shadowBlur:15,shadowColor:"rgba(0, 0, 0, 0.3)"}},data:m.value.map(k=>{const _=w.value.get(k.name)||v[0];return{name:k.name,value:k.value,symbolSize:k.symbolSize||30,label:{show:a.layout==="circular"?!0:(k.symbolSize||30)>30},itemStyle:{color:_,borderColor:"#fff",borderWidth:2,shadowBlur:5,shadowColor:`${_}66`}}}),links:a.data.links.filter(k=>w.value.has(k.source)&&w.value.has(k.target)).map(k=>{const _=w.value.get(k.source)||v[0];return{source:k.source,target:k.target,value:k.value,lineStyle:{color:_,width:f(k.value||1,b)}}})}]}});function i(){c.value&&(d=Je(c.value,r.value?"dark":void 0,{renderer:"canvas"}),d.setOption({backgroundColor:"transparent",...u.value}))}function p(){d&&d.setOption({backgroundColor:"transparent",...u.value},{notMerge:!0})}function $(){d?.resize()}function h(){d&&d.dispatchAction({type:"restore"})}return t({resetView:h}),z([()=>a.data,()=>a.layout,()=>a.directed,r],()=>{d?p():i()},{deep:!0}),Ce(()=>{i(),window.addEventListener("resize",$)}),Ae(()=>{window.removeEventListener("resize",$),d?.dispose()}),(b,k)=>(o(),I("div",{ref_key:"chartRef",ref:c,style:pe({height:n.value,width:"100%"})},null,4))}}),Qe=Symbol("ranking-width-mode"),et={standard:{contentClass:"max-w-3xl",gridLeft:110,labelMaxLength:8},wide:{contentClass:"max-w-5xl",gridLeft:180,labelMaxLength:16},full:{contentClass:"max-w-none",gridLeft:260,labelMaxLength:28}};function ye(){const l=rt(Qe,null);return y(()=>et[l?.value??"standard"])}function be(l,t){return l.length<=t?l:`${l.slice(0,t)}…`}const na={class:"px-3 py-2"},Ve=A({__name:"EChartRank",props:{members:{},title:{},description:{},topN:{default:10},unit:{default:"条"},height:{default:"auto"},maxHeightVh:{default:60},bare:{type:Boolean,default:!1}},setup(l){const t=l,a=ye(),n=y(()=>t.members.slice(0,t.topN)),r=y(()=>{if(t.height!=="auto")return t.height;const v=n.value.length*36;return Math.max(v+30,180)}),c={type:"linear",x:0,y:0,x2:1,y2:0,colorStops:[{offset:0,color:"#ee4567"},{offset:1,color:"#f7758c"}]},d=y(()=>{const v=[...n.value].reverse(),m=v.map(i=>be(i.name,a.value.labelMaxLength)),w=v.map(i=>i.value),f=Math.max(...w,1),u=v.map(i=>({value:i.value,itemStyle:{color:c,borderRadius:[0,4,4,0]}}));return{tooltip:{trigger:"axis",axisPointer:{type:"shadow"},backgroundColor:"rgba(0, 0, 0, 0.8)",borderColor:"transparent",textStyle:{color:"#fff"},formatter:i=>{const p=i[0];if(!p)return"";const $=n.value.length-1-p.dataIndex,h=n.value[$];return`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MessageExportModal-CZge6qub.js","assets/index-D_0qeKKc.js","assets/vendor-snapdom--nZvo8Sg.js","assets/index-DrjoMv9s.css"])))=>i.map(i=>d[i]);
2
+ import{b as S,C as Ce,O as Ae,d as A,o,c as I,n as K,f as s,Z as q,$ as Z,t as g,r as oe,a0 as nt,E as C,K as lt,P as pe,a as y,aA as it,w as z,i as rt,G as e,F as T,g as x,A as J,h as N,J as Ie,H as he,I as X,_ as ge,aS as Oe,aT as We,M as Q,T as le,aU as ut,an as De,aI as ct,aj as Ke,ay as Ue,U as Te,Y as Se,B as Fe,aV as dt,aW as mt,aX as je,ar as qe,al as ze,aY as vt,R as pt,p as ht,aZ as gt,a4 as ft,aB as yt,ap as bt,S as He,aC as xt,X as kt,am as wt,au as _t,av as $t}from"./index-D_0qeKKc.js";import{b as P,a as ne,c as Ct,d as Ee,e as It,u as Tt,f as Ge,g as St,h as Vt,i as Rt,j as Mt,k as Lt,l as Dt,m as Nt,n as At,C as Ut,o as Ft,L as Bt,D as qt,M as zt}from"./ActionToolsPanel.vue_vue_type_script_setup_true_lang-B06LYYS9.js";import{u as Ye,y as Ht,j as Xe,s as Et,i as Ze,k as Je,p as Pt,t as Ot,v as Wt}from"./vendor-echarts-B-i_56Av.js";import"./vendor-echarts-wordcloud-Ca8n6qS6.js";import{_ as te}from"./LoadingState.vue_vue_type_script_setup_true_lang-BFaXTz1c.js";import{a as Kt}from"./index-0qcENyvH.js";import{_ as jt}from"./ThemeCard.vue_vue_type_script_setup_true_lang-DVmpDz05.js";import{a as ae,g as Gt,_ as Yt}from"./base-CLwWn3Rs.js";import{a as Ne,b as Xt,c as Zt}from"./dateFormat-T7kMS5IP.js";import"./vendor-snapdom--nZvo8Sg.js";import"./TimeSelect.vue_vue_type_script_setup_true_lang-CCH1UQGc.js";import"./PageHeader-CxKbcLDc.js";import"./vendor-zrender-5DcYjSZk.js";function Jt(l,t={}){const{threshold:a=300,containerSelector:n=".overflow-y-auto",scrollLockDuration:r=800}=t,c=S(l[0]?.id||"");let d=!1;const v=S(null);let m=null;function w(){if(d)return;const u=[];l.forEach(p=>{const $=document.getElementById(p.id);if($){const h=$.getBoundingClientRect();u.push({id:p.id,top:Math.round(h.top)})}});let i=0;for(let p=0;p<u.length;p++){if(u[p].top>a){i=Math.max(0,p-1);break}i=p}c.value=l[i]?.id||""}function f(u){const i=document.getElementById(u);i&&(c.value=u,d=!0,i.scrollIntoView({behavior:"smooth",block:"start"}),setTimeout(()=>{d=!1,w()},r))}return Ce(()=>{m=v.value?.closest(n)||null,m&&(m.addEventListener("scroll",w,{passive:!0}),w())}),Ae(()=>{m&&m.removeEventListener("scroll",w)}),{contentRef:v,activeAnchor:c,scrollToAnchor:f,updateActiveAnchor:w}}function ke(l){return l===0?"text-amber-500 dark:text-amber-400":l===1?"text-gray-500 dark:text-gray-300":l===2?"text-orange-600 dark:text-orange-400":"text-gray-400 dark:text-gray-500"}function we(l){return String(l+1).padStart(2,"0")}function Qt(l){return l===0?"from-amber-400 to-orange-500":l===1?"from-gray-300 to-gray-400":l===2?"from-orange-400 to-amber-600":"from-primary-300 to-primary-500"}const ea={class:"sticky top-24 space-y-6"},ta={class:"border-l border-gray-200 dark:border-gray-800"},aa=["onClick"],sa=A({__name:"PageAnchorsNav",props:{anchors:{},activeAnchor:{},width:{default:"w-44"},hideOnMobile:{type:Boolean,default:!0}},emits:["click"],setup(l,{emit:t}){const a=t;function n(r){a("click",r)}return(r,c)=>(o(),I("div",{class:K([l.width,"shrink-0",l.hideOnMobile?"hidden lg:block":""])},[s("div",ea,[s("nav",null,[s("div",ta,[(o(!0),I(q,null,Z(l.anchors,d=>(o(),I("button",{key:d.id,class:K(["-ml-px block border-l-2 py-1.5 pl-4 text-left text-sm transition-colors",[l.activeAnchor===d.id?"border-pink-500 font-medium text-pink-600 dark:text-pink-400":"border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-300"]]),onClick:v=>n(d.id)},g(d.label),11,aa))),128))])]),oe(r.$slots,"default")])],2))}}),ie=A({__name:"TopNSelect",props:{modelValue:{default:10},modelModifiers:{}},emits:["update:modelValue"],setup(l){const t=nt(l,"modelValue"),a=[{label:"Top 5",value:5},{label:"Top 10",value:10},{label:"Top 20",value:20},{label:"Top 30",value:30},{label:"Top 50",value:50},{label:"Top 100",value:100}];return(n,r)=>{const c=lt;return o(),C(c,{modelValue:t.value,"onUpdate:modelValue":r[0]||(r[0]=d=>t.value=d),items:a,"value-key":"value",class:"w-25"},null,8,["modelValue"])}}}),fe=A({__name:"ScrollableChart",props:{contentHeight:{},maxHeightVh:{default:60},paddingClass:{default:"px-3 py-2"}},setup(l){const t=l,a=y(()=>typeof window>"u"?500:Math.round(window.innerHeight*t.maxHeightVh/100)),n=y(()=>t.contentHeight>a.value),r=y(()=>({maxHeight:`${t.maxHeightVh}vh`,overflowY:n.value?"auto":"hidden"}));return(c,d)=>(o(),I("div",{class:K(l.paddingClass),style:pe(r.value)},[oe(c.$slots,"default")],6))}}),oa=A({__name:"EChartGraph",props:{data:{},height:{default:400},layout:{default:"circular"},directed:{type:Boolean,default:!1}},setup(l,{expose:t}){Ye([Ht,Xe,Et,Ze]);const a=l,n=y(()=>typeof a.height=="number"?`${a.height}px`:a.height),r=it(),c=S(null);let d=null;const v=["#ee4567","#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#9a60b4","#fc8452","#3ba272","#ea7ccc","#6e7074","#546570"],m=y(()=>{const b=new Set;return a.data.nodes.filter(k=>b.has(k.name)?!1:(b.add(k.name),!0))}),w=y(()=>{const b=new Map;return m.value.forEach((k,_)=>{b.set(k.name,v[_%v.length])}),b});function f(b,k){return k<=0?1:1+b/k*5}const u=y(()=>{const b=a.data.maxLinkValue||Math.max(...a.data.links.map(k=>k.value||1),1);return{tooltip:{trigger:"item",backgroundColor:r.value?"rgba(30, 30, 30, 0.9)":"rgba(255, 255, 255, 0.95)",borderColor:r.value?"rgba(255, 255, 255, 0.1)":"rgba(0, 0, 0, 0.1)",textStyle:{color:r.value?"#e5e7eb":"#374151"},formatter:k=>k.dataType==="node"?`<b>${k.data.name}</b><br/>消息数: ${k.data.value||0}`:k.dataType==="edge"?`${k.data.source} → ${k.data.target}<br/>艾特次数: ${k.data.value||0}`:""},animationDuration:1e3,animationDurationUpdate:500,animationEasingUpdate:"quinticInOut",series:[{type:"graph",layout:a.layout,circular:a.layout==="circular"?{rotateLabel:!0}:void 0,force:a.layout==="force"?{repulsion:300,gravity:.1,edgeLength:[80,200],friction:.6}:void 0,roam:!0,scaleLimit:{min:.3,max:3},draggable:!0,label:{show:!0,position:"right",formatter:"{b}",color:r.value?"#e5e7eb":"#374151",fontSize:11,fontWeight:500},edgeSymbol:a.directed?["none","arrow"]:["none","none"],edgeSymbolSize:a.directed?[0,10]:[0,0],lineStyle:{curveness:.3,opacity:.5},emphasis:{focus:"adjacency",label:{show:!0,fontSize:13,fontWeight:600},lineStyle:{width:4,opacity:.9},itemStyle:{shadowBlur:15,shadowColor:"rgba(0, 0, 0, 0.3)"}},data:m.value.map(k=>{const _=w.value.get(k.name)||v[0];return{name:k.name,value:k.value,symbolSize:k.symbolSize||30,label:{show:a.layout==="circular"?!0:(k.symbolSize||30)>30},itemStyle:{color:_,borderColor:"#fff",borderWidth:2,shadowBlur:5,shadowColor:`${_}66`}}}),links:a.data.links.filter(k=>w.value.has(k.source)&&w.value.has(k.target)).map(k=>{const _=w.value.get(k.source)||v[0];return{source:k.source,target:k.target,value:k.value,lineStyle:{color:_,width:f(k.value||1,b)}}})}]}});function i(){c.value&&(d=Je(c.value,r.value?"dark":void 0,{renderer:"canvas"}),d.setOption({backgroundColor:"transparent",...u.value}))}function p(){d&&d.setOption({backgroundColor:"transparent",...u.value},{notMerge:!0})}function $(){d?.resize()}function h(){d&&d.dispatchAction({type:"restore"})}return t({resetView:h}),z([()=>a.data,()=>a.layout,()=>a.directed,r],()=>{d?p():i()},{deep:!0}),Ce(()=>{i(),window.addEventListener("resize",$)}),Ae(()=>{window.removeEventListener("resize",$),d?.dispose()}),(b,k)=>(o(),I("div",{ref_key:"chartRef",ref:c,style:pe({height:n.value,width:"100%"})},null,4))}}),Qe=Symbol("ranking-width-mode"),et={standard:{contentClass:"max-w-3xl",gridLeft:110,labelMaxLength:8},wide:{contentClass:"max-w-5xl",gridLeft:180,labelMaxLength:16},full:{contentClass:"max-w-none",gridLeft:260,labelMaxLength:28}};function ye(){const l=rt(Qe,null);return y(()=>et[l?.value??"standard"])}function be(l,t){return l.length<=t?l:`${l.slice(0,t)}…`}const na={class:"px-3 py-2"},Ve=A({__name:"EChartRank",props:{members:{},title:{},description:{},topN:{default:10},unit:{default:"条"},height:{default:"auto"},maxHeightVh:{default:60},bare:{type:Boolean,default:!1}},setup(l){const t=l,a=ye(),n=y(()=>t.members.slice(0,t.topN)),r=y(()=>{if(t.height!=="auto")return t.height;const v=n.value.length*36;return Math.max(v+30,180)}),c={type:"linear",x:0,y:0,x2:1,y2:0,colorStops:[{offset:0,color:"#ee4567"},{offset:1,color:"#f7758c"}]},d=y(()=>{const v=[...n.value].reverse(),m=v.map(i=>be(i.name,a.value.labelMaxLength)),w=v.map(i=>i.value),f=Math.max(...w,1),u=v.map(i=>({value:i.value,itemStyle:{color:c,borderRadius:[0,4,4,0]}}));return{tooltip:{trigger:"axis",axisPointer:{type:"shadow"},backgroundColor:"rgba(0, 0, 0, 0.8)",borderColor:"transparent",textStyle:{color:"#fff"},formatter:i=>{const p=i[0];if(!p)return"";const $=n.value.length-1-p.dataIndex,h=n.value[$];return`
3
3
  <div style="padding: 4px 8px;">
4
4
  <div style="font-weight: bold; margin-bottom: 4px;">${h.name}</div>
5
5
  <div>${h.value} ${t.unit} (${h.percentage}%)</div>
@@ -61,4 +61,4 @@ import{b as S,C as Ce,O as Ae,d as A,o,c as I,n as K,f as s,Z as q,$ as Z,t as g
61
61
  <div><span style="color: ${c.h3to4};">●</span> 3-4点: ${$.h3to4} 条</div>
62
62
  </div>
63
63
  </div>
64
- `}},legend:{show:!0,bottom:0,itemWidth:12,itemHeight:12,textStyle:{color:"#6b7280",fontSize:10}},grid:{left:a.value.gridLeft,right:70,top:15,bottom:35,containLabel:!1},xAxis:{type:"value",max:w*1.15,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1}},yAxis:{type:"category",data:m,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{fontSize:12,color:"#4b5563",margin:12,formatter:(f,u)=>{const p=n.value.length-1-u+1;return`${p===1?"🥇":p===2?"🥈":p===3?"🥉":`${p}.`} ${f}`}}},series:[{name:"23点",type:"bar",stack:"total",data:v.map(f=>f.hourlyBreakdown.h23),itemStyle:{color:c.h23},barWidth:18},{name:"0点",type:"bar",stack:"total",data:v.map(f=>f.hourlyBreakdown.h0),itemStyle:{color:c.h0},barWidth:18},{name:"1点",type:"bar",stack:"total",data:v.map(f=>f.hourlyBreakdown.h1),itemStyle:{color:c.h1},barWidth:18},{name:"2点",type:"bar",stack:"total",data:v.map(f=>f.hourlyBreakdown.h2),itemStyle:{color:c.h2},barWidth:18},{name:"3-4点",type:"bar",stack:"total",data:v.map(f=>f.hourlyBreakdown.h3to4),itemStyle:{color:c.h3to4,borderRadius:[0,4,4,0]},barWidth:18,label:{show:!0,position:"right",distance:8,formatter:f=>{const u=n.value.length-1-f.dataIndex;return`${n.value[u].totalNightMessages} 条`},fontSize:11,fontWeight:500,color:"#6b7280"}}]}});return(v,m)=>l.bare?(o(),C(e(fe),{key:0,"content-height":r.value,"max-height-vh":l.maxHeightVh},{default:T(()=>[x(e(ae),{option:d.value,height:r.value},null,8,["option","height"])]),_:1},8,["content-height","max-height-vh"])):(o(),C(e(P),{key:1,title:l.title,description:l.description,scrollable:"","max-height-vh":l.maxHeightVh},{default:T(()=>[s("div",In,[x(e(ae),{option:d.value,height:r.value},null,8,["option","height"])])]),_:1},8,["title","description","max-height-vh"]))}}),Sn={id:"streak-rank",class:"scroll-mt-24"},Vn={class:"flex items-center gap-3"},Rn=A({__name:"CheckInRank",props:{sessionId:{},timeFilter:{},showTopNSelect:{type:Boolean,default:!0},globalTopN:{}},setup(l){const t=l,a=S(null),n=S(!1),r=S("max"),c=S(t.globalTopN??10);z(()=>t.globalTopN,f=>{f!==void 0&&(c.value=f)});const d=y(()=>r.value==="max"?"🔥 火花榜 - 最长连续":"🔥 火花榜 - 当前连续"),v=y(()=>r.value==="max"?"历史最长连续发言天数":"正在持续连续发言的成员"),m=y(()=>a.value?a.value.streakRank.some(f=>f.currentStreak>0):!1);async function w(){if(t.sessionId){n.value=!0;try{a.value=await Q().getCheckInAnalysis(t.sessionId,t.timeFilter)}catch(f){console.error("加载打卡分析失败:",f)}finally{n.value=!1}}}return z(()=>[t.sessionId,t.timeFilter],()=>{w()},{immediate:!0,deep:!0}),(f,u)=>(o(),I("div",Sn,[n.value?(o(),C(e(te),{key:0,text:"正在分析数据..."})):a.value&&a.value.streakRank.length>0?(o(),C(e(P),{key:1,title:d.value,description:v.value},{headerRight:T(()=>[s("div",Vn,[l.showTopNSelect?(o(),C(e(ie),{key:0,modelValue:c.value,"onUpdate:modelValue":u[0]||(u[0]=i=>c.value=i)},null,8,["modelValue"])):N("",!0),m.value?(o(),C(e(le),{key:1,modelValue:r.value,"onUpdate:modelValue":u[1]||(u[1]=i=>r.value=i),items:[{label:"最长连续",value:"max"},{label:"当前连续",value:"current"}],size:"sm"},null,8,["modelValue"])):N("",!0)])]),default:T(()=>[x(e(gn),{items:a.value.streakRank,title:d.value,mode:r.value,"top-n":c.value,bare:""},null,8,["items","title","mode","top-n"])]),_:1},8,["title","description"])):(o(),C(e(P),{key:2,title:"🔥 火花榜"},{default:T(()=>[x(e(ne),{text:"暂无连续发言数据"})]),_:1}))]))}}),Mn={class:"flex items-center gap-3"},Ln={key:1,class:"py-8 text-center text-sm text-gray-400"},Dn={key:1,class:"py-8 text-center text-sm text-gray-400"},Nn=A({__name:"MemeBattleRank",props:{sessionId:{},timeFilter:{},showTopNSelect:{type:Boolean,default:!0},globalTopN:{}},setup(l){const t=l,a=S(null),n=S(!1),r=S("count"),c=S(t.globalTopN??10);z(()=>t.globalTopN,p=>{p!==void 0&&(c.value=p)});async function d(){if(t.sessionId){n.value=!0;try{a.value=await Q().getMemeBattleAnalysis(t.sessionId,t.timeFilter)}catch(p){console.error("加载斗图分析失败:",p)}finally{n.value=!1}}}const v=y(()=>a.value?a.value.rankByCount.map(p=>({id:p.memberId.toString(),name:p.name,value:p.count,percentage:p.percentage})):[]),m=y(()=>a.value?a.value.rankByImageCount.map(p=>({id:p.memberId.toString(),name:p.name,value:p.count,percentage:p.percentage})):[]),w=y(()=>r.value==="count"?v.value:m.value),f=y(()=>r.value==="count"?"场":"张"),u=y(()=>{switch(r.value){case"battle":return"⚔️ 斗图榜 - 史诗级战役";case"count":return"⚔️ 斗图榜 - 按场次";case"image":return"⚔️ 斗图榜 - 按图量";default:return"⚔️ 斗图榜"}}),i=y(()=>{switch(r.value){case"battle":return"记录最激烈的斗图大战";case"count":return"参与斗图次数最多的人";case"image":return"在斗图中发送图片最多的人";default:return""}});return z(()=>[t.sessionId,t.timeFilter],()=>d(),{immediate:!0,deep:!0}),(p,$)=>n.value?(o(),C(e(te),{key:0,text:"正在统计斗图数据..."})):a.value?(o(),C(e(P),{key:1,title:u.value,description:i.value},{headerRight:T(()=>[s("div",Mn,[l.showTopNSelect?(o(),C(e(ie),{key:0,modelValue:c.value,"onUpdate:modelValue":$[0]||($[0]=h=>c.value=h)},null,8,["modelValue"])):N("",!0),x(e(le),{modelValue:r.value,"onUpdate:modelValue":$[1]||($[1]=h=>r.value=h),items:[{label:"按场次",value:"count"},{label:"按图量",value:"image"},{label:"史诗级战役",value:"battle"}],size:"sm"},null,8,["modelValue"])])]),default:T(()=>[r.value==="battle"?(o(),I(q,{key:0},[a.value.topBattles.length>0?(o(),C(e(yn),{key:0,battles:a.value.topBattles,title:"","top-n":c.value,bare:""},null,8,["battles","top-n"])):(o(),I("div",Ln,"暂无史诗级战役数据"))],64)):(o(),I(q,{key:1},[w.value.length>0?(o(),C(e(Ve),{key:0,members:w.value,title:u.value,unit:f.value,"top-n":c.value,bare:""},null,8,["members","title","unit","top-n"])):(o(),I("div",Dn,"暂无斗图数据"))],64))]),_:1},8,["title","description"])):N("",!0)}}),An={class:"space-y-6"},Un={class:"flex items-center gap-3"},Fn={class:"flex items-center gap-3"},Bn={key:1,class:"px-3 py-2"},qn=A({__name:"RepeatSection",props:{sessionId:{},timeFilter:{},showTopNSelect:{type:Boolean,default:!0},globalTopN:{}},setup(l){const t=l,a=S(null),n=S(!1),r=S("originator"),c=S("fastest"),d=S(t.globalTopN??10),v=S(t.globalTopN??10);z(()=>t.globalTopN,_=>{_!==void 0&&(d.value=_,v.value=_)});async function m(){if(t.sessionId){n.value=!0;try{a.value=await Q().getRepeatAnalysis(t.sessionId,t.timeFilter)}catch(_){console.error("加载复读分析失败:",_)}finally{n.value=!1}}}const w=y(()=>a.value?a.value.originators.map(_=>({id:_.memberId.toString(),name:_.name,value:_.count,percentage:_.percentage})):[]),f=y(()=>a.value?a.value.initiators.map(_=>({id:_.memberId.toString(),name:_.name,value:_.count,percentage:_.percentage})):[]),u=y(()=>a.value?a.value.breakers.map(_=>({id:_.memberId.toString(),name:_.name,value:_.count,percentage:_.percentage})):[]),i=y(()=>{switch(r.value){case"originator":return w.value;case"initiator":return f.value;case"breaker":return u.value;default:return w.value}}),p=y(()=>{switch(r.value){case"originator":return"🔁 复读榜 - 被复读";case"initiator":return"🔁 复读榜 - 挑起";case"breaker":return"🔁 复读榜 - 打断";default:return"🔁 复读榜"}}),$=y(()=>{switch(r.value){case"originator":return"发出的消息被别人复读的次数";case"initiator":return"第二个发送相同消息、带起节奏的人";case"breaker":return"终结复读链的人";default:return""}}),h=y(()=>{if(!a.value)return{labels:[],values:[]};const _=a.value.chainLengthDistribution;return{labels:_.map(V=>`${V.length}人`),values:_.map(V=>V.count)}}),b=y(()=>c.value==="fastest"?"📊 复读统计 - 最快反应":"📊 复读统计 - 链长分布"),k=y(()=>{if(c.value==="fastest")return"平均复读反应时间(至少参与5次复读)";const _=a.value?.totalRepeatChains??0,V=a.value?.avgChainLength??0;return`共 ${_} 次复读,平均 ${V} 人参与`});return z(()=>[t.sessionId,t.timeFilter],()=>m(),{immediate:!0,deep:!0}),(_,V)=>(o(),I("div",An,[n.value?(o(),C(e(te),{key:0,text:"正在分析复读数据..."})):a.value&&a.value.totalRepeatChains>0?(o(),I(q,{key:1},[x(e(P),{title:p.value,description:$.value},{headerRight:T(()=>[s("div",Un,[l.showTopNSelect?(o(),C(e(ie),{key:0,modelValue:d.value,"onUpdate:modelValue":V[0]||(V[0]=O=>d.value=O)},null,8,["modelValue"])):N("",!0),x(e(le),{modelValue:r.value,"onUpdate:modelValue":V[1]||(V[1]=O=>r.value=O),items:[{label:"被复读",value:"originator"},{label:"挑起",value:"initiator"},{label:"打断",value:"breaker"}],size:"sm"},null,8,["modelValue"])])]),default:T(()=>[i.value.length>0?(o(),C(e(Ve),{key:0,members:i.value,title:p.value,unit:"次","top-n":d.value,bare:""},null,8,["members","title","top-n"])):(o(),C(e(ne),{key:1,text:"暂无数据"}))]),_:1},8,["title","description"]),x(e(P),{title:b.value,description:k.value},{headerRight:T(()=>[s("div",Fn,[l.showTopNSelect&&c.value==="fastest"?(o(),C(e(ie),{key:0,modelValue:v.value,"onUpdate:modelValue":V[2]||(V[2]=O=>v.value=O)},null,8,["modelValue"])):N("",!0),x(e(le),{modelValue:c.value,"onUpdate:modelValue":V[3]||(V[3]=O=>c.value=O),items:[{label:"最快反应",value:"fastest"},{label:"链长分布",value:"distribution"}],size:"sm"},null,8,["modelValue"])])]),default:T(()=>[c.value==="fastest"?(o(),I(q,{key:0},[a.value.fastestRepeaters&&a.value.fastestRepeaters.length>0?(o(),C(e(xn),{key:0,items:a.value.fastestRepeaters,"top-n":v.value,title:"",bare:""},null,8,["items","top-n"])):(o(),C(e(ne),{key:1,text:"暂无最快复读数据"}))],64)):(o(),I("div",Bn,[h.value.labels.length>0?(o(),C(e(Yt),{key:0,data:h.value,height:200},null,8,["data"])):(o(),C(e(ne),{key:1,text:"暂无分布数据"}))]))]),_:1},8,["title","description"])],64)):(o(),C(e(P),{key:2,title:"🔁 复读榜"},{default:T(()=>[x(e(ne),{text:"该群组暂无复读记录"})]),_:1}))]))}}),zn=A({__name:"DivingRank",props:{sessionId:{},timeFilter:{},globalTopN:{}},setup(l){const t=l,a=S(null),n=S(!1);async function r(){if(t.sessionId){n.value=!0;try{a.value=await Q().getDivingAnalysis(t.sessionId,t.timeFilter)}catch(c){console.error("加载潜水分析失败:",c)}finally{n.value=!1}}}return z(()=>[t.sessionId,t.timeFilter],()=>r(),{immediate:!0,deep:!0}),(c,d)=>n.value?(o(),C(e(te),{key:0,text:"正在统计潜水数据..."})):a.value&&a.value.rank.length>0?(o(),C(e(_n),{key:1,items:a.value.rank,"global-top-n":l.globalTopN},null,8,["items","global-top-n"])):N("",!0)}}),Hn={class:"space-y-6"},En={class:"flex items-center gap-3"},Pn={key:1,class:"py-8 text-center text-sm text-gray-400"},On={key:1,class:"py-8 text-center text-sm text-gray-400"},Wn={class:"flex items-center gap-3"},Kn={key:1,class:"py-8 text-center text-sm text-gray-400"},jn=A({__name:"NightOwlRank",props:{sessionId:{},timeFilter:{},showTopNSelect:{type:Boolean,default:!0},globalTopN:{}},setup(l){const t=l,a=S(null),n=S(!1),r=S("first"),c=S("distribution"),d=S(t.globalTopN??10),v=S(t.globalTopN??10);z(()=>t.globalTopN,b=>{b!==void 0&&(d.value=b,v.value=b)});async function m(){if(t.sessionId){n.value=!0;try{a.value=await Q().getNightOwlAnalysis(t.sessionId,t.timeFilter)}catch(b){console.error("加载出勤分析失败:",b)}finally{n.value=!1}}}const w=y(()=>a.value?a.value.lastSpeakerRank.map(b=>({id:String(b.memberId),name:b.name,value:b.count,percentage:b.percentage})):[]),f=y(()=>a.value?a.value.firstSpeakerRank.map(b=>({id:String(b.memberId),name:b.name,value:b.count,percentage:b.percentage})):[]),u=y(()=>r.value==="last"?w.value:f.value),i=y(()=>r.value==="last"?"⏰ 出勤排行 - 最晚下班":"⏰ 出勤排行 - 最早上班"),p=y(()=>{const b=a.value?.totalDays??0;return r.value==="last"?`每天最后一个发言的人(共 ${b} 天)`:`每天第一个发言的人(共 ${b} 天)`}),$=y(()=>c.value==="distribution"?"🦉 修仙统计 - 发言分布":"🦉 修仙统计 - 连续记录"),h=y(()=>c.value==="distribution"?"深夜时段(23:00-05:00)各时段发言分布":"连续在深夜时段发言的天数");return z(()=>[t.sessionId,t.timeFilter],()=>m(),{immediate:!0,deep:!0}),(b,k)=>(o(),I("div",Hn,[n.value?(o(),C(e(te),{key:0,text:"正在加载出勤分析..."})):a.value?(o(),I(q,{key:1},[x(e(P),{title:$.value,description:h.value},{headerRight:T(()=>[s("div",En,[l.showTopNSelect?(o(),C(e(ie),{key:0,modelValue:d.value,"onUpdate:modelValue":k[0]||(k[0]=_=>d.value=_)},null,8,["modelValue"])):N("",!0),x(e(le),{modelValue:c.value,"onUpdate:modelValue":k[1]||(k[1]=_=>c.value=_),items:[{label:"发言分布",value:"distribution"},{label:"连续记录",value:"consecutive"}],size:"sm"},null,8,["modelValue"])])]),default:T(()=>[c.value==="distribution"?(o(),I(q,{key:0},[a.value.nightOwlRank.length>0?(o(),C(e(Tn),{key:0,items:a.value.nightOwlRank,"top-n":d.value,title:"",bare:""},null,8,["items","top-n"])):(o(),I("div",Pn,"暂无深夜发言数据"))],64)):(o(),I(q,{key:1},[a.value.consecutiveRecords.length>0?(o(),C(e(Cn),{key:0,items:a.value.consecutiveRecords,"top-n":d.value,title:"",bare:""},null,8,["items","top-n"])):(o(),I("div",On,"暂无连续记录"))],64))]),_:1},8,["title","description"]),x(e(P),{title:i.value,description:p.value},{headerRight:T(()=>[s("div",Wn,[l.showTopNSelect?(o(),C(e(ie),{key:0,modelValue:v.value,"onUpdate:modelValue":k[2]||(k[2]=_=>v.value=_)},null,8,["modelValue"])):N("",!0),x(e(le),{modelValue:r.value,"onUpdate:modelValue":k[3]||(k[3]=_=>r.value=_),items:[{label:"最早上班",value:"first"},{label:"最晚下班",value:"last"}],size:"sm"},null,8,["modelValue"])])]),default:T(()=>[u.value.length>0?(o(),C(e(Ve),{key:0,members:u.value,title:i.value,"top-n":v.value,unit:"次",bare:""},null,8,["members","title","top-n"])):(o(),I("div",Kn,"暂无数据"))]),_:1},8,["title","description"])],64)):N("",!0)]))}}),Gn={class:"mb-8 mt-4"},Yn={class:"text-5xl tracking-wider",style:{"font-weight":"800",background:"linear-gradient(to right, #f59e0b, #ec4899, #9333ea)","-webkit-background-clip":"text","-webkit-text-fill-color":"transparent"}},Xn={id:"activity-rank",class:"scroll-mt-24"},Zn={id:"meme-battle",class:"scroll-mt-24"},Jn={id:"repeat",class:"scroll-mt-24"},Qn={id:"night-owl",class:"scroll-mt-24"},el={id:"diving",class:"scroll-mt-24"},tl={class:"border-l border-gray-200 pl-4 dark:border-gray-800"},al={class:"mt-4 border-l border-gray-200 pl-4 dark:border-gray-800"},sl={class:"flex rounded-lg border border-gray-200 bg-white p-0.5 text-xs dark:border-gray-700 dark:bg-page-dark"},ol=["onClick"],nl=A({__name:"OverallRankingTab",props:{sessionId:{},timeFilter:{}},setup(l){const t=l,a=S([]),n=S([]);async function r(){if(!t.sessionId)return;const h=Q(),[b,k]=await Promise.all([h.getMemberActivity(t.sessionId,t.timeFilter),h.getAvailableYears(t.sessionId)]);a.value=b,n.value=k}z(()=>[t.sessionId,t.timeFilter],()=>r(),{immediate:!0,deep:!0});const c=y(()=>{if(t.timeFilter?.startTs&&t.timeFilter?.endTs){const h=new Date(t.timeFilter.startTs*1e3).getFullYear(),b=new Date(t.timeFilter.endTs*1e3).getFullYear();return h===b?`${h} 赛季`:`${h}-${b} 赛季`}if(n.value.length>0){const h=[...n.value].sort((_,V)=>_-V),b=h[0],k=h[h.length-1];return b===k?`${b} 赛季`:`${b}-${k} 赛季`}return"全部赛季"}),d=y(()=>({startTs:t.timeFilter?.startTs,endTs:t.timeFilter?.endTs})),v=[{id:"activity-rank",label:"🏆 活跃榜"},{id:"streak-rank",label:"🔥 火花榜"},{id:"meme-battle",label:"⚔️ 斗图榜"},{id:"repeat",label:"🔁 复读榜"},{id:"night-owl",label:"⏰ 出勤榜"},{id:"diving",label:"🤿 潜水榜"}],{contentRef:m,activeAnchor:w,scrollToAnchor:f}=Jt(v,{threshold:350}),u=S(10),i=S("standard");ht(Qe,i);const p=[{value:"standard",label:"标准"},{value:"wide",label:"宽屏"},{value:"full",label:"全宽"}],$=y(()=>et[i.value].contentClass);return(h,b)=>(o(),I("div",{ref_key:"contentRef",ref:m,class:"flex gap-6 p-6"},[s("div",{class:K(["main-content mx-auto min-w-0 flex-1 space-y-6 px-8",$.value])},[s("div",Gn,[s("h1",Yn," 🏆 "+g(c.value),1),b[1]||(b[1]=s("p",{class:"mt-4 text-sm text-gray-500 dark:text-gray-400"},"各榜单前三名请找群主领取奖励 🎁",-1))]),s("div",Xn,[x(e(mn),{"session-id":t.sessionId,"member-activity":a.value,"time-filter":d.value,"global-top-n":u.value},null,8,["session-id","member-activity","time-filter","global-top-n"])]),x(e(Rn),{"session-id":t.sessionId,"time-filter":d.value,"global-top-n":u.value},null,8,["session-id","time-filter","global-top-n"]),s("div",Zn,[x(e(Nn),{"session-id":t.sessionId,"time-filter":d.value,"global-top-n":u.value},null,8,["session-id","time-filter","global-top-n"])]),s("div",Jn,[x(e(qn),{"session-id":t.sessionId,"time-filter":d.value,"global-top-n":u.value},null,8,["session-id","time-filter","global-top-n"])]),s("div",Qn,[x(e(jn),{"session-id":t.sessionId,"time-filter":d.value,"global-top-n":u.value},null,8,["session-id","time-filter","global-top-n"])]),s("div",el,[x(e(zn),{"session-id":t.sessionId,"time-filter":d.value,"global-top-n":u.value},null,8,["session-id","time-filter","global-top-n"])]),b[2]||(b[2]=s("div",{class:"h-48 no-capture"},null,-1))],2),x(e(sa),{anchors:v,"active-anchor":e(w),onClick:e(f)},{default:T(()=>[s("div",tl,[b[3]||(b[3]=s("div",{class:"mb-2 text-xs text-gray-400"},"显示数量",-1)),x(e(ie),{modelValue:u.value,"onUpdate:modelValue":b[0]||(b[0]=k=>u.value=k)},null,8,["modelValue"])]),s("div",al,[b[4]||(b[4]=s("div",{class:"mb-2 text-xs text-gray-400"},"榜单宽度",-1)),s("div",sl,[(o(),I(q,null,Z(p,k=>s("button",{key:k.value,type:"button",class:K(["rounded-md px-2 py-1 transition",i.value===k.value?"bg-pink-500 text-white shadow-sm":"text-gray-500 hover:bg-gray-100 dark:text-gray-400 dark:hover:bg-gray-800"]),onClick:_=>i.value=k.value},g(k.label),11,ol)),64))])])]),_:1},8,["active-anchor","onClick"])],512))}}),ll={class:"flex h-full flex-col"},il={class:"min-h-0 flex-1 overflow-y-auto"},rl={key:1,class:"main-content mx-auto w-full max-w-3xl p-6"},ul=A({__name:"RankingView",props:{sessionId:{},timeFilter:{}},setup(l){const t=l,{t:a,locale:n}=J(),r=S("overall"),c=S(null),d=y(()=>gt("groupRanking",n.value)),v=y(()=>[...d.value?[{id:"overall",label:a("analysis.subTabs.ranking.overall"),icon:"i-heroicons-trophy"}]:[],{id:"hot-repeat",label:a("analysis.subTabs.quotes.hotRepeat"),icon:"i-heroicons-sparkles"},{id:"catchphrase",label:a("analysis.subTabs.quotes.catchphrase"),icon:"i-heroicons-chat-bubble-bottom-center-text"},{id:"keyword",label:a("analysis.subTabs.ranking.keyword"),icon:"i-heroicons-magnifying-glass"}]),m=y(()=>({startTs:t.timeFilter?.startTs,endTs:t.timeFilter?.endTs})),w=y(()=>({...m.value,memberId:c.value}));return z(v,f=>{f.some(u=>u.id===r.value)||(r.value=f[0]?.id??"hot-repeat")},{immediate:!0}),(f,u)=>(o(),I("div",ll,[x(e(Ue),{modelValue:r.value,"onUpdate:modelValue":u[1]||(u[1]=i=>r.value=i),items:v.value,"persist-key":"groupRankingTab"},{right:T(()=>[r.value==="catchphrase"?(o(),C(Ge,{key:0,modelValue:c.value,"onUpdate:modelValue":u[0]||(u[0]=i=>c.value=i),"session-id":t.sessionId},null,8,["modelValue","session-id"])):N("",!0)]),_:1},8,["modelValue","items"]),s("div",il,[x(Te,{name:"fade",mode:"out-in"},{default:T(()=>[r.value==="overall"?(o(),C(nl,{key:0,"session-id":t.sessionId,"time-filter":m.value},null,8,["session-id","time-filter"])):r.value==="keyword"?(o(),I("div",rl,[x(un,{"session-id":t.sessionId,"time-filter":m.value},null,8,["session-id","time-filter"])])):r.value==="hot-repeat"?(o(),C(e(ko),{key:2,"session-id":t.sessionId,"time-filter":m.value},null,8,["session-id","time-filter"])):r.value==="catchphrase"?(o(),C(e(ro),{key:3,"session-id":t.sessionId,"time-filter":w.value},null,8,["session-id","time-filter"])):N("",!0)]),_:1})])]))}}),cl=Se(ul,[["__scopeId","data-v-d8d145dc"]]),dl={class:"main-content max-w-5xl p-6"},ml={class:"mb-4 text-sm text-gray-500 dark:text-gray-400 no-capture"},vl={key:0,class:"divide-y divide-gray-100 dark:divide-gray-800"},pl={class:"w-32 shrink-0 pt-0.5 font-medium text-gray-900 dark:text-white"},hl={class:"flex flex-1 flex-wrap items-center gap-2"},gl={class:"flex items-center gap-1.5 rounded-lg bg-gray-50 px-3 py-1.5 dark:bg-gray-800"},fl={class:"text-xs text-gray-400"},yl={key:0,class:"text-gray-300 dark:text-gray-600"},bl=A({__name:"NicknameHistory",props:{sessionId:{}},setup(l){const{t}=J(),a=l,n=S([]),r=S([]),c=S(!1);function d(w){return w.groupNickname||w.accountName||w.platformId}async function v(){if(a.sessionId)try{n.value=await Q().getMembers(a.sessionId)}catch(w){console.error("加载成员列表失败:",w)}}async function m(){if(!a.sessionId||n.value.length===0)return;c.value=!0;const w=[];try{const f=n.value.map(i=>Q().getMemberNameHistory(a.sessionId,i.id)),u=await Promise.all(f);n.value.forEach((i,p)=>{const $=u[p];$.length>2&&w.push({memberId:i.id,name:d(i),history:$})}),r.value=w}catch(f){console.error("加载昵称变更记录失败:",f)}finally{c.value=!1}}return z(()=>a.sessionId,async()=>{await v()},{immediate:!0}),z(()=>n.value.length,()=>{n.value.length>0&&m()}),Ce(async()=>{n.value.length===0&&await v()}),(w,f)=>{const u=je;return o(),I("div",dl,[s("p",ml,g(e(t)("members.nicknameHistory.note")),1),x(e(P),{title:e(t)("members.nicknameHistory.title"),description:c.value?e(t)("members.nicknameHistory.loading"):r.value.length>0?e(t)("members.nicknameHistory.hasChanges",{count:r.value.length}):e(t)("members.nicknameHistory.noChanges")},{default:T(()=>[!c.value&&r.value.length>0?(o(),I("div",vl,[(o(!0),I(q,null,Z(r.value,i=>(o(),I("div",{key:i.memberId,class:"flex items-start gap-3 px-5 py-3"},[s("div",pl,g(i.name),1),s("div",hl,[(o(!0),I(q,null,Z(i.history,(p,$)=>(o(),I(q,{key:$},[s("div",gl,[s("span",{class:K(["text-sm",p.endTs===null?"font-semibold text-pink-600":"text-gray-700 dark:text-gray-300"])},g(p.name),3),p.endTs===null?(o(),C(u,{key:0,color:"primary",variant:"soft",size:"xs"},{default:T(()=>[X(g(e(t)("members.nicknameHistory.current")),1)]),_:1})):N("",!0),s("span",fl,"("+g(e(Zt)(p.startTs,p.endTs))+")",1)]),$<i.history.length-1?(o(),I("span",yl,"→")):N("",!0)],64))),128))])]))),128))])):c.value?(o(),C(e(te),{key:2,text:e(t)("members.nicknameHistory.loadingText")},null,8,["text"])):(o(),C(e(ne),{key:1,text:e(t)("members.nicknameHistory.empty")},null,8,["text"]))]),_:1},8,["title","description"])])}}}),xl={class:"flex h-full flex-col overflow-hidden bg-white dark:bg-page-dark"},kl={class:"flex flex-none items-center justify-between border-b border-gray-200 px-5 py-3 dark:border-gray-700"},wl={class:"text-lg font-semibold text-gray-900 dark:text-white"},_l={class:"flex-1 overflow-auto"},$l=A({__name:"NicknameHistoryEntry",props:{sessionId:{}},setup(l){const{t}=J(),a=l,n=S(!1);return(r,c)=>{const d=he,v=Ie;return o(),I(q,null,[x(d,{variant:"ghost",icon:"i-heroicons-clock",size:"sm",onClick:c[0]||(c[0]=m=>n.value=!0)},{default:T(()=>[X(g(e(t)("analysis.subTabs.member.nicknameHistory")),1)]),_:1}),a.sessionId?(o(),C(v,{key:0,open:n.value,"onUpdate:open":c[2]||(c[2]=m=>n.value=m),ui:{content:"max-w-6xl h-[85vh]"}},{content:T(()=>[s("div",xl,[s("div",kl,[s("h2",wl,g(e(t)("analysis.subTabs.member.nicknameHistory")),1),x(d,{variant:"ghost",icon:"i-heroicons-x-mark",size:"sm",onClick:c[1]||(c[1]=m=>n.value=!1)})]),s("div",_l,[x(bl,{"session-id":a.sessionId},null,8,["session-id"])])])]),_:1},8,["open"])):N("",!0)],64)}}}),Cl={class:"flex h-full flex-col dark:bg-page-dark",style:{"padding-top":"var(--titlebar-area-height)"}},Il={class:"relative flex-1 overflow-y-auto"},Tl={class:"h-full"},Sl={key:2,class:"flex h-full items-center justify-center"},Vl={class:"text-gray-500"},Rl={class:"flex h-full flex-col overflow-hidden bg-white dark:bg-page-dark"},Ml={class:"flex flex-none items-center justify-between border-b border-gray-200 px-5 py-3 dark:border-gray-700"},Ll={class:"text-lg font-semibold text-gray-900 dark:text-white"},Dl={class:"text-sm text-gray-500 dark:text-gray-400"},Nl={class:"flex items-center gap-2"},Al={class:"flex-1 overflow-hidden"},Ul=A({__name:"index",setup(l){const t=_t(()=>$t(()=>import("./MessageExportModal-CZn3LbeY.js"),__vite__mapDeps([0,1,2,3]))),{t:a}=J(),n=kt(),r=wt(),c=ft(),d=Fe(),v=yt(),{currentSessionId:m}=bt(c),w=S(!1),f=S(!1),u=S(!1),i=S(!1),p=S(!1);function $(){d.openChatRecordDrawer({})}const h=[{id:"insights",labelKey:"analysis.tabs.insights",icon:"i-heroicons-presentation-chart-bar"},{id:"ranking",labelKey:"analysis.tabs.ranking",icon:"i-heroicons-trophy"},{id:"ai-chat",labelKey:"analysis.tabs.aiChat",icon:"i-heroicons-chat-bubble-left-ellipsis"},{id:"lab",labelKey:"analysis.tabs.lab",icon:"i-heroicons-beaker"}],b=y(()=>v.debugMode?[...h,{id:"debug",labelKey:"analysis.tabs.debug",icon:"i-heroicons-bug-ant"}]:h),k=y(()=>b.value.map(re=>re.id)),{activeTab:_,isLoading:V,isInitialLoad:O,session:j,memberActivity:B,hourlyActivity:U,dailyActivity:E,messageTypes:se,timeRangeValue:Y,fullTimeRange:ee,availableYears:G,timeFilter:M,initialTimeState:W,loadData:me}=Mt({route:n,router:r,currentSessionId:m,selectSession:c.selectSession,defaultTab:v.defaultSessionTab,validTabIds:k.value}),_e=y(()=>B.value.reduce((re,L)=>re+L.messageCount,0)),Re=y(()=>B.value.filter(re=>re.messageCount>0).length);return(re,L)=>{const ue=he,Me=Ie;return o(),I("div",Cl,[e(O)?(o(),C(te,{key:0,variant:"page",text:e(a)("analysis.groupChat.loading")},null,8,["text"])):e(j)?(o(),I(q,{key:1},[x(Lt,{"active-tab":e(_),"onUpdate:activeTab":L[0]||(L[0]=H=>He(_)?_.value=H:null),"time-range-value":e(Y),"onUpdate:timeRangeValue":L[1]||(L[1]=H=>He(Y)?Y.value=H:null),title:e(j).name,avatar:e(j).groupAvatar,icon:"i-heroicons-chat-bubble-left-right","icon-class":"bg-primary-600 text-white dark:bg-primary-500 dark:text-white",tabs:b.value,"current-session-id":e(m),"initial-time-state":e(W),onOpenIncrementalImport:L[2]||(L[2]=H=>u.value=!0),onOpenMemberManagement:L[3]||(L[3]=H=>p.value=!0),onOpenChatRecord:$,"onUpdate:fullRange":L[4]||(L[4]=H=>ee.value=H),"onUpdate:availableYears":L[5]||(L[5]=H=>G.value=H)},null,8,["active-tab","time-range-value","title","avatar","tabs","current-session-id","initial-time-state"]),s("div",Il,[e(V)?(o(),C(te,{key:0,variant:"overlay"})):N("",!0),s("div",Tl,[x(Te,{name:"tab-slide",mode:"out-in"},{default:T(()=>[e(_)==="insights"?(o(),C(Ro,{key:"insights-"+e(m),"session-id":e(m),session:e(j),"member-activity":e(B),"message-types":e(se),"hourly-activity":e(U),"daily-activity":e(E),"time-range":e(ee),"filtered-message-count":_e.value,"filtered-member-count":Re.value,"time-filter":e(M)},null,8,["session-id","session","member-activity","message-types","hourly-activity","daily-activity","time-range","filtered-message-count","filtered-member-count","time-filter"])):e(_)==="ranking"?(o(),C(cl,{key:"ranking-"+e(m),"session-id":e(m),"time-filter":e(M)},null,8,["session-id","time-filter"])):e(_)==="ai-chat"?(o(),C(e(Ut),{key:"ai-chat-"+e(m),"session-id":e(m),"session-name":e(j).name,"chat-type":"group"},null,8,["session-id","session-name"])):e(_)==="memory"?(o(),C(Ft,{key:"memory-"+e(m),"session-id":e(m),"session-name":e(j).name},null,8,["session-id","session-name"])):e(_)==="lab"?(o(),C(Bt,{key:"lab-"+e(m),"session-id":e(m),"chat-type":"group"},null,8,["session-id"])):e(_)==="debug"?(o(),C(e(qt),{key:"debug-"+e(m),"session-id":e(m)},null,8,["session-id"])):N("",!0)]),_:1})])]),x(Dt,{onOpenIncrementalImport:L[6]||(L[6]=H=>u.value=!0),onOpenSemanticIndex:L[7]||(L[7]=H=>w.value=!0),onOpenMemberManagement:L[8]||(L[8]=H=>p.value=!0),onOpenChatRecord:$,onOpenMessageExport:L[9]||(L[9]=H=>i.value=!0)})],64)):(o(),I("div",Sl,[s("p",Vl,g(e(a)("analysis.groupChat.loadError")),1)])),e(m)&&e(j)?(o(),C(Nt,{key:3,modelValue:w.value,"onUpdate:modelValue":L[10]||(L[10]=H=>w.value=H),"session-id":e(m),"message-count":e(j).messageCount},null,8,["modelValue","session-id","message-count"])):N("",!0),e(m)&&e(j)?(o(),C(xt,{key:4,modelValue:f.value,"onUpdate:modelValue":L[11]||(L[11]=H=>f.value=H),"session-id":e(m),"chat-type":"group","auto-check":""},null,8,["modelValue","session-id"])):N("",!0),e(m)&&e(j)?(o(),C(At,{key:5,modelValue:u.value,"onUpdate:modelValue":L[12]||(L[12]=H=>u.value=H),"session-id":e(m),"session-name":e(j).name,onImported:L[13]||(L[13]=()=>{e(me)(),e(c).loadSessions()})},null,8,["modelValue","session-id","session-name"])):N("",!0),e(m)?(o(),C(e(t),{key:6,modelValue:i.value,"onUpdate:modelValue":L[14]||(L[14]=H=>i.value=H)},null,8,["modelValue"])):N("",!0),e(m)?(o(),C(Me,{key:7,open:p.value,"onUpdate:open":L[16]||(L[16]=H=>p.value=H),ui:{content:"max-w-6xl h-[85vh]"}},{content:T(()=>[s("div",Rl,[s("div",Ml,[s("div",null,[s("h2",Ll,g(e(a)("analysis.tooltip.memberManagement")),1),s("p",Dl,g(e(a)("members.list.description",{count:e(j)?.memberCount??0})),1)]),s("div",Nl,[x($l,{"session-id":e(m)},null,8,["session-id"]),x(ue,{variant:"ghost",icon:"i-heroicons-x-mark",size:"sm",onClick:L[15]||(L[15]=H=>p.value=!1)})])]),s("div",Al,[x(zt,{"session-id":e(m),"show-header":!1,"chat-type":"group",onDataChanged:e(me)},null,8,["session-id","onDataChanged"])])])]),_:1},8,["open"])):N("",!0)])}}}),Xl=Se(Ul,[["__scopeId","data-v-a60937b1"]]);export{Xl as default};
64
+ `}},legend:{show:!0,bottom:0,itemWidth:12,itemHeight:12,textStyle:{color:"#6b7280",fontSize:10}},grid:{left:a.value.gridLeft,right:70,top:15,bottom:35,containLabel:!1},xAxis:{type:"value",max:w*1.15,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!1}},yAxis:{type:"category",data:m,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{fontSize:12,color:"#4b5563",margin:12,formatter:(f,u)=>{const p=n.value.length-1-u+1;return`${p===1?"🥇":p===2?"🥈":p===3?"🥉":`${p}.`} ${f}`}}},series:[{name:"23点",type:"bar",stack:"total",data:v.map(f=>f.hourlyBreakdown.h23),itemStyle:{color:c.h23},barWidth:18},{name:"0点",type:"bar",stack:"total",data:v.map(f=>f.hourlyBreakdown.h0),itemStyle:{color:c.h0},barWidth:18},{name:"1点",type:"bar",stack:"total",data:v.map(f=>f.hourlyBreakdown.h1),itemStyle:{color:c.h1},barWidth:18},{name:"2点",type:"bar",stack:"total",data:v.map(f=>f.hourlyBreakdown.h2),itemStyle:{color:c.h2},barWidth:18},{name:"3-4点",type:"bar",stack:"total",data:v.map(f=>f.hourlyBreakdown.h3to4),itemStyle:{color:c.h3to4,borderRadius:[0,4,4,0]},barWidth:18,label:{show:!0,position:"right",distance:8,formatter:f=>{const u=n.value.length-1-f.dataIndex;return`${n.value[u].totalNightMessages} 条`},fontSize:11,fontWeight:500,color:"#6b7280"}}]}});return(v,m)=>l.bare?(o(),C(e(fe),{key:0,"content-height":r.value,"max-height-vh":l.maxHeightVh},{default:T(()=>[x(e(ae),{option:d.value,height:r.value},null,8,["option","height"])]),_:1},8,["content-height","max-height-vh"])):(o(),C(e(P),{key:1,title:l.title,description:l.description,scrollable:"","max-height-vh":l.maxHeightVh},{default:T(()=>[s("div",In,[x(e(ae),{option:d.value,height:r.value},null,8,["option","height"])])]),_:1},8,["title","description","max-height-vh"]))}}),Sn={id:"streak-rank",class:"scroll-mt-24"},Vn={class:"flex items-center gap-3"},Rn=A({__name:"CheckInRank",props:{sessionId:{},timeFilter:{},showTopNSelect:{type:Boolean,default:!0},globalTopN:{}},setup(l){const t=l,a=S(null),n=S(!1),r=S("max"),c=S(t.globalTopN??10);z(()=>t.globalTopN,f=>{f!==void 0&&(c.value=f)});const d=y(()=>r.value==="max"?"🔥 火花榜 - 最长连续":"🔥 火花榜 - 当前连续"),v=y(()=>r.value==="max"?"历史最长连续发言天数":"正在持续连续发言的成员"),m=y(()=>a.value?a.value.streakRank.some(f=>f.currentStreak>0):!1);async function w(){if(t.sessionId){n.value=!0;try{a.value=await Q().getCheckInAnalysis(t.sessionId,t.timeFilter)}catch(f){console.error("加载打卡分析失败:",f)}finally{n.value=!1}}}return z(()=>[t.sessionId,t.timeFilter],()=>{w()},{immediate:!0,deep:!0}),(f,u)=>(o(),I("div",Sn,[n.value?(o(),C(e(te),{key:0,text:"正在分析数据..."})):a.value&&a.value.streakRank.length>0?(o(),C(e(P),{key:1,title:d.value,description:v.value},{headerRight:T(()=>[s("div",Vn,[l.showTopNSelect?(o(),C(e(ie),{key:0,modelValue:c.value,"onUpdate:modelValue":u[0]||(u[0]=i=>c.value=i)},null,8,["modelValue"])):N("",!0),m.value?(o(),C(e(le),{key:1,modelValue:r.value,"onUpdate:modelValue":u[1]||(u[1]=i=>r.value=i),items:[{label:"最长连续",value:"max"},{label:"当前连续",value:"current"}],size:"sm"},null,8,["modelValue"])):N("",!0)])]),default:T(()=>[x(e(gn),{items:a.value.streakRank,title:d.value,mode:r.value,"top-n":c.value,bare:""},null,8,["items","title","mode","top-n"])]),_:1},8,["title","description"])):(o(),C(e(P),{key:2,title:"🔥 火花榜"},{default:T(()=>[x(e(ne),{text:"暂无连续发言数据"})]),_:1}))]))}}),Mn={class:"flex items-center gap-3"},Ln={key:1,class:"py-8 text-center text-sm text-gray-400"},Dn={key:1,class:"py-8 text-center text-sm text-gray-400"},Nn=A({__name:"MemeBattleRank",props:{sessionId:{},timeFilter:{},showTopNSelect:{type:Boolean,default:!0},globalTopN:{}},setup(l){const t=l,a=S(null),n=S(!1),r=S("count"),c=S(t.globalTopN??10);z(()=>t.globalTopN,p=>{p!==void 0&&(c.value=p)});async function d(){if(t.sessionId){n.value=!0;try{a.value=await Q().getMemeBattleAnalysis(t.sessionId,t.timeFilter)}catch(p){console.error("加载斗图分析失败:",p)}finally{n.value=!1}}}const v=y(()=>a.value?a.value.rankByCount.map(p=>({id:p.memberId.toString(),name:p.name,value:p.count,percentage:p.percentage})):[]),m=y(()=>a.value?a.value.rankByImageCount.map(p=>({id:p.memberId.toString(),name:p.name,value:p.count,percentage:p.percentage})):[]),w=y(()=>r.value==="count"?v.value:m.value),f=y(()=>r.value==="count"?"场":"张"),u=y(()=>{switch(r.value){case"battle":return"⚔️ 斗图榜 - 史诗级战役";case"count":return"⚔️ 斗图榜 - 按场次";case"image":return"⚔️ 斗图榜 - 按图量";default:return"⚔️ 斗图榜"}}),i=y(()=>{switch(r.value){case"battle":return"记录最激烈的斗图大战";case"count":return"参与斗图次数最多的人";case"image":return"在斗图中发送图片最多的人";default:return""}});return z(()=>[t.sessionId,t.timeFilter],()=>d(),{immediate:!0,deep:!0}),(p,$)=>n.value?(o(),C(e(te),{key:0,text:"正在统计斗图数据..."})):a.value?(o(),C(e(P),{key:1,title:u.value,description:i.value},{headerRight:T(()=>[s("div",Mn,[l.showTopNSelect?(o(),C(e(ie),{key:0,modelValue:c.value,"onUpdate:modelValue":$[0]||($[0]=h=>c.value=h)},null,8,["modelValue"])):N("",!0),x(e(le),{modelValue:r.value,"onUpdate:modelValue":$[1]||($[1]=h=>r.value=h),items:[{label:"按场次",value:"count"},{label:"按图量",value:"image"},{label:"史诗级战役",value:"battle"}],size:"sm"},null,8,["modelValue"])])]),default:T(()=>[r.value==="battle"?(o(),I(q,{key:0},[a.value.topBattles.length>0?(o(),C(e(yn),{key:0,battles:a.value.topBattles,title:"","top-n":c.value,bare:""},null,8,["battles","top-n"])):(o(),I("div",Ln,"暂无史诗级战役数据"))],64)):(o(),I(q,{key:1},[w.value.length>0?(o(),C(e(Ve),{key:0,members:w.value,title:u.value,unit:f.value,"top-n":c.value,bare:""},null,8,["members","title","unit","top-n"])):(o(),I("div",Dn,"暂无斗图数据"))],64))]),_:1},8,["title","description"])):N("",!0)}}),An={class:"space-y-6"},Un={class:"flex items-center gap-3"},Fn={class:"flex items-center gap-3"},Bn={key:1,class:"px-3 py-2"},qn=A({__name:"RepeatSection",props:{sessionId:{},timeFilter:{},showTopNSelect:{type:Boolean,default:!0},globalTopN:{}},setup(l){const t=l,a=S(null),n=S(!1),r=S("originator"),c=S("fastest"),d=S(t.globalTopN??10),v=S(t.globalTopN??10);z(()=>t.globalTopN,_=>{_!==void 0&&(d.value=_,v.value=_)});async function m(){if(t.sessionId){n.value=!0;try{a.value=await Q().getRepeatAnalysis(t.sessionId,t.timeFilter)}catch(_){console.error("加载复读分析失败:",_)}finally{n.value=!1}}}const w=y(()=>a.value?a.value.originators.map(_=>({id:_.memberId.toString(),name:_.name,value:_.count,percentage:_.percentage})):[]),f=y(()=>a.value?a.value.initiators.map(_=>({id:_.memberId.toString(),name:_.name,value:_.count,percentage:_.percentage})):[]),u=y(()=>a.value?a.value.breakers.map(_=>({id:_.memberId.toString(),name:_.name,value:_.count,percentage:_.percentage})):[]),i=y(()=>{switch(r.value){case"originator":return w.value;case"initiator":return f.value;case"breaker":return u.value;default:return w.value}}),p=y(()=>{switch(r.value){case"originator":return"🔁 复读榜 - 被复读";case"initiator":return"🔁 复读榜 - 挑起";case"breaker":return"🔁 复读榜 - 打断";default:return"🔁 复读榜"}}),$=y(()=>{switch(r.value){case"originator":return"发出的消息被别人复读的次数";case"initiator":return"第二个发送相同消息、带起节奏的人";case"breaker":return"终结复读链的人";default:return""}}),h=y(()=>{if(!a.value)return{labels:[],values:[]};const _=a.value.chainLengthDistribution;return{labels:_.map(V=>`${V.length}人`),values:_.map(V=>V.count)}}),b=y(()=>c.value==="fastest"?"📊 复读统计 - 最快反应":"📊 复读统计 - 链长分布"),k=y(()=>{if(c.value==="fastest")return"平均复读反应时间(至少参与5次复读)";const _=a.value?.totalRepeatChains??0,V=a.value?.avgChainLength??0;return`共 ${_} 次复读,平均 ${V} 人参与`});return z(()=>[t.sessionId,t.timeFilter],()=>m(),{immediate:!0,deep:!0}),(_,V)=>(o(),I("div",An,[n.value?(o(),C(e(te),{key:0,text:"正在分析复读数据..."})):a.value&&a.value.totalRepeatChains>0?(o(),I(q,{key:1},[x(e(P),{title:p.value,description:$.value},{headerRight:T(()=>[s("div",Un,[l.showTopNSelect?(o(),C(e(ie),{key:0,modelValue:d.value,"onUpdate:modelValue":V[0]||(V[0]=O=>d.value=O)},null,8,["modelValue"])):N("",!0),x(e(le),{modelValue:r.value,"onUpdate:modelValue":V[1]||(V[1]=O=>r.value=O),items:[{label:"被复读",value:"originator"},{label:"挑起",value:"initiator"},{label:"打断",value:"breaker"}],size:"sm"},null,8,["modelValue"])])]),default:T(()=>[i.value.length>0?(o(),C(e(Ve),{key:0,members:i.value,title:p.value,unit:"次","top-n":d.value,bare:""},null,8,["members","title","top-n"])):(o(),C(e(ne),{key:1,text:"暂无数据"}))]),_:1},8,["title","description"]),x(e(P),{title:b.value,description:k.value},{headerRight:T(()=>[s("div",Fn,[l.showTopNSelect&&c.value==="fastest"?(o(),C(e(ie),{key:0,modelValue:v.value,"onUpdate:modelValue":V[2]||(V[2]=O=>v.value=O)},null,8,["modelValue"])):N("",!0),x(e(le),{modelValue:c.value,"onUpdate:modelValue":V[3]||(V[3]=O=>c.value=O),items:[{label:"最快反应",value:"fastest"},{label:"链长分布",value:"distribution"}],size:"sm"},null,8,["modelValue"])])]),default:T(()=>[c.value==="fastest"?(o(),I(q,{key:0},[a.value.fastestRepeaters&&a.value.fastestRepeaters.length>0?(o(),C(e(xn),{key:0,items:a.value.fastestRepeaters,"top-n":v.value,title:"",bare:""},null,8,["items","top-n"])):(o(),C(e(ne),{key:1,text:"暂无最快复读数据"}))],64)):(o(),I("div",Bn,[h.value.labels.length>0?(o(),C(e(Yt),{key:0,data:h.value,height:200},null,8,["data"])):(o(),C(e(ne),{key:1,text:"暂无分布数据"}))]))]),_:1},8,["title","description"])],64)):(o(),C(e(P),{key:2,title:"🔁 复读榜"},{default:T(()=>[x(e(ne),{text:"该群组暂无复读记录"})]),_:1}))]))}}),zn=A({__name:"DivingRank",props:{sessionId:{},timeFilter:{},globalTopN:{}},setup(l){const t=l,a=S(null),n=S(!1);async function r(){if(t.sessionId){n.value=!0;try{a.value=await Q().getDivingAnalysis(t.sessionId,t.timeFilter)}catch(c){console.error("加载潜水分析失败:",c)}finally{n.value=!1}}}return z(()=>[t.sessionId,t.timeFilter],()=>r(),{immediate:!0,deep:!0}),(c,d)=>n.value?(o(),C(e(te),{key:0,text:"正在统计潜水数据..."})):a.value&&a.value.rank.length>0?(o(),C(e(_n),{key:1,items:a.value.rank,"global-top-n":l.globalTopN},null,8,["items","global-top-n"])):N("",!0)}}),Hn={class:"space-y-6"},En={class:"flex items-center gap-3"},Pn={key:1,class:"py-8 text-center text-sm text-gray-400"},On={key:1,class:"py-8 text-center text-sm text-gray-400"},Wn={class:"flex items-center gap-3"},Kn={key:1,class:"py-8 text-center text-sm text-gray-400"},jn=A({__name:"NightOwlRank",props:{sessionId:{},timeFilter:{},showTopNSelect:{type:Boolean,default:!0},globalTopN:{}},setup(l){const t=l,a=S(null),n=S(!1),r=S("first"),c=S("distribution"),d=S(t.globalTopN??10),v=S(t.globalTopN??10);z(()=>t.globalTopN,b=>{b!==void 0&&(d.value=b,v.value=b)});async function m(){if(t.sessionId){n.value=!0;try{a.value=await Q().getNightOwlAnalysis(t.sessionId,t.timeFilter)}catch(b){console.error("加载出勤分析失败:",b)}finally{n.value=!1}}}const w=y(()=>a.value?a.value.lastSpeakerRank.map(b=>({id:String(b.memberId),name:b.name,value:b.count,percentage:b.percentage})):[]),f=y(()=>a.value?a.value.firstSpeakerRank.map(b=>({id:String(b.memberId),name:b.name,value:b.count,percentage:b.percentage})):[]),u=y(()=>r.value==="last"?w.value:f.value),i=y(()=>r.value==="last"?"⏰ 出勤排行 - 最晚下班":"⏰ 出勤排行 - 最早上班"),p=y(()=>{const b=a.value?.totalDays??0;return r.value==="last"?`每天最后一个发言的人(共 ${b} 天)`:`每天第一个发言的人(共 ${b} 天)`}),$=y(()=>c.value==="distribution"?"🦉 修仙统计 - 发言分布":"🦉 修仙统计 - 连续记录"),h=y(()=>c.value==="distribution"?"深夜时段(23:00-05:00)各时段发言分布":"连续在深夜时段发言的天数");return z(()=>[t.sessionId,t.timeFilter],()=>m(),{immediate:!0,deep:!0}),(b,k)=>(o(),I("div",Hn,[n.value?(o(),C(e(te),{key:0,text:"正在加载出勤分析..."})):a.value?(o(),I(q,{key:1},[x(e(P),{title:$.value,description:h.value},{headerRight:T(()=>[s("div",En,[l.showTopNSelect?(o(),C(e(ie),{key:0,modelValue:d.value,"onUpdate:modelValue":k[0]||(k[0]=_=>d.value=_)},null,8,["modelValue"])):N("",!0),x(e(le),{modelValue:c.value,"onUpdate:modelValue":k[1]||(k[1]=_=>c.value=_),items:[{label:"发言分布",value:"distribution"},{label:"连续记录",value:"consecutive"}],size:"sm"},null,8,["modelValue"])])]),default:T(()=>[c.value==="distribution"?(o(),I(q,{key:0},[a.value.nightOwlRank.length>0?(o(),C(e(Tn),{key:0,items:a.value.nightOwlRank,"top-n":d.value,title:"",bare:""},null,8,["items","top-n"])):(o(),I("div",Pn,"暂无深夜发言数据"))],64)):(o(),I(q,{key:1},[a.value.consecutiveRecords.length>0?(o(),C(e(Cn),{key:0,items:a.value.consecutiveRecords,"top-n":d.value,title:"",bare:""},null,8,["items","top-n"])):(o(),I("div",On,"暂无连续记录"))],64))]),_:1},8,["title","description"]),x(e(P),{title:i.value,description:p.value},{headerRight:T(()=>[s("div",Wn,[l.showTopNSelect?(o(),C(e(ie),{key:0,modelValue:v.value,"onUpdate:modelValue":k[2]||(k[2]=_=>v.value=_)},null,8,["modelValue"])):N("",!0),x(e(le),{modelValue:r.value,"onUpdate:modelValue":k[3]||(k[3]=_=>r.value=_),items:[{label:"最早上班",value:"first"},{label:"最晚下班",value:"last"}],size:"sm"},null,8,["modelValue"])])]),default:T(()=>[u.value.length>0?(o(),C(e(Ve),{key:0,members:u.value,title:i.value,"top-n":v.value,unit:"次",bare:""},null,8,["members","title","top-n"])):(o(),I("div",Kn,"暂无数据"))]),_:1},8,["title","description"])],64)):N("",!0)]))}}),Gn={class:"mb-8 mt-4"},Yn={class:"text-5xl tracking-wider",style:{"font-weight":"800",background:"linear-gradient(to right, #f59e0b, #ec4899, #9333ea)","-webkit-background-clip":"text","-webkit-text-fill-color":"transparent"}},Xn={id:"activity-rank",class:"scroll-mt-24"},Zn={id:"meme-battle",class:"scroll-mt-24"},Jn={id:"repeat",class:"scroll-mt-24"},Qn={id:"night-owl",class:"scroll-mt-24"},el={id:"diving",class:"scroll-mt-24"},tl={class:"border-l border-gray-200 pl-4 dark:border-gray-800"},al={class:"mt-4 border-l border-gray-200 pl-4 dark:border-gray-800"},sl={class:"flex rounded-lg border border-gray-200 bg-white p-0.5 text-xs dark:border-gray-700 dark:bg-page-dark"},ol=["onClick"],nl=A({__name:"OverallRankingTab",props:{sessionId:{},timeFilter:{}},setup(l){const t=l,a=S([]),n=S([]);async function r(){if(!t.sessionId)return;const h=Q(),[b,k]=await Promise.all([h.getMemberActivity(t.sessionId,t.timeFilter),h.getAvailableYears(t.sessionId)]);a.value=b,n.value=k}z(()=>[t.sessionId,t.timeFilter],()=>r(),{immediate:!0,deep:!0});const c=y(()=>{if(t.timeFilter?.startTs&&t.timeFilter?.endTs){const h=new Date(t.timeFilter.startTs*1e3).getFullYear(),b=new Date(t.timeFilter.endTs*1e3).getFullYear();return h===b?`${h} 赛季`:`${h}-${b} 赛季`}if(n.value.length>0){const h=[...n.value].sort((_,V)=>_-V),b=h[0],k=h[h.length-1];return b===k?`${b} 赛季`:`${b}-${k} 赛季`}return"全部赛季"}),d=y(()=>({startTs:t.timeFilter?.startTs,endTs:t.timeFilter?.endTs})),v=[{id:"activity-rank",label:"🏆 活跃榜"},{id:"streak-rank",label:"🔥 火花榜"},{id:"meme-battle",label:"⚔️ 斗图榜"},{id:"repeat",label:"🔁 复读榜"},{id:"night-owl",label:"⏰ 出勤榜"},{id:"diving",label:"🤿 潜水榜"}],{contentRef:m,activeAnchor:w,scrollToAnchor:f}=Jt(v,{threshold:350}),u=S(10),i=S("standard");ht(Qe,i);const p=[{value:"standard",label:"标准"},{value:"wide",label:"宽屏"},{value:"full",label:"全宽"}],$=y(()=>et[i.value].contentClass);return(h,b)=>(o(),I("div",{ref_key:"contentRef",ref:m,class:"flex gap-6 p-6"},[s("div",{class:K(["main-content mx-auto min-w-0 flex-1 space-y-6 px-8",$.value])},[s("div",Gn,[s("h1",Yn," 🏆 "+g(c.value),1),b[1]||(b[1]=s("p",{class:"mt-4 text-sm text-gray-500 dark:text-gray-400"},"各榜单前三名请找群主领取奖励 🎁",-1))]),s("div",Xn,[x(e(mn),{"session-id":t.sessionId,"member-activity":a.value,"time-filter":d.value,"global-top-n":u.value},null,8,["session-id","member-activity","time-filter","global-top-n"])]),x(e(Rn),{"session-id":t.sessionId,"time-filter":d.value,"global-top-n":u.value},null,8,["session-id","time-filter","global-top-n"]),s("div",Zn,[x(e(Nn),{"session-id":t.sessionId,"time-filter":d.value,"global-top-n":u.value},null,8,["session-id","time-filter","global-top-n"])]),s("div",Jn,[x(e(qn),{"session-id":t.sessionId,"time-filter":d.value,"global-top-n":u.value},null,8,["session-id","time-filter","global-top-n"])]),s("div",Qn,[x(e(jn),{"session-id":t.sessionId,"time-filter":d.value,"global-top-n":u.value},null,8,["session-id","time-filter","global-top-n"])]),s("div",el,[x(e(zn),{"session-id":t.sessionId,"time-filter":d.value,"global-top-n":u.value},null,8,["session-id","time-filter","global-top-n"])]),b[2]||(b[2]=s("div",{class:"h-48 no-capture"},null,-1))],2),x(e(sa),{anchors:v,"active-anchor":e(w),onClick:e(f)},{default:T(()=>[s("div",tl,[b[3]||(b[3]=s("div",{class:"mb-2 text-xs text-gray-400"},"显示数量",-1)),x(e(ie),{modelValue:u.value,"onUpdate:modelValue":b[0]||(b[0]=k=>u.value=k)},null,8,["modelValue"])]),s("div",al,[b[4]||(b[4]=s("div",{class:"mb-2 text-xs text-gray-400"},"榜单宽度",-1)),s("div",sl,[(o(),I(q,null,Z(p,k=>s("button",{key:k.value,type:"button",class:K(["rounded-md px-2 py-1 transition",i.value===k.value?"bg-pink-500 text-white shadow-sm":"text-gray-500 hover:bg-gray-100 dark:text-gray-400 dark:hover:bg-gray-800"]),onClick:_=>i.value=k.value},g(k.label),11,ol)),64))])])]),_:1},8,["active-anchor","onClick"])],512))}}),ll={class:"flex h-full flex-col"},il={class:"min-h-0 flex-1 overflow-y-auto"},rl={key:1,class:"main-content mx-auto w-full max-w-3xl p-6"},ul=A({__name:"RankingView",props:{sessionId:{},timeFilter:{}},setup(l){const t=l,{t:a,locale:n}=J(),r=S("overall"),c=S(null),d=y(()=>gt("groupRanking",n.value)),v=y(()=>[...d.value?[{id:"overall",label:a("analysis.subTabs.ranking.overall"),icon:"i-heroicons-trophy"}]:[],{id:"hot-repeat",label:a("analysis.subTabs.quotes.hotRepeat"),icon:"i-heroicons-sparkles"},{id:"catchphrase",label:a("analysis.subTabs.quotes.catchphrase"),icon:"i-heroicons-chat-bubble-bottom-center-text"},{id:"keyword",label:a("analysis.subTabs.ranking.keyword"),icon:"i-heroicons-magnifying-glass"}]),m=y(()=>({startTs:t.timeFilter?.startTs,endTs:t.timeFilter?.endTs})),w=y(()=>({...m.value,memberId:c.value}));return z(v,f=>{f.some(u=>u.id===r.value)||(r.value=f[0]?.id??"hot-repeat")},{immediate:!0}),(f,u)=>(o(),I("div",ll,[x(e(Ue),{modelValue:r.value,"onUpdate:modelValue":u[1]||(u[1]=i=>r.value=i),items:v.value,"persist-key":"groupRankingTab"},{right:T(()=>[r.value==="catchphrase"?(o(),C(Ge,{key:0,modelValue:c.value,"onUpdate:modelValue":u[0]||(u[0]=i=>c.value=i),"session-id":t.sessionId},null,8,["modelValue","session-id"])):N("",!0)]),_:1},8,["modelValue","items"]),s("div",il,[x(Te,{name:"fade",mode:"out-in"},{default:T(()=>[r.value==="overall"?(o(),C(nl,{key:0,"session-id":t.sessionId,"time-filter":m.value},null,8,["session-id","time-filter"])):r.value==="keyword"?(o(),I("div",rl,[x(un,{"session-id":t.sessionId,"time-filter":m.value},null,8,["session-id","time-filter"])])):r.value==="hot-repeat"?(o(),C(e(ko),{key:2,"session-id":t.sessionId,"time-filter":m.value},null,8,["session-id","time-filter"])):r.value==="catchphrase"?(o(),C(e(ro),{key:3,"session-id":t.sessionId,"time-filter":w.value},null,8,["session-id","time-filter"])):N("",!0)]),_:1})])]))}}),cl=Se(ul,[["__scopeId","data-v-d8d145dc"]]),dl={class:"main-content max-w-5xl p-6"},ml={class:"mb-4 text-sm text-gray-500 dark:text-gray-400 no-capture"},vl={key:0,class:"divide-y divide-gray-100 dark:divide-gray-800"},pl={class:"w-32 shrink-0 pt-0.5 font-medium text-gray-900 dark:text-white"},hl={class:"flex flex-1 flex-wrap items-center gap-2"},gl={class:"flex items-center gap-1.5 rounded-lg bg-gray-50 px-3 py-1.5 dark:bg-gray-800"},fl={class:"text-xs text-gray-400"},yl={key:0,class:"text-gray-300 dark:text-gray-600"},bl=A({__name:"NicknameHistory",props:{sessionId:{}},setup(l){const{t}=J(),a=l,n=S([]),r=S([]),c=S(!1);function d(w){return w.groupNickname||w.accountName||w.platformId}async function v(){if(a.sessionId)try{n.value=await Q().getMembers(a.sessionId)}catch(w){console.error("加载成员列表失败:",w)}}async function m(){if(!a.sessionId||n.value.length===0)return;c.value=!0;const w=[];try{const f=n.value.map(i=>Q().getMemberNameHistory(a.sessionId,i.id)),u=await Promise.all(f);n.value.forEach((i,p)=>{const $=u[p];$.length>2&&w.push({memberId:i.id,name:d(i),history:$})}),r.value=w}catch(f){console.error("加载昵称变更记录失败:",f)}finally{c.value=!1}}return z(()=>a.sessionId,async()=>{await v()},{immediate:!0}),z(()=>n.value.length,()=>{n.value.length>0&&m()}),Ce(async()=>{n.value.length===0&&await v()}),(w,f)=>{const u=je;return o(),I("div",dl,[s("p",ml,g(e(t)("members.nicknameHistory.note")),1),x(e(P),{title:e(t)("members.nicknameHistory.title"),description:c.value?e(t)("members.nicknameHistory.loading"):r.value.length>0?e(t)("members.nicknameHistory.hasChanges",{count:r.value.length}):e(t)("members.nicknameHistory.noChanges")},{default:T(()=>[!c.value&&r.value.length>0?(o(),I("div",vl,[(o(!0),I(q,null,Z(r.value,i=>(o(),I("div",{key:i.memberId,class:"flex items-start gap-3 px-5 py-3"},[s("div",pl,g(i.name),1),s("div",hl,[(o(!0),I(q,null,Z(i.history,(p,$)=>(o(),I(q,{key:$},[s("div",gl,[s("span",{class:K(["text-sm",p.endTs===null?"font-semibold text-pink-600":"text-gray-700 dark:text-gray-300"])},g(p.name),3),p.endTs===null?(o(),C(u,{key:0,color:"primary",variant:"soft",size:"xs"},{default:T(()=>[X(g(e(t)("members.nicknameHistory.current")),1)]),_:1})):N("",!0),s("span",fl,"("+g(e(Zt)(p.startTs,p.endTs))+")",1)]),$<i.history.length-1?(o(),I("span",yl,"→")):N("",!0)],64))),128))])]))),128))])):c.value?(o(),C(e(te),{key:2,text:e(t)("members.nicknameHistory.loadingText")},null,8,["text"])):(o(),C(e(ne),{key:1,text:e(t)("members.nicknameHistory.empty")},null,8,["text"]))]),_:1},8,["title","description"])])}}}),xl={class:"flex h-full flex-col overflow-hidden bg-white dark:bg-page-dark"},kl={class:"flex flex-none items-center justify-between border-b border-gray-200 px-5 py-3 dark:border-gray-700"},wl={class:"text-lg font-semibold text-gray-900 dark:text-white"},_l={class:"flex-1 overflow-auto"},$l=A({__name:"NicknameHistoryEntry",props:{sessionId:{}},setup(l){const{t}=J(),a=l,n=S(!1);return(r,c)=>{const d=he,v=Ie;return o(),I(q,null,[x(d,{variant:"ghost",icon:"i-heroicons-clock",size:"sm",onClick:c[0]||(c[0]=m=>n.value=!0)},{default:T(()=>[X(g(e(t)("analysis.subTabs.member.nicknameHistory")),1)]),_:1}),a.sessionId?(o(),C(v,{key:0,open:n.value,"onUpdate:open":c[2]||(c[2]=m=>n.value=m),ui:{content:"max-w-6xl h-[85vh]"}},{content:T(()=>[s("div",xl,[s("div",kl,[s("h2",wl,g(e(t)("analysis.subTabs.member.nicknameHistory")),1),x(d,{variant:"ghost",icon:"i-heroicons-x-mark",size:"sm",onClick:c[1]||(c[1]=m=>n.value=!1)})]),s("div",_l,[x(bl,{"session-id":a.sessionId},null,8,["session-id"])])])]),_:1},8,["open"])):N("",!0)],64)}}}),Cl={class:"flex h-full flex-col dark:bg-page-dark",style:{"padding-top":"var(--titlebar-area-height)"}},Il={class:"relative flex-1 overflow-y-auto"},Tl={class:"h-full"},Sl={key:2,class:"flex h-full items-center justify-center"},Vl={class:"text-gray-500"},Rl={class:"flex h-full flex-col overflow-hidden bg-white dark:bg-page-dark"},Ml={class:"flex flex-none items-center justify-between border-b border-gray-200 px-5 py-3 dark:border-gray-700"},Ll={class:"text-lg font-semibold text-gray-900 dark:text-white"},Dl={class:"text-sm text-gray-500 dark:text-gray-400"},Nl={class:"flex items-center gap-2"},Al={class:"flex-1 overflow-hidden"},Ul=A({__name:"index",setup(l){const t=_t(()=>$t(()=>import("./MessageExportModal-CZge6qub.js"),__vite__mapDeps([0,1,2,3]))),{t:a}=J(),n=kt(),r=wt(),c=ft(),d=Fe(),v=yt(),{currentSessionId:m}=bt(c),w=S(!1),f=S(!1),u=S(!1),i=S(!1),p=S(!1);function $(){d.openChatRecordDrawer({})}const h=[{id:"insights",labelKey:"analysis.tabs.insights",icon:"i-heroicons-presentation-chart-bar"},{id:"ranking",labelKey:"analysis.tabs.ranking",icon:"i-heroicons-trophy"},{id:"ai-chat",labelKey:"analysis.tabs.aiChat",icon:"i-heroicons-chat-bubble-left-ellipsis"},{id:"lab",labelKey:"analysis.tabs.lab",icon:"i-heroicons-beaker"}],b=y(()=>v.debugMode?[...h,{id:"debug",labelKey:"analysis.tabs.debug",icon:"i-heroicons-bug-ant"}]:h),k=y(()=>b.value.map(re=>re.id)),{activeTab:_,isLoading:V,isInitialLoad:O,session:j,memberActivity:B,hourlyActivity:U,dailyActivity:E,messageTypes:se,timeRangeValue:Y,fullTimeRange:ee,availableYears:G,timeFilter:M,initialTimeState:W,loadData:me}=Mt({route:n,router:r,currentSessionId:m,selectSession:c.selectSession,defaultTab:v.defaultSessionTab,validTabIds:k.value}),_e=y(()=>B.value.reduce((re,L)=>re+L.messageCount,0)),Re=y(()=>B.value.filter(re=>re.messageCount>0).length);return(re,L)=>{const ue=he,Me=Ie;return o(),I("div",Cl,[e(O)?(o(),C(te,{key:0,variant:"page",text:e(a)("analysis.groupChat.loading")},null,8,["text"])):e(j)?(o(),I(q,{key:1},[x(Lt,{"active-tab":e(_),"onUpdate:activeTab":L[0]||(L[0]=H=>He(_)?_.value=H:null),"time-range-value":e(Y),"onUpdate:timeRangeValue":L[1]||(L[1]=H=>He(Y)?Y.value=H:null),title:e(j).name,avatar:e(j).groupAvatar,icon:"i-heroicons-chat-bubble-left-right","icon-class":"bg-primary-600 text-white dark:bg-primary-500 dark:text-white",tabs:b.value,"current-session-id":e(m),"initial-time-state":e(W),onOpenIncrementalImport:L[2]||(L[2]=H=>u.value=!0),onOpenMemberManagement:L[3]||(L[3]=H=>p.value=!0),onOpenChatRecord:$,"onUpdate:fullRange":L[4]||(L[4]=H=>ee.value=H),"onUpdate:availableYears":L[5]||(L[5]=H=>G.value=H)},null,8,["active-tab","time-range-value","title","avatar","tabs","current-session-id","initial-time-state"]),s("div",Il,[e(V)?(o(),C(te,{key:0,variant:"overlay"})):N("",!0),s("div",Tl,[x(Te,{name:"tab-slide",mode:"out-in"},{default:T(()=>[e(_)==="insights"?(o(),C(Ro,{key:"insights-"+e(m),"session-id":e(m),session:e(j),"member-activity":e(B),"message-types":e(se),"hourly-activity":e(U),"daily-activity":e(E),"time-range":e(ee),"filtered-message-count":_e.value,"filtered-member-count":Re.value,"time-filter":e(M)},null,8,["session-id","session","member-activity","message-types","hourly-activity","daily-activity","time-range","filtered-message-count","filtered-member-count","time-filter"])):e(_)==="ranking"?(o(),C(cl,{key:"ranking-"+e(m),"session-id":e(m),"time-filter":e(M)},null,8,["session-id","time-filter"])):e(_)==="ai-chat"?(o(),C(e(Ut),{key:"ai-chat-"+e(m),"session-id":e(m),"session-name":e(j).name,"chat-type":"group"},null,8,["session-id","session-name"])):e(_)==="memory"?(o(),C(Ft,{key:"memory-"+e(m),"session-id":e(m),"session-name":e(j).name},null,8,["session-id","session-name"])):e(_)==="lab"?(o(),C(Bt,{key:"lab-"+e(m),"session-id":e(m),"chat-type":"group"},null,8,["session-id"])):e(_)==="debug"?(o(),C(e(qt),{key:"debug-"+e(m),"session-id":e(m)},null,8,["session-id"])):N("",!0)]),_:1})])]),x(Dt,{onOpenIncrementalImport:L[6]||(L[6]=H=>u.value=!0),onOpenSemanticIndex:L[7]||(L[7]=H=>w.value=!0),onOpenMemberManagement:L[8]||(L[8]=H=>p.value=!0),onOpenChatRecord:$,onOpenMessageExport:L[9]||(L[9]=H=>i.value=!0)})],64)):(o(),I("div",Sl,[s("p",Vl,g(e(a)("analysis.groupChat.loadError")),1)])),e(m)&&e(j)?(o(),C(Nt,{key:3,modelValue:w.value,"onUpdate:modelValue":L[10]||(L[10]=H=>w.value=H),"session-id":e(m),"message-count":e(j).messageCount},null,8,["modelValue","session-id","message-count"])):N("",!0),e(m)&&e(j)?(o(),C(xt,{key:4,modelValue:f.value,"onUpdate:modelValue":L[11]||(L[11]=H=>f.value=H),"session-id":e(m),"chat-type":"group","auto-check":""},null,8,["modelValue","session-id"])):N("",!0),e(m)&&e(j)?(o(),C(At,{key:5,modelValue:u.value,"onUpdate:modelValue":L[12]||(L[12]=H=>u.value=H),"session-id":e(m),"session-name":e(j).name,onImported:L[13]||(L[13]=()=>{e(me)(),e(c).loadSessions()})},null,8,["modelValue","session-id","session-name"])):N("",!0),e(m)?(o(),C(e(t),{key:6,modelValue:i.value,"onUpdate:modelValue":L[14]||(L[14]=H=>i.value=H)},null,8,["modelValue"])):N("",!0),e(m)?(o(),C(Me,{key:7,open:p.value,"onUpdate:open":L[16]||(L[16]=H=>p.value=H),ui:{content:"max-w-6xl h-[85vh]"}},{content:T(()=>[s("div",Rl,[s("div",Ml,[s("div",null,[s("h2",Ll,g(e(a)("analysis.tooltip.memberManagement")),1),s("p",Dl,g(e(a)("members.list.description",{count:e(j)?.memberCount??0})),1)]),s("div",Nl,[x($l,{"session-id":e(m)},null,8,["session-id"]),x(ue,{variant:"ghost",icon:"i-heroicons-x-mark",size:"sm",onClick:L[15]||(L[15]=H=>p.value=!1)})])]),s("div",Al,[x(zt,{"session-id":e(m),"show-header":!1,"chat-type":"group",onDataChanged:e(me)},null,8,["session-id","onDataChanged"])])])]),_:1},8,["open"])):N("",!0)])}}}),Xl=Se(Ul,[["__scopeId","data-v-a60937b1"]]);export{Xl as default};
@@ -0,0 +1 @@
1
+ .language-select-modal[data-v-6045af6c],.agreement-modal[data-v-e20fb787]{-webkit-app-region:no-drag}.agreement-content[data-v-e20fb787]{font-size:.875rem;line-height:1.6;color:var(--color-gray-600)}:root.dark .agreement-content[data-v-e20fb787]{color:var(--color-gray-300)}.agreement-content[data-v-e20fb787] h2{font-size:.95rem;font-weight:600;color:var(--color-gray-900);margin-top:1.25rem;margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:1px solid var(--color-gray-200)}:root.dark .agreement-content[data-v-e20fb787] h2{color:var(--color-gray-100);border-bottom-color:var(--color-gray-700)}.agreement-content[data-v-e20fb787] h2:first-child{margin-top:0}.agreement-content[data-v-e20fb787] ul{margin:.5rem 0;padding-left:1.25rem;list-style:none}.agreement-content[data-v-e20fb787] li{position:relative;margin-bottom:.375rem;padding-left:.5rem}.agreement-content[data-v-e20fb787] li:before{content:"•";position:absolute;left:-.75rem;color:var(--color-pink-500);font-weight:700}.agreement-content[data-v-e20fb787] strong{font-weight:600;color:var(--color-gray-800)}:root.dark .agreement-content[data-v-e20fb787] strong{color:var(--color-gray-200)}.agreement-content[data-v-e20fb787] p{margin:.5rem 0}.agreement-content[data-v-e20fb787] a{color:var(--color-pink-500);text-decoration:none}.agreement-content[data-v-e20fb787] a:hover{text-decoration:underline}