forge-openclaw-plugin 0.3.17 → 0.3.18
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/assets/{action-bar-D3CEYlj4.js → action-bar-BAZevCEA.js} +1 -1
- package/dist/assets/{activity-page-Ce1pHIu5.js → activity-page-CnT_hnCU.js} +1 -1
- package/dist/assets/{ai-surface-workspace-DEliwOjF.js → ai-surface-workspace-GPZzIIut.js} +1 -1
- package/dist/assets/artifacts-page-Bqjp0L-L.js +2 -0
- package/dist/assets/{atlas-panel-VZOnJa1c.js → atlas-panel-B95nrYpZ.js} +1 -1
- package/dist/assets/{board-DprRipIG.js → board-CGgOvBP9.js} +1 -1
- package/dist/assets/{calendar-page-Zstsn4uG.js → calendar-page-mlr94wIS.js} +1 -1
- package/dist/assets/{calendar-rules-BGIBuEDk.js → calendar-rules-DdxPmBZJ.js} +1 -1
- package/dist/assets/{calendar-week-toolbar-DXFkMkbq.js → calendar-week-toolbar-Cu8V6zv1.js} +1 -1
- package/dist/assets/{charts-C5S0-BL7.js → charts-Cdtn55ol.js} +1 -1
- package/dist/assets/{companion-sync-lab-page-DIPPLFKt.js → companion-sync-lab-page-CJI5jf8W.js} +1 -1
- package/dist/assets/{daily-metrics-dashboard-CG-OOCJz.js → daily-metrics-dashboard-CXESx7bU.js} +1 -1
- package/dist/assets/{define-workbench-box-BEEdtBkQ.js → define-workbench-box-Dbl9W7oE.js} +1 -1
- package/dist/assets/{entity-link-multiselect-BfDAROHB.js → entity-link-multiselect-DZ_jAjs4.js} +1 -1
- package/dist/assets/{entity-note-count-link-BGOiaash.js → entity-note-count-link-FOK_qhcC.js} +1 -1
- package/dist/assets/{entity-notes-surface-DPsJwqQa.js → entity-notes-surface-Dq9dFKjD.js} +1 -1
- package/dist/assets/{execution-board-Dg-2GSKv.js → execution-board-D9hkXKC2.js} +1 -1
- package/dist/assets/{faceted-token-search-DV7MSVYb.js → faceted-token-search-BeShxjkc.js} +1 -1
- package/dist/assets/{flagship-signal-deck-D3wVL3bC.js → flagship-signal-deck-DZx_HEH9.js} +1 -1
- package/dist/assets/{floating-action-menu-BUs382px.js → floating-action-menu-CFrgvQJi.js} +1 -1
- package/dist/assets/{forms-ByKjodjN.js → forms-DhEGHkFR.js} +1 -1
- package/dist/assets/{generic-node-view-BY5dbPXJ.js → generic-node-view-C1kLClIm.js} +1 -1
- package/dist/assets/{goal-detail-page-MYr6j2B4.js → goal-detail-page-BhMrnVQs.js} +1 -1
- package/dist/assets/{goal-dialog-nkdME5Uy.js → goal-dialog-BlZHh3dw.js} +1 -1
- package/dist/assets/{goals-page-BsFeBzU1.js → goals-page-CesC8IkZ.js} +1 -1
- package/dist/assets/{graph-CHVj0Z7n.js → graph-U1J6VkbG.js} +1 -1
- package/dist/assets/{habits-page-wO461EVU.js → habits-page-DHxZSThT.js} +1 -1
- package/dist/assets/{health-boxes-BphMeSJj.js → health-boxes-BZjIqiiG.js} +1 -1
- package/dist/assets/index-CHbe1sy1.css +1 -0
- package/dist/assets/{index-gmPaoLN-.js → index-Dj8q65se.js} +2 -2
- package/dist/assets/{inline-note-fields-BvQwmMAv.js → inline-note-fields-DpmCMAJf.js} +1 -1
- package/dist/assets/{insight-flow-dialog-H_eaOmst.js → insight-flow-dialog-DNIe0sts.js} +1 -1
- package/dist/assets/{insights-page-DINYe3cB.js → insights-page-D_N_MWGu.js} +1 -1
- package/dist/assets/{kanban-boxes-oACOTDYG.js → kanban-boxes-DTDG5UEJ.js} +1 -1
- package/dist/assets/{kanban-page-BGLXH91f.js → kanban-page-DEvIY5IW.js} +1 -1
- package/dist/assets/{knowledge-graph-page-VfMvw5jL.js → knowledge-graph-page-CvXSnnG5.js} +1 -1
- package/dist/assets/{life-force-page-DQPb6UL-.js → life-force-page-CgvUrqQb.js} +1 -1
- package/dist/assets/{life-force-workspace-BJ1aI3JE.js → life-force-workspace-BNeMbRHf.js} +1 -1
- package/dist/assets/{maps-CvEHVkBk.js → maps-Dk9tZqTA.js} +1 -1
- package/dist/assets/{metric-tile-CbEe19Gd.js → metric-tile-DAhX60rg.js} +1 -1
- package/dist/assets/{motion-BibSzp57.js → motion-DeJZhOSA.js} +1 -1
- package/dist/assets/{movement-boxes-dtDYhw5c.js → movement-boxes-BOqU18NH.js} +1 -1
- package/dist/assets/{movement-page-BhmwCHjs.js → movement-page-DCDeUynh.js} +1 -1
- package/dist/assets/{note-markdown-CG8u2d6p.js → note-markdown-Cxj84-0j.js} +1 -1
- package/dist/assets/{note-tags-input-D_conqDO.js → note-tags-input-CP0-EPpE.js} +1 -1
- package/dist/assets/{notes-boxes-BLKucFqW.js → notes-boxes-C7WPT7mf.js} +1 -1
- package/dist/assets/{notes-page-CafVxWjb.js → notes-page-Dll8PIks.js} +1 -1
- package/dist/assets/{open-in-graph-button-DFQ4r6SN.js → open-in-graph-button-BHl16hJP.js} +1 -1
- package/dist/assets/{orbit-map-DsEl3ori.js → orbit-map-De0qpMpY.js} +1 -1
- package/dist/assets/{overview-page-BffcX-pM.js → overview-page-C1RX7dcq.js} +1 -1
- package/dist/assets/{page-hero-U603l9rQ.js → page-hero-DYmFM6-q.js} +1 -1
- package/dist/assets/pill-cluster-ClkmFVFT.js +1 -0
- package/dist/assets/{preference-entity-handoff-button-cPrTpHsV.js → preference-entity-handoff-button-1XXtBsUF.js} +1 -1
- package/dist/assets/{preferences-page-DQjFIOmt.js → preferences-page-OwfPIQwe.js} +1 -1
- package/dist/assets/{project-collections-B9OGHGqm.js → project-collections-DfmkBk9d.js} +1 -1
- package/dist/assets/{project-detail-page-r1Sw2kcO.js → project-detail-page-BC_MNaca.js} +1 -1
- package/dist/assets/{project-dialog-B2_PcXAf.js → project-dialog-BuZdXECa.js} +1 -1
- package/dist/assets/{project-management-hierarchy-page-qLNG8hsh.js → project-management-hierarchy-page-AhEHe60K.js} +1 -1
- package/dist/assets/{project-management-section-nav-DFUlmMEB.js → project-management-section-nav-CnaseOqL.js} +1 -1
- package/dist/assets/{projects-boxes-BA7_XaqX.js → projects-boxes-D0zM8PfY.js} +1 -1
- package/dist/assets/{projects-page-B6ggXWFw.js → projects-page-ltrWfLrA.js} +1 -1
- package/dist/assets/{psyche-behaviors-page-ByWpXlLq.js → psyche-behaviors-page-CPurgDg6.js} +1 -1
- package/dist/assets/{psyche-flashcards-page-B9nSc0mk.js → psyche-flashcards-page-DnUSe-bb.js} +1 -1
- package/dist/assets/{psyche-goal-map-page-BQU7qI88.js → psyche-goal-map-page-uWocO7kZ.js} +1 -1
- package/dist/assets/{psyche-graph-DCeP7r2b.js → psyche-graph-BDszV3UN.js} +1 -1
- package/dist/assets/{psyche-metrics-page-DD2lOP-J.js → psyche-metrics-page-CIJLJTPy.js} +1 -1
- package/dist/assets/{psyche-mode-guide-page-DbtZgnjr.js → psyche-mode-guide-page-uC8L4WvH.js} +1 -1
- package/dist/assets/{psyche-modes-page-3zFJWFQf.js → psyche-modes-page-CtBeRA_3.js} +1 -1
- package/dist/assets/{psyche-page-D5vXYkfB.js → psyche-page-Ds3QDsin.js} +1 -1
- package/dist/assets/{psyche-patterns-page-BneAAeKS.js → psyche-patterns-page-Cvq5WshW.js} +1 -1
- package/dist/assets/{psyche-questionnaire-builder-page-BH1la5C9.js → psyche-questionnaire-builder-page-Cg5Upe6z.js} +1 -1
- package/dist/assets/{psyche-questionnaire-detail-page-DYav634P.js → psyche-questionnaire-detail-page-D4jEnNoh.js} +1 -1
- package/dist/assets/{psyche-questionnaire-run-detail-page-9VaijhJm.js → psyche-questionnaire-run-detail-page-CWoZEY31.js} +1 -1
- package/dist/assets/{psyche-questionnaire-run-page-e1T6k_dS.js → psyche-questionnaire-run-page-Yg_VG2vq.js} +1 -1
- package/dist/assets/{psyche-questionnaires-page-Dyv367z9.js → psyche-questionnaires-page-BqeOJRj7.js} +1 -1
- package/dist/assets/{psyche-report-detail-page-hqxHIXw2.js → psyche-report-detail-page-BtcMQ7mk.js} +1 -1
- package/dist/assets/{psyche-reports-page-DhIfcGbt.js → psyche-reports-page-tagvW0To.js} +1 -1
- package/dist/assets/{psyche-schemas-Cg51Ztxz.js → psyche-schemas-CvRSkI_u.js} +1 -1
- package/dist/assets/{psyche-schemas-beliefs-page-Dgb5o9vx.js → psyche-schemas-beliefs-page-4NL3415v.js} +1 -1
- package/dist/assets/{psyche-screen-time-page-D6MnJGNa.js → psyche-screen-time-page-Bc5AwZHQ.js} +1 -1
- package/dist/assets/{psyche-self-observation-page-C1Vyezbv.js → psyche-self-observation-page-CUrUYbQ_.js} +1 -1
- package/dist/assets/{psyche-values-page-B_JWVw1Q.js → psyche-values-page-BshT2sXE.js} +1 -1
- package/dist/assets/{question-flow-dialog-yMYVk998.js → question-flow-dialog-CPyXCqA-.js} +1 -1
- package/dist/assets/{report-chain-fields-D4NM9a6I.js → report-chain-fields-C0UMLpze.js} +1 -1
- package/dist/assets/{rewards-page-B5-bcL4R.js → rewards-page-D9BzsNPW.js} +1 -1
- package/dist/assets/{scheduling-rules-editor-De72IUax.js → scheduling-rules-editor-DiA6KkQ4.js} +1 -1
- package/dist/assets/{schema-badge-jX28kUa6.js → schema-badge-DURw2eYH.js} +1 -1
- package/dist/assets/{schemas-BlFy-uPR.js → schemas-D_z2C8l1.js} +1 -1
- package/dist/assets/{select-menu-BXv1rsVc.js → select-menu-BUB8__Nx.js} +1 -1
- package/dist/assets/{settings-agents-page-DN_np10S.js → settings-agents-page-Kk98Whcf.js} +1 -1
- package/dist/assets/{settings-bin-page-BM5BpK_i.js → settings-bin-page-BnJ-mgy2.js} +1 -1
- package/dist/assets/{settings-calendar-page-Cg0gSSFs.js → settings-calendar-page-CdhlUnUW.js} +3 -3
- package/dist/assets/{settings-data-page-Dwmp2rLy.js → settings-data-page-BvvuZNbb.js} +1 -1
- package/dist/assets/{settings-logs-page-DQNM21Re.js → settings-logs-page-CrzkXxtZ.js} +1 -1
- package/dist/assets/{settings-mobile-page-DQdiRa-a.js → settings-mobile-page-Dl582NK6.js} +1 -1
- package/dist/assets/{settings-models-page-CAEPpuHF.js → settings-models-page-COoBw28S.js} +1 -1
- package/dist/assets/{settings-page-Cl2KiCFg.js → settings-page-DqnlOCgo.js} +1 -1
- package/dist/assets/{settings-rewards-page-DoIUumhe.js → settings-rewards-page-Cw5QSTjy.js} +1 -1
- package/dist/assets/{settings-section-nav-D_N87IG0.js → settings-section-nav-C1NcWveT.js} +1 -1
- package/dist/assets/{settings-users-page-CPesR62N.js → settings-users-page-0opvepcM.js} +1 -1
- package/dist/assets/{settings-wiki-page-BxMQM5Vi.js → settings-wiki-page-CkpnUkiZ.js} +1 -1
- package/dist/assets/{sleep-page-DUYmQKrg.js → sleep-page-DrS1zs3B.js} +1 -1
- package/dist/assets/{sports-page-Bzi5TF9T.js → sports-page-EVnB_zjB.js} +1 -1
- package/dist/assets/{state-BFyKSULP.js → state-DWw8Jay_.js} +1 -1
- package/dist/assets/{strategies-page-C-T2MZx4.js → strategies-page-COhyv_SH.js} +1 -1
- package/dist/assets/{strategy-detail-page-3tYuSZu-.js → strategy-detail-page-BaCVkvIu.js} +1 -1
- package/dist/assets/{strategy-dialog-BWm4slo4.js → strategy-dialog-DvlPo9WV.js} +1 -1
- package/dist/assets/{surface-BJObZeRw.js → surface-Dg5fauKP.js} +1 -1
- package/dist/assets/{table-CTLroJKN.js → table-CWVROEBP.js} +1 -1
- package/dist/assets/{task-detail-page-ZZOXSpSF.js → task-detail-page-3IeMYIXl.js} +1 -1
- package/dist/assets/{task-dialog-2wy0xI7f.js → task-dialog-B7ZT4KE5.js} +1 -1
- package/dist/assets/{timebox-planning-dialog-C6h0Hp71.js → timebox-planning-dialog-DoZzpEBp.js} +1 -1
- package/dist/assets/{today-boxes-B_TdgSDz.js → today-boxes-BbUNpb16.js} +1 -1
- package/dist/assets/today-page-adKXN2g1.js +1 -0
- package/dist/assets/{training-load-page-B78e1-o-.js → training-load-page-DTYbu9f0.js} +1 -1
- package/dist/assets/{ui-uo_bNP7c.js → ui-CdEDMtXF.js} +1 -1
- package/dist/assets/{use-anchored-overlay-position-BSxFX6Hi.js → use-anchored-overlay-position-Cracjgo6.js} +1 -1
- package/dist/assets/{use-psyche-focus-target-1GLkhYiv.js → use-psyche-focus-target-DvRgu-94.js} +1 -1
- package/dist/assets/{user-badge-C4eZu1e_.js → user-badge-B8hYK6NU.js} +1 -1
- package/dist/assets/{user-select-field-CmKwcbZt.js → user-select-field-akGHK-2t.js} +1 -1
- package/dist/assets/{utility-widgets-B06wQFrd.js → utility-widgets-D4KsKxLT.js} +2 -2
- package/dist/assets/{vendor-B7FKSwHK.js → vendor-y_uz1Wft.js} +1 -1
- package/dist/assets/{vitals-page-BC7QFsm2.js → vitals-page-Cjcxh-kO.js} +1 -1
- package/dist/assets/{weekly-review-page-BjNsNoWj.js → weekly-review-page-CR57efzH.js} +1 -1
- package/dist/assets/{weight-loss-page-BOahGY9r.js → weight-loss-page-Bk7YkB7b.js} +1 -1
- package/dist/assets/{wiki-article-markdown-DO47HnZf.js → wiki-article-markdown-um6gpmGQ.js} +1 -1
- package/dist/assets/{wiki-editor-page-OWRUHl4O.js → wiki-editor-page-DdP5hvjZ.js} +3 -3
- package/dist/assets/{wiki-ingest-history-page-CuHpg2lZ.js → wiki-ingest-history-page-DSTndduq.js} +1 -1
- package/dist/assets/{wiki-ingest-modal-EZ3kX-vA.js → wiki-ingest-modal-PNW3CJ-o.js} +1 -1
- package/dist/assets/{wiki-page-BPV3HIgu.js → wiki-page-CsJlPyQ6.js} +1 -1
- package/dist/assets/{workbench-flow-page-C53KueEz.js → workbench-flow-page-DFtIKgNe.js} +1 -1
- package/dist/assets/{workbench-page-DJ7nT2JQ.js → workbench-page-DEpKjMEv.js} +1 -1
- package/dist/assets/{workout-detail-page-Dhyu0q7o.js → workout-detail-page-BwfEhxA_.js} +2 -2
- package/dist/index.html +8 -8
- package/dist/server/apps/api/migrations/073_artifact_entity_links_repair.sql +24 -0
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
- package/server/migrations/073_artifact_entity_links_repair.sql +24 -0
- package/skills/forge-openclaw/entity_conversation_playbooks.md +9 -6
- package/dist/assets/artifacts-page-BgyFVIVM.js +0 -2
- package/dist/assets/index-CSd8ylsy.css +0 -1
- package/dist/assets/pill-cluster-BYVFNppV.js +0 -1
- package/dist/assets/today-page-Dipns9tl.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as e,aC as b,bX as L,ba as C,bG as X,b7 as F,r as I,aV as O,cz as M}from"./vendor-B7FKSwHK.js";import{i as U}from"./state-BFyKSULP.js";import{A as z}from"./ai-surface-workspace-DEliwOjF.js";import{T as Q,W as V,M as q,S as K,Q as G}from"./utility-widgets-B06wQFrd.js";import{E as _}from"./entity-note-count-link-BGOiaash.js";import{u as H,ad as W,j as x,a0 as Y,b as S,E,B as J,c as Z,d as ee,h as te,C as k,_ as se,Y as ae}from"./index-gmPaoLN-.js";import{S as $}from"./surface-BJObZeRw.js";import{a as ie}from"./life-force-workspace-BJ1aI3JE.js";import{P}from"./page-hero-U603l9rQ.js";import{T as ne,a as re,b as oe,c as le,d as de}from"./today-boxes-B_TdgSDz.js";import"./board-DprRipIG.js";import"./generic-node-view-BY5dbPXJ.js";import"./graph-CHVj0Z7n.js";import"./motion-BibSzp57.js";import"./ui-uo_bNP7c.js";import"./forms-ByKjodjN.js";import"./floating-action-menu-BUs382px.js";import"./charts-C5S0-BL7.js";import"./define-workbench-box-BEEdtBkQ.js";function A(s,t){return t.find(c=>c.id===s.goalId)??null}function ce(s,t){return s.tagIds.map(c=>t.find(d=>d.id===c)).filter(Boolean)}function me(s,t){(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),t())}function ue(s,t){switch(s.status){case"backlog":return{label:t.backlog,action:"start",icon:C};case"focus":return{label:t.focus,action:"start",icon:C};case"in_progress":return{label:t.in_progress,nextStatus:"done",action:"move",icon:X};case"blocked":return{label:t.blocked,action:"start",icon:C};default:return null}}function xe({tasks:s,timeline:t,goals:c,tags:d,notesSummaryByEntity:N,selectedTaskId:j,onSelectTask:r,onMove:p,onStartTask:f}){const{t:o,formatDate:w}=H(),T={backlog:o("common.dailyRunway.actionBacklog"),focus:o("common.dailyRunway.actionFocus"),in_progress:o("common.dailyRunway.actionProgress"),blocked:o("common.dailyRunway.actionBlocked")};return e.jsxs("div",{className:"grid min-w-0 gap-4 2xl:grid-cols-[minmax(0,1.3fr)_minmax(17rem,0.9fr)]",children:[e.jsxs($,{className:"min-w-0 rounded-[24px]",children:[e.jsxs("div",{className:"flex min-w-0 items-start justify-between gap-4",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"font-label text-[11px] uppercase tracking-[0.18em] text-[var(--ui-ink-faint)]",children:o("common.dailyRunway.runwayEyebrow")}),e.jsx(W,{content:"These are the tasks that matter most for today. Click a card to open the task details. Use Start to begin work immediately."})]}),e.jsx("h4",{className:"mt-2 font-display text-2xl text-[var(--ui-ink-strong)]",children:o("common.dailyRunway.runwayTitle")})]}),e.jsx(x,{className:"shrink-0 text-[var(--primary)]",children:o(s.length===1?"common.dailyRunway.prioritiesOne":"common.dailyRunway.prioritiesOther",{count:s.length})})]}),e.jsx("div",{className:"mt-4 grid min-w-0 gap-3",children:s.map((a,y)=>{const l=ue(a,T),i=ce(a,d).slice(0,2),n=A(a,c),h=j===a.id,B=Y(N,"task",a.id).count;return e.jsxs("article",{role:"button",tabIndex:0,"aria-pressed":h,className:Z("grid w-full gap-3 rounded-[22px] border px-4 py-4 text-left transition",h?"border-[var(--primary)]/28 bg-[var(--ui-accent-soft)] shadow-[var(--ui-shadow-soft)]":"border-transparent bg-[var(--ui-surface-1)] hover:border-[var(--ui-border-subtle)] hover:bg-[var(--ui-surface-hover)]"),onClick:()=>r(a.id),onKeyDown:m=>me(m,()=>r(a.id)),children:[e.jsxs("div",{className:"flex min-w-0 items-start justify-between gap-4",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"font-label text-[11px] uppercase tracking-[0.18em] text-[var(--ui-ink-faint)]",children:o("common.dailyRunway.runwayItem",{index:y+1})}),e.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[n?e.jsx(b,{to:`/goals/${n.id}`,className:"min-w-0 max-w-full transition hover:opacity-85",onClick:m=>m.stopPropagation(),children:e.jsx(S,{kind:"goal",label:n.title,compact:!0,gradient:!1})}):e.jsx(S,{kind:"goal",label:o("common.dailyRunway.unassigned"),compact:!0,gradient:!1}),a.time.activeRunCount>0?e.jsx(x,{className:"border-[color-mix(in_srgb,#10b981_24%,transparent)] bg-[color-mix(in_srgb,#10b981_16%,var(--ui-surface-1))] text-[color-mix(in_srgb,#10b981_80%,var(--ui-ink-strong)_20%)]",children:"Live"}):null]}),e.jsx("div",{className:"mt-2",children:e.jsx(b,{to:`/tasks/${a.id}`,className:"block min-w-0 max-w-full transition hover:opacity-85",onClick:m=>m.stopPropagation(),children:e.jsx(E,{kind:"task",label:a.title,variant:"heading",size:"md"})})}),e.jsx("p",{className:"mt-2 text-sm leading-6 text-[var(--ui-ink-soft)]",children:a.description||o("common.dailyRunway.noNote")})]}),e.jsx(x,{className:"shrink-0 self-start",children:a.status.replaceAll("_"," ")})]}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsxs(x,{className:"bg-[var(--primary)]/14 text-[var(--primary)]",children:[a.points," xp"]}),e.jsx(_,{entityType:"task",entityId:a.id,count:B}),a.time.totalCreditedSeconds>0?e.jsxs(x,{tone:"meta",children:[Math.floor(a.time.totalCreditedSeconds/60)," min tracked"]}):null,e.jsx(x,{tone:"meta",children:a.effort}),e.jsx(x,{tone:"meta",children:w(a.dueDate)}),i.map(m=>e.jsx(x,{className:"bg-[var(--ui-surface-2)]",style:{color:m.color},children:m.name},m.id))]}),e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[e.jsx("div",{className:"text-[11px] uppercase tracking-[0.16em] text-[var(--ui-ink-faint)]",children:a.owner}),l?e.jsxs(J,{variant:l.action==="start"?"primary":"secondary",className:"px-3 py-2 text-[11px] uppercase tracking-[0.16em]",onClick:async m=>{if(m.stopPropagation(),l.action==="start"){await f(a.id);return}l.nextStatus&&await p(a.id,l.nextStatus)},children:[e.jsx(l.icon,{className:"mr-2 size-3.5"}),l.label]}):null]})]},a.id)})})]}),e.jsxs($,{className:"min-w-0 rounded-[24px]",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"font-label text-[11px] uppercase tracking-[0.18em] text-[var(--ui-ink-faint)]",children:o("common.dailyRunway.timelineEyebrow")}),e.jsx(W,{content:"This groups today's tasks by status, so you can see what is already moving, what is ready to start, what is blocked, and what is done."})]}),e.jsx("h4",{className:"mt-2 font-display text-2xl text-[var(--ui-ink-strong)]",children:o("common.dailyRunway.timelineTitle")}),e.jsx("div",{className:"mt-4 grid min-w-0 gap-3",children:t.map(a=>e.jsxs($,{muted:!0,className:"min-w-0 overflow-hidden rounded-[20px]",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsx("div",{className:"font-medium text-[var(--ui-ink-strong)]",children:a.label}),e.jsx(x,{tone:"meta",children:a.tasks.length})]}),e.jsxs("div",{className:"mt-3 grid gap-2",children:[a.tasks.slice(0,3).map(y=>{const l=A(y,c);return e.jsxs(b,{to:`/tasks/${y.id}`,className:"flex min-w-0 items-center justify-between gap-3 overflow-hidden rounded-[16px] bg-[var(--ui-surface-1)] px-3 py-3 text-left transition hover:bg-[var(--ui-surface-hover)]",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx(E,{kind:"task",label:y.title,className:"max-w-full",labelClassName:"[overflow-wrap:anywhere]"}),e.jsx("div",{className:"mt-2",children:e.jsx(S,{kind:"goal",label:(l==null?void 0:l.title)??o("common.dailyRunway.unassigned"),compact:!0,gradient:!1})})]}),e.jsx(L,{className:"size-4 shrink-0 text-[var(--ui-ink-faint)]"})]},y.id)}),a.tasks.length===0?e.jsx("div",{className:"text-sm text-[var(--ui-ink-faint)]",children:o("common.dailyRunway.emptyBucket")}):null]})]},a.id))})]})]})}const he=5,g="text-[11px] uppercase tracking-[0.16em] text-[var(--ui-ink-faint)]",u="text-[var(--ui-ink-soft)]",v="text-[var(--ui-ink-strong)]",R="min-w-0 rounded-[20px] border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-2)] shadow-[var(--ui-shadow-soft)]",D="min-w-0 rounded-[18px] border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)]",pe="inline-flex min-h-10 max-w-full shrink-0 items-center justify-center gap-2 rounded-full border border-[var(--ui-border-subtle)] bg-[var(--ui-surface-1)] px-3 py-2 text-xs font-medium text-[var(--ui-ink-medium)] shadow-[var(--ui-shadow-soft)] transition hover:border-[var(--ui-border-strong)] hover:bg-[var(--ui-surface-hover)] hover:text-[var(--ui-ink-strong)]";function fe(){const s=new Date;s.setHours(0,0,0,0);const t=new Date(s);return t.setDate(t.getDate()+1),{start:s,end:t,from:s.toISOString(),to:t.toISOString()}}function ye(s,t){const c=new Date(s.startAt),d=new Date(s.endAt);return c<t.end&&d>t.start}function ge(s){if(s.isAllDay)return"All day";const t=new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit"});return`${t.format(new Date(s.startAt))} - ${t.format(new Date(s.endAt))}`}function Be(){var l;const{t:s}=H(),t=ee(),c=F(),d=I.useMemo(()=>fe(),[]),N=Array.isArray(t.selectedUserIds)?t.selectedUserIds:[],j=U({queryKey:["forge-calendar-overview",d.from,d.to,...N],queryFn:()=>ae({from:d.from,to:d.to,userIds:N})}),r=t.snapshot.today.directive.task,p=t.snapshot.today.milestoneRewards.find(i=>!i.completed)??t.snapshot.today.milestoneRewards[0]??null,f=t.snapshot.risk.blockedTasks[0]??t.snapshot.risk.overdueTasks[0]??null,o=Math.max(0,t.snapshot.metrics.nextLevelXp-t.snapshot.metrics.currentLevelXp),w=I.useMemo(()=>{var i;return(((i=j.data)==null?void 0:i.calendar.events)??[]).filter(n=>!n.deletedAt&&n.status!=="cancelled"&&ye(n,d)).sort((n,h)=>new Date(n.startAt).getTime()-new Date(h.startAt).getTime())},[(l=j.data)==null?void 0:l.calendar.events,d]),T=w.slice(0,he);if(!(t.snapshot.lifeForce!==void 0||r!==null||t.snapshot.overview.topTasks.length>0||t.snapshot.today.dueHabits.length>0||t.snapshot.today.dailyQuests.length>0||t.snapshot.today.milestoneRewards.length>0||w.length>0)&&!j.isLoading)return e.jsxs("div",{className:"grid gap-4",children:[e.jsx(P,{title:"Today",titleText:"Today",description:"Start a task, earn XP, and keep today's work clear.",badge:`${t.snapshot.metrics.weeklyXp} weekly xp`}),e.jsx(te,{eyebrow:s("common.todayPage.heroEyebrow"),title:s("common.todayPage.emptyTitle"),description:s("common.todayPage.emptyDescription"),action:e.jsx(b,{to:"/goals",className:"inline-flex min-h-10 min-w-max shrink-0 items-center justify-center rounded-full bg-[var(--primary)] px-4 py-2 text-sm font-medium whitespace-nowrap text-[var(--ui-ink-on-accent)] transition hover:opacity-90",children:s("common.todayPage.emptyAction")})})]});const y=[{id:"hero",title:"Today",description:"Compact page header.",defaultWidth:12,defaultHeight:2,removable:!1,surfaceChrome:"none",defaultTitleVisible:!1,defaultDescriptionVisible:!1,render:()=>e.jsx(ne,{children:e.jsx(P,{title:"Today",titleText:"Today",description:(r==null?void 0:r.description)??"Start one real task, collect XP, and keep today's work moving.",badge:`${t.snapshot.metrics.weeklyXp} weekly xp`})})},{id:"life-force",title:"Life Force",description:"Instant headroom, AP use today, and tiredness signals.",defaultWidth:12,defaultHeight:3,minWidth:5,render:()=>e.jsx(ie,{selectedUserIds:t.selectedUserIds,fallbackLifeForce:t.snapshot.lifeForce,onRefresh:t.refresh})},{id:"metrics",title:"Live metrics",description:"XP, level, and momentum stay visible but lighter than before.",defaultWidth:5,defaultHeight:4,minWidth:4,render:({compact:i})=>e.jsx(re,{children:e.jsxs("div",{className:"grid gap-3 sm:grid-cols-2",children:[e.jsxs(k,{className:"min-w-0 p-4",children:[e.jsx("div",{className:g,children:"Weekly XP"}),e.jsx("div",{className:"mt-2 break-words font-display text-4xl text-[var(--primary)]",children:t.snapshot.metrics.weeklyXp}),e.jsxs("div",{className:`mt-1 text-sm ${u}`,children:[t.snapshot.metrics.totalXp," total XP"]})]}),e.jsxs(k,{className:"min-w-0 p-4",children:[e.jsx("div",{className:g,children:"Level"}),e.jsx("div",{className:`mt-2 font-display text-4xl ${v}`,children:t.snapshot.metrics.level}),e.jsxs("div",{className:`mt-1 text-sm ${u}`,children:[o," xp to the next level"]}),i?null:e.jsx("div",{className:"mt-3",children:e.jsx(se,{value:t.snapshot.metrics.currentLevelXp/t.snapshot.metrics.nextLevelXp*100,tone:"tertiary"})})]}),e.jsxs(k,{className:"min-w-0 p-4",children:[e.jsx("div",{className:g,children:"Momentum"}),e.jsxs("div",{className:`mt-2 font-display text-4xl ${v}`,children:[t.snapshot.metrics.momentumScore,"%"]}),e.jsxs("div",{className:`mt-1 text-sm ${u}`,children:[t.snapshot.metrics.streakDays," day streak"]})]}),e.jsxs(k,{className:"min-w-0 p-4",children:[e.jsx("div",{className:g,children:"Next reward"}),e.jsx("div",{className:`mt-2 break-words text-base font-semibold ${v}`,children:(p==null?void 0:p.title)??"Keep showing up"}),e.jsx("div",{className:`mt-1 text-sm ${u}`,children:(p==null?void 0:p.progressLabel)??"The next visible win comes from a task completion or aligned habit check-in."})]})]})})},{id:"runway",title:"Runway",description:"The execution lane itself can be widened or narrowed.",defaultWidth:7,defaultHeight:6,minWidth:5,render:()=>e.jsx(oe,{children:e.jsx(xe,{tasks:t.snapshot.overview.topTasks,timeline:t.snapshot.today.timeline,goals:t.snapshot.goals,tags:t.snapshot.tags,notesSummaryByEntity:t.snapshot.dashboard.notesSummaryByEntity,selectedTaskId:(r==null?void 0:r.id)??null,onSelectTask:i=>c(`/tasks/${i}`),onStartTask:async i=>{await t.startTaskNow(i)},onMove:async(i,n)=>{await t.patchTaskStatus(i,n)}})})},{id:"calendar",title:"Calendar",description:"Today's events stay grouped with their results instead of splitting search from outcome.",defaultWidth:5,defaultHeight:5,minWidth:4,render:({compact:i})=>e.jsx(le,{children:e.jsxs("div",{className:"grid gap-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[e.jsx("div",{className:"inline-flex size-10 shrink-0 items-center justify-center rounded-2xl bg-[var(--primary)]/14 text-[var(--primary)]",children:e.jsx(O,{className:"size-4"})}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:g,children:"Today's calendar"}),e.jsx("div",{className:`text-sm font-semibold ${v}`,children:new Intl.DateTimeFormat(void 0,{weekday:"short",month:"short",day:"numeric"}).format(d.start)}),e.jsxs("div",{className:`text-sm ${u}`,children:[w.length," event",w.length===1?"":"s"]})]})]}),e.jsxs(b,{to:"/calendar",className:pe,children:["Open calendar",e.jsx(M,{className:"size-3.5"})]})]}),w.length===0?e.jsx("div",{className:`${D} px-4 py-4 text-sm ${u}`,children:"Nothing is scheduled yet for today."}):T.map(n=>e.jsxs("button",{type:"button",className:`${D} grid gap-2 px-3 py-3 text-left transition hover:bg-[var(--ui-surface-hover)]`,onClick:()=>c("/calendar"),children:[e.jsxs("div",{className:"flex min-w-0 items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:`truncate text-sm font-medium ${v}`,children:n.title}),e.jsx("div",{className:`mt-1 text-sm ${u}`,children:ge(n)})]}),e.jsx(x,{className:"shrink-0 bg-[var(--ui-surface-3)] text-[var(--ui-ink-medium)]",children:n.originType==="native"?"Forge":n.originType})]}),!i&&n.description?e.jsx("div",{className:`line-clamp-2 text-sm leading-6 ${u}`,children:n.description}):null]},n.id))]})})},{id:"focus",title:"Current focus",description:"Current task, comeback task, and due habits stay in one movable stack.",defaultWidth:12,defaultHeight:4,minWidth:6,render:({compact:i})=>{var n;return e.jsx(de,{children:e.jsxs("div",{className:"grid min-w-0 gap-4 xl:grid-cols-[minmax(0,1.2fr)_minmax(0,0.8fr)]",children:[e.jsxs("div",{className:`${R} p-4`,children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsx("div",{className:g,children:"Current task"}),r?e.jsx(_,{entityType:"task",entityId:r.id,count:((n=t.snapshot.dashboard.notesSummaryByEntity[`task:${r.id}`])==null?void 0:n.count)??0}):null]}),e.jsx("div",{className:`mt-3 break-words text-base font-semibold ${v}`,children:(r==null?void 0:r.title)??"Pick a task from the runway"}),e.jsx("div",{className:`mt-2 text-sm leading-6 ${u}`,children:(r==null?void 0:r.description)??"Once a task is active, the timer rail and this panel stay aligned."}),r?e.jsx("button",{type:"button",className:"mt-4 inline-flex min-h-10 max-w-full items-center justify-center rounded-2xl border border-[color-mix(in_srgb,var(--primary)_24%,transparent)] bg-[var(--ui-accent-soft)] px-3.5 py-2 text-sm font-medium text-[var(--primary)] shadow-[var(--ui-shadow-soft)] transition hover:bg-[var(--ui-accent-soft-hover)]",onClick:async()=>{await t.startTaskNow(r.id)},children:"Start work"}):null]}),e.jsxs("div",{className:"grid gap-3",children:[e.jsxs("div",{className:`${R} p-4`,children:[e.jsx("div",{className:g,children:"Recovery task"}),e.jsx("div",{className:`mt-3 break-words text-sm font-semibold ${v}`,children:(f==null?void 0:f.title)??"No blocked or overdue task is dominating today"}),i?null:e.jsx("div",{className:`mt-2 text-sm leading-6 ${u}`,children:(f==null?void 0:f.description)??"If something slips, it will surface here as the clean comeback move."})]}),e.jsxs("div",{className:`${R} p-4`,children:[e.jsx("div",{className:g,children:"Due habits"}),e.jsx("div",{className:"mt-3 grid gap-2",children:t.snapshot.today.dueHabits.slice(0,i?2:3).map(h=>e.jsxs("div",{className:`${D} flex items-center justify-between gap-3 px-3 py-2.5`,children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:`truncate text-sm font-medium ${v}`,children:h.title}),i?null:e.jsx("div",{className:`text-sm ${u}`,children:h.frequency})]}),e.jsxs(x,{className:"shrink-0 bg-[var(--ui-success-soft)] text-[color-mix(in_srgb,var(--success)_78%,var(--ui-ink-strong)_22%)]",children:[h.rewardXp," xp"]})]},h.id))})]})]})]})})}},{id:"time",title:"Clock",description:"Optional utility widget.",defaultWidth:3,defaultHeight:2,defaultHidden:!0,render:({compact:i})=>e.jsx(Q,{compact:i})},{id:"weather",title:"Weather",description:"Optional utility widget.",defaultWidth:3,defaultHeight:2,defaultHidden:!0,render:({compact:i})=>e.jsx(V,{compact:i})},{id:"mini-calendar",title:"Mini calendar",description:"Optional utility widget.",defaultWidth:4,defaultHeight:3,defaultHidden:!0,render:({compact:i})=>e.jsx(q,{compact:i})},{id:"spotify",title:"Spotify",description:"Optional utility widget.",defaultWidth:4,defaultHeight:2,defaultHidden:!0,render:()=>e.jsx(K,{surfaceId:"today"})},{id:"quick-capture",title:"Quick capture",description:"Save a note or wiki draft without leaving Today.",defaultWidth:5,defaultHeight:3,defaultHidden:!0,render:({compact:i})=>{var n;return e.jsx(G,{compact:i,defaultUserId:t.selectedUserIds[0]??((n=t.snapshot.users[0])==null?void 0:n.id)??null})}}];return e.jsx(z,{surfaceId:"today",baseWidgets:y})}export{Be as TodayPage};
|