@industry-theme/backlogmd-kanban-panel 1.2.10 → 1.2.11

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.
@@ -8971,10 +8971,6 @@ const KanbanPanel = ({
8971
8971
  "task.id": task.id,
8972
8972
  "task.status": task.status || "unknown"
8973
8973
  });
8974
- span.setStatus({
8975
- code: SpanStatusCode.OK
8976
- });
8977
- span.end();
8978
8974
  if (events2) {
8979
8975
  events2.emit({
8980
8976
  type: "task:selected",
@@ -8985,7 +8981,14 @@ const KanbanPanel = ({
8985
8981
  task
8986
8982
  }
8987
8983
  });
8984
+ span.addEvent("task.selected.emitted", {
8985
+ "task.id": task.id
8986
+ });
8988
8987
  }
8988
+ span.setStatus({
8989
+ code: SpanStatusCode.OK
8990
+ });
8991
+ span.end();
8989
8992
  }, [events2]);
8990
8993
  useEffect(() => {
8991
8994
  if (!events2) return;
@@ -54104,6 +54107,7 @@ const TaskDetailPanel = ({
54104
54107
  status: "idle"
54105
54108
  });
54106
54109
  const panelRef = useRef(null);
54110
+ const deleteSpanRef = useRef(null);
54107
54111
  const {
54108
54112
  editable = false
54109
54113
  } = config ?? {};
@@ -54157,27 +54161,42 @@ const TaskDetailPanel = ({
54157
54161
  const handleOpenDeleteModal = useCallback(() => {
54158
54162
  if (!selectedTask) return;
54159
54163
  const tracer = getTracer();
54160
- const span = tracer.startSpan("detail.interaction", {
54164
+ const span = tracer.startSpan("task.delete", {
54161
54165
  attributes: {
54162
54166
  "task.id": selectedTask.id
54163
54167
  }
54164
54168
  });
54169
+ deleteSpanRef.current = span;
54165
54170
  span.addEvent("delete.modal.opened", {
54166
54171
  "task.id": selectedTask.id
54167
54172
  });
54168
- span.setStatus({
54169
- code: SpanStatusCode.OK
54170
- });
54171
- span.end();
54172
54173
  setIsDeleteModalOpen(true);
54173
54174
  }, [selectedTask]);
54174
54175
  const handleDeleteConfirm = useCallback(async () => {
54175
54176
  if (!selectedTask) return;
54177
+ const span = deleteSpanRef.current;
54176
54178
  if (!(actions == null ? void 0 : actions.deleteTask)) {
54177
54179
  setDeleteState({
54178
54180
  status: "error",
54179
54181
  error: "Delete action not available"
54180
54182
  });
54183
+ if (span) {
54184
+ span.addEvent("task.deleted", {
54185
+ "task.id": selectedTask.id
54186
+ });
54187
+ span.addEvent("task.save.error", {
54188
+ "task.id": selectedTask.id,
54189
+ "operation": "delete",
54190
+ "error.type": "ActionNotAvailable",
54191
+ "error.message": "Delete action not available"
54192
+ });
54193
+ span.setStatus({
54194
+ code: SpanStatusCode.ERROR,
54195
+ message: "Delete action not available"
54196
+ });
54197
+ span.end();
54198
+ deleteSpanRef.current = null;
54199
+ }
54181
54200
  return;
54182
54201
  }
54183
54202
  setDeleteState({
@@ -54185,19 +54204,16 @@ const TaskDetailPanel = ({
54185
54204
  });
54186
54205
  try {
54187
54206
  await actions.deleteTask(selectedTask.id);
54188
- const tracer = getTracer();
54189
- const span = tracer.startSpan("task.mutation", {
54190
- attributes: {
54207
+ if (span) {
54208
+ span.addEvent("task.deleted", {
54191
54209
  "task.id": selectedTask.id
54192
- }
54193
- });
54194
- span.addEvent("task.deleted", {
54195
- "task.id": selectedTask.id
54196
- });
54197
- span.setStatus({
54198
- code: SpanStatusCode.OK
54199
- });
54200
- span.end();
54210
+ });
54211
+ span.setStatus({
54212
+ code: SpanStatusCode.OK
54213
+ });
54214
+ span.end();
54215
+ deleteSpanRef.current = null;
54216
+ }
54201
54217
  setDeleteState({
54202
54218
  status: "success"
54203
54219
  });
@@ -54222,8 +54238,39 @@ const TaskDetailPanel = ({
54222
54238
  status: "error",
54223
54239
  error: errorMessage
54224
54240
  });
54241
+ if (span) {
54242
+ span.addEvent("task.deleted", {
54243
+ "task.id": selectedTask.id
54244
+ });
54245
+ span.addEvent("task.save.error", {
54246
+ "task.id": selectedTask.id,
54247
+ "operation": "delete",
54248
+ "error.type": error instanceof Error ? error.name : "Unknown",
54249
+ "error.message": errorMessage
54250
+ });
54251
+ span.setStatus({
54252
+ code: SpanStatusCode.ERROR,
54253
+ message: errorMessage
54254
+ });
54255
+ span.end();
54256
+ deleteSpanRef.current = null;
54257
+ }
54225
54258
  }
54226
54259
  }, [actions, selectedTask, events2]);
54260
+ const handleDeleteCancel = useCallback(() => {
54261
+ const span = deleteSpanRef.current;
54262
+ if (span) {
54263
+ span.addEvent("delete.modal.cancelled", {
54264
+ "task.id": selectedTask == null ? void 0 : selectedTask.id
54265
+ });
54266
+ span.setStatus({
54267
+ code: SpanStatusCode.OK
54268
+ });
54269
+ span.end();
54270
+ deleteSpanRef.current = null;
54271
+ }
54272
+ setIsDeleteModalOpen(false);
54273
+ }, [selectedTask]);
54227
54274
  useEffect(() => {
54228
54275
  if (!events2) return;
54229
54276
  const handleTaskSelected = (event) => {
@@ -54292,6 +54339,17 @@ const TaskDetailPanel = ({
54292
54339
  };
54293
54340
  }, [events2, selectedTask, isDeleteModalOpen, handleOpenDeleteModal, handleDeleteConfirm]);
54294
54341
  const handleBack = useCallback(() => {
54342
+ const deleteSpan = deleteSpanRef.current;
54343
+ if (deleteSpan) {
54344
+ deleteSpan.addEvent("delete.modal.cancelled", {
54345
+ "task.id": selectedTask == null ? void 0 : selectedTask.id
54346
+ });
54347
+ deleteSpan.setStatus({
54348
+ code: SpanStatusCode.OK
54349
+ });
54350
+ deleteSpan.end();
54351
+ deleteSpanRef.current = null;
54352
+ }
54295
54353
  if (selectedTask) {
54296
54354
  const tracer = getTracer();
54297
54355
  const span = tracer.startSpan("detail.interaction", {
@@ -54344,6 +54402,7 @@ const TaskDetailPanel = ({
54344
54402
  children: [/* @__PURE__ */ jsx("h3", {
54345
54403
  style: {
54346
54404
  margin: "0 0 8px 0",
54405
+ fontFamily: theme2.fonts.body,
54347
54406
  fontSize: theme2.fontSizes[3],
54348
54407
  color: theme2.colors.text,
54349
54408
  fontWeight: theme2.fontWeights.semibold
@@ -54352,6 +54411,7 @@ const TaskDetailPanel = ({
54352
54411
  }), /* @__PURE__ */ jsx("p", {
54353
54412
  style: {
54354
54413
  margin: 0,
54414
+ fontFamily: theme2.fonts.body,
54355
54415
  fontSize: theme2.fontSizes[1],
54356
54416
  color: theme2.colors.textSecondary
54357
54417
  },
@@ -54692,7 +54752,7 @@ const TaskDetailPanel = ({
54692
54752
  padding: "16px"
54693
54753
  },
54694
54754
  children: [/* @__PURE__ */ jsx("div", {
54695
- onClick: () => setIsDeleteModalOpen(false),
54755
+ onClick: handleDeleteCancel,
54696
54756
  style: {
54697
54757
  position: "absolute",
54698
54758
  inset: 0,
@@ -54719,13 +54779,14 @@ const TaskDetailPanel = ({
54719
54779
  children: [/* @__PURE__ */ jsx("h2", {
54720
54780
  style: {
54721
54781
  margin: 0,
54782
+ fontFamily: theme2.fonts.body,
54722
54783
  fontSize: theme2.fontSizes[4],
54723
- fontWeight: 600,
54724
- color: theme2.colors.text
54784
+ fontWeight: theme2.fontWeights.semibold,
54785
+ color: theme2.colors.warning
54725
54786
  },
54726
54787
  children: "Delete Task?"
54727
54788
  }), /* @__PURE__ */ jsx("button", {
54728
- onClick: () => setIsDeleteModalOpen(false),
54789
+ onClick: handleDeleteCancel,
54729
54790
  style: {
54730
54791
  background: "none",
54731
54792
  border: "none",
@@ -54748,11 +54809,15 @@ const TaskDetailPanel = ({
54748
54809
  children: [/* @__PURE__ */ jsxs("p", {
54749
54810
  style: {
54750
54811
  margin: 0,
54812
+ fontFamily: theme2.fonts.body,
54751
54813
  fontSize: theme2.fontSizes[2],
54752
54814
  color: theme2.colors.text,
54753
54815
  lineHeight: 1.5
54754
54816
  },
54755
54817
  children: ["Are you sure you want to delete ", /* @__PURE__ */ jsxs("strong", {
54818
+ style: {
54819
+ color: theme2.colors.primary
54820
+ },
54756
54821
  children: ['"', selectedTask.title, '"']
54757
54822
  }), "? This action cannot be undone."]
54758
54823
  }), deleteState.status === "error" && /* @__PURE__ */ jsx("div", {
@@ -54762,8 +54827,9 @@ const TaskDetailPanel = ({
54762
54827
  backgroundColor: `${theme2.colors.error}15`,
54763
54828
  border: `1px solid ${theme2.colors.error}`,
54764
54829
  borderRadius: theme2.radii[2],
54765
- color: theme2.colors.error,
54766
- fontSize: theme2.fontSizes[1]
54830
+ fontFamily: theme2.fonts.body,
54831
+ fontSize: theme2.fontSizes[1],
54832
+ color: theme2.colors.error
54767
54833
  },
54768
54834
  children: deleteState.error || "Failed to delete task"
54769
54835
  })]
@@ -54777,12 +54843,13 @@ const TaskDetailPanel = ({
54777
54843
  },
54778
54844
  children: [/* @__PURE__ */ jsx("button", {
54779
54845
  type: "button",
54780
- onClick: () => setIsDeleteModalOpen(false),
54846
+ onClick: handleDeleteCancel,
54781
54847
  disabled: deleteState.status === "loading",
54782
54848
  style: {
54783
54849
  padding: "10px 20px",
54850
+ fontFamily: theme2.fonts.body,
54784
54851
  fontSize: theme2.fontSizes[2],
54785
- fontWeight: 500,
54852
+ fontWeight: theme2.fontWeights.medium,
54786
54853
  border: `1px solid ${theme2.colors.border}`,
54787
54854
  borderRadius: theme2.radii[2],
54788
54855
  backgroundColor: "transparent",
@@ -54800,8 +54867,9 @@ const TaskDetailPanel = ({
54800
54867
  alignItems: "center",
54801
54868
  gap: "8px",
54802
54869
  padding: "10px 20px",
54870
+ fontFamily: theme2.fonts.body,
54803
54871
  fontSize: theme2.fontSizes[2],
54804
- fontWeight: 500,
54872
+ fontWeight: theme2.fontWeights.medium,
54805
54873
  border: "none",
54806
54874
  borderRadius: theme2.radii[2],
54807
54875
  backgroundColor: theme2.colors.error,