dsh-task-ledger 0.0.116 → 0.0.118

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.js CHANGED
@@ -53721,6 +53721,8 @@ body[data-ds-dark-theme]{
53721
53721
  opacity:0;pointer-events:none;transition:opacity var(--dtl-dur-fast) var(--dtl-ease);}
53722
53722
  .dtl-trend__col:hover .dtl-trend__tip{opacity:1;}
53723
53723
  .dtl-trend__tip-row{font-variant-numeric:tabular-nums;}
53724
+ /* 未结的拆分行:缩进 + 淡一档,读起来是「未结」的注脚 */
53725
+ .dtl-trend__tip-row--sub{padding-left:10px;color:var(--dtl-fg-3);}
53724
53726
  .dtl-trend__foot{font-size:var(--dtl-font-xs);color:var(--dtl-fg-3);}
53725
53727
 
53726
53728
  /* 任务行 = 一张卡(样式照抄 dispatch-table TaskCard:surface-1 底 + 1px 边框 + 左缘状态条;
@@ -54186,15 +54188,16 @@ body[data-ds-dark-theme]{
54186
54188
  */
54187
54189
  const BAR_KINDS = [
54188
54190
  "done",
54189
- "open",
54190
- "added"
54191
+ "added",
54192
+ "open"
54191
54193
  ];
54192
54194
  const ZERO = {
54193
54195
  added: 0,
54194
54196
  done: 0,
54195
54197
  open: 0
54196
54198
  };
54197
- const labelKey = (kind) => kind === "done" ? "chartDone" : kind === "open" ? "chartOpen" : "chartAdded";
54199
+ /** 系列名:只看我的时候「未结」就是「进行中」(我的任务必然有人接)。 */
54200
+ const labelKey = (kind, mine) => kind === "done" ? "chartDone" : kind === "added" ? "chartAdded" : mine ? "chartDoing" : "chartOpen";
54198
54201
  function TrendChart(props) {
54199
54202
  const { trend, me, t } = props;
54200
54203
  const [mineOnly, setMineOnly] = (0, react$1.useState)(false);
@@ -54203,6 +54206,15 @@ body[data-ds-dark-theme]{
54203
54206
  if (buckets.length === 0) return (0, react$1.createElement)("div", { className: "dtl-card dtl-trend" }, (0, react$1.createElement)("div", { className: "dtl-trend__foot" }, t("chartEmpty")));
54204
54207
  /** 当前口径下这一桶的三个数:全量,或「我的」那条(没数据就是 0)。 */
54205
54208
  const counts = (bucket) => mine ? bucket.owners[me] ?? ZERO : bucket;
54209
+ /** 未结拆两段:进行中 = 各人未结之和;待认领 = 未结 − 进行中。
54210
+ * 「只看我的」时只有进行中(我的任务必然有人接),不显示拆分行。 */
54211
+ const breakdown = (bucket) => {
54212
+ const doing = Object.values(bucket.owners).reduce((sum, cell) => sum + cell.open, 0);
54213
+ return {
54214
+ doing,
54215
+ waiting: Math.max(0, bucket.open - doing)
54216
+ };
54217
+ };
54206
54218
  const peak = buckets.reduce((max, bucket) => {
54207
54219
  const cell = counts(bucket);
54208
54220
  return Math.max(max, cell.added, cell.done, cell.open);
@@ -54226,10 +54238,10 @@ body[data-ds-dark-theme]{
54226
54238
  const column = (bucket) => (0, react$1.createElement)("div", { className: "dtl-trend__col" }, (0, react$1.createElement)("div", { className: "dtl-trend__tip" }, (0, react$1.createElement)("div", { className: "dtl-trend__tip-row" }, t("periodRange", {
54227
54239
  from: bucket.from,
54228
54240
  to: bucket.to
54229
- })), ...BAR_KINDS.map((kind) => (0, react$1.createElement)("div", { className: "dtl-trend__tip-row" }, (0, react$1.createElement)("span", { className: `dtl-trend__dot dtl-trend__dot--${kind}` }), `${t(labelKey(kind))} ${formatCount(counts(bucket)[kind])}`))), (0, react$1.createElement)("div", { className: "dtl-trend__bars" }, ...BAR_KINDS.map((kind) => bar(bucket, kind))), (0, react$1.createElement)("div", { className: "dtl-trend__x" }, bucket.to.slice(5)));
54241
+ })), ...BAR_KINDS.map((kind) => (0, react$1.createElement)("div", { className: "dtl-trend__tip-row" }, (0, react$1.createElement)("span", { className: `dtl-trend__dot dtl-trend__dot--${kind}` }), `${t(labelKey(kind, mine))} ${formatCount(counts(bucket)[kind])}`)), mine ? null : (0, react$1.createElement)("div", { className: "dtl-trend__tip-row dtl-trend__tip-row--sub" }, `${t("chartOfWhich")} ${t("chartDoing")} ${formatCount(breakdown(bucket).doing)}`), mine ? null : (0, react$1.createElement)("div", { className: "dtl-trend__tip-row dtl-trend__tip-row--sub" }, `${t("chartWaiting")} ${formatCount(breakdown(bucket).waiting)}`)), (0, react$1.createElement)("div", { className: "dtl-trend__bars" }, ...BAR_KINDS.map((kind) => bar(bucket, kind))), (0, react$1.createElement)("div", { className: "dtl-trend__x" }, bucket.to.slice(5)));
54230
54242
  const first = buckets[0];
54231
54243
  const partial = trend.coverageFrom !== "" && trend.coverageFrom > first.from ? (0, react$1.createElement)("div", { className: "dtl-trend__foot" }, t("chartPartial", { from: trend.coverageFrom })) : null;
54232
- return (0, react$1.createElement)("div", { className: "dtl-card dtl-trend" }, (0, react$1.createElement)("div", { className: "dtl-trend__legend" }, ...BAR_KINDS.map((kind) => (0, react$1.createElement)("span", null, (0, react$1.createElement)("span", { className: `dtl-trend__dot dtl-trend__dot--${kind}` }), t(labelKey(kind)))), me === null ? null : (0, react$1.createElement)("label", { className: "dtl-trend__mine" }, (0, react$1.createElement)("input", {
54244
+ return (0, react$1.createElement)("div", { className: "dtl-card dtl-trend" }, (0, react$1.createElement)("div", { className: "dtl-trend__legend" }, ...BAR_KINDS.map((kind) => (0, react$1.createElement)("span", null, (0, react$1.createElement)("span", { className: `dtl-trend__dot dtl-trend__dot--${kind}` }), t(labelKey(kind, mine)))), me === null ? null : (0, react$1.createElement)("label", { className: "dtl-trend__mine" }, (0, react$1.createElement)("input", {
54233
54245
  type: "checkbox",
54234
54246
  checked: mineOnly,
54235
54247
  onChange: (event) => {
@@ -54522,8 +54534,8 @@ body[data-ds-dark-theme]{
54522
54534
  onClick: onBack
54523
54535
  }, `← ${t("backToConversation")}`), (0, react$1.createElement)("div", { style: titleStyle }, t("panelTitle"), (0, react$1.createElement)("span", {
54524
54536
  style: buildTagStyle,
54525
- title: `v0.0.116 · 261029-132126-295`
54526
- }, `v0.0.116 261029-132126-295`))), (0, react$1.createElement)(Button, {
54537
+ title: `v0.0.118 · 261029-145336-423`
54538
+ }, `v0.0.118 261029-145336-423`))), (0, react$1.createElement)(Button, {
54527
54539
  variant: "outline",
54528
54540
  size: "lg",
54529
54541
  icon: (0, react$1.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconRefreshOutlineRegular, { size: 16 }),
@@ -54614,6 +54626,9 @@ body[data-ds-dark-theme]{
54614
54626
  chartEmpty: "还没有可统计的记录",
54615
54627
  chartPartial: "{from} 起才有台账数据",
54616
54628
  chartMine: "只看我的",
54629
+ chartDoing: "进行中",
54630
+ chartWaiting: "待认领",
54631
+ chartOfWhich: "其中",
54617
54632
  periodRange: "{from} ~ {to}",
54618
54633
  statusLabel: "状态",
54619
54634
  statusActive: "进行中",
@@ -54700,6 +54715,9 @@ body[data-ds-dark-theme]{
54700
54715
  chartEmpty: "No records to chart yet",
54701
54716
  chartPartial: "Ledger data starts {from}",
54702
54717
  chartMine: "Only mine",
54718
+ chartDoing: "In progress",
54719
+ chartWaiting: "Unclaimed",
54720
+ chartOfWhich: "of which",
54703
54721
  periodRange: "{from} ~ {to}",
54704
54722
  statusLabel: "Status",
54705
54723
  statusActive: "Active",