@cuongtran001/kanna 1.86.0 → 1.88.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{BoardsPage-By_7Ivj0.js → BoardsPage-YgBK2XxF.js} +1 -1
- package/dist/client/assets/{BoardsRoutePage-DAKGgePT.js → BoardsRoutePage-_ZGTj7Qf.js} +1 -1
- package/dist/client/assets/ChatPage-CG3eAZ4b.js +98 -0
- package/dist/client/assets/CronJobRow-DxeE6cpv.js +1 -0
- package/dist/client/assets/{CronJobsPage-BEcokVEq.js → CronJobsPage-AugcdwFN.js} +1 -1
- package/dist/client/assets/{CronRunMessage-BtSKkQXo.js → CronRunMessage-Sc0qAbJM.js} +1 -1
- package/dist/client/assets/FilePreviewSheet-DN14l2oM.js +11 -0
- package/dist/client/assets/{FlowSurface-CUMLWNN9.js → FlowSurface-RvOcausK.js} +1 -1
- package/dist/client/assets/GenUIBlock-ZPLKmN7m.js +2 -0
- package/dist/client/assets/InboxPage-xyeA_Ysx.js +1 -0
- package/dist/client/assets/{LocalProjectsPage-hniumkEF.js → LocalProjectsPage-BILUZE_z.js} +1 -1
- package/dist/client/assets/SettingsPage-DWfL887t.js +17 -0
- package/dist/client/assets/{StackBoardsRoutePage-BPn5egoU.js → StackBoardsRoutePage-BYt1hVcf.js} +1 -1
- package/dist/client/assets/{ToolCallMessage-JWoiqu3r.js → ToolCallMessage-HFT-mBF3.js} +2 -2
- package/dist/client/assets/{VChartSurface--Mvw5ypD.js → VChartSurface-YcIUbyxK.js} +1 -1
- package/dist/client/assets/WebhooksPage-7nkT2y4Y.js +4 -0
- package/dist/client/assets/{WorkflowsPage-aHwU4lqS.js → WorkflowsPage-ComVEW1u.js} +1 -1
- package/dist/client/assets/{WorkflowsSection-CQSJAanO.js → WorkflowsSection-CNb9Oel6.js} +1 -1
- package/dist/client/assets/{appSettingsStore-Dixda9pv.js → appSettingsStore-Bb-r9h3F.js} +1 -1
- package/dist/client/assets/{arrow-left-C6Jv2MQu.js → arrow-left-B7D5bJht.js} +1 -1
- package/dist/client/assets/{chart-renderer-Dr2d-qcH.js → chart-renderer-Ci_T3As9.js} +1 -1
- package/dist/client/assets/{chatSounds-BOhOD7yJ.js → chatSounds-DOeyrgtR.js} +1 -1
- package/dist/client/assets/chevron-down-DLliaBUE.js +1 -0
- package/dist/client/assets/chevron-left-DfDNTLoo.js +1 -0
- package/dist/client/assets/{clipboard.adapter-DJtmWdv-.js → clipboard.adapter-yfxuxreI.js} +1 -1
- package/dist/client/assets/{columnStyle-Di4yyNqe.js → columnStyle-DyUGYdV1.js} +1 -1
- package/dist/client/assets/{contextWindow-BVe5VuXr.js → contextWindow-DPmZ3qRN.js} +1 -1
- package/dist/client/assets/copyFeedbackStore-psdvb_Mn.js +1 -0
- package/dist/client/assets/{createScopedStore-mDj2kidV.js → createScopedStore-B3fidDXb.js} +1 -1
- package/dist/client/assets/{cronJobsStore-3EGfoq05.js → cronJobsStore-Bm46PKHg.js} +1 -1
- package/dist/client/assets/{ellipsis-D6ZLJ8Bt.js → ellipsis-DC2JPnb-.js} +1 -1
- package/dist/client/assets/{external-link-CYyGfuID.js → external-link-Bd5PiJ80.js} +1 -1
- package/dist/client/assets/{flow-kinds-Dg8RzyZo.js → flow-kinds-B7sxZPoY.js} +1 -1
- package/dist/client/assets/{folder-DSdFQLHr.js → folder-pTvKyC6f.js} +1 -1
- package/dist/client/assets/{genui-D8LX2vwP.js → genui-B64A8kjW.js} +12 -12
- package/dist/client/assets/{globe-CZDP_Ivs.js → globe--maRQJ5F.js} +1 -1
- package/dist/client/assets/{host-1rSY6vaV.js → host-Cbvb9aH5.js} +1 -1
- package/dist/client/assets/{inbox-D7ZhCrRc.js → inbox-X6oA6QSH.js} +1 -1
- package/dist/client/assets/{inboxStore-DYE_ofs8.js → inboxStore-D4Atqjdr.js} +1 -1
- package/dist/client/assets/index-BbJ1ROls.js +26 -0
- package/dist/client/assets/{info-Bn0vIbkg.js → info-Bn7iNFRm.js} +1 -1
- package/dist/client/assets/{input-DR0TJQAL.js → input-BMWbYdZ1.js} +1 -1
- package/dist/client/assets/kannaStateStore-As2ijGGm.js +1 -0
- package/dist/client/assets/{lexicalToReact-B77ucaDt.js → lexicalToReact-CxK7yyp7.js} +3 -3
- package/dist/client/assets/{log-BNmfNdgz.js → log-CmdD9TiX.js} +1 -1
- package/dist/client/assets/{monitor-CHZm5Rfl.js → monitor-BcleBDg1.js} +1 -1
- package/dist/client/assets/pencil-D4YeJ854.js +1 -0
- package/dist/client/assets/{pendingActionsStore-Bf08zYGx.js → pendingActionsStore-CP1V_HW-.js} +1 -1
- package/dist/client/assets/{play-CD10csdk.js → play-B9yLkX75.js} +1 -1
- package/dist/client/assets/{plus-DdCOEPNU.js → plus-CKw26xgI.js} +1 -1
- package/dist/client/assets/{popover-xPSiHF34.js → popover-D8U-cHT4.js} +1 -1
- package/dist/client/assets/runDetached-DKqMZ_7D.js +1 -0
- package/dist/client/assets/{search-Bt-oBBqa.js → search-nweUdNE_.js} +1 -1
- package/dist/client/assets/{searchable-select-Df_vj348.js → searchable-select-CMdVGTth.js} +1 -1
- package/dist/client/assets/{segmented-control-2JraYQrI.js → segmented-control-Cxnwlh4M.js} +1 -1
- package/dist/client/assets/{select-BjtAvMYO.js → select-DAjcdzYk.js} +1 -1
- package/dist/client/assets/{settings-header-button-CiWFYUnO.js → settings-header-button-Z60j2m9N.js} +1 -1
- package/dist/client/assets/{sidebarPendingActions-DyZf4Crd.js → sidebarPendingActions-CYC1cRgs.js} +1 -1
- package/dist/client/assets/{square-pen-BOapXWCj.js → square-pen-DtwNeUbT.js} +1 -1
- package/dist/client/assets/{state-mark-DaeBzXkj.js → state-mark-BaEyPwk6.js} +1 -1
- package/dist/client/assets/{terminal-Cm0-Uoz_.js → terminal-2JjBZdyn.js} +1 -1
- package/dist/client/assets/{timer.adapter-BYM4X0s3.js → timer.adapter-ItjbE0hX.js} +1 -1
- package/dist/client/assets/{tools-BDCUeim5.js → tools-C8blT0zj.js} +1 -1
- package/dist/client/assets/{triangle-alert-2e8b741k.js → triangle-alert-1eBp4NbW.js} +1 -1
- package/dist/client/assets/useAppGlobalState-D_FoPlPa.js +1 -0
- package/dist/client/assets/useKannaState-C_U90i0A.js +5 -0
- package/dist/client/assets/{useTheme-CbQ1NHf-.js → useTheme-CubuSg2k.js} +1 -1
- package/dist/client/assets/{webhook-Bp6R7DXW.js → webhook-BkCekOVB.js} +1 -1
- package/dist/client/assets/webhookCommands-869EN1G2.js +1 -0
- package/dist/client/assets/{webhooksStore-TbZuVcW0.js → webhooksStore-CaAY84Bx.js} +1 -1
- package/dist/client/index.html +41 -41
- package/package.json +1 -1
- package/src/server/board-store.ts +2 -5
- package/src/server/board-sync.ts +2 -22
- package/src/server/board-worktree-cleanup.ts +2 -4
- package/src/server/claude-session-importer.adapter.ts +2 -7
- package/src/server/http-api-routes.ts +1 -55
- package/src/server/http-dispatcher.ts +0 -8
- package/src/server/http-route-inventory.test.ts +68 -0
- package/src/server/inbox/inbox-registry.ts +2 -4
- package/src/server/plugin-http-routes.ts +1 -16
- package/src/server/plugin-system-acceptance.test.tsx +7 -27
- package/src/server/plugins/plugin-service-host.ts +8 -0
- package/src/server/plugins/plugin-service.ts +4 -7
- package/src/server/project-paths.ts +2 -4
- package/src/server/remote-mcp/remote-mcp-egress-redaction.test.ts +18 -6
- package/src/server/remote-mcp/remote-mcp-egress-redaction.ts +16 -13
- package/src/server/remote-mcp/remote-mcp-parity.test.ts +165 -0
- package/src/server/remote-mcp/remote-mcp-tools.test.ts +2 -2
- package/src/server/server-data-dir.test.ts +26 -0
- package/src/server/tus-uploads.adapter.ts +2 -1
- package/src/server/uploads.adapter.ts +2 -1
- package/src/server/uploads.test.ts +1 -31
- package/src/server/ws-router-ack.ts +4 -2
- package/src/server/ws-router-agent-ctrl.ts +9 -9
- package/src/server/ws-router-boards.test.ts +5 -3
- package/src/server/ws-router-boards.ts +27 -41
- package/src/server/ws-router-chat.ts +20 -20
- package/src/server/ws-router-command-results.test.ts +360 -14
- package/src/server/ws-router-coverage.test.ts +69 -22
- package/src/server/ws-router-diff.ts +1 -2
- package/src/server/ws-router-genui.ts +3 -3
- package/src/server/ws-router-inbox.ts +13 -12
- package/src/server/ws-router-misc.ts +21 -36
- package/src/server/ws-router-observability.ts +4 -4
- package/src/server/ws-router-plugins.test.ts +75 -0
- package/src/server/ws-router-plugins.ts +35 -0
- package/src/server/ws-router-project-files.test.ts +116 -0
- package/src/server/ws-router-project-files.ts +62 -0
- package/src/server/ws-router-project.ts +14 -15
- package/src/server/ws-router-push.ts +8 -8
- package/src/server/ws-router-service-bus.ts +2 -2
- package/src/server/ws-router-settings.ts +50 -72
- package/src/server/ws-router-utils.ts +7 -0
- package/src/server/ws-router-webhooks.ts +11 -9
- package/src/server/ws-router.ts +39 -23
- package/src/shared/app-settings-types.schema.ts +60 -5
- package/src/shared/beacon-config.schema.ts +30 -1
- package/src/shared/commands/board.ts +43 -1
- package/src/shared/commands/chat.ts +42 -1
- package/src/shared/commands/define.ts +5 -6
- package/src/shared/commands/git.ts +2 -1
- package/src/shared/commands/inbox.ts +21 -2
- package/src/shared/commands/index.ts +16 -17
- package/src/shared/commands/plugins.ts +20 -0
- package/src/shared/commands/project.ts +41 -1
- package/src/shared/commands/push.ts +8 -1
- package/src/shared/commands/results/board.ts +253 -0
- package/src/shared/commands/results/chat.ts +25 -0
- package/src/shared/commands/results/common.ts +3 -0
- package/src/shared/commands/results/packages.ts +130 -0
- package/src/shared/commands/results/plugins.ts +12 -0
- package/src/shared/commands/results/project.ts +65 -0
- package/src/shared/commands/settings.ts +40 -2
- package/src/shared/commands/share.ts +11 -1
- package/src/shared/commands/system.ts +34 -1
- package/src/shared/custom-providers.schema.ts +13 -1
- package/src/shared/genui/index.ts +0 -1
- package/src/shared/genui/protocol.ts +3 -6
- package/src/shared/git-diff-types.schema.ts +10 -0
- package/src/shared/http-routes.test.ts +40 -0
- package/src/shared/http-routes.ts +175 -0
- package/src/shared/inbox/types.schema.ts +68 -1
- package/src/shared/mcp-sources/types.schema.ts +29 -1
- package/src/shared/mcp-types.schema.ts +46 -1
- package/src/shared/projectFileUrl.ts +4 -6
- package/src/shared/protocol.ts +4 -14
- package/src/shared/provider-model-types.schema.ts +37 -0
- package/src/shared/service-bus/jetstream-config.schema.ts +15 -1
- package/src/shared/session-share/types.schema.ts +42 -0
- package/src/shared/subagent-types.schema.ts +56 -1
- package/src/shared/tool-call-types.schema.ts +76 -0
- package/src/shared/transcript-types.schema.ts +238 -0
- package/src/shared/types.schema.ts +67 -2
- package/src/shared/webhooks/types.schema.ts +33 -1
- package/src/shared/workflow-types.schema.ts +42 -0
- package/dist/client/assets/ChatPage-bi-OgO2a.js +0 -98
- package/dist/client/assets/CronJobRow-B0gAFMIK.js +0 -1
- package/dist/client/assets/FilePreviewSheet-DMAvKllm.js +0 -11
- package/dist/client/assets/GenUIBlock-FmlVfH_4.js +0 -2
- package/dist/client/assets/InboxPage-CLiYpopJ.js +0 -1
- package/dist/client/assets/KannaSocketProvider-CqrMElAM.js +0 -1
- package/dist/client/assets/SettingsPage-Crjm5XNi.js +0 -17
- package/dist/client/assets/WebhooksPage-Cp4T-s6b.js +0 -4
- package/dist/client/assets/chevron-down-CTYMj3fN.js +0 -1
- package/dist/client/assets/chevron-left-68fbe7Eh.js +0 -1
- package/dist/client/assets/copyFeedbackStore-SJshyDQE.js +0 -1
- package/dist/client/assets/index-BTclaXco.js +0 -26
- package/dist/client/assets/pencil-DWygvDY4.js +0 -1
- package/dist/client/assets/runDetached-Bq7wjL0m.js +0 -1
- package/dist/client/assets/useAppGlobalState-BAP4TW9T.js +0 -1
- package/dist/client/assets/useKannaState-y0STvFp6.js +0 -5
- package/dist/client/assets/webhookCommands-BUWnE82D.js +0 -1
- package/src/server/paths-route.test.ts +0 -78
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-eq8zrF0J.js";import{t as n}from"./jsx-runtime-BdxMnOeJ.js";import{c as r,i,m as a,t as o}from"./log-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-eq8zrF0J.js";import{t as n}from"./jsx-runtime-BdxMnOeJ.js";import{c as r,i,m as a,t as o}from"./log-CmdD9TiX.js";import{a as s,c,i as l,n as u,r as d,s as f,t as p}from"./pendingActionsStore-CP1V_HW-.js";import{t as m}from"./ellipsis-DC2JPnb-.js";import{t as h}from"./plus-CKw26xgI.js";import{t as g}from"./input-BMWbYdZ1.js";import{n as _,r as v,t as y}from"./popover-D8U-cHT4.js";import{o as b,r as x,s as S,t as C}from"./columnStyle-DyUGYdV1.js";var w=e(t(),1),T=[],E=r()(e=>({templates:T,templatesStatus:`loading`,openMenuId:null,picking:!1,renamingId:null,error:null,setTemplates:t=>e({templates:Array.isArray(t)?t:[],templatesStatus:`ready`}),beginTemplatesLoad:()=>e({templatesStatus:`loading`}),failTemplatesLoad:()=>e({templatesStatus:`failed`}),openMenu:t=>e({openMenuId:t}),closeMenu:()=>e({openMenuId:null}),openPicker:()=>e({picking:!0,error:null}),closePicker:()=>e({picking:!1}),startRename:t=>e({renamingId:t,picking:!1,openMenuId:null}),stopRename:()=>e({renamingId:null}),setError:t=>e({error:t})}));function D(e){return e.templates}var O=e(n(),1),k=[`board.update`,`board.duplicate`,`board.saveAsTemplate`,`board.archive`];function A(e){return l(t=>k.some(n=>t.inFlight[p(n,e)]===!0))}function j({ownerKind:e,ownerId:t,ownerName:n,socket:r,onOpenBoard:c}){let l=x(e,t),f=S(b(l)),m=E(D),g=E(e=>e.picking),_=E(e=>e.renamingId),v=E(e=>e.error),y=E(e=>e.templatesStatus),C=p(`board.create`,l),T=d(C),{openPicker:k,closePicker:A,startRename:j,stopRename:N,setError:P,setTemplates:I}=E.getState();(0,w.useEffect)(()=>r.subscribe({type:`boards`,ownerKind:e,ownerId:t},e=>{S.getState().setBoards(x(e.ownerKind,e.ownerId),e.boards)}),[e,t,r]),(0,w.useEffect)(()=>{let e=!1,t=E.getState();return t.templatesStatus!==`ready`&&t.beginTemplatesLoad(),r.command({type:`board.templates.list`}).then(t=>{e||I(t)},a(t=>{o.error(i,`board.templates.list failed`,t),e||E.getState().failTemplatesLoad()})),()=>{e=!0}},[r,I]);let L=(0,w.useCallback)(async e=>{try{return await r.command(e),P(null),!0}catch(e){return P(e instanceof Error?e.message:`That did not work.`),!1}},[r,P]),R=(0,w.useCallback)(n=>{u(C,async()=>{await L({type:`board.create`,ownerKind:e,ownerId:t,title:n?n.name:`Untitled board`,templateId:n?.id??null})&&A()})},[A,C,e,t,L]),z=(0,w.useCallback)((e,t)=>{N();let n=t.trim();n!==``&&u(p(`board.update`,e),()=>L({type:`board.update`,boardId:e,title:n}))},[L,N]),B=g||f.length===0;return(0,O.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col bg-background`,children:[(0,O.jsxs)(`header`,{className:`flex items-end justify-between gap-4 border-b border-border px-6 py-4`,children:[(0,O.jsxs)(`div`,{className:`min-w-0`,children:[(0,O.jsx)(`h1`,{className:`text-lg font-medium leading-tight tracking-[-0.01em] text-foreground`,children:`Boards`}),(0,O.jsxs)(`p`,{className:`truncate text-13 text-muted-foreground`,children:[n,f.length>0?(0,O.jsxs)(`span`,{className:`tabular-nums`,children:[` · `,f.length,` boards`]}):null]})]}),f.length>0?(0,O.jsxs)(s,{size:`sm`,onClick:k,pending:T,children:[(0,O.jsx)(h,{className:`size-3.5`}),`New board`]}):null]}),v?(0,O.jsx)(`p`,{className:`border-b border-border px-6 py-2 text-13 text-destructive-text`,children:v}):null,(0,O.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[B?(0,O.jsx)(F,{templates:m,templatesStatus:y,creating:T,firstRun:f.length===0,onPick:R,onCancel:A}):null,f.length>0?(0,O.jsx)(`ul`,{className:`px-4 py-1`,children:f.map(e=>(0,O.jsx)(M,{board:e,renaming:_===e.id,onOpen:c,onStartRename:j,onRename:z,onCancelRename:N,onCommand:L},e.id))}):null]})]})}function M({board:e,renaming:t,onOpen:n,onStartRename:r,onRename:i,onCancelRename:a,onCommand:o}){let s=A(e.id),c=(0,w.useCallback)(()=>n(e.id),[e.id,n]),l=(0,w.useCallback)(t=>{t.key===`Enter`&&i(e.id,t.currentTarget.value),t.key===`Escape`&&a()},[e.id,a,i]),u=(0,w.useCallback)(t=>i(e.id,t.currentTarget.value),[e.id,i]);return(0,O.jsxs)(`li`,{"aria-busy":s||void 0,className:`group grid grid-cols-[1fr_auto_auto] items-center gap-5 border-b border-border px-3 py-3 last:border-b-0 hover:bg-secondary`,children:[(0,O.jsx)(`div`,{className:`min-w-0`,children:t?(0,O.jsx)(g,{autoFocus:!0,defaultValue:e.title,onKeyDown:l,onBlur:u,className:`h-7 max-w-sm`,"aria-label":`Board name`}):(0,O.jsxs)(`button`,{type:`button`,onClick:c,className:`block w-full text-left`,children:[(0,O.jsx)(`span`,{className:`block truncate text-15 font-semibold tracking-[-0.005em] text-foreground`,children:e.title}),e.description?(0,O.jsx)(`span`,{className:`mt-0.5 block truncate text-13 text-muted-foreground`,children:e.description}):null]})}),(0,O.jsxs)(`div`,{className:`flex items-center gap-4 text-xs text-muted-foreground`,children:[(0,O.jsxs)(`span`,{children:[(0,O.jsx)(`b`,{className:`font-medium tabular-nums text-foreground`,children:e.columnCount}),` columns`]}),(0,O.jsxs)(`span`,{children:[(0,O.jsx)(`b`,{className:`font-medium tabular-nums text-foreground`,children:e.cardCount}),` cards`]})]}),(0,O.jsx)(N,{board:e,pending:s,onStartRename:r,onCommand:o})]})}function N({board:e,pending:t,onStartRename:n,onCommand:r}){let i=E(t=>t.openMenuId===e.id),{openMenu:a,closeMenu:o}=E.getState(),s=(0,w.useCallback)(t=>{t?a(e.id):o()},[e.id,o,a]),l=(0,w.useCallback)(()=>{o(),n(e.id)},[e.id,o,n]),d=(0,w.useCallback)(()=>{o(),u(p(`board.duplicate`,e.id),()=>r({type:`board.duplicate`,boardId:e.id,title:`${e.title} copy`}))},[e.id,e.title,o,r]),h=(0,w.useCallback)(()=>{o(),u(p(`board.saveAsTemplate`,e.id),()=>r({type:`board.saveAsTemplate`,boardId:e.id,name:e.title}))},[e.id,e.title,o,r]),g=(0,w.useCallback)(()=>{o(),u(p(`board.archive`,e.id),()=>r({type:`board.archive`,boardId:e.id}))},[e.id,o,r]);return(0,O.jsxs)(y,{open:i,onOpenChange:s,children:[(0,O.jsx)(v,{asChild:!0,children:(0,O.jsx)(`button`,{type:`button`,"aria-label":`Actions for ${e.title}`,disabled:t,"aria-busy":t||void 0,className:c(`rounded-md px-1.5 py-1 text-muted-foreground opacity-0 transition-opacity group-hover:opacity-100 data-[state=open]:opacity-100`,t&&`opacity-100`),children:t?(0,O.jsx)(f,{className:`size-4`}):(0,O.jsx)(m,{className:`size-4`})})}),(0,O.jsxs)(_,{align:`end`,className:`w-56 p-1`,children:[(0,O.jsx)(P,{onClick:l,children:`Rename`}),(0,O.jsx)(P,{onClick:d,children:`Duplicate structure`}),(0,O.jsx)(P,{onClick:h,children:`Save as template`}),(0,O.jsx)(`div`,{className:`my-1 h-px bg-border`}),(0,O.jsx)(P,{onClick:g,tone:`destructive`,children:`Archive`})]})]})}function P({onClick:e,children:t,tone:n}){return(0,O.jsx)(`button`,{type:`button`,onClick:e,className:c(`flex w-full items-center rounded-sm px-2 py-1.5 text-left text-xs font-medium hover:bg-secondary`,n===`destructive`&&`text-destructive-text`),children:t})}function F({templates:e,templatesStatus:t,creating:n,firstRun:r,onPick:i,onCancel:a}){let o=(0,w.useCallback)(()=>i(null),[i]);return(0,O.jsxs)(`div`,{className:`px-6 py-8`,children:[r?(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(`h2`,{className:`text-15 font-semibold text-foreground`,children:`No boards yet.`}),(0,O.jsx)(`p`,{className:`mt-1 max-w-[58ch] text-sm text-muted-foreground`,children:`A board turns issues into work your agents can pick up. Start from a shape, or import an existing tracker.`})]}):(0,O.jsx)(`h2`,{className:`text-15 font-semibold text-foreground`,children:`Start from a shape`}),(0,O.jsxs)(`div`,{className:`mt-4 max-w-xl rounded-lg border border-border`,"aria-busy":n||void 0,children:[e.map(e=>(0,O.jsx)(I,{template:e,disabled:n,onPick:i},e.id)),t===`loading`?(0,O.jsxs)(`p`,{role:`status`,className:`flex items-center gap-2 px-3.5 py-2.5 text-xs text-muted-foreground`,children:[(0,O.jsx)(f,{}),`Loading templates…`]}):null,t===`failed`?(0,O.jsx)(`p`,{className:`px-3.5 py-2.5 text-xs text-muted-foreground`,children:`Couldn't load templates.`}):null,(0,O.jsx)(`button`,{type:`button`,onClick:o,disabled:n,className:`flex w-full items-center border-t border-border px-3.5 py-2.5 text-left hover:bg-secondary disabled:pointer-events-none disabled:opacity-60`,children:(0,O.jsxs)(`span`,{children:[(0,O.jsx)(`span`,{className:`block text-sm font-medium text-foreground`,children:`Empty board`}),(0,O.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:`Name your own columns`})]})})]}),n?(0,O.jsxs)(`p`,{role:`status`,className:`mt-3 flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,O.jsx)(f,{}),`Creating board…`]}):null,r?null:(0,O.jsx)(s,{variant:`ghost`,size:`sm`,className:`mt-3`,onClick:a,children:`Cancel`})]})}function I({template:e,disabled:t,onPick:n}){let r=(0,w.useCallback)(()=>n(e),[n,e]),i=e.definition.columns;return(0,O.jsxs)(`button`,{type:`button`,onClick:r,disabled:t,className:`flex w-full items-center gap-3 border-b border-border px-3.5 py-2.5 text-left last:border-b-0 hover:bg-secondary disabled:pointer-events-none disabled:opacity-60`,children:[(0,O.jsxs)(`span`,{className:`min-w-0`,children:[(0,O.jsx)(`span`,{className:`block text-sm font-medium text-foreground`,children:e.name}),(0,O.jsx)(`span`,{className:`block truncate text-xs text-muted-foreground`,children:i.map(e=>e.title).join(` · `)})]}),(0,O.jsx)(`span`,{"aria-hidden":!0,className:`ml-auto flex shrink-0 gap-1`,children:i.map((t,n)=>(0,O.jsx)(`span`,{className:c(`size-1.5 rounded-full`,t.colorToken?C[t.colorToken]:`bg-muted-icon`)},`${e.id}-${String(n)}`))})]})}export{j as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-eq8zrF0J.js";import{l as n,u as r}from"./chunk-OB3PAWPO-bMwGZcTr.js";import{t as i}from"./jsx-runtime-BdxMnOeJ.js";import{a}from"./formatters-BGORekd-.js";import{t as o}from"./BoardsPage-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-eq8zrF0J.js";import{l as n,u as r}from"./chunk-OB3PAWPO-bMwGZcTr.js";import{t as i}from"./jsx-runtime-BdxMnOeJ.js";import{a}from"./formatters-BGORekd-.js";import{t as o}from"./BoardsPage-YgBK2XxF.js";var s=e(t(),1),c=e(i(),1);function l({projectId:e}){let t=r(),i=n(),l=[...t.sidebarData.starredProjectGroups,...t.sidebarData.projectGroups].find(t=>t.groupKey===e),u=l?a(l.localPath):`Project`,d=(0,s.useCallback)(t=>{i(`/boards/${e}/${t}`)},[i,e]);return(0,c.jsx)(`div`,{className:`relative flex min-h-0 min-w-0 flex-1 flex-col`,children:(0,c.jsx)(o,{ownerKind:`project`,ownerId:e,ownerName:u,socket:t.socket,onOpenBoard:d})})}export{l as BoardsRoutePage};
|