@dragonmastery/dragoncore-vue 0.0.4 → 0.0.6

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.
Files changed (56) hide show
  1. package/dist/{CreateTeamForm-zVlGgmL9.js → CreateTeamForm-O_viMOrD.js} +5 -5
  2. package/dist/{CreateTeamMemberForm-DkCbsJDn.js → CreateTeamMemberForm-BzwDug0x.js} +5 -5
  3. package/dist/{CreditBalanceDashboard-BTW4IK66.js → CreditBalanceDashboard-CBaQsjyo.js} +5 -5
  4. package/dist/{CreditManagement-0JxmCIAd.js → CreditManagement-Bal5mbQC.js} +5 -5
  5. package/dist/CustomerCreateSupportTicketForm-CpnbsCqr.js +27 -0
  6. package/dist/{CustomerSupportTicketDetailPage-DQa_Zvfe.js → CustomerSupportTicketDetailPage-DZQCplSM.js} +197 -183
  7. package/dist/CustomerSupportTicketDetailPage-DZQCplSM.js.map +1 -0
  8. package/dist/CustomerSupportTicketList-CKf8Kyzu.js +27 -0
  9. package/dist/{CustomerSupportTicketParent-BOYIren9.js → CustomerSupportTicketParent-BnmTFigo.js} +1 -1
  10. package/dist/{CustomerSupportTicketParent-sT8hpgrA.js → CustomerSupportTicketParent-BzY4pmBk.js} +2 -2
  11. package/dist/{CustomerSupportTicketParent-sT8hpgrA.js.map → CustomerSupportTicketParent-BzY4pmBk.js.map} +1 -1
  12. package/dist/CustomerSupportTicketSuccess-B-1n0gP-.js +27 -0
  13. package/dist/{EditTeamForm-BM90JTjr.js → EditTeamForm-CKnK07nF.js} +5 -5
  14. package/dist/{ResetPassword-DAn7dYAp.js → ResetPassword-Q8vhelQz.js} +5 -5
  15. package/dist/{SavedFiltersPage-BNasEKOY.js → SavedFiltersPage-DhhcU1R1.js} +51 -23
  16. package/dist/SavedFiltersPage-DhhcU1R1.js.map +1 -0
  17. package/dist/StaffCreateSupportTicketForm-D5ne_W9A.js +27 -0
  18. package/dist/{StaffSupportTicketDetailPage-D49ibqrO.js → StaffSupportTicketDetailPage-DY07Ez0R.js} +176 -132
  19. package/dist/StaffSupportTicketDetailPage-DY07Ez0R.js.map +1 -0
  20. package/dist/StaffSupportTicketList-xD3FaXkS.js +27 -0
  21. package/dist/{StaffSupportTicketParent-CxrPxXSH.js → StaffSupportTicketParent-CWWhaM37.js} +2 -2
  22. package/dist/{StaffSupportTicketParent-CxrPxXSH.js.map → StaffSupportTicketParent-CWWhaM37.js.map} +1 -1
  23. package/dist/{StaffSupportTicketParent-C7Mm7W_0.js → StaffSupportTicketParent-Dp1G85wc.js} +1 -1
  24. package/dist/StaffSupportTicketSuccess-D1nBsbcC.js +27 -0
  25. package/dist/{SupportTicketDevLifecycleBadge-Cl4y47Sy.js → SupportTicketDevLifecycleBadge-Ba-Rm6QW.js} +1 -1
  26. package/dist/{SupportTicketDevLifecycleBadge-Cl4y47Sy.js.map → SupportTicketDevLifecycleBadge-Ba-Rm6QW.js.map} +1 -1
  27. package/dist/{TeamAttachmentsTab-BoOIuTU1.js → TeamAttachmentsTab-DaCRkUsF.js} +5 -5
  28. package/dist/{ViewTeam-Bb1WH_Us.js → TeamList-BaZfSOG4.js} +6 -6
  29. package/dist/{TeamMemberList-CQTxcWNS.js → TeamMemberList-DOG48Y0Q.js} +5 -5
  30. package/dist/{TeamMemberParent-Bt0kbyKQ.js → TeamMemberParent-CTrhsG1K.js} +5 -5
  31. package/dist/{TeamParent-BvLiiJq6.js → TeamParent-myjqz30R.js} +5 -5
  32. package/dist/{TimelineNoteInput-BRsQ2QTz.js → TimelineNoteInput-BVqF4MtZ.js} +31 -8
  33. package/dist/TimelineNoteInput-BVqF4MtZ.js.map +1 -0
  34. package/dist/{TimelineSystemEvent-B69B3eeL.js → TimelineSystemEvent-D58zN850.js} +288 -205
  35. package/dist/TimelineSystemEvent-D58zN850.js.map +1 -0
  36. package/dist/{TeamList-TpS3BhPd.js → ViewTeam-DRQuV1A3.js} +6 -6
  37. package/dist/{ViewTeamMember-CBTAnAhS.js → ViewTeamMember-DjbxMkB4.js} +5 -5
  38. package/dist/{displayIdFormatter-BoKcrgF5.js → displayIdFormatter-B1ZKgofu.js} +1 -1
  39. package/dist/{displayIdFormatter-BoKcrgF5.js.map → displayIdFormatter-B1ZKgofu.js.map} +1 -1
  40. package/dist/index.d.ts +962 -938
  41. package/dist/index.js +6 -6
  42. package/dist/{src-ChwBeNHB.js → src-wQ7pAFHx.js} +1488 -1416
  43. package/dist/src-wQ7pAFHx.js.map +1 -0
  44. package/package.json +2 -2
  45. package/dist/CustomerCreateSupportTicketForm-CQcv4vrX.js +0 -27
  46. package/dist/CustomerSupportTicketDetailPage-DQa_Zvfe.js.map +0 -1
  47. package/dist/CustomerSupportTicketList-CMPRQ_7O.js +0 -27
  48. package/dist/CustomerSupportTicketSuccess-CnRWm6gX.js +0 -27
  49. package/dist/SavedFiltersPage-BNasEKOY.js.map +0 -1
  50. package/dist/StaffCreateSupportTicketForm-DoHCw60c.js +0 -27
  51. package/dist/StaffSupportTicketDetailPage-D49ibqrO.js.map +0 -1
  52. package/dist/StaffSupportTicketList-BgCIa_9v.js +0 -27
  53. package/dist/StaffSupportTicketSuccess-DZF2WpZc.js +0 -27
  54. package/dist/TimelineNoteInput-BRsQ2QTz.js.map +0 -1
  55. package/dist/TimelineSystemEvent-B69B3eeL.js.map +0 -1
  56. package/dist/src-ChwBeNHB.js.map +0 -1
@@ -2,15 +2,15 @@ import { t as BATCH_MODE } from "./useRpcAuth-Dp2sec-X.js";
2
2
  import "./useQueryCache-DqcDMsxb.js";
3
3
  import { t as useMutation } from "./useMutation-B4_S4Xoa.js";
4
4
  import { t as useQuery } from "./useQuery-B7ndu5_P.js";
5
- import { c as SupportTicketTypeBadge_default, i as SupportTicketApprovalBadge_default, l as SupportTicketPriorityBadge_default, n as TimelineItem_default, r as formatTicketDate, s as formatStaffCreditValue, t as TimelineSystemEvent_default } from "./TimelineSystemEvent-B69B3eeL.js";
5
+ import { a as SupportTicketTypeBadge_default, i as SupportTicketApprovalBadge_default, l as formatStaffCreditValue, n as TimelineItem_default, o as SupportTicketPriorityBadge_default, r as formatTicketDate, t as TimelineSystemEvent_default } from "./TimelineSystemEvent-D58zN850.js";
6
6
  import { n as formatToISODate } from "./convertToLocalDateTime-DOSGtMn8.js";
7
7
  import { t as extractRpcErrorMessage } from "./extractRpcErrorMessage-C_UbKgHL.js";
8
- import { t as formatTicketDisplayId } from "./displayIdFormatter-BoKcrgF5.js";
9
- import { t as SupportTicketDevLifecycleBadge_default } from "./SupportTicketDevLifecycleBadge-Cl4y47Sy.js";
10
- import { a as SupportTicketAttachmentsCollapsible_default, i as parseRecordVersions, n as MetadataField_default, r as ActionBannerAlert_default, t as TimelineNoteInput_default } from "./TimelineNoteInput-BRsQ2QTz.js";
8
+ import { t as formatTicketDisplayId } from "./displayIdFormatter-B1ZKgofu.js";
9
+ import { t as SupportTicketDevLifecycleBadge_default } from "./SupportTicketDevLifecycleBadge-Ba-Rm6QW.js";
10
+ import { a as SupportTicketAttachmentsCollapsible_default, i as parseRecordVersions, n as MetadataField_default, r as ActionBannerAlert_default, t as TimelineNoteInput_default } from "./TimelineNoteInput-BVqF4MtZ.js";
11
11
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, inject, nextTick, normalizeClass, openBlock, ref, renderList, resolveComponent, toDisplayString, unref, vModelCheckbox, vModelSelect, vModelText, watch, withCtx, withDirectives } from "vue";
12
12
  import { useRoute, useRouter } from "vue-router";
13
- import { ApproveSupportTicketSchema, CompleteSupportTicketSchema, OPERATORS, RecordConst, SUPPORT_TICKET_PRIORITY_NUMBER_TO_LABEL, StaffSupportTicketUpdateSchema, supportTicketPriorityToNumber } from "@dragonmastery/dragoncore-shared";
13
+ import { ApproveSupportTicketSchema, CompleteSupportTicketSchema, OPERATORS, RecordConst, SUPPORT_TICKET_DEV_LIFECYCLE_FILTER_OPTIONS, SUPPORT_TICKET_PRIORITY_NUMBER_TO_LABEL, StaffSupportTicketUpdateSchema, SupportTicketDevLifecycleUpdateEnum, supportTicketPriorityToNumber } from "@dragonmastery/dragoncore-shared";
14
14
  import { useForm, withMetadata } from "@dragonmastery/zinia-forms-core";
15
15
  import { toast } from "vue3-toastify";
16
16
 
@@ -746,37 +746,84 @@ var StaffActionBanner_default = _sfc_main$5;
746
746
  //#region src/slices/support_ticket/staff/components/StaffMetadataCard.vue
747
747
  const _hoisted_1$4 = { class: "border border-base-200 rounded-lg p-4 md:p-6" };
748
748
  const _hoisted_2$4 = { class: "grid grid-cols-1 md:grid-cols-2 gap-x-8 gap-y-3" };
749
- const _hoisted_3$3 = { key: 0 };
750
- const _hoisted_4$3 = {
749
+ const _hoisted_3$3 = ["value", "disabled"];
750
+ const _hoisted_4$3 = ["value"];
751
+ const _hoisted_5$3 = {
752
+ key: 2,
753
+ class: "text-base-content/50 italic text-sm"
754
+ };
755
+ const _hoisted_6$3 = { key: 0 };
756
+ const _hoisted_7$3 = {
751
757
  key: 1,
752
758
  class: "text-base-content/50 italic text-sm"
753
759
  };
754
- const _hoisted_5$3 = { class: "md:col-span-2" };
755
- const _hoisted_6$3 = {
760
+ const _hoisted_8$3 = { class: "md:col-span-2" };
761
+ const _hoisted_9$3 = {
756
762
  key: 0,
757
763
  class: "whitespace-pre-wrap text-sm"
758
764
  };
759
- const _hoisted_7$3 = {
765
+ const _hoisted_10$3 = {
760
766
  key: 0,
761
767
  class: "text-base-content/50"
762
768
  };
763
- const _hoisted_8$3 = { class: "text-base-content/50" };
764
- const _hoisted_9$3 = {
769
+ const _hoisted_11$3 = { class: "text-base-content/50" };
770
+ const _hoisted_12$3 = {
765
771
  key: 1,
766
772
  class: "text-base-content/50 italic text-sm"
767
773
  };
768
- const _hoisted_10$3 = { class: "text-base-content/50" };
769
- const _hoisted_11$3 = { class: "text-base-content/50" };
770
- const _hoisted_12$3 = { class: "inline-flex items-center gap-1" };
771
- const _hoisted_13$3 = {
774
+ const _hoisted_13$3 = { class: "text-base-content/50" };
775
+ const _hoisted_14$3 = { class: "text-base-content/50" };
776
+ const _hoisted_15$3 = { class: "inline-flex items-center gap-1" };
777
+ const _hoisted_16$3 = {
772
778
  key: 0,
773
779
  "aria-hidden": "true"
774
780
  };
781
+ const _hoisted_17$3 = {
782
+ key: 0,
783
+ class: "flex justify-end gap-2 mt-4"
784
+ };
775
785
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
776
786
  __name: "StaffMetadataCard",
777
787
  props: { ticket: {} },
788
+ emits: ["edit"],
778
789
  setup(__props) {
779
790
  const props = __props;
791
+ const refreshTicket = inject("refreshTicket");
792
+ const devLifecycleUpdateOptions = SUPPORT_TICKET_DEV_LIFECYCLE_FILTER_OPTIONS.filter((opt) => SupportTicketDevLifecycleUpdateEnum.includes(opt.value));
793
+ const updatingDevLifecycle = ref(false);
794
+ const { mutate: updateTicket } = useMutation((api, input) => api.supportTickets.staffUpdateTicket(input), { invalidate: /^support-tickets?:/ });
795
+ const canEditDevLifecycle = computed(() => {
796
+ const t = props.ticket;
797
+ if (!t.approval_status) return false;
798
+ if (!["APPROVED", "INTERNAL"].includes(t.approval_status)) return false;
799
+ const dl = t.dev_lifecycle;
800
+ if (dl === "DEPLOYED" || dl === "CANCELLED") return false;
801
+ return true;
802
+ });
803
+ const effectiveDevLifecycleForSelect = computed(() => {
804
+ const dl = props.ticket.dev_lifecycle;
805
+ if (dl && SupportTicketDevLifecycleUpdateEnum.includes(dl)) return dl;
806
+ return "BACKLOG";
807
+ });
808
+ async function handleDevLifecycleChange(newDevLifecycle) {
809
+ if (!SupportTicketDevLifecycleUpdateEnum.includes(newDevLifecycle)) return;
810
+ if (!refreshTicket) return;
811
+ const t = props.ticket;
812
+ updatingDevLifecycle.value = true;
813
+ try {
814
+ const priority = typeof t.priority === "number" ? t.priority : supportTicketPriorityToNumber(t.priority);
815
+ await updateTicket({
816
+ id: t.id,
817
+ title: t.title,
818
+ type: t.type,
819
+ priority,
820
+ dev_lifecycle: newDevLifecycle
821
+ });
822
+ await refreshTicket();
823
+ } finally {
824
+ updatingDevLifecycle.value = false;
825
+ }
826
+ }
780
827
  const assigneeDisplay = computed(() => {
781
828
  const assigneeId = props.ticket?.assigned_to;
782
829
  if (!assigneeId) return null;
@@ -812,12 +859,22 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
812
859
  _: 1
813
860
  }),
814
861
  createVNode(MetadataField_default, { label: "Dev Lifecycle" }, {
815
- empty: withCtx(() => [..._cache[0] || (_cache[0] = [createElementVNode("span", { class: "text-base-content/50 italic text-sm" }, "Not started", -1)])]),
816
- default: withCtx(() => [__props.ticket.dev_lifecycle ? (openBlock(), createBlock(SupportTicketDevLifecycleBadge_default, {
862
+ default: withCtx(() => [canEditDevLifecycle.value ? (openBlock(), createElementBlock("select", {
817
863
  key: 0,
864
+ value: effectiveDevLifecycleForSelect.value,
865
+ class: "select select-sm select-bordered min-w-[7rem]",
866
+ disabled: updatingDevLifecycle.value,
867
+ onChange: _cache[0] || (_cache[0] = ($event) => handleDevLifecycleChange($event.target.value))
868
+ }, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(devLifecycleUpdateOptions), (opt) => {
869
+ return openBlock(), createElementBlock("option", {
870
+ key: opt.value,
871
+ value: opt.value
872
+ }, toDisplayString(opt.label), 9, _hoisted_4$3);
873
+ }), 128))], 40, _hoisted_3$3)) : __props.ticket.dev_lifecycle ? (openBlock(), createBlock(SupportTicketDevLifecycleBadge_default, {
874
+ key: 1,
818
875
  "dev-lifecycle": __props.ticket.dev_lifecycle,
819
876
  size: "sm"
820
- }, null, 8, ["dev-lifecycle"])) : createCommentVNode("v-if", true)]),
877
+ }, null, 8, ["dev-lifecycle"])) : (openBlock(), createElementBlock("span", _hoisted_5$3, "Not started"))]),
821
878
  _: 1
822
879
  }),
823
880
  createVNode(MetadataField_default, { label: "Type" }, {
@@ -835,16 +892,16 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
835
892
  _: 1
836
893
  }),
837
894
  createVNode(MetadataField_default, { label: "Assignee" }, {
838
- default: withCtx(() => [assigneeDisplay.value ? (openBlock(), createElementBlock("span", _hoisted_3$3, toDisplayString(assigneeDisplay.value), 1)) : (openBlock(), createElementBlock("span", _hoisted_4$3, "Unassigned"))]),
895
+ default: withCtx(() => [assigneeDisplay.value ? (openBlock(), createElementBlock("span", _hoisted_6$3, toDisplayString(assigneeDisplay.value), 1)) : (openBlock(), createElementBlock("span", _hoisted_7$3, "Unassigned"))]),
839
896
  _: 1
840
897
  }),
841
898
  createVNode(MetadataField_default, { label: "Requester" }, {
842
899
  default: withCtx(() => [createTextVNode(toDisplayString(__props.ticket.created_by_display_name), 1)]),
843
900
  _: 1
844
901
  }),
845
- createElementVNode("div", _hoisted_5$3, [createVNode(MetadataField_default, { label: "Description" }, {
846
- empty: withCtx(() => [..._cache[1] || (_cache[1] = [createElementVNode("span", { class: "text-base-content/50 italic text-sm" }, "No description provided", -1)])]),
847
- default: withCtx(() => [__props.ticket.description?.trim() ? (openBlock(), createElementBlock("p", _hoisted_6$3, toDisplayString(__props.ticket.description), 1)) : createCommentVNode("v-if", true)]),
902
+ createElementVNode("div", _hoisted_8$3, [createVNode(MetadataField_default, { label: "Description" }, {
903
+ empty: withCtx(() => [..._cache[2] || (_cache[2] = [createElementVNode("span", { class: "text-base-content/50 italic text-sm" }, "No description provided", -1)])]),
904
+ default: withCtx(() => [__props.ticket.description?.trim() ? (openBlock(), createElementBlock("p", _hoisted_9$3, toDisplayString(__props.ticket.description), 1)) : createCommentVNode("v-if", true)]),
848
905
  _: 1
849
906
  })]),
850
907
  createVNode(MetadataField_default, {
@@ -855,36 +912,51 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
855
912
  _: 1
856
913
  }),
857
914
  createVNode(MetadataField_default, { label: "Created" }, {
858
- default: withCtx(() => [createTextVNode(toDisplayString(createdFormatted.value) + " ", 1), createdRelative.value ? (openBlock(), createElementBlock("span", _hoisted_7$3, "· " + toDisplayString(createdRelative.value), 1)) : createCommentVNode("v-if", true)]),
915
+ default: withCtx(() => [createTextVNode(toDisplayString(createdFormatted.value) + " ", 1), createdRelative.value ? (openBlock(), createElementBlock("span", _hoisted_10$3, "· " + toDisplayString(createdRelative.value), 1)) : createCommentVNode("v-if", true)]),
859
916
  _: 1
860
917
  }),
861
918
  createVNode(MetadataField_default, { label: "Started" }, {
862
- default: withCtx(() => [__props.ticket.start_at ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(toDisplayString(startFormatted.value) + " ", 1), createElementVNode("span", _hoisted_8$3, "· " + toDisplayString(startRelative.value), 1)], 64)) : (openBlock(), createElementBlock("span", _hoisted_9$3, "Not set"))]),
919
+ default: withCtx(() => [__props.ticket.start_at ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(toDisplayString(startFormatted.value) + " ", 1), createElementVNode("span", _hoisted_11$3, "· " + toDisplayString(startRelative.value), 1)], 64)) : (openBlock(), createElementBlock("span", _hoisted_12$3, "Not set"))]),
863
920
  _: 1
864
921
  }),
865
922
  createVNode(MetadataField_default, { label: "Target" }, {
866
- empty: withCtx(() => [..._cache[2] || (_cache[2] = [createElementVNode("span", { class: "text-base-content/50 italic text-sm" }, "Not set", -1)])]),
923
+ empty: withCtx(() => [..._cache[3] || (_cache[3] = [createElementVNode("span", { class: "text-base-content/50 italic text-sm" }, "Not set", -1)])]),
867
924
  default: withCtx(() => [__props.ticket.target_at ? (openBlock(), createElementBlock("span", {
868
925
  key: 0,
869
926
  class: normalizeClass({ "text-error": isTargetOverdue.value })
870
- }, [createTextVNode(toDisplayString(targetFormatted.value) + " ", 1), createElementVNode("span", _hoisted_10$3, "· " + toDisplayString(targetRelative.value), 1)], 2)) : createCommentVNode("v-if", true)]),
927
+ }, [createTextVNode(toDisplayString(targetFormatted.value) + " ", 1), createElementVNode("span", _hoisted_13$3, "· " + toDisplayString(targetRelative.value), 1)], 2)) : createCommentVNode("v-if", true)]),
871
928
  _: 1
872
929
  }),
873
930
  createVNode(MetadataField_default, { label: "Completed" }, {
874
- empty: withCtx(() => [..._cache[3] || (_cache[3] = [createElementVNode("span", { class: "text-base-content/50 italic text-sm" }, "Not set", -1)])]),
875
- default: withCtx(() => [__props.ticket.completed_at ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(toDisplayString(completedFormatted.value) + " ", 1), createElementVNode("span", _hoisted_11$3, "· " + toDisplayString(completedRelative.value), 1)], 64)) : createCommentVNode("v-if", true)]),
931
+ empty: withCtx(() => [..._cache[4] || (_cache[4] = [createElementVNode("span", { class: "text-base-content/50 italic text-sm" }, "Not set", -1)])]),
932
+ default: withCtx(() => [__props.ticket.completed_at ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(toDisplayString(completedFormatted.value) + " ", 1), createElementVNode("span", _hoisted_14$3, "· " + toDisplayString(completedRelative.value), 1)], 64)) : createCommentVNode("v-if", true)]),
876
933
  _: 1
877
934
  }),
878
935
  createVNode(MetadataField_default, { label: "Credits" }, {
879
- default: withCtx(() => [createElementVNode("span", _hoisted_12$3, [__props.ticket.is_locked ? (openBlock(), createElementBlock("span", _hoisted_13$3, "🔒")) : createCommentVNode("v-if", true), createTextVNode(" " + toDisplayString(creditDisplay.value), 1)])]),
936
+ default: withCtx(() => [createElementVNode("span", _hoisted_15$3, [__props.ticket.is_locked ? (openBlock(), createElementBlock("span", _hoisted_16$3, "🔒")) : createCommentVNode("v-if", true), createTextVNode(" " + toDisplayString(creditDisplay.value), 1)])]),
880
937
  _: 1
881
938
  }),
882
939
  createVNode(MetadataField_default, { label: "Delivered Value" }, {
883
- empty: withCtx(() => [..._cache[4] || (_cache[4] = [createElementVNode("span", { class: "text-base-content/50 italic text-sm" }, "Not set", -1)])]),
940
+ empty: withCtx(() => [..._cache[5] || (_cache[5] = [createElementVNode("span", { class: "text-base-content/50 italic text-sm" }, "Not set", -1)])]),
884
941
  default: withCtx(() => [__props.ticket.delivered_value?.trim() ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(toDisplayString(__props.ticket.delivered_value), 1)], 64)) : createCommentVNode("v-if", true)]),
885
942
  _: 1
886
943
  })
887
- ])]);
944
+ ]), !__props.ticket.archived_at ? (openBlock(), createElementBlock("div", _hoisted_17$3, [createElementVNode("button", {
945
+ type: "button",
946
+ class: "btn btn-sm",
947
+ onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("edit"))
948
+ }, [..._cache[6] || (_cache[6] = [createElementVNode("svg", {
949
+ xmlns: "http://www.w3.org/2000/svg",
950
+ fill: "none",
951
+ viewBox: "0 0 24 24",
952
+ "stroke-width": "1.5",
953
+ stroke: "currentColor",
954
+ class: "w-4 h-4 mr-2"
955
+ }, [createElementVNode("path", {
956
+ "stroke-linecap": "round",
957
+ "stroke-linejoin": "round",
958
+ d: "M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10"
959
+ })], -1), createTextVNode(" Edit ", -1)])])])) : createCommentVNode("v-if", true)]);
888
960
  };
889
961
  }
890
962
  });
@@ -938,49 +1010,48 @@ const staffMetadataCardEditFormMetadata = withMetadata(StaffSupportTicketUpdateS
938
1010
 
939
1011
  //#endregion
940
1012
  //#region src/slices/support_ticket/staff/components/StaffMetadataCardEdit.vue
941
- const _hoisted_1$3 = { class: "border border-base-200 rounded-lg p-4 md:p-6" };
942
- const _hoisted_2$3 = { class: "grid grid-cols-1 md:grid-cols-2 gap-4" };
1013
+ const _hoisted_1$3 = { class: "grid grid-cols-1 md:grid-cols-2 gap-4" };
1014
+ const _hoisted_2$3 = { class: "form-control md:col-span-2" };
943
1015
  const _hoisted_3$2 = { class: "form-control md:col-span-2" };
944
- const _hoisted_4$2 = { class: "form-control md:col-span-2" };
945
- const _hoisted_5$2 = { class: "form-control" };
946
- const _hoisted_6$2 = {
1016
+ const _hoisted_4$2 = { class: "form-control" };
1017
+ const _hoisted_5$2 = {
947
1018
  key: 0,
948
1019
  class: "form-control"
949
1020
  };
950
- const _hoisted_7$2 = ["disabled"];
951
- const _hoisted_8$2 = ["value"];
952
- const _hoisted_9$2 = { class: "form-control" };
953
- const _hoisted_10$2 = {
1021
+ const _hoisted_6$2 = ["disabled"];
1022
+ const _hoisted_7$2 = ["value"];
1023
+ const _hoisted_8$2 = { class: "form-control" };
1024
+ const _hoisted_9$2 = {
954
1025
  key: 1,
955
1026
  class: "form-control"
956
1027
  };
957
- const _hoisted_11$2 = {
1028
+ const _hoisted_10$2 = {
958
1029
  key: 2,
959
1030
  class: "form-control"
960
1031
  };
961
- const _hoisted_12$2 = {
1032
+ const _hoisted_11$2 = {
962
1033
  key: 3,
963
1034
  class: "form-control"
964
1035
  };
965
- const _hoisted_13$2 = {
1036
+ const _hoisted_12$2 = {
966
1037
  key: 4,
967
1038
  class: "form-control"
968
1039
  };
969
- const _hoisted_14$2 = {
1040
+ const _hoisted_13$2 = {
970
1041
  key: 5,
971
1042
  class: "form-control"
972
1043
  };
973
- const _hoisted_15$2 = {
1044
+ const _hoisted_14$2 = {
974
1045
  key: 6,
975
1046
  class: "form-control"
976
1047
  };
977
- const _hoisted_16$2 = {
1048
+ const _hoisted_15$2 = {
978
1049
  key: 0,
979
1050
  class: "alert alert-error py-2 mt-4"
980
1051
  };
981
- const _hoisted_17$2 = { class: "text-sm" };
982
- const _hoisted_18$2 = { class: "flex justify-end gap-2 mt-4" };
983
- const _hoisted_19$2 = ["disabled"];
1052
+ const _hoisted_16$2 = { class: "text-sm" };
1053
+ const _hoisted_17$2 = { class: "flex justify-end gap-2 mt-4" };
1054
+ const _hoisted_18$2 = ["disabled"];
984
1055
  const _sfc_main$3 = /* @__PURE__ */ defineComponent({
985
1056
  __name: "StaffMetadataCardEdit",
986
1057
  props: {
@@ -1102,7 +1173,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
1102
1173
  emit("cancel");
1103
1174
  }
1104
1175
  return (_ctx, _cache) => {
1105
- return openBlock(), createElementBlock("div", _hoisted_1$3, [createVNode(unref(ZiniaForm), {
1176
+ return openBlock(), createBlock(unref(ZiniaForm), {
1106
1177
  onHandleSubmit: handleSubmit,
1107
1178
  onSuccess: handleSuccess,
1108
1179
  onError: handleError,
@@ -1110,18 +1181,18 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
1110
1181
  subtitle: ""
1111
1182
  }, {
1112
1183
  default: withCtx(() => [
1113
- createElementVNode("div", _hoisted_2$3, [
1184
+ createElementVNode("div", _hoisted_1$3, [
1114
1185
  createCommentVNode(" Title - full width "),
1115
- createElementVNode("div", _hoisted_3$2, [createVNode(unref(zinia).TitleField, { placeholder: "Enter ticket title" })]),
1186
+ createElementVNode("div", _hoisted_2$3, [createVNode(unref(zinia).TitleField, { placeholder: "Enter ticket title" })]),
1116
1187
  createCommentVNode(" Description - full width "),
1117
- createElementVNode("div", _hoisted_4$2, [createVNode(unref(zinia).DescriptionField, {
1188
+ createElementVNode("div", _hoisted_3$2, [createVNode(unref(zinia).DescriptionField, {
1118
1189
  class: "w-full",
1119
1190
  placeholder: "Describe the ticket in detail"
1120
1191
  })]),
1121
1192
  createCommentVNode(" Type "),
1122
- createElementVNode("div", _hoisted_5$2, [createVNode(unref(zinia).TypeField)]),
1193
+ createElementVNode("div", _hoisted_4$2, [createVNode(unref(zinia).TypeField)]),
1123
1194
  createCommentVNode(" Assignee - only when not archived "),
1124
- !__props.ticket.archived_at ? (openBlock(), createElementBlock("div", _hoisted_6$2, [_cache[2] || (_cache[2] = createElementVNode("label", { class: "label" }, [createElementVNode("span", { class: "label-text" }, "Assignee")], -1)), withDirectives(createElementVNode("select", {
1195
+ !__props.ticket.archived_at ? (openBlock(), createElementBlock("div", _hoisted_5$2, [_cache[2] || (_cache[2] = createElementVNode("label", { class: "label" }, [createElementVNode("span", { class: "label-text" }, "Assignee")], -1)), withDirectives(createElementVNode("select", {
1125
1196
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => assigneeId.value = $event),
1126
1197
  class: "select select-bordered w-full",
1127
1198
  disabled: saving.value
@@ -1129,46 +1200,46 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
1129
1200
  return openBlock(), createElementBlock("option", {
1130
1201
  key: u.id,
1131
1202
  value: u.id
1132
- }, toDisplayString(u.email), 9, _hoisted_8$2);
1133
- }), 128))], 8, _hoisted_7$2), [[vModelSelect, assigneeId.value]])])) : createCommentVNode("v-if", true),
1203
+ }, toDisplayString(u.email), 9, _hoisted_7$2);
1204
+ }), 128))], 8, _hoisted_6$2), [[vModelSelect, assigneeId.value]])])) : createCommentVNode("v-if", true),
1134
1205
  createCommentVNode(" Priority "),
1135
- createElementVNode("div", _hoisted_9$2, [createVNode(unref(zinia).PriorityField)]),
1206
+ createElementVNode("div", _hoisted_8$2, [createVNode(unref(zinia).PriorityField)]),
1136
1207
  createCommentVNode(" Development Lifecycle - Only editable when APPROVED or INTERNAL (not terminal states) "),
1137
- ["APPROVED", "INTERNAL"].includes(__props.ticket.approval_status || "") && __props.ticket.dev_lifecycle !== "DEPLOYED" && __props.ticket.dev_lifecycle !== "CANCELLED" ? (openBlock(), createElementBlock("div", _hoisted_10$2, [createVNode(unref(zinia).DevLifecycleField)])) : createCommentVNode("v-if", true),
1208
+ ["APPROVED", "INTERNAL"].includes(__props.ticket.approval_status || "") && __props.ticket.dev_lifecycle !== "DEPLOYED" && __props.ticket.dev_lifecycle !== "CANCELLED" ? (openBlock(), createElementBlock("div", _hoisted_9$2, [createVNode(unref(zinia).DevLifecycleField)])) : createCommentVNode("v-if", true),
1138
1209
  createCommentVNode(" Credit Value - Only editable when PENDING "),
1139
- __props.ticket.approval_status === "PENDING" ? (openBlock(), createElementBlock("div", _hoisted_11$2, [createVNode(unref(zinia).CreditValueField, { placeholder: "0.00" })])) : createCommentVNode("v-if", true),
1210
+ __props.ticket.approval_status === "PENDING" ? (openBlock(), createElementBlock("div", _hoisted_10$2, [createVNode(unref(zinia).CreditValueField, { placeholder: "0.00" })])) : createCommentVNode("v-if", true),
1140
1211
  createCommentVNode(" Delivered Value - Only editable when DEPLOYED "),
1141
- __props.ticket.dev_lifecycle === "DEPLOYED" ? (openBlock(), createElementBlock("div", _hoisted_12$2, [createVNode(unref(zinia).DeliveredValueField, { placeholder: "0.00" })])) : createCommentVNode("v-if", true),
1212
+ __props.ticket.dev_lifecycle === "DEPLOYED" ? (openBlock(), createElementBlock("div", _hoisted_11$2, [createVNode(unref(zinia).DeliveredValueField, { placeholder: "0.00" })])) : createCommentVNode("v-if", true),
1142
1213
  createCommentVNode(" Start At - Only editable when PENDING, APPROVED, or INTERNAL (not terminal) "),
1143
1214
  [
1144
1215
  "PENDING",
1145
1216
  "APPROVED",
1146
1217
  "INTERNAL"
1147
- ].includes(__props.ticket.approval_status || "") && __props.ticket.dev_lifecycle !== "CANCELLED" && __props.ticket.dev_lifecycle !== "DEPLOYED" ? (openBlock(), createElementBlock("div", _hoisted_13$2, [createVNode(unref(zinia).StartAtField, { formatter: unref(formatToISODate) }, null, 8, ["formatter"])])) : createCommentVNode("v-if", true),
1218
+ ].includes(__props.ticket.approval_status || "") && __props.ticket.dev_lifecycle !== "CANCELLED" && __props.ticket.dev_lifecycle !== "DEPLOYED" ? (openBlock(), createElementBlock("div", _hoisted_12$2, [createVNode(unref(zinia).StartAtField, { formatter: unref(formatToISODate) }, null, 8, ["formatter"])])) : createCommentVNode("v-if", true),
1148
1219
  createCommentVNode(" Target At - Only editable when PENDING, APPROVED, or INTERNAL (not terminal) "),
1149
1220
  [
1150
1221
  "PENDING",
1151
1222
  "APPROVED",
1152
1223
  "INTERNAL"
1153
- ].includes(__props.ticket.approval_status || "") && __props.ticket.dev_lifecycle !== "CANCELLED" && __props.ticket.dev_lifecycle !== "DEPLOYED" ? (openBlock(), createElementBlock("div", _hoisted_14$2, [createVNode(unref(zinia).TargetAtField, { formatter: unref(formatToISODate) }, null, 8, ["formatter"])])) : createCommentVNode("v-if", true),
1224
+ ].includes(__props.ticket.approval_status || "") && __props.ticket.dev_lifecycle !== "CANCELLED" && __props.ticket.dev_lifecycle !== "DEPLOYED" ? (openBlock(), createElementBlock("div", _hoisted_13$2, [createVNode(unref(zinia).TargetAtField, { formatter: unref(formatToISODate) }, null, 8, ["formatter"])])) : createCommentVNode("v-if", true),
1154
1225
  createCommentVNode(" Completed At - Only editable when DEPLOYED or CANCELLED "),
1155
- __props.ticket.dev_lifecycle === "DEPLOYED" || __props.ticket.dev_lifecycle === "CANCELLED" ? (openBlock(), createElementBlock("div", _hoisted_15$2, [createVNode(unref(zinia).CompletedAtField, { formatter: unref(formatToISODate) }, null, 8, ["formatter"])])) : createCommentVNode("v-if", true)
1226
+ __props.ticket.dev_lifecycle === "DEPLOYED" || __props.ticket.dev_lifecycle === "CANCELLED" ? (openBlock(), createElementBlock("div", _hoisted_14$2, [createVNode(unref(zinia).CompletedAtField, { formatter: unref(formatToISODate) }, null, 8, ["formatter"])])) : createCommentVNode("v-if", true)
1156
1227
  ]),
1157
- unref(form).submitError ? (openBlock(), createElementBlock("div", _hoisted_16$2, [createElementVNode("span", _hoisted_17$2, toDisplayString(unref(form).submitError), 1)])) : createCommentVNode("v-if", true),
1228
+ unref(form).submitError ? (openBlock(), createElementBlock("div", _hoisted_15$2, [createElementVNode("span", _hoisted_16$2, toDisplayString(unref(form).submitError), 1)])) : createCommentVNode("v-if", true),
1158
1229
  createVNode(unref(ZiniaFormErrorsSummary), { title: "Please fix the following errors:" }),
1159
1230
  createCommentVNode(" Action Buttons "),
1160
- createElementVNode("div", _hoisted_18$2, [createElementVNode("button", {
1231
+ createElementVNode("div", _hoisted_17$2, [createElementVNode("button", {
1161
1232
  type: "button",
1162
1233
  class: "btn btn-ghost",
1163
1234
  onClick: handleCancel,
1164
1235
  disabled: saving.value
1165
- }, " Cancel ", 8, _hoisted_19$2), createVNode(unref(ZiniaSubmitButton), {
1236
+ }, " Cancel ", 8, _hoisted_18$2), createVNode(unref(ZiniaSubmitButton), {
1166
1237
  submitText: "Save",
1167
1238
  submittingText: "Saving..."
1168
1239
  })])
1169
1240
  ]),
1170
1241
  _: 1
1171
- })]);
1242
+ });
1172
1243
  };
1173
1244
  }
1174
1245
  });
@@ -1268,14 +1339,22 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
1268
1339
  author: item.data.author,
1269
1340
  message: item.data.message,
1270
1341
  timestamp: item.data.timestamp,
1342
+ action: item.data.action,
1343
+ type: item.data.type,
1344
+ details: item.data.details,
1271
1345
  "old-value": item.data.oldValue,
1272
- "new-value": item.data.newValue
1346
+ "new-value": item.data.newValue,
1347
+ changes: item.data.changes
1273
1348
  }, null, 8, [
1274
1349
  "author",
1275
1350
  "message",
1276
1351
  "timestamp",
1352
+ "action",
1353
+ "type",
1354
+ "details",
1277
1355
  "old-value",
1278
- "new-value"
1356
+ "new-value",
1357
+ "changes"
1279
1358
  ])) : createCommentVNode("v-if", true)], 64);
1280
1359
  }), 128))
1281
1360
  ]);
@@ -1462,29 +1541,25 @@ const _hoisted_5 = { class: "px-4 py-6 max-w-4xl mx-auto" };
1462
1541
  const _hoisted_6 = { class: "mb-6" };
1463
1542
  const _hoisted_7 = { class: "text-2xl font-bold text-base-content break-words leading-tight mt-2" };
1464
1543
  const _hoisted_8 = { class: "mb-6" };
1465
- const _hoisted_9 = {
1466
- key: 0,
1467
- class: "flex gap-2 mb-6"
1468
- };
1469
- const _hoisted_10 = { class: "modal-box" };
1470
- const _hoisted_11 = { class: "form-control py-4" };
1471
- const _hoisted_12 = ["disabled"];
1472
- const _hoisted_13 = {
1544
+ const _hoisted_9 = { class: "modal-box" };
1545
+ const _hoisted_10 = { class: "form-control py-4" };
1546
+ const _hoisted_11 = ["disabled"];
1547
+ const _hoisted_12 = {
1473
1548
  key: 0,
1474
1549
  class: "alert alert-error py-2 mb-4"
1475
1550
  };
1476
- const _hoisted_14 = { class: "text-sm" };
1477
- const _hoisted_15 = { class: "modal-action" };
1551
+ const _hoisted_13 = { class: "text-sm" };
1552
+ const _hoisted_14 = { class: "modal-action" };
1553
+ const _hoisted_15 = ["disabled"];
1478
1554
  const _hoisted_16 = ["disabled"];
1479
- const _hoisted_17 = ["disabled"];
1480
- const _hoisted_18 = {
1555
+ const _hoisted_17 = {
1481
1556
  key: 0,
1482
1557
  class: "loading loading-spinner loading-xs mr-2"
1483
1558
  };
1559
+ const _hoisted_18 = { class: "mb-8" };
1484
1560
  const _hoisted_19 = { class: "mb-8" };
1485
1561
  const _hoisted_20 = { class: "mb-8" };
1486
- const _hoisted_21 = { class: "mb-8" };
1487
- const _hoisted_22 = {
1562
+ const _hoisted_21 = {
1488
1563
  key: 1,
1489
1564
  class: "flex justify-center items-center py-8"
1490
1565
  };
@@ -1727,38 +1802,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1727
1802
  onComplete: showCompleteModal,
1728
1803
  onArchive: showArchiveModal
1729
1804
  }, null, 8, ["ticket"])]),
1730
- createCommentVNode(" Edit / Cancel "),
1731
- !__props.ticket.archived_at ? (openBlock(), createElementBlock("div", _hoisted_9, [!isEditMode.value ? (openBlock(), createElementBlock("button", {
1732
- key: 0,
1733
- onClick: enterEditMode,
1734
- class: "btn btn-sm"
1735
- }, [..._cache[10] || (_cache[10] = [createElementVNode("svg", {
1736
- xmlns: "http://www.w3.org/2000/svg",
1737
- fill: "none",
1738
- viewBox: "0 0 24 24",
1739
- "stroke-width": "1.5",
1740
- stroke: "currentColor",
1741
- class: "w-4 h-4 mr-2"
1742
- }, [createElementVNode("path", {
1743
- "stroke-linecap": "round",
1744
- "stroke-linejoin": "round",
1745
- d: "M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10"
1746
- })], -1), createTextVNode(" Edit ", -1)])])) : isEditMode.value ? (openBlock(), createElementBlock("button", {
1747
- key: 1,
1748
- onClick: exitEditMode,
1749
- class: "btn btn-sm"
1750
- }, [..._cache[11] || (_cache[11] = [createElementVNode("svg", {
1751
- xmlns: "http://www.w3.org/2000/svg",
1752
- fill: "none",
1753
- viewBox: "0 0 24 24",
1754
- "stroke-width": "1.5",
1755
- stroke: "currentColor",
1756
- class: "w-4 h-4 mr-2"
1757
- }, [createElementVNode("path", {
1758
- "stroke-linecap": "round",
1759
- "stroke-linejoin": "round",
1760
- d: "M6 18L18 6M6 6l12 12"
1761
- })], -1), createTextVNode(" Cancel ", -1)])])) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true),
1762
1805
  createCommentVNode(" Approve Modal "),
1763
1806
  createVNode(ApproveSupportTicketModal_default, {
1764
1807
  ticket: __props.ticket,
@@ -1806,34 +1849,35 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1806
1849
  ref_key: "rejectModal",
1807
1850
  ref: rejectModal,
1808
1851
  class: "modal"
1809
- }, [createElementVNode("div", _hoisted_10, [
1810
- _cache[13] || (_cache[13] = createElementVNode("h3", { class: "font-bold text-lg" }, "Reject Ticket", -1)),
1811
- _cache[14] || (_cache[14] = createElementVNode("p", { class: "text-sm text-base-content/70 py-2" }, " This will lock the ticket and notify the requester. ", -1)),
1812
- createElementVNode("div", _hoisted_11, [_cache[12] || (_cache[12] = createElementVNode("label", { class: "label" }, [createElementVNode("span", { class: "label-text text-sm font-medium" }, "Reason (optional)")], -1)), withDirectives(createElementVNode("textarea", {
1852
+ }, [createElementVNode("div", _hoisted_9, [
1853
+ _cache[11] || (_cache[11] = createElementVNode("h3", { class: "font-bold text-lg" }, "Reject Ticket", -1)),
1854
+ _cache[12] || (_cache[12] = createElementVNode("p", { class: "text-sm text-base-content/70 py-2" }, " This will lock the ticket and notify the requester. ", -1)),
1855
+ createElementVNode("div", _hoisted_10, [_cache[10] || (_cache[10] = createElementVNode("label", { class: "label" }, [createElementVNode("span", { class: "label-text text-sm font-medium" }, "Reason (optional)")], -1)), withDirectives(createElementVNode("textarea", {
1813
1856
  "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => rejectReason.value = $event),
1814
1857
  class: "textarea textarea-bordered w-full",
1815
1858
  rows: "3",
1816
1859
  placeholder: "Why is this ticket being rejected?",
1817
1860
  disabled: unref(isRejecting)
1818
- }, null, 8, _hoisted_12), [[vModelText, rejectReason.value]])]),
1819
- rejectError.value ? (openBlock(), createElementBlock("div", _hoisted_13, [createElementVNode("span", _hoisted_14, toDisplayString(rejectError.value), 1)])) : createCommentVNode("v-if", true),
1820
- createElementVNode("div", _hoisted_15, [createElementVNode("button", {
1861
+ }, null, 8, _hoisted_11), [[vModelText, rejectReason.value]])]),
1862
+ rejectError.value ? (openBlock(), createElementBlock("div", _hoisted_12, [createElementVNode("span", _hoisted_13, toDisplayString(rejectError.value), 1)])) : createCommentVNode("v-if", true),
1863
+ createElementVNode("div", _hoisted_14, [createElementVNode("button", {
1821
1864
  class: "btn btn-ghost",
1822
1865
  onClick: closeRejectModal,
1823
1866
  disabled: unref(isRejecting)
1824
- }, " Cancel ", 8, _hoisted_16), createElementVNode("button", {
1867
+ }, " Cancel ", 8, _hoisted_15), createElementVNode("button", {
1825
1868
  class: "btn btn-error",
1826
1869
  onClick: handleRejectWithReason,
1827
1870
  disabled: unref(isRejecting)
1828
- }, [unref(isRejecting) ? (openBlock(), createElementBlock("span", _hoisted_18)) : createCommentVNode("v-if", true), createTextVNode(" " + toDisplayString(unref(isRejecting) ? "Rejecting..." : "Reject Ticket"), 1)], 8, _hoisted_17)])
1871
+ }, [unref(isRejecting) ? (openBlock(), createElementBlock("span", _hoisted_17)) : createCommentVNode("v-if", true), createTextVNode(" " + toDisplayString(unref(isRejecting) ? "Rejecting..." : "Reject Ticket"), 1)], 8, _hoisted_16)])
1829
1872
  ]), createElementVNode("form", {
1830
1873
  method: "dialog",
1831
1874
  class: "modal-backdrop"
1832
1875
  }, [createElementVNode("button", { onClick: closeRejectModal }, "close")])], 512),
1833
1876
  createCommentVNode(" Metadata Card (Display or Edit) "),
1834
- createElementVNode("div", _hoisted_19, [!isEditMode.value ? (openBlock(), createBlock(StaffMetadataCard_default, {
1877
+ createElementVNode("div", _hoisted_18, [!isEditMode.value ? (openBlock(), createBlock(StaffMetadataCard_default, {
1835
1878
  key: 0,
1836
- ticket: __props.ticket
1879
+ ticket: __props.ticket,
1880
+ onEdit: enterEditMode
1837
1881
  }, null, 8, ["ticket"])) : (openBlock(), createBlock(StaffMetadataCardEdit_default, {
1838
1882
  key: 1,
1839
1883
  ticket: __props.ticket,
@@ -1841,7 +1885,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1841
1885
  onCancel: exitEditMode
1842
1886
  }, null, 8, ["ticket"]))]),
1843
1887
  createCommentVNode(" Attachments (separate from timeline so adding a comment doesn't cause refetch) "),
1844
- createElementVNode("div", _hoisted_20, [createVNode(SupportTicketAttachmentsCollapsible_default, {
1888
+ createElementVNode("div", _hoisted_19, [createVNode(SupportTicketAttachmentsCollapsible_default, {
1845
1889
  "record-id": __props.ticket.id,
1846
1890
  locked: !!__props.ticket.archived_at,
1847
1891
  editable: !__props.ticket.archived_at,
@@ -1855,7 +1899,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1855
1899
  "onDeleted"
1856
1900
  ])]),
1857
1901
  createCommentVNode(" Subscribers "),
1858
- createElementVNode("div", _hoisted_21, [createVNode(SupportTicketSubscribersCollapsible_default, {
1902
+ createElementVNode("div", _hoisted_20, [createVNode(SupportTicketSubscribersCollapsible_default, {
1859
1903
  "support-ticket-id": __props.ticket.id,
1860
1904
  locked: !!__props.ticket.archived_at
1861
1905
  }, null, 8, ["support-ticket-id", "locked"])]),
@@ -1872,7 +1916,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1872
1916
  "customer-notes",
1873
1917
  "internal-notes",
1874
1918
  "system-events"
1875
- ])) : (openBlock(), createElementBlock("div", _hoisted_22, [..._cache[15] || (_cache[15] = [createElementVNode("span", { class: "loading loading-spinner loading-lg" }, null, -1)])]))])
1919
+ ])) : (openBlock(), createElementBlock("div", _hoisted_21, [..._cache[13] || (_cache[13] = [createElementVNode("span", { class: "loading loading-spinner loading-lg" }, null, -1)])]))])
1876
1920
  ])], 2112)) : createCommentVNode("v-if", true)], 2112);
1877
1921
  };
1878
1922
  }
@@ -1881,4 +1925,4 @@ var StaffSupportTicketDetailPage_default = _sfc_main;
1881
1925
 
1882
1926
  //#endregion
1883
1927
  export { StaffSupportTicketDetailPage_default as default };
1884
- //# sourceMappingURL=StaffSupportTicketDetailPage-D49ibqrO.js.map
1928
+ //# sourceMappingURL=StaffSupportTicketDetailPage-DY07Ez0R.js.map