chatlab-cli 0.37.3 → 0.37.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -0
- package/dist/{chat-command-RQC44FPF.mjs → chat-command-DJKSQP6Y.mjs} +8 -8
- package/dist/{chunk-E6IRRNBQ.mjs → chunk-3K7F2SRZ.mjs} +3 -3
- package/dist/{chunk-GDKQKHJT.mjs → chunk-ARRFRJOH.mjs} +2 -2
- package/dist/{chunk-HJWBFHNR.mjs → chunk-D6BRSG3V.mjs} +4 -4
- package/dist/{chunk-4FAEB4C2.mjs → chunk-DJ7QEJNO.mjs} +12 -12
- package/dist/{chunk-O57SQSCO.mjs → chunk-JWWWLW5G.mjs} +2 -2
- package/dist/{chunk-ZOHSWBD2.mjs → chunk-NKSPJN6X.mjs} +108 -7
- package/dist/chunk-NKSPJN6X.mjs.map +1 -0
- package/dist/{chunk-5OA4QI3Q.mjs → chunk-NVW3ZCYD.mjs} +3 -3
- package/dist/{chunk-LUENE6L7.mjs → chunk-OXRS2UPE.mjs} +4 -4
- package/dist/{chunk-ZGXXAPLX.mjs → chunk-QP77JL6O.mjs} +2 -2
- package/dist/{chunk-E2ZFGNZQ.mjs → chunk-VCKF7RYB.mjs} +11 -11
- package/dist/{chunk-IDDTW5JN.mjs → chunk-WBPOMYBE.mjs} +8 -6
- package/dist/{chunk-IDDTW5JN.mjs.map → chunk-WBPOMYBE.mjs.map} +1 -1
- package/dist/{chunk-IMJVOODY.mjs → chunk-YPP3N2AX.mjs} +2 -2
- package/dist/cli.mjs +9 -9
- package/dist/contacts-worker.mjs +2 -2
- package/dist/global-insight-worker.mjs +1 -1
- package/dist/{http-QJDZKDNJ.mjs → http-O4AZUIOD.mjs} +12 -12
- package/dist/{import-XK6YM26A.mjs → import-IALJQB7V.mjs} +7 -7
- package/dist/index.mjs +12 -12
- package/dist/{mcp-DMGZFSYN.mjs → mcp-VNBL4WMM.mjs} +8 -8
- package/dist/people-relationships-worker.mjs +2 -2
- package/dist/semantic-index-worker.mjs +1 -1
- package/dist/{src-4AHJUFCW.mjs → src-6ICLBMOR.mjs} +6 -6
- package/dist/{stream-import-7VQVT5ST.mjs → stream-import-NKQYYSGZ.mjs} +7 -7
- package/dist/{worker-runtime-PQBAV75N.mjs → worker-runtime-AE2I6U2G.mjs} +5 -5
- package/dist-cli-web/assets/{AISettingsTab-qS3XKnvh.js → AISettingsTab-mecu-HsX.js} +1 -1
- package/dist-cli-web/assets/{AboutTab-K-i40dPv.js → AboutTab-CgXYD50w.js} +1 -1
- package/dist-cli-web/assets/{Alert-GSvA5B7J.js → Alert-DR892gaV.js} +1 -1
- package/dist-cli-web/assets/{ApiSettingsTab-DIVGTR3g.js → ApiSettingsTab-Cvw8gStg.js} +1 -1
- package/dist-cli-web/assets/{BatchManageTab-CJhwvYWV.js → BatchManageTab-DqSEzAtr.js} +1 -1
- package/dist-cli-web/assets/{BufferResource-Cjm0m7sF.js → BufferResource-rydt5j-b.js} +1 -1
- package/dist-cli-web/assets/{CanvasRenderer-C-fmrahh.js → CanvasRenderer-Ci5IaFxW.js} +1 -1
- package/dist-cli-web/assets/{CardDecoration-Cz54ZPyh.js → CardDecoration-8F4sZO4v.js} +1 -1
- package/dist-cli-web/assets/{ChatRecordDrawer-Cst8zTUv.js → ChatRecordDrawer-D3LzSRkL.js} +1 -1
- package/dist-cli-web/assets/{ChatRecordWorkspace-DKVKaimw.js → ChatRecordWorkspace-BDCIAjm3.js} +1 -1
- package/dist-cli-web/assets/{Checkbox-CrlY3jiJ.js → Checkbox-I1cjN4s_.js} +1 -1
- package/dist-cli-web/assets/{DataDirCleanupNotice-Cjqiub4e.js → DataDirCleanupNotice-8zcIOyGl.js} +1 -1
- package/dist-cli-web/assets/{DatePicker.vue_vue_type_script_setup_true_lang-BYY2UmPA.js → DatePicker.vue_vue_type_script_setup_true_lang-DWWzQOTU.js} +1 -1
- package/dist-cli-web/assets/{DebugToolsPanel-I00RV_Lr.js → DebugToolsPanel-CiGd5ttA.js} +1 -1
- package/dist-cli-web/assets/{EChart.vue_vue_type_script_setup_true_lang-CRTZh9kh.js → EChart.vue_vue_type_script_setup_true_lang-Rk-Bu-rv.js} +1 -1
- package/dist-cli-web/assets/{EChartBar.vue_vue_type_script_setup_true_lang-DjDFhnN9.js → EChartBar.vue_vue_type_script_setup_true_lang-CB_KuKt4.js} +1 -1
- package/dist-cli-web/assets/{EChartLine.vue_vue_type_script_setup_true_lang-BLqlW9E4.js → EChartLine.vue_vue_type_script_setup_true_lang-5iW9KPRe.js} +1 -1
- package/dist-cli-web/assets/{EChartWordcloud-ChKJM8bU.js → EChartWordcloud-BiN68kpp.js} +1 -1
- package/dist-cli-web/assets/{FileDropZone.vue_vue_type_script_setup_true_lang-CsRmQhVQ.js → FileDropZone.vue_vue_type_script_setup_true_lang-DpK_xXUN.js} +1 -1
- package/dist-cli-web/assets/{Filter-Duzxgudo.js → Filter-Tmam9FK9.js} +1 -1
- package/dist-cli-web/assets/{GlobalTaskBar-DL0IJxlt.js → GlobalTaskBar-B77auVn7.js} +1 -1
- package/dist-cli-web/assets/{GroupRelationshipGalaxyView-BZrB2o2g.js → GroupRelationshipGalaxyView-DAmdqVxU.js} +1 -1
- package/dist-cli-web/assets/{Label-CaVKlQnJ.js → Label-DTrL45eR.js} +1 -1
- package/dist-cli-web/assets/{LoadingState.vue_vue_type_script_setup_true_lang-uF54r-dT.js → LoadingState.vue_vue_type_script_setup_true_lang-DH0zYa8f.js} +1 -1
- package/dist-cli-web/assets/{MessageExportModal-JpurBsUW.js → MessageExportModal-DgvQvcc5.js} +1 -1
- package/dist-cli-web/assets/{PageHeader-BciykZ_-.js → PageHeader-C-UYITO9.js} +1 -1
- package/dist-cli-web/assets/{PageTabs.vue_vue_type_script_setup_true_lang-2Xe2iUFO.js → PageTabs.vue_vue_type_script_setup_true_lang-BV344PR7.js} +1 -1
- package/dist-cli-web/assets/{RelationshipGalaxyCanvas-BO5-MowG.js → RelationshipGalaxyCanvas-Bzh-vQI8.js} +3 -3
- package/dist-cli-web/assets/{RelationshipGalaxyThreeCanvas-Dp4CcWU5.js → RelationshipGalaxyThreeCanvas--DDkxCCc.js} +1 -1
- package/dist-cli-web/assets/{RenderTargetSystem-CfuoUG_y.js → RenderTargetSystem-BP0KBa7R.js} +1 -1
- package/dist-cli-web/assets/{RovingFocusItem-FpYwYEP_.js → RovingFocusItem-BAQO8BlG.js} +1 -1
- package/dist-cli-web/assets/{ScreenCaptureModal-cElYPaSj.js → ScreenCaptureModal-DtAB4lyN.js} +1 -1
- package/dist-cli-web/assets/{SectionTabs.vue_vue_type_script_setup_true_lang-pVQMbTsj.js → SectionTabs.vue_vue_type_script_setup_true_lang-DjUq1i7-.js} +1 -1
- package/dist-cli-web/assets/{Select-H8Fz6RkU.js → Select-CaRAtYOu.js} +1 -1
- package/dist-cli-web/assets/{SettingsModal-52Fw4fVW.js → SettingsModal-BKu9l7vR.js} +2 -2
- package/dist-cli-web/assets/{StorageTab-BnugE5BO.js → StorageTab-DWUzStD4.js} +1 -1
- package/dist-cli-web/assets/{Switch-K4aqYC4Y.js → Switch-mMuTJ87v.js} +1 -1
- package/dist-cli-web/assets/{Tabs-DJ5p8gb6.js → Tabs-B0DXvZn9.js} +1 -1
- package/dist-cli-web/assets/{Tabs-BXjD45rO.js → Tabs-Bw65ChMB.js} +1 -1
- package/dist-cli-web/assets/{ThemeCard.vue_vue_type_script_setup_true_lang-BLmTpx4f.js → ThemeCard.vue_vue_type_script_setup_true_lang-CFSCaL65.js} +1 -1
- package/dist-cli-web/assets/{TimeSelect.vue_vue_type_script_setup_true_lang-geQAlopO.js → TimeSelect.vue_vue_type_script_setup_true_lang-sP4Z2nbi.js} +1 -1
- package/dist-cli-web/assets/{VisuallyHiddenInput-J2KEIQBX.js → VisuallyHiddenInput-Cy3d6wW5.js} +1 -1
- package/dist-cli-web/assets/{WebGLRenderer-BDFzRniS.js → WebGLRenderer-C86bSgXH.js} +1 -1
- package/dist-cli-web/assets/{WebGPURenderer-BKYZyUCZ.js → WebGPURenderer-EcnRVF_C.js} +1 -1
- package/dist-cli-web/assets/{aiChat-CdJzpNYW.js → aiChat-ZrHuq9Eb.js} +3 -3
- package/dist-cli-web/assets/{base-129JztT1.js → base-DwqzgeyP.js} +1 -1
- package/dist-cli-web/assets/{browserAll-CZNZDK1i.js → browserAll-DUX8qJC8.js} +1 -1
- package/dist-cli-web/assets/{chatMessages-zmzHCUCy.js → chatMessages-By6kR5_1.js} +3 -3
- package/dist-cli-web/assets/{cli-web-_WGCg-ZY.js → cli-web-JlckDfz0.js} +1 -1
- package/dist-cli-web/assets/{fetch-Dw33HaVP.js → fetch-Bhl8mtJ2.js} +1 -1
- package/dist-cli-web/assets/{fetch-B7Tdp7Uo.js → fetch-BjtwVVBg.js} +1 -1
- package/dist-cli-web/assets/{fetch-DaeoNUip.js → fetch-BpoJa14b.js} +1 -1
- package/dist-cli-web/assets/{fetch-DTPDtL38.js → fetch-CY5yJNTL.js} +1 -1
- package/dist-cli-web/assets/{fetch-DOsmgros.js → fetch-ChSI9rRd.js} +1 -1
- package/dist-cli-web/assets/{fetch-BBdyPNj3.js → fetch-CuySZ9TW.js} +1 -1
- package/dist-cli-web/assets/{fetch-C4W6tD-D.js → fetch-DS-lTLBb.js} +1 -1
- package/dist-cli-web/assets/{fetch-Di4QpfqL.js → fetch-Dkyidev6.js} +1 -1
- package/dist-cli-web/assets/{fetch-sbr95ipd.js → fetch-DtqHZHIT.js} +1 -1
- package/dist-cli-web/assets/{fetch-DgHdAlO7.js → fetch-GYzy1nua.js} +1 -1
- package/dist-cli-web/assets/{fetch-Bafz8jLM.js → fetch-LZAcmdq3.js} +1 -1
- package/dist-cli-web/assets/{fetch-IP6i-mtr.js → fetch-w66ywFn5.js} +1 -1
- package/dist-cli-web/assets/{host-CMnAiJSx.js → host-CBXwW7_e.js} +1 -1
- package/dist-cli-web/assets/{host-CuuNLUWx.js → host-CDCKLdfF.js} +1 -1
- package/dist-cli-web/assets/{index-DhRaZS6z.js → index-3KDkw8sV.js} +1 -1
- package/dist-cli-web/assets/{index-fsLAooCi.js → index-BAjafcRU.js} +1 -1
- package/dist-cli-web/assets/{index-BOXh7X5Y.js → index-BLO0CYvx.js} +1 -1
- package/dist-cli-web/assets/{index-BepItDCQ.js → index-BVoFqt2r.js} +4 -4
- package/dist-cli-web/assets/{index-Dz4yfeg6.js → index-CYmoNVAj.js} +1 -1
- package/dist-cli-web/assets/{index-bQ9oj54q.js → index-D07viL9P.js} +4 -4
- package/dist-cli-web/assets/{index-CN9WMxb3.js → index-DD7RFB6N.js} +2 -2
- package/dist-cli-web/assets/index-DEafpen2.js +137 -0
- package/dist-cli-web/assets/{index-BmGA3geF.js → index-D_CX3gzo.js} +1 -1
- package/dist-cli-web/assets/{index-EtteazuD.js → index-D_SJKdur.js} +1 -1
- package/dist-cli-web/assets/{index-DgCXdbsG.js → index-RqQZ2vvr.js} +2 -2
- package/dist-cli-web/assets/{index-BBYtZa7g.js → index-T_aveLoS.js} +1 -1
- package/dist-cli-web/assets/{index-BZpR015e.css → index-XC-s67UA.css} +1 -1
- package/dist-cli-web/assets/{index-Chh0gCp7.js → index-fhyFEtxF.js} +1 -1
- package/dist-cli-web/assets/{index-C-u3l4Uh.js → index-sMeHjrc9.js} +1 -1
- package/dist-cli-web/assets/{people-page-header-CKXRSnpl.js → people-page-header-DPOKmbHG.js} +1 -1
- package/dist-cli-web/assets/{prompt-DNxAd1Bj.js → prompt-ipERjPzE.js} +1 -1
- package/dist-cli-web/assets/{semantic-index-config-builder-CQ27G4TK.js → semantic-index-config-builder-CjJ4q8PF.js} +1 -1
- package/dist-cli-web/assets/service-2UJZvVpa.js +1 -0
- package/dist-cli-web/assets/{service-BwbGKwDn.js → service-CAdsM9Hy.js} +1 -1
- package/dist-cli-web/assets/service-i_PJfTaR.js +1 -0
- package/dist-cli-web/assets/useFormControl-BPt9mIxj.js +1 -0
- package/dist-cli-web/assets/{useInsightTabAnalytics-DaU_ADbQ.js → useInsightTabAnalytics-s3wcN9Eo.js} +4 -4
- package/dist-cli-web/assets/{useTable-BYXxnZMd.js → useTable-DOM-gqX0.js} +1 -1
- package/dist-cli-web/assets/{useToast-DPkgv34s.js → useToast-BzK6i1Tk.js} +1 -1
- package/dist-cli-web/assets/{webworkerAll-Um4PrCaA.js → webworkerAll-ClkzpxNT.js} +1 -1
- package/dist-cli-web/index.html +2 -2
- package/package.json +1 -1
- package/dist/chunk-ZOHSWBD2.mjs.map +0 -1
- package/dist-cli-web/assets/index-GNMlsoVH.js +0 -137
- package/dist-cli-web/assets/service-DQjyjQZx.js +0 -1
- package/dist-cli-web/assets/service-Dtve_40X.js +0 -1
- package/dist-cli-web/assets/useFormControl-CNmp_2bd.js +0 -1
- /package/dist/{chat-command-RQC44FPF.mjs.map → chat-command-DJKSQP6Y.mjs.map} +0 -0
- /package/dist/{chunk-E6IRRNBQ.mjs.map → chunk-3K7F2SRZ.mjs.map} +0 -0
- /package/dist/{chunk-GDKQKHJT.mjs.map → chunk-ARRFRJOH.mjs.map} +0 -0
- /package/dist/{chunk-HJWBFHNR.mjs.map → chunk-D6BRSG3V.mjs.map} +0 -0
- /package/dist/{chunk-4FAEB4C2.mjs.map → chunk-DJ7QEJNO.mjs.map} +0 -0
- /package/dist/{chunk-O57SQSCO.mjs.map → chunk-JWWWLW5G.mjs.map} +0 -0
- /package/dist/{chunk-5OA4QI3Q.mjs.map → chunk-NVW3ZCYD.mjs.map} +0 -0
- /package/dist/{chunk-LUENE6L7.mjs.map → chunk-OXRS2UPE.mjs.map} +0 -0
- /package/dist/{chunk-ZGXXAPLX.mjs.map → chunk-QP77JL6O.mjs.map} +0 -0
- /package/dist/{chunk-E2ZFGNZQ.mjs.map → chunk-VCKF7RYB.mjs.map} +0 -0
- /package/dist/{chunk-IMJVOODY.mjs.map → chunk-YPP3N2AX.mjs.map} +0 -0
- /package/dist/{http-QJDZKDNJ.mjs.map → http-O4AZUIOD.mjs.map} +0 -0
- /package/dist/{import-XK6YM26A.mjs.map → import-IALJQB7V.mjs.map} +0 -0
- /package/dist/{mcp-DMGZFSYN.mjs.map → mcp-VNBL4WMM.mjs.map} +0 -0
- /package/dist/{src-4AHJUFCW.mjs.map → src-6ICLBMOR.mjs.map} +0 -0
- /package/dist/{stream-import-7VQVT5ST.mjs.map → stream-import-NKQYYSGZ.mjs.map} +0 -0
- /package/dist/{worker-runtime-PQBAV75N.mjs.map → worker-runtime-AE2I6U2G.mjs.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MessageExportModal-
|
|
2
|
-
import{d as K,a6 as Y,ac as ge,K as X,x as ve,y as he,o as n,f as V,g as t,w as H,c as u,a as e,p as o,F as O,j as G,n as F,l as B,z as j,a7 as ee,O as pe,e as $,b as U,J as Re,L as Ce,ar as Le,r as Be,a8 as De,a9 as $e,a5 as Ne,aD as Ve,ay as Fe,ap as Oe,ab as Ue,aA as Ee,be as Pe,aE as We,bs as He,aa as Je,bt as Ge,H as Ke,ah as Ye}from"./index-bQ9oj54q.js";import{_ as Se,a as Me,b as le,c as Qe,d as Xe,u as Ze,e as et,I as tt,f as at,g as st,h as nt,i as it,j as ot,k as rt,C as lt,l as ct,M as ut,m as dt,n as mt,o as pt,p as gt}from"./useInsightTabAnalytics-DaU_ADbQ.js";import{_ as vt}from"./SectionTabs.vue_vue_type_script_setup_true_lang-pVQMbTsj.js";import{_ as ht}from"./Select-H8Fz6RkU.js";import{_ as xe,L as xt}from"./LoadingState.vue_vue_type_script_setup_true_lang-uF54r-dT.js";import{T as Ae}from"./Tabs-BXjD45rO.js";import{_ as Te}from"./EChart.vue_vue_type_script_setup_true_lang-CRTZh9kh.js";import"./vendor-echarts-wordcloud-DNiU8Psq.js";import{u as fe,x as ft,q as ye,j as be,i as se,m as qe,t as ze,s as yt,k as bt}from"./vendor-echarts-C9ugTmum.js";import{_ as ke}from"./ThemeCard.vue_vue_type_script_setup_true_lang-BLmTpx4f.js";import{g as kt}from"./base-129JztT1.js";import{i as Ie}from"./chatMessages-zmzHCUCy.js";import{_ as _t}from"./useTable-BYXxnZMd.js";import"./vendor-snapdom--nZvo8Sg.js";import"./index-BmGA3geF.js";import"./useToast-DPkgv34s.js";import"./service-BwbGKwDn.js";import"./Checkbox-CrlY3jiJ.js";import"./useFormControl-CNmp_2bd.js";import"./VisuallyHiddenInput-J2KEIQBX.js";import"./RovingFocusItem-FpYwYEP_.js";import"./Label-CaVKlQnJ.js";import"./prompt-DNxAd1Bj.js";import"./aiChat-CdJzpNYW.js";import"./chatlabSiteLocale-CrCNb8QP.js";import"./ChatRecordWorkspace-DKVKaimw.js";import"./DatePicker.vue_vue_type_script_setup_true_lang-BYY2UmPA.js";import"./clamp-jFYhBC76.js";import"./EChartBar.vue_vue_type_script_setup_true_lang-DjDFhnN9.js";import"./Tabs-DJ5p8gb6.js";import"./semantic-index-config-builder-CQ27G4TK.js";import"./TimeSelect.vue_vue_type_script_setup_true_lang-geQAlopO.js";import"./CardDecoration-Cz54ZPyh.js";import"./EChartLine.vue_vue_type_script_setup_true_lang-BLqlW9E4.js";import"./PageHeader-BciykZ_-.js";import"./PageTabs.vue_vue_type_script_setup_true_lang-2Xe2iUFO.js";import"./Alert-GSvA5B7J.js";import"./FileDropZone.vue_vue_type_script_setup_true_lang-CsRmQhVQ.js";import"./vendor-zrender-D8psf1AA.js";const wt={key:0,class:"relative z-10 flex flex-col h-full"},$t={class:"flex flex-col sm:flex-row items-center sm:items-start gap-6 px-6 pt-8 pb-4 sm:px-8"},Ct={class:"w-full flex-1 min-w-0"},St={class:"flex items-center gap-x-2 sm:gap-x-3 mb-6 sm:mb-8"},Mt={class:"text-2xl sm:text-4xl font-black tracking-tight text-blue-600 dark:text-blue-400 truncate"},jt={class:"text-2xl sm:text-4xl font-black tracking-tight text-pink-600 dark:text-pink-400 truncate"},Pt={class:"grid grid-cols-2 gap-4 sm:gap-10"},Tt={class:"text-[10px] font-bold uppercase tracking-widest text-gray-400 dark:text-gray-500"},It={class:"flex flex-col gap-2.5"},Rt=["title","onClick"],Dt={class:"shrink-0 text-[10px] sm:text-xs font-semibold tabular-nums text-gray-400/80"},At={key:0,class:"text-xs sm:text-sm font-medium text-gray-400"},qt={class:"hidden shrink-0 sm:block"},zt={class:"px-6 pb-6 pt-2 sm:px-8 mt-auto"},Lt={class:"mb-3 flex items-center justify-between"},Bt={class:"text-[10px] font-bold uppercase tracking-widest text-gray-400 dark:text-gray-500"},Nt={class:"grid grid-cols-1 sm:grid-cols-3 gap-4"},Vt={class:"mb-4 flex items-center gap-2.5"},Ft={class:"text-sm font-bold tracking-wide text-gray-900 dark:text-white"},Ot={class:"flex items-center justify-between mb-4 w-full"},Ut={class:"flex flex-col flex-1 min-w-0"},Et={class:"truncate text-[10px] font-bold uppercase tracking-wider text-gray-400 mb-1"},Wt={class:"flex flex-col flex-1 min-w-0 items-end text-right"},Ht={class:"truncate text-[10px] font-bold uppercase tracking-wider text-gray-400 mb-1"},Jt={class:"mt-auto pt-3 border-t border-gray-100 dark:border-white/5 flex flex-col"},Gt={key:0,class:"flex items-start justify-between gap-2 mb-2 min-h-[24px]"},Kt={class:"flex flex-1 flex-nowrap overflow-hidden gap-1"},Yt={key:0,class:"text-[11px] text-gray-400"},Qt={class:"flex flex-1 flex-nowrap overflow-hidden gap-1 justify-end"},Xt={key:0,class:"text-[11px] text-gray-400"},Zt={key:1,class:"flex flex-nowrap overflow-hidden items-center gap-x-1.5 mb-2 min-h-[24px]"},ea=["onClick"],ta={key:0,class:"shrink-0 text-gray-300 dark:text-gray-600 font-normal"},aa={key:0,class:"text-[11px] text-gray-400"},sa={class:"text-[10px] leading-relaxed text-gray-500 dark:text-gray-400"},na={class:"flex items-center justify-between px-6 pb-4 opacity-40 mix-blend-luminosity dark:opacity-30 sm:px-8 sm:pb-5"},ia={class:"flex items-center gap-1.5"},oa={class:"text-[9px] font-medium uppercase tracking-widest"},ra=K({__name:"LanguagePreferenceCard",props:{data:{},enableRecordNavigation:{type:Boolean,default:!0}},emits:["wordClick"],setup(C,{emit:a}){fe([ft,ye,be]);const{t:s}=Y(),p=ge(),i=C,g=a,D=$(()=>i.data.members[0]),y=$(()=>i.data.members[1]);function v(r,l){return r.length<=l?r:r.slice(0,l)+"…"}function z(r){const l=r.posDistribution,c=l.noun+l.verb+l.adjective+l.adverb+l.modalParticle+l.interjection+l.other;return c===0?s("quotes.languagePreference.pos.styleBalanced"):l.noun/c>.5?s("quotes.languagePreference.pos.styleEncyclopedia"):l.verb/c>.45?s("quotes.languagePreference.pos.styleAction"):l.adjective/c>.3?s("quotes.languagePreference.pos.styleExpressive"):s("quotes.languagePreference.pos.styleBalanced")}function A(r){const c=[["ellipsis",r.ellipsis],["exclamation",r.exclamation],["question",r.question],["tilde",r.tilde],["noPunct",r.noPunct],["period",r.period]].reduce((k,P)=>k[1]>=P[1]?k:P);return{ellipsis:s("quotes.languagePreference.punctuation.personalityDeep"),exclamation:s("quotes.languagePreference.punctuation.personalityPassionate"),question:s("quotes.languagePreference.punctuation.personalityCurious"),tilde:s("quotes.languagePreference.punctuation.personalityCheerful"),noPunct:s("quotes.languagePreference.punctuation.personalityFreeflow"),period:s("quotes.languagePreference.punctuation.personalityPrecise")}[c[0]]||"-"}function w(r,l=5){return[["...",r.ellipsis],["!",r.exclamation],["?",r.question],["~",r.tilde],["。",r.period]].filter(([,m])=>m>0).sort((m,k)=>k[1]-m[1]).slice(0,l).map(([m])=>m)}const M=["#6366f1","#ec4899","#f97316","#22c55e","#3b82f6","#8b5cf6","#14b8a6","#f43f5e","#eab308","#06b6d4"],b=$(()=>{const r=D.value,l=y.value;if(!r||!l)return[];const c=i.data.sharedWords.slice(0,6).map((m,k)=>({word:m.word,color:M[k%M.length]}));return[{icon:"i-heroicons-book-open",iconBgClass:"bg-blue-100 dark:bg-blue-500/20",iconColorClass:"text-blue-600 dark:text-blue-400",title:s("quotes.languagePreference.card.diversityTitle"),leftName:r.name,leftValue:`${r.lexicalDiversity}%`,rightName:l.name,rightValue:`${l.lexicalDiversity}%`,valueClass:"text-lg text-blue-600 dark:text-blue-400",detail:{kind:"tags-single",tags:c},desc:s("quotes.languagePreference.card.diversityDesc")},{icon:"i-heroicons-sparkles",iconBgClass:"bg-violet-100 dark:bg-violet-500/20",iconColorClass:"text-violet-600 dark:text-violet-400",title:s("quotes.languagePreference.card.styleTitle"),leftName:r.name,leftValue:z(r),rightName:l.name,rightValue:z(l),valueClass:"text-xs text-violet-600 dark:text-violet-400",detail:{kind:"tags-vs",leftTags:r.modalParticles.slice(0,4).map(m=>m.word),rightTags:l.modalParticles.slice(0,4).map(m=>m.word)},desc:s("quotes.languagePreference.card.styleDesc")},{icon:"i-heroicons-finger-print",iconBgClass:"bg-orange-100 dark:bg-orange-500/20",iconColorClass:"text-orange-600 dark:text-orange-400",title:s("quotes.languagePreference.card.punctTitle"),leftName:r.name,leftValue:A(r.punctuation),rightName:l.name,rightValue:A(l.punctuation),valueClass:"text-xs text-orange-600 dark:text-orange-400",detail:{kind:"tags-vs",leftTags:w(r.punctuation,4),rightTags:w(l.punctuation,4)},desc:s("quotes.languagePreference.card.punctDesc")}]}),q=U(null);let S=null;function _(){q.value&&(S=se(q.value,void 0,{renderer:"canvas"}),f())}function f(){if(!S||!D.value||!y.value)return;const r=D.value.posDistribution,l=y.value.posDistribution,c=[{name:s("quotes.languagePreference.card.radarFactual"),max:0},{name:s("quotes.languagePreference.card.radarActive"),max:0},{name:s("quotes.languagePreference.card.radarDescriptive"),max:0},{name:s("quotes.languagePreference.card.radarAffable"),max:0},{name:s("quotes.languagePreference.card.radarIntense"),max:0}],m=[r.noun,r.verb,r.adjective,r.modalParticle+r.interjection,r.adverb],k=[l.noun,l.verb,l.adjective,l.modalParticle+l.interjection,l.adverb];for(let E=0;E<c.length;E++)c[E].max=Math.max(m[E],k[E],1)*1.3;const P=p.value?"#9ca3af":"#6b7280";S.setOption({backgroundColor:"transparent",tooltip:{trigger:"item"},legend:{bottom:0,itemWidth:10,itemHeight:10,textStyle:{fontSize:10,color:P},data:[D.value.name,y.value.name]},radar:{indicator:c,radius:"60%",center:["50%","50%"],splitArea:{areaStyle:{color:p.value?["rgba(255,255,255,0.02)","rgba(255,255,255,0.04)"]:["rgba(0,0,0,0.01)","rgba(0,0,0,0.03)"]}},axisName:{color:P,fontSize:10},splitLine:{lineStyle:{color:p.value?"rgba(255,255,255,0.08)":"rgba(0,0,0,0.06)"}},axisLine:{lineStyle:{color:p.value?"rgba(255,255,255,0.1)":"rgba(0,0,0,0.08)"}}},series:[{type:"radar",data:[{value:m,name:D.value.name,lineStyle:{color:"#3b82f6",width:2},areaStyle:{color:"rgba(59,130,246,0.15)"},itemStyle:{color:"#3b82f6"},symbol:"circle",symbolSize:4},{value:k,name:y.value.name,lineStyle:{color:"#ec4899",width:2},areaStyle:{color:"rgba(236,72,153,0.15)"},itemStyle:{color:"#ec4899"},symbol:"circle",symbolSize:4}]}]},{notMerge:!0})}function d(){S?.resize()}return X(()=>i.data,()=>f(),{deep:!0}),X(p,()=>{S?.dispose(),_()}),ve(()=>{_(),window.addEventListener("resize",d)}),he(()=>{window.removeEventListener("resize",d),S?.dispose()}),(r,l)=>{const c=ee;return n(),V(t(Se),null,{default:H(()=>[D.value&&y.value?(n(),u("div",wt,[e("div",$t,[e("div",Ct,[e("div",St,[e("span",Mt,o(D.value.name),1),l[0]||(l[0]=e("span",{class:"text-sm sm:text-lg font-black text-gray-300 dark:text-gray-600 italic px-1 sm:px-2 shrink-0"}," VS ",-1)),e("span",jt,o(y.value.name),1)]),e("div",Pt,[(n(!0),u(O,null,G([D.value,y.value],(m,k)=>(n(),u("div",{key:m.memberId,class:"flex flex-col gap-3"},[e("div",Tt,o(t(s)("quotes.languagePreference.card.topCatchphrases")),1),e("div",It,[(n(!0),u(O,null,G(m.catchphrases.slice(0,3),(P,E)=>(n(),u("div",{key:E,class:"flex items-center gap-2 group"},[e("span",{class:F(["text-xs sm:text-sm font-black font-mono opacity-40 transition-opacity group-hover:opacity-100",k===0?"text-blue-600 dark:text-blue-400":"text-pink-600 dark:text-pink-400"])}," #"+o(E+1),3),e("span",{class:F(["truncate text-sm font-bold text-gray-700 transition-opacity dark:text-gray-200 sm:text-base",i.enableRecordNavigation?"cursor-pointer hover:opacity-70":""]),title:P.content,onClick:J=>i.enableRecordNavigation&&g("wordClick",P.content)}," 「"+o(v(P.content,12))+"」 ",11,Rt),e("span",Dt," ×"+o(P.count),1)]))),128)),m.catchphrases.length===0?(n(),u("div",At,"-")):B("",!0)])]))),128))])]),e("div",qt,[e("div",{ref_key:"radarRef",ref:q,style:{width:"250px",height:"230px"},class:"-mt-4 sm:-mr-4"},null,512)])]),e("div",zt,[e("div",Lt,[e("span",Bt,o(t(s)("quotes.languagePreference.card.languageProfiles")),1)]),e("div",Nt,[(n(!0),u(O,null,G(b.value,m=>(n(),u("div",{key:m.title,class:"flex min-w-0 flex-col p-4"},[e("div",Vt,[e("div",{class:F(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",m.iconBgClass])},[j(c,{name:m.icon,class:F(["h-4 w-4",m.iconColorClass])},null,8,["name","class"])],2),e("span",Ft,o(m.title),1)]),e("div",Ot,[e("div",Ut,[e("span",Et,o(m.leftName),1),e("span",{class:F(["truncate text-xl font-black font-mono leading-none",m.valueClass])},o(m.leftValue),3)]),l[1]||(l[1]=e("div",{class:"px-2 shrink-0"},[e("span",{class:"text-[10px] font-black text-gray-300 dark:text-gray-600 italic"},"VS")],-1)),e("div",Wt,[e("span",Ht,o(m.rightName),1),e("span",{class:F(["truncate text-xl font-black font-mono leading-none",m.valueClass])},o(m.rightValue),3)])]),e("div",Jt,[m.detail.kind==="tags-vs"?(n(),u("div",Gt,[e("div",Kt,[(n(!0),u(O,null,G(m.detail.leftTags,k=>(n(),u("span",{key:k,class:"shrink-0 px-1.5 py-0.5 rounded-md text-[10px] font-semibold font-mono bg-blue-50 text-blue-600 dark:bg-blue-500/10 dark:text-blue-400"},o(k),1))),128)),m.detail.leftTags.length===0?(n(),u("span",Yt,"-")):B("",!0)]),e("div",Qt,[(n(!0),u(O,null,G(m.detail.rightTags,k=>(n(),u("span",{key:k,class:"shrink-0 px-1.5 py-0.5 rounded-md text-[10px] font-semibold font-mono bg-pink-50 text-pink-600 dark:bg-pink-500/10 dark:text-pink-400"},o(k),1))),128)),m.detail.rightTags.length===0?(n(),u("span",Xt,"-")):B("",!0)])])):m.detail.kind==="tags-single"?(n(),u("div",Zt,[(n(!0),u(O,null,G(m.detail.tags.slice(0,6),(k,P)=>(n(),u(O,{key:k.word},[e("span",{class:F(["shrink-0 text-[11px] font-bold transition-opacity",i.enableRecordNavigation?"cursor-pointer hover:opacity-80":""]),style:pe({color:k.color}),onClick:E=>i.enableRecordNavigation&&g("wordClick",k.word)},o(k.word),15,ea),P<m.detail.tags.slice(0,6).length-1?(n(),u("span",ta," · ")):B("",!0)],64))),128)),m.detail.tags.length===0?(n(),u("span",aa,"-")):B("",!0)])):B("",!0),e("p",sa,o(m.desc),1)])]))),128))])]),e("div",na,[e("div",ia,[j(c,{name:"i-heroicons-chat-bubble-left-right-solid",class:"h-3.5 w-3.5"}),l[2]||(l[2]=e("span",{class:"text-[10px] font-bold uppercase tracking-wider"},"ChatLab",-1))]),e("span",oa,o(t(s)("quotes.languagePreference.card.watermark")),1)])])):B("",!0)]),_:1})}}}),la={class:"px-5 py-4 sm:px-6"},ca={class:"mb-4 flex items-center justify-between"},ua={class:"flex items-center gap-2"},da={class:"text-[15px] font-black tracking-tight text-gray-900 dark:text-white"},ma={key:0,class:"rounded-full bg-pink-100 px-2 py-0.5 text-[10px] font-bold text-pink-600 dark:bg-pink-900/30 dark:text-pink-400"},pa={key:0,class:"grid grid-cols-2 gap-6"},ga={class:"mb-3 text-center"},va={class:"text-sm font-semibold text-blue-600 dark:text-blue-400"},ha={class:"flex flex-wrap gap-2"},xa=["title","onClick"],fa={class:"text-[10px] font-semibold opacity-60"},ya={class:"mb-3 text-center"},ba={class:"text-sm font-semibold text-pink-600 dark:text-pink-400"},ka={class:"flex flex-wrap gap-2"},_a=["title","onClick"],wa={class:"text-[10px] font-semibold opacity-60"},$a={key:1,class:"mt-4 text-center text-xs text-gray-500 dark:text-gray-400"},Ca=K({__name:"CatchphrasePKSection",props:{members:{},enableRecordNavigation:{type:Boolean,default:!0}},emits:["wordClick"],setup(C,{emit:a}){const{t:s}=Y(),p=C,i=a,g=U(20),D=[{label:"10",value:10},{label:"20",value:20},{label:"30",value:30}],y=$(()=>p.members[0]),v=$(()=>p.members[1]),z=$(()=>y.value?.catchphrases.slice(0,g.value)??[]),A=$(()=>v.value?.catchphrases.slice(0,g.value)??[]),w=$(()=>{if(!y.value||!v.value)return new Set;const S=new Set(y.value.catchphrases.map(f=>f.content)),_=new Set(v.value.catchphrases.map(f=>f.content));return new Set([...S].filter(f=>_.has(f)))}),M=[{bg:"bg-amber-50 text-amber-600 ring-1 ring-amber-500/20 dark:bg-amber-500/10 dark:text-amber-400 dark:ring-amber-500/30",text:"text-amber-700 dark:text-amber-400 font-bold",badge:"bg-amber-500 text-white dark:bg-amber-600"},{bg:"bg-slate-50 text-slate-600 ring-1 ring-slate-500/20 dark:bg-slate-500/10 dark:text-slate-400 dark:ring-slate-500/30",text:"text-slate-700 dark:text-slate-300 font-bold",badge:"bg-slate-400 text-white dark:bg-slate-500"},{bg:"bg-orange-50 text-orange-600 ring-1 ring-orange-500/20 dark:bg-orange-500/10 dark:text-orange-400 dark:ring-orange-500/30",text:"text-orange-700 dark:text-orange-400 font-bold",badge:"bg-orange-400 text-white dark:bg-orange-500"}];function b(S){return S<M.length?M[S]:{bg:"bg-gray-50/50 text-gray-600 ring-1 ring-gray-900/5 dark:bg-gray-800/30 dark:text-gray-400 dark:ring-white/10",text:"text-gray-600 dark:text-gray-400",badge:"bg-transparent text-gray-400"}}function q(S,_=20){return S.length<=_?S:S.slice(0,_)+"..."}return(S,_)=>{const f=ee;return n(),V(t(ke),null,{default:H(()=>[e("div",la,[e("div",ca,[e("div",ua,[j(f,{name:"i-heroicons-chat-bubble-bottom-center-text",class:"h-4 w-4 text-indigo-500"}),e("span",da,o(t(s)("quotes.languagePreference.catchphrasePK.title")),1),w.value.size>0?(n(),u("span",ma,o(t(s)("quotes.languagePreference.catchphrasePK.sharedCount",{count:w.value.size})),1)):B("",!0)]),j(t(Ae),{modelValue:g.value,"onUpdate:modelValue":_[0]||(_[0]=d=>g.value=d),size:"xs",items:D},null,8,["modelValue"])]),y.value&&v.value?(n(),u("div",pa,[e("div",null,[e("div",ga,[e("span",va,o(y.value.name),1)]),e("div",ha,[(n(!0),u(O,null,G(z.value,(d,r)=>(n(),u("div",{key:d.content,class:F(["inline-flex items-center gap-1.5 rounded-full px-3 py-1 transition-opacity",[p.enableRecordNavigation?"cursor-pointer hover:opacity-75":"",w.value.has(d.content)?"bg-pink-50 text-pink-600 ring-1 ring-pink-500/20 dark:bg-pink-500/10 dark:text-pink-400 dark:ring-pink-500/30 shadow-sm":b(r).bg]]),title:d.content,onClick:l=>p.enableRecordNavigation&&i("wordClick",d.content)},[r<3?(n(),u("span",{key:0,class:F(["flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-[10px] font-bold",b(r).badge])},o(r+1),3)):B("",!0),e("span",{class:F(["text-[13px] font-medium",w.value.has(d.content)?"font-bold":b(r).text])},o(q(d.content)),3),e("span",fa,"×"+o(d.count),1)],10,xa))),128))])]),e("div",null,[e("div",ya,[e("span",ba,o(v.value.name),1)]),e("div",ka,[(n(!0),u(O,null,G(A.value,(d,r)=>(n(),u("div",{key:d.content,class:F(["inline-flex items-center gap-1.5 rounded-full px-3 py-1 transition-opacity",[p.enableRecordNavigation?"cursor-pointer hover:opacity-75":"",w.value.has(d.content)?"bg-pink-50 text-pink-600 ring-1 ring-pink-500/20 dark:bg-pink-500/10 dark:text-pink-400 dark:ring-pink-500/30 shadow-sm":b(r).bg]]),title:d.content,onClick:l=>p.enableRecordNavigation&&i("wordClick",d.content)},[r<3?(n(),u("span",{key:0,class:F(["flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-[10px] font-bold",b(r).badge])},o(r+1),3)):B("",!0),e("span",{class:F(["text-[13px] font-medium",w.value.has(d.content)?"font-bold":b(r).text])},o(q(d.content)),3),e("span",wa,"×"+o(d.count),1)],10,_a))),128))])])])):B("",!0),p.enableRecordNavigation?(n(),u("p",$a,o(t(s)("quotes.languagePreference.catchphrasePK.hint")),1)):B("",!0)])]),_:1})}}}),Sa={class:"px-5 py-4 sm:px-6"},Ma={class:"mb-4 flex items-center gap-2"},ja={class:"text-[15px] font-black tracking-tight text-gray-900 dark:text-white"},Pa={class:"flex flex-col gap-4 lg:flex-row lg:gap-6"},Ta={class:"flex-1"},Ia={key:0,class:"flex shrink-0 flex-col gap-3 lg:w-48"},Ra={class:"min-w-0"},Da={class:"truncate text-xs font-semibold text-gray-500 dark:text-gray-400"},Aa=K({__name:"PosPortraitSection",props:{members:{}},setup(C){fe([qe,ze,ye,yt,be]);const{t:a}=Y(),s=ge(),p=C,i=$(()=>p.members[0]),g=$(()=>p.members[1]);function D(M){const b=M.posDistribution,q=b.noun+b.verb+b.adjective+b.adverb+b.modalParticle+b.interjection+b.other;if(q===0)return{label:a("quotes.languagePreference.pos.styleBalanced"),icon:"i-heroicons-scale-solid",colorClass:"text-cyan-600 dark:text-cyan-400"};const S=b.noun/q,_=b.verb/q,f=b.adjective/q;return S>.5?{label:a("quotes.languagePreference.pos.styleEncyclopedia"),icon:"i-heroicons-book-open-solid",colorClass:"text-indigo-600 dark:text-indigo-400"}:_>.45?{label:a("quotes.languagePreference.pos.styleAction"),icon:"i-heroicons-rocket-launch-solid",colorClass:"text-orange-600 dark:text-orange-400"}:f>.3?{label:a("quotes.languagePreference.pos.styleExpressive"),icon:"i-heroicons-paint-brush-solid",colorClass:"text-pink-600 dark:text-pink-400"}:{label:a("quotes.languagePreference.pos.styleBalanced"),icon:"i-heroicons-scale-solid",colorClass:"text-cyan-600 dark:text-cyan-400"}}const y=U(null);let v=null;function z(){y.value&&(v=se(y.value,void 0,{renderer:"canvas"}),A())}function A(){if(!v||!i.value||!g.value)return;const M=i.value.posDistribution,b=g.value.posDistribution,q=[a("quotes.languagePreference.card.radarNoun"),a("quotes.languagePreference.card.radarVerb"),a("quotes.languagePreference.card.radarAdj"),a("quotes.languagePreference.card.radarModal"),a("quotes.languagePreference.card.radarAdv")],S=[M.noun,M.verb,M.adjective,M.modalParticle+M.interjection,M.adverb],_=[b.noun,b.verb,b.adjective,b.modalParticle+b.interjection,b.adverb],f=s.value?"#9ca3af":"#6b7280";v.setOption({backgroundColor:"transparent",tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},legend:{data:[i.value.name,g.value.name],top:0,textStyle:{fontSize:11,color:f}},grid:{left:80,right:20,top:36,bottom:10},xAxis:{type:"value",show:!1},yAxis:{type:"category",data:q,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{fontSize:11,color:f}},series:[{name:i.value.name,type:"bar",data:S,itemStyle:{color:"#3b82f6",borderRadius:[0,4,4,0]},barGap:"20%",barCategoryGap:"40%"},{name:g.value.name,type:"bar",data:_,itemStyle:{color:"#ec4899",borderRadius:[0,4,4,0]}}]},{notMerge:!0})}function w(){v?.resize()}return X(()=>p.members,()=>A(),{deep:!0}),X(s,()=>{v?.dispose(),z()}),ve(()=>{z(),window.addEventListener("resize",w)}),he(()=>{window.removeEventListener("resize",w),v?.dispose()}),(M,b)=>{const q=ee;return n(),V(t(ke),null,{default:H(()=>[e("div",Sa,[e("div",Ma,[j(q,{name:"i-heroicons-chart-bar",class:"h-4 w-4 text-violet-500"}),e("span",ja,o(t(a)("quotes.languagePreference.pos.title")),1)]),e("div",Pa,[e("div",Ta,[e("div",{ref_key:"chartRef",ref:y,style:{width:"100%",height:"220px"}},null,512)]),i.value&&g.value?(n(),u("div",Ia,[(n(!0),u(O,null,G([i.value,g.value],S=>(n(),u("div",{key:S.memberId,class:"flex min-w-0 items-center gap-3 px-1 py-3"},[j(q,{name:D(S).icon,class:F(["h-5 w-5 shrink-0",D(S).colorClass])},null,8,["name","class"]),e("div",Ra,[e("div",Da,o(S.name),1),e("div",{class:F(["truncate text-sm font-bold",D(S).colorClass])},o(D(S).label),3)])]))),128))])):B("",!0)])])]),_:1})}}}),qa={class:"px-5 py-4 sm:px-6"},za={class:"mb-4 flex items-center gap-2"},La={class:"text-[15px] font-black tracking-tight text-gray-900 dark:text-white"},Ba={key:0,class:"grid grid-cols-1 gap-6 md:grid-cols-2"},Na={class:"mb-2 flex items-center justify-between"},Va={key:1,class:"flex h-[200px] items-center justify-center text-sm text-gray-400"},Fa=K({__name:"ModalParticleSection",props:{members:{}},setup(C){fe([qe,ze,ye,be]);const{t:a}=Y(),s=ge(),p=C,i=$(()=>p.members[0]),g=$(()=>p.members[1]),D=new Set(["呀","哒","滴","啦","哇","耶"]),y=new Set(["呢","吗","嘛"]),v=new Set(["吧","喔","噢","嘛"]),z=new Set(["嗯","哦","额","呃"]);function A(d){const r={label:a("quotes.languagePreference.modal.toneMixed"),colorClass:"bg-gray-50 text-gray-600 ring-1 ring-gray-900/5 dark:bg-gray-800/50 dark:text-gray-400 dark:ring-white/10"};if(d.modalParticles.length===0)return r;let l=0,c=0,m=0,k=0,P=0;for(const J of d.modalParticles)P+=J.count,D.has(J.word)&&(l+=J.count),y.has(J.word)&&(c+=J.count),v.has(J.word)&&(m+=J.count),z.has(J.word)&&(k+=J.count);if(P===0)return r;const E=Math.max(l,c,m,k);return E===l&&l/P>.3?{label:a("quotes.languagePreference.modal.toneSoft"),colorClass:"bg-pink-50 text-pink-600 ring-1 ring-pink-500/20 dark:bg-pink-500/10 dark:text-pink-400 dark:ring-pink-500/30"}:E===c&&c/P>.3?{label:a("quotes.languagePreference.modal.toneCurious"),colorClass:"bg-violet-50 text-violet-600 ring-1 ring-violet-500/20 dark:bg-violet-500/10 dark:text-violet-400 dark:ring-violet-500/30"}:E===m&&m/P>.3?{label:a("quotes.languagePreference.modal.toneCasual"),colorClass:"bg-emerald-50 text-emerald-600 ring-1 ring-emerald-500/20 dark:bg-emerald-500/10 dark:text-emerald-400 dark:ring-emerald-500/30"}:E===k&&k/P>.3?{label:a("quotes.languagePreference.modal.toneCalm"),colorClass:"bg-blue-50 text-blue-600 ring-1 ring-blue-500/20 dark:bg-blue-500/10 dark:text-blue-400 dark:ring-blue-500/30"}:r}const w=U(null),M=U(null);let b=null,q=null;function S(d,r){const l=d.modalParticles.slice(0,8),c=s.value?"#9ca3af":"#6b7280";return{backgroundColor:"transparent",tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},grid:{left:40,right:20,top:4,bottom:4},xAxis:{type:"value",show:!1},yAxis:{type:"category",data:l.map(m=>m.word).reverse(),axisLine:{show:!1},axisTick:{show:!1},axisLabel:{fontSize:12,color:c},inverse:!1},series:[{type:"bar",data:l.map(m=>m.count).reverse(),itemStyle:{color:r,borderRadius:[0,4,4,0]},barWidth:"50%",label:{show:!0,position:"right",fontSize:10,color:c,formatter:"{c}"}}]}}function _(){w.value&&i.value&&(b=se(w.value,void 0,{renderer:"canvas"}),b.setOption(S(i.value,"#3b82f6"),{notMerge:!0})),M.value&&g.value&&(q=se(M.value,void 0,{renderer:"canvas"}),q.setOption(S(g.value,"#ec4899"),{notMerge:!0}))}function f(){b?.resize(),q?.resize()}return X(()=>p.members,()=>{b&&i.value&&b.setOption(S(i.value,"#3b82f6"),{notMerge:!0}),q&&g.value&&q.setOption(S(g.value,"#ec4899"),{notMerge:!0})},{deep:!0}),X(s,()=>{b?.dispose(),q?.dispose(),_()}),ve(()=>{_(),window.addEventListener("resize",f)}),he(()=>{window.removeEventListener("resize",f),b?.dispose(),q?.dispose()}),(d,r)=>{const l=ee;return n(),V(t(ke),null,{default:H(()=>[e("div",qa,[e("div",za,[j(l,{name:"i-heroicons-chat-bubble-oval-left-ellipsis",class:"h-4 w-4 text-pink-500"}),e("span",La,o(t(a)("quotes.languagePreference.modal.title")),1)]),i.value&&g.value?(n(),u("div",Ba,[(n(!0),u(O,null,G([i.value,g.value],(c,m)=>(n(),u("div",{key:c.memberId},[e("div",Na,[e("span",{class:F(["text-sm font-semibold",m===0?"text-blue-600 dark:text-blue-400":"text-pink-600 dark:text-pink-400"])},o(c.name),3),e("span",{class:F(["rounded-full px-2 py-0.5 text-[10px] font-bold",A(c).colorClass])},o(A(c).label),3)]),c.modalParticles.length>0?(n(),u("div",{key:0,ref_for:!0,ref:k=>{m===0?w.value=k:M.value=k},style:{width:"100%",height:"200px"}},null,512)):(n(),u("div",Va,o(t(a)("quotes.languagePreference.modal.empty")),1))]))),128))])):B("",!0)])]),_:1})}}}),Oa={class:"px-5 py-4 sm:px-6"},Ua={class:"mb-4 flex items-center gap-2"},Ea={class:"text-[15px] font-black tracking-tight text-gray-900 dark:text-white"},Wa={key:0,class:"grid grid-cols-1 gap-6 md:grid-cols-2"},Ha={class:"mb-2 flex items-center gap-2"},Ja={key:1,class:"flex h-[200px] items-center justify-center text-sm text-gray-400"},Ga=K({__name:"PunctuationSection",props:{members:{}},setup(C){fe([bt,ye,be]);const{t:a}=Y(),s=ge(),p=C,i=$(()=>p.members[0]),g=$(()=>p.members[1]),D=["#6366f1","#ec4899","#f97316","#22c55e","#06b6d4","#8b5cf6"];function y(_){const d=[["ellipsis",_.ellipsis],["exclamation",_.exclamation],["question",_.question],["tilde",_.tilde],["noPunct",_.noPunct],["period",_.period]].reduce((l,c)=>l[1]>=c[1]?l:c);return{ellipsis:{label:a("quotes.languagePreference.punctuation.personalityDeep"),colorClass:"bg-indigo-50 text-indigo-600 ring-1 ring-indigo-500/20 dark:bg-indigo-500/10 dark:text-indigo-400 dark:ring-indigo-500/30"},exclamation:{label:a("quotes.languagePreference.punctuation.personalityPassionate"),colorClass:"bg-rose-50 text-rose-600 ring-1 ring-rose-500/20 dark:bg-rose-500/10 dark:text-rose-400 dark:ring-rose-500/30"},question:{label:a("quotes.languagePreference.punctuation.personalityCurious"),colorClass:"bg-amber-50 text-amber-600 ring-1 ring-amber-500/20 dark:bg-amber-500/10 dark:text-amber-400 dark:ring-amber-500/30"},tilde:{label:a("quotes.languagePreference.punctuation.personalityCheerful"),colorClass:"bg-pink-50 text-pink-600 ring-1 ring-pink-500/20 dark:bg-pink-500/10 dark:text-pink-400 dark:ring-pink-500/30"},noPunct:{label:a("quotes.languagePreference.punctuation.personalityFreeflow"),colorClass:"bg-emerald-50 text-emerald-600 ring-1 ring-emerald-500/20 dark:bg-emerald-500/10 dark:text-emerald-400 dark:ring-emerald-500/30"},period:{label:a("quotes.languagePreference.punctuation.personalityPrecise"),colorClass:"bg-blue-50 text-blue-600 ring-1 ring-blue-500/20 dark:bg-blue-500/10 dark:text-blue-400 dark:ring-blue-500/30"}}[d[0]]||{label:"-",colorClass:"bg-gray-50 text-gray-600 ring-1 ring-gray-900/5 dark:bg-gray-800/50 dark:text-gray-400 dark:ring-white/10"}}function v(_){return[{name:"...",value:_.ellipsis},{name:"!",value:_.exclamation},{name:"?",value:_.question},{name:"~",value:_.tilde},{name:"。",value:_.period},{name:a("quotes.languagePreference.punctuation.none"),value:_.noPunct}].filter(f=>f.value>0)}const z=U(null),A=U(null);let w=null,M=null;function b(_){return{backgroundColor:"transparent",tooltip:{trigger:"item",formatter:"{b}: {c} ({d}%)"},series:[{type:"pie",radius:["45%","75%"],center:["50%","50%"],avoidLabelOverlap:!1,padAngle:2,itemStyle:{borderRadius:4},label:{show:!0,fontSize:10,color:s.value?"#9ca3af":"#6b7280",formatter:"{b}"},emphasis:{label:{show:!0,fontWeight:"bold"},scaleSize:4},data:_.map((f,d)=>({...f,itemStyle:{color:D[d%D.length]}}))}]}}function q(){z.value&&i.value&&(w=se(z.value,void 0,{renderer:"canvas"}),w.setOption(b(v(i.value.punctuation)),{notMerge:!0})),A.value&&g.value&&(M=se(A.value,void 0,{renderer:"canvas"}),M.setOption(b(v(g.value.punctuation)),{notMerge:!0}))}function S(){w?.resize(),M?.resize()}return X(()=>p.members,()=>{w&&i.value&&w.setOption(b(v(i.value.punctuation)),{notMerge:!0}),M&&g.value&&M.setOption(b(v(g.value.punctuation)),{notMerge:!0})},{deep:!0}),X(s,()=>{w?.dispose(),M?.dispose(),q()}),ve(()=>{q(),window.addEventListener("resize",S)}),he(()=>{window.removeEventListener("resize",S),w?.dispose(),M?.dispose()}),(_,f)=>{const d=ee;return n(),V(t(ke),null,{default:H(()=>[e("div",Oa,[e("div",Ua,[j(d,{name:"i-heroicons-ellipsis-horizontal",class:"h-4 w-4 text-orange-500"}),e("span",Ea,o(t(a)("quotes.languagePreference.punctuation.title")),1)]),i.value&&g.value?(n(),u("div",Wa,[(n(!0),u(O,null,G([i.value,g.value],(r,l)=>(n(),u("div",{key:r.memberId,class:"flex flex-col items-center"},[e("div",Ha,[e("span",{class:F(["text-sm font-semibold",l===0?"text-blue-600 dark:text-blue-400":"text-pink-600 dark:text-pink-400"])},o(r.name),3),e("span",{class:F(["rounded-full px-2 py-0.5 text-[10px] font-bold",y(r.punctuation).colorClass])},o(y(r.punctuation).label),3)]),r.punctuation.total>0?(n(),u("div",{key:0,ref_for:!0,ref:c=>{l===0?z.value=c:A.value=c},style:{width:"100%",height:"200px"}},null,512)):(n(),u("div",Ja,o(t(a)("quotes.languagePreference.punctuation.empty")),1))]))),128))])):B("",!0)])]),_:1})}}}),Ka={class:"main-content mx-auto max-w-[920px] space-y-6 p-4 sm:p-6"},Ya=K({__name:"LanguagePreferenceTab",props:{sessionId:{},timeFilter:{},enableRecordNavigation:{type:Boolean,default:!0}},setup(C){const{t:a,locale:s}=Y(),p=Re(),i=C,g=U(null),D=U(!1),y=$(()=>g.value&&g.value.members.length>=2);async function v(){if(i.sessionId){D.value=!0;try{g.value=await Ce().getLanguagePreferenceAnalysis(i.sessionId,s.value,i.timeFilter)}catch(A){console.error("[LanguagePreferenceTab] Failed to load:",A)}finally{D.value=!1}}}function z(A){i.enableRecordNavigation&&p.openChatRecordDrawer({keywords:[A]})}return X(()=>[i.sessionId,i.timeFilter],()=>v(),{immediate:!0,deep:!0}),(A,w)=>(n(),u("div",Ka,[D.value?(n(),V(t(xe),{key:0,text:t(a)("quotes.languagePreference.loading")},null,8,["text"])):y.value?g.value?(n(),u(O,{key:2},[j(ra,{data:g.value,"enable-record-navigation":i.enableRecordNavigation,onWordClick:z},null,8,["data","enable-record-navigation"]),j(Ca,{members:g.value.members,"enable-record-navigation":i.enableRecordNavigation,onWordClick:z},null,8,["members","enable-record-navigation"]),j(Aa,{members:g.value.members},null,8,["members"]),j(Fa,{members:g.value.members},null,8,["members"]),j(Ga,{members:g.value.members},null,8,["members"])],64)):B("",!0):(n(),V(t(Me),{key:1,text:t(a)("quotes.languagePreference.empty")},null,8,["text"]))]))}}),Qa={class:"flex min-w-0 flex-col p-4"},Xa={class:"mb-2 min-h-8"},Za={class:"flex items-center justify-between gap-2"},es={class:"flex min-w-0 items-center gap-2"},ts={class:"truncate text-xs font-bold tracking-wide text-gray-900 dark:text-white"},as={key:0,class:"shrink-0"},ss={class:"flex h-full flex-col"},ns={class:"grid grid-cols-2 gap-2"},is={class:"flex min-w-0 flex-col items-center px-1 py-1.5 text-center"},os=["title"],rs={class:"flex min-w-0 flex-col items-center px-1 py-1.5 text-center"},ls=["title"],cs={class:"mt-auto pt-3 min-h-8 text-[10px] leading-relaxed text-gray-500 dark:text-gray-400 sm:min-h-6"},me=K({__name:"RelationshipMetricCard",props:{title:{},iconName:{},iconBgClass:{},iconColorClass:{},leftName:{default:"—"},leftValue:{default:"--"},rightName:{default:"—"},rightValue:{default:"--"},valueClass:{default:"text-gray-700 dark:text-gray-200"},description:{default:""}},setup(C){const a=Le(),s=$(()=>!!a["header-extra"]);return(p,i)=>{const g=ee;return n(),u("div",Qa,[e("div",Xa,[e("div",Za,[e("div",es,[e("div",{class:F(["flex h-6 w-6 shrink-0 items-center justify-center rounded-full",C.iconBgClass])},[j(g,{name:C.iconName,class:F(["h-3.5 w-3.5",C.iconColorClass])},null,8,["name","class"])],2),e("span",ts,o(C.title),1)]),s.value?(n(),u("div",as,[Be(p.$slots,"header-extra")])):B("",!0)])]),e("div",ss,[e("div",ns,[e("div",is,[e("div",{class:"w-full truncate text-[10px] font-semibold tracking-wide text-gray-500 dark:text-gray-400",title:C.leftName},o(C.leftName),9,os),e("div",{class:F(["mt-2 font-black font-mono leading-none tabular-nums",C.valueClass])},o(C.leftValue),3)]),e("div",rs,[e("div",{class:"w-full truncate text-[10px] font-semibold tracking-wide text-gray-500 dark:text-gray-400",title:C.rightName},o(C.rightName),9,ls),e("div",{class:F(["mt-2 font-black font-mono leading-none tabular-nums",C.valueClass])},o(C.rightValue),3)])]),e("p",cs,o(C.description),1)])])}}}),us={key:1,class:"main-content mx-auto max-w-[920px] space-y-6 p-4 sm:p-6"},ds={class:"space-y-6"},ms={class:"relative z-10 flex flex-col items-center justify-center gap-10 px-6 pt-10 pb-6 sm:px-8 lg:flex-row lg:items-start lg:justify-between lg:gap-8 xl:gap-12"},ps={class:"flex min-w-0 max-w-full flex-1 flex-col items-center justify-center lg:items-start"},gs={class:"flex flex-col text-[15px] leading-relaxed text-gray-600 dark:text-gray-300"},vs={class:"mb-2 text-sm font-medium tracking-wide text-gray-500 dark:text-gray-400"},hs={class:"mb-4 flex min-w-0 flex-wrap items-baseline gap-2"},xs={class:"text-xl font-medium text-gray-700 dark:text-gray-300"},fs={class:"font-black text-5xl tracking-tight text-gray-900 dark:text-white"},ys={class:"text-xl font-medium text-gray-700 dark:text-gray-300"},bs={class:"flex min-w-0 max-w-full flex-wrap items-baseline gap-x-1.5 gap-y-1"},ks={class:"text-base font-medium text-gray-600 dark:text-gray-300"},_s={class:"font-black text-3xl text-pink-500 dark:text-pink-400"},ws={class:"text-base font-medium text-gray-600 dark:text-gray-300"},$s={class:"max-w-full break-all text-xl font-bold leading-snug text-gray-900 dark:text-white"},Cs={class:"text-base font-medium text-gray-600 dark:text-gray-300"},Ss={class:"mt-8 flex w-full max-w-[320px] items-center justify-between gap-4"},Ms={class:"flex flex-1 flex-col items-center overflow-hidden"},js=["title"],Ps={class:"mt-1 text-2xl font-black text-blue-500 dark:text-blue-400"},Ts={class:"mt-0.5 text-[10px] font-medium text-gray-400"},Is={class:"flex flex-1 flex-col items-center overflow-hidden"},Rs=["title"],Ds={class:"mt-1 text-2xl font-black text-pink-500 dark:text-pink-400"},As={class:"mt-0.5 text-[10px] font-medium text-gray-400"},qs={key:0,class:"flex min-w-0 w-full max-w-[400px] flex-1 flex-col justify-center lg:max-w-[460px]"},zs={class:"mb-2 flex items-center justify-between px-1"},Ls={class:"text-sm font-bold text-gray-900 dark:text-white"},Bs={class:"text-[10px] font-medium text-gray-500 dark:text-gray-400"},Ns={class:"w-full"},Vs={class:"h-[200px] w-full"},Fs={class:"relative z-10 grid grid-cols-2 gap-3 p-4 pt-2 sm:p-6 sm:pt-2 lg:grid-cols-4"},Os={class:"relative z-10 flex items-center justify-between px-6 pb-4 opacity-40 mix-blend-luminosity dark:opacity-30 sm:px-8 sm:pb-5"},Us={class:"flex items-center gap-1.5"},Es={class:"text-[9px] font-medium uppercase tracking-widest"},Ws={class:"px-4 pb-5 sm:px-6 sm:pb-6"},Hs={key:0,class:"mt-6"},Js={class:"mb-3 text-xs font-semibold tracking-wide text-gray-400 uppercase dark:text-gray-500"},Gs={class:"grid gap-x-8 gap-y-4 sm:grid-cols-3"},Ks={class:"min-w-0"},Ys={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},Qs=["title"],Xs={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},Zs={class:"mt-5 flex justify-center"},en={key:1,class:"mt-3 overflow-x-auto rounded-lg border border-gray-200/80 dark:border-white/10"},tn={class:"min-w-full text-left text-sm"},an={class:"bg-gray-50/80 text-xs text-gray-500 dark:bg-white/[0.03] dark:text-gray-400"},sn={scope:"col",class:"px-4 py-2.5 font-medium"},nn={scope:"col",class:"px-4 py-2.5 text-right font-medium"},on={scope:"col",class:"px-4 py-2.5 text-right font-medium"},rn={scope:"col",class:"max-w-[180px] truncate px-4 py-2.5 text-right font-medium"},ln={scope:"col",class:"max-w-[180px] truncate px-4 py-2.5 text-right font-medium"},cn={class:"divide-y divide-gray-100 dark:divide-white/5"},un={class:"whitespace-nowrap px-4 py-2.5 font-medium text-gray-700 dark:text-gray-300"},dn={class:"px-4 py-2.5 text-right tabular-nums text-gray-600 dark:text-gray-400"},mn={class:"px-4 py-2.5 text-right tabular-nums text-gray-600 dark:text-gray-400"},pn={class:"whitespace-nowrap px-4 py-2.5 text-right tabular-nums text-gray-600 dark:text-gray-400"},gn={class:"whitespace-nowrap px-4 py-2.5 text-right tabular-nums text-gray-600 dark:text-gray-400"},vn={class:"px-4 py-2.5 text-right tabular-nums text-gray-600 dark:text-gray-400"},hn={class:"px-4 py-2.5 text-right tabular-nums text-gray-600 dark:text-gray-400"},xn=K({__name:"PrivateRelationshipView",props:{sessionId:{},timeFilter:{}},setup(C){const{t:a,locale:s}=Y(),p=C,i=U(null),g=U(!1),D=U(!1),y=U("activity"),v=U(!1),z=U(300);async function A(x){if(!p.sessionId)return;const h=x?.localOnly==="perseverance";h?D.value=!0:g.value=!0;try{i.value=await Ce().getRelationshipStats(p.sessionId,p.timeFilter,{perseveranceThreshold:z.value})}catch(L){console.error("Failed to load relationship stats:",L)}finally{h?D.value=!1:g.value=!1}}X(()=>[p.sessionId,p.timeFilter],()=>A(),{immediate:!0,deep:!0});const w=[{label:"1m",value:60},{label:"3m",value:180},{label:"5m",value:300},{label:"10m",value:600},{label:"30m",value:1800}];function M(x){z.value!==x&&(z.value=x,A({localOnly:"perseverance"}))}const b=$({get:()=>z.value,set:x=>M(x)});function q(x){return a("views.relationship.perseverance.thresholdMinutes",{n:Math.round(x/60)})}const S=$(()=>a("views.relationship.perseverance.hintWithThreshold",{threshold:q(z.value)})),_=$(()=>i.value?.hasSessionIndex&&i.value.totalSessions>0),f=$(()=>i.value?.members[0]),d=$(()=>i.value?.members[1]),r=$(()=>{if(!f.value||!i.value)return 50;const x=(f.value.totalInitiateCount??0)+(d.value?.totalInitiateCount??0);return x===0?50:Math.round(f.value.totalInitiateCount/x*100)}),l=$(()=>{if(!i.value||i.value.months.length===0)return"";const x=[...i.value.months].sort((R,I)=>R.month.localeCompare(I.month)),h=x[0].month.replace("-","/"),L=x[x.length-1].month.replace("-","/");return h===L?h:`${h} – ${L}`}),c=$(()=>s.value.startsWith("en")?"max-w-[420px]":"max-w-[320px]"),m=$(()=>{if(!i.value||i.value.months.length===0||!f.value)return{};const x=[...i.value.months].sort((N,te)=>N.month.localeCompare(te.month)),h=x.map(N=>P(N.month)),L=f.value.name,R=d.value?.name??"—",I=x.map(N=>{const te=N.members.find(de=>de.memberId===f.value.memberId);return!te||N.totalSessions===0?50:Math.round(te.initiateCount/N.totalSessions*100)});return{tooltip:{trigger:"axis",formatter(N){const te=N[0],de=te.value;return`${te.axisValue}<br/>${L}: ${de}%<br/>${R}: ${100-de}%`}},grid:{left:40,right:20,top:20,bottom:30},xAxis:{type:"category",data:h,axisLabel:{fontSize:11}},yAxis:{type:"value",min:0,max:100,axisLabel:{formatter:"{value}%",fontSize:11},splitLine:{lineStyle:{type:"dashed"}}},series:[{type:"line",data:I,smooth:!0,symbol:"circle",symbolSize:6,lineStyle:{width:2,color:"#3b82f6"},itemStyle:{color:"#3b82f6"},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(59, 130, 246, 0.15)"},{offset:1,color:"rgba(59, 130, 246, 0)"}]}},markLine:{silent:!0,data:[{yAxis:50,lineStyle:{type:"dashed",color:"#9ca3af"}}],label:{show:!1},symbol:"none"}}]}});function k(x){const[h,L]=x.split("-");return a("views.relationship.monthFormat",{year:h,month:Number.parseInt(L,10)})}function P(x){const h=x.split("-");return a("views.relationship.monthShortFormat",{month:Number.parseInt(h[1],10)})}function E(x){return!x||!i.value?.iceBreakers?.length?0:i.value.iceBreakers.filter(h=>h.memberId===x).reduce((h,L)=>h+L.count,0)}function J(x){if(!x||!i.value?.responseLatency?.length)return null;const h=i.value.responseLatency.find(L=>L.memberId===x);return h?h.avgResponseTime:null}function ne(x){return!x||!i.value?.perseverance?.length?0:i.value.perseverance.find(L=>L.memberId===x)?.totalDoubleTexts??0}function ce(x){const h=J(x);return h!=null?T(h):"--"}function ie(x){return i.value?.monthlyResponseLatency?.find(h=>h.month===x)?.members??[]}function _e(x){return i.value?.monthlyPerseverance?.find(h=>h.month===x)?.members??[]}function oe(x,h){return h?ie(x).find(R=>R.memberId===h)?.avgResponseTime??null:null}function ue(x,h){const L=oe(x,h);return L==null?"—":T(L)}function ae(x,h){return h?_e(x).find(R=>R.memberId===h)?.doubleTextCount??0:0}function re(x){return i.value?.iceBreakers?.filter(h=>h.month===x).reduce((h,L)=>h+L.count,0)??0}function Q(x){const h=ie(x),L=h.reduce((R,I)=>R+I.responseCount,0);return L===0?null:h.reduce((R,I)=>R+I.avgResponseTime*I.responseCount,0)/L}function T(x){const h=Math.max(0,Math.round(x));if(h<60)return a("views.relationship.responseLatency.seconds",{n:h});if(h<3600){const I=Math.floor(h/60),N=h%60;return a("views.relationship.responseLatency.minutesSeconds",{m:I,s:N})}const L=Math.floor(h/3600),R=Math.floor(h%3600/60);return R===0?a("views.relationship.responseLatency.hours",{n:L}):a("views.relationship.responseLatency.hoursMinutes",{h:L,m:R})}const Z=$(()=>[...i.value?.months??[]].sort((x,h)=>x.month.localeCompare(h.month))),we=$(()=>[{label:a("views.relationship.trajectory.metrics.activity"),value:"activity"},{label:a("views.relationship.trajectory.metrics.response"),value:"response"},{label:a("views.relationship.trajectory.metrics.perseverance"),value:"perseverance"}]),W=$(()=>{const x=Z.value,h=new Set(x.map(I=>I.month.slice(0,4))).size>1,L=x.map(I=>h?I.month.replace("-","/"):P(I.month)),R={color:["#3b82f6","#ec4899"],tooltip:{trigger:"axis"},legend:{top:4,textStyle:{fontSize:11}},grid:{left:52,right:24,top:44,bottom:34},xAxis:{type:"category",data:L,axisTick:{show:!1},axisLabel:{fontSize:11}},yAxis:{type:"value",min:0,minInterval:1,axisLabel:{fontSize:11},splitLine:{lineStyle:{type:"dashed"}}}};return y.value==="activity"?{...R,series:[{name:a("views.relationship.trajectory.conversations"),type:"bar",data:x.map(I=>I.totalSessions),barMaxWidth:32,itemStyle:{borderRadius:[4,4,0,0]}},{name:a("views.relationship.trajectory.iceBreaks"),type:"line",data:x.map(I=>re(I.month)),smooth:!0,symbolSize:7,lineStyle:{width:2}}]}:y.value==="response"?{...R,tooltip:{trigger:"axis",valueFormatter(I){return typeof I=="number"?T(I):String(I??"—")}},yAxis:{type:"value",min:0,axisLabel:{fontSize:11,formatter(I){return T(I)}},splitLine:{lineStyle:{type:"dashed"}}},series:[{name:f.value?.name??"—",type:"line",data:x.map(I=>oe(I.month,f.value?.memberId)),connectNulls:!1,smooth:!0,symbolSize:7,lineStyle:{width:2}},{name:d.value?.name??"—",type:"line",data:x.map(I=>oe(I.month,d.value?.memberId)),connectNulls:!1,smooth:!0,symbolSize:7,lineStyle:{width:2}}]}:{...R,series:[{name:f.value?.name??"—",type:"bar",data:x.map(I=>ae(I.month,f.value?.memberId)),barMaxWidth:24,itemStyle:{borderRadius:[4,4,0,0]}},{name:d.value?.name??"—",type:"bar",data:x.map(I=>ae(I.month,d.value?.memberId)),barMaxWidth:24,itemStyle:{borderRadius:[4,4,0,0]}}]}}),je=$(()=>{const x=Z.value.reduce((R,I)=>!R||I.totalSessions>R.totalSessions?I:R,null),h=Z.value.map(R=>({month:R.month,count:re(R.month)})).filter(R=>R.count>0).sort((R,I)=>I.count-R.count)[0],L=Z.value.map(R=>({month:R.month,value:Q(R.month)})).filter(R=>R.value!=null).sort((R,I)=>R.value-I.value)[0];return[x&&x.totalSessions>0?{icon:"i-heroicons-chart-bar-square-solid",iconClass:"bg-blue-50 text-blue-500 dark:bg-blue-500/10 dark:text-blue-400",title:a("views.relationship.trajectory.activityPeak"),month:k(x.month),detail:a("views.relationship.trajectory.activityPeakDetail",{count:x.totalSessions})}:null,h?{icon:"i-heroicons-fire-solid",iconClass:"bg-pink-50 text-pink-500 dark:bg-pink-500/10 dark:text-pink-400",title:a("views.relationship.trajectory.iceBreakPeak"),month:k(h.month),detail:a("views.relationship.trajectory.iceBreakPeakDetail",{count:h.count})}:null,L?{icon:"i-heroicons-clock-solid",iconClass:"bg-blue-50 text-blue-500 dark:bg-blue-500/10 dark:text-blue-400",title:a("views.relationship.trajectory.fastestResponse"),month:k(L.month),detail:a("views.relationship.trajectory.fastestResponseDetail",{duration:T(L.value)})}:null].filter(R=>R!=null)});return(x,h)=>{const L=ht,R=ee,I=De;return n(),u("div",{class:F(g.value?"h-full":"")},[g.value?(n(),V(t(xe),{key:0,variant:"page",text:t(a)("common.loading")},null,8,["text"])):(n(),u("div",us,[i.value&&!_.value?(n(),V(t(Me),{key:0,icon:"i-heroicons-heart",title:t(a)("views.relationship.empty.title"),description:t(a)("views.relationship.empty.description")},null,8,["title","description"])):i.value&&_.value?(n(),u(O,{key:1},[e("div",ds,[j(t(Se),{id:"shareable-poster"},{default:H(()=>[e("div",ms,[e("div",ps,[e("div",{class:F(["flex w-fit min-w-0 flex-col items-start text-left",c.value])},[e("div",gs,[e("p",vs,o(l.value),1),e("div",hs,[e("span",xs,o(t(a)("views.relationship.hero.totalSessionsPrefix")),1),e("span",fs,o(i.value.totalSessions),1),e("span",ys,o(t(a)("views.relationship.hero.totalSessionsSuffix")),1)]),e("div",bs,[e("span",ks,o(t(a)("views.relationship.hero.initiativePrefix")),1),e("span",_s,o(r.value>=50?r.value:100-r.value)+"% ",1),e("span",ws,o(t(a)("views.relationship.hero.initiativeByPrefix")),1),e("span",$s,o(r.value>=50?f.value?.name:d.value?.name),1),e("span",Cs,o(t(a)("views.relationship.hero.initiativeBySuffix")),1)])]),e("div",Ss,[e("div",Ms,[e("div",{class:"w-full truncate text-center text-xs font-bold text-gray-500 dark:text-gray-400",title:f.value?.name},o(f.value?.name),9,js),e("div",Ps,o(f.value?.totalInitiateCount),1),e("div",Ts,o(t(a)("views.relationship.hero.initiateTimes")),1)]),h[3]||(h[3]=e("div",{class:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-gray-100 font-black text-[10px] italic text-gray-400 shadow-inner dark:bg-page-dark/80 dark:text-gray-500"}," VS ",-1)),e("div",Is,[e("div",{class:"w-full truncate text-center text-xs font-bold text-gray-500 dark:text-gray-400",title:d.value?.name},o(d.value?.name),9,Rs),e("div",Ds,o(d.value?.totalInitiateCount),1),e("div",As,o(t(a)("views.relationship.hero.initiateTimes")),1)])])],2)]),i.value.months.length>=2?(n(),u("div",qs,[e("div",zs,[e("span",Ls,o(t(a)("views.relationship.trend.title")),1),e("span",Bs,o(t(a)("views.relationship.trend.hint",{name:f.value?.name??""})),1)]),e("div",Ns,[e("div",Vs,[j(t(Te),{option:m.value,height:200},null,8,["option"])])])])):B("",!0)]),e("div",Fs,[j(me,{title:t(a)("views.relationship.closerTitle"),"icon-name":"i-heroicons-hand-raised-solid","icon-bg-class":"bg-blue-100 dark:bg-blue-500/20","icon-color-class":"text-blue-600 dark:text-blue-400","left-name":f.value?.name,"left-value":f.value?.totalCloseCount??0,"right-name":d.value?.name,"right-value":d.value?.totalCloseCount??0,"value-class":"text-lg text-blue-600 dark:text-blue-400",description:t(a)("views.relationship.closerHint")},null,8,["title","left-name","left-value","right-name","right-value","description"]),j(me,{title:t(a)("views.relationship.iceBreaker.title"),"icon-name":"i-heroicons-fire-solid","icon-bg-class":"bg-pink-100 dark:bg-pink-500/20","icon-color-class":"text-pink-600 dark:text-pink-400","left-name":f.value?.name,"left-value":E(f.value?.memberId),"right-name":d.value?.name,"right-value":E(d.value?.memberId),"value-class":"text-lg text-pink-600 dark:text-pink-400",description:t(a)("views.relationship.iceBreaker.hint")},null,8,["title","left-name","left-value","right-name","right-value","description"]),j(me,{title:t(a)("views.relationship.responseLatency.title"),"icon-name":"i-heroicons-clock-solid","icon-bg-class":"bg-amber-100 dark:bg-amber-500/20","icon-color-class":"text-amber-600 dark:text-amber-400","left-name":f.value?.name,"left-value":ce(f.value?.memberId),"right-name":d.value?.name,"right-value":ce(d.value?.memberId),"value-class":"text-base text-amber-600 dark:text-amber-400",description:t(a)("views.relationship.responseLatency.hint")},null,8,["title","left-name","left-value","right-name","right-value","description"]),j(me,{title:t(a)("views.relationship.perseverance.title"),"icon-name":"i-heroicons-arrow-path-solid","icon-bg-class":"bg-purple-100 dark:bg-purple-500/20","icon-color-class":"text-purple-600 dark:text-purple-400","left-name":f.value?.name,"left-value":ne(f.value?.memberId),"right-name":d.value?.name,"right-value":ne(d.value?.memberId),"value-class":"text-lg text-purple-600 dark:text-purple-400",description:S.value},{"header-extra":H(()=>[j(L,{modelValue:b.value,"onUpdate:modelValue":h[0]||(h[0]=N=>b.value=N),items:w,"value-key":"value",size:"xs",class:"relative z-[120] w-16",ui:{content:"z-[121]"},disabled:D.value},null,8,["modelValue","disabled"])]),_:1},8,["title","left-name","left-value","right-name","right-value","description"])]),e("div",Os,[e("div",Us,[j(R,{name:"i-heroicons-chat-bubble-left-right-solid",class:"h-3.5 w-3.5"}),h[4]||(h[4]=e("span",{class:"text-[10px] font-bold uppercase tracking-wider"},"ChatLab",-1))]),e("span",Es,o(t(a)("views.relationship.watermarkReport")),1)])]),_:1})]),j(t(le),{title:t(a)("views.relationship.trajectory.title"),description:t(a)("views.relationship.trajectory.description"),"show-divider":!1},{headerRight:H(()=>[j(t(Ae),{modelValue:y.value,"onUpdate:modelValue":h[1]||(h[1]=N=>y.value=N),items:we.value,size:"sm",class:"max-w-[58vw] sm:max-w-none"},null,8,["modelValue","items"])]),default:H(()=>[e("div",Ws,[j(t(Te),{option:W.value,height:280},null,8,["option"]),je.value.length>0?(n(),u("div",Hs,[e("p",Js,o(t(a)("views.relationship.trajectory.keyMoments")),1),e("div",Gs,[(n(!0),u(O,null,G(je.value,N=>(n(),u("div",{key:N.title,class:"flex min-w-0 items-start gap-3 py-1"},[e("div",{class:F(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",N.iconClass])},[j(R,{name:N.icon,class:"h-4 w-4"},null,8,["name"])],2),e("div",Ks,[e("p",Ys,o(N.title),1),e("p",{class:"mt-0.5 truncate text-sm font-semibold text-gray-900 dark:text-white",title:N.month},o(N.month),9,Qs),e("p",Xs,o(N.detail),1)])]))),128))])])):B("",!0),e("div",Zs,[j(I,{color:"neutral",variant:"ghost",size:"sm",icon:v.value?"i-heroicons-chevron-up":"i-heroicons-chevron-down",onClick:h[2]||(h[2]=N=>v.value=!v.value)},{default:H(()=>[$e(o(v.value?t(a)("views.relationship.trajectory.hideAll"):t(a)("views.relationship.trajectory.showAll")),1)]),_:1},8,["icon"])]),v.value?(n(),u("div",en,[e("table",tn,[e("thead",an,[e("tr",null,[e("th",sn,o(t(a)("views.relationship.trajectory.month")),1),y.value==="activity"?(n(),u(O,{key:0},[e("th",nn,o(t(a)("views.relationship.trajectory.conversations")),1),e("th",on,o(t(a)("views.relationship.trajectory.iceBreaks")),1)],64)):(n(),u(O,{key:1},[e("th",rn,o(f.value?.name),1),e("th",ln,o(d.value?.name),1)],64))])]),e("tbody",cn,[(n(!0),u(O,null,G([...Z.value].reverse(),N=>(n(),u("tr",{key:N.month},[e("td",un,o(k(N.month)),1),y.value==="activity"?(n(),u(O,{key:0},[e("td",dn,o(N.totalSessions),1),e("td",mn,o(re(N.month)),1)],64)):y.value==="response"?(n(),u(O,{key:1},[e("td",pn,o(ue(N.month,f.value?.memberId)),1),e("td",gn,o(ue(N.month,d.value?.memberId)),1)],64)):(n(),u(O,{key:2},[e("td",vn,o(ae(N.month,f.value?.memberId)),1),e("td",hn,o(ae(N.month,d.value?.memberId)),1)],64))]))),128))])])])):B("",!0)])]),_:1},8,["title","description"])],64)):B("",!0)]))],2)}}}),fn={class:"relative z-10 px-6 pt-8 pb-5 sm:px-8 sm:pt-10"},yn={class:"flex flex-col gap-8 lg:flex-row lg:items-center lg:justify-between lg:gap-12"},bn={class:"min-w-0 flex-1"},kn={class:"text-sm font-medium tracking-wide text-gray-500 dark:text-gray-400"},_n={class:"mt-3 flex flex-wrap items-baseline gap-x-2 gap-y-1"},wn={class:"text-xl font-medium text-gray-700 dark:text-gray-300"},$n={class:"text-4xl font-black tracking-tight text-gray-900 dark:text-white sm:text-5xl"},Cn={class:"mt-3 max-w-xl text-sm leading-6 text-gray-500 dark:text-gray-400"},Sn={class:"w-full min-w-0 lg:max-w-[380px]"},Mn={class:"mb-3 flex items-center justify-between gap-4"},jn={class:"text-xs font-bold tracking-wide text-gray-700 dark:text-gray-300"},Pn={class:"text-[10px] font-medium text-gray-400 dark:text-gray-500"},Tn=["title"],In={class:"mt-2 flex justify-between text-[10px] font-medium text-gray-400 dark:text-gray-500"},Rn={class:"relative z-10 grid grid-cols-2 gap-x-3 gap-y-4 px-4 pt-2 pb-6 sm:px-6 lg:grid-cols-4"},Dn={class:"min-w-0"},An={class:"mt-1 truncate text-[10px] font-semibold text-gray-600 dark:text-gray-300"},qn={class:"mt-0.5 line-clamp-2 text-[9px] leading-4 text-gray-400 dark:text-gray-500"},zn={class:"relative z-10 flex items-center justify-between px-6 pb-4 opacity-40 mix-blend-luminosity dark:opacity-30 sm:px-8 sm:pb-5"},Ln={class:"flex items-center gap-1.5"},Bn={class:"text-[9px] font-medium uppercase tracking-widest"},Nn=K({__name:"JourneyReportCard",props:{stats:{},filtered:{type:Boolean}},setup(C){const a=C,{t:s,locale:p}=Y(),i=$(()=>new Intl.NumberFormat(p.value)),g=$(()=>new Intl.DateTimeFormat(p.value,{year:"numeric",month:"short",day:"numeric"})),D=$(()=>new Intl.DateTimeFormat(p.value,{year:"numeric",month:"short"})),y=$(()=>a.stats.range),v=$(()=>Math.max(...a.stats.months.map(d=>d.messageCount),1)),z=$(()=>({gridTemplateColumns:`repeat(${a.stats.months.length}, minmax(2px, 1fr))`,gap:a.stats.months.length>96?"1px":"2px"})),A=$(()=>{const d=y.value.spanDays;if(d<30)return s("views.journey.duration.days",{count:d});const r=Math.floor(d/365),l=Math.floor(d%365/30);return r>0?l>0?s("views.journey.duration.yearsMonths",{years:r,months:l}):s("views.journey.duration.years",{count:r}):s("views.journey.duration.months",{count:Math.max(1,l)})}),w=$(()=>[{icon:"i-heroicons-sparkles-solid",colorClass:"text-pink-500 dark:text-pink-400",label:s("views.journey.metrics.peakMonth"),value:a.stats.peakMonth?q(a.stats.peakMonth.month):"—",subtext:a.stats.peakMonth?s("views.journey.metrics.messagesAndDays",{messages:M(a.stats.peakMonth.messageCount),days:M(a.stats.peakMonth.activeDays)}):"—"},{icon:"i-heroicons-calendar-days-solid",colorClass:"text-indigo-500 dark:text-indigo-400",label:s("views.journey.metrics.activeMonths"),value:s("views.journey.metrics.monthsRatio",{active:M(y.value.activeMonths),total:M(y.value.spanMonths)}),subtext:s("views.journey.metrics.activeDays",{count:M(y.value.activeDays)})},{icon:"i-heroicons-chat-bubble-left-right-solid",colorClass:"text-blue-500 dark:text-blue-400",label:s("views.journey.metrics.longestConversation"),value:a.stats.longestSegment?S(a.stats.longestSegment.durationSeconds):"—",subtext:a.stats.longestSegment?s("views.journey.metrics.conversationDetail",{date:b(a.stats.longestSegment.startTs),count:M(a.stats.longestSegment.messageCount)}):s("views.journey.metrics.noIndex")},{icon:"i-heroicons-moon-solid",colorClass:"text-violet-500 dark:text-violet-400",label:s("views.journey.metrics.longestSilence"),value:a.stats.longestSilence?S(a.stats.longestSilence.durationSeconds):"—",subtext:a.stats.longestSilence?a.stats.longestSilence.reopenedBy?s("views.journey.metrics.reopenedBy",{name:a.stats.longestSilence.reopenedBy.name}):s("views.journey.metrics.reopened"):a.stats.hasSessionIndex?s("views.journey.metrics.noSilence"):s("views.journey.metrics.noIndex")}]);function M(d){return i.value.format(d)}function b(d){return g.value.format(d*1e3)}function q(d){const[r,l]=d.split("-").map(Number);return D.value.format(new Date(r,l-1,1))}function S(d){const r=Math.max(0,Math.round(d/60));if(r<1)return s("views.journey.duration.lessThanMinute");if(r<60)return s("views.journey.duration.minutes",{count:r});const l=Math.floor(r/60);if(l<24){const k=r%60;return k>0?s("views.journey.duration.hoursMinutes",{hours:l,minutes:k}):s("views.journey.duration.hours",{count:l})}const c=Math.floor(l/24),m=l%24;return m>0?s("views.journey.duration.daysHours",{days:c,hours:m}):s("views.journey.duration.days",{count:c})}function _(d){if(d===0)return"4px";const r=Math.sqrt(d/v.value);return`${Math.round(10+r*50)}px`}function f(d,r){return s("views.journey.hero.monthTooltip",{month:q(d),count:M(r)})}return(d,r)=>{const l=ee;return n(),V(t(Se),null,{default:H(()=>[e("div",fn,[e("div",yn,[e("div",bn,[e("p",kn,o(b(y.value.firstMessageTs))+" – "+o(b(y.value.lastMessageTs)),1),e("div",_n,[e("span",wn,o(t(s)("views.journey.hero.prefix")),1),e("span",$n,o(A.value),1)]),e("p",Cn,o(t(s)(C.filtered?"views.journey.hero.filteredSummary":"views.journey.hero.summary",{activeMonths:M(y.value.activeMonths),activeDays:M(y.value.activeDays)})),1)]),e("div",Sn,[e("div",Mn,[e("p",jn,o(t(s)("views.journey.hero.footprint")),1),e("p",Pn,o(t(s)("views.journey.hero.monthCount",{count:M(y.value.spanMonths)})),1)]),e("div",{class:"grid h-16 items-end overflow-hidden rounded-xl bg-gray-50/80 px-3 py-2 dark:bg-white/[0.035]",style:pe(z.value)},[(n(!0),u(O,null,G(C.stats.months,c=>(n(),u("div",{key:c.month,class:F(["min-w-0 rounded-t-sm",c.messageCount>0?"bg-pink-400/80 dark:bg-pink-400/75":"bg-gray-200 dark:bg-white/10"]),style:pe({height:_(c.messageCount)}),title:f(c.month,c.messageCount)},null,14,Tn))),128))],4),e("div",In,[e("span",null,o(q(C.stats.months[0].month)),1),e("span",null,o(q(C.stats.months[C.stats.months.length-1].month)),1)])])])]),e("div",Rn,[(n(!0),u(O,null,G(w.value,c=>(n(),u("div",{key:c.label,class:"flex min-w-0 items-start gap-2.5 px-2 py-1"},[j(l,{name:c.icon,class:F(["mt-0.5 h-4 w-4 shrink-0",c.colorClass])},null,8,["name","class"]),e("div",Dn,[e("p",{class:F(["truncate text-sm font-black leading-tight tabular-nums",c.colorClass])},o(c.value),3),e("p",An,o(c.label),1),e("p",qn,o(c.subtext),1)])]))),128))]),e("div",zn,[e("div",Ln,[j(l,{name:"i-heroicons-chat-bubble-left-right-solid",class:"h-3.5 w-3.5"}),r[0]||(r[0]=e("span",{class:"text-[10px] font-bold uppercase tracking-wider"},"ChatLab",-1))]),e("span",Bn,o(t(s)("views.journey.watermark")),1)])]),_:1})}}}),Vn={key:1,class:"main-content mx-auto max-w-[920px] space-y-6 p-4 sm:p-6"},Fn={class:"grid gap-4 px-5 pb-6 sm:grid-cols-2 sm:px-6 lg:grid-cols-3"},On={class:"min-w-0"},Un={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},En={class:"mt-0.5 text-sm font-semibold text-gray-900 dark:text-white"},Wn={class:"mt-1 text-xs leading-5 text-gray-500 dark:text-gray-400"},Hn={class:"space-y-3 px-5 pb-5 sm:px-6 sm:pb-6"},Jn={class:"font-mono text-xl font-black tabular-nums text-gray-900 dark:text-white"},Gn={class:"min-w-0"},Kn={class:"h-1.5 overflow-hidden rounded-full bg-gray-200/80 dark:bg-white/10"},Yn={class:"mt-2 text-xs text-gray-500 dark:text-gray-400"},Qn={key:0,class:"text-left sm:min-w-28 sm:text-right"},Xn={class:"text-xs font-semibold text-gray-700 dark:text-gray-300"},Zn={class:"mt-0.5 text-[10px] text-gray-400 dark:text-gray-500"},ei=K({__name:"JourneyView",props:{sessionId:{},timeFilter:{},timeRange:{}},setup(C){const a=C,{t:s,locale:p}=Y(),i=U(null),g=U(!1),D=U(!1),y=$(()=>new Intl.NumberFormat(p.value)),v=$(()=>new Intl.DateTimeFormat(p.value,{year:"numeric",month:"short",day:"numeric"})),z=$(()=>new Intl.DateTimeFormat(p.value,{year:"numeric",month:"short"})),A=$(()=>a.timeRange?a.timeFilter?.startTs!=null&&a.timeFilter.startTs>a.timeRange.start||a.timeFilter?.endTs!=null&&a.timeFilter.endTs<a.timeRange.end:!1),w=$(()=>i.value?.range!=null),M=$(()=>Math.max(...i.value?.years.map(c=>c.messageCount)??[],1)),b=$(()=>{if(!i.value?.range)return[];const c=[{id:"start",order:0,timestamp:i.value.range.firstMessageTs,icon:"i-heroicons-play-solid",iconClass:"bg-emerald-50 text-emerald-600 dark:bg-emerald-500/10 dark:text-emerald-400",title:s("views.journey.milestones.start"),date:_(i.value.range.firstMessageTs),detail:s("views.journey.milestones.startDetail")}];return i.value.peakMonth&&c.push({id:"peak",order:1,timestamp:d(i.value.peakMonth.month),icon:"i-heroicons-sparkles-solid",iconClass:"bg-pink-50 text-pink-600 dark:bg-pink-500/10 dark:text-pink-400",title:s("views.journey.milestones.peak"),date:f(i.value.peakMonth.month),detail:s("views.journey.milestones.peakDetail",{count:S(i.value.peakMonth.messageCount)})}),i.value.longestSegment&&c.push({id:"conversation",order:2,timestamp:i.value.longestSegment.startTs,icon:"i-heroicons-chat-bubble-left-right-solid",iconClass:"bg-blue-50 text-blue-600 dark:bg-blue-500/10 dark:text-blue-400",title:s("views.journey.milestones.longestConversation"),date:_(i.value.longestSegment.startTs),detail:s("views.journey.milestones.conversationDetail",{duration:r(i.value.longestSegment.durationSeconds),count:S(i.value.longestSegment.messageCount)})}),i.value.longestSilence&&c.push({id:"silence",order:3,timestamp:i.value.longestSilence.endTs,icon:"i-heroicons-moon-solid",iconClass:"bg-violet-50 text-violet-600 dark:bg-violet-500/10 dark:text-violet-400",title:s("views.journey.milestones.longestSilence"),date:s("views.journey.milestones.silenceRange",{start:_(i.value.longestSilence.startTs),end:_(i.value.longestSilence.endTs)}),detail:i.value.longestSilence.reopenedBy?s("views.journey.milestones.silenceDetailWithMember",{duration:r(i.value.longestSilence.durationSeconds),name:i.value.longestSilence.reopenedBy.name}):s("views.journey.milestones.silenceDetail",{duration:r(i.value.longestSilence.durationSeconds)})}),c.push({id:"end",order:4,timestamp:i.value.range.lastMessageTs,icon:"i-heroicons-flag-solid",iconClass:"bg-amber-50 text-amber-600 dark:bg-amber-500/10 dark:text-amber-400",title:s("views.journey.milestones.end"),date:_(i.value.range.lastMessageTs),detail:s(A.value?"views.journey.milestones.filteredEndDetail":"views.journey.milestones.endDetail")}),c.sort((m,k)=>m.timestamp-k.timestamp||m.order-k.order)});X(()=>[a.sessionId,a.timeFilter],()=>q(),{immediate:!0,deep:!0});async function q(){if(a.sessionId){g.value=!0,D.value=!1;try{i.value=await Ce().getJourneyStats(a.sessionId,a.timeFilter)}catch(c){i.value=null,D.value=!0;const m=c instanceof Error?c.message:String(c);console.error("Failed to load journey stats:",c),Ne(`Journey stats load failed: ${m}`,c instanceof Error?c.stack:void 0)}finally{g.value=!1}}}function S(c){return y.value.format(c)}function _(c){return v.value.format(c*1e3)}function f(c){const[m,k]=c.split("-").map(Number);return z.value.format(new Date(m,k-1,1))}function d(c){const[m,k]=c.split("-").map(Number);return Math.floor(new Date(m,k-1,1).getTime()/1e3)}function r(c){const m=Math.max(0,Math.round(c/60));if(m<1)return s("views.journey.duration.lessThanMinute");if(m<60)return s("views.journey.duration.minutes",{count:m});const k=Math.floor(m/60);if(k<24){const J=m%60;return J>0?s("views.journey.duration.hoursMinutes",{hours:k,minutes:J}):s("views.journey.duration.hours",{count:k})}const P=Math.floor(k/24),E=k%24;return E>0?s("views.journey.duration.daysHours",{days:P,hours:E}):s("views.journey.duration.days",{count:P})}function l(c){return c===0?"0%":`${Math.max(4,Math.round(c/M.value*100))}%`}return(c,m)=>{const k=ee;return n(),u("div",{class:F(g.value?"h-full":"")},[g.value?(n(),V(t(xe),{key:0,variant:"page",text:t(s)("common.loading")},null,8,["text"])):(n(),u("div",Vn,[w.value?i.value?(n(),u(O,{key:1},[j(Nn,{stats:i.value,filtered:A.value},null,8,["stats","filtered"]),j(t(le),{title:t(s)("views.journey.milestones.title"),description:t(s)("views.journey.milestones.description"),"show-divider":!1},{default:H(()=>[e("div",Fn,[(n(!0),u(O,null,G(b.value,P=>(n(),u("div",{key:P.id,class:"flex min-w-0 items-start gap-3 py-1"},[e("div",{class:F(["flex h-9 w-9 shrink-0 items-center justify-center rounded-xl",P.iconClass])},[j(k,{name:P.icon,class:"h-4 w-4"},null,8,["name"])],2),e("div",On,[e("p",Un,o(P.title),1),e("p",En,o(P.date),1),e("p",Wn,o(P.detail),1)])]))),128))])]),_:1},8,["title","description"]),j(t(le),{title:t(s)("views.journey.years.title"),description:t(s)("views.journey.years.description"),"show-divider":!1},{default:H(()=>[e("div",Hn,[(n(!0),u(O,null,G(i.value.years,P=>(n(),u("div",{key:P.year,class:"grid gap-3 rounded-xl bg-gray-50/70 px-4 py-3 dark:bg-white/[0.025] sm:grid-cols-[72px_minmax(0,1fr)_auto] sm:items-center"},[e("div",Jn,o(P.year),1),e("div",Gn,[e("div",Kn,[e("div",{class:"h-full rounded-full bg-pink-400 dark:bg-pink-400/80",style:pe({width:l(P.messageCount)})},null,4)]),e("p",Yn,[P.messageCount>0?(n(),u(O,{key:0},[$e(o(t(s)("views.journey.years.summary",{messages:S(P.messageCount),days:S(P.activeDays),months:S(P.activeMonths)})),1)],64)):(n(),u(O,{key:1},[$e(o(t(s)("views.journey.years.quiet")),1)],64))])]),P.messageCount>0?(n(),u("div",Qn,[e("p",Xn,o(f(P.peakMonth)),1),e("p",Zn,o(t(s)("views.journey.years.peak",{count:S(P.peakMonthMessageCount)})),1)])):B("",!0)]))),128))])]),_:1},8,["title","description"])],64)):B("",!0):(n(),V(t(Me),{key:0,icon:"🗓️",text:t(s)(D.value?"views.journey.loadError":"views.journey.empty"),padding:"lg"},null,8,["text"]))]))],2)}}}),ti={class:"main-content mx-auto max-w-[920px] space-y-4 p-4 sm:space-y-6 sm:p-6"},ai={class:"grid grid-cols-1 gap-6 lg:grid-cols-2"},si={class:"p-3 sm:p-5"},ni={class:"p-3 sm:p-5"},ii=K({__name:"PrivateChatOverview",props:{session:{},memberActivity:{},messageTypes:{},hourlyActivity:{},dailyActivity:{},timeRange:{},filteredMessageCount:{},filteredMemberCount:{},timeFilter:{}},setup(C){const{t:a}=Y(),s=C,{dailyChartData:p}=Ze(()=>s.dailyActivity),i=$(()=>({labels:s.messageTypes.map(y=>kt(y.type,a)),values:s.messageTypes.map(y=>y.count)})),g=$(()=>{if(s.memberActivity.length<2)return null;const v=[...s.memberActivity].sort((A,w)=>w.messageCount-A.messageCount).slice(0,2),z=v[0].messageCount+v[1].messageCount;return{member1:{name:v[0].name,avatar:v[0].avatar,count:v[0].messageCount,percentage:z>0?Math.round(v[0].messageCount/z*100):0},member2:{name:v[1].name,avatar:v[1].avatar,count:v[1].messageCount,percentage:z>0?Math.round(v[1].messageCount/z*100):0},total:z}}),D=$(()=>g.value?{labels:[g.value.member1.name,g.value.member2.name],values:[g.value.member1.count,g.value.member2.count]}:{labels:[],values:[]});return(y,v)=>(n(),u("div",ti,[j(Qe,{session:C.session,"daily-activity":C.dailyActivity,"message-types":C.messageTypes,"hourly-activity":C.hourlyActivity,"time-range":C.timeRange,"filtered-message-count":C.filteredMessageCount,"filtered-member-count":C.filteredMemberCount,"time-filter":C.timeFilter},null,8,["session","daily-activity","message-types","hourly-activity","time-range","filtered-message-count","filtered-member-count","time-filter"]),e("div",ai,[j(t(le),{title:t(a)("analysis.overview.messageTypeDistribution"),"show-divider":!1},{default:H(()=>[e("div",si,[j(t(Ie),{data:i.value,height:280},null,8,["data"])])]),_:1},8,["title"]),g.value?(n(),V(t(le),{key:0,title:t(a)("analysis.overview.memberComparison"),"show-divider":!1},{default:H(()=>[e("div",ni,[j(t(Ie),{data:D.value,height:280},null,8,["data"])])]),_:1},8,["title"])):B("",!0)]),j(Xe,{"daily-activity":C.dailyActivity,"daily-chart-data":t(p)},null,8,["daily-activity","daily-chart-data"])]))}}),oi={class:"flex h-full flex-col"},ri={class:"min-h-0 flex-1 overflow-auto"},li=K({__name:"PrivateChatInsights",props:{sessionId:{},session:{},memberActivity:{},messageTypes:{},hourlyActivity:{},dailyActivity:{},timeRange:{},filteredMessageCount:{},filteredMemberCount:{},timeFilter:{}},emits:["selectTab"],setup(C,{emit:a}){const{t:s}=Y(),p=C,i=$(()=>[{id:"overview",label:s("analysis.tabs.overview"),icon:"i-heroicons-squares-2x2"},{id:"relationship",label:s("analysis.subTabs.insights.relationship"),icon:"i-heroicons-heart"},{id:"journey",label:s("analysis.subTabs.insights.journey"),icon:"i-heroicons-map"},{id:"type-analysis",label:s("analysis.subTabs.insights.typeAnalysis"),icon:"i-heroicons-chart-pie"},{id:"time-analysis",label:s("analysis.subTabs.insights.timeAnalysis"),icon:"i-heroicons-clock"},{id:"topic",label:s("analysis.subTabs.insights.topic"),icon:"i-heroicons-cloud"},{id:"language-preference",label:s("analysis.subTabs.insights.languagePreference"),icon:"i-heroicons-language"}]),g=U("overview"),D=a,y=U(null),v=$(()=>({...p.timeFilter,memberId:y.value}));return(z,A)=>(n(),u("div",oi,[j(t(vt),{modelValue:g.value,"onUpdate:modelValue":A[1]||(A[1]=w=>g.value=w),items:i.value,"persist-key":"privateInsightsTab",onSelect:A[2]||(A[2]=w=>D("selectTab",w))},{right:H(()=>[g.value==="type-analysis"||g.value==="time-analysis"?(n(),V(et,{key:0,modelValue:y.value,"onUpdate:modelValue":A[0]||(A[0]=w=>y.value=w),"session-id":p.sessionId},null,8,["modelValue","session-id"])):B("",!0)]),_:1},8,["modelValue","items"]),e("div",ri,[j(t(tt),{"active-key":g.value},{default:H(({viewKey:w})=>[w==="overview"?(n(),V(ii,{key:0,session:p.session,"member-activity":p.memberActivity,"message-types":p.messageTypes,"hourly-activity":p.hourlyActivity,"daily-activity":p.dailyActivity,"time-range":p.timeRange,"filtered-message-count":p.filteredMessageCount,"filtered-member-count":p.filteredMemberCount,"time-filter":p.timeFilter},null,8,["session","member-activity","message-types","hourly-activity","daily-activity","time-range","filtered-message-count","filtered-member-count","time-filter"])):w==="type-analysis"?(n(),V(at,{key:1,"session-id":p.sessionId,"session-name":p.session.name,"time-filter":v.value},null,8,["session-id","session-name","time-filter"])):w==="time-analysis"?(n(),V(st,{key:2,"session-id":p.sessionId,"session-name":p.session.name,"time-filter":v.value},null,8,["session-id","session-name","time-filter"])):w==="relationship"?(n(),V(xn,{key:3,"session-id":p.sessionId,"time-filter":p.timeFilter},null,8,["session-id","time-filter"])):w==="journey"?(n(),V(ei,{key:4,"session-id":p.sessionId,"time-filter":p.timeFilter,"time-range":p.timeRange},null,8,["session-id","time-filter","time-range"])):w==="topic"?(n(),V(t(nt),{key:5,"session-id":p.sessionId,"time-filter":p.timeFilter,"show-shared-topics":!0},null,8,["session-id","time-filter"])):w==="language-preference"?(n(),V(t(Ya),{key:6,"session-id":p.sessionId,"time-filter":p.timeFilter},null,8,["session-id","time-filter"])):B("",!0)]),_:1},8,["active-key"])])]))}}),ci={class:"relative flex h-full flex-col dark:bg-page-dark",style:{"padding-top":"var(--titlebar-area-height)"}},ui=["aria-label"],di={class:"relative flex-1 overflow-y-auto"},mi={class:"h-full"},pi={key:2,class:"flex h-full items-center justify-center"},gi={class:"text-gray-500"},vi={class:"flex h-full flex-col overflow-hidden bg-white dark:bg-page-dark"},hi={class:"flex flex-none items-center justify-between border-b border-gray-200 px-5 py-3 dark:border-gray-700"},xi={class:"text-lg font-semibold text-gray-900 dark:text-white"},fi={class:"text-sm text-gray-500 dark:text-gray-400"},yi={class:"flex-1 overflow-hidden"},bi=K({__name:"index",setup(C){const a=He(()=>Ge(()=>import("./MessageExportModal-JpurBsUW.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]))),{t:s}=Y(),p=Ve(),i=Fe(),g=Oe(),D=Re(),y=Ue(),{currentSessionId:v}=Ee(g),z=U(!1),A=U(!1),w=U(!1),M=U(!1),b=U(!1);function q(){D.openChatRecordDrawer({})}const S=[{id:"insights",labelKey:"analysis.tabs.insights",icon:"i-heroicons-presentation-chart-bar"},{id:"ai-chat",labelKey:"analysis.tabs.aiChat",icon:"i-heroicons-chat-bubble-left-ellipsis"},{id:"memory",labelKey:"analysis.tabs.memory",icon:"i-heroicons-light-bulb"},{id:"more",labelKey:"analysis.tabs.more",icon:"i-heroicons-squares-2x2"}],{activeTab:_,isLoading:f,isInitialLoad:d,isSessionSwitching:r,session:l,memberActivity:c,hourlyActivity:m,dailyActivity:k,messageTypes:P,timeRangeValue:E,fullTimeRange:J,timeFilter:ne,initialTimeState:ce,invalidateAnalysisData:ie,handleTimeRangeInitialized:_e}=it({route:p,router:i,currentSessionId:v,selectSession:g.selectSession,defaultTab:y.defaultSessionTab,validTabIds:S.map(Q=>Q.id)});Ke("session-switch-loading",r);const oe=ot({chatType:"private",isActive:()=>_.value==="insights"&&!r.value,sessionId:v,routePath:()=>p.path}),ue=$(()=>c.value.reduce((Q,T)=>Q+T.messageCount,0)),ae=$(()=>c.value.filter(Q=>Q.messageCount>0).length),re=$(()=>{if(!l.value)return null;if(l.value.memberAvatar)return l.value.memberAvatar;if(c.value.length===0)return null;if(l.value.ownerId){const T=c.value.find(Z=>Z.platformId!==l.value?.ownerId);if(T?.avatar)return T.avatar}const Q=c.value.find(T=>T.name===l.value?.name);return Q?.avatar?Q.avatar:(c.value.length,null)});return(Q,T)=>{const Z=De,we=Je;return n(),u("div",ci,[t(r)?(n(),u("div",{key:0,"data-testid":"private-chat-switch-loading",class:"absolute inset-0 z-20 flex cursor-wait items-center justify-center bg-page-bg dark:bg-page-dark",style:{paddingTop:"var(--titlebar-area-height)"},role:"status","aria-live":"polite","aria-label":t(s)("common.loading")},[j(t(xt))],8,ui)):B("",!0),t(l)?(n(),u(O,{key:1},[j(rt,{"active-tab":t(_),"onUpdate:activeTab":T[0]||(T[0]=W=>Pe(_)?_.value=W:null),"time-range-value":t(E),"onUpdate:timeRangeValue":T[1]||(T[1]=W=>Pe(E)?E.value=W:null),title:t(l).name,avatar:re.value,icon:"i-heroicons-user","icon-class":"bg-pink-600 text-white dark:bg-pink-500 dark:text-white",tabs:S,"current-session-id":t(v),"initial-time-state":t(ce),onOpenIncrementalImport:T[2]||(T[2]=W=>w.value=!0),onOpenMemberManagement:T[3]||(T[3]=W=>b.value=!0),onOpenChatRecord:q,"onUpdate:fullRange":T[4]||(T[4]=W=>J.value=W),onTimeRangeInitialized:t(_e)},null,8,["active-tab","time-range-value","title","avatar","current-session-id","initial-time-state","onTimeRangeInitialized"]),e("div",di,[t(f)&&!t(r)?(n(),V(t(xe),{key:0,variant:"overlay",text:t(s)("common.loading")},null,8,["text"])):B("",!0),e("div",mi,[j(We,{name:"tab-slide",mode:"out-in"},{default:H(()=>[t(_)==="insights"?(n(),V(li,{key:"insights-"+t(v),"session-id":t(v),session:t(l),"member-activity":t(c),"message-types":t(P),"hourly-activity":t(m),"daily-activity":t(k),"time-range":t(J),"filtered-message-count":ue.value,"filtered-member-count":ae.value,"time-filter":t(ne),onSelectTab:t(oe)},null,8,["session-id","session","member-activity","message-types","hourly-activity","daily-activity","time-range","filtered-message-count","filtered-member-count","time-filter","onSelectTab"])):t(_)==="ai-chat"?(n(),V(t(lt),{key:"ai-chat-"+t(v),"session-id":t(v),"session-name":t(l).name,"chat-type":"private","time-filter":t(ne)},null,8,["session-id","session-name","time-filter"])):t(_)==="memory"?(n(),V(ct,{key:"memory-"+t(v),"session-id":t(v),"session-name":t(l).name},null,8,["session-id","session-name"])):t(_)==="more"?(n(),V(ut,{key:"more-"+t(v),"session-id":t(v),"chat-type":"private"},null,8,["session-id"])):B("",!0)]),_:1})])]),j(dt,{onOpenIncrementalImport:T[5]||(T[5]=W=>w.value=!0),onOpenSemanticIndex:T[6]||(T[6]=W=>z.value=!0),onOpenMemberManagement:T[7]||(T[7]=W=>b.value=!0),onOpenChatRecord:q,onOpenMessageExport:T[8]||(T[8]=W=>M.value=!0)})],64)):t(d)?B("",!0):(n(),u("div",pi,[e("p",gi,o(t(s)("analysis.privateChat.loadError")),1)])),t(v)&&t(l)?(n(),V(mt,{key:3,modelValue:z.value,"onUpdate:modelValue":T[9]||(T[9]=W=>z.value=W),"session-id":t(v),"message-count":t(l).messageCount},null,8,["modelValue","session-id","message-count"])):B("",!0),t(v)&&t(l)?(n(),V(_t,{key:4,modelValue:A.value,"onUpdate:modelValue":T[10]||(T[10]=W=>A.value=W),"session-id":t(v),"chat-type":"private","auto-check":""},null,8,["modelValue","session-id"])):B("",!0),t(v)&&t(l)?(n(),V(pt,{key:5,modelValue:w.value,"onUpdate:modelValue":T[11]||(T[11]=W=>w.value=W),"session-id":t(v),"session-name":t(l).name,onImported:T[12]||(T[12]=()=>{t(ie)(),t(g).loadSessions()})},null,8,["modelValue","session-id","session-name"])):B("",!0),t(v)?(n(),V(t(a),{key:6,modelValue:M.value,"onUpdate:modelValue":T[13]||(T[13]=W=>M.value=W)},null,8,["modelValue"])):B("",!0),t(v)?(n(),V(we,{key:7,open:b.value,"onUpdate:open":T[15]||(T[15]=W=>b.value=W),ui:{content:"max-w-6xl h-[85vh]"}},{content:H(()=>[e("div",vi,[e("div",hi,[e("div",null,[e("h2",xi,o(t(s)("analysis.tooltip.memberManagement")),1),e("p",fi,o(t(s)("members.private.description",{count:t(l)?.memberCount??0})),1)]),j(Z,{variant:"ghost",icon:"i-heroicons-x-mark",size:"sm",onClick:T[14]||(T[14]=W=>b.value=!1)})]),e("div",yi,[j(gt,{"session-id":t(v),"show-header":!1,"chat-type":"private",onDataChanged:t(ie)},null,8,["session-id","onDataChanged"])])])]),_:1},8,["open"])):B("",!0)])}}}),oo=Ye(bi,[["__scopeId","data-v-d011099e"]]);export{oo as default};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MessageExportModal-DgvQvcc5.js","assets/index-D07viL9P.js","assets/vendor-snapdom--nZvo8Sg.js","assets/index-XC-s67UA.css","assets/useToast-BzK6i1Tk.js","assets/Tabs-Bw65ChMB.js","assets/Tabs-B0DXvZn9.js","assets/RovingFocusItem-BAQO8BlG.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{d as K,a6 as Y,ac as ge,K as X,x as ve,y as he,o as n,f as V,g as t,w as H,c as u,a as e,p as o,F as O,j as G,n as F,l as B,z as j,a7 as ee,O as pe,e as $,b as U,J as Re,L as Ce,ar as Le,r as Be,a8 as De,a9 as $e,a5 as Ne,aD as Ve,ay as Fe,ap as Oe,ab as Ue,aA as Ee,be as Pe,aE as We,bs as He,aa as Je,bt as Ge,H as Ke,ah as Ye}from"./index-D07viL9P.js";import{_ as Se,a as Me,b as le,c as Qe,d as Xe,u as Ze,e as et,I as tt,f as at,g as st,h as nt,i as it,j as ot,k as rt,C as lt,l as ct,M as ut,m as dt,n as mt,o as pt,p as gt}from"./useInsightTabAnalytics-s3wcN9Eo.js";import{_ as vt}from"./SectionTabs.vue_vue_type_script_setup_true_lang-DjUq1i7-.js";import{_ as ht}from"./Select-CaRAtYOu.js";import{_ as xe,L as xt}from"./LoadingState.vue_vue_type_script_setup_true_lang-DH0zYa8f.js";import{T as Ae}from"./Tabs-Bw65ChMB.js";import{_ as Te}from"./EChart.vue_vue_type_script_setup_true_lang-Rk-Bu-rv.js";import"./vendor-echarts-wordcloud-DNiU8Psq.js";import{u as fe,x as ft,q as ye,j as be,i as se,m as qe,t as ze,s as yt,k as bt}from"./vendor-echarts-C9ugTmum.js";import{_ as ke}from"./ThemeCard.vue_vue_type_script_setup_true_lang-CFSCaL65.js";import{g as kt}from"./base-DwqzgeyP.js";import{i as Ie}from"./chatMessages-By6kR5_1.js";import{_ as _t}from"./useTable-DOM-gqX0.js";import"./vendor-snapdom--nZvo8Sg.js";import"./index-D_CX3gzo.js";import"./useToast-BzK6i1Tk.js";import"./service-CAdsM9Hy.js";import"./Checkbox-I1cjN4s_.js";import"./useFormControl-BPt9mIxj.js";import"./VisuallyHiddenInput-Cy3d6wW5.js";import"./RovingFocusItem-BAQO8BlG.js";import"./Label-DTrL45eR.js";import"./prompt-ipERjPzE.js";import"./aiChat-ZrHuq9Eb.js";import"./chatlabSiteLocale-CrCNb8QP.js";import"./ChatRecordWorkspace-BDCIAjm3.js";import"./DatePicker.vue_vue_type_script_setup_true_lang-DWWzQOTU.js";import"./clamp-jFYhBC76.js";import"./EChartBar.vue_vue_type_script_setup_true_lang-CB_KuKt4.js";import"./Tabs-B0DXvZn9.js";import"./semantic-index-config-builder-CjJ4q8PF.js";import"./TimeSelect.vue_vue_type_script_setup_true_lang-sP4Z2nbi.js";import"./CardDecoration-8F4sZO4v.js";import"./EChartLine.vue_vue_type_script_setup_true_lang-5iW9KPRe.js";import"./PageHeader-C-UYITO9.js";import"./PageTabs.vue_vue_type_script_setup_true_lang-BV344PR7.js";import"./Alert-DR892gaV.js";import"./FileDropZone.vue_vue_type_script_setup_true_lang-DpK_xXUN.js";import"./vendor-zrender-D8psf1AA.js";const wt={key:0,class:"relative z-10 flex flex-col h-full"},$t={class:"flex flex-col sm:flex-row items-center sm:items-start gap-6 px-6 pt-8 pb-4 sm:px-8"},Ct={class:"w-full flex-1 min-w-0"},St={class:"flex items-center gap-x-2 sm:gap-x-3 mb-6 sm:mb-8"},Mt={class:"text-2xl sm:text-4xl font-black tracking-tight text-blue-600 dark:text-blue-400 truncate"},jt={class:"text-2xl sm:text-4xl font-black tracking-tight text-pink-600 dark:text-pink-400 truncate"},Pt={class:"grid grid-cols-2 gap-4 sm:gap-10"},Tt={class:"text-[10px] font-bold uppercase tracking-widest text-gray-400 dark:text-gray-500"},It={class:"flex flex-col gap-2.5"},Rt=["title","onClick"],Dt={class:"shrink-0 text-[10px] sm:text-xs font-semibold tabular-nums text-gray-400/80"},At={key:0,class:"text-xs sm:text-sm font-medium text-gray-400"},qt={class:"hidden shrink-0 sm:block"},zt={class:"px-6 pb-6 pt-2 sm:px-8 mt-auto"},Lt={class:"mb-3 flex items-center justify-between"},Bt={class:"text-[10px] font-bold uppercase tracking-widest text-gray-400 dark:text-gray-500"},Nt={class:"grid grid-cols-1 sm:grid-cols-3 gap-4"},Vt={class:"mb-4 flex items-center gap-2.5"},Ft={class:"text-sm font-bold tracking-wide text-gray-900 dark:text-white"},Ot={class:"flex items-center justify-between mb-4 w-full"},Ut={class:"flex flex-col flex-1 min-w-0"},Et={class:"truncate text-[10px] font-bold uppercase tracking-wider text-gray-400 mb-1"},Wt={class:"flex flex-col flex-1 min-w-0 items-end text-right"},Ht={class:"truncate text-[10px] font-bold uppercase tracking-wider text-gray-400 mb-1"},Jt={class:"mt-auto pt-3 border-t border-gray-100 dark:border-white/5 flex flex-col"},Gt={key:0,class:"flex items-start justify-between gap-2 mb-2 min-h-[24px]"},Kt={class:"flex flex-1 flex-nowrap overflow-hidden gap-1"},Yt={key:0,class:"text-[11px] text-gray-400"},Qt={class:"flex flex-1 flex-nowrap overflow-hidden gap-1 justify-end"},Xt={key:0,class:"text-[11px] text-gray-400"},Zt={key:1,class:"flex flex-nowrap overflow-hidden items-center gap-x-1.5 mb-2 min-h-[24px]"},ea=["onClick"],ta={key:0,class:"shrink-0 text-gray-300 dark:text-gray-600 font-normal"},aa={key:0,class:"text-[11px] text-gray-400"},sa={class:"text-[10px] leading-relaxed text-gray-500 dark:text-gray-400"},na={class:"flex items-center justify-between px-6 pb-4 opacity-40 mix-blend-luminosity dark:opacity-30 sm:px-8 sm:pb-5"},ia={class:"flex items-center gap-1.5"},oa={class:"text-[9px] font-medium uppercase tracking-widest"},ra=K({__name:"LanguagePreferenceCard",props:{data:{},enableRecordNavigation:{type:Boolean,default:!0}},emits:["wordClick"],setup(C,{emit:a}){fe([ft,ye,be]);const{t:s}=Y(),p=ge(),i=C,g=a,D=$(()=>i.data.members[0]),y=$(()=>i.data.members[1]);function v(r,l){return r.length<=l?r:r.slice(0,l)+"…"}function z(r){const l=r.posDistribution,c=l.noun+l.verb+l.adjective+l.adverb+l.modalParticle+l.interjection+l.other;return c===0?s("quotes.languagePreference.pos.styleBalanced"):l.noun/c>.5?s("quotes.languagePreference.pos.styleEncyclopedia"):l.verb/c>.45?s("quotes.languagePreference.pos.styleAction"):l.adjective/c>.3?s("quotes.languagePreference.pos.styleExpressive"):s("quotes.languagePreference.pos.styleBalanced")}function A(r){const c=[["ellipsis",r.ellipsis],["exclamation",r.exclamation],["question",r.question],["tilde",r.tilde],["noPunct",r.noPunct],["period",r.period]].reduce((k,P)=>k[1]>=P[1]?k:P);return{ellipsis:s("quotes.languagePreference.punctuation.personalityDeep"),exclamation:s("quotes.languagePreference.punctuation.personalityPassionate"),question:s("quotes.languagePreference.punctuation.personalityCurious"),tilde:s("quotes.languagePreference.punctuation.personalityCheerful"),noPunct:s("quotes.languagePreference.punctuation.personalityFreeflow"),period:s("quotes.languagePreference.punctuation.personalityPrecise")}[c[0]]||"-"}function w(r,l=5){return[["...",r.ellipsis],["!",r.exclamation],["?",r.question],["~",r.tilde],["。",r.period]].filter(([,m])=>m>0).sort((m,k)=>k[1]-m[1]).slice(0,l).map(([m])=>m)}const M=["#6366f1","#ec4899","#f97316","#22c55e","#3b82f6","#8b5cf6","#14b8a6","#f43f5e","#eab308","#06b6d4"],b=$(()=>{const r=D.value,l=y.value;if(!r||!l)return[];const c=i.data.sharedWords.slice(0,6).map((m,k)=>({word:m.word,color:M[k%M.length]}));return[{icon:"i-heroicons-book-open",iconBgClass:"bg-blue-100 dark:bg-blue-500/20",iconColorClass:"text-blue-600 dark:text-blue-400",title:s("quotes.languagePreference.card.diversityTitle"),leftName:r.name,leftValue:`${r.lexicalDiversity}%`,rightName:l.name,rightValue:`${l.lexicalDiversity}%`,valueClass:"text-lg text-blue-600 dark:text-blue-400",detail:{kind:"tags-single",tags:c},desc:s("quotes.languagePreference.card.diversityDesc")},{icon:"i-heroicons-sparkles",iconBgClass:"bg-violet-100 dark:bg-violet-500/20",iconColorClass:"text-violet-600 dark:text-violet-400",title:s("quotes.languagePreference.card.styleTitle"),leftName:r.name,leftValue:z(r),rightName:l.name,rightValue:z(l),valueClass:"text-xs text-violet-600 dark:text-violet-400",detail:{kind:"tags-vs",leftTags:r.modalParticles.slice(0,4).map(m=>m.word),rightTags:l.modalParticles.slice(0,4).map(m=>m.word)},desc:s("quotes.languagePreference.card.styleDesc")},{icon:"i-heroicons-finger-print",iconBgClass:"bg-orange-100 dark:bg-orange-500/20",iconColorClass:"text-orange-600 dark:text-orange-400",title:s("quotes.languagePreference.card.punctTitle"),leftName:r.name,leftValue:A(r.punctuation),rightName:l.name,rightValue:A(l.punctuation),valueClass:"text-xs text-orange-600 dark:text-orange-400",detail:{kind:"tags-vs",leftTags:w(r.punctuation,4),rightTags:w(l.punctuation,4)},desc:s("quotes.languagePreference.card.punctDesc")}]}),q=U(null);let S=null;function _(){q.value&&(S=se(q.value,void 0,{renderer:"canvas"}),f())}function f(){if(!S||!D.value||!y.value)return;const r=D.value.posDistribution,l=y.value.posDistribution,c=[{name:s("quotes.languagePreference.card.radarFactual"),max:0},{name:s("quotes.languagePreference.card.radarActive"),max:0},{name:s("quotes.languagePreference.card.radarDescriptive"),max:0},{name:s("quotes.languagePreference.card.radarAffable"),max:0},{name:s("quotes.languagePreference.card.radarIntense"),max:0}],m=[r.noun,r.verb,r.adjective,r.modalParticle+r.interjection,r.adverb],k=[l.noun,l.verb,l.adjective,l.modalParticle+l.interjection,l.adverb];for(let E=0;E<c.length;E++)c[E].max=Math.max(m[E],k[E],1)*1.3;const P=p.value?"#9ca3af":"#6b7280";S.setOption({backgroundColor:"transparent",tooltip:{trigger:"item"},legend:{bottom:0,itemWidth:10,itemHeight:10,textStyle:{fontSize:10,color:P},data:[D.value.name,y.value.name]},radar:{indicator:c,radius:"60%",center:["50%","50%"],splitArea:{areaStyle:{color:p.value?["rgba(255,255,255,0.02)","rgba(255,255,255,0.04)"]:["rgba(0,0,0,0.01)","rgba(0,0,0,0.03)"]}},axisName:{color:P,fontSize:10},splitLine:{lineStyle:{color:p.value?"rgba(255,255,255,0.08)":"rgba(0,0,0,0.06)"}},axisLine:{lineStyle:{color:p.value?"rgba(255,255,255,0.1)":"rgba(0,0,0,0.08)"}}},series:[{type:"radar",data:[{value:m,name:D.value.name,lineStyle:{color:"#3b82f6",width:2},areaStyle:{color:"rgba(59,130,246,0.15)"},itemStyle:{color:"#3b82f6"},symbol:"circle",symbolSize:4},{value:k,name:y.value.name,lineStyle:{color:"#ec4899",width:2},areaStyle:{color:"rgba(236,72,153,0.15)"},itemStyle:{color:"#ec4899"},symbol:"circle",symbolSize:4}]}]},{notMerge:!0})}function d(){S?.resize()}return X(()=>i.data,()=>f(),{deep:!0}),X(p,()=>{S?.dispose(),_()}),ve(()=>{_(),window.addEventListener("resize",d)}),he(()=>{window.removeEventListener("resize",d),S?.dispose()}),(r,l)=>{const c=ee;return n(),V(t(Se),null,{default:H(()=>[D.value&&y.value?(n(),u("div",wt,[e("div",$t,[e("div",Ct,[e("div",St,[e("span",Mt,o(D.value.name),1),l[0]||(l[0]=e("span",{class:"text-sm sm:text-lg font-black text-gray-300 dark:text-gray-600 italic px-1 sm:px-2 shrink-0"}," VS ",-1)),e("span",jt,o(y.value.name),1)]),e("div",Pt,[(n(!0),u(O,null,G([D.value,y.value],(m,k)=>(n(),u("div",{key:m.memberId,class:"flex flex-col gap-3"},[e("div",Tt,o(t(s)("quotes.languagePreference.card.topCatchphrases")),1),e("div",It,[(n(!0),u(O,null,G(m.catchphrases.slice(0,3),(P,E)=>(n(),u("div",{key:E,class:"flex items-center gap-2 group"},[e("span",{class:F(["text-xs sm:text-sm font-black font-mono opacity-40 transition-opacity group-hover:opacity-100",k===0?"text-blue-600 dark:text-blue-400":"text-pink-600 dark:text-pink-400"])}," #"+o(E+1),3),e("span",{class:F(["truncate text-sm font-bold text-gray-700 transition-opacity dark:text-gray-200 sm:text-base",i.enableRecordNavigation?"cursor-pointer hover:opacity-70":""]),title:P.content,onClick:J=>i.enableRecordNavigation&&g("wordClick",P.content)}," 「"+o(v(P.content,12))+"」 ",11,Rt),e("span",Dt," ×"+o(P.count),1)]))),128)),m.catchphrases.length===0?(n(),u("div",At,"-")):B("",!0)])]))),128))])]),e("div",qt,[e("div",{ref_key:"radarRef",ref:q,style:{width:"250px",height:"230px"},class:"-mt-4 sm:-mr-4"},null,512)])]),e("div",zt,[e("div",Lt,[e("span",Bt,o(t(s)("quotes.languagePreference.card.languageProfiles")),1)]),e("div",Nt,[(n(!0),u(O,null,G(b.value,m=>(n(),u("div",{key:m.title,class:"flex min-w-0 flex-col p-4"},[e("div",Vt,[e("div",{class:F(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",m.iconBgClass])},[j(c,{name:m.icon,class:F(["h-4 w-4",m.iconColorClass])},null,8,["name","class"])],2),e("span",Ft,o(m.title),1)]),e("div",Ot,[e("div",Ut,[e("span",Et,o(m.leftName),1),e("span",{class:F(["truncate text-xl font-black font-mono leading-none",m.valueClass])},o(m.leftValue),3)]),l[1]||(l[1]=e("div",{class:"px-2 shrink-0"},[e("span",{class:"text-[10px] font-black text-gray-300 dark:text-gray-600 italic"},"VS")],-1)),e("div",Wt,[e("span",Ht,o(m.rightName),1),e("span",{class:F(["truncate text-xl font-black font-mono leading-none",m.valueClass])},o(m.rightValue),3)])]),e("div",Jt,[m.detail.kind==="tags-vs"?(n(),u("div",Gt,[e("div",Kt,[(n(!0),u(O,null,G(m.detail.leftTags,k=>(n(),u("span",{key:k,class:"shrink-0 px-1.5 py-0.5 rounded-md text-[10px] font-semibold font-mono bg-blue-50 text-blue-600 dark:bg-blue-500/10 dark:text-blue-400"},o(k),1))),128)),m.detail.leftTags.length===0?(n(),u("span",Yt,"-")):B("",!0)]),e("div",Qt,[(n(!0),u(O,null,G(m.detail.rightTags,k=>(n(),u("span",{key:k,class:"shrink-0 px-1.5 py-0.5 rounded-md text-[10px] font-semibold font-mono bg-pink-50 text-pink-600 dark:bg-pink-500/10 dark:text-pink-400"},o(k),1))),128)),m.detail.rightTags.length===0?(n(),u("span",Xt,"-")):B("",!0)])])):m.detail.kind==="tags-single"?(n(),u("div",Zt,[(n(!0),u(O,null,G(m.detail.tags.slice(0,6),(k,P)=>(n(),u(O,{key:k.word},[e("span",{class:F(["shrink-0 text-[11px] font-bold transition-opacity",i.enableRecordNavigation?"cursor-pointer hover:opacity-80":""]),style:pe({color:k.color}),onClick:E=>i.enableRecordNavigation&&g("wordClick",k.word)},o(k.word),15,ea),P<m.detail.tags.slice(0,6).length-1?(n(),u("span",ta," · ")):B("",!0)],64))),128)),m.detail.tags.length===0?(n(),u("span",aa,"-")):B("",!0)])):B("",!0),e("p",sa,o(m.desc),1)])]))),128))])]),e("div",na,[e("div",ia,[j(c,{name:"i-heroicons-chat-bubble-left-right-solid",class:"h-3.5 w-3.5"}),l[2]||(l[2]=e("span",{class:"text-[10px] font-bold uppercase tracking-wider"},"ChatLab",-1))]),e("span",oa,o(t(s)("quotes.languagePreference.card.watermark")),1)])])):B("",!0)]),_:1})}}}),la={class:"px-5 py-4 sm:px-6"},ca={class:"mb-4 flex items-center justify-between"},ua={class:"flex items-center gap-2"},da={class:"text-[15px] font-black tracking-tight text-gray-900 dark:text-white"},ma={key:0,class:"rounded-full bg-pink-100 px-2 py-0.5 text-[10px] font-bold text-pink-600 dark:bg-pink-900/30 dark:text-pink-400"},pa={key:0,class:"grid grid-cols-2 gap-6"},ga={class:"mb-3 text-center"},va={class:"text-sm font-semibold text-blue-600 dark:text-blue-400"},ha={class:"flex flex-wrap gap-2"},xa=["title","onClick"],fa={class:"text-[10px] font-semibold opacity-60"},ya={class:"mb-3 text-center"},ba={class:"text-sm font-semibold text-pink-600 dark:text-pink-400"},ka={class:"flex flex-wrap gap-2"},_a=["title","onClick"],wa={class:"text-[10px] font-semibold opacity-60"},$a={key:1,class:"mt-4 text-center text-xs text-gray-500 dark:text-gray-400"},Ca=K({__name:"CatchphrasePKSection",props:{members:{},enableRecordNavigation:{type:Boolean,default:!0}},emits:["wordClick"],setup(C,{emit:a}){const{t:s}=Y(),p=C,i=a,g=U(20),D=[{label:"10",value:10},{label:"20",value:20},{label:"30",value:30}],y=$(()=>p.members[0]),v=$(()=>p.members[1]),z=$(()=>y.value?.catchphrases.slice(0,g.value)??[]),A=$(()=>v.value?.catchphrases.slice(0,g.value)??[]),w=$(()=>{if(!y.value||!v.value)return new Set;const S=new Set(y.value.catchphrases.map(f=>f.content)),_=new Set(v.value.catchphrases.map(f=>f.content));return new Set([...S].filter(f=>_.has(f)))}),M=[{bg:"bg-amber-50 text-amber-600 ring-1 ring-amber-500/20 dark:bg-amber-500/10 dark:text-amber-400 dark:ring-amber-500/30",text:"text-amber-700 dark:text-amber-400 font-bold",badge:"bg-amber-500 text-white dark:bg-amber-600"},{bg:"bg-slate-50 text-slate-600 ring-1 ring-slate-500/20 dark:bg-slate-500/10 dark:text-slate-400 dark:ring-slate-500/30",text:"text-slate-700 dark:text-slate-300 font-bold",badge:"bg-slate-400 text-white dark:bg-slate-500"},{bg:"bg-orange-50 text-orange-600 ring-1 ring-orange-500/20 dark:bg-orange-500/10 dark:text-orange-400 dark:ring-orange-500/30",text:"text-orange-700 dark:text-orange-400 font-bold",badge:"bg-orange-400 text-white dark:bg-orange-500"}];function b(S){return S<M.length?M[S]:{bg:"bg-gray-50/50 text-gray-600 ring-1 ring-gray-900/5 dark:bg-gray-800/30 dark:text-gray-400 dark:ring-white/10",text:"text-gray-600 dark:text-gray-400",badge:"bg-transparent text-gray-400"}}function q(S,_=20){return S.length<=_?S:S.slice(0,_)+"..."}return(S,_)=>{const f=ee;return n(),V(t(ke),null,{default:H(()=>[e("div",la,[e("div",ca,[e("div",ua,[j(f,{name:"i-heroicons-chat-bubble-bottom-center-text",class:"h-4 w-4 text-indigo-500"}),e("span",da,o(t(s)("quotes.languagePreference.catchphrasePK.title")),1),w.value.size>0?(n(),u("span",ma,o(t(s)("quotes.languagePreference.catchphrasePK.sharedCount",{count:w.value.size})),1)):B("",!0)]),j(t(Ae),{modelValue:g.value,"onUpdate:modelValue":_[0]||(_[0]=d=>g.value=d),size:"xs",items:D},null,8,["modelValue"])]),y.value&&v.value?(n(),u("div",pa,[e("div",null,[e("div",ga,[e("span",va,o(y.value.name),1)]),e("div",ha,[(n(!0),u(O,null,G(z.value,(d,r)=>(n(),u("div",{key:d.content,class:F(["inline-flex items-center gap-1.5 rounded-full px-3 py-1 transition-opacity",[p.enableRecordNavigation?"cursor-pointer hover:opacity-75":"",w.value.has(d.content)?"bg-pink-50 text-pink-600 ring-1 ring-pink-500/20 dark:bg-pink-500/10 dark:text-pink-400 dark:ring-pink-500/30 shadow-sm":b(r).bg]]),title:d.content,onClick:l=>p.enableRecordNavigation&&i("wordClick",d.content)},[r<3?(n(),u("span",{key:0,class:F(["flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-[10px] font-bold",b(r).badge])},o(r+1),3)):B("",!0),e("span",{class:F(["text-[13px] font-medium",w.value.has(d.content)?"font-bold":b(r).text])},o(q(d.content)),3),e("span",fa,"×"+o(d.count),1)],10,xa))),128))])]),e("div",null,[e("div",ya,[e("span",ba,o(v.value.name),1)]),e("div",ka,[(n(!0),u(O,null,G(A.value,(d,r)=>(n(),u("div",{key:d.content,class:F(["inline-flex items-center gap-1.5 rounded-full px-3 py-1 transition-opacity",[p.enableRecordNavigation?"cursor-pointer hover:opacity-75":"",w.value.has(d.content)?"bg-pink-50 text-pink-600 ring-1 ring-pink-500/20 dark:bg-pink-500/10 dark:text-pink-400 dark:ring-pink-500/30 shadow-sm":b(r).bg]]),title:d.content,onClick:l=>p.enableRecordNavigation&&i("wordClick",d.content)},[r<3?(n(),u("span",{key:0,class:F(["flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-[10px] font-bold",b(r).badge])},o(r+1),3)):B("",!0),e("span",{class:F(["text-[13px] font-medium",w.value.has(d.content)?"font-bold":b(r).text])},o(q(d.content)),3),e("span",wa,"×"+o(d.count),1)],10,_a))),128))])])])):B("",!0),p.enableRecordNavigation?(n(),u("p",$a,o(t(s)("quotes.languagePreference.catchphrasePK.hint")),1)):B("",!0)])]),_:1})}}}),Sa={class:"px-5 py-4 sm:px-6"},Ma={class:"mb-4 flex items-center gap-2"},ja={class:"text-[15px] font-black tracking-tight text-gray-900 dark:text-white"},Pa={class:"flex flex-col gap-4 lg:flex-row lg:gap-6"},Ta={class:"flex-1"},Ia={key:0,class:"flex shrink-0 flex-col gap-3 lg:w-48"},Ra={class:"min-w-0"},Da={class:"truncate text-xs font-semibold text-gray-500 dark:text-gray-400"},Aa=K({__name:"PosPortraitSection",props:{members:{}},setup(C){fe([qe,ze,ye,yt,be]);const{t:a}=Y(),s=ge(),p=C,i=$(()=>p.members[0]),g=$(()=>p.members[1]);function D(M){const b=M.posDistribution,q=b.noun+b.verb+b.adjective+b.adverb+b.modalParticle+b.interjection+b.other;if(q===0)return{label:a("quotes.languagePreference.pos.styleBalanced"),icon:"i-heroicons-scale-solid",colorClass:"text-cyan-600 dark:text-cyan-400"};const S=b.noun/q,_=b.verb/q,f=b.adjective/q;return S>.5?{label:a("quotes.languagePreference.pos.styleEncyclopedia"),icon:"i-heroicons-book-open-solid",colorClass:"text-indigo-600 dark:text-indigo-400"}:_>.45?{label:a("quotes.languagePreference.pos.styleAction"),icon:"i-heroicons-rocket-launch-solid",colorClass:"text-orange-600 dark:text-orange-400"}:f>.3?{label:a("quotes.languagePreference.pos.styleExpressive"),icon:"i-heroicons-paint-brush-solid",colorClass:"text-pink-600 dark:text-pink-400"}:{label:a("quotes.languagePreference.pos.styleBalanced"),icon:"i-heroicons-scale-solid",colorClass:"text-cyan-600 dark:text-cyan-400"}}const y=U(null);let v=null;function z(){y.value&&(v=se(y.value,void 0,{renderer:"canvas"}),A())}function A(){if(!v||!i.value||!g.value)return;const M=i.value.posDistribution,b=g.value.posDistribution,q=[a("quotes.languagePreference.card.radarNoun"),a("quotes.languagePreference.card.radarVerb"),a("quotes.languagePreference.card.radarAdj"),a("quotes.languagePreference.card.radarModal"),a("quotes.languagePreference.card.radarAdv")],S=[M.noun,M.verb,M.adjective,M.modalParticle+M.interjection,M.adverb],_=[b.noun,b.verb,b.adjective,b.modalParticle+b.interjection,b.adverb],f=s.value?"#9ca3af":"#6b7280";v.setOption({backgroundColor:"transparent",tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},legend:{data:[i.value.name,g.value.name],top:0,textStyle:{fontSize:11,color:f}},grid:{left:80,right:20,top:36,bottom:10},xAxis:{type:"value",show:!1},yAxis:{type:"category",data:q,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{fontSize:11,color:f}},series:[{name:i.value.name,type:"bar",data:S,itemStyle:{color:"#3b82f6",borderRadius:[0,4,4,0]},barGap:"20%",barCategoryGap:"40%"},{name:g.value.name,type:"bar",data:_,itemStyle:{color:"#ec4899",borderRadius:[0,4,4,0]}}]},{notMerge:!0})}function w(){v?.resize()}return X(()=>p.members,()=>A(),{deep:!0}),X(s,()=>{v?.dispose(),z()}),ve(()=>{z(),window.addEventListener("resize",w)}),he(()=>{window.removeEventListener("resize",w),v?.dispose()}),(M,b)=>{const q=ee;return n(),V(t(ke),null,{default:H(()=>[e("div",Sa,[e("div",Ma,[j(q,{name:"i-heroicons-chart-bar",class:"h-4 w-4 text-violet-500"}),e("span",ja,o(t(a)("quotes.languagePreference.pos.title")),1)]),e("div",Pa,[e("div",Ta,[e("div",{ref_key:"chartRef",ref:y,style:{width:"100%",height:"220px"}},null,512)]),i.value&&g.value?(n(),u("div",Ia,[(n(!0),u(O,null,G([i.value,g.value],S=>(n(),u("div",{key:S.memberId,class:"flex min-w-0 items-center gap-3 px-1 py-3"},[j(q,{name:D(S).icon,class:F(["h-5 w-5 shrink-0",D(S).colorClass])},null,8,["name","class"]),e("div",Ra,[e("div",Da,o(S.name),1),e("div",{class:F(["truncate text-sm font-bold",D(S).colorClass])},o(D(S).label),3)])]))),128))])):B("",!0)])])]),_:1})}}}),qa={class:"px-5 py-4 sm:px-6"},za={class:"mb-4 flex items-center gap-2"},La={class:"text-[15px] font-black tracking-tight text-gray-900 dark:text-white"},Ba={key:0,class:"grid grid-cols-1 gap-6 md:grid-cols-2"},Na={class:"mb-2 flex items-center justify-between"},Va={key:1,class:"flex h-[200px] items-center justify-center text-sm text-gray-400"},Fa=K({__name:"ModalParticleSection",props:{members:{}},setup(C){fe([qe,ze,ye,be]);const{t:a}=Y(),s=ge(),p=C,i=$(()=>p.members[0]),g=$(()=>p.members[1]),D=new Set(["呀","哒","滴","啦","哇","耶"]),y=new Set(["呢","吗","嘛"]),v=new Set(["吧","喔","噢","嘛"]),z=new Set(["嗯","哦","额","呃"]);function A(d){const r={label:a("quotes.languagePreference.modal.toneMixed"),colorClass:"bg-gray-50 text-gray-600 ring-1 ring-gray-900/5 dark:bg-gray-800/50 dark:text-gray-400 dark:ring-white/10"};if(d.modalParticles.length===0)return r;let l=0,c=0,m=0,k=0,P=0;for(const J of d.modalParticles)P+=J.count,D.has(J.word)&&(l+=J.count),y.has(J.word)&&(c+=J.count),v.has(J.word)&&(m+=J.count),z.has(J.word)&&(k+=J.count);if(P===0)return r;const E=Math.max(l,c,m,k);return E===l&&l/P>.3?{label:a("quotes.languagePreference.modal.toneSoft"),colorClass:"bg-pink-50 text-pink-600 ring-1 ring-pink-500/20 dark:bg-pink-500/10 dark:text-pink-400 dark:ring-pink-500/30"}:E===c&&c/P>.3?{label:a("quotes.languagePreference.modal.toneCurious"),colorClass:"bg-violet-50 text-violet-600 ring-1 ring-violet-500/20 dark:bg-violet-500/10 dark:text-violet-400 dark:ring-violet-500/30"}:E===m&&m/P>.3?{label:a("quotes.languagePreference.modal.toneCasual"),colorClass:"bg-emerald-50 text-emerald-600 ring-1 ring-emerald-500/20 dark:bg-emerald-500/10 dark:text-emerald-400 dark:ring-emerald-500/30"}:E===k&&k/P>.3?{label:a("quotes.languagePreference.modal.toneCalm"),colorClass:"bg-blue-50 text-blue-600 ring-1 ring-blue-500/20 dark:bg-blue-500/10 dark:text-blue-400 dark:ring-blue-500/30"}:r}const w=U(null),M=U(null);let b=null,q=null;function S(d,r){const l=d.modalParticles.slice(0,8),c=s.value?"#9ca3af":"#6b7280";return{backgroundColor:"transparent",tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},grid:{left:40,right:20,top:4,bottom:4},xAxis:{type:"value",show:!1},yAxis:{type:"category",data:l.map(m=>m.word).reverse(),axisLine:{show:!1},axisTick:{show:!1},axisLabel:{fontSize:12,color:c},inverse:!1},series:[{type:"bar",data:l.map(m=>m.count).reverse(),itemStyle:{color:r,borderRadius:[0,4,4,0]},barWidth:"50%",label:{show:!0,position:"right",fontSize:10,color:c,formatter:"{c}"}}]}}function _(){w.value&&i.value&&(b=se(w.value,void 0,{renderer:"canvas"}),b.setOption(S(i.value,"#3b82f6"),{notMerge:!0})),M.value&&g.value&&(q=se(M.value,void 0,{renderer:"canvas"}),q.setOption(S(g.value,"#ec4899"),{notMerge:!0}))}function f(){b?.resize(),q?.resize()}return X(()=>p.members,()=>{b&&i.value&&b.setOption(S(i.value,"#3b82f6"),{notMerge:!0}),q&&g.value&&q.setOption(S(g.value,"#ec4899"),{notMerge:!0})},{deep:!0}),X(s,()=>{b?.dispose(),q?.dispose(),_()}),ve(()=>{_(),window.addEventListener("resize",f)}),he(()=>{window.removeEventListener("resize",f),b?.dispose(),q?.dispose()}),(d,r)=>{const l=ee;return n(),V(t(ke),null,{default:H(()=>[e("div",qa,[e("div",za,[j(l,{name:"i-heroicons-chat-bubble-oval-left-ellipsis",class:"h-4 w-4 text-pink-500"}),e("span",La,o(t(a)("quotes.languagePreference.modal.title")),1)]),i.value&&g.value?(n(),u("div",Ba,[(n(!0),u(O,null,G([i.value,g.value],(c,m)=>(n(),u("div",{key:c.memberId},[e("div",Na,[e("span",{class:F(["text-sm font-semibold",m===0?"text-blue-600 dark:text-blue-400":"text-pink-600 dark:text-pink-400"])},o(c.name),3),e("span",{class:F(["rounded-full px-2 py-0.5 text-[10px] font-bold",A(c).colorClass])},o(A(c).label),3)]),c.modalParticles.length>0?(n(),u("div",{key:0,ref_for:!0,ref:k=>{m===0?w.value=k:M.value=k},style:{width:"100%",height:"200px"}},null,512)):(n(),u("div",Va,o(t(a)("quotes.languagePreference.modal.empty")),1))]))),128))])):B("",!0)])]),_:1})}}}),Oa={class:"px-5 py-4 sm:px-6"},Ua={class:"mb-4 flex items-center gap-2"},Ea={class:"text-[15px] font-black tracking-tight text-gray-900 dark:text-white"},Wa={key:0,class:"grid grid-cols-1 gap-6 md:grid-cols-2"},Ha={class:"mb-2 flex items-center gap-2"},Ja={key:1,class:"flex h-[200px] items-center justify-center text-sm text-gray-400"},Ga=K({__name:"PunctuationSection",props:{members:{}},setup(C){fe([bt,ye,be]);const{t:a}=Y(),s=ge(),p=C,i=$(()=>p.members[0]),g=$(()=>p.members[1]),D=["#6366f1","#ec4899","#f97316","#22c55e","#06b6d4","#8b5cf6"];function y(_){const d=[["ellipsis",_.ellipsis],["exclamation",_.exclamation],["question",_.question],["tilde",_.tilde],["noPunct",_.noPunct],["period",_.period]].reduce((l,c)=>l[1]>=c[1]?l:c);return{ellipsis:{label:a("quotes.languagePreference.punctuation.personalityDeep"),colorClass:"bg-indigo-50 text-indigo-600 ring-1 ring-indigo-500/20 dark:bg-indigo-500/10 dark:text-indigo-400 dark:ring-indigo-500/30"},exclamation:{label:a("quotes.languagePreference.punctuation.personalityPassionate"),colorClass:"bg-rose-50 text-rose-600 ring-1 ring-rose-500/20 dark:bg-rose-500/10 dark:text-rose-400 dark:ring-rose-500/30"},question:{label:a("quotes.languagePreference.punctuation.personalityCurious"),colorClass:"bg-amber-50 text-amber-600 ring-1 ring-amber-500/20 dark:bg-amber-500/10 dark:text-amber-400 dark:ring-amber-500/30"},tilde:{label:a("quotes.languagePreference.punctuation.personalityCheerful"),colorClass:"bg-pink-50 text-pink-600 ring-1 ring-pink-500/20 dark:bg-pink-500/10 dark:text-pink-400 dark:ring-pink-500/30"},noPunct:{label:a("quotes.languagePreference.punctuation.personalityFreeflow"),colorClass:"bg-emerald-50 text-emerald-600 ring-1 ring-emerald-500/20 dark:bg-emerald-500/10 dark:text-emerald-400 dark:ring-emerald-500/30"},period:{label:a("quotes.languagePreference.punctuation.personalityPrecise"),colorClass:"bg-blue-50 text-blue-600 ring-1 ring-blue-500/20 dark:bg-blue-500/10 dark:text-blue-400 dark:ring-blue-500/30"}}[d[0]]||{label:"-",colorClass:"bg-gray-50 text-gray-600 ring-1 ring-gray-900/5 dark:bg-gray-800/50 dark:text-gray-400 dark:ring-white/10"}}function v(_){return[{name:"...",value:_.ellipsis},{name:"!",value:_.exclamation},{name:"?",value:_.question},{name:"~",value:_.tilde},{name:"。",value:_.period},{name:a("quotes.languagePreference.punctuation.none"),value:_.noPunct}].filter(f=>f.value>0)}const z=U(null),A=U(null);let w=null,M=null;function b(_){return{backgroundColor:"transparent",tooltip:{trigger:"item",formatter:"{b}: {c} ({d}%)"},series:[{type:"pie",radius:["45%","75%"],center:["50%","50%"],avoidLabelOverlap:!1,padAngle:2,itemStyle:{borderRadius:4},label:{show:!0,fontSize:10,color:s.value?"#9ca3af":"#6b7280",formatter:"{b}"},emphasis:{label:{show:!0,fontWeight:"bold"},scaleSize:4},data:_.map((f,d)=>({...f,itemStyle:{color:D[d%D.length]}}))}]}}function q(){z.value&&i.value&&(w=se(z.value,void 0,{renderer:"canvas"}),w.setOption(b(v(i.value.punctuation)),{notMerge:!0})),A.value&&g.value&&(M=se(A.value,void 0,{renderer:"canvas"}),M.setOption(b(v(g.value.punctuation)),{notMerge:!0}))}function S(){w?.resize(),M?.resize()}return X(()=>p.members,()=>{w&&i.value&&w.setOption(b(v(i.value.punctuation)),{notMerge:!0}),M&&g.value&&M.setOption(b(v(g.value.punctuation)),{notMerge:!0})},{deep:!0}),X(s,()=>{w?.dispose(),M?.dispose(),q()}),ve(()=>{q(),window.addEventListener("resize",S)}),he(()=>{window.removeEventListener("resize",S),w?.dispose(),M?.dispose()}),(_,f)=>{const d=ee;return n(),V(t(ke),null,{default:H(()=>[e("div",Oa,[e("div",Ua,[j(d,{name:"i-heroicons-ellipsis-horizontal",class:"h-4 w-4 text-orange-500"}),e("span",Ea,o(t(a)("quotes.languagePreference.punctuation.title")),1)]),i.value&&g.value?(n(),u("div",Wa,[(n(!0),u(O,null,G([i.value,g.value],(r,l)=>(n(),u("div",{key:r.memberId,class:"flex flex-col items-center"},[e("div",Ha,[e("span",{class:F(["text-sm font-semibold",l===0?"text-blue-600 dark:text-blue-400":"text-pink-600 dark:text-pink-400"])},o(r.name),3),e("span",{class:F(["rounded-full px-2 py-0.5 text-[10px] font-bold",y(r.punctuation).colorClass])},o(y(r.punctuation).label),3)]),r.punctuation.total>0?(n(),u("div",{key:0,ref_for:!0,ref:c=>{l===0?z.value=c:A.value=c},style:{width:"100%",height:"200px"}},null,512)):(n(),u("div",Ja,o(t(a)("quotes.languagePreference.punctuation.empty")),1))]))),128))])):B("",!0)])]),_:1})}}}),Ka={class:"main-content mx-auto max-w-[920px] space-y-6 p-4 sm:p-6"},Ya=K({__name:"LanguagePreferenceTab",props:{sessionId:{},timeFilter:{},enableRecordNavigation:{type:Boolean,default:!0}},setup(C){const{t:a,locale:s}=Y(),p=Re(),i=C,g=U(null),D=U(!1),y=$(()=>g.value&&g.value.members.length>=2);async function v(){if(i.sessionId){D.value=!0;try{g.value=await Ce().getLanguagePreferenceAnalysis(i.sessionId,s.value,i.timeFilter)}catch(A){console.error("[LanguagePreferenceTab] Failed to load:",A)}finally{D.value=!1}}}function z(A){i.enableRecordNavigation&&p.openChatRecordDrawer({keywords:[A]})}return X(()=>[i.sessionId,i.timeFilter],()=>v(),{immediate:!0,deep:!0}),(A,w)=>(n(),u("div",Ka,[D.value?(n(),V(t(xe),{key:0,text:t(a)("quotes.languagePreference.loading")},null,8,["text"])):y.value?g.value?(n(),u(O,{key:2},[j(ra,{data:g.value,"enable-record-navigation":i.enableRecordNavigation,onWordClick:z},null,8,["data","enable-record-navigation"]),j(Ca,{members:g.value.members,"enable-record-navigation":i.enableRecordNavigation,onWordClick:z},null,8,["members","enable-record-navigation"]),j(Aa,{members:g.value.members},null,8,["members"]),j(Fa,{members:g.value.members},null,8,["members"]),j(Ga,{members:g.value.members},null,8,["members"])],64)):B("",!0):(n(),V(t(Me),{key:1,text:t(a)("quotes.languagePreference.empty")},null,8,["text"]))]))}}),Qa={class:"flex min-w-0 flex-col p-4"},Xa={class:"mb-2 min-h-8"},Za={class:"flex items-center justify-between gap-2"},es={class:"flex min-w-0 items-center gap-2"},ts={class:"truncate text-xs font-bold tracking-wide text-gray-900 dark:text-white"},as={key:0,class:"shrink-0"},ss={class:"flex h-full flex-col"},ns={class:"grid grid-cols-2 gap-2"},is={class:"flex min-w-0 flex-col items-center px-1 py-1.5 text-center"},os=["title"],rs={class:"flex min-w-0 flex-col items-center px-1 py-1.5 text-center"},ls=["title"],cs={class:"mt-auto pt-3 min-h-8 text-[10px] leading-relaxed text-gray-500 dark:text-gray-400 sm:min-h-6"},me=K({__name:"RelationshipMetricCard",props:{title:{},iconName:{},iconBgClass:{},iconColorClass:{},leftName:{default:"—"},leftValue:{default:"--"},rightName:{default:"—"},rightValue:{default:"--"},valueClass:{default:"text-gray-700 dark:text-gray-200"},description:{default:""}},setup(C){const a=Le(),s=$(()=>!!a["header-extra"]);return(p,i)=>{const g=ee;return n(),u("div",Qa,[e("div",Xa,[e("div",Za,[e("div",es,[e("div",{class:F(["flex h-6 w-6 shrink-0 items-center justify-center rounded-full",C.iconBgClass])},[j(g,{name:C.iconName,class:F(["h-3.5 w-3.5",C.iconColorClass])},null,8,["name","class"])],2),e("span",ts,o(C.title),1)]),s.value?(n(),u("div",as,[Be(p.$slots,"header-extra")])):B("",!0)])]),e("div",ss,[e("div",ns,[e("div",is,[e("div",{class:"w-full truncate text-[10px] font-semibold tracking-wide text-gray-500 dark:text-gray-400",title:C.leftName},o(C.leftName),9,os),e("div",{class:F(["mt-2 font-black font-mono leading-none tabular-nums",C.valueClass])},o(C.leftValue),3)]),e("div",rs,[e("div",{class:"w-full truncate text-[10px] font-semibold tracking-wide text-gray-500 dark:text-gray-400",title:C.rightName},o(C.rightName),9,ls),e("div",{class:F(["mt-2 font-black font-mono leading-none tabular-nums",C.valueClass])},o(C.rightValue),3)])]),e("p",cs,o(C.description),1)])])}}}),us={key:1,class:"main-content mx-auto max-w-[920px] space-y-6 p-4 sm:p-6"},ds={class:"space-y-6"},ms={class:"relative z-10 flex flex-col items-center justify-center gap-10 px-6 pt-10 pb-6 sm:px-8 lg:flex-row lg:items-start lg:justify-between lg:gap-8 xl:gap-12"},ps={class:"flex min-w-0 max-w-full flex-1 flex-col items-center justify-center lg:items-start"},gs={class:"flex flex-col text-[15px] leading-relaxed text-gray-600 dark:text-gray-300"},vs={class:"mb-2 text-sm font-medium tracking-wide text-gray-500 dark:text-gray-400"},hs={class:"mb-4 flex min-w-0 flex-wrap items-baseline gap-2"},xs={class:"text-xl font-medium text-gray-700 dark:text-gray-300"},fs={class:"font-black text-5xl tracking-tight text-gray-900 dark:text-white"},ys={class:"text-xl font-medium text-gray-700 dark:text-gray-300"},bs={class:"flex min-w-0 max-w-full flex-wrap items-baseline gap-x-1.5 gap-y-1"},ks={class:"text-base font-medium text-gray-600 dark:text-gray-300"},_s={class:"font-black text-3xl text-pink-500 dark:text-pink-400"},ws={class:"text-base font-medium text-gray-600 dark:text-gray-300"},$s={class:"max-w-full break-all text-xl font-bold leading-snug text-gray-900 dark:text-white"},Cs={class:"text-base font-medium text-gray-600 dark:text-gray-300"},Ss={class:"mt-8 flex w-full max-w-[320px] items-center justify-between gap-4"},Ms={class:"flex flex-1 flex-col items-center overflow-hidden"},js=["title"],Ps={class:"mt-1 text-2xl font-black text-blue-500 dark:text-blue-400"},Ts={class:"mt-0.5 text-[10px] font-medium text-gray-400"},Is={class:"flex flex-1 flex-col items-center overflow-hidden"},Rs=["title"],Ds={class:"mt-1 text-2xl font-black text-pink-500 dark:text-pink-400"},As={class:"mt-0.5 text-[10px] font-medium text-gray-400"},qs={key:0,class:"flex min-w-0 w-full max-w-[400px] flex-1 flex-col justify-center lg:max-w-[460px]"},zs={class:"mb-2 flex items-center justify-between px-1"},Ls={class:"text-sm font-bold text-gray-900 dark:text-white"},Bs={class:"text-[10px] font-medium text-gray-500 dark:text-gray-400"},Ns={class:"w-full"},Vs={class:"h-[200px] w-full"},Fs={class:"relative z-10 grid grid-cols-2 gap-3 p-4 pt-2 sm:p-6 sm:pt-2 lg:grid-cols-4"},Os={class:"relative z-10 flex items-center justify-between px-6 pb-4 opacity-40 mix-blend-luminosity dark:opacity-30 sm:px-8 sm:pb-5"},Us={class:"flex items-center gap-1.5"},Es={class:"text-[9px] font-medium uppercase tracking-widest"},Ws={class:"px-4 pb-5 sm:px-6 sm:pb-6"},Hs={key:0,class:"mt-6"},Js={class:"mb-3 text-xs font-semibold tracking-wide text-gray-400 uppercase dark:text-gray-500"},Gs={class:"grid gap-x-8 gap-y-4 sm:grid-cols-3"},Ks={class:"min-w-0"},Ys={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},Qs=["title"],Xs={class:"mt-0.5 text-xs text-gray-500 dark:text-gray-400"},Zs={class:"mt-5 flex justify-center"},en={key:1,class:"mt-3 overflow-x-auto rounded-lg border border-gray-200/80 dark:border-white/10"},tn={class:"min-w-full text-left text-sm"},an={class:"bg-gray-50/80 text-xs text-gray-500 dark:bg-white/[0.03] dark:text-gray-400"},sn={scope:"col",class:"px-4 py-2.5 font-medium"},nn={scope:"col",class:"px-4 py-2.5 text-right font-medium"},on={scope:"col",class:"px-4 py-2.5 text-right font-medium"},rn={scope:"col",class:"max-w-[180px] truncate px-4 py-2.5 text-right font-medium"},ln={scope:"col",class:"max-w-[180px] truncate px-4 py-2.5 text-right font-medium"},cn={class:"divide-y divide-gray-100 dark:divide-white/5"},un={class:"whitespace-nowrap px-4 py-2.5 font-medium text-gray-700 dark:text-gray-300"},dn={class:"px-4 py-2.5 text-right tabular-nums text-gray-600 dark:text-gray-400"},mn={class:"px-4 py-2.5 text-right tabular-nums text-gray-600 dark:text-gray-400"},pn={class:"whitespace-nowrap px-4 py-2.5 text-right tabular-nums text-gray-600 dark:text-gray-400"},gn={class:"whitespace-nowrap px-4 py-2.5 text-right tabular-nums text-gray-600 dark:text-gray-400"},vn={class:"px-4 py-2.5 text-right tabular-nums text-gray-600 dark:text-gray-400"},hn={class:"px-4 py-2.5 text-right tabular-nums text-gray-600 dark:text-gray-400"},xn=K({__name:"PrivateRelationshipView",props:{sessionId:{},timeFilter:{}},setup(C){const{t:a,locale:s}=Y(),p=C,i=U(null),g=U(!1),D=U(!1),y=U("activity"),v=U(!1),z=U(300);async function A(x){if(!p.sessionId)return;const h=x?.localOnly==="perseverance";h?D.value=!0:g.value=!0;try{i.value=await Ce().getRelationshipStats(p.sessionId,p.timeFilter,{perseveranceThreshold:z.value})}catch(L){console.error("Failed to load relationship stats:",L)}finally{h?D.value=!1:g.value=!1}}X(()=>[p.sessionId,p.timeFilter],()=>A(),{immediate:!0,deep:!0});const w=[{label:"1m",value:60},{label:"3m",value:180},{label:"5m",value:300},{label:"10m",value:600},{label:"30m",value:1800}];function M(x){z.value!==x&&(z.value=x,A({localOnly:"perseverance"}))}const b=$({get:()=>z.value,set:x=>M(x)});function q(x){return a("views.relationship.perseverance.thresholdMinutes",{n:Math.round(x/60)})}const S=$(()=>a("views.relationship.perseverance.hintWithThreshold",{threshold:q(z.value)})),_=$(()=>i.value?.hasSessionIndex&&i.value.totalSessions>0),f=$(()=>i.value?.members[0]),d=$(()=>i.value?.members[1]),r=$(()=>{if(!f.value||!i.value)return 50;const x=(f.value.totalInitiateCount??0)+(d.value?.totalInitiateCount??0);return x===0?50:Math.round(f.value.totalInitiateCount/x*100)}),l=$(()=>{if(!i.value||i.value.months.length===0)return"";const x=[...i.value.months].sort((R,I)=>R.month.localeCompare(I.month)),h=x[0].month.replace("-","/"),L=x[x.length-1].month.replace("-","/");return h===L?h:`${h} – ${L}`}),c=$(()=>s.value.startsWith("en")?"max-w-[420px]":"max-w-[320px]"),m=$(()=>{if(!i.value||i.value.months.length===0||!f.value)return{};const x=[...i.value.months].sort((N,te)=>N.month.localeCompare(te.month)),h=x.map(N=>P(N.month)),L=f.value.name,R=d.value?.name??"—",I=x.map(N=>{const te=N.members.find(de=>de.memberId===f.value.memberId);return!te||N.totalSessions===0?50:Math.round(te.initiateCount/N.totalSessions*100)});return{tooltip:{trigger:"axis",formatter(N){const te=N[0],de=te.value;return`${te.axisValue}<br/>${L}: ${de}%<br/>${R}: ${100-de}%`}},grid:{left:40,right:20,top:20,bottom:30},xAxis:{type:"category",data:h,axisLabel:{fontSize:11}},yAxis:{type:"value",min:0,max:100,axisLabel:{formatter:"{value}%",fontSize:11},splitLine:{lineStyle:{type:"dashed"}}},series:[{type:"line",data:I,smooth:!0,symbol:"circle",symbolSize:6,lineStyle:{width:2,color:"#3b82f6"},itemStyle:{color:"#3b82f6"},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(59, 130, 246, 0.15)"},{offset:1,color:"rgba(59, 130, 246, 0)"}]}},markLine:{silent:!0,data:[{yAxis:50,lineStyle:{type:"dashed",color:"#9ca3af"}}],label:{show:!1},symbol:"none"}}]}});function k(x){const[h,L]=x.split("-");return a("views.relationship.monthFormat",{year:h,month:Number.parseInt(L,10)})}function P(x){const h=x.split("-");return a("views.relationship.monthShortFormat",{month:Number.parseInt(h[1],10)})}function E(x){return!x||!i.value?.iceBreakers?.length?0:i.value.iceBreakers.filter(h=>h.memberId===x).reduce((h,L)=>h+L.count,0)}function J(x){if(!x||!i.value?.responseLatency?.length)return null;const h=i.value.responseLatency.find(L=>L.memberId===x);return h?h.avgResponseTime:null}function ne(x){return!x||!i.value?.perseverance?.length?0:i.value.perseverance.find(L=>L.memberId===x)?.totalDoubleTexts??0}function ce(x){const h=J(x);return h!=null?T(h):"--"}function ie(x){return i.value?.monthlyResponseLatency?.find(h=>h.month===x)?.members??[]}function _e(x){return i.value?.monthlyPerseverance?.find(h=>h.month===x)?.members??[]}function oe(x,h){return h?ie(x).find(R=>R.memberId===h)?.avgResponseTime??null:null}function ue(x,h){const L=oe(x,h);return L==null?"—":T(L)}function ae(x,h){return h?_e(x).find(R=>R.memberId===h)?.doubleTextCount??0:0}function re(x){return i.value?.iceBreakers?.filter(h=>h.month===x).reduce((h,L)=>h+L.count,0)??0}function Q(x){const h=ie(x),L=h.reduce((R,I)=>R+I.responseCount,0);return L===0?null:h.reduce((R,I)=>R+I.avgResponseTime*I.responseCount,0)/L}function T(x){const h=Math.max(0,Math.round(x));if(h<60)return a("views.relationship.responseLatency.seconds",{n:h});if(h<3600){const I=Math.floor(h/60),N=h%60;return a("views.relationship.responseLatency.minutesSeconds",{m:I,s:N})}const L=Math.floor(h/3600),R=Math.floor(h%3600/60);return R===0?a("views.relationship.responseLatency.hours",{n:L}):a("views.relationship.responseLatency.hoursMinutes",{h:L,m:R})}const Z=$(()=>[...i.value?.months??[]].sort((x,h)=>x.month.localeCompare(h.month))),we=$(()=>[{label:a("views.relationship.trajectory.metrics.activity"),value:"activity"},{label:a("views.relationship.trajectory.metrics.response"),value:"response"},{label:a("views.relationship.trajectory.metrics.perseverance"),value:"perseverance"}]),W=$(()=>{const x=Z.value,h=new Set(x.map(I=>I.month.slice(0,4))).size>1,L=x.map(I=>h?I.month.replace("-","/"):P(I.month)),R={color:["#3b82f6","#ec4899"],tooltip:{trigger:"axis"},legend:{top:4,textStyle:{fontSize:11}},grid:{left:52,right:24,top:44,bottom:34},xAxis:{type:"category",data:L,axisTick:{show:!1},axisLabel:{fontSize:11}},yAxis:{type:"value",min:0,minInterval:1,axisLabel:{fontSize:11},splitLine:{lineStyle:{type:"dashed"}}}};return y.value==="activity"?{...R,series:[{name:a("views.relationship.trajectory.conversations"),type:"bar",data:x.map(I=>I.totalSessions),barMaxWidth:32,itemStyle:{borderRadius:[4,4,0,0]}},{name:a("views.relationship.trajectory.iceBreaks"),type:"line",data:x.map(I=>re(I.month)),smooth:!0,symbolSize:7,lineStyle:{width:2}}]}:y.value==="response"?{...R,tooltip:{trigger:"axis",valueFormatter(I){return typeof I=="number"?T(I):String(I??"—")}},yAxis:{type:"value",min:0,axisLabel:{fontSize:11,formatter(I){return T(I)}},splitLine:{lineStyle:{type:"dashed"}}},series:[{name:f.value?.name??"—",type:"line",data:x.map(I=>oe(I.month,f.value?.memberId)),connectNulls:!1,smooth:!0,symbolSize:7,lineStyle:{width:2}},{name:d.value?.name??"—",type:"line",data:x.map(I=>oe(I.month,d.value?.memberId)),connectNulls:!1,smooth:!0,symbolSize:7,lineStyle:{width:2}}]}:{...R,series:[{name:f.value?.name??"—",type:"bar",data:x.map(I=>ae(I.month,f.value?.memberId)),barMaxWidth:24,itemStyle:{borderRadius:[4,4,0,0]}},{name:d.value?.name??"—",type:"bar",data:x.map(I=>ae(I.month,d.value?.memberId)),barMaxWidth:24,itemStyle:{borderRadius:[4,4,0,0]}}]}}),je=$(()=>{const x=Z.value.reduce((R,I)=>!R||I.totalSessions>R.totalSessions?I:R,null),h=Z.value.map(R=>({month:R.month,count:re(R.month)})).filter(R=>R.count>0).sort((R,I)=>I.count-R.count)[0],L=Z.value.map(R=>({month:R.month,value:Q(R.month)})).filter(R=>R.value!=null).sort((R,I)=>R.value-I.value)[0];return[x&&x.totalSessions>0?{icon:"i-heroicons-chart-bar-square-solid",iconClass:"bg-blue-50 text-blue-500 dark:bg-blue-500/10 dark:text-blue-400",title:a("views.relationship.trajectory.activityPeak"),month:k(x.month),detail:a("views.relationship.trajectory.activityPeakDetail",{count:x.totalSessions})}:null,h?{icon:"i-heroicons-fire-solid",iconClass:"bg-pink-50 text-pink-500 dark:bg-pink-500/10 dark:text-pink-400",title:a("views.relationship.trajectory.iceBreakPeak"),month:k(h.month),detail:a("views.relationship.trajectory.iceBreakPeakDetail",{count:h.count})}:null,L?{icon:"i-heroicons-clock-solid",iconClass:"bg-blue-50 text-blue-500 dark:bg-blue-500/10 dark:text-blue-400",title:a("views.relationship.trajectory.fastestResponse"),month:k(L.month),detail:a("views.relationship.trajectory.fastestResponseDetail",{duration:T(L.value)})}:null].filter(R=>R!=null)});return(x,h)=>{const L=ht,R=ee,I=De;return n(),u("div",{class:F(g.value?"h-full":"")},[g.value?(n(),V(t(xe),{key:0,variant:"page",text:t(a)("common.loading")},null,8,["text"])):(n(),u("div",us,[i.value&&!_.value?(n(),V(t(Me),{key:0,icon:"i-heroicons-heart",title:t(a)("views.relationship.empty.title"),description:t(a)("views.relationship.empty.description")},null,8,["title","description"])):i.value&&_.value?(n(),u(O,{key:1},[e("div",ds,[j(t(Se),{id:"shareable-poster"},{default:H(()=>[e("div",ms,[e("div",ps,[e("div",{class:F(["flex w-fit min-w-0 flex-col items-start text-left",c.value])},[e("div",gs,[e("p",vs,o(l.value),1),e("div",hs,[e("span",xs,o(t(a)("views.relationship.hero.totalSessionsPrefix")),1),e("span",fs,o(i.value.totalSessions),1),e("span",ys,o(t(a)("views.relationship.hero.totalSessionsSuffix")),1)]),e("div",bs,[e("span",ks,o(t(a)("views.relationship.hero.initiativePrefix")),1),e("span",_s,o(r.value>=50?r.value:100-r.value)+"% ",1),e("span",ws,o(t(a)("views.relationship.hero.initiativeByPrefix")),1),e("span",$s,o(r.value>=50?f.value?.name:d.value?.name),1),e("span",Cs,o(t(a)("views.relationship.hero.initiativeBySuffix")),1)])]),e("div",Ss,[e("div",Ms,[e("div",{class:"w-full truncate text-center text-xs font-bold text-gray-500 dark:text-gray-400",title:f.value?.name},o(f.value?.name),9,js),e("div",Ps,o(f.value?.totalInitiateCount),1),e("div",Ts,o(t(a)("views.relationship.hero.initiateTimes")),1)]),h[3]||(h[3]=e("div",{class:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-gray-100 font-black text-[10px] italic text-gray-400 shadow-inner dark:bg-page-dark/80 dark:text-gray-500"}," VS ",-1)),e("div",Is,[e("div",{class:"w-full truncate text-center text-xs font-bold text-gray-500 dark:text-gray-400",title:d.value?.name},o(d.value?.name),9,Rs),e("div",Ds,o(d.value?.totalInitiateCount),1),e("div",As,o(t(a)("views.relationship.hero.initiateTimes")),1)])])],2)]),i.value.months.length>=2?(n(),u("div",qs,[e("div",zs,[e("span",Ls,o(t(a)("views.relationship.trend.title")),1),e("span",Bs,o(t(a)("views.relationship.trend.hint",{name:f.value?.name??""})),1)]),e("div",Ns,[e("div",Vs,[j(t(Te),{option:m.value,height:200},null,8,["option"])])])])):B("",!0)]),e("div",Fs,[j(me,{title:t(a)("views.relationship.closerTitle"),"icon-name":"i-heroicons-hand-raised-solid","icon-bg-class":"bg-blue-100 dark:bg-blue-500/20","icon-color-class":"text-blue-600 dark:text-blue-400","left-name":f.value?.name,"left-value":f.value?.totalCloseCount??0,"right-name":d.value?.name,"right-value":d.value?.totalCloseCount??0,"value-class":"text-lg text-blue-600 dark:text-blue-400",description:t(a)("views.relationship.closerHint")},null,8,["title","left-name","left-value","right-name","right-value","description"]),j(me,{title:t(a)("views.relationship.iceBreaker.title"),"icon-name":"i-heroicons-fire-solid","icon-bg-class":"bg-pink-100 dark:bg-pink-500/20","icon-color-class":"text-pink-600 dark:text-pink-400","left-name":f.value?.name,"left-value":E(f.value?.memberId),"right-name":d.value?.name,"right-value":E(d.value?.memberId),"value-class":"text-lg text-pink-600 dark:text-pink-400",description:t(a)("views.relationship.iceBreaker.hint")},null,8,["title","left-name","left-value","right-name","right-value","description"]),j(me,{title:t(a)("views.relationship.responseLatency.title"),"icon-name":"i-heroicons-clock-solid","icon-bg-class":"bg-amber-100 dark:bg-amber-500/20","icon-color-class":"text-amber-600 dark:text-amber-400","left-name":f.value?.name,"left-value":ce(f.value?.memberId),"right-name":d.value?.name,"right-value":ce(d.value?.memberId),"value-class":"text-base text-amber-600 dark:text-amber-400",description:t(a)("views.relationship.responseLatency.hint")},null,8,["title","left-name","left-value","right-name","right-value","description"]),j(me,{title:t(a)("views.relationship.perseverance.title"),"icon-name":"i-heroicons-arrow-path-solid","icon-bg-class":"bg-purple-100 dark:bg-purple-500/20","icon-color-class":"text-purple-600 dark:text-purple-400","left-name":f.value?.name,"left-value":ne(f.value?.memberId),"right-name":d.value?.name,"right-value":ne(d.value?.memberId),"value-class":"text-lg text-purple-600 dark:text-purple-400",description:S.value},{"header-extra":H(()=>[j(L,{modelValue:b.value,"onUpdate:modelValue":h[0]||(h[0]=N=>b.value=N),items:w,"value-key":"value",size:"xs",class:"relative z-[120] w-16",ui:{content:"z-[121]"},disabled:D.value},null,8,["modelValue","disabled"])]),_:1},8,["title","left-name","left-value","right-name","right-value","description"])]),e("div",Os,[e("div",Us,[j(R,{name:"i-heroicons-chat-bubble-left-right-solid",class:"h-3.5 w-3.5"}),h[4]||(h[4]=e("span",{class:"text-[10px] font-bold uppercase tracking-wider"},"ChatLab",-1))]),e("span",Es,o(t(a)("views.relationship.watermarkReport")),1)])]),_:1})]),j(t(le),{title:t(a)("views.relationship.trajectory.title"),description:t(a)("views.relationship.trajectory.description"),"show-divider":!1},{headerRight:H(()=>[j(t(Ae),{modelValue:y.value,"onUpdate:modelValue":h[1]||(h[1]=N=>y.value=N),items:we.value,size:"sm",class:"max-w-[58vw] sm:max-w-none"},null,8,["modelValue","items"])]),default:H(()=>[e("div",Ws,[j(t(Te),{option:W.value,height:280},null,8,["option"]),je.value.length>0?(n(),u("div",Hs,[e("p",Js,o(t(a)("views.relationship.trajectory.keyMoments")),1),e("div",Gs,[(n(!0),u(O,null,G(je.value,N=>(n(),u("div",{key:N.title,class:"flex min-w-0 items-start gap-3 py-1"},[e("div",{class:F(["flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",N.iconClass])},[j(R,{name:N.icon,class:"h-4 w-4"},null,8,["name"])],2),e("div",Ks,[e("p",Ys,o(N.title),1),e("p",{class:"mt-0.5 truncate text-sm font-semibold text-gray-900 dark:text-white",title:N.month},o(N.month),9,Qs),e("p",Xs,o(N.detail),1)])]))),128))])])):B("",!0),e("div",Zs,[j(I,{color:"neutral",variant:"ghost",size:"sm",icon:v.value?"i-heroicons-chevron-up":"i-heroicons-chevron-down",onClick:h[2]||(h[2]=N=>v.value=!v.value)},{default:H(()=>[$e(o(v.value?t(a)("views.relationship.trajectory.hideAll"):t(a)("views.relationship.trajectory.showAll")),1)]),_:1},8,["icon"])]),v.value?(n(),u("div",en,[e("table",tn,[e("thead",an,[e("tr",null,[e("th",sn,o(t(a)("views.relationship.trajectory.month")),1),y.value==="activity"?(n(),u(O,{key:0},[e("th",nn,o(t(a)("views.relationship.trajectory.conversations")),1),e("th",on,o(t(a)("views.relationship.trajectory.iceBreaks")),1)],64)):(n(),u(O,{key:1},[e("th",rn,o(f.value?.name),1),e("th",ln,o(d.value?.name),1)],64))])]),e("tbody",cn,[(n(!0),u(O,null,G([...Z.value].reverse(),N=>(n(),u("tr",{key:N.month},[e("td",un,o(k(N.month)),1),y.value==="activity"?(n(),u(O,{key:0},[e("td",dn,o(N.totalSessions),1),e("td",mn,o(re(N.month)),1)],64)):y.value==="response"?(n(),u(O,{key:1},[e("td",pn,o(ue(N.month,f.value?.memberId)),1),e("td",gn,o(ue(N.month,d.value?.memberId)),1)],64)):(n(),u(O,{key:2},[e("td",vn,o(ae(N.month,f.value?.memberId)),1),e("td",hn,o(ae(N.month,d.value?.memberId)),1)],64))]))),128))])])])):B("",!0)])]),_:1},8,["title","description"])],64)):B("",!0)]))],2)}}}),fn={class:"relative z-10 px-6 pt-8 pb-5 sm:px-8 sm:pt-10"},yn={class:"flex flex-col gap-8 lg:flex-row lg:items-center lg:justify-between lg:gap-12"},bn={class:"min-w-0 flex-1"},kn={class:"text-sm font-medium tracking-wide text-gray-500 dark:text-gray-400"},_n={class:"mt-3 flex flex-wrap items-baseline gap-x-2 gap-y-1"},wn={class:"text-xl font-medium text-gray-700 dark:text-gray-300"},$n={class:"text-4xl font-black tracking-tight text-gray-900 dark:text-white sm:text-5xl"},Cn={class:"mt-3 max-w-xl text-sm leading-6 text-gray-500 dark:text-gray-400"},Sn={class:"w-full min-w-0 lg:max-w-[380px]"},Mn={class:"mb-3 flex items-center justify-between gap-4"},jn={class:"text-xs font-bold tracking-wide text-gray-700 dark:text-gray-300"},Pn={class:"text-[10px] font-medium text-gray-400 dark:text-gray-500"},Tn=["title"],In={class:"mt-2 flex justify-between text-[10px] font-medium text-gray-400 dark:text-gray-500"},Rn={class:"relative z-10 grid grid-cols-2 gap-x-3 gap-y-4 px-4 pt-2 pb-6 sm:px-6 lg:grid-cols-4"},Dn={class:"min-w-0"},An={class:"mt-1 truncate text-[10px] font-semibold text-gray-600 dark:text-gray-300"},qn={class:"mt-0.5 line-clamp-2 text-[9px] leading-4 text-gray-400 dark:text-gray-500"},zn={class:"relative z-10 flex items-center justify-between px-6 pb-4 opacity-40 mix-blend-luminosity dark:opacity-30 sm:px-8 sm:pb-5"},Ln={class:"flex items-center gap-1.5"},Bn={class:"text-[9px] font-medium uppercase tracking-widest"},Nn=K({__name:"JourneyReportCard",props:{stats:{},filtered:{type:Boolean}},setup(C){const a=C,{t:s,locale:p}=Y(),i=$(()=>new Intl.NumberFormat(p.value)),g=$(()=>new Intl.DateTimeFormat(p.value,{year:"numeric",month:"short",day:"numeric"})),D=$(()=>new Intl.DateTimeFormat(p.value,{year:"numeric",month:"short"})),y=$(()=>a.stats.range),v=$(()=>Math.max(...a.stats.months.map(d=>d.messageCount),1)),z=$(()=>({gridTemplateColumns:`repeat(${a.stats.months.length}, minmax(2px, 1fr))`,gap:a.stats.months.length>96?"1px":"2px"})),A=$(()=>{const d=y.value.spanDays;if(d<30)return s("views.journey.duration.days",{count:d});const r=Math.floor(d/365),l=Math.floor(d%365/30);return r>0?l>0?s("views.journey.duration.yearsMonths",{years:r,months:l}):s("views.journey.duration.years",{count:r}):s("views.journey.duration.months",{count:Math.max(1,l)})}),w=$(()=>[{icon:"i-heroicons-sparkles-solid",colorClass:"text-pink-500 dark:text-pink-400",label:s("views.journey.metrics.peakMonth"),value:a.stats.peakMonth?q(a.stats.peakMonth.month):"—",subtext:a.stats.peakMonth?s("views.journey.metrics.messagesAndDays",{messages:M(a.stats.peakMonth.messageCount),days:M(a.stats.peakMonth.activeDays)}):"—"},{icon:"i-heroicons-calendar-days-solid",colorClass:"text-indigo-500 dark:text-indigo-400",label:s("views.journey.metrics.activeMonths"),value:s("views.journey.metrics.monthsRatio",{active:M(y.value.activeMonths),total:M(y.value.spanMonths)}),subtext:s("views.journey.metrics.activeDays",{count:M(y.value.activeDays)})},{icon:"i-heroicons-chat-bubble-left-right-solid",colorClass:"text-blue-500 dark:text-blue-400",label:s("views.journey.metrics.longestConversation"),value:a.stats.longestSegment?S(a.stats.longestSegment.durationSeconds):"—",subtext:a.stats.longestSegment?s("views.journey.metrics.conversationDetail",{date:b(a.stats.longestSegment.startTs),count:M(a.stats.longestSegment.messageCount)}):s("views.journey.metrics.noIndex")},{icon:"i-heroicons-moon-solid",colorClass:"text-violet-500 dark:text-violet-400",label:s("views.journey.metrics.longestSilence"),value:a.stats.longestSilence?S(a.stats.longestSilence.durationSeconds):"—",subtext:a.stats.longestSilence?a.stats.longestSilence.reopenedBy?s("views.journey.metrics.reopenedBy",{name:a.stats.longestSilence.reopenedBy.name}):s("views.journey.metrics.reopened"):a.stats.hasSessionIndex?s("views.journey.metrics.noSilence"):s("views.journey.metrics.noIndex")}]);function M(d){return i.value.format(d)}function b(d){return g.value.format(d*1e3)}function q(d){const[r,l]=d.split("-").map(Number);return D.value.format(new Date(r,l-1,1))}function S(d){const r=Math.max(0,Math.round(d/60));if(r<1)return s("views.journey.duration.lessThanMinute");if(r<60)return s("views.journey.duration.minutes",{count:r});const l=Math.floor(r/60);if(l<24){const k=r%60;return k>0?s("views.journey.duration.hoursMinutes",{hours:l,minutes:k}):s("views.journey.duration.hours",{count:l})}const c=Math.floor(l/24),m=l%24;return m>0?s("views.journey.duration.daysHours",{days:c,hours:m}):s("views.journey.duration.days",{count:c})}function _(d){if(d===0)return"4px";const r=Math.sqrt(d/v.value);return`${Math.round(10+r*50)}px`}function f(d,r){return s("views.journey.hero.monthTooltip",{month:q(d),count:M(r)})}return(d,r)=>{const l=ee;return n(),V(t(Se),null,{default:H(()=>[e("div",fn,[e("div",yn,[e("div",bn,[e("p",kn,o(b(y.value.firstMessageTs))+" – "+o(b(y.value.lastMessageTs)),1),e("div",_n,[e("span",wn,o(t(s)("views.journey.hero.prefix")),1),e("span",$n,o(A.value),1)]),e("p",Cn,o(t(s)(C.filtered?"views.journey.hero.filteredSummary":"views.journey.hero.summary",{activeMonths:M(y.value.activeMonths),activeDays:M(y.value.activeDays)})),1)]),e("div",Sn,[e("div",Mn,[e("p",jn,o(t(s)("views.journey.hero.footprint")),1),e("p",Pn,o(t(s)("views.journey.hero.monthCount",{count:M(y.value.spanMonths)})),1)]),e("div",{class:"grid h-16 items-end overflow-hidden rounded-xl bg-gray-50/80 px-3 py-2 dark:bg-white/[0.035]",style:pe(z.value)},[(n(!0),u(O,null,G(C.stats.months,c=>(n(),u("div",{key:c.month,class:F(["min-w-0 rounded-t-sm",c.messageCount>0?"bg-pink-400/80 dark:bg-pink-400/75":"bg-gray-200 dark:bg-white/10"]),style:pe({height:_(c.messageCount)}),title:f(c.month,c.messageCount)},null,14,Tn))),128))],4),e("div",In,[e("span",null,o(q(C.stats.months[0].month)),1),e("span",null,o(q(C.stats.months[C.stats.months.length-1].month)),1)])])])]),e("div",Rn,[(n(!0),u(O,null,G(w.value,c=>(n(),u("div",{key:c.label,class:"flex min-w-0 items-start gap-2.5 px-2 py-1"},[j(l,{name:c.icon,class:F(["mt-0.5 h-4 w-4 shrink-0",c.colorClass])},null,8,["name","class"]),e("div",Dn,[e("p",{class:F(["truncate text-sm font-black leading-tight tabular-nums",c.colorClass])},o(c.value),3),e("p",An,o(c.label),1),e("p",qn,o(c.subtext),1)])]))),128))]),e("div",zn,[e("div",Ln,[j(l,{name:"i-heroicons-chat-bubble-left-right-solid",class:"h-3.5 w-3.5"}),r[0]||(r[0]=e("span",{class:"text-[10px] font-bold uppercase tracking-wider"},"ChatLab",-1))]),e("span",Bn,o(t(s)("views.journey.watermark")),1)])]),_:1})}}}),Vn={key:1,class:"main-content mx-auto max-w-[920px] space-y-6 p-4 sm:p-6"},Fn={class:"grid gap-4 px-5 pb-6 sm:grid-cols-2 sm:px-6 lg:grid-cols-3"},On={class:"min-w-0"},Un={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},En={class:"mt-0.5 text-sm font-semibold text-gray-900 dark:text-white"},Wn={class:"mt-1 text-xs leading-5 text-gray-500 dark:text-gray-400"},Hn={class:"space-y-3 px-5 pb-5 sm:px-6 sm:pb-6"},Jn={class:"font-mono text-xl font-black tabular-nums text-gray-900 dark:text-white"},Gn={class:"min-w-0"},Kn={class:"h-1.5 overflow-hidden rounded-full bg-gray-200/80 dark:bg-white/10"},Yn={class:"mt-2 text-xs text-gray-500 dark:text-gray-400"},Qn={key:0,class:"text-left sm:min-w-28 sm:text-right"},Xn={class:"text-xs font-semibold text-gray-700 dark:text-gray-300"},Zn={class:"mt-0.5 text-[10px] text-gray-400 dark:text-gray-500"},ei=K({__name:"JourneyView",props:{sessionId:{},timeFilter:{},timeRange:{}},setup(C){const a=C,{t:s,locale:p}=Y(),i=U(null),g=U(!1),D=U(!1),y=$(()=>new Intl.NumberFormat(p.value)),v=$(()=>new Intl.DateTimeFormat(p.value,{year:"numeric",month:"short",day:"numeric"})),z=$(()=>new Intl.DateTimeFormat(p.value,{year:"numeric",month:"short"})),A=$(()=>a.timeRange?a.timeFilter?.startTs!=null&&a.timeFilter.startTs>a.timeRange.start||a.timeFilter?.endTs!=null&&a.timeFilter.endTs<a.timeRange.end:!1),w=$(()=>i.value?.range!=null),M=$(()=>Math.max(...i.value?.years.map(c=>c.messageCount)??[],1)),b=$(()=>{if(!i.value?.range)return[];const c=[{id:"start",order:0,timestamp:i.value.range.firstMessageTs,icon:"i-heroicons-play-solid",iconClass:"bg-emerald-50 text-emerald-600 dark:bg-emerald-500/10 dark:text-emerald-400",title:s("views.journey.milestones.start"),date:_(i.value.range.firstMessageTs),detail:s("views.journey.milestones.startDetail")}];return i.value.peakMonth&&c.push({id:"peak",order:1,timestamp:d(i.value.peakMonth.month),icon:"i-heroicons-sparkles-solid",iconClass:"bg-pink-50 text-pink-600 dark:bg-pink-500/10 dark:text-pink-400",title:s("views.journey.milestones.peak"),date:f(i.value.peakMonth.month),detail:s("views.journey.milestones.peakDetail",{count:S(i.value.peakMonth.messageCount)})}),i.value.longestSegment&&c.push({id:"conversation",order:2,timestamp:i.value.longestSegment.startTs,icon:"i-heroicons-chat-bubble-left-right-solid",iconClass:"bg-blue-50 text-blue-600 dark:bg-blue-500/10 dark:text-blue-400",title:s("views.journey.milestones.longestConversation"),date:_(i.value.longestSegment.startTs),detail:s("views.journey.milestones.conversationDetail",{duration:r(i.value.longestSegment.durationSeconds),count:S(i.value.longestSegment.messageCount)})}),i.value.longestSilence&&c.push({id:"silence",order:3,timestamp:i.value.longestSilence.endTs,icon:"i-heroicons-moon-solid",iconClass:"bg-violet-50 text-violet-600 dark:bg-violet-500/10 dark:text-violet-400",title:s("views.journey.milestones.longestSilence"),date:s("views.journey.milestones.silenceRange",{start:_(i.value.longestSilence.startTs),end:_(i.value.longestSilence.endTs)}),detail:i.value.longestSilence.reopenedBy?s("views.journey.milestones.silenceDetailWithMember",{duration:r(i.value.longestSilence.durationSeconds),name:i.value.longestSilence.reopenedBy.name}):s("views.journey.milestones.silenceDetail",{duration:r(i.value.longestSilence.durationSeconds)})}),c.push({id:"end",order:4,timestamp:i.value.range.lastMessageTs,icon:"i-heroicons-flag-solid",iconClass:"bg-amber-50 text-amber-600 dark:bg-amber-500/10 dark:text-amber-400",title:s("views.journey.milestones.end"),date:_(i.value.range.lastMessageTs),detail:s(A.value?"views.journey.milestones.filteredEndDetail":"views.journey.milestones.endDetail")}),c.sort((m,k)=>m.timestamp-k.timestamp||m.order-k.order)});X(()=>[a.sessionId,a.timeFilter],()=>q(),{immediate:!0,deep:!0});async function q(){if(a.sessionId){g.value=!0,D.value=!1;try{i.value=await Ce().getJourneyStats(a.sessionId,a.timeFilter)}catch(c){i.value=null,D.value=!0;const m=c instanceof Error?c.message:String(c);console.error("Failed to load journey stats:",c),Ne(`Journey stats load failed: ${m}`,c instanceof Error?c.stack:void 0)}finally{g.value=!1}}}function S(c){return y.value.format(c)}function _(c){return v.value.format(c*1e3)}function f(c){const[m,k]=c.split("-").map(Number);return z.value.format(new Date(m,k-1,1))}function d(c){const[m,k]=c.split("-").map(Number);return Math.floor(new Date(m,k-1,1).getTime()/1e3)}function r(c){const m=Math.max(0,Math.round(c/60));if(m<1)return s("views.journey.duration.lessThanMinute");if(m<60)return s("views.journey.duration.minutes",{count:m});const k=Math.floor(m/60);if(k<24){const J=m%60;return J>0?s("views.journey.duration.hoursMinutes",{hours:k,minutes:J}):s("views.journey.duration.hours",{count:k})}const P=Math.floor(k/24),E=k%24;return E>0?s("views.journey.duration.daysHours",{days:P,hours:E}):s("views.journey.duration.days",{count:P})}function l(c){return c===0?"0%":`${Math.max(4,Math.round(c/M.value*100))}%`}return(c,m)=>{const k=ee;return n(),u("div",{class:F(g.value?"h-full":"")},[g.value?(n(),V(t(xe),{key:0,variant:"page",text:t(s)("common.loading")},null,8,["text"])):(n(),u("div",Vn,[w.value?i.value?(n(),u(O,{key:1},[j(Nn,{stats:i.value,filtered:A.value},null,8,["stats","filtered"]),j(t(le),{title:t(s)("views.journey.milestones.title"),description:t(s)("views.journey.milestones.description"),"show-divider":!1},{default:H(()=>[e("div",Fn,[(n(!0),u(O,null,G(b.value,P=>(n(),u("div",{key:P.id,class:"flex min-w-0 items-start gap-3 py-1"},[e("div",{class:F(["flex h-9 w-9 shrink-0 items-center justify-center rounded-xl",P.iconClass])},[j(k,{name:P.icon,class:"h-4 w-4"},null,8,["name"])],2),e("div",On,[e("p",Un,o(P.title),1),e("p",En,o(P.date),1),e("p",Wn,o(P.detail),1)])]))),128))])]),_:1},8,["title","description"]),j(t(le),{title:t(s)("views.journey.years.title"),description:t(s)("views.journey.years.description"),"show-divider":!1},{default:H(()=>[e("div",Hn,[(n(!0),u(O,null,G(i.value.years,P=>(n(),u("div",{key:P.year,class:"grid gap-3 rounded-xl bg-gray-50/70 px-4 py-3 dark:bg-white/[0.025] sm:grid-cols-[72px_minmax(0,1fr)_auto] sm:items-center"},[e("div",Jn,o(P.year),1),e("div",Gn,[e("div",Kn,[e("div",{class:"h-full rounded-full bg-pink-400 dark:bg-pink-400/80",style:pe({width:l(P.messageCount)})},null,4)]),e("p",Yn,[P.messageCount>0?(n(),u(O,{key:0},[$e(o(t(s)("views.journey.years.summary",{messages:S(P.messageCount),days:S(P.activeDays),months:S(P.activeMonths)})),1)],64)):(n(),u(O,{key:1},[$e(o(t(s)("views.journey.years.quiet")),1)],64))])]),P.messageCount>0?(n(),u("div",Qn,[e("p",Xn,o(f(P.peakMonth)),1),e("p",Zn,o(t(s)("views.journey.years.peak",{count:S(P.peakMonthMessageCount)})),1)])):B("",!0)]))),128))])]),_:1},8,["title","description"])],64)):B("",!0):(n(),V(t(Me),{key:0,icon:"🗓️",text:t(s)(D.value?"views.journey.loadError":"views.journey.empty"),padding:"lg"},null,8,["text"]))]))],2)}}}),ti={class:"main-content mx-auto max-w-[920px] space-y-4 p-4 sm:space-y-6 sm:p-6"},ai={class:"grid grid-cols-1 gap-6 lg:grid-cols-2"},si={class:"p-3 sm:p-5"},ni={class:"p-3 sm:p-5"},ii=K({__name:"PrivateChatOverview",props:{session:{},memberActivity:{},messageTypes:{},hourlyActivity:{},dailyActivity:{},timeRange:{},filteredMessageCount:{},filteredMemberCount:{},timeFilter:{}},setup(C){const{t:a}=Y(),s=C,{dailyChartData:p}=Ze(()=>s.dailyActivity),i=$(()=>({labels:s.messageTypes.map(y=>kt(y.type,a)),values:s.messageTypes.map(y=>y.count)})),g=$(()=>{if(s.memberActivity.length<2)return null;const v=[...s.memberActivity].sort((A,w)=>w.messageCount-A.messageCount).slice(0,2),z=v[0].messageCount+v[1].messageCount;return{member1:{name:v[0].name,avatar:v[0].avatar,count:v[0].messageCount,percentage:z>0?Math.round(v[0].messageCount/z*100):0},member2:{name:v[1].name,avatar:v[1].avatar,count:v[1].messageCount,percentage:z>0?Math.round(v[1].messageCount/z*100):0},total:z}}),D=$(()=>g.value?{labels:[g.value.member1.name,g.value.member2.name],values:[g.value.member1.count,g.value.member2.count]}:{labels:[],values:[]});return(y,v)=>(n(),u("div",ti,[j(Qe,{session:C.session,"daily-activity":C.dailyActivity,"message-types":C.messageTypes,"hourly-activity":C.hourlyActivity,"time-range":C.timeRange,"filtered-message-count":C.filteredMessageCount,"filtered-member-count":C.filteredMemberCount,"time-filter":C.timeFilter},null,8,["session","daily-activity","message-types","hourly-activity","time-range","filtered-message-count","filtered-member-count","time-filter"]),e("div",ai,[j(t(le),{title:t(a)("analysis.overview.messageTypeDistribution"),"show-divider":!1},{default:H(()=>[e("div",si,[j(t(Ie),{data:i.value,height:280},null,8,["data"])])]),_:1},8,["title"]),g.value?(n(),V(t(le),{key:0,title:t(a)("analysis.overview.memberComparison"),"show-divider":!1},{default:H(()=>[e("div",ni,[j(t(Ie),{data:D.value,height:280},null,8,["data"])])]),_:1},8,["title"])):B("",!0)]),j(Xe,{"daily-activity":C.dailyActivity,"daily-chart-data":t(p)},null,8,["daily-activity","daily-chart-data"])]))}}),oi={class:"flex h-full flex-col"},ri={class:"min-h-0 flex-1 overflow-auto"},li=K({__name:"PrivateChatInsights",props:{sessionId:{},session:{},memberActivity:{},messageTypes:{},hourlyActivity:{},dailyActivity:{},timeRange:{},filteredMessageCount:{},filteredMemberCount:{},timeFilter:{}},emits:["selectTab"],setup(C,{emit:a}){const{t:s}=Y(),p=C,i=$(()=>[{id:"overview",label:s("analysis.tabs.overview"),icon:"i-heroicons-squares-2x2"},{id:"relationship",label:s("analysis.subTabs.insights.relationship"),icon:"i-heroicons-heart"},{id:"journey",label:s("analysis.subTabs.insights.journey"),icon:"i-heroicons-map"},{id:"type-analysis",label:s("analysis.subTabs.insights.typeAnalysis"),icon:"i-heroicons-chart-pie"},{id:"time-analysis",label:s("analysis.subTabs.insights.timeAnalysis"),icon:"i-heroicons-clock"},{id:"topic",label:s("analysis.subTabs.insights.topic"),icon:"i-heroicons-cloud"},{id:"language-preference",label:s("analysis.subTabs.insights.languagePreference"),icon:"i-heroicons-language"}]),g=U("overview"),D=a,y=U(null),v=$(()=>({...p.timeFilter,memberId:y.value}));return(z,A)=>(n(),u("div",oi,[j(t(vt),{modelValue:g.value,"onUpdate:modelValue":A[1]||(A[1]=w=>g.value=w),items:i.value,"persist-key":"privateInsightsTab",onSelect:A[2]||(A[2]=w=>D("selectTab",w))},{right:H(()=>[g.value==="type-analysis"||g.value==="time-analysis"?(n(),V(et,{key:0,modelValue:y.value,"onUpdate:modelValue":A[0]||(A[0]=w=>y.value=w),"session-id":p.sessionId},null,8,["modelValue","session-id"])):B("",!0)]),_:1},8,["modelValue","items"]),e("div",ri,[j(t(tt),{"active-key":g.value},{default:H(({viewKey:w})=>[w==="overview"?(n(),V(ii,{key:0,session:p.session,"member-activity":p.memberActivity,"message-types":p.messageTypes,"hourly-activity":p.hourlyActivity,"daily-activity":p.dailyActivity,"time-range":p.timeRange,"filtered-message-count":p.filteredMessageCount,"filtered-member-count":p.filteredMemberCount,"time-filter":p.timeFilter},null,8,["session","member-activity","message-types","hourly-activity","daily-activity","time-range","filtered-message-count","filtered-member-count","time-filter"])):w==="type-analysis"?(n(),V(at,{key:1,"session-id":p.sessionId,"session-name":p.session.name,"time-filter":v.value},null,8,["session-id","session-name","time-filter"])):w==="time-analysis"?(n(),V(st,{key:2,"session-id":p.sessionId,"session-name":p.session.name,"time-filter":v.value},null,8,["session-id","session-name","time-filter"])):w==="relationship"?(n(),V(xn,{key:3,"session-id":p.sessionId,"time-filter":p.timeFilter},null,8,["session-id","time-filter"])):w==="journey"?(n(),V(ei,{key:4,"session-id":p.sessionId,"time-filter":p.timeFilter,"time-range":p.timeRange},null,8,["session-id","time-filter","time-range"])):w==="topic"?(n(),V(t(nt),{key:5,"session-id":p.sessionId,"time-filter":p.timeFilter,"show-shared-topics":!0},null,8,["session-id","time-filter"])):w==="language-preference"?(n(),V(t(Ya),{key:6,"session-id":p.sessionId,"time-filter":p.timeFilter},null,8,["session-id","time-filter"])):B("",!0)]),_:1},8,["active-key"])])]))}}),ci={class:"relative flex h-full flex-col dark:bg-page-dark",style:{"padding-top":"var(--titlebar-area-height)"}},ui=["aria-label"],di={class:"relative flex-1 overflow-y-auto"},mi={class:"h-full"},pi={key:2,class:"flex h-full items-center justify-center"},gi={class:"text-gray-500"},vi={class:"flex h-full flex-col overflow-hidden bg-white dark:bg-page-dark"},hi={class:"flex flex-none items-center justify-between border-b border-gray-200 px-5 py-3 dark:border-gray-700"},xi={class:"text-lg font-semibold text-gray-900 dark:text-white"},fi={class:"text-sm text-gray-500 dark:text-gray-400"},yi={class:"flex-1 overflow-hidden"},bi=K({__name:"index",setup(C){const a=He(()=>Ge(()=>import("./MessageExportModal-DgvQvcc5.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]))),{t:s}=Y(),p=Ve(),i=Fe(),g=Oe(),D=Re(),y=Ue(),{currentSessionId:v}=Ee(g),z=U(!1),A=U(!1),w=U(!1),M=U(!1),b=U(!1);function q(){D.openChatRecordDrawer({})}const S=[{id:"insights",labelKey:"analysis.tabs.insights",icon:"i-heroicons-presentation-chart-bar"},{id:"ai-chat",labelKey:"analysis.tabs.aiChat",icon:"i-heroicons-chat-bubble-left-ellipsis"},{id:"memory",labelKey:"analysis.tabs.memory",icon:"i-heroicons-light-bulb"},{id:"more",labelKey:"analysis.tabs.more",icon:"i-heroicons-squares-2x2"}],{activeTab:_,isLoading:f,isInitialLoad:d,isSessionSwitching:r,session:l,memberActivity:c,hourlyActivity:m,dailyActivity:k,messageTypes:P,timeRangeValue:E,fullTimeRange:J,timeFilter:ne,initialTimeState:ce,invalidateAnalysisData:ie,handleTimeRangeInitialized:_e}=it({route:p,router:i,currentSessionId:v,selectSession:g.selectSession,defaultTab:y.defaultSessionTab,validTabIds:S.map(Q=>Q.id)});Ke("session-switch-loading",r);const oe=ot({chatType:"private",isActive:()=>_.value==="insights"&&!r.value,sessionId:v,routePath:()=>p.path}),ue=$(()=>c.value.reduce((Q,T)=>Q+T.messageCount,0)),ae=$(()=>c.value.filter(Q=>Q.messageCount>0).length),re=$(()=>{if(!l.value)return null;if(l.value.memberAvatar)return l.value.memberAvatar;if(c.value.length===0)return null;if(l.value.ownerId){const T=c.value.find(Z=>Z.platformId!==l.value?.ownerId);if(T?.avatar)return T.avatar}const Q=c.value.find(T=>T.name===l.value?.name);return Q?.avatar?Q.avatar:(c.value.length,null)});return(Q,T)=>{const Z=De,we=Je;return n(),u("div",ci,[t(r)?(n(),u("div",{key:0,"data-testid":"private-chat-switch-loading",class:"absolute inset-0 z-20 flex cursor-wait items-center justify-center bg-page-bg dark:bg-page-dark",style:{paddingTop:"var(--titlebar-area-height)"},role:"status","aria-live":"polite","aria-label":t(s)("common.loading")},[j(t(xt))],8,ui)):B("",!0),t(l)?(n(),u(O,{key:1},[j(rt,{"active-tab":t(_),"onUpdate:activeTab":T[0]||(T[0]=W=>Pe(_)?_.value=W:null),"time-range-value":t(E),"onUpdate:timeRangeValue":T[1]||(T[1]=W=>Pe(E)?E.value=W:null),title:t(l).name,avatar:re.value,icon:"i-heroicons-user","icon-class":"bg-pink-600 text-white dark:bg-pink-500 dark:text-white",tabs:S,"current-session-id":t(v),"initial-time-state":t(ce),onOpenIncrementalImport:T[2]||(T[2]=W=>w.value=!0),onOpenMemberManagement:T[3]||(T[3]=W=>b.value=!0),onOpenChatRecord:q,"onUpdate:fullRange":T[4]||(T[4]=W=>J.value=W),onTimeRangeInitialized:t(_e)},null,8,["active-tab","time-range-value","title","avatar","current-session-id","initial-time-state","onTimeRangeInitialized"]),e("div",di,[t(f)&&!t(r)?(n(),V(t(xe),{key:0,variant:"overlay",text:t(s)("common.loading")},null,8,["text"])):B("",!0),e("div",mi,[j(We,{name:"tab-slide",mode:"out-in"},{default:H(()=>[t(_)==="insights"?(n(),V(li,{key:"insights-"+t(v),"session-id":t(v),session:t(l),"member-activity":t(c),"message-types":t(P),"hourly-activity":t(m),"daily-activity":t(k),"time-range":t(J),"filtered-message-count":ue.value,"filtered-member-count":ae.value,"time-filter":t(ne),onSelectTab:t(oe)},null,8,["session-id","session","member-activity","message-types","hourly-activity","daily-activity","time-range","filtered-message-count","filtered-member-count","time-filter","onSelectTab"])):t(_)==="ai-chat"?(n(),V(t(lt),{key:"ai-chat-"+t(v),"session-id":t(v),"session-name":t(l).name,"chat-type":"private","time-filter":t(ne)},null,8,["session-id","session-name","time-filter"])):t(_)==="memory"?(n(),V(ct,{key:"memory-"+t(v),"session-id":t(v),"session-name":t(l).name},null,8,["session-id","session-name"])):t(_)==="more"?(n(),V(ut,{key:"more-"+t(v),"session-id":t(v),"chat-type":"private"},null,8,["session-id"])):B("",!0)]),_:1})])]),j(dt,{onOpenIncrementalImport:T[5]||(T[5]=W=>w.value=!0),onOpenSemanticIndex:T[6]||(T[6]=W=>z.value=!0),onOpenMemberManagement:T[7]||(T[7]=W=>b.value=!0),onOpenChatRecord:q,onOpenMessageExport:T[8]||(T[8]=W=>M.value=!0)})],64)):t(d)?B("",!0):(n(),u("div",pi,[e("p",gi,o(t(s)("analysis.privateChat.loadError")),1)])),t(v)&&t(l)?(n(),V(mt,{key:3,modelValue:z.value,"onUpdate:modelValue":T[9]||(T[9]=W=>z.value=W),"session-id":t(v),"message-count":t(l).messageCount},null,8,["modelValue","session-id","message-count"])):B("",!0),t(v)&&t(l)?(n(),V(_t,{key:4,modelValue:A.value,"onUpdate:modelValue":T[10]||(T[10]=W=>A.value=W),"session-id":t(v),"chat-type":"private","auto-check":""},null,8,["modelValue","session-id"])):B("",!0),t(v)&&t(l)?(n(),V(pt,{key:5,modelValue:w.value,"onUpdate:modelValue":T[11]||(T[11]=W=>w.value=W),"session-id":t(v),"session-name":t(l).name,onImported:T[12]||(T[12]=()=>{t(ie)(),t(g).loadSessions()})},null,8,["modelValue","session-id","session-name"])):B("",!0),t(v)?(n(),V(t(a),{key:6,modelValue:M.value,"onUpdate:modelValue":T[13]||(T[13]=W=>M.value=W)},null,8,["modelValue"])):B("",!0),t(v)?(n(),V(we,{key:7,open:b.value,"onUpdate:open":T[15]||(T[15]=W=>b.value=W),ui:{content:"max-w-6xl h-[85vh]"}},{content:H(()=>[e("div",vi,[e("div",hi,[e("div",null,[e("h2",xi,o(t(s)("analysis.tooltip.memberManagement")),1),e("p",fi,o(t(s)("members.private.description",{count:t(l)?.memberCount??0})),1)]),j(Z,{variant:"ghost",icon:"i-heroicons-x-mark",size:"sm",onClick:T[14]||(T[14]=W=>b.value=!1)})]),e("div",yi,[j(gt,{"session-id":t(v),"show-header":!1,"chat-type":"private",onDataChanged:t(ie)},null,8,["session-id","onDataChanged"])])])]),_:1},8,["open"])):B("",!0)])}}}),oo=Ye(bi,[["__scopeId","data-v-d011099e"]]);export{oo as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ar as W,as as D,E as z,b6 as F,b as g,aW as N,b7 as U,K as E,o as d,f as K,w as x,a as c,n as u,g as t,c as m,z as y,r as h,a9 as b,p as l,l as _,P as L,e as w,aw as S,av as O,H as P,b8 as R,b9 as A,d as M,a6 as H,ay as T,aD as G,az as J,aR as Q,aq as X,a8 as Y}from"./index-
|
|
1
|
+
import{ar as W,as as D,E as z,b6 as F,b as g,aW as N,b7 as U,K as E,o as d,f as K,w as x,a as c,n as u,g as t,c as m,z as y,r as h,a9 as b,p as l,l as _,P as L,e as w,aw as S,av as O,H as P,b8 as R,b9 as A,d as M,a6 as H,ay as T,aD as G,az as J,aR as Q,aq as X,a8 as Y}from"./index-D07viL9P.js";import{_ as Z}from"./Checkbox-I1cjN4s_.js";import{L as ee}from"./Label-DTrL45eR.js";import{_ as te}from"./ThemeCard.vue_vue_type_script_setup_true_lang-CFSCaL65.js";import"./vendor-snapdom--nZvo8Sg.js";import"./useFormControl-BPt9mIxj.js";import"./VisuallyHiddenInput-Cy3d6wW5.js";import"./RovingFocusItem-BAQO8BlG.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"],oe=["id"],se=["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 s=V,n=W(),e=D("formField",s),k=O(),r=w(()=>S({extend:S(ae),...k.ui?.formField||{}})({size:e.size,required:e.required,orientation:e.orientation})),v=z(F,null),o=w(()=>e.error||v?.value?.find(a=>a.name===e.name||e.errorPattern&&a.name?.match(e.errorPattern))?.message),i=g(N()),f=i.value,q=z(U,void 0);return E(i,()=>{q&&e.name&&(q.value[e.name]={id:i.value,pattern:e.errorPattern})},{immediate:!0}),P(R,i),P(A,w(()=>({error:o.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(),K(t(L),{as:t(e).as,"data-orientation":t(e).orientation,"data-slot":"root",class:u(r.value.root({class:[t(e).ui?.root,t(e).class]}))},{default:x(()=>[c("div",{"data-slot":"wrapper",class:u(r.value.wrapper({class:t(e).ui?.wrapper}))},[t(e).label||n.label?(d(),m("div",{key:0,"data-slot":"labelWrapper",class:u(r.value.labelWrapper({class:t(e).ui?.labelWrapper}))},[y(t(ee),{for:i.value,"data-slot":"label",class:u(r.value.label({class:t(e).ui?.label}))},{default:x(()=>[h(a.$slots,"label",{label:t(e).label},()=>[b(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:u(r.value.hint({class:t(e).ui?.hint}))},[h(a.$slots,"hint",{hint:t(e).hint},()=>[b(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:u(r.value.description({class:t(e).ui?.description}))},[h(a.$slots,"description",{description:t(e).description},()=>[b(l(t(e).description),1)])],10,oe)):_("",!0)],2),c("div",{class:u([(t(e).label||!!n.label||t(e).description||!!n.description)&&r.value.container({class:t(e).ui?.container})])},[h(a.$slots,"default",{error:o.value}),t(e).error!==!1&&(typeof o.value=="string"&&o.value||n.error)?(d(),m("div",{key:0,id:`${t(f)}-error`,"data-slot":"error",class:u(r.value.error({class:t(e).ui?.error}))},[h(a.$slots,"error",{error:o.value},()=>[b(l(o.value),1)])],10,se)):t(e).help||n.help?(d(),m("div",{key:1,id:`${t(f)}-help`,"data-slot":"help",class:u(r.value.help({class:t(e).ui?.help}))},[h(a.$slots,"help",{help:t(e).help},()=>[b(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"},ue={class:"text-center"},ce={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"},qe=M({__name:"index",setup(V){const{t:s}=H(),n=T(),e=G(),k=J(),r=g(""),v=g(k.rememberDevice),o=g(""),i=g(!1);function f(a){return!a||!a.startsWith("/")||a.startsWith("/login")?"/":a}async function q(){const a=r.value.trim();if(!a){o.value=s("common.login.errorEmpty");return}i.value=!0,o.value="";try{if(!(await fetch("/api/v1/status",{headers:{Authorization:`Bearer ${a}`}})).ok){o.value=s("common.login.errorInvalid");return}k.login(a,v.value);const $=f(e.query.redirect);n.replace($)}catch{o.value=s("common.login.errorNetwork")}finally{i.value=!1}}return(a,p)=>{const $=X,j=ne,B=Z,C=Y;return d(),m("div",ie,[y(t(te),{class:"w-full max-w-sm space-y-6 p-8"},{default:x(()=>[c("div",ue,[p[2]||(p[2]=c("h1",{class:"text-2xl font-bold text-gray-900 dark:text-white"},"ChatLab",-1)),c("p",ce,l(t(s)("common.login.description")),1)]),c("form",{class:"space-y-4",onSubmit:Q(q,["prevent"])},[y(j,{label:t(s)("common.login.tokenLabel")},{default:x(()=>[y($,{modelValue:r.value,"onUpdate:modelValue":p[0]||(p[0]=I=>r.value=I),type:"password",placeholder:t(s)("common.login.tokenPlaceholder"),autocomplete:"off",class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),o.value?(d(),m("p",de,l(o.value),1)):_("",!0),c("label",pe,[y(B,{modelValue:v.value,"onUpdate:modelValue":p[1]||(p[1]=I=>v.value=I)},null,8,["modelValue"]),c("span",null,l(t(s)("common.login.rememberDevice")),1)]),y(C,{type:"submit",block:"",loading:i.value,color:"primary"},{default:x(()=>[b(l(t(s)("common.login.submit")),1)]),_:1},8,["loading"])],32),c("p",me,l(t(s)("common.login.hint")),1),v.value?(d(),m("p",fe,l(t(s)("common.login.rememberWarning")),1)):_("",!0)]),_:1})])}}});export{qe as default};
|