@parhelia/core 0.1.12730 → 0.1.12741
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/editor/ItemInfo.js +2 -1
- package/dist/editor/ItemInfo.js.map +1 -1
- package/dist/editor/ai/AgentTerminal.js +166 -59
- package/dist/editor/ai/AgentTerminal.js.map +1 -1
- package/dist/editor/ai/AgentTerminalStatusBar.js +32 -1
- package/dist/editor/ai/AgentTerminalStatusBar.js.map +1 -1
- package/dist/editor/ai/ToolCallDisplay.js +29 -17
- package/dist/editor/ai/ToolCallDisplay.js.map +1 -1
- package/dist/editor/ai/agentDiagnostics.d.ts +4 -1
- package/dist/editor/ai/agentDiagnostics.js +25 -1
- package/dist/editor/ai/agentDiagnostics.js.map +1 -1
- package/dist/editor/client/EditorShell.d.ts +5 -0
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/hooks/useSocketMessageHandler.d.ts +8 -0
- package/dist/editor/client/hooks/useSocketMessageHandler.js +101 -4
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/commands/itemCommands.js +2 -0
- package/dist/editor/commands/itemCommands.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/UtilityControls.js +1 -2
- package/dist/editor/menubar/toolbar-sections/UtilityControls.js.map +1 -1
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js +3 -2
- package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
- package/dist/editor/settings/WebSocketMessages.js +6 -3
- package/dist/editor/settings/WebSocketMessages.js.map +1 -1
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js +3 -1
- package/dist/editor/settings/panels/ProjectTemplatesPanel.js.map +1 -1
- package/dist/editor/ui/ItemNameDialogNew.d.ts +4 -0
- package/dist/editor/ui/ItemNameDialogNew.js +7 -5
- package/dist/editor/ui/ItemNameDialogNew.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/task-board/components/ProjectDashboard.d.ts +11 -0
- package/dist/task-board/components/ProjectDashboard.js +87 -59
- package/dist/task-board/components/ProjectDashboard.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs
|
|
2
|
-
import { useEffect,
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef, useState } from "react";
|
|
3
3
|
import { ChevronDown, Folder } from "lucide-react";
|
|
4
4
|
import { Select } from "../../components/ui/select";
|
|
5
|
+
import { Tooltip, TooltipContent, TooltipTrigger, } from "../../components/ui/tooltip";
|
|
5
6
|
import { ProjectPropertiesPanel } from "./ProjectPropertiesPanel";
|
|
6
7
|
import { TaskboardPersistentLogPanel } from "./TaskboardPersistentLogPanel";
|
|
7
8
|
const EMPTY_COUNTS = {
|
|
@@ -14,11 +15,41 @@ const EMPTY_COUNTS = {
|
|
|
14
15
|
};
|
|
15
16
|
const DEFAULT_COST_LIMIT = 25;
|
|
16
17
|
const STATE_STOPS = [
|
|
17
|
-
{
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
{
|
|
19
|
+
key: "todo",
|
|
20
|
+
label: "Todo",
|
|
21
|
+
segmentClassName: "bg-slate-300",
|
|
22
|
+
ringColor: "#cbd5e1",
|
|
23
|
+
swatchClassName: "bg-slate-300",
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
key: "waiting",
|
|
27
|
+
label: "Waiting",
|
|
28
|
+
segmentClassName: "bg-amber-300",
|
|
29
|
+
ringColor: "#fcd34d",
|
|
30
|
+
swatchClassName: "bg-amber-300",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
key: "inProgress",
|
|
34
|
+
label: "In progress",
|
|
35
|
+
segmentClassName: "bg-blue-400",
|
|
36
|
+
ringColor: "#60a5fa",
|
|
37
|
+
swatchClassName: "bg-blue-400",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
key: "review",
|
|
41
|
+
label: "Review",
|
|
42
|
+
segmentClassName: "bg-violet-400",
|
|
43
|
+
ringColor: "#a78bfa",
|
|
44
|
+
swatchClassName: "bg-violet-400",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
key: "done",
|
|
48
|
+
label: "Done",
|
|
49
|
+
segmentClassName: "bg-emerald-400",
|
|
50
|
+
ringColor: "#34d399",
|
|
51
|
+
swatchClassName: "bg-emerald-400",
|
|
52
|
+
},
|
|
22
53
|
];
|
|
23
54
|
export function TaskStateProgressBar(props) {
|
|
24
55
|
const { counts, compact = false } = props;
|
|
@@ -29,8 +60,43 @@ export function TaskStateProgressBar(props) {
|
|
|
29
60
|
return (_jsx("div", { className: stop.segmentClassName, style: { width: `${widthPct}%` }, title: `${stop.label}: ${value}` }, stop.key));
|
|
30
61
|
}) })) : null }));
|
|
31
62
|
}
|
|
63
|
+
export function CostProgressRing(props) {
|
|
64
|
+
const { used, limit, size = 44, strokeWidth = 4 } = props;
|
|
65
|
+
const radius = (size - strokeWidth) / 2;
|
|
66
|
+
const circumference = 2 * Math.PI * radius;
|
|
67
|
+
const pct = limit > 0 ? Math.max(0, Math.min((used / limit) * 100, 100)) : 0;
|
|
68
|
+
const dashOffset = circumference - (pct / 100) * circumference;
|
|
69
|
+
const stroke = pct >= 100 ? "#ef4444" : pct >= 80 ? "#f59e0b" : "#10b981";
|
|
70
|
+
const center = size / 2;
|
|
71
|
+
const formatAmount = (value) => value >= 1000
|
|
72
|
+
? `${(value / 1000).toFixed(value >= 10000 ? 0 : 1)}k`
|
|
73
|
+
: value.toFixed(value >= 100 ? 0 : 0);
|
|
74
|
+
return (_jsxs("div", { className: "relative", style: { width: size, height: size }, children: [_jsxs("svg", { width: size, height: size, viewBox: `0 0 ${size} ${size}`, className: "-rotate-90", "aria-hidden": true, children: [_jsx("circle", { cx: center, cy: center, r: radius, stroke: "#e2e8f0", strokeWidth: strokeWidth, fill: "none" }), _jsx("circle", { cx: center, cy: center, r: radius, stroke: stroke, strokeWidth: strokeWidth, fill: "none", strokeLinecap: "round", strokeDasharray: circumference, strokeDashoffset: dashOffset, style: { transition: "stroke-dashoffset 200ms ease-out" } })] }), _jsxs("div", { className: "pointer-events-none absolute inset-0 flex flex-col items-center justify-center text-[10px] leading-none font-semibold text-slate-700", children: [_jsxs("span", { children: ["$", formatAmount(used)] }), _jsxs("span", { className: "text-[8px] font-normal text-slate-500", children: ["of $", formatAmount(limit)] })] })] }));
|
|
75
|
+
}
|
|
76
|
+
export function TaskStateProgressRing(props) {
|
|
77
|
+
const { counts, size = 44, strokeWidth = 4 } = props;
|
|
78
|
+
const radius = (size - strokeWidth) / 2;
|
|
79
|
+
const circumference = 2 * Math.PI * radius;
|
|
80
|
+
const center = size / 2;
|
|
81
|
+
const total = counts.total;
|
|
82
|
+
let cumulative = 0;
|
|
83
|
+
const segments = total
|
|
84
|
+
? STATE_STOPS.map((stop) => {
|
|
85
|
+
const value = counts[stop.key];
|
|
86
|
+
if (value <= 0)
|
|
87
|
+
return null;
|
|
88
|
+
const fraction = value / total;
|
|
89
|
+
const dashLength = fraction * circumference;
|
|
90
|
+
const dashGap = circumference - dashLength;
|
|
91
|
+
const dashOffset = -cumulative * circumference;
|
|
92
|
+
cumulative += fraction;
|
|
93
|
+
return (_jsx("circle", { cx: center, cy: center, r: radius, stroke: stop.ringColor, strokeWidth: strokeWidth, fill: "none", strokeDasharray: `${dashLength} ${dashGap}`, strokeDashoffset: dashOffset }, stop.key));
|
|
94
|
+
})
|
|
95
|
+
: [];
|
|
96
|
+
return (_jsxs("div", { className: "relative", style: { width: size, height: size }, children: [_jsxs("svg", { width: size, height: size, viewBox: `0 0 ${size} ${size}`, className: "-rotate-90", "aria-hidden": true, children: [_jsx("circle", { cx: center, cy: center, r: radius, stroke: "#e2e8f0", strokeWidth: strokeWidth, fill: "none" }), segments] }), _jsxs("div", { className: "pointer-events-none absolute inset-0 flex flex-col items-center justify-center text-[11px] leading-none font-semibold text-slate-700", children: [_jsx("span", { children: total }), _jsx("span", { className: "text-[8px] font-normal text-slate-500", children: total === 1 ? "task" : "tasks" })] })] }));
|
|
97
|
+
}
|
|
32
98
|
export function ProjectDashboard(props) {
|
|
33
|
-
const {
|
|
99
|
+
const { selectedProjectStatus, selectedProjectCostUsed = 0, selectedProjectCostLimit = null, canEditProjectStatus = false, savingProjectStatus = false, onStatusChange, selectedProjectTaskCounts, subprojects, taskCountsByProjectId, parentProjectId, parentProjectTitle, onSelectProject, projectId, canEditProperties = false, } = props;
|
|
34
100
|
const hasSubprojects = subprojects.length > 0;
|
|
35
101
|
const [showSubprojects, setShowSubprojects] = useState(hasSubprojects);
|
|
36
102
|
const previousSubprojectCountRef = useRef(subprojects.length);
|
|
@@ -48,15 +114,6 @@ export function ProjectDashboard(props) {
|
|
|
48
114
|
const effectiveCostLimit = typeof selectedProjectCostLimit === "number" && selectedProjectCostLimit > 0
|
|
49
115
|
? selectedProjectCostLimit
|
|
50
116
|
: DEFAULT_COST_LIMIT;
|
|
51
|
-
const costProgressPct = useMemo(() => {
|
|
52
|
-
const pct = (normalizedCostUsed / effectiveCostLimit) * 100;
|
|
53
|
-
return Math.max(0, Math.min(pct, 100));
|
|
54
|
-
}, [effectiveCostLimit, normalizedCostUsed]);
|
|
55
|
-
const costProgressClassName = costProgressPct >= 100
|
|
56
|
-
? "bg-red-500"
|
|
57
|
-
: costProgressPct >= 80
|
|
58
|
-
? "bg-amber-500"
|
|
59
|
-
: "bg-emerald-500";
|
|
60
117
|
const statusValue = selectedProjectStatus ?? "Active";
|
|
61
118
|
const aggregatedCounts = hasSubprojects
|
|
62
119
|
? subprojects.reduce((acc, subproject) => {
|
|
@@ -78,47 +135,18 @@ export function ProjectDashboard(props) {
|
|
|
78
135
|
done: selectedProjectTaskCounts.done,
|
|
79
136
|
})
|
|
80
137
|
: selectedProjectTaskCounts;
|
|
81
|
-
const
|
|
82
|
-
{
|
|
83
|
-
projectId:
|
|
84
|
-
title:
|
|
85
|
-
counts:
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
counts: taskCountsByProjectId[subproject.project.projectId] || EMPTY_COUNTS,
|
|
95
|
-
compact: true,
|
|
96
|
-
indented: true,
|
|
97
|
-
isLink: true,
|
|
98
|
-
}))
|
|
99
|
-
: []),
|
|
100
|
-
];
|
|
101
|
-
return (_jsxs("div", { className: "mb-4", "data-testid": "taskboard-project-dashboard", children: [parentProjectId && parentProjectTitle && onSelectProject && (_jsx("div", { className: "mb-3", children: _jsxs("button", { type: "button", className: "text-xs text-slate-600 hover:text-slate-800", onClick: () => onSelectProject(parentProjectId), "data-testid": "taskboard-parent-project-button", children: ["\u2190 Back to ", parentProjectTitle] }) })), _jsxs("div", { className: "mb-4", children: [_jsxs("div", { className: "grid gap-3 md:grid-cols-[minmax(0,1fr)_220px]", children: [_jsxs("div", { children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx("div", { className: "text-[11px] font-semibold tracking-wider text-slate-500 uppercase", children: "Description" }), _jsx(TaskboardPersistentLogPanel, { scope: "project", projectId: projectId, title: "Project Activity Log", emptyMessage: "No project-level orchestration entries yet.", refreshKey: `${projectId}:${statusValue}:${normalizedCostUsed}:${selectedProjectTaskCounts.total}:${selectedProjectTaskCounts.waiting}:${selectedProjectTaskCounts.inProgress}:${selectedProjectTaskCounts.review}:${selectedProjectTaskCounts.done}`, testId: "taskboard-project-dashboard-log-panel" })] }), _jsx("div", { className: "mt-1 text-xs text-slate-700", children: selectedProjectDescription?.trim() || "No description" })] }), _jsxs("div", { children: [_jsx("div", { className: "text-[11px] font-semibold tracking-wider text-slate-500 uppercase", children: "Status" }), _jsx("div", { className: "mt-1", children: _jsx(Select, { "data-testid": "taskboard-project-status-select", value: statusValue, onValueChange: (value) => onStatusChange?.(value), disabled: !canEditProjectStatus ||
|
|
102
|
-
savingProjectStatus ||
|
|
103
|
-
!onStatusChange, options: [
|
|
104
|
-
{ value: "Planning", label: "Planning" },
|
|
105
|
-
{ value: "Active", label: "Active" },
|
|
106
|
-
{ value: "Finished", label: "Finished" },
|
|
107
|
-
{ value: "Archived", label: "Archived" },
|
|
108
|
-
], className: "h-7 text-xs" }) })] })] }), _jsxs("div", { className: "mt-3", children: [_jsxs("div", { className: "mb-1.5 flex items-center justify-between text-[11px] font-semibold tracking-wider text-slate-500 uppercase", children: [_jsx("span", { children: "Cumulative cost" }), _jsxs("span", { className: "tracking-normal text-slate-600 normal-case", children: ["$", normalizedCostUsed.toFixed(2), ` / $${effectiveCostLimit.toFixed(2)}`] })] }), _jsx("div", { className: "h-2 w-full overflow-hidden rounded-full bg-slate-100", "data-testid": "taskboard-project-cost-bar", children: _jsx("div", { className: `h-full ${costProgressClassName}`, style: { width: `${costProgressPct}%` } }) })] })] }), _jsxs(_Fragment, { children: [_jsx("div", { className: hasSubprojects ? "space-y-2" : "space-y-3", "data-testid": "taskboard-project-progress-rows", children: rows.map((row) => {
|
|
109
|
-
const isRootRow = row.projectId === "selected-project";
|
|
110
|
-
const rootLabelClass = "text-[11px] font-semibold uppercase tracking-wider text-slate-500";
|
|
111
|
-
return (_jsxs("div", { className: "space-y-1", "data-testid": `taskboard-project-progress-row-${row.projectId}`, children: [_jsxs("div", { className: `flex items-center justify-between gap-4 ${row.compact ? "text-xs" : "text-sm"} ${row.indented ? "pl-4" : ""}`, children: [isRootRow && hasSubprojects ? (_jsx("button", { type: "button", className: `truncate text-left hover:text-slate-600 ${rootLabelClass}`, onClick: () => setShowSubprojects((prev) => !prev), "aria-label": showSubprojects
|
|
112
|
-
? "Hide subprojects"
|
|
113
|
-
: "Show subprojects", title: showSubprojects
|
|
114
|
-
? "Hide subprojects"
|
|
115
|
-
: "Show subprojects", "data-testid": "taskboard-subproject-toggle-label", children: row.title })) : row.isLink && onSelectProject ? (_jsxs("button", { type: "button", className: `flex min-w-0 items-center gap-1.5 truncate text-left text-slate-700 hover:text-slate-900 ${row.compact ? "font-medium" : "font-medium"}`, onClick: () => onSelectProject(row.projectId), "data-testid": `taskboard-subproject-link-${row.projectId}`, children: [_jsx(Folder, { className: "h-3.5 w-3.5 shrink-0 text-slate-500", "aria-hidden": true }), _jsx("span", { className: "truncate", children: row.title })] })) : (_jsx("div", { className: `truncate ${isRootRow
|
|
116
|
-
? rootLabelClass
|
|
117
|
-
: `text-slate-800 ${row.compact ? "font-medium" : "font-medium"}`}`, children: row.title })), _jsxs("div", { className: `shrink-0 text-slate-600 ${row.compact ? "text-[11px]" : "text-xs"}`, children: [row.counts.total, " tasks"] })] }), _jsxs("div", { className: `flex items-center gap-2 ${row.indented ? "pr-6 pl-4" : ""}`, children: [_jsx("div", { className: "min-w-0 flex-1", children: _jsx(TaskStateProgressBar, { counts: row.counts, compact: row.compact }) }), hasSubprojects && isRootRow && (_jsx("button", { type: "button", className: "flex h-5 w-5 shrink-0 items-center justify-center rounded-sm text-slate-500 hover:bg-slate-100 hover:text-slate-700", onClick: () => setShowSubprojects((prev) => !prev), "aria-label": showSubprojects
|
|
118
|
-
? "Hide subprojects"
|
|
119
|
-
: "Show subprojects", title: showSubprojects
|
|
120
|
-
? "Hide subprojects"
|
|
121
|
-
: "Show subprojects", "data-testid": "taskboard-subproject-toggle-button", children: _jsx(ChevronDown, { className: `h-3.5 w-3.5 transition-transform ${showSubprojects ? "rotate-180" : "rotate-0"}` }) }))] })] }, row.projectId));
|
|
122
|
-
}) }), _jsx("div", { className: "mt-4 grid grid-cols-2 gap-1 text-[11px] sm:grid-cols-5", children: STATE_STOPS.map((stop) => (_jsxs("div", { className: "flex items-center gap-1.5 text-slate-600", children: [_jsx("span", { className: `inline-block h-2 w-2 rounded-full ${stop.segmentClassName}` }), _jsx("span", { children: stop.label })] }, stop.key))) })] }), _jsx(ProjectPropertiesPanel, { projectId: projectId, canEdit: canEditProperties, className: "mt-4" })] }));
|
|
138
|
+
const subprojectRows = hasSubprojects && showSubprojects
|
|
139
|
+
? subprojects.map((subproject) => ({
|
|
140
|
+
projectId: subproject.project.projectId,
|
|
141
|
+
title: subproject.project.title,
|
|
142
|
+
counts: taskCountsByProjectId[subproject.project.projectId] || EMPTY_COUNTS,
|
|
143
|
+
}))
|
|
144
|
+
: [];
|
|
145
|
+
return (_jsxs("div", { "data-testid": "taskboard-project-dashboard", children: [parentProjectId && parentProjectTitle && onSelectProject && (_jsx("div", { className: "mb-2", children: _jsxs("button", { type: "button", className: "text-xs text-slate-600 hover:text-slate-800", onClick: () => onSelectProject(parentProjectId), "data-testid": "taskboard-parent-project-button", children: ["\u2190 Back to ", parentProjectTitle] }) })), _jsxs("div", { className: "flex items-center gap-3 rounded-lg border border-slate-200 bg-slate-50/60 px-3 py-2", "data-testid": "taskboard-project-info-row", children: [_jsxs("div", { className: "flex shrink-0 flex-col gap-0.5", children: [_jsx("span", { className: "text-[10px] font-semibold tracking-wider text-slate-500 uppercase", id: "taskboard-project-status-label", children: "Status" }), _jsx(Select, { "data-testid": "taskboard-project-status-select", "aria-labelledby": "taskboard-project-status-label", value: statusValue, onValueChange: (value) => onStatusChange?.(value), disabled: !canEditProjectStatus || savingProjectStatus || !onStatusChange, options: [
|
|
146
|
+
{ value: "Planning", label: "Planning" },
|
|
147
|
+
{ value: "Active", label: "Active" },
|
|
148
|
+
{ value: "Finished", label: "Finished" },
|
|
149
|
+
{ value: "Archived", label: "Archived" },
|
|
150
|
+
], className: "h-7 w-28 text-xs" })] }), _jsxs("div", { className: "flex flex-1 items-center justify-end gap-2", children: [_jsx(TaskboardPersistentLogPanel, { scope: "project", projectId: projectId, title: "Project Activity Log", emptyMessage: "No project-level orchestration entries yet.", refreshKey: `${projectId}:${statusValue}:${normalizedCostUsed}:${selectedProjectTaskCounts.total}:${selectedProjectTaskCounts.waiting}:${selectedProjectTaskCounts.inProgress}:${selectedProjectTaskCounts.review}:${selectedProjectTaskCounts.done}`, testId: "taskboard-project-dashboard-log-panel" }), _jsxs(Tooltip, { delayDuration: 250, children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("div", { "data-testid": "taskboard-project-cost-ring", children: _jsx(CostProgressRing, { used: normalizedCostUsed, limit: effectiveCostLimit }) }) }), _jsxs(TooltipContent, { side: "bottom", children: ["Cumulative cost: $", normalizedCostUsed.toFixed(2), " / $", effectiveCostLimit.toFixed(2)] })] }), _jsxs(Tooltip, { delayDuration: 250, children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("div", { "data-testid": "taskboard-project-progress-ring", children: _jsx(TaskStateProgressRing, { counts: aggregatedCounts }) }) }), _jsx(TooltipContent, { side: "bottom", className: "max-w-xs text-left", children: aggregatedCounts.total > 0 ? (_jsx("div", { className: "space-y-1", children: STATE_STOPS.map((stop) => (_jsxs("div", { className: "flex items-center justify-between gap-3", children: [_jsxs("span", { className: "flex items-center gap-1.5", children: [_jsx("span", { className: `inline-block h-2 w-2 rounded-full ${stop.swatchClassName}` }), stop.label] }), _jsx("span", { children: aggregatedCounts[stop.key] })] }, stop.key))) })) : ("No tasks yet") })] })] })] }), hasSubprojects && (_jsxs("div", { className: "mt-3", children: [_jsxs("button", { type: "button", className: "mb-1.5 flex items-center gap-1 text-[11px] font-semibold tracking-wider text-slate-500 uppercase hover:text-slate-700", onClick: () => setShowSubprojects((prev) => !prev), "aria-label": showSubprojects ? "Hide subprojects" : "Show subprojects", "data-testid": "taskboard-subproject-toggle-label", children: [_jsx(ChevronDown, { className: `h-3 w-3 transition-transform ${showSubprojects ? "rotate-0" : "-rotate-90"}` }), "Subprojects (", subprojects.length, ")"] }), showSubprojects && (_jsx("div", { className: "space-y-2", "data-testid": "taskboard-project-progress-rows", children: subprojectRows.map((row) => (_jsxs("div", { className: "space-y-1", "data-testid": `taskboard-project-progress-row-${row.projectId}`, children: [_jsxs("div", { className: "flex items-center justify-between gap-4 pl-4 text-xs", children: [onSelectProject ? (_jsxs("button", { type: "button", className: "flex min-w-0 items-center gap-1.5 truncate text-left font-medium text-slate-700 hover:text-slate-900", onClick: () => onSelectProject(row.projectId), "data-testid": `taskboard-subproject-link-${row.projectId}`, children: [_jsx(Folder, { className: "h-3.5 w-3.5 shrink-0 text-slate-500", "aria-hidden": true }), _jsx("span", { className: "truncate", children: row.title })] })) : (_jsxs("div", { className: "flex min-w-0 items-center gap-1.5 truncate font-medium text-slate-800", children: [_jsx(Folder, { className: "h-3.5 w-3.5 shrink-0 text-slate-500", "aria-hidden": true }), _jsx("span", { className: "truncate", children: row.title })] })), _jsxs("div", { className: "shrink-0 text-[11px] text-slate-600", children: [row.counts.total, " tasks"] })] }), _jsx("div", { className: "pr-6 pl-4", children: _jsx(TaskStateProgressBar, { counts: row.counts, compact: true }) })] }, row.projectId))) }))] })), _jsx(ProjectPropertiesPanel, { projectId: projectId, canEdit: canEditProperties, className: "mt-4" })] }));
|
|
123
151
|
}
|
|
124
152
|
//# sourceMappingURL=ProjectDashboard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectDashboard.js","sourceRoot":"","sources":["../../../src/task-board/components/ProjectDashboard.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProjectDashboard.js","sourceRoot":"","sources":["../../../src/task-board/components/ProjectDashboard.tsx"],"names":[],"mappings":"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"}
|