- commit
- bb496f8c7a3bf009fa018ec80307dbce5a7d1c63
- parent
- 1bfcd2bd3d2e32e1274da479dd8b7a17018ad020
- author
- dami etoile <dami.etoile@gmail.com>
| M | dashboard/ | 15 | ++++++++++++--- |
| M | dashboard/ | 7 | +++++-- |
@@ -258,14 +258,23 @@
258258 h("div", { className: "os-col-list" },259259 items.length === 0 ? h("span", { className: "os-col-empty" }, "—") :260260 items.map(function (it) {261+ var artifacts = [];262+ if (it.hasProposal) artifacts.push("P");263+ if (it.hasTasks) artifacts.push("T");264+ if (it.hasDesign) artifacts.push("D");265+ if (it.hasSpecs) artifacts.push("S");266+ var pct = it.taskStats && it.taskStats.total > 0 ? Math.round((it.taskStats.done / it.taskStats.total) * 100) : 0;261267 return h("button", {262268 key: it.id || it.name, className: cn("os-card", STATUS_TONE[it.status] || ""), onClick: function () { onSelectItem(it); },263269 },264270 h("div", { className: "os-card-title" }, it.title || it.name),265271 h("div", { className: "os-card-foot" },266- h("span", { className: "os-card-name" }, it.name),267- it.token ? h(CopyChip, { text: source.name + "/" + it.token }) : null,268- it.taskStats ? h("span", { className: "os-card-stats" }, it.taskStats.done + "/" + it.taskStats.total) : null272+ artifacts.length ? h("span", { className: "os-card-artifacts", title: "P=proposal T=tasks D=design S=specs" }, artifacts.join(" ")) : null,273+ it.taskStats ? h("span", { className: "os-card-progress" },274+ h("span", { className: "os-card-progress-track" }, h("span", { className: "os-card-progress-fill", style: { width: pct + "%" } })),275+ h("span", { className: "os-card-stats" }, it.taskStats.done + "/" + it.taskStats.total)276+ ) : null,277+ it.token ? h(CopyChip, { text: source.name + "/" + it.token }) : null269278 )270279 );271280 })@@ -42,8 +42,11 @@
4242 .os-card:hover { border-color: var(--color-primary, #555); }4343 .os-card-title { font-size: 0.82rem; font-weight: 500; line-height: 1.3; color: var(--color-foreground, #eee); }4444 .os-card-foot { display: flex; align-items: center; gap: 0.375rem; flex-wrap: wrap; }45-.os-card-name { font-size: 0.68rem; color: var(--color-muted-foreground, #777); font-family: var(--theme-font-mono, monospace); }46-.os-card-stats { font-size: 0.68rem; color: var(--color-muted-foreground, #aaa); margin-left: auto; }45+.os-card-artifacts { font-size: 0.62rem; font-family: var(--theme-font-mono, monospace); letter-spacing: 0.05em; color: var(--color-muted-foreground, #777); }46+.os-card-progress { display: flex; align-items: center; gap: 0.25rem; margin-left: auto; }47+.os-card-progress-track { width: 2.5rem; height: 0.25rem; border-radius: 0.125rem; background: var(--color-secondary, rgba(255,255,255,0.08)); overflow: hidden; }48+.os-card-progress-fill { display: block; height: 100%; border-radius: 0.125rem; background: var(--color-primary, #60a5fa); }49+.os-card-stats { font-size: 0.68rem; color: var(--color-muted-foreground, #aaa); }4750 4851 .os-tone-ideas { border-left: 3px solid #a78bfa; }4952 .os-tone-draft { border-left: 3px solid var(--color-muted-foreground, #6b7280); }