pisper 0.6.2 → 0.6.3
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/package.json +7 -7
- package/web/.vite/manifest.json +256 -256
- package/web/assets/{AppOverlays-D-yAp1vf.js → AppOverlays-CR5iJcP5.js} +1 -1
- package/web/assets/{AppShortcuts-CtNLVerh.js → AppShortcuts-BachmLQ3.js} +1 -1
- package/web/assets/{AssetsPage-DOzB9Wnk.js → AssetsPage-BltehMID.js} +1 -1
- package/web/assets/{ChannelsPage-DAPrpSTC.js → ChannelsPage-Tuw_qicj.js} +1 -1
- package/web/assets/{ChatAppearancePage-Q8jLnp7A.js → ChatAppearancePage-DME3PgDr.js} +2 -2
- package/web/assets/{ChatDockView-1fxZrR7W.js → ChatDockView-DoGtrBpY.js} +1 -1
- package/web/assets/{ChatHistoryPage-Bpyxsay_.js → ChatHistoryPage-DTXS6i3n.js} +1 -1
- package/web/assets/{ChatPage-CVOjCtOP.js → ChatPage-ibc_7olm.js} +3 -3
- package/web/assets/{ConfigPage-sVAdZytK.js → ConfigPage-CI6one5Y.js} +1 -1
- package/web/assets/{DecisionsPage-zq88dfkB.js → DecisionsPage-DOhLbIaD.js} +1 -1
- package/web/assets/{DesktopWindowControls-DYmSShHE.js → DesktopWindowControls-KmgemDO8.js} +1 -1
- package/web/assets/{FloatingWidgets-CFY30wFr.js → FloatingWidgets-Bs7ec6lW.js} +1 -1
- package/web/assets/{GitDiffViewer-BZV0A9mh.js → GitDiffViewer-xm2LnN9r.js} +1 -1
- package/web/assets/{MarkdownMessage-_VrT_sON.js → MarkdownMessage-H1336cMr.js} +1 -1
- package/web/assets/{McpPage-ROftSC8m.js → McpPage-Ck-7aLuZ.js} +1 -1
- package/web/assets/{MemoryPage-DkBjt-3Y.js → MemoryPage-BEdNJ3ot.js} +1 -1
- package/web/assets/{MobileContextScreen-BEss6aR9.js → MobileContextScreen-Dasny2J9.js} +2 -2
- package/web/assets/{MobileThreePane-DjyMuG9k.js → MobileThreePane-DEKMHPfN.js} +1 -1
- package/web/assets/{PageHeader-DyoCht8Y.js → PageHeader-C_bfu8Ir.js} +1 -1
- package/web/assets/{PluginsPage-DjaIps8G.js → PluginsPage-BPx5ERHL.js} +1 -1
- package/web/assets/{QuickPromptIdeas-B8P77vjW.js → QuickPromptIdeas-Bs-udcSZ.js} +1 -1
- package/web/assets/{SchedulesPage-CsJS8r9L.js → SchedulesPage-W4Mg7frl.js} +1 -1
- package/web/assets/{SessionContextPanel-BYlJfIxm.js → SessionContextPanel-lu9F9AJg.js} +1 -1
- package/web/assets/{SessionFilesPane-DWuwTplj.js → SessionFilesPane-BIRQ_hHi.js} +2 -2
- package/web/assets/{SidebarMoreTools-C2kAUJm0.js → SidebarMoreTools-BDqt5VTG.js} +1 -1
- package/web/assets/{SidebarRecentSessions-CoaY-U88.js → SidebarRecentSessions-1G_huYu9.js} +1 -1
- package/web/assets/{SidebarSettingsButton-BvmP3q5N.js → SidebarSettingsButton-B4_vEBS5.js} +1 -1
- package/web/assets/{SidebarUpdateStatus-DHxZy6-o.js → SidebarUpdateStatus-DD8f4Fxv.js} +1 -1
- package/web/assets/{SkillsPage-CX55drgE.js → SkillsPage-CpRRosmo.js} +1 -1
- package/web/assets/{TerminalPanel-gBBjaBlu.js → TerminalPanel-DVKC4htc.js} +1 -1
- package/web/assets/{ThemeToggleButton-D6NR_guG.js → ThemeToggleButton-CXXbLtcY.js} +1 -1
- package/web/assets/{WebDesktopPet-BKP_jSW2.js → WebDesktopPet-DWFspeZE.js} +1 -1
- package/web/assets/{WorkbenchSidebarToggle-Kxa_tpUy.js → WorkbenchSidebarToggle-AgjfcT29.js} +1 -1
- package/web/assets/{WorkflowsPage-CNVCHm3u.js → WorkflowsPage-bhQlHSzS.js} +1 -1
- package/web/assets/{api-BbC90EzT.js → api-Dzobr-o_.js} +1 -1
- package/web/assets/catalog-D4eaIju4.js +1 -0
- package/web/assets/{chat-api-BWIsQYmQ.js → chat-api-DfnvubiW.js} +1 -1
- package/web/assets/{client-store-CAjI7P8I.js → client-store-DPMvgPNS.js} +1 -1
- package/web/assets/{component-api-CQ_xu0Wa.js → component-api-Nwo2yGZI.js} +1 -1
- package/web/assets/{config-search-BnPZPrUR.js → config-search-CwVhh2uc.js} +1 -1
- package/web/assets/{events-DJwBfKGM.js → events-Bwv6HmwM.js} +1 -1
- package/web/assets/{floating-widgets-store-DGeXH0NK.js → floating-widgets-store-DIy4GSy4.js} +2 -2
- package/web/assets/{http-BrDjjNkv.js → http-DphgzWtw.js} +1 -1
- package/web/assets/{i18n-Bo7twSO7.js → i18n-7QvbQzOQ.js} +1 -1
- package/web/assets/{index-IemAtsU4.js → index-iBrSU61i.js} +2 -2
- package/web/assets/{local-path-reveal-BSjf-Pum.js → local-path-reveal-DWhkyox-.js} +1 -1
- package/web/assets/{mount-app-AtqeFC4t.js → mount-app-n_05p6iW.js} +3 -3
- package/web/assets/{pick-system-directory-Wa63igLM.js → pick-system-directory-R1F5WyaB.js} +1 -1
- package/web/assets/{public-CsBeGSro.js → public-BcTP7F3I.js} +1 -1
- package/web/assets/{public-components-BYWnKxmu.js → public-components-Ck5BYo6M.js} +1 -1
- package/web/assets/{runtime-capabilities-store-BxCUS5xR.js → runtime-capabilities-store-DaWPY5y-.js} +1 -1
- package/web/assets/{session-change-summary-api-x1sTdOgD.js → session-change-summary-api-DFgTzTci.js} +1 -1
- package/web/assets/{session-list-DPpH_zbz.js → session-list-CMaoK_ZX.js} +1 -1
- package/web/assets/{session-streaming-state-OU65zaiO.js → session-streaming-state-llCTupbI.js} +1 -1
- package/web/assets/{shortcuts-B3q7nKdq.js → shortcuts-BO-h6OmP.js} +1 -1
- package/web/assets/{speech-session-BB9aLyRQ.js → speech-session-DKjw0mV_.js} +1 -1
- package/web/assets/{startup-queries-C-Xq7N50.js → startup-queries-CAQZvUIR.js} +1 -1
- package/web/assets/{ui-store-3r51KJe8.js → ui-store-2wpnH8Kf.js} +1 -1
- package/web/assets/{use-i18n-DyzoXal-.js → use-i18n-BSZKFkMb.js} +1 -1
- package/web/assets/{useCustomUiComponents-B3Z-pphj.js → useCustomUiComponents-BH86kuaq.js} +1 -1
- package/web/assets/{web-preview-panel-DNEqdotS.js → web-preview-panel-DVQxVfig.js} +4 -4
- package/web/index.html +1 -1
- package/web/assets/catalog-BPgyo6Yf.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{t as r}from"./use-i18n-
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{t as r}from"./use-i18n-BSZKFkMb.js";import{t as i}from"./loader-circle-BOwQzHB-.js";import{t as a}from"./message-square-SKjZyY3v.js";import{t as o}from"./plus-fQbSqB1n.js";import{t as s}from"./search-D0mqDaf_.js";import{t as c}from"./tag-CqkeJlBf.js";import{t as l}from"./x-07u4-129.js";import{t as u}from"./button-CQA36izu.js";import{t as d}from"./useQuery-DdcpUQhO.js";import{a as f}from"./startup-queries-CAQZvUIR.js";import{t as p}from"./chat-api-DfnvubiW.js";import{i as m,r as h,s as g,t as _}from"./dialog-D-ER2p-D.js";import{t as v}from"./input-CvjGYteF.js";import{t as y}from"./field-3bN8nouy.js";import{r as b}from"./format-BRFKAYMT.js";import{n as x}from"./app-primitives-BBXY6U2S.js";var S=e(t(),1),C=n();function w({navigation:e,onClose:t,onNavigate:n,onOpenSession:l,onNewChat:u}){let{t:v,language:y}=r(),[x,w]=(0,S.useState)(``),{data:T}=d(f(`sessions`)),E=(0,S.useMemo)(()=>T?.sessions||[],[T]),[D,O]=(0,S.useState)([]),[k,A]=(0,S.useState)(!1),[j,M]=(0,S.useState)(0),[N,P]=(0,S.useState)(``);(0,S.useEffect)(()=>{let e=x.trim();if(!e){O([]),A(!1);return}let t=!0;A(!0);let n=window.setTimeout(()=>{p.searchSessionTreeLabels(e,12).then(e=>{t&&(O(e.labels||[]),A(!1))}).catch(()=>{t&&(O([]),A(!1))})},140);return()=>{t=!1,window.clearTimeout(n)}},[x]);let F=(0,S.useMemo)(()=>{let t=x.trim().toLocaleLowerCase(y),r=(...e)=>!t||e.some(e=>String(e||``).toLocaleLowerCase(y).includes(t)),i=[],s=v(`navigation:appOverlays.newChat`);r(s,v(`navigation:appOverlays.actions`))&&i.push({id:`action:new-chat`,Icon:o,label:s,hint:v(`navigation:appOverlays.actions`),run:u});for(let[t,a]of e)for(let[e,o,s]of a)r(o,t,e)&&i.push({id:`page:${e}`,Icon:s,label:o,hint:t,run:()=>n(e)});let d=e=>{let t=Date.parse(e);return Number.isFinite(t)?new Intl.DateTimeFormat(y,{dateStyle:`medium`,timeStyle:`short`}).format(t):v(`navigation:appOverlays.unknownTime`)};for(let e of D){let t=d(e.sessionCreated||e.sessionModified),n=d(e.nodeTimestamp);i.push({id:`label:${e.sessionId}:${e.entryId}`,Icon:c,label:e.label,hint:e.sessionName||v(`navigation:appOverlays.untitledChat`),meta:v(`navigation:appOverlays.labelResultTimes`,{sessionTime:t,nodeTime:n}),title:e.summary||e.label,run:()=>l(e.sessionId,e.entryId,e.active)})}for(let e of[...E].sort((e,t)=>Date.parse(t.modified)-Date.parse(e.modified)))if(r(e.name,e.firstMessage)&&(i.push({id:`session:${e.id}`,Icon:a,label:e.name||v(`navigation:appOverlays.untitledChat`),hint:b(e.modified,y),run:()=>l(e.id)}),i.filter(e=>e.id.startsWith(`session:`)).length>=8))break;return i},[D,y,e,n,u,l,x,E,v]);(0,S.useEffect)(()=>{M(0)},[x]);let I=Math.min(j,Math.max(0,F.length-1)),L=async e=>{if(!(!e||N)){if(!e.id.startsWith(`label:`)){t(),e.run();return}P(e.id);try{await e.run(),t()}catch{P(``)}}};return(0,C.jsx)(_,{open:!0,onOpenChange:e=>!e&&!N&&t(),children:(0,C.jsxs)(h,{showCloseButton:!1,"aria-busy":!!N,className:`command-palette max-[650px]:w-full w-[min(560px,calc(100vw_-_40px))] overflow-hidden [border:1px_solid_var(--surface-highlight)] rounded-[var(--r-md)] bg-[var(--solid)] shadow-[0_28px_80px_-24px_var(--shadow-strong)] [animation:modal-in_var(--d2)_var(--ease-out)] top-[16vh]! max-w-[calc(100vw-40px)]! translate-y-0! gap-0 p-0 ring-0 max-sm:top-[8vh]! sm:max-w-[560px]!`,children:[(0,C.jsx)(g,{className:`sr-only`,children:v(`navigation:appOverlays.commandPalette`)}),(0,C.jsx)(m,{className:`sr-only`,children:v(`navigation:appOverlays.searchPagesChatsOrActions`)}),(0,C.jsxs)(`label`,{className:`palette-input [&_input]:w-full [&_input]:min-w-0 [&_input]:border-0 [&_input]:[outline:0] [&_input]:bg-transparent [&_input]:text-[var(--text)] [&_input]:text-[14px] [&_kbd]:flex-none [&_kbd]:[border:1px_solid_var(--stroke)] [&_kbd]:rounded-[5px] [&_kbd]:bg-[var(--surface-subtle)] [&_kbd]:p-[1px_5px] [&_kbd]:text-[var(--text-muted)] [&_kbd]:font-[inherit] [&_kbd]:text-[10px] flex h-[46px] items-center gap-[9px] [border-bottom:1px_solid_var(--stroke-soft)] [padding:0_14px] text-[var(--text-muted)]`,children:[(0,C.jsx)(s,{size:16}),(0,C.jsx)(`input`,{autoFocus:!0,value:x,disabled:!!N,onChange:e=>w(e.target.value),onKeyDown:e=>{if(N){e.preventDefault();return}e.key===`ArrowDown`?(e.preventDefault(),M(e=>F.length?(e+1)%F.length:0)):e.key===`ArrowUp`?(e.preventDefault(),M(e=>F.length?(e-1+F.length)%F.length:0)):e.key===`Enter`?(e.preventDefault(),L(F[I])):e.key===`Escape`&&(e.preventDefault(),t())},placeholder:v(`navigation:appOverlays.searchPagesChatsOrActions`)}),N?(0,C.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1.5 text-xs`,role:`status`,"aria-live":`polite`,children:[(0,C.jsx)(i,{className:`size-3.5 animate-spin`,"aria-hidden":`true`}),v(`navigation:appOverlays.locatingLabel`)]}):(0,C.jsx)(`kbd`,{children:`Esc`})]}),(0,C.jsxs)(`div`,{className:`max-h-[min(380px,50vh)] overflow-y-auto [padding:6px]`,role:`listbox`,"aria-label":v(`navigation:appOverlays.commandPalette`),children:[F.map((e,t)=>(0,C.jsxs)(`button`,{type:`button`,className:`palette-item [&_>_svg]:flex-none [&_>_svg]:text-[var(--text-muted)] [&.active]:bg-[var(--star-soft)] [&.active]:text-[var(--text)] [&.active_>_svg]:text-[var(--star-strong)] flex w-full items-center gap-[10px] border-0 rounded-[var(--r-sm)] bg-transparent [padding:9px_10px] text-[var(--text-secondary)] text-[13px] text-left cursor-pointer ${e.meta?`has-meta`:``} ${t===I?`active`:``}`,title:e.title,role:`option`,"aria-selected":t===I,disabled:!!N,"aria-busy":N===e.id,onMouseEnter:()=>!N&&M(t),onClick:()=>void L(e),children:[N===e.id?(0,C.jsx)(i,{className:`size-[15px] animate-spin`,"aria-hidden":`true`}):(0,C.jsx)(e.Icon,{size:15}),(0,C.jsxs)(`span`,{className:`palette-item-copy [&_>_small]:overflow-hidden [&_>_small]:text-[var(--text-muted)] [&_>_small]:text-[10px] [&_>_small]:text-ellipsis [&_>_small]:whitespace-nowrap flex min-w-0 flex-1 flex-col gap-[2px]`,children:[(0,C.jsx)(`span`,{className:`min-w-0 overflow-hidden text-ellipsis whitespace-nowrap`,children:e.label}),e.meta&&(0,C.jsx)(`small`,{children:e.meta})]}),(0,C.jsx)(`span`,{className:`palette-item-hint max-[650px]:max-w-[34vw] max-w-[180px] flex-none overflow-hidden text-[var(--text-muted)] text-[11px] text-ellipsis whitespace-nowrap`,children:N===e.id?v(`navigation:appOverlays.locatingLabel`):e.hint})]},e.id)),!F.length&&(0,C.jsx)(`div`,{className:`palette-empty [padding:20px] text-[var(--text-muted)] text-[12px] text-center`,children:v(k?`navigation:appOverlays.searchingLabels`:`navigation:appOverlays.noMatchingResults`)}),F.length>0&&k&&(0,C.jsx)(`div`,{"aria-live":`polite`,className:`palette-empty [padding:20px] text-[var(--text-muted)] text-[12px] text-center palette-searching [.palette-empty&]:p-[8px_12px]`,children:v(`navigation:appOverlays.searchingLabels`)})]})]})})}function T({type:e,close:t,notify:n}){let{t:i}=r(),a={chat:i(`navigation:appOverlays.newChat2`),assets:i(`navigation:appOverlays.exportAsset`),channels:i(`navigation:appOverlays.connectChannel`),schedules:i(`navigation:appOverlays.newScheduledTask`),config:i(`navigation:appOverlays.quickSetup`),plugins:i(`navigation:appOverlays.savePluginPolicy`),memory:i(`navigation:appOverlays.addMemory`),mcp:i(`navigation:appOverlays.addMCPService`),skills:i(`navigation:appOverlays.installSkill`)}[e]||i(`navigation:appOverlays.newProject`),s=[i(`navigation:appOverlays.default`),i(`navigation:appOverlays.custom`),i(`navigation:appOverlays.createFromTemplate`)];return(0,C.jsx)(_,{open:!0,onOpenChange:e=>!e&&t(),children:(0,C.jsx)(h,{showCloseButton:!1,className:`modal !w-[min(430px,100%)] max-h-[calc(100dvh_-_40px)] overflow-y-auto [overscroll-behavior:contain] [border:1px_solid_var(--surface-highlight)] rounded-[var(--r-md)] bg-[var(--solid)] p-[18px] shadow-[0_26px_70px_-25px_var(--shadow-strong)] [animation:modal-in_var(--d2)_var(--ease-out)] max-[650px]:max-h-[calc(100dvh_-_16px)] max-w-[430px]! gap-0 rounded-dialog border-surface-highlight shadow-dialog ring-0`,children:(0,C.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),n(i(`navigation:appOverlays.actionSucceeded`,{action:a})),t()},children:[(0,C.jsxs)(x,{children:[(0,C.jsxs)(`div`,{children:[(0,C.jsx)(g,{children:a}),(0,C.jsx)(m,{children:i(`navigation:appOverlays.enterTheBasicDetailsToContinue`)})]}),(0,C.jsx)(u,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":i(`navigation:appOverlays.closeDialog`),title:i(`navigation:appOverlays.closeDialog`),onClick:t,children:(0,C.jsx)(l,{className:`size-[17px]`})})]}),(0,C.jsxs)(y,{variant:`control`,className:`items-start`,children:[i(`navigation:appOverlays.name`),(0,C.jsx)(v,{name:`name`,placeholder:i(`navigation:appOverlays.enterAName`)})]}),(0,C.jsxs)(y,{variant:`control`,className:`items-start`,children:[i(`navigation:appOverlays.description`),(0,C.jsx)(v,{name:`description`,placeholder:i(`navigation:appOverlays.addAShortDescription`)})]}),(0,C.jsx)(y,{variant:`control`,className:`items-start`,htmlFor:`quick-create-type`,children:i(`navigation:appOverlays.type`)}),(0,C.jsx)(`select`,{id:`quick-create-type`,name:`type`,defaultValue:s[0],className:`mt-1 w-full bg-surface-subtle`,children:s.map(e=>(0,C.jsx)(`option`,{value:e,children:e},e))}),(0,C.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[(0,C.jsx)(u,{type:`button`,variant:`secondary`,onClick:t,children:i(`navigation:appOverlays.cancel`)}),(0,C.jsxs)(u,{type:`submit`,children:[(0,C.jsx)(o,{className:`size-3.5`}),i(`navigation:appOverlays.create`)]})]})]})})})}export{w as CommandPalette,T as QuickCreate};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";import{i as n,n as r,r as i,s as a}from"./shortcuts-
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";import{i as n,n as r,r as i,s as a}from"./shortcuts-BO-h6OmP.js";var o=e(t(),1);function s({blocked:e,onCommandPalette:t,onPrimary:s,onSearch:c,onToggleTerminal:l,onToggleSidebar:u,onSettings:d}){let f=a(e=>e.bindings);return(0,o.useEffect)(()=>{let a=a=>{if(e||n(a))return;let o;i(a,f.commandPalette)?o=t:i(a,f.toggleSidebar)?o=u:i(a,f.toggleTerminal)?o=l:i(a,f.openSettings)?o=d:r(a.target)||(i(a,f.primaryAction)?o=s:i(a,f.focusSearch)&&(o=c)),o&&(a.preventDefault(),o())};return window.addEventListener(`keydown`,a),()=>window.removeEventListener(`keydown`,a)},[f,e,t,s,c,d,l,u]),null}export{s as AppShortcuts};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./index-IemAtsU4.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./use-i18n-DyzoXal-.js";import{t as a}from"./storage-BpAqa-YY.js";import{t as o}from"./createLucideIcon-Cd-3GVxJ.js";import{t as s}from"./download-BCfIiuaL.js";import{t as c}from"./external-link-CEQqPcqc.js";import{t as l}from"./file-Bllajneu.js";import{t as u}from"./link-2-mgasYn21.js";import{t as d}from"./paperclip-BCXrwYpb.js";import{t as f}from"./plus-fQbSqB1n.js";import{t as p}from"./refresh-cw-TbWxTY4K.js";import{t as m}from"./trash-2-CNrPOoPR.js";import{t as h}from"./triangle-alert-CE1q54ci.js";import{t as g}from"./x-07u4-129.js";import{t as _}from"./api-BbC90EzT.js";import{t as v}from"./button-CQA36izu.js";import{t as y}from"./field-3bN8nouy.js";import{t as b}from"./format-BRFKAYMT.js";import{c as x,i as S,n as C,r as w,t as T}from"./app-primitives-BBXY6U2S.js";import{t as E}from"./StarOrbit-BAAjh-hY.js";import{t as D}from"./usePagePrimaryAction-CWPC0C_f.js";import{t as O}from"./MarkdownMessage-_VrT_sON.js";import{n as k}from"./mobile-runtime-recovery-tbTyacip.js";var A=o(`file-image`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),j=o(`file-play`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z`,key:`1tzo1f`}]]),M=e(n(),1),N=134217728;function P(e){let t=document.createElement(`a`);t.href=`/api/assets/${encodeURIComponent(e.id)}/download`,t.download=e.name,t.hidden=!0,document.body.append(t),t.click(),t.remove()}function F(e){return new Promise((t,n)=>{let r=new FileReader;r.onerror=()=>n(r.error||Error(`读取资产失败。`)),r.onload=()=>{let e=typeof r.result==`string`?r.result:``,i=e.indexOf(`,`);i<0?n(Error(`资产编码失败。`)):t(e.slice(i+1))},r.readAsDataURL(e)})}function I(){if(typeof window>`u`)return!1;let e=window.__TAURI__?.core?.invoke??window.__TAURI_INTERNALS__?.invoke;return!!(window.pisperDesktop?.openAsset||window.__PISPER_MOBILE_APP__&&e)}async function L(e){let t=window.pisperDesktop?.openAsset,n=window.__TAURI__?.core?.invoke??window.__TAURI_INTERNALS__?.invoke;if(!t&&!(window.__PISPER_MOBILE_APP__&&n))return P(e),`download`;await k();let r=await fetch(`/api/assets/${encodeURIComponent(e.id)}/download`);if(!r.ok)throw Error(`资产下载失败 (${r.status})`);if((Number(r.headers.get(`content-length`))||0)>N)throw Error(`资产超过 128 MB 原生打开限制。`);let i=await r.blob();if(!i.size||i.size>N)throw Error(`资产内容为空或超过 128 MB 原生打开限制。`);let a=await F(i);return t?await t({name:e.name,data:a}):await n?.(`mobile_open_asset`,{input:{name:e.name,mimeType:e.mimeType||i.type||`application/octet-stream`,data:a}}),`application`}var R=r(),z=[`all`,`image`,`video`,`file`,`link`,`current`];function B(e,t){return t(e===`image`?`assets:assetsPage.images`:e===`video`?`assets:assetsPage.videos`:e===`file`?`assets:assetsPage.files`:e===`link`?`assets:assetsPage.links`:e===`current`?`assets:assetsPage.fromCurrentChat`:`assets:assetsPage.all`)}function V(e){let t=String(e||``),n=t.lastIndexOf(`.`);return n>0&&n<t.length-1?t.slice(n+1).toLowerCase():``}function H({query:e=``,notify:n,registerPrimaryAction:r,onUse:o,requestConfirm:f}){let{t:g}=i(),[y,C]=(0,M.useState)(`all`),[O,k]=(0,M.useState)([]),[N,P]=(0,M.useState)(!0),[F,H]=(0,M.useState)(``),[G,K]=(0,M.useState)(null),[q,J]=(0,M.useState)(!1);D(r,()=>J(!0));let Y=(0,M.useCallback)(async()=>{P(!0),H(``);try{let n=new URLSearchParams;e&&n.set(`query`,e),y===`image`&&n.set(`kind`,`image`),y===`video`&&n.set(`kind`,`video`),y===`file`&&n.set(`kind`,`file`),y===`link`&&n.set(`kind`,`link`),y===`current`&&n.set(`sessionId`,t.getItem(a.activeSession)||`__none__`);let r=await _(`/api/assets?${n}`);k(r.assets)}catch(e){H(e instanceof Error?e.message:String(e))}finally{P(!1)}},[e,y]);(0,M.useEffect)(()=>{Y()},[Y]);let X=async e=>{if(await f({title:g(`assets:assetsPage.deleteAsset`),message:g(`assets:assetsPage.deleteAssetName`,{name:e.name}),confirmLabel:g(`assets:assetsPage.delete`)}))try{await _(`/api/assets/${encodeURIComponent(e.id)}`,{method:`DELETE`}),k(t=>t.filter(t=>t.id!==e.id)),n(g(`assets:assetsPage.assetDeleted`))}catch(e){H(e instanceof Error?e.message:String(e))}},Z=async e=>{try{o(await _(`/api/assets/${encodeURIComponent(e.id)}/content`)),n(g(`assets:assetsPage.nameAddedToChat`,{name:e.name}))}catch(e){H(e instanceof Error?e.message:String(e))}},Q=async e=>{H(``);try{let t=V(e.name),n;if(e.kind===`link`)n=e.url||``;else if(e.kind!==`image`&&!e.mimeType?.startsWith(`video/`)){let t=await _(`/api/assets/${encodeURIComponent(e.id)}/content?preview=1`);t.kind===`text`&&(n=String(t.text||``))}K({...e,text:n,textFormat:t===`md`||e.mimeType===`text/markdown`?`markdown`:`plain`})}catch(e){H(e instanceof Error?e.message:String(e))}},$=async e=>{H(``);try{n(await L(e)===`application`?g(`assets:assetsPage.openedInApplication`):g(`assets:assetsPage.downloadStarted`))}catch(e){H(e instanceof Error?e.message:String(e))}};return(0,R.jsxs)(`div`,{className:`asset-page flex min-h-[100%] flex-col gap-[12px]`,children:[(0,R.jsx)(`div`,{className:`asset-toolbar [&_>_div:last-child]:flex [&_>_div:last-child]:gap-[7px] max-[650px]:items-stretch max-[650px]:flex-col max-[650px]:[&_>_div:last-child]:justify-end flex items-center justify-between gap-[12px]`,children:(0,R.jsx)(x,{options:z.map(e=>B(e,g)),value:B(y,g),onChange:e=>C(z.find(t=>B(t,g)===e)||`all`)})}),(0,R.jsxs)(`div`,{className:`asset-summary [&_strong]:text-[var(--text)] [&_strong]:text-[13px] max-[650px]:items-start max-[650px]:flex-col flex items-center justify-between gap-[12px] text-[var(--text-secondary)] text-[12px]`,children:[(0,R.jsxs)(`span`,{children:[(0,R.jsx)(`strong`,{children:O.length}),` `,g(`assets:assetsPage.assets`)]}),(0,R.jsx)(`span`,{children:g(`assets:assetsPage.conversationAttachmentsAndAgentOutputsGatherHereAutomatically`)})]}),F&&(0,R.jsxs)(S,{children:[(0,R.jsx)(h,{size:13}),F]}),N?(0,R.jsxs)(w,{children:[(0,R.jsx)(p,{className:`animate-spin`,size:23}),(0,R.jsx)(`h2`,{children:g(`assets:assetsPage.loadingAssets`)})]}):O.length?(0,R.jsx)(`div`,{className:`asset-grid max-[650px]:grid-cols-[1fr] functional grid auto-rows-[minmax(292px,auto)] grid-cols-[repeat(auto-fill,minmax(260px,1fr))] content-start gap-3`,children:O.map(e=>{let t=e.mimeType?.startsWith(`video/`),n=e.kind===`image`?A:t?j:e.kind===`link`?u:l;return(0,R.jsxs)(T,{className:`asset-card [transition:transform_var(--d2)_var(--ease-out),_box-shadow_var(--d2)_var(--ease-out),_border-color_var(--d2)_var(--ease-out)] hover:[transform:translateY(-2px)] hover:shadow-[var(--sh-2)] hover:border-[var(--star-border)] [&_>_strong]:text-[13px] [&_>_span]:m-[5px_0_10px] [&_>_span]:text-[var(--text-muted)] [&_>_span]:text-[12px] [&_>_div:last-child]:flex [&_>_div:last-child]:gap-[6px] [&_>_div:last-child]:mt-[auto] max-[650px]:min-h-[200px] functional flex h-full min-h-[292px] flex-col overflow-hidden`,children:[(0,R.jsx)(`button`,{className:`asset-preview [&.blue]:bg-[var(--asset-preview-blue-bg)] [&.blue]:text-[var(--asset-preview-blue-text)] [&.violet]:bg-[var(--asset-preview-violet-bg)] [&.violet]:text-[var(--violet-strong)] [&.yellow]:bg-[var(--warning-soft)] [&.yellow]:text-[var(--amber)] [&.red]:bg-[var(--danger-soft)] [&.red]:text-[var(--danger)] [.asset-card.functional_&::after]:absolute [.asset-card.functional_&::after]:inset-0 [.asset-card.functional_&::after]:rounded-[var(--r-sm)] [.asset-card.functional_&::after]:bg-[rgba(0,_0,_0,_0)] [.asset-card.functional_&::after]:[transition:background_var(--d1)_var(--ease-out)] [.asset-card.functional_&::after]:[content:''] [.asset-card.functional_&::after]:pointer-events-none [.asset-card.functional_&:hover::after]:bg-[rgba(0,_0,_0,_.16)] [.asset-card.functional_&.image]:bg-[var(--surface-hover)] [.asset-card.functional_&.link]:bg-[var(--surface-hover)] [.asset-card.functional_&.link]:text-[var(--success)] [.asset-card.functional_&.file]:bg-[var(--surface-hover)] [.asset-card.functional_&.file]:text-[var(--violet-strong)] [.asset-card.functional_&_img]:relative [.asset-card.functional_&_img]:z-[0] [.asset-card.functional_&_img]:w-full [.asset-card.functional_&_img]:h-full [.asset-card.functional_&_img]:rounded-[var(--r-sm)] [.asset-card.functional_&_img]:object-cover [.asset-card.functional_&_video]:relative [.asset-card.functional_&_video]:z-[0] [.asset-card.functional_&_video]:w-full [.asset-card.functional_&_video]:h-full [.asset-card.functional_&_video]:rounded-[var(--r-sm)] [.asset-card.functional_&_video]:object-cover ${e.kind} ${t?`video`:``} relative -mx-1.5 -mt-1.5 mb-2.5 grid h-44 min-h-0 w-[calc(100%+12px)] shrink-0 place-items-center overflow-hidden rounded-[var(--r-sm)] border-0 bg-[var(--surface-hover)] text-[var(--text-muted)]`,title:g(`assets:assetsPage.preview`),"aria-label":`${g(`assets:assetsPage.preview`)}: ${e.name}`,onClick:()=>Q(e),children:e.kind===`image`?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(n,{className:`absolute`,size:38}),(0,R.jsx)(`img`,{className:`block size-full min-h-0 object-cover`,src:`/api/assets/${encodeURIComponent(e.id)}/download?inline=1`,alt:``,onError:e=>{e.currentTarget.hidden=!0}})]}):t?(0,R.jsx)(`video`,{className:`block size-full min-h-0 object-cover`,src:`/api/assets/${encodeURIComponent(e.id)}/download?inline=1`,muted:!0,preload:`metadata`}):(0,R.jsx)(n,{size:38})}),(0,R.jsxs)(`div`,{className:`asset-card-copy [&_strong]:overflow-hidden [&_strong]:text-[13px] [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap [&_span]:overflow-hidden [&_span]:text-[var(--text-muted)] [&_span]:text-[13px] [&_span]:text-ellipsis [&_span]:whitespace-nowrap [&_small]:overflow-hidden [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] [&_small]:text-ellipsis [&_small]:whitespace-nowrap flex min-w-0 flex-col gap-[4px]`,children:[(0,R.jsx)(`strong`,{title:e.name,children:e.name}),(0,R.jsxs)(`span`,{children:[e.kind===`link`?e.url?new URL(e.url).hostname:``:b(e.size),` `,`·`,` `,e.source===`agent`?g(`assets:assetsPage.agentOutputs`):e.source===`attachment`?g(`assets:assetsPage.chatAttachments`):g(`assets:assetsPage.manualUploads`)]}),e.sessionName&&(0,R.jsx)(`small`,{title:e.sessionName,children:g(`assets:assetsPage.fromName`,{name:e.sessionName})})]}),(0,R.jsxs)(`div`,{className:`asset-card-actions flex-none [.asset-card.functional:hover_&]:opacity-100 [.asset-card.functional:hover_&]:[transform:translateY(0)] [.asset-card.functional:focus-within_&]:opacity-100 [.asset-card.functional:focus-within_&]:[transform:translateY(0)] [&_a]:no-underline flex flex-wrap items-center gap-[5px] [margin-top:auto] [padding-top:10px] opacity-0 [transform:translateY(4px)] [transition:opacity_var(--d1)_var(--ease-out),_transform_var(--d1)_var(--ease-out)] max-[650px]:opacity-100 max-[650px]:transform-none`,children:[e.kind===`link`?(0,R.jsx)(v,{asChild:!0,variant:`outline`,children:(0,R.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer`,children:[(0,R.jsx)(c,{size:13}),g(`assets:assetsPage.open`)]})}):(0,R.jsxs)(v,{variant:`outline`,onClick:()=>$(e),children:[I()?(0,R.jsx)(c,{size:13}):(0,R.jsx)(s,{size:13}),I()?g(`assets:assetsPage.openInApplication`):g(`assets:assetsPage.download`)]}),(0,R.jsxs)(v,{onClick:()=>Z(e),children:[(0,R.jsx)(d,{size:13}),g(`assets:assetsPage.useInChat`)]}),(0,R.jsx)(v,{variant:`destructive`,size:`icon`,className:`ml-auto`,title:g(`assets:assetsPage.deleteAsset`),"aria-label":`${g(`assets:assetsPage.deleteAsset`)}: ${e.name}`,onClick:()=>X(e),children:(0,R.jsx)(m,{size:13})})]})]},e.id)})}):(0,R.jsxs)(w,{children:[(0,R.jsx)(E,{size:46}),(0,R.jsx)(`h2`,{children:g(`assets:assetsPage.nothingHasGatheredHereYet`)}),(0,R.jsx)(`p`,{children:g(`assets:assetsPage.bringInALinkOrAttachAFileInAConversationPisperWillGatherTheOutputsCreatedAlongTheWay`)}),(0,R.jsxs)(v,{size:`lg`,className:`mt-4`,onClick:()=>J(!0),children:[(0,R.jsx)(u,{size:14}),g(`assets:assetsPage.addLink`)]})]}),G&&(0,R.jsx)(U,{asset:G,onClose:()=>K(null),onUse:()=>Z(G),onOpen:()=>$(G)}),q&&(0,R.jsx)(W,{onClose:()=>J(!1),onCreated:()=>{J(!1),Y(),n(g(`assets:assetsPage.linkAssetAdded`))}})]})}function U({asset:e,onClose:t,onUse:n,onOpen:r}){let{t:a}=i(),o=e.mimeType?.startsWith(`video/`);return(0,R.jsx)(`div`,{className:`modal-backdrop max-[650px]:p-[8px] fixed z-[70] inset-0 grid place-items-center overflow-y-auto bg-[var(--modal-overlay)] [backdrop-filter:blur(3px)] [padding:20px] [overscroll-behavior:contain] [animation:fade-in_var(--d1)_var(--ease-out)]`,onMouseDown:e=>e.target===e.currentTarget&&t(),children:(0,R.jsxs)(`section`,{className:`modal asset-preview-modal flex max-h-[calc(100dvh_-_40px)] flex-col overflow-hidden [overscroll-behavior:contain] [border:1px_solid_var(--surface-highlight)] rounded-[var(--r-md)] bg-[var(--solid)] p-[18px] shadow-[0_26px_70px_-25px_var(--shadow-strong)] [animation:modal-in_var(--d2)_var(--ease-out)] max-[650px]:max-h-[calc(100dvh_-_16px)] max-[650px]:p-3 ${e.kind===`image`||o?`w-[min(96vw,1200px)]`:`w-[min(96vw,900px)]`}`,children:[(0,R.jsxs)(C,{children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`h2`,{children:e.name}),(0,R.jsx)(`p`,{children:e.kind===`link`?e.url:`${e.mimeType} · ${b(e.size)}`})]}),(0,R.jsx)(v,{variant:`ghost`,size:`icon`,"aria-label":a(`assets:assetsPage.closeDialog`),onClick:t,children:(0,R.jsx)(g,{size:17})})]}),(0,R.jsx)(`div`,{className:`asset-modal-content [&_>_img]:max-h-full [&_>_img]:max-w-full [&_>_img]:rounded-[var(--r-sm)] [&_>_img]:object-contain [&_>_video]:aspect-video [&_>_video]:max-h-full [&_>_video]:w-full [&_>_video]:rounded-[var(--r-sm)] [&_>_video]:bg-black [&_>_video]:object-contain [&_>_pre]:m-0 [&_>_pre]:h-full [&_>_pre]:w-full [&_>_pre]:overflow-auto [&_>_pre]:whitespace-pre-wrap [&_>_pre]:font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] [&_>_pre]:text-[12px] [&_>_pre]:leading-[1.55] [&_>_a]:flex [&_>_a]:items-center [&_>_a]:gap-[7px] [&_>_a]:text-[var(--text-soft)] [&_>_a]:text-[12px] [&_>_a]:[text-decoration:underline] [&_>_a]:[text-underline-offset:2px] [&_>_a]:[word-break:break-all] grid min-h-[min(420px,60dvh)] flex-1 place-items-center overflow-auto [margin-top:14px] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-sm)] bg-[var(--surface-subtle)] p-3 max-[650px]:min-h-[240px]`,children:e.kind===`image`?(0,R.jsx)(`img`,{src:`/api/assets/${encodeURIComponent(e.id)}/download?inline=1`,alt:e.name}):o?(0,R.jsx)(`video`,{controls:!0,playsInline:!0,preload:`metadata`,src:`/api/assets/${encodeURIComponent(e.id)}/download?inline=1`}):e.kind===`link`?(0,R.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer`,children:[(0,R.jsx)(c,{size:16}),e.url]}):e.text===void 0?(0,R.jsxs)(`div`,{className:`asset-file-preview [&_strong]:text-[var(--text)] [&_strong]:text-[13px] [&_span]:text-[12px] [&_span]:leading-[1.55] flex max-w-[400px] flex-col items-center gap-[9px] text-[var(--text-secondary)] text-center`,children:[(0,R.jsx)(l,{size:42}),(0,R.jsx)(`strong`,{children:e.name}),(0,R.jsx)(`span`,{children:a(`assets:assetsPage.thisFileTypeCanBeDownloadedSupportedDocumentsCanAlsoBeAddedToAChatForAnalysis`)})]}):e.textFormat===`markdown`?(0,R.jsx)(`div`,{className:`h-full w-full overflow-auto text-left`,children:(0,R.jsx)(O,{children:e.text})}):(0,R.jsx)(`pre`,{children:e.text})}),(0,R.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[e.kind!==`link`&&(0,R.jsxs)(v,{variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:r,children:[I()?(0,R.jsx)(c,{size:14}):(0,R.jsx)(s,{size:14}),I()?a(`assets:assetsPage.openInApplication`):a(`assets:assetsPage.download`)]}),(0,R.jsxs)(v,{size:`lg`,onClick:n,children:[(0,R.jsx)(d,{size:14}),a(`assets:assetsPage.useInChat`)]})]})]})})}function W({onClose:e,onCreated:t}){let{t:n}=i(),[r,a]=(0,M.useState)(``),[o,s]=(0,M.useState)(``),[c,l]=(0,M.useState)(!1),[u,d]=(0,M.useState)(``);return(0,R.jsx)(`div`,{className:`modal-backdrop max-[650px]:p-[8px] fixed z-[70] inset-0 grid place-items-center overflow-y-auto bg-[var(--modal-overlay)] [backdrop-filter:blur(3px)] [padding:20px] [overscroll-behavior:contain] [animation:fade-in_var(--d1)_var(--ease-out)]`,onMouseDown:t=>t.target===t.currentTarget&&e(),children:(0,R.jsxs)(`form`,{className:`modal !w-[min(430px,100%)] max-h-[calc(100dvh_-_40px)] overflow-y-auto [overscroll-behavior:contain] [border:1px_solid_var(--surface-highlight)] rounded-[var(--r-md)] bg-[var(--solid)] p-[18px] shadow-[0_26px_70px_-25px_var(--shadow-strong)] [animation:modal-in_var(--d2)_var(--ease-out)] max-[650px]:max-h-[calc(100dvh_-_16px)]`,onSubmit:async e=>{e.preventDefault(),l(!0),d(``);try{await _(`/api/assets`,{method:`POST`,body:JSON.stringify({kind:`link`,name:r,url:o,source:`upload`})}),t()}catch(e){d(e instanceof Error?e.message:String(e))}finally{l(!1)}},children:[(0,R.jsxs)(C,{children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`h2`,{children:n(`assets:assetsPage.addLinkAsset`)}),(0,R.jsx)(`p`,{children:n(`assets:assetsPage.linksCanBeArchivedOpenedOrAddedToAChatAsContext`)})]}),(0,R.jsx)(v,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":n(`assets:assetsPage.closeDialog`),onClick:e,children:(0,R.jsx)(g,{size:17})})]}),(0,R.jsxs)(y,{variant:`control`,children:[n(`assets:assetsPage.name`),(0,R.jsx)(`input`,{value:r,onChange:e=>a(e.target.value),placeholder:n(`assets:assetsPage.forExampleOpenAIAPIDocs`)})]}),(0,R.jsxs)(y,{variant:`control`,children:[`URL`,(0,R.jsx)(`input`,{value:o,onChange:e=>s(e.target.value),placeholder:`https://example.com/docs`})]}),u&&(0,R.jsxs)(S,{children:[(0,R.jsx)(h,{size:13}),u]}),(0,R.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[(0,R.jsx)(v,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:e,children:n(`assets:assetsPage.cancel`)}),(0,R.jsxs)(v,{size:`lg`,disabled:c||!o.trim(),children:[c?(0,R.jsx)(p,{className:`animate-spin`,size:14}):(0,R.jsx)(f,{size:14}),n(c?`assets:assetsPage.adding`:`assets:assetsPage.addLink`)]})]})]})})}export{H as AssetsPage};
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./index-iBrSU61i.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./use-i18n-BSZKFkMb.js";import{t as a}from"./storage-BpAqa-YY.js";import{t as o}from"./createLucideIcon-Cd-3GVxJ.js";import{t as s}from"./download-BCfIiuaL.js";import{t as c}from"./external-link-CEQqPcqc.js";import{t as l}from"./file-Bllajneu.js";import{t as u}from"./link-2-mgasYn21.js";import{t as d}from"./paperclip-BCXrwYpb.js";import{t as f}from"./plus-fQbSqB1n.js";import{t as p}from"./refresh-cw-TbWxTY4K.js";import{t as m}from"./trash-2-CNrPOoPR.js";import{t as h}from"./triangle-alert-CE1q54ci.js";import{t as g}from"./x-07u4-129.js";import{t as _}from"./api-Dzobr-o_.js";import{t as v}from"./button-CQA36izu.js";import{t as y}from"./field-3bN8nouy.js";import{t as b}from"./format-BRFKAYMT.js";import{c as x,i as S,n as C,r as w,t as T}from"./app-primitives-BBXY6U2S.js";import{t as E}from"./StarOrbit-BAAjh-hY.js";import{t as D}from"./usePagePrimaryAction-CWPC0C_f.js";import{t as O}from"./MarkdownMessage-H1336cMr.js";import{n as k}from"./mobile-runtime-recovery-tbTyacip.js";var A=o(`file-image`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),j=o(`file-play`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z`,key:`1tzo1f`}]]),M=e(n(),1),N=134217728;function P(e){let t=document.createElement(`a`);t.href=`/api/assets/${encodeURIComponent(e.id)}/download`,t.download=e.name,t.hidden=!0,document.body.append(t),t.click(),t.remove()}function F(e){return new Promise((t,n)=>{let r=new FileReader;r.onerror=()=>n(r.error||Error(`读取资产失败。`)),r.onload=()=>{let e=typeof r.result==`string`?r.result:``,i=e.indexOf(`,`);i<0?n(Error(`资产编码失败。`)):t(e.slice(i+1))},r.readAsDataURL(e)})}function I(){if(typeof window>`u`)return!1;let e=window.__TAURI__?.core?.invoke??window.__TAURI_INTERNALS__?.invoke;return!!(window.pisperDesktop?.openAsset||window.__PISPER_MOBILE_APP__&&e)}async function L(e){let t=window.pisperDesktop?.openAsset,n=window.__TAURI__?.core?.invoke??window.__TAURI_INTERNALS__?.invoke;if(!t&&!(window.__PISPER_MOBILE_APP__&&n))return P(e),`download`;await k();let r=await fetch(`/api/assets/${encodeURIComponent(e.id)}/download`);if(!r.ok)throw Error(`资产下载失败 (${r.status})`);if((Number(r.headers.get(`content-length`))||0)>N)throw Error(`资产超过 128 MB 原生打开限制。`);let i=await r.blob();if(!i.size||i.size>N)throw Error(`资产内容为空或超过 128 MB 原生打开限制。`);let a=await F(i);return t?await t({name:e.name,data:a}):await n?.(`mobile_open_asset`,{input:{name:e.name,mimeType:e.mimeType||i.type||`application/octet-stream`,data:a}}),`application`}var R=r(),z=[`all`,`image`,`video`,`file`,`link`,`current`];function B(e,t){return t(e===`image`?`assets:assetsPage.images`:e===`video`?`assets:assetsPage.videos`:e===`file`?`assets:assetsPage.files`:e===`link`?`assets:assetsPage.links`:e===`current`?`assets:assetsPage.fromCurrentChat`:`assets:assetsPage.all`)}function V(e){let t=String(e||``),n=t.lastIndexOf(`.`);return n>0&&n<t.length-1?t.slice(n+1).toLowerCase():``}function H({query:e=``,notify:n,registerPrimaryAction:r,onUse:o,requestConfirm:f}){let{t:g}=i(),[y,C]=(0,M.useState)(`all`),[O,k]=(0,M.useState)([]),[N,P]=(0,M.useState)(!0),[F,H]=(0,M.useState)(``),[G,K]=(0,M.useState)(null),[q,J]=(0,M.useState)(!1);D(r,()=>J(!0));let Y=(0,M.useCallback)(async()=>{P(!0),H(``);try{let n=new URLSearchParams;e&&n.set(`query`,e),y===`image`&&n.set(`kind`,`image`),y===`video`&&n.set(`kind`,`video`),y===`file`&&n.set(`kind`,`file`),y===`link`&&n.set(`kind`,`link`),y===`current`&&n.set(`sessionId`,t.getItem(a.activeSession)||`__none__`);let r=await _(`/api/assets?${n}`);k(r.assets)}catch(e){H(e instanceof Error?e.message:String(e))}finally{P(!1)}},[e,y]);(0,M.useEffect)(()=>{Y()},[Y]);let X=async e=>{if(await f({title:g(`assets:assetsPage.deleteAsset`),message:g(`assets:assetsPage.deleteAssetName`,{name:e.name}),confirmLabel:g(`assets:assetsPage.delete`)}))try{await _(`/api/assets/${encodeURIComponent(e.id)}`,{method:`DELETE`}),k(t=>t.filter(t=>t.id!==e.id)),n(g(`assets:assetsPage.assetDeleted`))}catch(e){H(e instanceof Error?e.message:String(e))}},Z=async e=>{try{o(await _(`/api/assets/${encodeURIComponent(e.id)}/content`)),n(g(`assets:assetsPage.nameAddedToChat`,{name:e.name}))}catch(e){H(e instanceof Error?e.message:String(e))}},Q=async e=>{H(``);try{let t=V(e.name),n;if(e.kind===`link`)n=e.url||``;else if(e.kind!==`image`&&!e.mimeType?.startsWith(`video/`)){let t=await _(`/api/assets/${encodeURIComponent(e.id)}/content?preview=1`);t.kind===`text`&&(n=String(t.text||``))}K({...e,text:n,textFormat:t===`md`||e.mimeType===`text/markdown`?`markdown`:`plain`})}catch(e){H(e instanceof Error?e.message:String(e))}},$=async e=>{H(``);try{n(await L(e)===`application`?g(`assets:assetsPage.openedInApplication`):g(`assets:assetsPage.downloadStarted`))}catch(e){H(e instanceof Error?e.message:String(e))}};return(0,R.jsxs)(`div`,{className:`asset-page flex min-h-[100%] flex-col gap-[12px]`,children:[(0,R.jsx)(`div`,{className:`asset-toolbar [&_>_div:last-child]:flex [&_>_div:last-child]:gap-[7px] max-[650px]:items-stretch max-[650px]:flex-col max-[650px]:[&_>_div:last-child]:justify-end flex items-center justify-between gap-[12px]`,children:(0,R.jsx)(x,{options:z.map(e=>B(e,g)),value:B(y,g),onChange:e=>C(z.find(t=>B(t,g)===e)||`all`)})}),(0,R.jsxs)(`div`,{className:`asset-summary [&_strong]:text-[var(--text)] [&_strong]:text-[13px] max-[650px]:items-start max-[650px]:flex-col flex items-center justify-between gap-[12px] text-[var(--text-secondary)] text-[12px]`,children:[(0,R.jsxs)(`span`,{children:[(0,R.jsx)(`strong`,{children:O.length}),` `,g(`assets:assetsPage.assets`)]}),(0,R.jsx)(`span`,{children:g(`assets:assetsPage.conversationAttachmentsAndAgentOutputsGatherHereAutomatically`)})]}),F&&(0,R.jsxs)(S,{children:[(0,R.jsx)(h,{size:13}),F]}),N?(0,R.jsxs)(w,{children:[(0,R.jsx)(p,{className:`animate-spin`,size:23}),(0,R.jsx)(`h2`,{children:g(`assets:assetsPage.loadingAssets`)})]}):O.length?(0,R.jsx)(`div`,{className:`asset-grid max-[650px]:grid-cols-[1fr] functional grid auto-rows-[minmax(292px,auto)] grid-cols-[repeat(auto-fill,minmax(260px,1fr))] content-start gap-3`,children:O.map(e=>{let t=e.mimeType?.startsWith(`video/`),n=e.kind===`image`?A:t?j:e.kind===`link`?u:l;return(0,R.jsxs)(T,{className:`asset-card [transition:transform_var(--d2)_var(--ease-out),_box-shadow_var(--d2)_var(--ease-out),_border-color_var(--d2)_var(--ease-out)] hover:[transform:translateY(-2px)] hover:shadow-[var(--sh-2)] hover:border-[var(--star-border)] [&_>_strong]:text-[13px] [&_>_span]:m-[5px_0_10px] [&_>_span]:text-[var(--text-muted)] [&_>_span]:text-[12px] [&_>_div:last-child]:flex [&_>_div:last-child]:gap-[6px] [&_>_div:last-child]:mt-[auto] max-[650px]:min-h-[200px] functional flex h-full min-h-[292px] flex-col overflow-hidden`,children:[(0,R.jsx)(`button`,{className:`asset-preview [&.blue]:bg-[var(--asset-preview-blue-bg)] [&.blue]:text-[var(--asset-preview-blue-text)] [&.violet]:bg-[var(--asset-preview-violet-bg)] [&.violet]:text-[var(--violet-strong)] [&.yellow]:bg-[var(--warning-soft)] [&.yellow]:text-[var(--amber)] [&.red]:bg-[var(--danger-soft)] [&.red]:text-[var(--danger)] [.asset-card.functional_&::after]:absolute [.asset-card.functional_&::after]:inset-0 [.asset-card.functional_&::after]:rounded-[var(--r-sm)] [.asset-card.functional_&::after]:bg-[rgba(0,_0,_0,_0)] [.asset-card.functional_&::after]:[transition:background_var(--d1)_var(--ease-out)] [.asset-card.functional_&::after]:[content:''] [.asset-card.functional_&::after]:pointer-events-none [.asset-card.functional_&:hover::after]:bg-[rgba(0,_0,_0,_.16)] [.asset-card.functional_&.image]:bg-[var(--surface-hover)] [.asset-card.functional_&.link]:bg-[var(--surface-hover)] [.asset-card.functional_&.link]:text-[var(--success)] [.asset-card.functional_&.file]:bg-[var(--surface-hover)] [.asset-card.functional_&.file]:text-[var(--violet-strong)] [.asset-card.functional_&_img]:relative [.asset-card.functional_&_img]:z-[0] [.asset-card.functional_&_img]:w-full [.asset-card.functional_&_img]:h-full [.asset-card.functional_&_img]:rounded-[var(--r-sm)] [.asset-card.functional_&_img]:object-cover [.asset-card.functional_&_video]:relative [.asset-card.functional_&_video]:z-[0] [.asset-card.functional_&_video]:w-full [.asset-card.functional_&_video]:h-full [.asset-card.functional_&_video]:rounded-[var(--r-sm)] [.asset-card.functional_&_video]:object-cover ${e.kind} ${t?`video`:``} relative -mx-1.5 -mt-1.5 mb-2.5 grid h-44 min-h-0 w-[calc(100%+12px)] shrink-0 place-items-center overflow-hidden rounded-[var(--r-sm)] border-0 bg-[var(--surface-hover)] text-[var(--text-muted)]`,title:g(`assets:assetsPage.preview`),"aria-label":`${g(`assets:assetsPage.preview`)}: ${e.name}`,onClick:()=>Q(e),children:e.kind===`image`?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(n,{className:`absolute`,size:38}),(0,R.jsx)(`img`,{className:`block size-full min-h-0 object-cover`,src:`/api/assets/${encodeURIComponent(e.id)}/download?inline=1`,alt:``,onError:e=>{e.currentTarget.hidden=!0}})]}):t?(0,R.jsx)(`video`,{className:`block size-full min-h-0 object-cover`,src:`/api/assets/${encodeURIComponent(e.id)}/download?inline=1`,muted:!0,preload:`metadata`}):(0,R.jsx)(n,{size:38})}),(0,R.jsxs)(`div`,{className:`asset-card-copy [&_strong]:overflow-hidden [&_strong]:text-[13px] [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap [&_span]:overflow-hidden [&_span]:text-[var(--text-muted)] [&_span]:text-[13px] [&_span]:text-ellipsis [&_span]:whitespace-nowrap [&_small]:overflow-hidden [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] [&_small]:text-ellipsis [&_small]:whitespace-nowrap flex min-w-0 flex-col gap-[4px]`,children:[(0,R.jsx)(`strong`,{title:e.name,children:e.name}),(0,R.jsxs)(`span`,{children:[e.kind===`link`?e.url?new URL(e.url).hostname:``:b(e.size),` `,`·`,` `,e.source===`agent`?g(`assets:assetsPage.agentOutputs`):e.source===`attachment`?g(`assets:assetsPage.chatAttachments`):g(`assets:assetsPage.manualUploads`)]}),e.sessionName&&(0,R.jsx)(`small`,{title:e.sessionName,children:g(`assets:assetsPage.fromName`,{name:e.sessionName})})]}),(0,R.jsxs)(`div`,{className:`asset-card-actions flex-none [.asset-card.functional:hover_&]:opacity-100 [.asset-card.functional:hover_&]:[transform:translateY(0)] [.asset-card.functional:focus-within_&]:opacity-100 [.asset-card.functional:focus-within_&]:[transform:translateY(0)] [&_a]:no-underline flex flex-wrap items-center gap-[5px] [margin-top:auto] [padding-top:10px] opacity-0 [transform:translateY(4px)] [transition:opacity_var(--d1)_var(--ease-out),_transform_var(--d1)_var(--ease-out)] max-[650px]:opacity-100 max-[650px]:transform-none`,children:[e.kind===`link`?(0,R.jsx)(v,{asChild:!0,variant:`outline`,children:(0,R.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer`,children:[(0,R.jsx)(c,{size:13}),g(`assets:assetsPage.open`)]})}):(0,R.jsxs)(v,{variant:`outline`,onClick:()=>$(e),children:[I()?(0,R.jsx)(c,{size:13}):(0,R.jsx)(s,{size:13}),I()?g(`assets:assetsPage.openInApplication`):g(`assets:assetsPage.download`)]}),(0,R.jsxs)(v,{onClick:()=>Z(e),children:[(0,R.jsx)(d,{size:13}),g(`assets:assetsPage.useInChat`)]}),(0,R.jsx)(v,{variant:`destructive`,size:`icon`,className:`ml-auto`,title:g(`assets:assetsPage.deleteAsset`),"aria-label":`${g(`assets:assetsPage.deleteAsset`)}: ${e.name}`,onClick:()=>X(e),children:(0,R.jsx)(m,{size:13})})]})]},e.id)})}):(0,R.jsxs)(w,{children:[(0,R.jsx)(E,{size:46}),(0,R.jsx)(`h2`,{children:g(`assets:assetsPage.nothingHasGatheredHereYet`)}),(0,R.jsx)(`p`,{children:g(`assets:assetsPage.bringInALinkOrAttachAFileInAConversationPisperWillGatherTheOutputsCreatedAlongTheWay`)}),(0,R.jsxs)(v,{size:`lg`,className:`mt-4`,onClick:()=>J(!0),children:[(0,R.jsx)(u,{size:14}),g(`assets:assetsPage.addLink`)]})]}),G&&(0,R.jsx)(U,{asset:G,onClose:()=>K(null),onUse:()=>Z(G),onOpen:()=>$(G)}),q&&(0,R.jsx)(W,{onClose:()=>J(!1),onCreated:()=>{J(!1),Y(),n(g(`assets:assetsPage.linkAssetAdded`))}})]})}function U({asset:e,onClose:t,onUse:n,onOpen:r}){let{t:a}=i(),o=e.mimeType?.startsWith(`video/`);return(0,R.jsx)(`div`,{className:`modal-backdrop max-[650px]:p-[8px] fixed z-[70] inset-0 grid place-items-center overflow-y-auto bg-[var(--modal-overlay)] [backdrop-filter:blur(3px)] [padding:20px] [overscroll-behavior:contain] [animation:fade-in_var(--d1)_var(--ease-out)]`,onMouseDown:e=>e.target===e.currentTarget&&t(),children:(0,R.jsxs)(`section`,{className:`modal asset-preview-modal flex max-h-[calc(100dvh_-_40px)] flex-col overflow-hidden [overscroll-behavior:contain] [border:1px_solid_var(--surface-highlight)] rounded-[var(--r-md)] bg-[var(--solid)] p-[18px] shadow-[0_26px_70px_-25px_var(--shadow-strong)] [animation:modal-in_var(--d2)_var(--ease-out)] max-[650px]:max-h-[calc(100dvh_-_16px)] max-[650px]:p-3 ${e.kind===`image`||o?`w-[min(96vw,1200px)]`:`w-[min(96vw,900px)]`}`,children:[(0,R.jsxs)(C,{children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`h2`,{children:e.name}),(0,R.jsx)(`p`,{children:e.kind===`link`?e.url:`${e.mimeType} · ${b(e.size)}`})]}),(0,R.jsx)(v,{variant:`ghost`,size:`icon`,"aria-label":a(`assets:assetsPage.closeDialog`),onClick:t,children:(0,R.jsx)(g,{size:17})})]}),(0,R.jsx)(`div`,{className:`asset-modal-content [&_>_img]:max-h-full [&_>_img]:max-w-full [&_>_img]:rounded-[var(--r-sm)] [&_>_img]:object-contain [&_>_video]:aspect-video [&_>_video]:max-h-full [&_>_video]:w-full [&_>_video]:rounded-[var(--r-sm)] [&_>_video]:bg-black [&_>_video]:object-contain [&_>_pre]:m-0 [&_>_pre]:h-full [&_>_pre]:w-full [&_>_pre]:overflow-auto [&_>_pre]:whitespace-pre-wrap [&_>_pre]:font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] [&_>_pre]:text-[12px] [&_>_pre]:leading-[1.55] [&_>_a]:flex [&_>_a]:items-center [&_>_a]:gap-[7px] [&_>_a]:text-[var(--text-soft)] [&_>_a]:text-[12px] [&_>_a]:[text-decoration:underline] [&_>_a]:[text-underline-offset:2px] [&_>_a]:[word-break:break-all] grid min-h-[min(420px,60dvh)] flex-1 place-items-center overflow-auto [margin-top:14px] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-sm)] bg-[var(--surface-subtle)] p-3 max-[650px]:min-h-[240px]`,children:e.kind===`image`?(0,R.jsx)(`img`,{src:`/api/assets/${encodeURIComponent(e.id)}/download?inline=1`,alt:e.name}):o?(0,R.jsx)(`video`,{controls:!0,playsInline:!0,preload:`metadata`,src:`/api/assets/${encodeURIComponent(e.id)}/download?inline=1`}):e.kind===`link`?(0,R.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer`,children:[(0,R.jsx)(c,{size:16}),e.url]}):e.text===void 0?(0,R.jsxs)(`div`,{className:`asset-file-preview [&_strong]:text-[var(--text)] [&_strong]:text-[13px] [&_span]:text-[12px] [&_span]:leading-[1.55] flex max-w-[400px] flex-col items-center gap-[9px] text-[var(--text-secondary)] text-center`,children:[(0,R.jsx)(l,{size:42}),(0,R.jsx)(`strong`,{children:e.name}),(0,R.jsx)(`span`,{children:a(`assets:assetsPage.thisFileTypeCanBeDownloadedSupportedDocumentsCanAlsoBeAddedToAChatForAnalysis`)})]}):e.textFormat===`markdown`?(0,R.jsx)(`div`,{className:`h-full w-full overflow-auto text-left`,children:(0,R.jsx)(O,{children:e.text})}):(0,R.jsx)(`pre`,{children:e.text})}),(0,R.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[e.kind!==`link`&&(0,R.jsxs)(v,{variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:r,children:[I()?(0,R.jsx)(c,{size:14}):(0,R.jsx)(s,{size:14}),I()?a(`assets:assetsPage.openInApplication`):a(`assets:assetsPage.download`)]}),(0,R.jsxs)(v,{size:`lg`,onClick:n,children:[(0,R.jsx)(d,{size:14}),a(`assets:assetsPage.useInChat`)]})]})]})})}function W({onClose:e,onCreated:t}){let{t:n}=i(),[r,a]=(0,M.useState)(``),[o,s]=(0,M.useState)(``),[c,l]=(0,M.useState)(!1),[u,d]=(0,M.useState)(``);return(0,R.jsx)(`div`,{className:`modal-backdrop max-[650px]:p-[8px] fixed z-[70] inset-0 grid place-items-center overflow-y-auto bg-[var(--modal-overlay)] [backdrop-filter:blur(3px)] [padding:20px] [overscroll-behavior:contain] [animation:fade-in_var(--d1)_var(--ease-out)]`,onMouseDown:t=>t.target===t.currentTarget&&e(),children:(0,R.jsxs)(`form`,{className:`modal !w-[min(430px,100%)] max-h-[calc(100dvh_-_40px)] overflow-y-auto [overscroll-behavior:contain] [border:1px_solid_var(--surface-highlight)] rounded-[var(--r-md)] bg-[var(--solid)] p-[18px] shadow-[0_26px_70px_-25px_var(--shadow-strong)] [animation:modal-in_var(--d2)_var(--ease-out)] max-[650px]:max-h-[calc(100dvh_-_16px)]`,onSubmit:async e=>{e.preventDefault(),l(!0),d(``);try{await _(`/api/assets`,{method:`POST`,body:JSON.stringify({kind:`link`,name:r,url:o,source:`upload`})}),t()}catch(e){d(e instanceof Error?e.message:String(e))}finally{l(!1)}},children:[(0,R.jsxs)(C,{children:[(0,R.jsxs)(`div`,{children:[(0,R.jsx)(`h2`,{children:n(`assets:assetsPage.addLinkAsset`)}),(0,R.jsx)(`p`,{children:n(`assets:assetsPage.linksCanBeArchivedOpenedOrAddedToAChatAsContext`)})]}),(0,R.jsx)(v,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":n(`assets:assetsPage.closeDialog`),onClick:e,children:(0,R.jsx)(g,{size:17})})]}),(0,R.jsxs)(y,{variant:`control`,children:[n(`assets:assetsPage.name`),(0,R.jsx)(`input`,{value:r,onChange:e=>a(e.target.value),placeholder:n(`assets:assetsPage.forExampleOpenAIAPIDocs`)})]}),(0,R.jsxs)(y,{variant:`control`,children:[`URL`,(0,R.jsx)(`input`,{value:o,onChange:e=>s(e.target.value),placeholder:`https://example.com/docs`})]}),u&&(0,R.jsxs)(S,{children:[(0,R.jsx)(h,{size:13}),u]}),(0,R.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[(0,R.jsx)(v,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:e,children:n(`assets:assetsPage.cancel`)}),(0,R.jsxs)(v,{size:`lg`,disabled:c||!o.trim(),children:[c?(0,R.jsx)(p,{className:`animate-spin`,size:14}):(0,R.jsx)(f,{size:14}),n(c?`assets:assetsPage.adding`:`assets:assetsPage.addLink`)]})]})]})})}export{H as AssetsPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{t as r}from"./use-i18n-DyzoXal-.js";import{t as i}from"./bot-B3TaBp_T.js";import{t as a}from"./external-link-CEQqPcqc.js";import{t as o}from"./message-circle-D-XrK6Ft.js";import{t as s}from"./message-square-SKjZyY3v.js";import{t as c}from"./plus-fQbSqB1n.js";import{t as l}from"./refresh-cw-TbWxTY4K.js";import{t as u}from"./send-Cj-W03w_.js";import{t as d}from"./settings-QX0oWnVK.js";import{t as f}from"./shield-check-Gvek4RJ7.js";import{t as p}from"./triangle-alert-CE1q54ci.js";import{t as m}from"./x-07u4-129.js";import{t as h}from"./api-BbC90EzT.js";import{t as g}from"./button-CQA36izu.js";import{t as _}from"./input-CvjGYteF.js";import{t as v}from"./field-3bN8nouy.js";import{r as y}from"./format-BRFKAYMT.js";import{a as b,i as x,l as S,n as C,o as w,r as T,t as E}from"./app-primitives-BBXY6U2S.js";import{t as D}from"./StarOrbit-BAAjh-hY.js";import{t as O}from"./usePagePrimaryAction-CWPC0C_f.js";var k=e(t(),1),A=Object.entries({feishu:{Icon:i,tone:`blue`},weixin:{Icon:o,tone:`green`},qq:{Icon:o,tone:`blue`},telegram:{Icon:u,tone:`blue`}});function j(e,t){return t(e===`feishu`?`channels:channelsPage.feishu`:e===`weixin`?`channels:channelsPage.weChat`:e===`qq`?`channels:channelsPage.qq`:`channels:channelsPage.telegram`)}function M(e,t){return t(e===`feishu`?`channels:channelsPage.feishuAppBot`:e===`weixin`?`channels:channelsPage.weChat`:e===`qq`?`channels:channelsPage.qqBot`:`channels:channelsPage.telegramBot`)}function N(e,t){return t(e===`feishu`?`channels:channelsPage.webSocketPersistentConnection`:e===`weixin`?`channels:channelsPage.tencentILinkPersistentConnection`:e===`qq`?`channels:channelsPage.qqPersistentConnection`:`channels:channelsPage.telegramPersistentConnection`)}function P(e,t){return t(e===`feishu`?`channels:channelsPage.feishuCapabilities`:e===`weixin`?`channels:channelsPage.weChatCapabilities`:e===`qq`?`channels:channelsPage.qqCapabilities`:`channels:channelsPage.telegramCapabilities`)}function F(e){return e===`telegram`}function I(e,t,n){return t?n(`channels:channelsPage.reconnectName`,{name:j(e,n)}):F(e)?n(`channels:channelsPage.configureName`,{name:j(e,n)}):n(`channels:channelsPage.connectNameByQRCode`,{name:j(e,n)})}function L(e,t){return t(e===`connecting`?`channels:channelsPage.connecting`:e===`connected`?`channels:channelsPage.online`:e===`reconnecting`?`channels:channelsPage.reconnecting`:e===`failed`?`channels:channelsPage.connectionFailed`:`channels:channelsPage.notConnected`)}function ee(e){return e===`connected`?`green`:e===`connecting`||e===`reconnecting`?`amber`:e===`failed`?`red`:`gray`}function R(e,t){return t(e===`starting`?`channels:channelsPage.requestingLoginQrCode`:e===`waiting`?`channels:channelsPage.scanAndConfirmConnection`:e===`scanned`?`channels:channelsPage.scannedWaitingForConfirmation`:e===`verification_required`?`channels:channelsPage.enterPairingCode`:e===`authorizing`?`channels:channelsPage.confirmingAuthorization`:e===`connecting`?`channels:channelsPage.authorizationSucceededConnecting`:e===`completed`?`channels:channelsPage.channelConnected`:e===`failed`?`channels:channelsPage.connectionFailed`:`channels:channelsPage.cancelled`)}function z(e,t=`zh-CN`){let n=Math.max(0,Math.ceil((new Date(e).getTime()-Date.now())/1e3));return t===`en-US`?n>=60?`in ${Math.ceil(n/60)} min`:`in ${n} sec`:n>=60?`${Math.ceil(n/60)} 分钟后`:`${n} 秒后`}var B=n();function V(e){return e instanceof Error?e.message:String(e)}function te({job:e,onClose:t,onRetry:n,onSubmitCredentials:i,notify:o}){let{t:s,language:u}=r(),[d,y]=(0,k.useState)(``),[x,S]=(0,k.useState)(``),[w,T]=(0,k.useState)(``),[E,D]=(0,k.useState)(``),[O,A]=(0,k.useState)(!1),M=[`completed`,`failed`,`cancelled`].includes(e.status),N=e.manual||F(e.platform)&&e.mode!==`qr`,I=e.platform===`qq`?!!(x.trim()&&(w.trim()||E.trim())):!!E.trim(),L=async()=>{if(I){A(!0);try{await i({...x.trim()?{appId:x.trim()}:{},...w.trim()?{appSecret:w.trim()}:{},...E.trim()?{token:E.trim()}:{}})}finally{A(!1)}}};return(0,B.jsx)(`div`,{className:`modal-backdrop max-[650px]:p-[8px] fixed z-[70] inset-0 grid place-items-center overflow-y-auto bg-[var(--modal-overlay)] [backdrop-filter:blur(3px)] [padding:20px] [overscroll-behavior:contain] [animation:fade-in_var(--d1)_var(--ease-out)]`,onMouseDown:e=>e.target===e.currentTarget&&t(),children:(0,B.jsxs)(`section`,{className:`modal !w-[min(430px,100%)] max-h-[calc(100dvh_-_40px)] overflow-y-auto [overscroll-behavior:contain] [border:1px_solid_var(--surface-highlight)] rounded-[var(--r-md)] bg-[var(--solid)] p-[18px] shadow-[0_26px_70px_-25px_var(--shadow-strong)] [animation:modal-in_var(--d2)_var(--ease-out)] max-[650px]:max-h-[calc(100dvh_-_16px)] feishu-onboard-modal w-[min(470px,100%)]`,children:[(0,B.jsxs)(C,{children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h2`,{children:s(N?`channels:channelsPage.configureName`:`channels:channelsPage.connectNameByQRCode`,{name:j(e.platform,s)})}),(0,B.jsx)(`p`,{children:e.platform===`feishu`?s(`channels:channelsPage.createTheBotAppThroughTheOfficialFeishuAuthorizationPage`):e.platform===`weixin`?s(`channels:channelsPage.signInToPersonalWeChatThroughTencentILinkBot`):e.platform===`qq`?s(`channels:channelsPage.scanWithQQToCreateOfficialBot`):s(`channels:channelsPage.enterBotCredentialsForName`,{name:j(e.platform,s)})})]}),(0,B.jsx)(g,{variant:`ghost`,size:`icon`,"aria-label":s(`channels:channelsPage.closeDialog`),onClick:t,children:(0,B.jsx)(m,{size:17})})]}),N&&!e.id&&!M&&(0,B.jsxs)(`div`,{className:`grid gap-[9px] [margin-top:14px]`,children:[e.platform===`qq`&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(v,{variant:`control`,children:[s(`channels:channelsPage.qqAppId`),(0,B.jsx)(_,{value:x,onChange:e=>S(e.target.value)})]}),(0,B.jsxs)(v,{variant:`control`,children:[s(`channels:channelsPage.qqAppSecret`),(0,B.jsx)(_,{type:`password`,value:w,onChange:e=>T(e.target.value)})]}),(0,B.jsx)(`small`,{className:`text-[var(--text-muted)]`,children:s(`channels:channelsPage.qqCredentialsOrToken`)})]}),(0,B.jsxs)(v,{variant:`control`,children:[s(`channels:channelsPage.botToken`),(0,B.jsx)(_,{type:`password`,value:E,onChange:e=>D(e.target.value)})]}),e.setupUrl&&(0,B.jsx)(b,{children:(0,B.jsx)(`span`,{children:(0,B.jsxs)(`a`,{href:e.setupUrl,target:`_blank`,rel:`noreferrer`,children:[s(`channels:channelsPage.openOfficialSetup`),(0,B.jsx)(a,{size:12})]})})}),(0,B.jsxs)(g,{size:`lg`,disabled:!I||O,onClick:()=>void L(),children:[O?(0,B.jsx)(l,{className:`animate-spin`,size:14}):(0,B.jsx)(c,{size:14}),s(`channels:channelsPage.connect`)]})]}),(!N||e.id||M)&&(0,B.jsxs)(`div`,{className:`feishu-qr-stage [&_img]:w-[248px] [&_img]:max-w-[86%] [&_img]:[border:1px_solid_var(--stroke-soft)] [&_img]:rounded-[var(--r-md)] [&_img]:bg-[var(--lightbox-action-bg)] [&_img]:p-[8px] [&_img]:shadow-[0_12px_30px_-24px_var(--ink-strong)] [&_strong]:text-[13px] [&_p]:max-w-[330px] [&_p]:text-[var(--danger)] [&_p]:text-[12px] [&_p]:leading-[1.5] [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] [&.completed]:text-[var(--success)] [&.failed]:text-[var(--danger)] flex min-h-[min(330px,52dvh)] flex-col items-center justify-center gap-[10px] [margin-top:14px] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-md)] bg-[linear-gradient(180deg,var(--surface-highlight),var(--surface-subtle))] [padding:18px] text-center ${e.status}`,children:[e.qrDataUrl?(0,B.jsx)(`img`,{src:e.qrDataUrl,alt:s(`channels:channelsPage.nameConnectionQRCode`,{name:j(e.platform,s)})}):e.status===`failed`?(0,B.jsx)(p,{size:42}):(0,B.jsx)(l,{className:`animate-spin`,size:32}),(0,B.jsx)(`strong`,{children:N&&!e.id?s(`channels:channelsPage.enterBotCredentialsForName`,{name:j(e.platform,s)}):R(e.status,s)}),e.error&&(0,B.jsx)(`p`,{children:e.error}),e.expireAt&&!M&&(0,B.jsx)(`small`,{children:s(`channels:channelsPage.qrCodeExpiresTime`,{time:z(e.expireAt,u)})})]}),e.needsVerifyCode&&(0,B.jsxs)(`div`,{className:`weixin-verify-code [&_input]:min-w-0 [&_input]:h-[34px] [&_input]:[border:1px_solid_var(--stroke)] [&_input]:rounded-[var(--r-sm)] [&_input]:bg-[var(--solid)] [&_input]:p-[0_10px] [&_input]:text-[var(--text)] [&_input]:font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] [&_input]:text-[13px] [&_input]:tracking-[.08em] grid grid-cols-[minmax(0,1fr)_auto] gap-[7px] [margin-top:9px]`,children:[(0,B.jsx)(`input`,{value:d,onChange:e=>y(e.target.value.replace(/\D/g,``).slice(0,8)),placeholder:s(`channels:channelsPage.enterTheNumberShownOnYourPhone`)}),(0,B.jsx)(g,{size:`lg`,disabled:!d,onClick:async()=>{try{await h(`/api/channels/${e.platform}/onboarding/${encodeURIComponent(e.id||``)}/verify`,{method:`POST`,body:JSON.stringify({code:d})}),o(s(`channels:channelsPage.pairingCodeSubmitted`))}catch(e){o(V(e),`error`)}},children:s(`channels:channelsPage.submitPairingCode`)})]}),e.qrUrl&&!M&&(0,B.jsx)(g,{asChild:!0,variant:`outline`,size:`lg`,className:`[margin-top:9px] no-underline w-full bg-surface-subtle`,children:(0,B.jsxs)(`a`,{href:e.qrUrl,target:`_blank`,rel:`noreferrer`,children:[(0,B.jsx)(a,{size:14}),s(`channels:channelsPage.cannotScanOpenTheSignInLink`)]})}),(0,B.jsxs)(b,{children:[(0,B.jsx)(f,{size:15}),(0,B.jsxs)(`span`,{children:[(0,B.jsx)(`strong`,{children:s(`channels:channelsPage.persistentTwoWayConnection`)}),(0,B.jsx)(`small`,{children:e.platform===`feishu`?s(`channels:channelsPage.webSocketReceivesDirectMessagesAndGroupMentions`):e.platform===`weixin`?s(`channels:channelsPage.tencentILinkContinuouslyPollsDirectMessagesAndSupportsTextAndMediaReplies`):P(e.platform,s)})]})]}),(0,B.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[(0,B.jsx)(g,{variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:t,children:s(M?`channels:channelsPage.off`:`channels:channelsPage.cancel`)}),e.status===`failed`&&(0,B.jsxs)(g,{size:`lg`,onClick:n,children:[(0,B.jsx)(l,{size:14}),s(N?`channels:channelsPage.retry`:`channels:channelsPage.generateANewQRCode`)]})]})]})})}function H(e){return e instanceof Error?e.message:String(e)}function U({notify:e,registerPrimaryAction:t,requestConfirm:n}){let{t:a,language:f}=r(),[m,_]=(0,k.useState)({providers:[],connections:{feishu:null,weixin:null,qq:null,telegram:null},scopes:[],models:[]}),[b,C]=(0,k.useState)(!0),[R,z]=(0,k.useState)(``),[V,U]=(0,k.useState)(`feishu`),W=(0,k.useRef)(V);W.current=V;let[G,K]=(0,k.useState)(null),[q,J]=(0,k.useState)(``),[ne,re]=(0,k.useState)(!1),[Y,X]=(0,k.useState)(``),Z=(0,k.useCallback)(async()=>{try{z(``);let e=await h(`/api/channels`);_(e),X(e.connections?.[V]?.defaultCwd||``)}catch(e){z(H(e))}finally{C(!1)}},[V]);(0,k.useEffect)(()=>{Z()},[Z]),(0,k.useEffect)(()=>{if(!G?.id||[`completed`,`failed`,`cancelled`].includes(G.status))return;let t=G.id,n=window.setInterval(async()=>{try{let r=G.platform,i=await h(`/api/channels/${r}/onboarding/${encodeURIComponent(t)}`);K({...i,platform:r}),i.status===`completed`&&(window.clearInterval(n),e(a(`channels:channelsPage.nameTwoWayConnectionEstablished`,{name:j(r,a)})),await Z(),window.setTimeout(()=>K(null),900))}catch(e){K(t=>t&&{...t,status:`failed`,error:H(e)})}},1500);return()=>window.clearInterval(n)},[G?.id,G?.platform,G?.status,Z,e,a]);let Q=async e=>{if(!(m.connections?.[e]&&!await n({title:a(`channels:channelsPage.reconnectName`,{name:j(e,a)}),message:F(e)?a(`channels:channelsPage.configuringAgainWillReplaceTheCurrentNameConnectionContinue`,{name:j(e,a)}):a(`channels:channelsPage.scanningAgainWillReplaceTheCurrentNameConnectionContinue`,{name:j(e,a)}),confirmLabel:F(e)?a(`channels:channelsPage.continueConfiguration`):a(`channels:channelsPage.continueScanning`),tone:`primary`}))){U(e),J(e),K({platform:e,status:`starting`});try{let t=await h(`/api/channels/${e}/onboarding`,{method:`POST`,body:`{}`});`mode`in t&&t.mode===`manual`?K({...t,platform:e,status:`starting`,manual:!0}):K({...t,platform:e})}catch(t){K({platform:e,status:`failed`,error:H(t)})}finally{J(``)}}};O(t,()=>Q(V));let ie=async()=>{G?.id&&![`completed`,`failed`,`cancelled`].includes(G.status)&&await h(`/api/channels/${G.platform}/onboarding/${encodeURIComponent(G.id)}`,{method:`DELETE`}).catch(()=>{}),K(null)},ae=async(t,n,r)=>{re(!0);try{let i=await h(`/api/channels/${t}`,{method:`PATCH`,body:JSON.stringify(n)});_(i),e(r)}catch(e){z(H(e))}finally{re(!1)}},oe=async t=>{if(!G)return;let n=G;try{let r=await h(`/api/channels/${n.platform}/onboarding`,{method:`POST`,body:JSON.stringify(t)});_(e=>({...e,...r})),W.current===n.platform&&X(r.connections[n.platform]?.defaultCwd||``),K(e=>e===n?null:e),e(a(`channels:channelsPage.nameTwoWayConnectionEstablished`,{name:j(n.platform,a)}))}catch(e){K(t=>t===n?{...n,status:`failed`,error:H(e)}:t)}};if(b)return(0,B.jsxs)(T,{children:[(0,B.jsx)(l,{className:`animate-spin`,size:23}),(0,B.jsx)(`h2`,{children:a(`channels:channelsPage.loadingChannels`)})]});let se=m.connections?.[V]||null,$=m.connections?.[V];return(0,B.jsxs)(B.Fragment,{children:[R&&(0,B.jsxs)(x,{children:[(0,B.jsx)(p,{size:13}),R]}),(0,B.jsx)(`div`,{className:`channels-grid grid grid-cols-[repeat(4,minmax(0,1fr))] gap-[12px] max-[1150px]:grid-cols-[repeat(2,minmax(0,1fr))] max-[650px]:grid-cols-[1fr]`,children:A.map(([e,t])=>{let n=m.connections?.[e]?.status||`idle`,r=ee(n),i=t.Icon;return(0,B.jsxs)(E,{className:`provider-card channel-platform-card cursor-pointer [transition:border-color_var(--d1)_var(--ease-out),box-shadow_var(--d1)_var(--ease-out)] hover:[transform:translateY(-2px)] hover:shadow-[var(--sh-2)] hover:border-[var(--star-border)] [&.selected]:border-[var(--accent-border)] [&.selected]:shadow-[0_10px_30px_-24px_var(--blue),0_0_0_2px_var(--selection-ring)] ${V===e?`selected`:``}`,onClick:()=>{U(e),X(m.connections?.[e]?.defaultCwd||``)},children:[(0,B.jsxs)(`div`,{className:`provider-title [&_h2]:text-[14px] [&_p]:mt-[3px] [&_p]:text-[var(--text-secondary)] [&_p]:text-[12px] grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-[10px] [margin-bottom:10px]`,children:[(0,B.jsx)(`span`,{className:`provider-icon [&_svg]:w-[19px] [&.green]:bg-[var(--success-soft)] [&.green]:text-[var(--success)] [&.blue]:bg-[var(--brand-blue-soft)] [&.blue]:text-[var(--brand-blue-strong)] grid w-[38px] h-[38px] place-items-center rounded-[var(--r-md)] ${t.tone}`,children:(0,B.jsx)(i,{})}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h2`,{children:M(e,a)}),(0,B.jsx)(`p`,{children:N(e,a)})]}),(0,B.jsx)(S,{tone:r,children:L(n,a)})]}),(0,B.jsxs)(v,{variant:`control`,children:[a(`channels:channelsPage.twoWayCapability`),(0,B.jsx)(`span`,{className:`flex min-h-[31px] items-center overflow-hidden [border:1px_solid_var(--stroke)] rounded-[var(--r-xs)] bg-[var(--surface-subtle)] [padding:0_9px] text-[var(--text-tertiary)] text-[12px] font-[400] text-ellipsis whitespace-nowrap`,children:P(e,a)})]}),(0,B.jsxs)(g,{variant:se?`outline`:`default`,size:`lg`,className:`[margin-top:12px] w-full`,disabled:q===e,onClick:t=>{t.stopPropagation(),Q(e)},children:[q===e?(0,B.jsx)(l,{className:`animate-spin`,size:14}):(0,B.jsx)(c,{size:14}),I(e,!!se,a)]})]},e)})}),(0,B.jsxs)(`div`,{className:`two-one-grid max-[900px]:grid-cols-[1fr] grid gap-[12px] ${$?`grid-cols-[minmax(0,2fr)_minmax(260px,1fr)]`:`grid-cols-[1fr]`}`,children:[(0,B.jsxs)(E,{children:[(0,B.jsxs)(`div`,{className:`channel-section-head [&_>_span]:text-[var(--text-muted)] [&_>_span]:text-[13px] flex items-center justify-between gap-[8px] [margin-bottom:8px]`,children:[(0,B.jsx)(w,{title:a(`channels:channelsPage.channelChats`)}),(0,B.jsx)(`span`,{children:a(`channels:channelsPage.countLinked`,{count:m.scopes.length})})]}),m.scopes.length?m.scopes.map(e=>(0,B.jsxs)(`div`,{className:`route-row [&_div]:flex [&_div]:flex-col [&_div]:gap-[3px] [&_strong]:text-[13px] [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-[9px] [border-top:1px_solid_var(--stroke-soft)] [padding:10px_2px]`,children:[(0,B.jsx)(`span`,{className:`route-icon grid w-[27px] h-[27px] place-items-center rounded-[var(--r-sm)] bg-[var(--accent-soft)] text-[var(--star-strong)]`,children:e.platform===`feishu`?(0,B.jsx)(s,{size:14}):e.platform===`telegram`?(0,B.jsx)(u,{size:14}):e.platform===`weixin`?(0,B.jsx)(o,{size:14}):(0,B.jsx)(i,{size:14})}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`strong`,{children:e.title}),(0,B.jsx)(`small`,{children:e.lastMessage?e.lastMessage.slice(0,48):a(`channels:channelsPage.noMessages`)})]}),(0,B.jsx)(`em`,{children:e.updatedAt?y(e.updatedAt,f):``})]},e.key)):(0,B.jsxs)(`div`,{className:`channel-route-empty grid min-h-[130px] place-content-center justify-items-center text-[var(--text-muted)] text-center`,children:[(0,B.jsx)(D,{size:30}),(0,B.jsx)(`strong`,{children:a(`channels:channelsPage.noRoutedChats`)})]})]}),$&&(0,B.jsxs)(E,{children:[(0,B.jsx)(w,{title:a(`channels:channelsPage.connectionSettings`)}),(0,B.jsxs)(v,{variant:`control`,children:[a(`channels:channelsPage.workingDirectory`),(0,B.jsx)(`input`,{value:Y,onChange:e=>X(e.target.value)})]}),(0,B.jsxs)(g,{size:`lg`,disabled:ne||Y===$.defaultCwd,onClick:()=>ae(V,{defaultCwd:Y},a(`channels:channelsPage.connectionSaved`)),children:[(0,B.jsx)(d,{size:14}),a(ne?`channels:channelsPage.saving`:`channels:channelsPage.save`)]})]})]}),G&&(0,B.jsx)(te,{job:G,onClose:ie,onRetry:()=>Q(G.platform),onSubmitCredentials:oe,notify:e})]})}export{U as ChannelsPage};
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{t as r}from"./use-i18n-BSZKFkMb.js";import{t as i}from"./bot-B3TaBp_T.js";import{t as a}from"./external-link-CEQqPcqc.js";import{t as o}from"./message-circle-D-XrK6Ft.js";import{t as s}from"./message-square-SKjZyY3v.js";import{t as c}from"./plus-fQbSqB1n.js";import{t as l}from"./refresh-cw-TbWxTY4K.js";import{t as u}from"./send-Cj-W03w_.js";import{t as d}from"./settings-QX0oWnVK.js";import{t as f}from"./shield-check-Gvek4RJ7.js";import{t as p}from"./triangle-alert-CE1q54ci.js";import{t as m}from"./x-07u4-129.js";import{t as h}from"./api-Dzobr-o_.js";import{t as g}from"./button-CQA36izu.js";import{t as _}from"./input-CvjGYteF.js";import{t as v}from"./field-3bN8nouy.js";import{r as y}from"./format-BRFKAYMT.js";import{a as b,i as x,l as S,n as C,o as w,r as T,t as E}from"./app-primitives-BBXY6U2S.js";import{t as D}from"./StarOrbit-BAAjh-hY.js";import{t as O}from"./usePagePrimaryAction-CWPC0C_f.js";var k=e(t(),1),A=Object.entries({feishu:{Icon:i,tone:`blue`},weixin:{Icon:o,tone:`green`},qq:{Icon:o,tone:`blue`},telegram:{Icon:u,tone:`blue`}});function j(e,t){return t(e===`feishu`?`channels:channelsPage.feishu`:e===`weixin`?`channels:channelsPage.weChat`:e===`qq`?`channels:channelsPage.qq`:`channels:channelsPage.telegram`)}function M(e,t){return t(e===`feishu`?`channels:channelsPage.feishuAppBot`:e===`weixin`?`channels:channelsPage.weChat`:e===`qq`?`channels:channelsPage.qqBot`:`channels:channelsPage.telegramBot`)}function N(e,t){return t(e===`feishu`?`channels:channelsPage.webSocketPersistentConnection`:e===`weixin`?`channels:channelsPage.tencentILinkPersistentConnection`:e===`qq`?`channels:channelsPage.qqPersistentConnection`:`channels:channelsPage.telegramPersistentConnection`)}function P(e,t){return t(e===`feishu`?`channels:channelsPage.feishuCapabilities`:e===`weixin`?`channels:channelsPage.weChatCapabilities`:e===`qq`?`channels:channelsPage.qqCapabilities`:`channels:channelsPage.telegramCapabilities`)}function F(e){return e===`telegram`}function I(e,t,n){return t?n(`channels:channelsPage.reconnectName`,{name:j(e,n)}):F(e)?n(`channels:channelsPage.configureName`,{name:j(e,n)}):n(`channels:channelsPage.connectNameByQRCode`,{name:j(e,n)})}function L(e,t){return t(e===`connecting`?`channels:channelsPage.connecting`:e===`connected`?`channels:channelsPage.online`:e===`reconnecting`?`channels:channelsPage.reconnecting`:e===`failed`?`channels:channelsPage.connectionFailed`:`channels:channelsPage.notConnected`)}function ee(e){return e===`connected`?`green`:e===`connecting`||e===`reconnecting`?`amber`:e===`failed`?`red`:`gray`}function R(e,t){return t(e===`starting`?`channels:channelsPage.requestingLoginQrCode`:e===`waiting`?`channels:channelsPage.scanAndConfirmConnection`:e===`scanned`?`channels:channelsPage.scannedWaitingForConfirmation`:e===`verification_required`?`channels:channelsPage.enterPairingCode`:e===`authorizing`?`channels:channelsPage.confirmingAuthorization`:e===`connecting`?`channels:channelsPage.authorizationSucceededConnecting`:e===`completed`?`channels:channelsPage.channelConnected`:e===`failed`?`channels:channelsPage.connectionFailed`:`channels:channelsPage.cancelled`)}function z(e,t=`zh-CN`){let n=Math.max(0,Math.ceil((new Date(e).getTime()-Date.now())/1e3));return t===`en-US`?n>=60?`in ${Math.ceil(n/60)} min`:`in ${n} sec`:n>=60?`${Math.ceil(n/60)} 分钟后`:`${n} 秒后`}var B=n();function V(e){return e instanceof Error?e.message:String(e)}function te({job:e,onClose:t,onRetry:n,onSubmitCredentials:i,notify:o}){let{t:s,language:u}=r(),[d,y]=(0,k.useState)(``),[x,S]=(0,k.useState)(``),[w,T]=(0,k.useState)(``),[E,D]=(0,k.useState)(``),[O,A]=(0,k.useState)(!1),M=[`completed`,`failed`,`cancelled`].includes(e.status),N=e.manual||F(e.platform)&&e.mode!==`qr`,I=e.platform===`qq`?!!(x.trim()&&(w.trim()||E.trim())):!!E.trim(),L=async()=>{if(I){A(!0);try{await i({...x.trim()?{appId:x.trim()}:{},...w.trim()?{appSecret:w.trim()}:{},...E.trim()?{token:E.trim()}:{}})}finally{A(!1)}}};return(0,B.jsx)(`div`,{className:`modal-backdrop max-[650px]:p-[8px] fixed z-[70] inset-0 grid place-items-center overflow-y-auto bg-[var(--modal-overlay)] [backdrop-filter:blur(3px)] [padding:20px] [overscroll-behavior:contain] [animation:fade-in_var(--d1)_var(--ease-out)]`,onMouseDown:e=>e.target===e.currentTarget&&t(),children:(0,B.jsxs)(`section`,{className:`modal !w-[min(430px,100%)] max-h-[calc(100dvh_-_40px)] overflow-y-auto [overscroll-behavior:contain] [border:1px_solid_var(--surface-highlight)] rounded-[var(--r-md)] bg-[var(--solid)] p-[18px] shadow-[0_26px_70px_-25px_var(--shadow-strong)] [animation:modal-in_var(--d2)_var(--ease-out)] max-[650px]:max-h-[calc(100dvh_-_16px)] feishu-onboard-modal w-[min(470px,100%)]`,children:[(0,B.jsxs)(C,{children:[(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h2`,{children:s(N?`channels:channelsPage.configureName`:`channels:channelsPage.connectNameByQRCode`,{name:j(e.platform,s)})}),(0,B.jsx)(`p`,{children:e.platform===`feishu`?s(`channels:channelsPage.createTheBotAppThroughTheOfficialFeishuAuthorizationPage`):e.platform===`weixin`?s(`channels:channelsPage.signInToPersonalWeChatThroughTencentILinkBot`):e.platform===`qq`?s(`channels:channelsPage.scanWithQQToCreateOfficialBot`):s(`channels:channelsPage.enterBotCredentialsForName`,{name:j(e.platform,s)})})]}),(0,B.jsx)(g,{variant:`ghost`,size:`icon`,"aria-label":s(`channels:channelsPage.closeDialog`),onClick:t,children:(0,B.jsx)(m,{size:17})})]}),N&&!e.id&&!M&&(0,B.jsxs)(`div`,{className:`grid gap-[9px] [margin-top:14px]`,children:[e.platform===`qq`&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(v,{variant:`control`,children:[s(`channels:channelsPage.qqAppId`),(0,B.jsx)(_,{value:x,onChange:e=>S(e.target.value)})]}),(0,B.jsxs)(v,{variant:`control`,children:[s(`channels:channelsPage.qqAppSecret`),(0,B.jsx)(_,{type:`password`,value:w,onChange:e=>T(e.target.value)})]}),(0,B.jsx)(`small`,{className:`text-[var(--text-muted)]`,children:s(`channels:channelsPage.qqCredentialsOrToken`)})]}),(0,B.jsxs)(v,{variant:`control`,children:[s(`channels:channelsPage.botToken`),(0,B.jsx)(_,{type:`password`,value:E,onChange:e=>D(e.target.value)})]}),e.setupUrl&&(0,B.jsx)(b,{children:(0,B.jsx)(`span`,{children:(0,B.jsxs)(`a`,{href:e.setupUrl,target:`_blank`,rel:`noreferrer`,children:[s(`channels:channelsPage.openOfficialSetup`),(0,B.jsx)(a,{size:12})]})})}),(0,B.jsxs)(g,{size:`lg`,disabled:!I||O,onClick:()=>void L(),children:[O?(0,B.jsx)(l,{className:`animate-spin`,size:14}):(0,B.jsx)(c,{size:14}),s(`channels:channelsPage.connect`)]})]}),(!N||e.id||M)&&(0,B.jsxs)(`div`,{className:`feishu-qr-stage [&_img]:w-[248px] [&_img]:max-w-[86%] [&_img]:[border:1px_solid_var(--stroke-soft)] [&_img]:rounded-[var(--r-md)] [&_img]:bg-[var(--lightbox-action-bg)] [&_img]:p-[8px] [&_img]:shadow-[0_12px_30px_-24px_var(--ink-strong)] [&_strong]:text-[13px] [&_p]:max-w-[330px] [&_p]:text-[var(--danger)] [&_p]:text-[12px] [&_p]:leading-[1.5] [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] [&.completed]:text-[var(--success)] [&.failed]:text-[var(--danger)] flex min-h-[min(330px,52dvh)] flex-col items-center justify-center gap-[10px] [margin-top:14px] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-md)] bg-[linear-gradient(180deg,var(--surface-highlight),var(--surface-subtle))] [padding:18px] text-center ${e.status}`,children:[e.qrDataUrl?(0,B.jsx)(`img`,{src:e.qrDataUrl,alt:s(`channels:channelsPage.nameConnectionQRCode`,{name:j(e.platform,s)})}):e.status===`failed`?(0,B.jsx)(p,{size:42}):(0,B.jsx)(l,{className:`animate-spin`,size:32}),(0,B.jsx)(`strong`,{children:N&&!e.id?s(`channels:channelsPage.enterBotCredentialsForName`,{name:j(e.platform,s)}):R(e.status,s)}),e.error&&(0,B.jsx)(`p`,{children:e.error}),e.expireAt&&!M&&(0,B.jsx)(`small`,{children:s(`channels:channelsPage.qrCodeExpiresTime`,{time:z(e.expireAt,u)})})]}),e.needsVerifyCode&&(0,B.jsxs)(`div`,{className:`weixin-verify-code [&_input]:min-w-0 [&_input]:h-[34px] [&_input]:[border:1px_solid_var(--stroke)] [&_input]:rounded-[var(--r-sm)] [&_input]:bg-[var(--solid)] [&_input]:p-[0_10px] [&_input]:text-[var(--text)] [&_input]:font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] [&_input]:text-[13px] [&_input]:tracking-[.08em] grid grid-cols-[minmax(0,1fr)_auto] gap-[7px] [margin-top:9px]`,children:[(0,B.jsx)(`input`,{value:d,onChange:e=>y(e.target.value.replace(/\D/g,``).slice(0,8)),placeholder:s(`channels:channelsPage.enterTheNumberShownOnYourPhone`)}),(0,B.jsx)(g,{size:`lg`,disabled:!d,onClick:async()=>{try{await h(`/api/channels/${e.platform}/onboarding/${encodeURIComponent(e.id||``)}/verify`,{method:`POST`,body:JSON.stringify({code:d})}),o(s(`channels:channelsPage.pairingCodeSubmitted`))}catch(e){o(V(e),`error`)}},children:s(`channels:channelsPage.submitPairingCode`)})]}),e.qrUrl&&!M&&(0,B.jsx)(g,{asChild:!0,variant:`outline`,size:`lg`,className:`[margin-top:9px] no-underline w-full bg-surface-subtle`,children:(0,B.jsxs)(`a`,{href:e.qrUrl,target:`_blank`,rel:`noreferrer`,children:[(0,B.jsx)(a,{size:14}),s(`channels:channelsPage.cannotScanOpenTheSignInLink`)]})}),(0,B.jsxs)(b,{children:[(0,B.jsx)(f,{size:15}),(0,B.jsxs)(`span`,{children:[(0,B.jsx)(`strong`,{children:s(`channels:channelsPage.persistentTwoWayConnection`)}),(0,B.jsx)(`small`,{children:e.platform===`feishu`?s(`channels:channelsPage.webSocketReceivesDirectMessagesAndGroupMentions`):e.platform===`weixin`?s(`channels:channelsPage.tencentILinkContinuouslyPollsDirectMessagesAndSupportsTextAndMediaReplies`):P(e.platform,s)})]})]}),(0,B.jsxs)(`div`,{className:`flex justify-end gap-[8px] [margin-top:18px]`,children:[(0,B.jsx)(g,{variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:t,children:s(M?`channels:channelsPage.off`:`channels:channelsPage.cancel`)}),e.status===`failed`&&(0,B.jsxs)(g,{size:`lg`,onClick:n,children:[(0,B.jsx)(l,{size:14}),s(N?`channels:channelsPage.retry`:`channels:channelsPage.generateANewQRCode`)]})]})]})})}function H(e){return e instanceof Error?e.message:String(e)}function U({notify:e,registerPrimaryAction:t,requestConfirm:n}){let{t:a,language:f}=r(),[m,_]=(0,k.useState)({providers:[],connections:{feishu:null,weixin:null,qq:null,telegram:null},scopes:[],models:[]}),[b,C]=(0,k.useState)(!0),[R,z]=(0,k.useState)(``),[V,U]=(0,k.useState)(`feishu`),W=(0,k.useRef)(V);W.current=V;let[G,K]=(0,k.useState)(null),[q,J]=(0,k.useState)(``),[ne,re]=(0,k.useState)(!1),[Y,X]=(0,k.useState)(``),Z=(0,k.useCallback)(async()=>{try{z(``);let e=await h(`/api/channels`);_(e),X(e.connections?.[V]?.defaultCwd||``)}catch(e){z(H(e))}finally{C(!1)}},[V]);(0,k.useEffect)(()=>{Z()},[Z]),(0,k.useEffect)(()=>{if(!G?.id||[`completed`,`failed`,`cancelled`].includes(G.status))return;let t=G.id,n=window.setInterval(async()=>{try{let r=G.platform,i=await h(`/api/channels/${r}/onboarding/${encodeURIComponent(t)}`);K({...i,platform:r}),i.status===`completed`&&(window.clearInterval(n),e(a(`channels:channelsPage.nameTwoWayConnectionEstablished`,{name:j(r,a)})),await Z(),window.setTimeout(()=>K(null),900))}catch(e){K(t=>t&&{...t,status:`failed`,error:H(e)})}},1500);return()=>window.clearInterval(n)},[G?.id,G?.platform,G?.status,Z,e,a]);let Q=async e=>{if(!(m.connections?.[e]&&!await n({title:a(`channels:channelsPage.reconnectName`,{name:j(e,a)}),message:F(e)?a(`channels:channelsPage.configuringAgainWillReplaceTheCurrentNameConnectionContinue`,{name:j(e,a)}):a(`channels:channelsPage.scanningAgainWillReplaceTheCurrentNameConnectionContinue`,{name:j(e,a)}),confirmLabel:F(e)?a(`channels:channelsPage.continueConfiguration`):a(`channels:channelsPage.continueScanning`),tone:`primary`}))){U(e),J(e),K({platform:e,status:`starting`});try{let t=await h(`/api/channels/${e}/onboarding`,{method:`POST`,body:`{}`});`mode`in t&&t.mode===`manual`?K({...t,platform:e,status:`starting`,manual:!0}):K({...t,platform:e})}catch(t){K({platform:e,status:`failed`,error:H(t)})}finally{J(``)}}};O(t,()=>Q(V));let ie=async()=>{G?.id&&![`completed`,`failed`,`cancelled`].includes(G.status)&&await h(`/api/channels/${G.platform}/onboarding/${encodeURIComponent(G.id)}`,{method:`DELETE`}).catch(()=>{}),K(null)},ae=async(t,n,r)=>{re(!0);try{let i=await h(`/api/channels/${t}`,{method:`PATCH`,body:JSON.stringify(n)});_(i),e(r)}catch(e){z(H(e))}finally{re(!1)}},oe=async t=>{if(!G)return;let n=G;try{let r=await h(`/api/channels/${n.platform}/onboarding`,{method:`POST`,body:JSON.stringify(t)});_(e=>({...e,...r})),W.current===n.platform&&X(r.connections[n.platform]?.defaultCwd||``),K(e=>e===n?null:e),e(a(`channels:channelsPage.nameTwoWayConnectionEstablished`,{name:j(n.platform,a)}))}catch(e){K(t=>t===n?{...n,status:`failed`,error:H(e)}:t)}};if(b)return(0,B.jsxs)(T,{children:[(0,B.jsx)(l,{className:`animate-spin`,size:23}),(0,B.jsx)(`h2`,{children:a(`channels:channelsPage.loadingChannels`)})]});let se=m.connections?.[V]||null,$=m.connections?.[V];return(0,B.jsxs)(B.Fragment,{children:[R&&(0,B.jsxs)(x,{children:[(0,B.jsx)(p,{size:13}),R]}),(0,B.jsx)(`div`,{className:`channels-grid grid grid-cols-[repeat(4,minmax(0,1fr))] gap-[12px] max-[1150px]:grid-cols-[repeat(2,minmax(0,1fr))] max-[650px]:grid-cols-[1fr]`,children:A.map(([e,t])=>{let n=m.connections?.[e]?.status||`idle`,r=ee(n),i=t.Icon;return(0,B.jsxs)(E,{className:`provider-card channel-platform-card cursor-pointer [transition:border-color_var(--d1)_var(--ease-out),box-shadow_var(--d1)_var(--ease-out)] hover:[transform:translateY(-2px)] hover:shadow-[var(--sh-2)] hover:border-[var(--star-border)] [&.selected]:border-[var(--accent-border)] [&.selected]:shadow-[0_10px_30px_-24px_var(--blue),0_0_0_2px_var(--selection-ring)] ${V===e?`selected`:``}`,onClick:()=>{U(e),X(m.connections?.[e]?.defaultCwd||``)},children:[(0,B.jsxs)(`div`,{className:`provider-title [&_h2]:text-[14px] [&_p]:mt-[3px] [&_p]:text-[var(--text-secondary)] [&_p]:text-[12px] grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-[10px] [margin-bottom:10px]`,children:[(0,B.jsx)(`span`,{className:`provider-icon [&_svg]:w-[19px] [&.green]:bg-[var(--success-soft)] [&.green]:text-[var(--success)] [&.blue]:bg-[var(--brand-blue-soft)] [&.blue]:text-[var(--brand-blue-strong)] grid w-[38px] h-[38px] place-items-center rounded-[var(--r-md)] ${t.tone}`,children:(0,B.jsx)(i,{})}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h2`,{children:M(e,a)}),(0,B.jsx)(`p`,{children:N(e,a)})]}),(0,B.jsx)(S,{tone:r,children:L(n,a)})]}),(0,B.jsxs)(v,{variant:`control`,children:[a(`channels:channelsPage.twoWayCapability`),(0,B.jsx)(`span`,{className:`flex min-h-[31px] items-center overflow-hidden [border:1px_solid_var(--stroke)] rounded-[var(--r-xs)] bg-[var(--surface-subtle)] [padding:0_9px] text-[var(--text-tertiary)] text-[12px] font-[400] text-ellipsis whitespace-nowrap`,children:P(e,a)})]}),(0,B.jsxs)(g,{variant:se?`outline`:`default`,size:`lg`,className:`[margin-top:12px] w-full`,disabled:q===e,onClick:t=>{t.stopPropagation(),Q(e)},children:[q===e?(0,B.jsx)(l,{className:`animate-spin`,size:14}):(0,B.jsx)(c,{size:14}),I(e,!!se,a)]})]},e)})}),(0,B.jsxs)(`div`,{className:`two-one-grid max-[900px]:grid-cols-[1fr] grid gap-[12px] ${$?`grid-cols-[minmax(0,2fr)_minmax(260px,1fr)]`:`grid-cols-[1fr]`}`,children:[(0,B.jsxs)(E,{children:[(0,B.jsxs)(`div`,{className:`channel-section-head [&_>_span]:text-[var(--text-muted)] [&_>_span]:text-[13px] flex items-center justify-between gap-[8px] [margin-bottom:8px]`,children:[(0,B.jsx)(w,{title:a(`channels:channelsPage.channelChats`)}),(0,B.jsx)(`span`,{children:a(`channels:channelsPage.countLinked`,{count:m.scopes.length})})]}),m.scopes.length?m.scopes.map(e=>(0,B.jsxs)(`div`,{className:`route-row [&_div]:flex [&_div]:flex-col [&_div]:gap-[3px] [&_strong]:text-[13px] [&_small]:text-[var(--text-muted)] [&_small]:text-[13px] grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-[9px] [border-top:1px_solid_var(--stroke-soft)] [padding:10px_2px]`,children:[(0,B.jsx)(`span`,{className:`route-icon grid w-[27px] h-[27px] place-items-center rounded-[var(--r-sm)] bg-[var(--accent-soft)] text-[var(--star-strong)]`,children:e.platform===`feishu`?(0,B.jsx)(s,{size:14}):e.platform===`telegram`?(0,B.jsx)(u,{size:14}):e.platform===`weixin`?(0,B.jsx)(o,{size:14}):(0,B.jsx)(i,{size:14})}),(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`strong`,{children:e.title}),(0,B.jsx)(`small`,{children:e.lastMessage?e.lastMessage.slice(0,48):a(`channels:channelsPage.noMessages`)})]}),(0,B.jsx)(`em`,{children:e.updatedAt?y(e.updatedAt,f):``})]},e.key)):(0,B.jsxs)(`div`,{className:`channel-route-empty grid min-h-[130px] place-content-center justify-items-center text-[var(--text-muted)] text-center`,children:[(0,B.jsx)(D,{size:30}),(0,B.jsx)(`strong`,{children:a(`channels:channelsPage.noRoutedChats`)})]})]}),$&&(0,B.jsxs)(E,{children:[(0,B.jsx)(w,{title:a(`channels:channelsPage.connectionSettings`)}),(0,B.jsxs)(v,{variant:`control`,children:[a(`channels:channelsPage.workingDirectory`),(0,B.jsx)(`input`,{value:Y,onChange:e=>X(e.target.value)})]}),(0,B.jsxs)(g,{size:`lg`,disabled:ne||Y===$.defaultCwd,onClick:()=>ae(V,{defaultCwd:Y},a(`channels:channelsPage.connectionSaved`)),children:[(0,B.jsx)(d,{size:14}),a(ne?`channels:channelsPage.saving`:`channels:channelsPage.save`)]})]})]}),G&&(0,B.jsx)(te,{job:G,onClose:ie,onRetry:()=>Q(G.platform),onSubmitCredentials:oe,notify:e})]})}export{U as ChannelsPage};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/public-
|
|
2
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{f as t,p as n}from"./vendor-router-CZg2bCPV.js";import{i as r,r as i}from"./vendor-react-DwNgTV1j.js";import{i as a}from"./i18n-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/public-BcTP7F3I.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-router-CZg2bCPV.js","assets/vendor-react-DwNgTV1j.js","assets/use-i18n-BSZKFkMb.js","assets/i18n-7QvbQzOQ.js","assets/index-iBrSU61i.js","assets/index-CdASiNlI.css","assets/storage-BpAqa-YY.js","assets/vendor-state-GkUciC5H.js","assets/utils-C8uzG5AZ.js","assets/vendor-ui-DvrYggeS.js","assets/createLucideIcon-Cd-3GVxJ.js","assets/arrow-left-B8oVrQ2S.js","assets/blocks-Olsdp5Lp.js","assets/refresh-cw-TbWxTY4K.js","assets/settings-2-CXJjXJS9.js","assets/shield-check-Gvek4RJ7.js","assets/http-DphgzWtw.js","assets/abort-signal-f4JsiYKX.js","assets/button-CQA36izu.js","assets/dist-Cfh4kzCK.js","assets/floating-widgets-store-DIy4GSy4.js","assets/api-Dzobr-o_.js","assets/useCustomUiComponents-BH86kuaq.js","assets/useQuery-DdcpUQhO.js","assets/query-Bj-DUNYq.js","assets/queryOptions-Dfvzj6n2.js","assets/dialog-D-ER2p-D.js","assets/dist-BdkTa5R3.js","assets/dist-B_a0oV4U.js","assets/es2015-0QT3KgdC.js","assets/x-07u4-129.js","assets/app-primitives-BBXY6U2S.js","assets/switch-Ci_hmu39.js","assets/dist-TksYpDID.js","assets/tabs-DQYVDdOp.js","assets/dist-DAs5KRGl.js","assets/card-BdUpL1KB.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{f as t,p as n}from"./vendor-router-CZg2bCPV.js";import{i as r,r as i}from"./vendor-react-DwNgTV1j.js";import{i as a}from"./i18n-7QvbQzOQ.js";import{t as o}from"./use-i18n-BSZKFkMb.js";import{i as s,n as c,r as l,t as u}from"./tabs-DQYVDdOp.js";var d=e(r(),1),f=i(),p=(0,d.lazy)(async()=>{let[{CustomUiPage:e}]=await Promise.all([n(()=>import(`./public-BcTP7F3I.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38])),a()]);return{default:e}});function m({appearance:e,notify:n}){let{t:r}=o(),[i,a]=t(),m=i.get(`view`);return(0,f.jsxs)(u,{value:m===`layout`||m===`widgets`?`widgets`:`appearance`,onValueChange:e=>{a(t=>{let n=new URLSearchParams(t);return e===`appearance`?n.delete(`view`):n.set(`view`,e),n},{replace:!0})},className:`min-h-full min-w-0 gap-4`,children:[(0,f.jsxs)(l,{"aria-label":r(`config:interfaceSettings.tabsLabel`),className:`max-w-full`,children:[(0,f.jsx)(s,{value:`appearance`,children:r(`config:interfaceSettings.appearanceTab`)}),(0,f.jsx)(s,{value:`widgets`,children:r(`config:interfaceSettings.customUiTab`)})]}),(0,f.jsx)(c,{value:`appearance`,className:`min-w-0`,children:e}),(0,f.jsx)(c,{value:`widgets`,className:`min-h-0 min-w-0 flex-1`,"data-config-card":`interface-custom-ui`,children:(0,f.jsx)(d.Suspense,{fallback:(0,f.jsx)(`p`,{role:`status`,children:r(`common:webPreview.loading`)}),children:(0,f.jsx)(p,{notify:n})})})]})}export{m as ChatAppearancePage};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Threads-B8ij_QtI.js","assets/vendor-react-DwNgTV1j.js","assets/rolldown-runtime-B0Z9INg1.js","assets/utils-C8uzG5AZ.js","assets/vendor-ui-DvrYggeS.js","assets/use-animation-visibility-_Xe7jeUy.js","assets/react-bits-DQli9s7O.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{p as t}from"./vendor-router-CZg2bCPV.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./use-i18n-
|
|
2
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{p as t}from"./vendor-router-CZg2bCPV.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./use-i18n-BSZKFkMb.js";import{a,i as o,n as s,r as c,t as l}from"./dropdown-menu-DmL4pJTo.js";import{t as u}from"./arrow-left-B8oVrQ2S.js";import{t as d}from"./arrow-right-DqLOhpA2.js";import{i as f,n as p,r as m}from"./web-preview-panel-DVQxVfig.js";import{t as h}from"./earth-Ddy13fHh.js";import{t as g}from"./ellipsis-CfGKfbq6.js";import{t as _}from"./external-link-CEQqPcqc.js";import{t as v}from"./loader-circle-BOwQzHB-.js";import{t as y}from"./web-preview-CQbpHjt1.js";import{t as b}from"./plus-fQbSqB1n.js";import{t as x}from"./refresh-cw-TbWxTY4K.js";import{t as S}from"./button-CQA36izu.js";import{o as C}from"./shortcuts-BO-h6OmP.js";import{t as w}from"./vendor-dockview-Bf3Gg83W.js";import{a as T,i as E,n as D,r as O,t as k}from"./web-preview-BPNd1LUd.js";var A=e(n(),1),j=r(),M=(0,A.lazy)(()=>t(()=>import(`./Threads-B8ij_QtI.js`).then(e=>({default:e.Threads})),__vite__mapDeps([0,1,2,3,4,5,6])));function N(e){return e?{entries:[e],index:0}:{entries:[],index:-1}}function P({params:e,api:t}){let{t:n}=i(),r=y(e?.url||``,window.location.href)||``,[a,o]=(0,A.useState)(()=>t.isVisible),[s,c]=(0,A.useState)(()=>N(r)),[l,f]=(0,A.useState)(0),[m,g]=(0,A.useState)(!!r),b=s.index>=0&&s.entries[s.index]||``;(0,A.useEffect)(()=>{o(t.isVisible);let e=t.onDidVisibilityChange(({isVisible:e})=>o(e));return()=>e.dispose()},[t]),(0,A.useEffect)(()=>{!r||r===b||(c(N(r)),f(0),g(!0))},[b,r]),(0,A.useEffect)(()=>{t.setTitle(p(b,n(`common:webPreview.title`)))},[t,b,n]);let S=(0,A.useCallback)(e=>{let n=y(e,b||window.location.href);!n||n===b||(c(e=>({entries:[...e.entries.slice(0,e.index+1),n],index:e.index+1})),t.updateParameters({url:n}),f(0),g(!0))},[t,b]),C=(0,A.useCallback)(e=>{let n=s.index+e;if(n<0||n>=s.entries.length)return;let r=s.entries[n];c(e=>({...e,index:n})),t.updateParameters({url:r}),g(!0)},[t,s]),w=(0,A.useCallback)(()=>{f(e=>e+1),g(!0)},[]),P=(0,A.useCallback)(()=>{b&&window.open(b,`_blank`,`noopener,noreferrer`)},[b]);return a?b?(0,j.jsx)(`div`,{className:`web-preview-panel [&_>_div]:rounded-[0] w-full h-full min-w-0 min-h-0 overflow-hidden bg-[var(--panel)]`,onFocusCapture:()=>t.setActive(),children:(0,j.jsxs)(k,{className:`rounded-none border-0`,defaultUrl:b,onUrlChange:S,children:[(0,j.jsxs)(O,{children:[(0,j.jsx)(E,{"aria-label":n(`common:webPreview.back`),disabled:s.index<=0,onClick:()=>C(-1),tooltip:n(`common:webPreview.back`),children:(0,j.jsx)(u,{})}),(0,j.jsx)(E,{"aria-label":n(`common:webPreview.forward`),disabled:s.index>=s.entries.length-1,onClick:()=>C(1),tooltip:n(`common:webPreview.forward`),children:(0,j.jsx)(d,{})}),(0,j.jsx)(E,{"aria-label":n(`common:webPreview.reload`),onClick:w,tooltip:n(`common:webPreview.reload`),children:(0,j.jsx)(x,{})}),(0,j.jsxs)(`div`,{className:`web-preview-address [&_>_svg]:w-[14px] [&_>_svg]:h-[14px] [&_>_svg]:flex-none [&_>_svg]:text-[var(--text-muted)] flex min-w-0 flex-1 items-center gap-[7px] [margin:0_3px]`,children:[(0,j.jsx)(h,{"aria-hidden":`true`}),(0,j.jsx)(T,{"aria-label":n(`common:webPreview.url`),placeholder:n(`common:webPreview.urlPlaceholder`)})]}),(0,j.jsx)(E,{"aria-label":n(`common:webPreview.openExternal`),onClick:P,tooltip:n(`common:webPreview.openExternal`),children:(0,j.jsx)(_,{})})]}),(0,j.jsx)(D,{onLoad:()=>g(!1),src:b,title:n(`common:webPreview.title`),loading:m?(0,j.jsxs)(`div`,{className:`absolute inset-0 grid place-items-center overflow-hidden bg-[color-mix(in_srgb,var(--panel)_86%,transparent)] text-[var(--text-muted)] text-[12px] [backdrop-filter:blur(3px)]`,children:[(0,j.jsx)(A.Suspense,{fallback:null,children:(0,j.jsx)(M,{})}),(0,j.jsxs)(`span`,{className:`relative z-[1] flex items-center gap-[8px] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-pill)] bg-[color-mix(in_srgb,var(--panel)_82%,transparent)] [padding:7px_11px] shadow-[var(--sh-1)]`,children:[(0,j.jsx)(v,{className:`animate-spin`,size:18}),(0,j.jsx)(`span`,{children:n(`common:webPreview.loading`)})]})]}):null},`${b}:${l}`),(0,j.jsx)(`div`,{className:`flex-none [border-top:1px_solid_var(--stroke-soft)] bg-[var(--surface-subtle)] [padding:5px_10px] text-[var(--text-muted)] text-[10px] leading-[1.4]`,children:n(`common:webPreview.embedNotice`)})]},`${s.index}:${b}`)}):(0,j.jsxs)(`div`,{className:`web-preview-panel [&_>_div]:rounded-[0] w-full h-full min-w-0 min-h-0 overflow-hidden bg-[var(--panel)] web-preview-empty [&_strong]:text-[var(--text)] [&_strong]:text-[13px] flex flex-col items-center justify-center gap-[8px] text-[var(--text-muted)]`,onFocusCapture:()=>t.setActive(),children:[(0,j.jsx)(h,{size:24}),(0,j.jsx)(`strong`,{children:n(`common:webPreview.title`)})]}):null}function F({compactDock:e,onDockReady:t,getTabContextMenuItems:n,createSession:r}){let{t:u}=i(),d=C(`primaryAction`),p=(0,A.useMemo)(()=>function({activePanel:e}){let t=e?n({panel:e}):[];return(0,j.jsxs)(l,{children:[(0,j.jsx)(a,{asChild:!0,children:(0,j.jsx)(S,{variant:`ghost`,size:`icon`,className:`size-9 rounded-none`,"aria-label":u(`chat:focusSession.chatActions`),title:u(`chat:focusSession.chatActions`),disabled:!e,children:(0,j.jsx)(g,{size:16})})}),(0,j.jsx)(s,{align:`end`,children:t.map((e,t)=>e===`separator`?(0,j.jsx)(o,{},t):typeof e==`object`?(0,j.jsx)(c,{disabled:e.disabled,onSelect:e.action,children:e.label},e.label):null)})]})},[n,u]),h=(0,A.useMemo)(()=>function({group:e}){let t=u(`navigation:pageHeader.newChat`),[n,i]=(0,A.useState)(!1),a=(0,A.useRef)(!1),o=(0,A.useRef)(!0);return(0,A.useEffect)(()=>(o.current=!0,()=>{o.current=!1}),[]),(0,j.jsx)(`button`,{type:`button`,className:`dock-new-session hover:bg-[var(--surface-hover)] hover:text-[var(--text)] focus-visible:relative focus-visible:z-[1] focus-visible:[outline:2px_solid_var(--focus)] focus-visible:[outline-offset:-2px] grid w-[36px] h-[35px] flex-none place-items-center border-0 [border-left:1px_solid_var(--stroke-soft)] bg-transparent text-[var(--text-muted)] cursor-pointer`,title:t,"aria-label":t,"aria-busy":n,disabled:n,onPointerDown:e=>e.stopPropagation(),onClick:t=>{t.stopPropagation(),!a.current&&(a.current=!0,i(!0),r(e).finally(()=>{a.current=!1,o.current&&i(!1)}))},children:n?(0,j.jsx)(v,{size:15,className:`animate-spin`}):(0,j.jsx)(b,{size:15})})},[r,u]),_=(0,A.useMemo)(()=>({session:f,webPreview:P}),[]),y=(0,A.useMemo)(()=>function(){return(0,j.jsx)(m,{onNewSession:()=>r(),newSessionShortcut:d})},[r,d]);return(0,j.jsx)(w,{className:`dockview-theme-light dockview-theme-pisper`,components:_,watermarkComponent:y,leftHeaderActionsComponent:h,rightHeaderActionsComponent:p,onReady:t,getTabContextMenuItems:n,disableFloatingGroups:!0,disableDnd:e,noPanelsOverlay:`watermark`})}export{F as ChatDockView};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./index-IemAtsU4.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./use-i18n-DyzoXal-.js";import{t as a}from"./storage-BpAqa-YY.js";import{a as o,i as s,n as c,r as l,t as ee}from"./dropdown-menu-DmL4pJTo.js";import{t as u}from"./utils-C8uzG5AZ.js";import{t as d}from"./createLucideIcon-Cd-3GVxJ.js";import{n as f,t as te}from"./pin-off-DRR1KEvN.js";import{n as ne,t as p}from"./pin-Dc2zE4cS.js";import{t as re}from"./chevron-right-C3t2Rckj.js";import{t as ie}from"./circle-alert-DCChabnT.js";import{t as ae}from"./ellipsis-CfGKfbq6.js";import{t as oe}from"./message-square-SKjZyY3v.js";import{t as se}from"./panel-left-C_lYsiIA.js";import{t as ce}from"./panel-right-BSUtqUd8.js";import{t as le}from"./pencil-U08v_vV9.js";import{t as m}from"./refresh-cw-TbWxTY4K.js";import{t as ue}from"./trash-2-CNrPOoPR.js";import{r as de}from"./use-mobile-YXncArOq.js";import{t as h}from"./api-BbC90EzT.js";import{t as fe}from"./client-store-CAjI7P8I.js";import{t as g}from"./button-CQA36izu.js";import{t as _}from"./useQuery-DdcpUQhO.js";import{t as pe}from"./startup-queries-C-Xq7N50.js";import{t as v}from"./session-change-summary-api-x1sTdOgD.js";import{i as me,r as he}from"./format-BRFKAYMT.js";import{i as ge,r as y,t as b}from"./app-primitives-BBXY6U2S.js";import{g as _e,h as ve,m as ye,o as be,r as x,s as S,t as C}from"./events-DJwBfKGM.js";import{a as w,c as xe,l as Se,t as T}from"./session-list-DPpH_zbz.js";/* empty css */import{t as Ce}from"./StarOrbit-BAAjh-hY.js";import{t as E}from"./brand-DIEc3fK8.js";var D=d(`panel-bottom`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M3 15h18`,key:`5xshup`}]]),O=d(`panel-top`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M3 9h18`,key:`1pudct`}]]),k=d(`rotate-ccw-clock`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M12 7v5l4 2`,key:`1fdv2h`}]]),A=e(n(),1),j=r();function we({className:e,onPointerMove:t,...n}){let r=(0,A.useCallback)(e=>{let n=e.currentTarget.getBoundingClientRect();e.currentTarget.style.setProperty(`--rb-spotlight-x`,`${e.clientX-n.left}px`),e.currentTarget.style.setProperty(`--rb-spotlight-y`,`${e.clientY-n.top}px`),t?.(e)},[t]);return(0,j.jsx)(`div`,{className:u(`rb-spotlight-card`,e),onPointerMove:r,...n})}function M(e,t){return!e&&!t}function Te(e,t,n,r=`active`){let i=t.trim().toLowerCase(),a=i?e.filter(e=>`${e.name||``} ${e.firstMessage||``} ${e.cwd||``} ${e.model||``}`.toLowerCase().includes(i)):e.filter(e=>!!e.archived==(r===`archived`));return{total:a.length,items:w(a).slice(0,Math.max(0,n))}}function Ee({sessionId:e,lastCompletedAt:t,streaming:n}){let{t:r}=i(),a=(0,A.useRef)(null),[o,s]=(0,A.useState)(!1);(0,A.useEffect)(()=>{let e=a.current;if(!e||o)return;if(!(`IntersectionObserver`in window)){s(!0);return}let t=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(s(!0),t.disconnect())},{rootMargin:`120px`});return t.observe(e),()=>t.disconnect()},[o]);let{data:c}=_({queryKey:[`session-change-summary`,e,t],queryFn:()=>v(e),enabled:o,staleTime:6e4,retry:0,refetchInterval:n&&o?2e4:!1});return c?.status!==`known`||!c.changedFiles?(0,j.jsx)(`span`,{ref:a}):(0,j.jsx)(`span`,{ref:a,className:`ml-1 inline-flex items-center gap-1 tabular-nums before:mr-1 before:content-['·']`,children:r(`chat:chatHistoryPage.changeSummary`,{count:c.changedFiles,added:c.added||0,removed:c.removed||0})})}function N({query:e,navigate:n,notify:r,requestConfirm:u,requestText:d}){let{t:_,language:v}=i(),N=fe(e=>e.client===`mobile-app`),De=de(),[P,F]=(0,A.useState)([]),[I,Oe]=(0,A.useState)(`active`),L=`${I}\0${e}`,[R,z]=(0,A.useState)({filterKey:L,count:50}),B=(0,A.useRef)(0),V=(0,A.useRef)(!1),H=(0,A.useRef)(null),[U,W]=(0,A.useState)(()=>t.getItem(a.activeSession)||``),[G,K]=(0,A.useState)(!0),[q,J]=(0,A.useState)(``);(0,A.useEffect)(()=>{z(e=>e.filterKey===L&&e.count===50?e:{filterKey:L,count:50})},[L]);let Y=(0,A.useCallback)(async(e=!1)=>{let t=++B.current;e||(K(!0),J(``));try{let e=await pe(`sessions`,!0);if(t!==B.current)return;F(w(e.sessions||[]))}catch(e){t===B.current&&J(e instanceof Error?e.message:String(e))}finally{t===B.current&&K(!1)}},[]);(0,A.useEffect)(()=>(document.title=`${_(`chat:chatHistoryPage.chatHistory`)} · ${E}`,()=>{document.title=E}),[_]),(0,A.useEffect)(()=>{Y();let e=e=>{let t=ve(e);if(t){let e=new Set(t.deletedIds);F(t=>t.filter(t=>!e.has(t.id)))}let n=_e(e);n&&F(e=>T(e,n)),Y(!0)},n=e=>W(e.detail?.id||t.getItem(a.activeSession)||``);return window.addEventListener(x,e),window.addEventListener(C,n),()=>{window.removeEventListener(x,e),window.removeEventListener(C,n)}},[Y]),(0,A.useEffect)(()=>{let e=()=>{document.visibilityState===`visible`&&Y(!0)},t=window.setInterval(e,2e4);return document.addEventListener(`visibilitychange`,e),()=>{window.clearInterval(t),document.removeEventListener(`visibilitychange`,e)}},[Y]);let X=R.filterKey===L?R.count:50,Z=(0,A.useMemo)(()=>Te(P,e,X,I),[I,e,P,X]),ke=P.filter(e=>e.archived).length;(0,A.useEffect)(()=>{V.current&&(V.current=!1,H.current?.focus())},[Z.items.length,Z.total]);let Q=(e,t=`open`)=>{ye(e,t),n(`chat`)},Ae=async e=>{let t=await d({title:_(`chat:chatHistoryPage.renameChat`),inputLabel:_(`chat:chatHistoryPage.chatTitle`),value:e.name,confirmLabel:_(`chat:chatHistoryPage.save`)});if(t!==null&&t!==e.name)try{let n=await h(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`PATCH`,body:JSON.stringify({name:t})});F(t=>t.map(t=>t.id===e.id?{...t,name:n.name}:t)),S({id:e.id,name:n.name}),r(_(`chat:chatHistoryPage.chatTitleUpdated`))}catch(e){J(e instanceof Error?e.message:String(e))}},$=async(e,t,n)=>{try{let i=await Se(e.id,t);F(e=>T(e,i)),r(n)}catch(e){J(e instanceof xe?_(`chat:chatHistoryPage.sessionUpdateFailed`):e instanceof Error?e.message:String(e))}},je=async e=>{if(await u({title:_(`chat:chatHistoryPage.deleteChat`),message:_(`chat:chatHistoryPage.deleteChatNameThisAlsoRemovesLocalChatHistory`,{name:e.name}),confirmLabel:_(`chat:chatHistoryPage.delete`)}))try{await h(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`DELETE`});let n=P.filter(t=>t.id!==e.id);if(F(n),U===e.id){let e=n[0]?.id||``;W(e),e?t.setItem(a.activeSession,e):t.removeItem(a.activeSession),be(e)}S({deletedIds:[e.id]}),r(_(`chat:chatHistoryPage.chatDeleted`))}catch(e){J(e instanceof Error?e.message:String(e))}};return(0,j.jsxs)(`div`,{className:`flex min-h-[100%] flex-col gap-[12px]`,children:[(0,j.jsxs)(`div`,{className:`chat-history-summary [&_>_div]:flex [&_>_div]:min-w-0 [&_>_div]:items-center [&_>_div]:gap-[10px] [&_>_div]:text-[var(--star-strong)] [&_>_div_>_span]:flex [&_>_div_>_span]:min-w-0 [&_>_div_>_span]:flex-col [&_>_div_>_span]:gap-[2px] [&_strong]:text-[var(--text)] [&_strong]:text-[13px] [&_small]:text-[var(--text-muted)] [&_small]:text-[11px] flex min-h-[52px] items-center justify-between gap-[12px] [border:1px_solid_var(--stroke)] rounded-[var(--r-md)] bg-[var(--panel)] [padding:8px_10px_8px_14px] shadow-[var(--sh-1)]`,children:[(0,j.jsxs)(`div`,{children:[(0,j.jsx)(k,{size:18}),(0,j.jsxs)(`span`,{children:[(0,j.jsx)(`strong`,{children:_(`chat:chatHistoryPage.countChatHistoryItems`,{count:P.length})}),(0,j.jsx)(`small`,{children:e?_(`chat:chatHistoryPage.countCurrentlyFiltered`,{count:Z.total}):_(`chat:chatHistoryPage.sortedByMostRecentlyUpdated`)})]})]}),(0,j.jsxs)(g,{variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:()=>void Y(),disabled:G,children:[(0,j.jsx)(m,{className:G?`animate-spin`:``,size:14}),_(`chat:chatHistoryPage.refresh`)]})]}),(0,j.jsx)(`div`,{role:`group`,"aria-label":_(`chat:chatHistoryPage.historySections`),className:`flex gap-2`,children:[`active`,`archived`].map(e=>(0,j.jsx)(g,{"aria-pressed":I===e,variant:I===e?`secondary`:`ghost`,className:`min-h-11`,onClick:()=>Oe(e),children:e===`active`?_(`chat:chatHistoryPage.activeChats`):_(`chat:chatHistoryPage.archivedChats`,{count:ke})},e))}),q&&(0,j.jsx)(ge,{children:q}),G&&!P.length?(0,j.jsxs)(y,{children:[(0,j.jsx)(m,{className:`animate-spin`,size:22}),(0,j.jsx)(`h2`,{children:_(`chat:chatHistoryPage.loadingChatHistory`)})]}):Z.total?(0,j.jsxs)(b,{className:`chat-history-list overflow-hidden !p-[5px]`,children:[Z.items.map(t=>(0,j.jsxs)(we,{className:`chat-history-row [.chat-history-row_+_&]:[border-top:1px_solid_var(--stroke-soft)] hover:bg-[var(--surface-subtle)] [&.active]:bg-[var(--surface-subtle)] [&.active]:shadow-[inset_3px_0_var(--brand-blue)] grid grid-cols-[minmax(0,1fr)_auto] items-center rounded-[var(--r-sm)] ${t.id===U?`active`:``}`,children:[(0,j.jsxs)(`button`,{className:`chat-history-open [&_>_svg]:text-[var(--text-muted)] max-[650px]:grid-cols-[32px_minmax(0,1fr)_auto] grid w-full min-w-0 min-h-[72px] grid-cols-[34px_minmax(0,1fr)_auto_auto] items-center gap-[10px] border-0 bg-transparent [padding:9px_10px] text-left`,type:`button`,"aria-label":_(`chat:chatHistoryPage.openChatNamed`,{name:t.name||_(`chat:chatHistoryPage.untitledChat`)}),onClick:()=>Q(t.id),children:[(0,j.jsx)(`span`,{className:`grid w-[32px] h-[32px] place-items-center rounded-[var(--r-sm)] bg-[var(--star-soft)] text-[var(--star-strong)]`,children:(0,j.jsx)(oe,{size:15})}),(0,j.jsxs)(`span`,{className:`chat-history-copy [&_strong]:overflow-hidden [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap [&_>_span]:overflow-hidden [&_>_span]:text-ellipsis [&_>_span]:whitespace-nowrap [&_small]:overflow-hidden [&_small]:text-ellipsis [&_small]:whitespace-nowrap [&_strong]:text-[var(--text)] [&_strong]:text-[13px] [&_>_span]:text-[var(--text-soft)] [&_>_span]:text-[12px] [&_small]:text-[var(--text-muted)] [&_small]:text-[11px] max-[650px]:[&_>_span]:max-w-[54vw] flex min-w-0 flex-col gap-[3px]`,children:[(0,j.jsxs)(`strong`,{title:t.name||_(`chat:chatHistoryPage.untitledChat`),children:[t.pinned&&(0,j.jsx)(p,{className:`mr-1 inline size-3`,"aria-hidden":`true`}),t.name||_(`chat:chatHistoryPage.untitledChat`)]}),(0,j.jsx)(`span`,{children:t.firstMessage||_(`chat:chatHistoryPage.noMessageSummary`)}),(0,j.jsxs)(`small`,{children:[t.needsAttention&&(0,j.jsxs)(`span`,{className:`mr-2 inline-flex items-center gap-1 text-[var(--text-secondary)]`,children:[(0,j.jsx)(ie,{className:`size-3`,"aria-hidden":`true`}),_(`chat:chatHistoryPage.needsAttention`)]}),t.unread&&(0,j.jsx)(`span`,{className:`mr-2 font-semibold text-[var(--brand-blue)]`,children:_(`chat:chatHistoryPage.unread`)}),t.archived&&e.trim()&&(0,j.jsx)(`span`,{className:`mr-2`,children:_(`chat:chatHistoryPage.archived`)}),me(t.cwd,v),t.model&&!/(^|\/)unknown$/i.test(String(t.model))?` · ${String(t.model).split(`/`).at(-1)}`:``,t.streaming?` · ${_(`chat:chatHistoryPage.agentRunning`)}`:``,(0,j.jsx)(Ee,{sessionId:t.id,lastCompletedAt:t.lastCompletedAt,streaming:t.streaming})]})]}),(0,j.jsxs)(`span`,{className:`chat-history-meta [&_strong]:text-[var(--text-soft)] [&_strong]:text-[11px] [&_small]:text-[var(--text-muted)] [&_small]:text-[10px] max-[650px]:hidden flex min-w-[92px] flex-col items-end gap-[3px]`,children:[(0,j.jsx)(`strong`,{children:_(`chat:chatHistoryPage.countMessages`,{count:t.messageCount||0})}),(0,j.jsx)(`small`,{children:he(t.modified,v)})]}),(0,j.jsx)(re,{size:15})]}),(0,j.jsxs)(ee,{children:[(0,j.jsx)(o,{asChild:!0,children:(0,j.jsx)(g,{type:`button`,variant:`ghost`,size:`icon`,className:`mr-2 size-11 shrink-0`,"aria-label":_(`chat:chatHistoryPage.moreActionsForChat`,{name:t.name||_(`chat:chatHistoryPage.untitledChat`)}),children:(0,j.jsx)(ae,{size:18})})}),(0,j.jsxs)(c,{align:`end`,className:`min-w-48`,children:[M(De,N)&&(0,j.jsxs)(j.Fragment,{children:[[[`left`,se,_(`chat:chatHistoryPage.splitToLeft`)],[`right`,ce,_(`chat:chatHistoryPage.splitToRight`)],[`above`,O,_(`chat:chatHistoryPage.splitToTop`)],[`below`,D,_(`chat:chatHistoryPage.splitToBottom`)]].map(([e,n,r])=>(0,j.jsxs)(l,{onSelect:()=>Q(t.id,e),children:[(0,j.jsx)(n,{}),r]},e)),(0,j.jsx)(s,{})]}),(0,j.jsxs)(l,{className:`min-h-11`,onSelect:()=>void Ae(t),children:[(0,j.jsx)(le,{}),_(`chat:chatHistoryPage.renameChat`)]}),(0,j.jsxs)(l,{className:`min-h-11`,onSelect:()=>void $(t,{pinned:!t.pinned},t.pinned?_(`chat:chatHistoryPage.unpinned`):_(`chat:chatHistoryPage.pinned`)),children:[t.pinned?(0,j.jsx)(te,{}):(0,j.jsx)(p,{}),t.pinned?_(`chat:chatHistoryPage.unpin`):_(`chat:chatHistoryPage.pin`)]}),(0,j.jsxs)(l,{className:`min-h-11`,onSelect:()=>void $(t,{archived:!t.archived},t.archived?_(`chat:chatHistoryPage.restored`):_(`chat:chatHistoryPage.movedToArchive`)),children:[t.archived?(0,j.jsx)(f,{}):(0,j.jsx)(ne,{}),t.archived?_(`chat:chatHistoryPage.restore`):_(`chat:chatHistoryPage.archive`)]}),t.unread&&(0,j.jsx)(l,{className:`min-h-11`,onSelect:()=>void $(t,{read:!0},_(`chat:chatHistoryPage.markedRead`)),children:_(`chat:chatHistoryPage.markRead`)}),(0,j.jsx)(s,{}),(0,j.jsxs)(l,{variant:`destructive`,className:`min-h-11`,onSelect:()=>void je(t),children:[(0,j.jsx)(ue,{}),_(`chat:chatHistoryPage.deleteChat`)]})]})]})]},t.id)),Z.total>50&&(0,j.jsx)(`div`,{className:`flex justify-center border-t border-border p-3`,children:Z.total>Z.items.length?(0,j.jsx)(g,{type:`button`,variant:`outline`,className:`min-h-11`,onClick:()=>{let e=X+50;V.current=e>=Z.total,z({filterKey:L,count:e})},children:_(`chat:chatHistoryPage.loadMoreChats`,{shown:Z.items.length,total:Z.total})}):(0,j.jsx)(`p`,{ref:H,tabIndex:-1,role:`status`,className:`py-2 text-sm text-muted-foreground`,children:_(`chat:chatHistoryPage.allChatsShown`,{count:Z.total})})})]}):(0,j.jsxs)(y,{children:[(0,j.jsx)(Ce,{size:48}),(0,j.jsx)(`h2`,{children:e?_(`chat:chatHistoryPage.noMatchingConversations`):I===`archived`?_(`chat:chatHistoryPage.noArchivedChats`):P.length?_(`chat:chatHistoryPage.noActiveChats`):_(`chat:chatHistoryPage.noConversationsHaveLeftAnEchoYet`)}),(0,j.jsx)(`p`,{children:e?_(`chat:chatHistoryPage.tryADifferentSearch`):I===`archived`?_(`chat:chatHistoryPage.archivedChatsAppearHere`):P.length?_(`chat:chatHistoryPage.restoreArchivedChats`):_(`chat:chatHistoryPage.onceAConversationBeginsItWillBeQuietlyGatheredHere`)})]})]})}export{N as ChatHistoryPage};
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./index-iBrSU61i.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./use-i18n-BSZKFkMb.js";import{t as a}from"./storage-BpAqa-YY.js";import{a as o,i as s,n as c,r as l,t as ee}from"./dropdown-menu-DmL4pJTo.js";import{t as u}from"./utils-C8uzG5AZ.js";import{t as d}from"./createLucideIcon-Cd-3GVxJ.js";import{n as f,t as te}from"./pin-off-DRR1KEvN.js";import{n as ne,t as p}from"./pin-Dc2zE4cS.js";import{t as re}from"./chevron-right-C3t2Rckj.js";import{t as ie}from"./circle-alert-DCChabnT.js";import{t as ae}from"./ellipsis-CfGKfbq6.js";import{t as oe}from"./message-square-SKjZyY3v.js";import{t as se}from"./panel-left-C_lYsiIA.js";import{t as ce}from"./panel-right-BSUtqUd8.js";import{t as le}from"./pencil-U08v_vV9.js";import{t as m}from"./refresh-cw-TbWxTY4K.js";import{t as ue}from"./trash-2-CNrPOoPR.js";import{r as de}from"./use-mobile-YXncArOq.js";import{t as h}from"./api-Dzobr-o_.js";import{t as fe}from"./client-store-DPMvgPNS.js";import{t as g}from"./button-CQA36izu.js";import{t as _}from"./useQuery-DdcpUQhO.js";import{t as pe}from"./startup-queries-CAQZvUIR.js";import{t as v}from"./session-change-summary-api-DFgTzTci.js";import{i as me,r as he}from"./format-BRFKAYMT.js";import{i as ge,r as y,t as b}from"./app-primitives-BBXY6U2S.js";import{g as _e,h as ve,m as ye,o as be,r as x,s as S,t as C}from"./events-Bwv6HmwM.js";import{a as w,c as xe,l as Se,t as T}from"./session-list-CMaoK_ZX.js";/* empty css */import{t as Ce}from"./StarOrbit-BAAjh-hY.js";import{t as E}from"./brand-DIEc3fK8.js";var D=d(`panel-bottom`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M3 15h18`,key:`5xshup`}]]),O=d(`panel-top`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M3 9h18`,key:`1pudct`}]]),k=d(`rotate-ccw-clock`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M12 7v5l4 2`,key:`1fdv2h`}]]),A=e(n(),1),j=r();function we({className:e,onPointerMove:t,...n}){let r=(0,A.useCallback)(e=>{let n=e.currentTarget.getBoundingClientRect();e.currentTarget.style.setProperty(`--rb-spotlight-x`,`${e.clientX-n.left}px`),e.currentTarget.style.setProperty(`--rb-spotlight-y`,`${e.clientY-n.top}px`),t?.(e)},[t]);return(0,j.jsx)(`div`,{className:u(`rb-spotlight-card`,e),onPointerMove:r,...n})}function M(e,t){return!e&&!t}function Te(e,t,n,r=`active`){let i=t.trim().toLowerCase(),a=i?e.filter(e=>`${e.name||``} ${e.firstMessage||``} ${e.cwd||``} ${e.model||``}`.toLowerCase().includes(i)):e.filter(e=>!!e.archived==(r===`archived`));return{total:a.length,items:w(a).slice(0,Math.max(0,n))}}function Ee({sessionId:e,lastCompletedAt:t,streaming:n}){let{t:r}=i(),a=(0,A.useRef)(null),[o,s]=(0,A.useState)(!1);(0,A.useEffect)(()=>{let e=a.current;if(!e||o)return;if(!(`IntersectionObserver`in window)){s(!0);return}let t=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(s(!0),t.disconnect())},{rootMargin:`120px`});return t.observe(e),()=>t.disconnect()},[o]);let{data:c}=_({queryKey:[`session-change-summary`,e,t],queryFn:()=>v(e),enabled:o,staleTime:6e4,retry:0,refetchInterval:n&&o?2e4:!1});return c?.status!==`known`||!c.changedFiles?(0,j.jsx)(`span`,{ref:a}):(0,j.jsx)(`span`,{ref:a,className:`ml-1 inline-flex items-center gap-1 tabular-nums before:mr-1 before:content-['·']`,children:r(`chat:chatHistoryPage.changeSummary`,{count:c.changedFiles,added:c.added||0,removed:c.removed||0})})}function N({query:e,navigate:n,notify:r,requestConfirm:u,requestText:d}){let{t:_,language:v}=i(),N=fe(e=>e.client===`mobile-app`),De=de(),[P,F]=(0,A.useState)([]),[I,Oe]=(0,A.useState)(`active`),L=`${I}\0${e}`,[R,z]=(0,A.useState)({filterKey:L,count:50}),B=(0,A.useRef)(0),V=(0,A.useRef)(!1),H=(0,A.useRef)(null),[U,W]=(0,A.useState)(()=>t.getItem(a.activeSession)||``),[G,K]=(0,A.useState)(!0),[q,J]=(0,A.useState)(``);(0,A.useEffect)(()=>{z(e=>e.filterKey===L&&e.count===50?e:{filterKey:L,count:50})},[L]);let Y=(0,A.useCallback)(async(e=!1)=>{let t=++B.current;e||(K(!0),J(``));try{let e=await pe(`sessions`,!0);if(t!==B.current)return;F(w(e.sessions||[]))}catch(e){t===B.current&&J(e instanceof Error?e.message:String(e))}finally{t===B.current&&K(!1)}},[]);(0,A.useEffect)(()=>(document.title=`${_(`chat:chatHistoryPage.chatHistory`)} · ${E}`,()=>{document.title=E}),[_]),(0,A.useEffect)(()=>{Y();let e=e=>{let t=ve(e);if(t){let e=new Set(t.deletedIds);F(t=>t.filter(t=>!e.has(t.id)))}let n=_e(e);n&&F(e=>T(e,n)),Y(!0)},n=e=>W(e.detail?.id||t.getItem(a.activeSession)||``);return window.addEventListener(x,e),window.addEventListener(C,n),()=>{window.removeEventListener(x,e),window.removeEventListener(C,n)}},[Y]),(0,A.useEffect)(()=>{let e=()=>{document.visibilityState===`visible`&&Y(!0)},t=window.setInterval(e,2e4);return document.addEventListener(`visibilitychange`,e),()=>{window.clearInterval(t),document.removeEventListener(`visibilitychange`,e)}},[Y]);let X=R.filterKey===L?R.count:50,Z=(0,A.useMemo)(()=>Te(P,e,X,I),[I,e,P,X]),ke=P.filter(e=>e.archived).length;(0,A.useEffect)(()=>{V.current&&(V.current=!1,H.current?.focus())},[Z.items.length,Z.total]);let Q=(e,t=`open`)=>{ye(e,t),n(`chat`)},Ae=async e=>{let t=await d({title:_(`chat:chatHistoryPage.renameChat`),inputLabel:_(`chat:chatHistoryPage.chatTitle`),value:e.name,confirmLabel:_(`chat:chatHistoryPage.save`)});if(t!==null&&t!==e.name)try{let n=await h(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`PATCH`,body:JSON.stringify({name:t})});F(t=>t.map(t=>t.id===e.id?{...t,name:n.name}:t)),S({id:e.id,name:n.name}),r(_(`chat:chatHistoryPage.chatTitleUpdated`))}catch(e){J(e instanceof Error?e.message:String(e))}},$=async(e,t,n)=>{try{let i=await Se(e.id,t);F(e=>T(e,i)),r(n)}catch(e){J(e instanceof xe?_(`chat:chatHistoryPage.sessionUpdateFailed`):e instanceof Error?e.message:String(e))}},je=async e=>{if(await u({title:_(`chat:chatHistoryPage.deleteChat`),message:_(`chat:chatHistoryPage.deleteChatNameThisAlsoRemovesLocalChatHistory`,{name:e.name}),confirmLabel:_(`chat:chatHistoryPage.delete`)}))try{await h(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`DELETE`});let n=P.filter(t=>t.id!==e.id);if(F(n),U===e.id){let e=n[0]?.id||``;W(e),e?t.setItem(a.activeSession,e):t.removeItem(a.activeSession),be(e)}S({deletedIds:[e.id]}),r(_(`chat:chatHistoryPage.chatDeleted`))}catch(e){J(e instanceof Error?e.message:String(e))}};return(0,j.jsxs)(`div`,{className:`flex min-h-[100%] flex-col gap-[12px]`,children:[(0,j.jsxs)(`div`,{className:`chat-history-summary [&_>_div]:flex [&_>_div]:min-w-0 [&_>_div]:items-center [&_>_div]:gap-[10px] [&_>_div]:text-[var(--star-strong)] [&_>_div_>_span]:flex [&_>_div_>_span]:min-w-0 [&_>_div_>_span]:flex-col [&_>_div_>_span]:gap-[2px] [&_strong]:text-[var(--text)] [&_strong]:text-[13px] [&_small]:text-[var(--text-muted)] [&_small]:text-[11px] flex min-h-[52px] items-center justify-between gap-[12px] [border:1px_solid_var(--stroke)] rounded-[var(--r-md)] bg-[var(--panel)] [padding:8px_10px_8px_14px] shadow-[var(--sh-1)]`,children:[(0,j.jsxs)(`div`,{children:[(0,j.jsx)(k,{size:18}),(0,j.jsxs)(`span`,{children:[(0,j.jsx)(`strong`,{children:_(`chat:chatHistoryPage.countChatHistoryItems`,{count:P.length})}),(0,j.jsx)(`small`,{children:e?_(`chat:chatHistoryPage.countCurrentlyFiltered`,{count:Z.total}):_(`chat:chatHistoryPage.sortedByMostRecentlyUpdated`)})]})]}),(0,j.jsxs)(g,{variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:()=>void Y(),disabled:G,children:[(0,j.jsx)(m,{className:G?`animate-spin`:``,size:14}),_(`chat:chatHistoryPage.refresh`)]})]}),(0,j.jsx)(`div`,{role:`group`,"aria-label":_(`chat:chatHistoryPage.historySections`),className:`flex gap-2`,children:[`active`,`archived`].map(e=>(0,j.jsx)(g,{"aria-pressed":I===e,variant:I===e?`secondary`:`ghost`,className:`min-h-11`,onClick:()=>Oe(e),children:e===`active`?_(`chat:chatHistoryPage.activeChats`):_(`chat:chatHistoryPage.archivedChats`,{count:ke})},e))}),q&&(0,j.jsx)(ge,{children:q}),G&&!P.length?(0,j.jsxs)(y,{children:[(0,j.jsx)(m,{className:`animate-spin`,size:22}),(0,j.jsx)(`h2`,{children:_(`chat:chatHistoryPage.loadingChatHistory`)})]}):Z.total?(0,j.jsxs)(b,{className:`chat-history-list overflow-hidden !p-[5px]`,children:[Z.items.map(t=>(0,j.jsxs)(we,{className:`chat-history-row [.chat-history-row_+_&]:[border-top:1px_solid_var(--stroke-soft)] hover:bg-[var(--surface-subtle)] [&.active]:bg-[var(--surface-subtle)] [&.active]:shadow-[inset_3px_0_var(--brand-blue)] grid grid-cols-[minmax(0,1fr)_auto] items-center rounded-[var(--r-sm)] ${t.id===U?`active`:``}`,children:[(0,j.jsxs)(`button`,{className:`chat-history-open [&_>_svg]:text-[var(--text-muted)] max-[650px]:grid-cols-[32px_minmax(0,1fr)_auto] grid w-full min-w-0 min-h-[72px] grid-cols-[34px_minmax(0,1fr)_auto_auto] items-center gap-[10px] border-0 bg-transparent [padding:9px_10px] text-left`,type:`button`,"aria-label":_(`chat:chatHistoryPage.openChatNamed`,{name:t.name||_(`chat:chatHistoryPage.untitledChat`)}),onClick:()=>Q(t.id),children:[(0,j.jsx)(`span`,{className:`grid w-[32px] h-[32px] place-items-center rounded-[var(--r-sm)] bg-[var(--star-soft)] text-[var(--star-strong)]`,children:(0,j.jsx)(oe,{size:15})}),(0,j.jsxs)(`span`,{className:`chat-history-copy [&_strong]:overflow-hidden [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap [&_>_span]:overflow-hidden [&_>_span]:text-ellipsis [&_>_span]:whitespace-nowrap [&_small]:overflow-hidden [&_small]:text-ellipsis [&_small]:whitespace-nowrap [&_strong]:text-[var(--text)] [&_strong]:text-[13px] [&_>_span]:text-[var(--text-soft)] [&_>_span]:text-[12px] [&_small]:text-[var(--text-muted)] [&_small]:text-[11px] max-[650px]:[&_>_span]:max-w-[54vw] flex min-w-0 flex-col gap-[3px]`,children:[(0,j.jsxs)(`strong`,{title:t.name||_(`chat:chatHistoryPage.untitledChat`),children:[t.pinned&&(0,j.jsx)(p,{className:`mr-1 inline size-3`,"aria-hidden":`true`}),t.name||_(`chat:chatHistoryPage.untitledChat`)]}),(0,j.jsx)(`span`,{children:t.firstMessage||_(`chat:chatHistoryPage.noMessageSummary`)}),(0,j.jsxs)(`small`,{children:[t.needsAttention&&(0,j.jsxs)(`span`,{className:`mr-2 inline-flex items-center gap-1 text-[var(--text-secondary)]`,children:[(0,j.jsx)(ie,{className:`size-3`,"aria-hidden":`true`}),_(`chat:chatHistoryPage.needsAttention`)]}),t.unread&&(0,j.jsx)(`span`,{className:`mr-2 font-semibold text-[var(--brand-blue)]`,children:_(`chat:chatHistoryPage.unread`)}),t.archived&&e.trim()&&(0,j.jsx)(`span`,{className:`mr-2`,children:_(`chat:chatHistoryPage.archived`)}),me(t.cwd,v),t.model&&!/(^|\/)unknown$/i.test(String(t.model))?` · ${String(t.model).split(`/`).at(-1)}`:``,t.streaming?` · ${_(`chat:chatHistoryPage.agentRunning`)}`:``,(0,j.jsx)(Ee,{sessionId:t.id,lastCompletedAt:t.lastCompletedAt,streaming:t.streaming})]})]}),(0,j.jsxs)(`span`,{className:`chat-history-meta [&_strong]:text-[var(--text-soft)] [&_strong]:text-[11px] [&_small]:text-[var(--text-muted)] [&_small]:text-[10px] max-[650px]:hidden flex min-w-[92px] flex-col items-end gap-[3px]`,children:[(0,j.jsx)(`strong`,{children:_(`chat:chatHistoryPage.countMessages`,{count:t.messageCount||0})}),(0,j.jsx)(`small`,{children:he(t.modified,v)})]}),(0,j.jsx)(re,{size:15})]}),(0,j.jsxs)(ee,{children:[(0,j.jsx)(o,{asChild:!0,children:(0,j.jsx)(g,{type:`button`,variant:`ghost`,size:`icon`,className:`mr-2 size-11 shrink-0`,"aria-label":_(`chat:chatHistoryPage.moreActionsForChat`,{name:t.name||_(`chat:chatHistoryPage.untitledChat`)}),children:(0,j.jsx)(ae,{size:18})})}),(0,j.jsxs)(c,{align:`end`,className:`min-w-48`,children:[M(De,N)&&(0,j.jsxs)(j.Fragment,{children:[[[`left`,se,_(`chat:chatHistoryPage.splitToLeft`)],[`right`,ce,_(`chat:chatHistoryPage.splitToRight`)],[`above`,O,_(`chat:chatHistoryPage.splitToTop`)],[`below`,D,_(`chat:chatHistoryPage.splitToBottom`)]].map(([e,n,r])=>(0,j.jsxs)(l,{onSelect:()=>Q(t.id,e),children:[(0,j.jsx)(n,{}),r]},e)),(0,j.jsx)(s,{})]}),(0,j.jsxs)(l,{className:`min-h-11`,onSelect:()=>void Ae(t),children:[(0,j.jsx)(le,{}),_(`chat:chatHistoryPage.renameChat`)]}),(0,j.jsxs)(l,{className:`min-h-11`,onSelect:()=>void $(t,{pinned:!t.pinned},t.pinned?_(`chat:chatHistoryPage.unpinned`):_(`chat:chatHistoryPage.pinned`)),children:[t.pinned?(0,j.jsx)(te,{}):(0,j.jsx)(p,{}),t.pinned?_(`chat:chatHistoryPage.unpin`):_(`chat:chatHistoryPage.pin`)]}),(0,j.jsxs)(l,{className:`min-h-11`,onSelect:()=>void $(t,{archived:!t.archived},t.archived?_(`chat:chatHistoryPage.restored`):_(`chat:chatHistoryPage.movedToArchive`)),children:[t.archived?(0,j.jsx)(f,{}):(0,j.jsx)(ne,{}),t.archived?_(`chat:chatHistoryPage.restore`):_(`chat:chatHistoryPage.archive`)]}),t.unread&&(0,j.jsx)(l,{className:`min-h-11`,onSelect:()=>void $(t,{read:!0},_(`chat:chatHistoryPage.markedRead`)),children:_(`chat:chatHistoryPage.markRead`)}),(0,j.jsx)(s,{}),(0,j.jsxs)(l,{variant:`destructive`,className:`min-h-11`,onSelect:()=>void je(t),children:[(0,j.jsx)(ue,{}),_(`chat:chatHistoryPage.deleteChat`)]})]})]})]},t.id)),Z.total>50&&(0,j.jsx)(`div`,{className:`flex justify-center border-t border-border p-3`,children:Z.total>Z.items.length?(0,j.jsx)(g,{type:`button`,variant:`outline`,className:`min-h-11`,onClick:()=>{let e=X+50;V.current=e>=Z.total,z({filterKey:L,count:e})},children:_(`chat:chatHistoryPage.loadMoreChats`,{shown:Z.items.length,total:Z.total})}):(0,j.jsx)(`p`,{ref:H,tabIndex:-1,role:`status`,className:`py-2 text-sm text-muted-foreground`,children:_(`chat:chatHistoryPage.allChatsShown`,{count:Z.total})})})]}):(0,j.jsxs)(y,{children:[(0,j.jsx)(Ce,{size:48}),(0,j.jsx)(`h2`,{children:e?_(`chat:chatHistoryPage.noMatchingConversations`):I===`archived`?_(`chat:chatHistoryPage.noArchivedChats`):P.length?_(`chat:chatHistoryPage.noActiveChats`):_(`chat:chatHistoryPage.noConversationsHaveLeftAnEchoYet`)}),(0,j.jsx)(`p`,{children:e?_(`chat:chatHistoryPage.tryADifferentSearch`):I===`archived`?_(`chat:chatHistoryPage.archivedChatsAppearHere`):P.length?_(`chat:chatHistoryPage.restoreArchivedChats`):_(`chat:chatHistoryPage.onceAConversationBeginsItWillBeQuietlyGatheredHere`)})]})]})}export{N as ChatHistoryPage};
|