@industry-theme/backlogmd-kanban-panel 1.1.0 → 1.1.2
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KanbanPanel.d.ts","sourceRoot":"","sources":["../../src/panels/KanbanPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6E,MAAM,OAAO,CAAC;AAelG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAiBtD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"KanbanPanel.d.ts","sourceRoot":"","sources":["../../src/panels/KanbanPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6E,MAAM,OAAO,CAAC;AAelG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAiBtD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA+8CvD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskDetailPanel.d.ts","sourceRoot":"","sources":["../../src/panels/TaskDetailPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAMxE,OAAO,KAAK,EAAE,yBAAyB,EAAqB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"TaskDetailPanel.d.ts","sourceRoot":"","sources":["../../src/panels/TaskDetailPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAMxE,OAAO,KAAK,EAAE,yBAAyB,EAAqB,MAAM,UAAU,CAAC;AAuG7E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,yBAAyB;IACrE,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAChC;AAiDD;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA0yB1D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoardEmptyState.d.ts","sourceRoot":"","sources":["../../../../src/panels/kanban/components/BoardEmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAK3C,UAAU,oBAAoB;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"BoardEmptyState.d.ts","sourceRoot":"","sources":["../../../../src/panels/kanban/components/BoardEmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAK3C,UAAU,oBAAoB;IAC5B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAqJ1D,CAAC"}
|
package/dist/panels.bundle.js
CHANGED
|
@@ -9871,17 +9871,27 @@ const BoardEmptyState = ({
|
|
|
9871
9871
|
}) => {
|
|
9872
9872
|
const { theme: theme2 } = useTheme();
|
|
9873
9873
|
const handleAddTask = useCallback(() => {
|
|
9874
|
-
const
|
|
9875
|
-
|
|
9874
|
+
const tracer = getTracer();
|
|
9875
|
+
const span = tracer.startSpan("board.interaction", {
|
|
9876
|
+
attributes: { "action.type": "add_task" }
|
|
9877
|
+
});
|
|
9878
|
+
span.addEvent("empty.action.clicked", {
|
|
9876
9879
|
"action.type": "add_task"
|
|
9877
9880
|
});
|
|
9881
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
9882
|
+
span.end();
|
|
9878
9883
|
onAddTask();
|
|
9879
9884
|
}, [onAddTask]);
|
|
9880
9885
|
const handleAddMilestone = useCallback(() => {
|
|
9881
|
-
const
|
|
9882
|
-
|
|
9886
|
+
const tracer = getTracer();
|
|
9887
|
+
const span = tracer.startSpan("board.interaction", {
|
|
9888
|
+
attributes: { "action.type": "add_milestone" }
|
|
9889
|
+
});
|
|
9890
|
+
span.addEvent("empty.action.clicked", {
|
|
9883
9891
|
"action.type": "add_milestone"
|
|
9884
9892
|
});
|
|
9893
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
9894
|
+
span.end();
|
|
9885
9895
|
onAddMilestone();
|
|
9886
9896
|
}, [onAddMilestone]);
|
|
9887
9897
|
return /* @__PURE__ */ jsxs(
|
|
@@ -11084,26 +11094,68 @@ const KanbanPanel = ({
|
|
|
11084
11094
|
const [searchQuery, setSearchQuery] = useState("");
|
|
11085
11095
|
const [isSearchVisible, setIsSearchVisible] = useState(false);
|
|
11086
11096
|
const searchDebounceRef = useRef(null);
|
|
11097
|
+
useEffect(() => {
|
|
11098
|
+
var _a2;
|
|
11099
|
+
const tracer = getTracer();
|
|
11100
|
+
const span = tracer.startSpan("panel.lifecycle", {
|
|
11101
|
+
attributes: {
|
|
11102
|
+
"panel.id": "kanban-panel"
|
|
11103
|
+
}
|
|
11104
|
+
});
|
|
11105
|
+
span.addEvent("panel.initialized", {
|
|
11106
|
+
"panel.id": "kanban-panel",
|
|
11107
|
+
"has.file.tree": Boolean((_a2 = context2 == null ? void 0 : context2.fileTree) == null ? void 0 : _a2.data),
|
|
11108
|
+
"has.file.system": Boolean(actions == null ? void 0 : actions.writeFile)
|
|
11109
|
+
});
|
|
11110
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
11111
|
+
span.end();
|
|
11112
|
+
}, []);
|
|
11087
11113
|
const handleSearchChange = useCallback((value) => {
|
|
11088
11114
|
setSearchQuery(value);
|
|
11089
11115
|
if (searchDebounceRef.current) {
|
|
11090
11116
|
clearTimeout(searchDebounceRef.current);
|
|
11091
11117
|
}
|
|
11092
11118
|
searchDebounceRef.current = setTimeout(() => {
|
|
11093
|
-
const activeSpan = getActiveSpan();
|
|
11094
11119
|
if (value.trim()) {
|
|
11095
|
-
|
|
11120
|
+
const tracer = getTracer();
|
|
11121
|
+
const span = tracer.startSpan("board.interaction", {
|
|
11122
|
+
attributes: {
|
|
11123
|
+
"search.query": value.trim()
|
|
11124
|
+
}
|
|
11125
|
+
});
|
|
11126
|
+
span.addEvent("search.performed", {
|
|
11096
11127
|
"search.query": value.trim()
|
|
11097
|
-
// Note: results.count is approximate since filteredTasksByStatus updates async
|
|
11098
11128
|
});
|
|
11129
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
11130
|
+
span.end();
|
|
11099
11131
|
}
|
|
11100
11132
|
}, 500);
|
|
11101
11133
|
}, []);
|
|
11102
11134
|
const handleClearSearch = useCallback(() => {
|
|
11103
11135
|
setSearchQuery("");
|
|
11104
|
-
const
|
|
11105
|
-
|
|
11136
|
+
const tracer = getTracer();
|
|
11137
|
+
const span = tracer.startSpan("board.interaction");
|
|
11138
|
+
span.addEvent("filter.cleared");
|
|
11139
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
11140
|
+
span.end();
|
|
11106
11141
|
}, []);
|
|
11142
|
+
const handleTabSelect = useCallback((status) => {
|
|
11143
|
+
const previousTab = selectedTab;
|
|
11144
|
+
setSelectedTab(status);
|
|
11145
|
+
const tracer = getTracer();
|
|
11146
|
+
const span = tracer.startSpan("board.interaction", {
|
|
11147
|
+
attributes: {
|
|
11148
|
+
"column.selected": status,
|
|
11149
|
+
"column.previous": previousTab
|
|
11150
|
+
}
|
|
11151
|
+
});
|
|
11152
|
+
span.addEvent("column.selected", {
|
|
11153
|
+
"column.status": status,
|
|
11154
|
+
"column.previous": previousTab
|
|
11155
|
+
});
|
|
11156
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
11157
|
+
span.end();
|
|
11158
|
+
}, [selectedTab]);
|
|
11107
11159
|
const sensors = useSensors(
|
|
11108
11160
|
useSensor(PointerSensor, {
|
|
11109
11161
|
activationConstraint: {
|
|
@@ -11176,6 +11228,24 @@ const KanbanPanel = ({
|
|
|
11176
11228
|
context: context2,
|
|
11177
11229
|
actions
|
|
11178
11230
|
});
|
|
11231
|
+
const hasEmittedSkipped = useRef(false);
|
|
11232
|
+
useEffect(() => {
|
|
11233
|
+
if (!isLoading && !isBacklogProject && !hasEmittedSkipped.current) {
|
|
11234
|
+
hasEmittedSkipped.current = true;
|
|
11235
|
+
const tracer = getTracer();
|
|
11236
|
+
const span = tracer.startSpan("board.interaction", {
|
|
11237
|
+
attributes: { "is.backlog.project": false }
|
|
11238
|
+
});
|
|
11239
|
+
span.addEvent("kanban.skipped", {
|
|
11240
|
+
"reason": "not_backlog_project"
|
|
11241
|
+
});
|
|
11242
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
11243
|
+
span.end();
|
|
11244
|
+
}
|
|
11245
|
+
if (isBacklogProject) {
|
|
11246
|
+
hasEmittedSkipped.current = false;
|
|
11247
|
+
}
|
|
11248
|
+
}, [isLoading, isBacklogProject]);
|
|
11179
11249
|
const filteredTasksByStatus = useMemo(() => {
|
|
11180
11250
|
if (!searchQuery.trim()) {
|
|
11181
11251
|
return tasksByStatus;
|
|
@@ -11269,11 +11339,19 @@ const KanbanPanel = ({
|
|
|
11269
11339
|
}, [getTaskById, moveTaskOptimistic]);
|
|
11270
11340
|
const handleTaskClick = (task) => {
|
|
11271
11341
|
setSelectedTaskId(task.id);
|
|
11272
|
-
const
|
|
11273
|
-
|
|
11342
|
+
const tracer = getTracer();
|
|
11343
|
+
const span = tracer.startSpan("board.interaction", {
|
|
11344
|
+
attributes: {
|
|
11345
|
+
"task.id": task.id,
|
|
11346
|
+
"task.status": task.status || "unknown"
|
|
11347
|
+
}
|
|
11348
|
+
});
|
|
11349
|
+
span.addEvent("task.selected", {
|
|
11274
11350
|
"task.id": task.id,
|
|
11275
11351
|
"task.status": task.status || "unknown"
|
|
11276
11352
|
});
|
|
11353
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
11354
|
+
span.end();
|
|
11277
11355
|
if (events2) {
|
|
11278
11356
|
events2.emit({
|
|
11279
11357
|
type: "task:selected",
|
|
@@ -11893,7 +11971,7 @@ const KanbanPanel = ({
|
|
|
11893
11971
|
return /* @__PURE__ */ jsxs(
|
|
11894
11972
|
"button",
|
|
11895
11973
|
{
|
|
11896
|
-
onClick: () =>
|
|
11974
|
+
onClick: () => handleTabSelect(status),
|
|
11897
11975
|
style: {
|
|
11898
11976
|
flex: 1,
|
|
11899
11977
|
padding: "10px 12px",
|
|
@@ -56456,7 +56534,7 @@ const getPriorityStyles = (theme2, priority) => {
|
|
|
56456
56534
|
};
|
|
56457
56535
|
const StatusBadge = ({ status }) => {
|
|
56458
56536
|
const { theme: theme2 } = useTheme();
|
|
56459
|
-
return /* @__PURE__ */
|
|
56537
|
+
return /* @__PURE__ */ jsxs(
|
|
56460
56538
|
"span",
|
|
56461
56539
|
{
|
|
56462
56540
|
style: {
|
|
@@ -56469,7 +56547,10 @@ const StatusBadge = ({ status }) => {
|
|
|
56469
56547
|
color: theme2.colors.primary,
|
|
56470
56548
|
textTransform: "capitalize"
|
|
56471
56549
|
},
|
|
56472
|
-
children:
|
|
56550
|
+
children: [
|
|
56551
|
+
"Status: ",
|
|
56552
|
+
status
|
|
56553
|
+
]
|
|
56473
56554
|
}
|
|
56474
56555
|
);
|
|
56475
56556
|
};
|
|
@@ -56494,6 +56575,16 @@ const TaskDetailPanel = ({ context: context2, events: events2, config }) => {
|
|
|
56494
56575
|
const hasClaudeWorkflow = ((_a = repoCapabilities == null ? void 0 : repoCapabilities.data) == null ? void 0 : _a.hasClaudeWorkflow) ?? false;
|
|
56495
56576
|
const handleAssignToClaude = useCallback(() => {
|
|
56496
56577
|
if (!events2 || !selectedTask) return;
|
|
56578
|
+
const tracer = getTracer();
|
|
56579
|
+
const span = tracer.startSpan("detail.interaction", {
|
|
56580
|
+
attributes: { "task.id": selectedTask.id }
|
|
56581
|
+
});
|
|
56582
|
+
span.addEvent("task.assign.requested", {
|
|
56583
|
+
"task.id": selectedTask.id,
|
|
56584
|
+
"task.title": selectedTask.title
|
|
56585
|
+
});
|
|
56586
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
56587
|
+
span.end();
|
|
56497
56588
|
setClaudeAssignment({ status: "loading" });
|
|
56498
56589
|
events2.emit({
|
|
56499
56590
|
type: "task:assign-to-claude",
|
|
@@ -56518,6 +56609,19 @@ const TaskDetailPanel = ({ context: context2, events: events2, config }) => {
|
|
|
56518
56609
|
}
|
|
56519
56610
|
});
|
|
56520
56611
|
}, [events2, selectedTask]);
|
|
56612
|
+
const handleOpenDeleteModal = useCallback(() => {
|
|
56613
|
+
if (!selectedTask) return;
|
|
56614
|
+
const tracer = getTracer();
|
|
56615
|
+
const span = tracer.startSpan("detail.interaction", {
|
|
56616
|
+
attributes: { "task.id": selectedTask.id }
|
|
56617
|
+
});
|
|
56618
|
+
span.addEvent("delete.modal.opened", {
|
|
56619
|
+
"task.id": selectedTask.id
|
|
56620
|
+
});
|
|
56621
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
56622
|
+
span.end();
|
|
56623
|
+
setIsDeleteModalOpen(true);
|
|
56624
|
+
}, [selectedTask]);
|
|
56521
56625
|
const handleDeleteConfirm = useCallback(() => {
|
|
56522
56626
|
if (!events2 || !selectedTask) return;
|
|
56523
56627
|
setDeleteState({ status: "loading" });
|
|
@@ -56579,6 +56683,15 @@ const TaskDetailPanel = ({ context: context2, events: events2, config }) => {
|
|
|
56579
56683
|
events2.on("task:deleted:success", (event) => {
|
|
56580
56684
|
const payload = event.payload;
|
|
56581
56685
|
if (payload.taskId === (selectedTask == null ? void 0 : selectedTask.id)) {
|
|
56686
|
+
const tracer = getTracer();
|
|
56687
|
+
const span = tracer.startSpan("task.mutation", {
|
|
56688
|
+
attributes: { "task.id": payload.taskId }
|
|
56689
|
+
});
|
|
56690
|
+
span.addEvent("task.deleted", {
|
|
56691
|
+
"task.id": payload.taskId
|
|
56692
|
+
});
|
|
56693
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
56694
|
+
span.end();
|
|
56582
56695
|
setDeleteState({ status: "success" });
|
|
56583
56696
|
setIsDeleteModalOpen(false);
|
|
56584
56697
|
setTimeout(() => {
|
|
@@ -56609,7 +56722,18 @@ const TaskDetailPanel = ({ context: context2, events: events2, config }) => {
|
|
|
56609
56722
|
});
|
|
56610
56723
|
};
|
|
56611
56724
|
}, [events2, selectedTask == null ? void 0 : selectedTask.id]);
|
|
56612
|
-
const handleBack = () => {
|
|
56725
|
+
const handleBack = useCallback(() => {
|
|
56726
|
+
if (selectedTask) {
|
|
56727
|
+
const tracer = getTracer();
|
|
56728
|
+
const span = tracer.startSpan("detail.interaction", {
|
|
56729
|
+
attributes: { "task.id": selectedTask.id }
|
|
56730
|
+
});
|
|
56731
|
+
span.addEvent("task.deselected", {
|
|
56732
|
+
"task.id": selectedTask.id
|
|
56733
|
+
});
|
|
56734
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
56735
|
+
span.end();
|
|
56736
|
+
}
|
|
56613
56737
|
setSelectedTask(null);
|
|
56614
56738
|
setDeleteState({ status: "idle" });
|
|
56615
56739
|
setIsDeleteModalOpen(false);
|
|
@@ -56621,7 +56745,7 @@ const TaskDetailPanel = ({ context: context2, events: events2, config }) => {
|
|
|
56621
56745
|
payload: {}
|
|
56622
56746
|
});
|
|
56623
56747
|
}
|
|
56624
|
-
};
|
|
56748
|
+
}, [selectedTask, events2]);
|
|
56625
56749
|
if (!selectedTask) {
|
|
56626
56750
|
return /* @__PURE__ */ jsxs(
|
|
56627
56751
|
"div",
|
|
@@ -56689,121 +56813,125 @@ const TaskDetailPanel = ({ context: context2, events: events2, config }) => {
|
|
|
56689
56813
|
{
|
|
56690
56814
|
style: {
|
|
56691
56815
|
flexShrink: 0,
|
|
56692
|
-
|
|
56816
|
+
height: "40px",
|
|
56817
|
+
display: "flex",
|
|
56818
|
+
alignItems: "center",
|
|
56819
|
+
justifyContent: "space-between",
|
|
56820
|
+
padding: "0 12px",
|
|
56693
56821
|
borderBottom: `1px solid ${theme2.colors.border}`,
|
|
56694
56822
|
backgroundColor: theme2.colors.backgroundSecondary
|
|
56695
56823
|
},
|
|
56696
56824
|
children: [
|
|
56697
|
-
/* @__PURE__ */ jsxs(
|
|
56698
|
-
|
|
56699
|
-
|
|
56700
|
-
|
|
56701
|
-
|
|
56702
|
-
|
|
56703
|
-
|
|
56704
|
-
|
|
56705
|
-
|
|
56706
|
-
|
|
56707
|
-
|
|
56708
|
-
|
|
56709
|
-
|
|
56710
|
-
|
|
56711
|
-
|
|
56712
|
-
|
|
56713
|
-
|
|
56714
|
-
|
|
56715
|
-
|
|
56716
|
-
|
|
56717
|
-
|
|
56718
|
-
|
|
56719
|
-
|
|
56720
|
-
|
|
56721
|
-
|
|
56722
|
-
|
|
56723
|
-
|
|
56724
|
-
|
|
56725
|
-
|
|
56726
|
-
|
|
56727
|
-
|
|
56728
|
-
|
|
56729
|
-
|
|
56730
|
-
|
|
56731
|
-
|
|
56732
|
-
|
|
56733
|
-
|
|
56734
|
-
|
|
56735
|
-
|
|
56736
|
-
|
|
56737
|
-
|
|
56738
|
-
|
|
56739
|
-
|
|
56740
|
-
|
|
56741
|
-
|
|
56742
|
-
|
|
56743
|
-
|
|
56744
|
-
|
|
56745
|
-
|
|
56746
|
-
|
|
56747
|
-
|
|
56748
|
-
|
|
56749
|
-
|
|
56750
|
-
|
|
56751
|
-
|
|
56752
|
-
|
|
56753
|
-
|
|
56754
|
-
|
|
56755
|
-
|
|
56756
|
-
|
|
56757
|
-
|
|
56758
|
-
|
|
56759
|
-
|
|
56760
|
-
|
|
56761
|
-
|
|
56762
|
-
|
|
56763
|
-
|
|
56764
|
-
|
|
56765
|
-
|
|
56766
|
-
|
|
56767
|
-
|
|
56768
|
-
|
|
56769
|
-
|
|
56770
|
-
|
|
56771
|
-
|
|
56772
|
-
|
|
56773
|
-
|
|
56774
|
-
|
|
56775
|
-
|
|
56776
|
-
|
|
56777
|
-
|
|
56778
|
-
|
|
56779
|
-
|
|
56780
|
-
|
|
56781
|
-
|
|
56782
|
-
|
|
56783
|
-
|
|
56784
|
-
|
|
56785
|
-
|
|
56786
|
-
|
|
56787
|
-
|
|
56788
|
-
|
|
56789
|
-
|
|
56790
|
-
|
|
56791
|
-
|
|
56792
|
-
|
|
56793
|
-
|
|
56794
|
-
|
|
56795
|
-
|
|
56796
|
-
|
|
56797
|
-
|
|
56798
|
-
|
|
56799
|
-
|
|
56800
|
-
|
|
56801
|
-
|
|
56802
|
-
|
|
56803
|
-
|
|
56804
|
-
|
|
56805
|
-
|
|
56806
|
-
|
|
56825
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
|
|
56826
|
+
/* @__PURE__ */ jsx(
|
|
56827
|
+
"span",
|
|
56828
|
+
{
|
|
56829
|
+
style: {
|
|
56830
|
+
fontFamily: theme2.fonts.monospace,
|
|
56831
|
+
fontSize: theme2.fontSizes[0],
|
|
56832
|
+
fontWeight: theme2.fontWeights.medium,
|
|
56833
|
+
color: theme2.colors.textMuted
|
|
56834
|
+
},
|
|
56835
|
+
children: selectedTask.id
|
|
56836
|
+
}
|
|
56837
|
+
),
|
|
56838
|
+
/* @__PURE__ */ jsx(StatusBadge, { status: selectedTask.status }),
|
|
56839
|
+
selectedTask.priority && /* @__PURE__ */ jsxs("span", { style: getPriorityStyles(theme2, selectedTask.priority), children: [
|
|
56840
|
+
"Priority: ",
|
|
56841
|
+
selectedTask.priority
|
|
56842
|
+
] })
|
|
56843
|
+
] }),
|
|
56844
|
+
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
|
|
56845
|
+
deleteState.status === "idle" && /* @__PURE__ */ jsx(
|
|
56846
|
+
"button",
|
|
56847
|
+
{
|
|
56848
|
+
onClick: handleOpenDeleteModal,
|
|
56849
|
+
style: {
|
|
56850
|
+
display: "flex",
|
|
56851
|
+
alignItems: "center",
|
|
56852
|
+
justifyContent: "center",
|
|
56853
|
+
width: "28px",
|
|
56854
|
+
height: "28px",
|
|
56855
|
+
border: `1px solid ${theme2.colors.error}`,
|
|
56856
|
+
borderRadius: theme2.radii[1],
|
|
56857
|
+
background: "transparent",
|
|
56858
|
+
cursor: "pointer",
|
|
56859
|
+
color: theme2.colors.error,
|
|
56860
|
+
transition: "all 0.2s ease"
|
|
56861
|
+
},
|
|
56862
|
+
onMouseEnter: (e) => {
|
|
56863
|
+
e.currentTarget.style.background = theme2.colors.error;
|
|
56864
|
+
e.currentTarget.style.color = theme2.colors.background;
|
|
56865
|
+
},
|
|
56866
|
+
onMouseLeave: (e) => {
|
|
56867
|
+
e.currentTarget.style.background = "transparent";
|
|
56868
|
+
e.currentTarget.style.color = theme2.colors.error;
|
|
56869
|
+
},
|
|
56870
|
+
title: "Delete task",
|
|
56871
|
+
children: /* @__PURE__ */ jsx(Trash2, { size: 14 })
|
|
56872
|
+
}
|
|
56873
|
+
),
|
|
56874
|
+
deleteState.status === "success" && /* @__PURE__ */ jsx(
|
|
56875
|
+
"div",
|
|
56876
|
+
{
|
|
56877
|
+
style: {
|
|
56878
|
+
display: "flex",
|
|
56879
|
+
alignItems: "center",
|
|
56880
|
+
justifyContent: "center",
|
|
56881
|
+
width: "28px",
|
|
56882
|
+
height: "28px",
|
|
56883
|
+
border: `1px solid ${theme2.colors.success}`,
|
|
56884
|
+
borderRadius: theme2.radii[1],
|
|
56885
|
+
background: `${theme2.colors.success}15`,
|
|
56886
|
+
color: theme2.colors.success
|
|
56887
|
+
},
|
|
56888
|
+
title: "Task deleted",
|
|
56889
|
+
children: /* @__PURE__ */ jsx(CircleCheckBig, { size: 14 })
|
|
56890
|
+
}
|
|
56891
|
+
),
|
|
56892
|
+
/* @__PURE__ */ jsx(
|
|
56893
|
+
"button",
|
|
56894
|
+
{
|
|
56895
|
+
onClick: handleBack,
|
|
56896
|
+
style: {
|
|
56897
|
+
display: "flex",
|
|
56898
|
+
alignItems: "center",
|
|
56899
|
+
justifyContent: "center",
|
|
56900
|
+
width: "28px",
|
|
56901
|
+
height: "28px",
|
|
56902
|
+
border: `1px solid ${theme2.colors.border}`,
|
|
56903
|
+
borderRadius: theme2.radii[1],
|
|
56904
|
+
background: theme2.colors.surface,
|
|
56905
|
+
cursor: "pointer",
|
|
56906
|
+
color: theme2.colors.textSecondary,
|
|
56907
|
+
transition: "all 0.2s ease"
|
|
56908
|
+
},
|
|
56909
|
+
onMouseEnter: (e) => {
|
|
56910
|
+
e.currentTarget.style.background = theme2.colors.backgroundSecondary;
|
|
56911
|
+
e.currentTarget.style.color = theme2.colors.text;
|
|
56912
|
+
},
|
|
56913
|
+
onMouseLeave: (e) => {
|
|
56914
|
+
e.currentTarget.style.background = theme2.colors.surface;
|
|
56915
|
+
e.currentTarget.style.color = theme2.colors.textSecondary;
|
|
56916
|
+
},
|
|
56917
|
+
title: "Close",
|
|
56918
|
+
children: /* @__PURE__ */ jsx(X, { size: 14 })
|
|
56919
|
+
}
|
|
56920
|
+
)
|
|
56921
|
+
] })
|
|
56922
|
+
]
|
|
56923
|
+
}
|
|
56924
|
+
),
|
|
56925
|
+
/* @__PURE__ */ jsxs(
|
|
56926
|
+
"div",
|
|
56927
|
+
{
|
|
56928
|
+
style: {
|
|
56929
|
+
flexShrink: 0,
|
|
56930
|
+
padding: "12px 16px",
|
|
56931
|
+
borderBottom: `1px solid ${theme2.colors.border}`,
|
|
56932
|
+
backgroundColor: theme2.colors.background
|
|
56933
|
+
},
|
|
56934
|
+
children: [
|
|
56807
56935
|
/* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "8px", marginBottom: "12px" }, children: [
|
|
56808
56936
|
hasClaudeWorkflow && claudeAssignment.status === "idle" && !getGitHubIssueFromRefs(selectedTask.references) && /* @__PURE__ */ jsxs(
|
|
56809
56937
|
"button",
|