@parhelia/core 0.1.11955 → 0.1.12017
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/agents-view/AgentsInbox.js +8 -3
- package/dist/agents-view/AgentsInbox.js.map +1 -1
- package/dist/components/ui/alert-dialog.js +2 -8
- package/dist/components/ui/alert-dialog.js.map +1 -1
- package/dist/components/ui/dialog.js +4 -127
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/components/ui/popover.js +1 -9
- package/dist/components/ui/popover.js.map +1 -1
- package/dist/components/ui/select.js +1 -1
- package/dist/components/ui/styled-dialog-title.js +1 -1
- package/dist/components/ui/styled-dialog-title.js.map +1 -1
- package/dist/editor/ContentTree.js +9 -2
- package/dist/editor/ContentTree.js.map +1 -1
- package/dist/editor/FieldListField.js +1 -1
- package/dist/editor/FieldListField.js.map +1 -1
- package/dist/editor/MainLayout.js +1 -2
- package/dist/editor/MainLayout.js.map +1 -1
- package/dist/editor/MobileLayout.js +18 -3
- package/dist/editor/MobileLayout.js.map +1 -1
- package/dist/editor/ai/AgentTerminal.js +81 -12
- package/dist/editor/ai/AgentTerminal.js.map +1 -1
- package/dist/editor/ai/AgentTerminalStatusBar.d.ts +2 -1
- package/dist/editor/ai/AgentTerminalStatusBar.js +5 -2
- package/dist/editor/ai/AgentTerminalStatusBar.js.map +1 -1
- package/dist/editor/ai/ContextInfoBar.js +3 -0
- package/dist/editor/ai/ContextInfoBar.js.map +1 -1
- package/dist/editor/ai/dialogs/AgentDialogHandler.js +160 -48
- package/dist/editor/ai/dialogs/AgentDialogHandler.js.map +1 -1
- package/dist/editor/ai/dialogs/QuestionnaireInline.js +2 -1
- package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
- package/dist/editor/ai/dialogs/agentDialogTypes.d.ts +2 -0
- package/dist/editor/ai/dialogs/agentDialogTypes.js.map +1 -1
- package/dist/editor/client/EditorShell.js +90 -4
- package/dist/editor/client/EditorShell.js.map +1 -1
- package/dist/editor/client/editContext.d.ts +4 -0
- package/dist/editor/client/editContext.js.map +1 -1
- package/dist/editor/client/helpers.js +6 -0
- package/dist/editor/client/helpers.js.map +1 -1
- package/dist/editor/client/hooks/useEditorWebSocket.d.ts +1 -0
- package/dist/editor/client/hooks/useEditorWebSocket.js +10 -1
- package/dist/editor/client/hooks/useEditorWebSocket.js.map +1 -1
- package/dist/editor/client/hooks/useSocketMessageHandler.js +9 -0
- package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
- package/dist/editor/client/operations.js +19 -3
- package/dist/editor/client/operations.js.map +1 -1
- package/dist/editor/client/ui/EditorChrome.js +14 -54
- package/dist/editor/client/ui/EditorChrome.js.map +1 -1
- package/dist/editor/hooks/useNavigationPanelLogic.d.ts +55 -0
- package/dist/editor/hooks/useNavigationPanelLogic.js +127 -0
- package/dist/editor/hooks/useNavigationPanelLogic.js.map +1 -0
- package/dist/editor/media-selector/MediaSelector.js +7 -1
- package/dist/editor/media-selector/MediaSelector.js.map +1 -1
- package/dist/editor/media-selector/TreeSelector.js +37 -31
- package/dist/editor/media-selector/TreeSelector.js.map +1 -1
- package/dist/editor/menubar/PageSelector.js +3 -2
- package/dist/editor/menubar/PageSelector.js.map +1 -1
- package/dist/editor/page-editor-chrome/InlineEditor.js +4 -1
- package/dist/editor/page-editor-chrome/InlineEditor.js.map +1 -1
- package/dist/editor/page-viewer/EditorForm.js +43 -2
- package/dist/editor/page-viewer/EditorForm.js.map +1 -1
- package/dist/editor/page-viewer/PageViewerFrame.js +38 -14
- package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
- package/dist/editor/services/agentService.d.ts +1 -0
- package/dist/editor/services/agentService.js +1 -0
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/editor/services/editService.d.ts +4 -0
- package/dist/editor/services/editService.js +5 -0
- package/dist/editor/services/editService.js.map +1 -1
- package/dist/editor/services/serviceHelper.d.ts +1 -0
- package/dist/editor/services/serviceHelper.js +10 -0
- package/dist/editor/services/serviceHelper.js.map +1 -1
- package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersSection.js +1 -1
- package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersSection.js.map +1 -1
- package/dist/editor/settings/status/coreStatusChecks.js +82 -6
- package/dist/editor/settings/status/coreStatusChecks.js.map +1 -1
- package/dist/editor/sidebar/LabelButton.d.ts +5 -0
- package/dist/editor/sidebar/LabelButton.js +12 -0
- package/dist/editor/sidebar/LabelButton.js.map +1 -0
- package/dist/editor/sidebar/LeftToolbar.js +1 -1
- package/dist/editor/sidebar/LeftToolbar.js.map +1 -1
- package/dist/editor/sidebar/MobileWorkspacePopover.js +1 -1
- package/dist/editor/sidebar/MobileWorkspacePopover.js.map +1 -1
- package/dist/editor/sidebar/MorePanelsButton.d.ts +10 -0
- package/dist/editor/sidebar/MorePanelsButton.js +43 -0
- package/dist/editor/sidebar/MorePanelsButton.js.map +1 -0
- package/dist/editor/sidebar/NavigationPanelItem.d.ts +15 -0
- package/dist/editor/sidebar/NavigationPanelItem.js +40 -0
- package/dist/editor/sidebar/NavigationPanelItem.js.map +1 -0
- package/dist/editor/sidebar/NavigationPanelMenuItem.d.ts +16 -0
- package/dist/editor/sidebar/NavigationPanelMenuItem.js +21 -0
- package/dist/editor/sidebar/NavigationPanelMenuItem.js.map +1 -0
- package/dist/editor/sidebar/NavigationSidebar.js +38 -37
- package/dist/editor/sidebar/NavigationSidebar.js.map +1 -1
- package/dist/editor/sidebar/SidebarPanel.js +2 -2
- package/dist/editor/sidebar/SidebarPanel.js.map +1 -1
- package/dist/editor/sidebar/WorkspaceButton.d.ts +10 -0
- package/dist/editor/sidebar/WorkspaceButton.js +13 -0
- package/dist/editor/sidebar/WorkspaceButton.js.map +1 -0
- package/dist/editor/sidebar/WorkspaceRail.d.ts +0 -1
- package/dist/editor/sidebar/WorkspaceRail.js +55 -167
- package/dist/editor/sidebar/WorkspaceRail.js.map +1 -1
- package/dist/editor/sidebar/WorkspaceRailMobile.d.ts +4 -0
- package/dist/editor/sidebar/WorkspaceRailMobile.js +37 -0
- package/dist/editor/sidebar/WorkspaceRailMobile.js.map +1 -0
- package/dist/editor/views/SingleEditView.js +1 -1
- package/dist/editor/views/SingleEditView.js.map +1 -1
- package/dist/editor/views/editorSlotContext.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/task-board/TaskBoardWorkspace.js +109 -32
- package/dist/task-board/TaskBoardWorkspace.js.map +1 -1
- package/dist/task-board/components/CommentsList.d.ts +2 -0
- package/dist/task-board/components/CommentsList.js +50 -7
- package/dist/task-board/components/CommentsList.js.map +1 -1
- package/dist/task-board/components/CreateProjectDialog.js +11 -9
- package/dist/task-board/components/CreateProjectDialog.js.map +1 -1
- package/dist/task-board/components/ProjectDashboard.js +25 -15
- package/dist/task-board/components/ProjectDashboard.js.map +1 -1
- package/dist/task-board/components/ProjectSettingsDialog.js +21 -19
- package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -1
- package/dist/task-board/components/TaskAgentPanel.d.ts +5 -0
- package/dist/task-board/components/TaskAgentPanel.js +8 -2
- package/dist/task-board/components/TaskAgentPanel.js.map +1 -1
- package/dist/task-board/components/TaskBoardTitlebar.js +4 -4
- package/dist/task-board/components/TaskBoardTitlebar.js.map +1 -1
- package/dist/task-board/components/TaskDetailPanel.js +43 -17
- package/dist/task-board/components/TaskDetailPanel.js.map +1 -1
- package/dist/task-board/components/TaskRow.js +12 -10
- package/dist/task-board/components/TaskRow.js.map +1 -1
- package/dist/task-board/index.d.ts +1 -1
- package/dist/task-board/services/taskService.d.ts +4 -1
- package/dist/task-board/services/taskService.js +3 -0
- package/dist/task-board/services/taskService.js.map +1 -1
- package/dist/task-board/taskStatus.d.ts +1 -0
- package/dist/task-board/taskStatus.js +9 -0
- package/dist/task-board/taskStatus.js.map +1 -1
- package/dist/task-board/types.d.ts +3 -0
- package/dist/task-board/utils/projectHierarchy.js +0 -1
- package/dist/task-board/utils/projectHierarchy.js.map +1 -1
- package/dist/task-board/views/KanbanView.js +2 -2
- package/dist/task-board/views/KanbanView.js.map +1 -1
- package/dist/task-board/views/ListView.js +7 -7
- package/dist/task-board/views/ListView.js.map +1 -1
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@ import { Badge } from "../../components/ui/badge";
|
|
|
6
6
|
import { Label } from "../../components/ui/label";
|
|
7
7
|
import { Textarea } from "../../components/ui/textarea";
|
|
8
8
|
import { Select } from "../../components/ui/select";
|
|
9
|
-
import { Plus, Link as LinkIcon, Trash2, X, Loader2 } from "lucide-react";
|
|
9
|
+
import { Plus, Link as LinkIcon, Trash2, X, Loader2, MessageSquare } from "lucide-react";
|
|
10
10
|
import { useEditContext } from "../../editor/client/editContext";
|
|
11
11
|
import { addComment, updateTask, deleteTask } from "../services/taskService";
|
|
12
12
|
import { CommentsList } from "./CommentsList";
|
|
@@ -16,7 +16,7 @@ import { AddDependencyDialog } from "./AddDependencyDialog";
|
|
|
16
16
|
import { getTaskExecutionDisplay } from "../taskExecutionStatus";
|
|
17
17
|
import { getLinkedAgentId } from "../taskAgentLink";
|
|
18
18
|
import { TaskAssigneePicker } from "./TaskAssigneePicker";
|
|
19
|
-
import { stripAgentConfigFromResultData
|
|
19
|
+
import { stripAgentConfigFromResultData } from "../taskAgentConfig";
|
|
20
20
|
const statuses = [
|
|
21
21
|
{ value: "Todo", label: "Todo" },
|
|
22
22
|
{ value: "InProgress", label: "In progress" },
|
|
@@ -31,8 +31,9 @@ const priorities = [
|
|
|
31
31
|
{ value: "Critical", label: "Critical" },
|
|
32
32
|
];
|
|
33
33
|
export function TaskDetailPanel(props) {
|
|
34
|
-
const { project, task, allTasks, dependencies, onTaskChanged, onSelectTask, onClose, variant = "panel", agentStatusesById = {} } = props;
|
|
34
|
+
const { project, task, allTasks, dependencies, onTaskChanged, onSelectTask, onClose, variant = "panel", agentStatusesById = {}, } = props;
|
|
35
35
|
const [commentText, setCommentText] = useState("");
|
|
36
|
+
const [commentRefreshKey, setCommentRefreshKey] = useState(0);
|
|
36
37
|
const [isCreateSubtaskOpen, setIsCreateSubtaskOpen] = useState(false);
|
|
37
38
|
const [isAddDependencyOpen, setIsAddDependencyOpen] = useState(false);
|
|
38
39
|
const [localDescription, setLocalDescription] = useState(task?.description ?? "");
|
|
@@ -40,13 +41,17 @@ export function TaskDetailPanel(props) {
|
|
|
40
41
|
const editContext = useEditContext();
|
|
41
42
|
const getStatusForTask = useCallback((taskItem) => {
|
|
42
43
|
const linkedAgentId = getLinkedAgentId(taskItem);
|
|
43
|
-
return linkedAgentId
|
|
44
|
+
return linkedAgentId
|
|
45
|
+
? agentStatusesById[linkedAgentId.toLowerCase()]
|
|
46
|
+
: undefined;
|
|
44
47
|
}, [agentStatusesById]);
|
|
45
48
|
const canEdit = project?.permission === "Owner" || project?.permission === "Editor";
|
|
46
49
|
const isPlanTask = useMemo(() => {
|
|
47
50
|
const t = task?.taskType;
|
|
48
|
-
|
|
49
|
-
|
|
51
|
+
if (typeof t === "string" && t.toLowerCase() === "plan")
|
|
52
|
+
return true;
|
|
53
|
+
return (task?.title ?? "").trim() === "Project Plan";
|
|
54
|
+
}, [task?.taskType, task?.title]);
|
|
50
55
|
// Sync local state when the task changes
|
|
51
56
|
useEffect(() => {
|
|
52
57
|
setLocalDescription(task?.description ?? "");
|
|
@@ -60,7 +65,10 @@ export function TaskDetailPanel(props) {
|
|
|
60
65
|
const trimmed = localDescription.trim();
|
|
61
66
|
if (trimmed === (task.description ?? "").trim())
|
|
62
67
|
return;
|
|
63
|
-
const result = await updateTask({
|
|
68
|
+
const result = await updateTask({
|
|
69
|
+
taskId: task.taskId,
|
|
70
|
+
description: trimmed || undefined,
|
|
71
|
+
});
|
|
64
72
|
if (result.type !== "success") {
|
|
65
73
|
toast.error(result.summary || "Failed to update description");
|
|
66
74
|
return;
|
|
@@ -73,7 +81,10 @@ export function TaskDetailPanel(props) {
|
|
|
73
81
|
const trimmed = localResultData.trim();
|
|
74
82
|
if (trimmed === (task.resultData ?? "").trim())
|
|
75
83
|
return;
|
|
76
|
-
const result = await updateTask({
|
|
84
|
+
const result = await updateTask({
|
|
85
|
+
taskId: task.taskId,
|
|
86
|
+
resultData: trimmed || null,
|
|
87
|
+
});
|
|
77
88
|
if (result.type !== "success") {
|
|
78
89
|
toast.error(result.summary || "Failed to update plan");
|
|
79
90
|
return;
|
|
@@ -142,19 +153,20 @@ export function TaskDetailPanel(props) {
|
|
|
142
153
|
toast.error(result.summary || "Failed to update task");
|
|
143
154
|
return;
|
|
144
155
|
}
|
|
145
|
-
toast.success("Task updated");
|
|
146
156
|
await onTaskChanged();
|
|
147
157
|
};
|
|
148
158
|
const setPriority = async (priority) => {
|
|
149
159
|
if (!task)
|
|
150
160
|
return;
|
|
151
161
|
const nextPriority = priority === "none" ? null : priority;
|
|
152
|
-
const result = await updateTask({
|
|
162
|
+
const result = await updateTask({
|
|
163
|
+
taskId: task.taskId,
|
|
164
|
+
priority: nextPriority,
|
|
165
|
+
});
|
|
153
166
|
if (result.type !== "success") {
|
|
154
167
|
toast.error(result.summary || "Failed to update task");
|
|
155
168
|
return;
|
|
156
169
|
}
|
|
157
|
-
toast.success("Task updated");
|
|
158
170
|
await onTaskChanged();
|
|
159
171
|
};
|
|
160
172
|
const setAssignee = async (assignee) => {
|
|
@@ -174,7 +186,9 @@ export function TaskDetailPanel(props) {
|
|
|
174
186
|
toast.error(result.summary || "Failed to assign user");
|
|
175
187
|
return;
|
|
176
188
|
}
|
|
177
|
-
|
|
189
|
+
if (!assignee) {
|
|
190
|
+
toast.success("Assignee cleared");
|
|
191
|
+
}
|
|
178
192
|
await onTaskChanged();
|
|
179
193
|
};
|
|
180
194
|
const upsertAssignee = async (selection) => {
|
|
@@ -212,7 +226,6 @@ export function TaskDetailPanel(props) {
|
|
|
212
226
|
toast.error(result.summary || "Failed to assign agent profile");
|
|
213
227
|
return;
|
|
214
228
|
}
|
|
215
|
-
toast.success("Assignee updated");
|
|
216
229
|
await onTaskChanged();
|
|
217
230
|
};
|
|
218
231
|
const submitComment = async () => {
|
|
@@ -220,12 +233,16 @@ export function TaskDetailPanel(props) {
|
|
|
220
233
|
return;
|
|
221
234
|
if (!commentText.trim())
|
|
222
235
|
return;
|
|
223
|
-
const result = await addComment({
|
|
236
|
+
const result = await addComment({
|
|
237
|
+
taskId: task.taskId,
|
|
238
|
+
text: commentText.trim(),
|
|
239
|
+
});
|
|
224
240
|
if (result.type !== "success") {
|
|
225
241
|
toast.error(result.summary || "Failed to add comment");
|
|
226
242
|
return;
|
|
227
243
|
}
|
|
228
244
|
setCommentText("");
|
|
245
|
+
setCommentRefreshKey((k) => k + 1);
|
|
229
246
|
toast.success("Comment added");
|
|
230
247
|
await onTaskChanged();
|
|
231
248
|
};
|
|
@@ -235,7 +252,10 @@ export function TaskDetailPanel(props) {
|
|
|
235
252
|
// Get all tasks except the current one
|
|
236
253
|
const otherTasks = allTasks.filter((t) => t.taskId !== task.taskId);
|
|
237
254
|
// Build options from available tasks
|
|
238
|
-
const options = otherTasks.map((t) => ({
|
|
255
|
+
const options = otherTasks.map((t) => ({
|
|
256
|
+
value: t.taskId,
|
|
257
|
+
label: formatTaskLabel(t),
|
|
258
|
+
}));
|
|
239
259
|
// If there's a parent task that's not in the options, add it
|
|
240
260
|
if (task.parentTaskId) {
|
|
241
261
|
const parentExists = options.some((opt) => opt.value === task.parentTaskId);
|
|
@@ -292,7 +312,7 @@ export function TaskDetailPanel(props) {
|
|
|
292
312
|
return;
|
|
293
313
|
let message = `Are you sure you want to delete "${task.title}"?`;
|
|
294
314
|
if (descendantCount > 0) {
|
|
295
|
-
message += `\n\nThis will also delete ${descendantCount} ${descendantCount === 1 ?
|
|
315
|
+
message += `\n\nThis will also delete ${descendantCount} ${descendantCount === 1 ? "subtask" : "subtasks"} (including nested subtasks).`;
|
|
296
316
|
}
|
|
297
317
|
message += "\n\nThis action cannot be undone.";
|
|
298
318
|
editContext.confirm({
|
|
@@ -317,6 +337,12 @@ export function TaskDetailPanel(props) {
|
|
|
317
337
|
return null;
|
|
318
338
|
return getTaskExecutionDisplay(task.executionStatus, getStatusForTask(task), task.status);
|
|
319
339
|
}, [task, getStatusForTask]);
|
|
320
|
-
return (_jsxs("div", { className: `flex h-full flex-col bg-slate-50/50 ${variant === "panel" ? "border-t" : ""}`, children: [_jsx("div", { className: "flex flex-col border-b bg-white p-4 shadow-sm", children: _jsxs("div", { className: "flex items-start justify-between gap-4", children: [_jsxs("div", { className: "min-w-0 flex-1 space-y-1", children: [_jsxs("div", { className: "flex items-center gap-2 min-w-0", children: [task && (_jsx(Badge, { variant: "outline", className: "h-5 px-1.5 text-[10px] font-bold uppercase tracking-tight shrink-0 bg-slate-50 text-slate-500 border-slate-200", children: displayTaskId })), _jsx("h2", { className: "truncate text-base font-bold tracking-tight text-slate-900 leading-none", children: title })] }), task ? (_jsxs("div", { className: "flex flex-wrap items-center gap-2 pt-1", children: [_jsx(Select, { value: task.status, onValueChange: (v) => setStatus(v), disabled: !canEdit, options: statuses, className: "h-7 w-[130px] text-xs font-medium" }), _jsx(Select, { value: task.priority ?? "none", onValueChange: (v) => setPriority(v), disabled: !canEdit, options: priorities, className: "h-7 w-[140px] text-xs font-medium" }), !isPlanTask && project && (_jsx(TaskAssigneePicker, { projectId: project.project.projectId, assigneeType: task.assigneeType ?? null, value: task.assigneeId ?? null, displayValue: task.assigneeDisplayName ?? task.assigneeId ?? null, disabled: !canEdit, onChange: upsertAssignee, placeholder: "Assign user or agent" })), executionDisplay && (_jsxs(Badge, { variant: executionDisplay.variant, className: `h-5 gap-1 text-[10px] font-bold uppercase tracking-wider ${executionDisplay.className || ""}`, children: [executionDisplay.showSpinner && _jsx(Loader2, { className: "h-2.5 w-2.5 animate-spin" }), executionDisplay.label] }))] })) : (_jsx("div", { className: "truncate text-sm text-muted-foreground italic", children: "No task selected" }))] }), _jsxs("div", { className: "flex items-center gap-1 shrink-0", children: [task && canEdit && (_jsx(Button, { variant: "ghost", size: "icon", onClick: handleDelete, className: "h-8 w-8 text-slate-400 hover:text-destructive hover:bg-destructive/5", title: "Delete task", children: _jsx(Trash2, { className: "h-4 w-4" }) })), _jsx(Button, { variant: "ghost", size: "icon", onClick: onClose, className: "h-8 w-8 text-slate-400 hover:text-slate-600 hover:bg-slate-100", title: "Close", children: _jsx(X, { className: "h-4 w-4" }) })] })] }) }), _jsx("div", { className: compactPanel ? "min-h-0 flex-1 overflow-auto bg-slate-50/30 p-4" : "min-h-0 flex-1 overflow-auto bg-slate-50/30 p-6", children: !task ? (_jsx("div", { className: "flex h-full items-center justify-center text-sm text-muted-foreground italic", children: "Select a task to view details." })) : (_jsxs("div", { className: compactPanel ? "grid gap-6" : "grid gap-8", children: [_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { className: "text-[11px] font-bold uppercase tracking-wider text-slate-500", children: "Description" }), _jsx(Textarea, { value: localDescription, onChange: (e) => setLocalDescription(e.target.value), onBlur: () => void saveDescription(), rows: compactPanel ? 2 : 3, placeholder: "Add a description\u2026", disabled: !canEdit, className: "resize-none bg-white text-[13px] leading-relaxed shadow-sm focus-visible:ring-1" })] }), isPlanTask && (_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { className: "text-[11px] font-bold uppercase tracking-wider text-slate-500", children: "Plan" }), _jsx(Textarea, { value: localResultData, onChange: (e) => setLocalResultData(e.target.value), onBlur: () => void saveResultData(), rows: compactPanel ? 6 : 10, placeholder: "Write the plan\u2026", disabled: !canEdit, className: "min-h-[200px] bg-white font-mono text-[12px] leading-relaxed shadow-sm focus-visible:ring-1" }), _jsxs("div", { className: "text-[11px] text-slate-500 bg-blue-50/50 border border-blue-100 rounded px-2 py-1.5", children: [_jsx("span", { className: "font-semibold text-blue-700", children: "Approval:" }), " Move this plan task to ", _jsx("span", { className: "font-bold text-blue-800", children: "Done" }), " to approve."] })] })), compactPanel && (_jsxs("div", { className: "grid gap-6 border-t border-slate-200/60 pt-6", children: [_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { className: "text-[11px] font-bold uppercase tracking-wider text-slate-500", children: "Subtasks" }), childTasks.length > 0 ? (_jsx("div", { className: "grid gap-1.5", children: childTasks.map((child) => (_jsxs("button", { type: "button", onClick: () => onSelectTask(child.taskId), className: "group flex items-center gap-2 truncate rounded-md border border-slate-200 bg-white px-3 py-2 text-left text-xs transition-colors hover:border-slate-300 hover:bg-slate-50", children: [_jsx(Badge, { variant: "outline", className: "h-4 px-1 text-[8px] font-bold bg-slate-50 text-slate-400 border-slate-200 group-hover:border-slate-300", children: child.taskKey || child.taskId.slice(0, 4) }), _jsx("span", { className: "truncate font-medium text-slate-700", children: child.title })] }, child.taskId))) })) : (_jsx("div", { className: "text-[11px] text-slate-400 italic", children: "No subtasks." }))] }), _jsxs("div", { className: "grid gap-3", children: [_jsx(Label, { className: "text-[11px] font-bold uppercase tracking-wider text-slate-500", children: "Dependencies" }), blockedByTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold uppercase tracking-wider text-slate-400", children: "Blocked By" }), _jsx("div", { className: "grid gap-1.5", children: blockedByTasks.map((blocking) => (_jsxs("button", { type: "button", onClick: () => onSelectTask(blocking.taskId), className: "group flex items-center gap-2 truncate rounded-md border border-slate-200 bg-white px-3 py-2 text-left text-xs transition-colors hover:border-slate-300 hover:bg-slate-50", children: [_jsx(Badge, { variant: "outline", className: "h-4 px-1 text-[8px] font-bold bg-slate-50 text-slate-400 border-slate-200 group-hover:border-slate-300", children: blocking.taskKey || blocking.taskId.slice(0, 4) }), _jsx("span", { className: "truncate font-medium text-slate-700", children: blocking.title })] }, blocking.taskId))) })] })), blockingTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold uppercase tracking-wider text-slate-400", children: "Blocks" }), _jsx("div", { className: "grid gap-1.5", children: blockingTasks.map((blocked) => (_jsxs("button", { type: "button", onClick: () => onSelectTask(blocked.taskId), className: "group flex items-center gap-2 truncate rounded-md border border-slate-200 bg-white px-3 py-2 text-left text-xs transition-colors hover:border-slate-300 hover:bg-slate-50", children: [_jsx(Badge, { variant: "outline", className: "h-4 px-1 text-[8px] font-bold bg-slate-50 text-slate-400 border-slate-200 group-hover:border-slate-300", children: blocked.taskKey || blocked.taskId.slice(0, 4) }), _jsx("span", { className: "truncate font-medium text-slate-700", children: blocked.title })] }, blocked.taskId))) })] })), relatedTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold uppercase tracking-wider text-slate-400", children: "Related To" }), _jsx("div", { className: "grid gap-1.5", children: relatedTasks.map((related) => (_jsxs("button", { type: "button", onClick: () => onSelectTask(related.taskId), className: "group flex items-center gap-2 truncate rounded-md border border-slate-200 bg-white px-3 py-2 text-left text-xs transition-colors hover:border-slate-300 hover:bg-slate-50", children: [_jsx(Badge, { variant: "outline", className: "h-4 px-1 text-[8px] font-bold bg-slate-50 text-slate-400 border-slate-200 group-hover:border-slate-300", children: related.taskKey || related.taskId.slice(0, 4) }), _jsx("span", { className: "truncate font-medium text-slate-700", children: related.title })] }, related.taskId))) })] })), blockedByTasks.length === 0 && blockingTasks.length === 0 && relatedTasks.length === 0 && (_jsx("div", { className: "text-[11px] text-slate-400 italic", children: "No dependencies." }))] })] })), !compactPanel && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { className: "text-[11px] font-bold uppercase tracking-wider text-slate-500", children: "Parent Task" }), _jsx(Select, { value: currentParentValue, onValueChange: setParent, disabled: !canEdit, options: parentOptions, className: "bg-white text-[13px] shadow-sm" })] }), _jsxs("div", { className: "grid gap-2 pt-2", children: [_jsxs(Label, { className: "flex items-center justify-between text-[11px] font-bold uppercase tracking-wider text-slate-500", children: ["Subtasks ", childTasks.length > 0 && `(${childTasks.length})`, canEdit && (_jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-slate-400 hover:text-slate-600", onClick: () => setIsCreateSubtaskOpen(true), title: "Add subtask", children: _jsx(Plus, { className: "h-3 w-3" }) }))] }), childTasks.length > 0 ? (_jsx("div", { className: "grid gap-2", children: childTasks.map((child) => (_jsx(TaskCard, { task: child, selected: false, onClick: () => onSelectTask(child.taskId), dependencyTaskIds: getDependencyTaskIds(child.taskId), assignedAgentStatus: getStatusForTask(child) }, child.taskId))) })) : (_jsx("div", { className: "text-[11px] text-slate-400 italic", children: "No subtasks." }))] }), _jsxs("div", { className: "grid gap-4 border-t border-slate-200/60 pt-6", children: [_jsxs(Label, { className: "flex items-center justify-between text-[11px] font-bold uppercase tracking-wider text-slate-500", children: ["Relationships", canEdit && (_jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-slate-400 hover:text-slate-600", onClick: () => setIsAddDependencyOpen(true), title: "Add relationship", children: _jsx(LinkIcon, { className: "h-3 w-3" }) }))] }), _jsxs("div", { className: "grid gap-6", children: [blockedByTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold uppercase tracking-wider text-slate-400", children: "Blocked By" }), _jsx("div", { className: "grid gap-2", children: blockedByTasks.map((blocking) => (_jsx(TaskCard, { task: blocking, selected: false, onClick: () => onSelectTask(blocking.taskId), dependencyTaskIds: getDependencyTaskIds(blocking.taskId), assignedAgentStatus: getStatusForTask(blocking) }, blocking.taskId))) })] })), blockingTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold uppercase tracking-wider text-slate-400", children: "Blocks" }), _jsx("div", { className: "grid gap-2", children: blockingTasks.map((blocked) => (_jsx(TaskCard, { task: blocked, selected: false, onClick: () => onSelectTask(blocked.taskId), dependencyTaskIds: getDependencyTaskIds(blocked.taskId), assignedAgentStatus: getStatusForTask(blocked) }, blocked.taskId))) })] })), relatedTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold uppercase tracking-wider text-slate-400", children: "Related To" }), _jsx("div", { className: "grid gap-2", children: relatedTasks.map((related) => (_jsx(TaskCard, { task: related, selected: false, onClick: () => onSelectTask(related.taskId), dependencyTaskIds: getDependencyTaskIds(related.taskId), assignedAgentStatus: getStatusForTask(related) }, related.taskId))) })] })), blockedByTasks.length === 0 && blockingTasks.length === 0 && relatedTasks.length === 0 && (_jsx("div", { className: "text-[11px] text-slate-400 italic", children: "No relationships defined." }))] })] }), _jsxs("div", { className: "grid gap-3 border-t border-slate-200/60 pt-6", children: [_jsx(Label, { className: "text-[11px] font-bold uppercase tracking-wider text-slate-500", children: "Comments" }), _jsxs("div", { className: "grid gap-2", children: [_jsx(Textarea, { value: commentText, onChange: (e) => setCommentText(e.target.value), rows: 3, placeholder: "Write a comment\u2026", disabled: !canEdit, className: "resize-none bg-white text-[13px] shadow-sm focus-visible:ring-1" }), _jsx("div", { className: "flex justify-end", children: _jsx(Button, { size: "sm", onClick: submitComment, disabled: !canEdit || !commentText.trim(), className: "px-4", children: "Post comment" }) })] }), _jsx("div", { className: "pt-2", children: _jsx(CommentsList, { taskId: task.taskId }) })] })] }))] })) }), task && project && (_jsxs(_Fragment, { children: [_jsx(CreateTaskDialog, { open: isCreateSubtaskOpen, onOpenChange: setIsCreateSubtaskOpen, projectId: project.project.projectId, parentTaskId: task.taskId, onCreated: onTaskChanged }), _jsx(AddDependencyDialog, { open: isAddDependencyOpen, onOpenChange: setIsAddDependencyOpen, task: task, allTasks: allTasks, onCreated: onTaskChanged })] }))] }));
|
|
340
|
+
return (_jsxs("div", { "data-testid": "taskboard-task-detail-panel", className: `flex h-full flex-col bg-slate-50/50 ${variant === "panel" ? "border-t" : ""}`, children: [_jsx("div", { className: "flex flex-col border-b bg-white p-4 shadow-sm", children: _jsxs("div", { className: "flex items-start justify-between gap-4", children: [_jsxs("div", { className: "min-w-0 flex-1 space-y-1", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [task && (_jsx(Badge, { variant: "outline", className: "h-5 shrink-0 border-slate-200 bg-slate-50 px-1.5 text-[10px] font-bold tracking-tight text-slate-500 uppercase", children: displayTaskId })), _jsx("h2", { className: "truncate text-base leading-none font-bold tracking-tight text-slate-900", "data-testid": "taskboard-task-detail-title", children: title })] }), task ? (_jsxs("div", { className: "flex flex-wrap items-center gap-2 pt-1", children: [_jsx(Select, { "data-testid": "taskboard-task-detail-status-select", value: task.status, onValueChange: (v) => setStatus(v), disabled: !canEdit, options: statuses, className: "h-7 w-[130px] text-xs font-medium" }), _jsx(Select, { "data-testid": "taskboard-task-detail-priority-select", value: task.priority ?? "none", onValueChange: (v) => setPriority(v), disabled: !canEdit, options: priorities, className: "h-7 w-[140px] text-xs font-medium" }), !isPlanTask && project && (_jsx(TaskAssigneePicker, { projectId: project.project.projectId, assigneeType: task.assigneeType ?? null, value: task.assigneeId ?? null, displayValue: task.assigneeDisplayName ?? task.assigneeId ?? null, disabled: !canEdit, onChange: upsertAssignee, placeholder: "Assign user or agent" })), executionDisplay && (_jsxs(Badge, { variant: executionDisplay.variant, className: `h-5 gap-1 text-[10px] font-bold tracking-wider uppercase ${executionDisplay.className || ""}`, children: [executionDisplay.showSpinner && (_jsx(Loader2, { className: "h-2.5 w-2.5 animate-spin" })), executionDisplay.label] }))] })) : (_jsx("div", { className: "text-muted-foreground truncate text-sm italic", children: "No task selected" }))] }), _jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [task && canEdit && (_jsx(Button, { variant: "ghost", size: "icon", onClick: handleDelete, className: "hover:text-destructive hover:bg-destructive/5 h-8 w-8 text-slate-400", title: "Delete task", "data-testid": "taskboard-task-detail-delete-button", children: _jsx(Trash2, { className: "h-4 w-4" }) })), _jsx(Button, { variant: "ghost", size: "icon", onClick: onClose, className: "h-8 w-8 text-slate-400 hover:bg-slate-100 hover:text-slate-600", title: "Close", "data-testid": "taskboard-task-detail-close-button", children: _jsx(X, { className: "h-4 w-4" }) })] })] }) }), _jsx("div", { className: compactPanel
|
|
341
|
+
? "min-h-0 flex-1 overflow-auto bg-slate-50/30 p-4"
|
|
342
|
+
: "min-h-0 flex-1 overflow-auto bg-slate-50/30 p-6", children: !task ? (_jsx("div", { className: "text-muted-foreground flex h-full items-center justify-center text-sm italic", children: "Select a task to view details." })) : (_jsxs("div", { className: compactPanel ? "grid gap-6" : "grid gap-8", children: [_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { className: "text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: "Description" }), _jsx(Textarea, { "data-testid": "taskboard-task-detail-description", value: localDescription, onChange: (e) => setLocalDescription(e.target.value), onBlur: () => void saveDescription(), rows: compactPanel ? 2 : 3, placeholder: "Add a description\u2026", disabled: !canEdit, className: "resize-none bg-white text-[13px] leading-relaxed shadow-sm focus-visible:ring-1" })] }), isPlanTask && (_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { className: "text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: "Plan" }), _jsx(Textarea, { "data-testid": "taskboard-task-detail-plan", value: localResultData, onChange: (e) => setLocalResultData(e.target.value), onBlur: () => void saveResultData(), rows: compactPanel ? 6 : 10, placeholder: "Write the plan\u2026", disabled: !canEdit, className: "min-h-[200px] bg-white font-mono text-[12px] leading-relaxed shadow-sm focus-visible:ring-1" }), _jsxs("div", { className: "rounded border border-blue-100 bg-blue-50/50 px-2 py-1.5 text-[11px] text-slate-500", "data-testid": "taskboard-task-plan-approval-hint", children: [_jsx("span", { className: "font-semibold text-blue-700", children: "Approval:" }), " ", "Move this plan task to", " ", _jsx("span", { className: "font-bold text-blue-800", children: "Done" }), " to approve."] })] })), compactPanel && (_jsxs("div", { className: "grid gap-6 border-t border-slate-200/60 pt-6", children: [_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { className: "text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: "Subtasks" }), childTasks.length > 0 ? (_jsx("div", { className: "grid gap-1.5", children: childTasks.map((child) => (_jsxs("button", { type: "button", onClick: () => onSelectTask(child.taskId), className: "group flex items-center gap-2 truncate rounded-md border border-slate-200 bg-white px-3 py-2 text-left text-xs transition-colors hover:border-slate-300 hover:bg-slate-50", children: [_jsx(Badge, { variant: "outline", className: "h-4 border-slate-200 bg-slate-50 px-1 text-[8px] font-bold text-slate-400 group-hover:border-slate-300", children: child.taskKey || child.taskId.slice(0, 4) }), _jsx("span", { className: "truncate font-medium text-slate-700", children: child.title })] }, child.taskId))) })) : (_jsx("div", { className: "text-[11px] text-slate-400 italic", children: "No subtasks." }))] }), _jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { className: "text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: "Dependencies" }), blockedByTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Blocked By" }), _jsx("div", { className: "grid gap-1.5", children: blockedByTasks.map((blocking) => (_jsxs("button", { type: "button", onClick: () => onSelectTask(blocking.taskId), className: "group flex items-center gap-2 truncate rounded-md border border-slate-200 bg-white px-3 py-2 text-left text-xs transition-colors hover:border-slate-300 hover:bg-slate-50", children: [_jsx(Badge, { variant: "outline", className: "h-4 border-slate-200 bg-slate-50 px-1 text-[8px] font-bold text-slate-400 group-hover:border-slate-300", children: blocking.taskKey || blocking.taskId.slice(0, 4) }), _jsx("span", { className: "truncate font-medium text-slate-700", children: blocking.title })] }, blocking.taskId))) })] })), blockingTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Blocks" }), _jsx("div", { className: "grid gap-1.5", children: blockingTasks.map((blocked) => (_jsxs("button", { type: "button", onClick: () => onSelectTask(blocked.taskId), className: "group flex items-center gap-2 truncate rounded-md border border-slate-200 bg-white px-3 py-2 text-left text-xs transition-colors hover:border-slate-300 hover:bg-slate-50", children: [_jsx(Badge, { variant: "outline", className: "h-4 border-slate-200 bg-slate-50 px-1 text-[8px] font-bold text-slate-400 group-hover:border-slate-300", children: blocked.taskKey || blocked.taskId.slice(0, 4) }), _jsx("span", { className: "truncate font-medium text-slate-700", children: blocked.title })] }, blocked.taskId))) })] })), relatedTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Related To" }), _jsx("div", { className: "grid gap-1.5", children: relatedTasks.map((related) => (_jsxs("button", { type: "button", onClick: () => onSelectTask(related.taskId), className: "group flex items-center gap-2 truncate rounded-md border border-slate-200 bg-white px-3 py-2 text-left text-xs transition-colors hover:border-slate-300 hover:bg-slate-50", children: [_jsx(Badge, { variant: "outline", className: "h-4 border-slate-200 bg-slate-50 px-1 text-[8px] font-bold text-slate-400 group-hover:border-slate-300", children: related.taskKey || related.taskId.slice(0, 4) }), _jsx("span", { className: "truncate font-medium text-slate-700", children: related.title })] }, related.taskId))) })] })), blockedByTasks.length === 0 &&
|
|
343
|
+
blockingTasks.length === 0 &&
|
|
344
|
+
relatedTasks.length === 0 && (_jsx("div", { className: "text-[11px] text-slate-400 italic", children: "No dependencies." }))] })] })), !compactPanel && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "grid gap-2", children: [_jsx(Label, { className: "text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: "Parent Task" }), _jsx(Select, { value: currentParentValue, onValueChange: setParent, disabled: !canEdit, options: parentOptions, className: "bg-white text-[13px] shadow-sm" })] }), _jsxs("div", { className: "grid gap-2 pt-2", children: [_jsxs(Label, { className: "flex items-center justify-between text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: ["Subtasks ", childTasks.length > 0 && `(${childTasks.length})`, canEdit && (_jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-slate-400 hover:text-slate-600", onClick: () => setIsCreateSubtaskOpen(true), title: "Add subtask", children: _jsx(Plus, { className: "h-3 w-3" }) }))] }), childTasks.length > 0 ? (_jsx("div", { className: "grid gap-2", children: childTasks.map((child) => (_jsx(TaskCard, { task: child, selected: false, onClick: () => onSelectTask(child.taskId), dependencyTaskIds: getDependencyTaskIds(child.taskId), assignedAgentStatus: getStatusForTask(child) }, child.taskId))) })) : (_jsx("div", { className: "text-[11px] text-slate-400 italic", children: "No subtasks." }))] }), _jsxs("div", { className: "grid gap-4 border-t border-slate-200/60 pt-6", children: [_jsxs(Label, { className: "flex items-center justify-between text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: ["Relationships", canEdit && (_jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-slate-400 hover:text-slate-600", onClick: () => setIsAddDependencyOpen(true), title: "Add relationship", children: _jsx(LinkIcon, { className: "h-3 w-3" }) }))] }), _jsxs("div", { className: "grid gap-6", children: [blockedByTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Blocked By" }), _jsx("div", { className: "grid gap-2", children: blockedByTasks.map((blocking) => (_jsx(TaskCard, { task: blocking, selected: false, onClick: () => onSelectTask(blocking.taskId), dependencyTaskIds: getDependencyTaskIds(blocking.taskId), assignedAgentStatus: getStatusForTask(blocking) }, blocking.taskId))) })] })), blockingTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Blocks" }), _jsx("div", { className: "grid gap-2", children: blockingTasks.map((blocked) => (_jsx(TaskCard, { task: blocked, selected: false, onClick: () => onSelectTask(blocked.taskId), dependencyTaskIds: getDependencyTaskIds(blocked.taskId), assignedAgentStatus: getStatusForTask(blocked) }, blocked.taskId))) })] })), relatedTasks.length > 0 && (_jsxs("div", { className: "grid gap-2", children: [_jsx("div", { className: "text-[10px] font-bold tracking-wider text-slate-400 uppercase", children: "Related To" }), _jsx("div", { className: "grid gap-2", children: relatedTasks.map((related) => (_jsx(TaskCard, { task: related, selected: false, onClick: () => onSelectTask(related.taskId), dependencyTaskIds: getDependencyTaskIds(related.taskId), assignedAgentStatus: getStatusForTask(related) }, related.taskId))) })] })), blockedByTasks.length === 0 &&
|
|
345
|
+
blockingTasks.length === 0 &&
|
|
346
|
+
relatedTasks.length === 0 && (_jsx("div", { className: "text-[11px] text-slate-400 italic", children: "No relationships defined." }))] })] })] })), _jsxs("div", { className: "grid gap-4 border-t border-slate-200/60 pt-6", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(MessageSquare, { className: "h-4 w-4 text-slate-400" }), _jsx("span", { className: "text-[11px] font-bold tracking-wider text-slate-500 uppercase", children: "Add Comment" })] }), _jsxs("div", { className: "grid gap-3", children: [_jsx(Textarea, { value: commentText, onChange: (e) => setCommentText(e.target.value), rows: 3, placeholder: "Write a comment\u2026", disabled: !canEdit, className: "resize-none bg-white text-[13px] leading-relaxed shadow-sm transition-all focus-visible:ring-1 focus-visible:ring-slate-300" }), _jsx("div", { className: "flex justify-end", children: _jsx(Button, { size: "sm", onClick: submitComment, disabled: !canEdit || !commentText.trim(), className: "h-8 px-4 text-xs font-semibold", children: "Post comment" }) })] }), _jsx("div", { className: "mt-2", children: _jsx(CommentsList, { taskId: task.taskId, refreshKey: commentRefreshKey, currentUsername: editContext?.user?.name ?? null }) })] })] })) }), task && project && (_jsxs(_Fragment, { children: [_jsx(CreateTaskDialog, { open: isCreateSubtaskOpen, onOpenChange: setIsCreateSubtaskOpen, projectId: project.project.projectId, parentTaskId: task.taskId, onCreated: onTaskChanged }), _jsx(AddDependencyDialog, { open: isAddDependencyOpen, onOpenChange: setIsAddDependencyOpen, task: task, allTasks: allTasks, onCreated: onTaskChanged })] }))] }));
|
|
321
347
|
}
|
|
322
348
|
//# sourceMappingURL=TaskDetailPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskDetailPanel.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskDetailPanel.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TaskDetailPanel.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskDetailPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { cn } from "../../lib/utils";
|
|
3
|
-
import { Loader2, User, Bot, Trash2 } from "lucide-react";
|
|
3
|
+
import { Loader2, User, Bot, Trash2, Circle, AlertTriangle } from "lucide-react";
|
|
4
4
|
import { Badge } from "../../components/ui/badge";
|
|
5
5
|
import { getTaskExecutionDisplay } from "../taskExecutionStatus";
|
|
6
|
-
import { normalizeTaskStatus } from "../taskStatus";
|
|
7
|
-
const
|
|
8
|
-
Critical: "
|
|
9
|
-
High: "
|
|
10
|
-
Medium: "
|
|
11
|
-
Low: "
|
|
6
|
+
import { normalizeTaskStatus, getTaskStatusLabel } from "../taskStatus";
|
|
7
|
+
const priorityDotColors = {
|
|
8
|
+
Critical: "border-l-red-500",
|
|
9
|
+
High: "border-l-orange-500",
|
|
10
|
+
Medium: "border-l-blue-500",
|
|
11
|
+
Low: "border-l-slate-300",
|
|
12
12
|
};
|
|
13
13
|
export function TaskRow(props) {
|
|
14
14
|
const { task, selected, onClick, onDelete, assignedAgentStatus } = props;
|
|
@@ -18,8 +18,10 @@ export function TaskRow(props) {
|
|
|
18
18
|
const assigneeValue = task.assigneeDisplayName ||
|
|
19
19
|
task.assigneeId ||
|
|
20
20
|
(task.assigneeType === "Agent" && isPlanTask ? "Project Planner" : "Unassigned");
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
const executionIconTitle = executionDisplay?.label ?? "Execution not started";
|
|
22
|
+
const priorityBorderClass = task.priority ? priorityDotColors[task.priority] : "border-l-transparent";
|
|
23
|
+
return (_jsxs("div", { "data-testid": `taskboard-task-row-${task.taskId}`, className: cn("grid w-full grid-cols-[minmax(0,1fr)_6rem_7rem_2.5rem] gap-2.5 px-3.5 py-1.5 text-xs transition-colors border-l-2", priorityBorderClass, selected ? "bg-primary/5 shadow-sm" : "hover:bg-slate-50"), children: [_jsxs("button", { type: "button", onClick: onClick, className: "contents text-left", "data-testid": `taskboard-task-row-button-${task.taskId}`, children: [_jsxs("div", { className: "flex min-w-0 items-center gap-1.5", children: [_jsx("span", { className: cn("inline-flex h-4 w-4 shrink-0 items-center justify-center", executionDisplay?.showSpinner && "text-primary", executionDisplay?.needsAttention && "text-amber-600", !executionDisplay && "text-slate-300"), title: executionIconTitle, children: executionDisplay?.showSpinner ? (_jsx(Loader2, { className: "h-3 w-3 animate-spin" })) : executionDisplay?.needsAttention ? (_jsx(AlertTriangle, { className: "h-3 w-3" })) : (_jsx(Circle, { className: "h-2.5 w-2.5" })) }), _jsx("span", { "data-testid": `taskboard-task-title-${task.taskId}`, className: cn("truncate font-medium tracking-tight", selected ? "text-primary" : "text-slate-900"), title: task.description
|
|
24
|
+
? `${task.title} - ${task.description} (Priority: ${task.priority ?? "None"})`
|
|
25
|
+
: `${task.title} (Priority: ${task.priority ?? "None"})`, children: task.title })] }), _jsx("div", { className: "flex items-center", children: _jsx(Badge, { variant: "outline", className: "h-4 px-1.5 text-[9px] font-semibold uppercase tracking-wide", "data-testid": `taskboard-task-status-${task.taskId}`, children: getTaskStatusLabel(taskStatus) }) }), _jsxs("div", { className: "flex items-center gap-1.5 text-slate-600", children: [task.assigneeType === "Agent" ? (_jsx(Bot, { className: "h-3 w-3 shrink-0 text-slate-400" })) : (_jsx(User, { className: "h-3 w-3 shrink-0 text-slate-400" })), _jsx("span", { className: "truncate text-[11px] font-medium", title: assigneeValue, "data-testid": `taskboard-task-assignee-${task.taskId}`, children: assigneeValue })] })] }), _jsx("div", { className: "flex items-center justify-end", children: onDelete ? (_jsx("button", { type: "button", className: "rounded-md p-1 text-slate-400 transition-colors hover:bg-destructive/10 hover:text-destructive", title: "Delete task", onClick: onDelete, "data-testid": `taskboard-task-delete-${task.taskId}`, children: _jsx(Trash2, { className: "h-3.5 w-3.5" }) })) : null })] }));
|
|
24
26
|
}
|
|
25
27
|
//# sourceMappingURL=TaskRow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskRow.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskRow.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"TaskRow.js","sourceRoot":"","sources":["../../../src/task-board/components/TaskRow.tsx"],"names":[],"mappings":"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"}
|
|
@@ -12,4 +12,4 @@ export { CommentsList } from "./components/CommentsList";
|
|
|
12
12
|
export { TaskAgentPanel, TaskAgentPanel as DispatcherPanel } from "./components/TaskAgentPanel";
|
|
13
13
|
export * from "./services/taskService";
|
|
14
14
|
export type { OrchestratorStatus, OrchestratorResult } from "./services/taskService";
|
|
15
|
-
export type { Project, ProjectWithPermission, ProjectMember, ProjectStatus, ProjectPermission, ProjectMemberType, TaskItem, TaskComment, TaskDependency, TaskAttachment, TaskStatus, TaskExecutionStatus, TaskAssigneeType, TaskPriority, TaskDependencyType, CreateProjectRequest, DeleteProjectRequest, AddMemberRequest, RemoveMemberRequest, CreateTaskRequest, UpdateTaskRequest, DeleteTaskRequest, AddTaskCommentRequest, AddTaskDependencyRequest, UploadTaskAttachmentRequest, DeleteTaskAttachmentRequest, } from "./types";
|
|
15
|
+
export type { Project, ProjectWithPermission, ProjectMember, ProjectStatus, ProjectPermission, ProjectMemberType, TaskItem, TaskComment, TaskDependency, TaskAttachment, TaskStatus, TaskExecutionStatus, TaskAssigneeType, TaskPriority, TaskDependencyType, CreateProjectRequest, DeleteProjectRequest, AddMemberRequest, RemoveMemberRequest, CreateTaskRequest, UpdateTaskRequest, DeleteTaskRequest, AddTaskCommentRequest, DeleteTaskCommentRequest, AddTaskDependencyRequest, UploadTaskAttachmentRequest, DeleteTaskAttachmentRequest, } from "./types";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ExecutionResult } from "../../editor/services/serviceHelper";
|
|
2
|
-
import type { AddMemberRequest, AddTaskCommentRequest, AddTaskDependencyRequest, CreateProjectRequest, CreateTaskRequest, ProjectMember, ProjectWithPermission, TaskAttachment, TaskAssignableUser, TaskComment, TaskDependency, TaskItem, UpdateProjectRequest, UpdateTaskRequest, UploadTaskAttachmentRequest } from "../types";
|
|
2
|
+
import type { AddMemberRequest, AddTaskCommentRequest, DeleteTaskCommentRequest, AddTaskDependencyRequest, CreateProjectRequest, CreateTaskRequest, ProjectMember, ProjectWithPermission, TaskAttachment, TaskAssignableUser, TaskComment, TaskDependency, TaskItem, UpdateProjectRequest, UpdateTaskRequest, UploadTaskAttachmentRequest } from "../types";
|
|
3
3
|
export declare function getProjects(): Promise<ExecutionResult<ProjectWithPermission[]>>;
|
|
4
4
|
export declare function createProject(data: CreateProjectRequest): Promise<ExecutionResult<ProjectWithPermission>>;
|
|
5
5
|
export declare function deleteProject(projectId: string): Promise<ExecutionResult<{
|
|
@@ -22,6 +22,9 @@ export declare function deleteTask(taskId: string): Promise<ExecutionResult<{
|
|
|
22
22
|
success: boolean;
|
|
23
23
|
}>>;
|
|
24
24
|
export declare function addComment(data: AddTaskCommentRequest): Promise<ExecutionResult<TaskComment>>;
|
|
25
|
+
export declare function deleteComment(data: DeleteTaskCommentRequest): Promise<ExecutionResult<{
|
|
26
|
+
success: boolean;
|
|
27
|
+
}>>;
|
|
25
28
|
export declare function getDependencies(projectId: string): Promise<ExecutionResult<TaskDependency[]>>;
|
|
26
29
|
export declare function addDependency(data: AddTaskDependencyRequest): Promise<ExecutionResult<TaskDependency>>;
|
|
27
30
|
export declare function uploadAttachment(data: UploadTaskAttachmentRequest): Promise<ExecutionResult<TaskAttachment>>;
|
|
@@ -49,6 +49,9 @@ export function deleteTask(taskId) {
|
|
|
49
49
|
export function addComment(data) {
|
|
50
50
|
return post("/parhelia/tasks/addComment", data);
|
|
51
51
|
}
|
|
52
|
+
export function deleteComment(data) {
|
|
53
|
+
return post("/parhelia/tasks/deleteComment", data);
|
|
54
|
+
}
|
|
52
55
|
export function getDependencies(projectId) {
|
|
53
56
|
return get(`/parhelia/tasks/dependencies?projectId=${encodeURIComponent(projectId)}`);
|
|
54
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskService.js","sourceRoot":"","sources":["../../../src/task-board/services/taskService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAwB,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"taskService.js","sourceRoot":"","sources":["../../../src/task-board/services/taskService.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,15 @@ const EXECUTION_TO_TASK_STATUS = {
|
|
|
11
11
|
Completed: "Review",
|
|
12
12
|
Failed: "InProgress",
|
|
13
13
|
};
|
|
14
|
+
const TASK_STATUS_LABELS = {
|
|
15
|
+
Todo: "Todo",
|
|
16
|
+
InProgress: "In Progress",
|
|
17
|
+
Review: "Review",
|
|
18
|
+
Done: "Done",
|
|
19
|
+
};
|
|
20
|
+
export function getTaskStatusLabel(status) {
|
|
21
|
+
return TASK_STATUS_LABELS[status] || status;
|
|
22
|
+
}
|
|
14
23
|
export function normalizeTaskStatus(status, executionStatus) {
|
|
15
24
|
if (status && VALID_TASK_STATUSES.has(status)) {
|
|
16
25
|
return status;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskStatus.js","sourceRoot":"","sources":["../../src/task-board/taskStatus.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAa;IAC9C,MAAM;IACN,YAAY;IACZ,QAAQ;IACR,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAA+B;IAC3D,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,YAAY;IACrB,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE,YAAY;CACrB,CAAC;AAEF,MAAM,UAAU,mBAAmB,CACjC,MAAiC,EACjC,eAA+B;IAE/B,IAAI,MAAM,IAAI,mBAAmB,CAAC,GAAG,CAAC,MAAoB,CAAC,EAAE,CAAC;QAC5D,OAAO,MAAoB,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM,IAAI,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,eAAe,IAAI,wBAAwB,CAAC,eAAe,CAAC,EAAE,CAAC;QACjE,OAAO,wBAAwB,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"taskStatus.js","sourceRoot":"","sources":["../../src/task-board/taskStatus.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAa;IAC9C,MAAM;IACN,YAAY;IACZ,QAAQ;IACR,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAA+B;IAC3D,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,YAAY;IACrB,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE,YAAY;CACrB,CAAC;AAEF,MAAM,kBAAkB,GAA+B;IACrD,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,aAAa;IACzB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACb,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,MAAkB;IACnD,OAAO,kBAAkB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAiC,EACjC,eAA+B;IAE/B,IAAI,MAAM,IAAI,mBAAmB,CAAC,GAAG,CAAC,MAAoB,CAAC,EAAE,CAAC;QAC5D,OAAO,MAAoB,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM,IAAI,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,eAAe,IAAI,wBAAwB,CAAC,eAAe,CAAC,EAAE,CAAC;QACjE,OAAO,wBAAwB,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -152,6 +152,9 @@ export type AddTaskCommentRequest = {
|
|
|
152
152
|
taskId: string;
|
|
153
153
|
text: string;
|
|
154
154
|
};
|
|
155
|
+
export type DeleteTaskCommentRequest = {
|
|
156
|
+
commentId: string;
|
|
157
|
+
};
|
|
155
158
|
export type AddTaskDependencyRequest = {
|
|
156
159
|
taskId: string;
|
|
157
160
|
dependsOnTaskId: string;
|
|
@@ -13,7 +13,6 @@ export function flattenProjectsHierarchy(projects) {
|
|
|
13
13
|
const visited = new Set();
|
|
14
14
|
const visit = (parentId, depth) => {
|
|
15
15
|
const children = byParent.get(parentId) ?? [];
|
|
16
|
-
children.sort((a, b) => a.title.localeCompare(b.title));
|
|
17
16
|
for (const child of children) {
|
|
18
17
|
if (visited.has(child.projectId))
|
|
19
18
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectHierarchy.js","sourceRoot":"","sources":["../../../src/task-board/utils/projectHierarchy.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,wBAAwB,CACtC,QAA6B;IAE7B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;IACtD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAEnE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC;YAC3E,CAAC,CAAC,OAAO,CAAC,eAAe;YACzB,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,MAAM,KAAK,GAAG,CAAC,QAAuB,EAAE,KAAa,EAAE,EAAE;QACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9C,
|
|
1
|
+
{"version":3,"file":"projectHierarchy.js","sourceRoot":"","sources":["../../../src/task-board/utils/projectHierarchy.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,wBAAwB,CACtC,QAA6B;IAE7B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;IACtD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAEnE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC;YAC3E,CAAC,CAAC,OAAO,CAAC,eAAe;YACzB,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,MAAM,KAAK,GAAG,CAAC,QAAuB,EAAE,KAAa,EAAE,EAAE;QACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;gBAAE,SAAS;YAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACjC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEf,uEAAuE;IACvE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,SAAS;QAC7C,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -6,7 +6,7 @@ import { useMemo, useState } from "react";
|
|
|
6
6
|
import { Circle, PlayCircle, Eye, CheckCircle2, LayoutGrid, Trash2 } from "lucide-react";
|
|
7
7
|
import { cn } from "../../lib/utils";
|
|
8
8
|
import { useEditContext } from "../../editor/client/editContext";
|
|
9
|
-
import { normalizeTaskStatus } from "../taskStatus";
|
|
9
|
+
import { normalizeTaskStatus, getTaskStatusLabel } from "../taskStatus";
|
|
10
10
|
import { getLinkedAgentId } from "../taskAgentLink";
|
|
11
11
|
import { FilterInput } from "../../components/FilterInput";
|
|
12
12
|
import { SimpleTabs } from "../../editor/ui/SimpleTabs";
|
|
@@ -113,7 +113,7 @@ export function KanbanView(props) {
|
|
|
113
113
|
if (!taskId)
|
|
114
114
|
return;
|
|
115
115
|
await moveTask(taskId, col.status);
|
|
116
|
-
}, children: [_jsx("div", { className: "flex items-center justify-between p-2.5 pb-1.5", children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Icon, { className: cn("h-4 w-4", col.color) }), _jsx("span", { className: "text-xs font-semibold uppercase tracking-wider text-slate-600", children: col.
|
|
116
|
+
}, children: [_jsx("div", { className: "flex items-center justify-between p-2.5 pb-1.5", children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Icon, { className: cn("h-4 w-4", col.color) }), _jsx("span", { className: "text-xs font-semibold uppercase tracking-wider text-slate-600", children: getTaskStatusLabel(col.status) }), _jsx("span", { className: "ml-1 text-xs font-medium text-slate-400", children: colTasks.length })] }) }), _jsx("div", { className: "flex-1 flex flex-col gap-2 p-2 min-h-0 overflow-y-auto scrollbar-thin scrollbar-thumb-slate-200", children: colTasks.length === 0 ? (_jsx("div", { className: "flex flex-col items-center justify-center py-6 rounded-lg border border-dashed border-slate-200 bg-white/50", children: _jsx("div", { className: "text-[10px] font-medium text-slate-400 uppercase tracking-widest", children: "No tasks" }) })) : (colTasks.map((t) => (_jsxs("div", { draggable: true, className: "group relative cursor-grab active:cursor-grabbing", onDragStart: (e) => {
|
|
117
117
|
e.dataTransfer.setData("text/plain", t.taskId);
|
|
118
118
|
e.dataTransfer.effectAllowed = "move";
|
|
119
119
|
// Create a preview image or style for dragging
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KanbanView.js","sourceRoot":"","sources":["../../../src/task-board/views/KanbanView.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACzF,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"KanbanView.js","sourceRoot":"","sources":["../../../src/task-board/views/KanbanView.tsx"],"names":[],"mappings":"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"}
|