@dragonmastery/dragoncore-vue 0.0.28 → 0.0.30

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 (166) hide show
  1. package/dist/{ChangePasswordPage-C7rqJfii.js → ChangePasswordPage-D1LGJ02W.js} +1 -1
  2. package/dist/{ChangePasswordPage-nr0B06HB.js → ChangePasswordPage-Dy8lFUcI.js} +1 -1
  3. package/dist/{ChangePasswordPage-nr0B06HB.js.map → ChangePasswordPage-Dy8lFUcI.js.map} +1 -1
  4. package/dist/{ConsentFlowStep-DstxorHZ.js → ConsentFlowStep-DsVhXa91.js} +2 -2
  5. package/dist/{ConsentFlowStep-DstxorHZ.js.map → ConsentFlowStep-DsVhXa91.js.map} +1 -1
  6. package/dist/{ConsentRequired-ELUidmNv.js → ConsentRequired-B3eLxJgx.js} +3 -3
  7. package/dist/{ConsentRequired-ELUidmNv.js.map → ConsentRequired-B3eLxJgx.js.map} +1 -1
  8. package/dist/CreateTeamForm-5V_ks5Ie.js +12 -0
  9. package/dist/{CreateTeamForm-DRfZ74on.js → CreateTeamForm-B7MsOsiV.js} +4 -4
  10. package/dist/{CreateTeamForm-DRfZ74on.js.map → CreateTeamForm-B7MsOsiV.js.map} +1 -1
  11. package/dist/{CreateTeamMemberForm-CSF-tD6B.js → CreateTeamMemberForm-CayF2tIJ.js} +5 -5
  12. package/dist/{CreateTeamMemberForm-ITp4XFn9.js → CreateTeamMemberForm-DeUyXnVa.js} +4 -4
  13. package/dist/{CreateTeamMemberForm-ITp4XFn9.js.map → CreateTeamMemberForm-DeUyXnVa.js.map} +1 -1
  14. package/dist/{CreditBalanceDashboard-BRY56-9w.js → CreditBalanceDashboard-CoIEyZWh.js} +2 -2
  15. package/dist/{CreditBalanceDashboard-BRY56-9w.js.map → CreditBalanceDashboard-CoIEyZWh.js.map} +1 -1
  16. package/dist/{CreditBalanceDashboard-CwXWREgJ.js → CreditBalanceDashboard-D_TsFlTp.js} +5 -5
  17. package/dist/{CreditManagement-D-bsc1US.js → CreditManagement-CCyU_yja.js} +2 -2
  18. package/dist/{CreditManagement-D-bsc1US.js.map → CreditManagement-CCyU_yja.js.map} +1 -1
  19. package/dist/{CreditManagement-BAuzw-NE.js → CreditManagement-CdkqQM7F.js} +5 -5
  20. package/dist/{CreditTransactionHistory-plIaRscn.js → CreditTransactionHistory-UPg9uDNy.js} +3 -3
  21. package/dist/{CreditTransactionHistory-plIaRscn.js.map → CreditTransactionHistory-UPg9uDNy.js.map} +1 -1
  22. package/dist/{CustomerCreateSupportTicketForm-D72blvMU.js → CustomerCreateSupportTicketForm-CiTTUqtW.js} +5 -5
  23. package/dist/{CustomerCreateSupportTicketForm-Co6C_P5o.js → CustomerCreateSupportTicketForm-DFH1JtlA.js} +3 -3
  24. package/dist/{CustomerCreateSupportTicketForm-Co6C_P5o.js.map → CustomerCreateSupportTicketForm-DFH1JtlA.js.map} +1 -1
  25. package/dist/{CustomerSupportTicketDetailPage-CUkf9swo.js → CustomerSupportTicketDetailPage-DAwiE2t6.js} +5 -5
  26. package/dist/{CustomerSupportTicketDetailPage-CUkf9swo.js.map → CustomerSupportTicketDetailPage-DAwiE2t6.js.map} +1 -1
  27. package/dist/CustomerSupportTicketList-CKZl8jxx.js +64 -0
  28. package/dist/{CustomerSupportTicketParent-D19kei4H.js → CustomerSupportTicketParent-D3Gj4Hel.js} +2 -2
  29. package/dist/{CustomerSupportTicketParent-BaKfkSlU.js → CustomerSupportTicketParent-rl4Ym8oa.js} +3 -3
  30. package/dist/{CustomerSupportTicketParent-BaKfkSlU.js.map → CustomerSupportTicketParent-rl4Ym8oa.js.map} +1 -1
  31. package/dist/{CustomerSupportTicketSuccess-DVqoR5-o.js → CustomerSupportTicketSuccess-BEhFZgtn.js} +2 -2
  32. package/dist/{CustomerSupportTicketSuccess-DVqoR5-o.js.map → CustomerSupportTicketSuccess-BEhFZgtn.js.map} +1 -1
  33. package/dist/{CustomerSupportTicketSuccess-B87Zth-g.js → CustomerSupportTicketSuccess-BJO2xsQR.js} +4 -4
  34. package/dist/{DefaultReferralTeamPage-BHail7YF.js → DefaultReferralTeamPage-D3UIrIZK.js} +103 -63
  35. package/dist/DefaultReferralTeamPage-D3UIrIZK.js.map +1 -0
  36. package/dist/EditTeamForm-Bf4rSgQg.js +12 -0
  37. package/dist/{EditTeamForm-BEOkUaKG.js → EditTeamForm-C1_-p3lZ.js} +4 -4
  38. package/dist/{EditTeamForm-BEOkUaKG.js.map → EditTeamForm-C1_-p3lZ.js.map} +1 -1
  39. package/dist/{EditTeamMemberForm-CIqEjFF8.js → EditTeamMemberForm-Bh6zVNyJ.js} +3 -3
  40. package/dist/{EditTeamMemberForm-Fyf8Zxfh.js → EditTeamMemberForm-D9cofrUM.js} +3 -3
  41. package/dist/{EditTeamMemberForm-Fyf8Zxfh.js.map → EditTeamMemberForm-D9cofrUM.js.map} +1 -1
  42. package/dist/{EditUserPage-D3AWaHT2.js → EditUserPage-CQgp-08o.js} +1 -1
  43. package/dist/{EditUserPage-BBzGmOrx.js → EditUserPage-CwsO8naT.js} +2 -2
  44. package/dist/{EditUserPage-BBzGmOrx.js.map → EditUserPage-CwsO8naT.js.map} +1 -1
  45. package/dist/{ExternalLinkIcon-FidcmNOa.js → ExternalLinkIcon-BKVV5Gjm.js} +1 -1
  46. package/dist/{ExternalLinkIcon-FidcmNOa.js.map → ExternalLinkIcon-BKVV5Gjm.js.map} +1 -1
  47. package/dist/{FieldsetSection-CH1jAwcc.js → FieldsetSection-Br_sygWW.js} +1 -1
  48. package/dist/{FieldsetSection-CH1jAwcc.js.map → FieldsetSection-Br_sygWW.js.map} +1 -1
  49. package/dist/{LoginForm-p2fJiTtw.js → LoginForm-CFADKiln.js} +1 -1
  50. package/dist/{LoginForm-D1Mx2vAY.js → LoginForm-CSMHsZrq.js} +1 -1
  51. package/dist/{LoginForm-D1Mx2vAY.js.map → LoginForm-CSMHsZrq.js.map} +1 -1
  52. package/dist/{RecordVersionViewer-NLn1gVys.js → RecordVersionViewer-DKIdX_BX.js} +1 -1
  53. package/dist/{RecordVersionViewer-NLn1gVys.js.map → RecordVersionViewer-DKIdX_BX.js.map} +1 -1
  54. package/dist/{SavedFiltersPage-CvBKztlD.js → SavedFiltersPage-Cz01ZeHx.js} +44 -44
  55. package/dist/{SavedFiltersPage-CvBKztlD.js.map → SavedFiltersPage-Cz01ZeHx.js.map} +1 -1
  56. package/dist/{Signup-BCVZZCR_.js → Signup-CkhRQErA.js} +14 -4
  57. package/dist/Signup-CkhRQErA.js.map +1 -0
  58. package/dist/{Signup-CJrY4IK-.js → Signup-cOvXCtJj.js} +1 -1
  59. package/dist/{SignupConsentFlow-clxBjJlU.js → SignupConsentFlow-CKMFsnf5.js} +16 -8
  60. package/dist/SignupConsentFlow-CKMFsnf5.js.map +1 -0
  61. package/dist/{SignupRequirementsPage-CohJluxQ.js → SignupRequirementsPage-33z--rhH.js} +4 -4
  62. package/dist/{SignupRequirementsPage-CohJluxQ.js.map → SignupRequirementsPage-33z--rhH.js.map} +1 -1
  63. package/dist/{StaffCreateSupportTicketForm-Cm595v_4.js → StaffCreateSupportTicketForm-BtR-Aowv.js} +4 -4
  64. package/dist/{StaffCreateSupportTicketForm-Cm595v_4.js.map → StaffCreateSupportTicketForm-BtR-Aowv.js.map} +1 -1
  65. package/dist/{StaffCreateSupportTicketForm-DBhhJyXE.js → StaffCreateSupportTicketForm-D7ctCaXe.js} +5 -5
  66. package/dist/{StaffSupportTicketDetailPage-B63QXyum.js → StaffSupportTicketDetailPage-LqnNfU34.js} +7 -7
  67. package/dist/{StaffSupportTicketDetailPage-B63QXyum.js.map → StaffSupportTicketDetailPage-LqnNfU34.js.map} +1 -1
  68. package/dist/StaffSupportTicketList-GyzlONKe.js +64 -0
  69. package/dist/{StaffSupportTicketParent-yoC-_Lku.js → StaffSupportTicketParent-DPvdLUii.js} +3 -3
  70. package/dist/{StaffSupportTicketParent-yoC-_Lku.js.map → StaffSupportTicketParent-DPvdLUii.js.map} +1 -1
  71. package/dist/{StaffSupportTicketParent-ByUwsYGx.js → StaffSupportTicketParent-Dyybqx74.js} +2 -2
  72. package/dist/{StaffSupportTicketSuccess-DgULDGIj.js → StaffSupportTicketSuccess-B3N-RMoT.js} +2 -2
  73. package/dist/{StaffSupportTicketSuccess-DgULDGIj.js.map → StaffSupportTicketSuccess-B3N-RMoT.js.map} +1 -1
  74. package/dist/{StaffSupportTicketSuccess-DKzJs74k.js → StaffSupportTicketSuccess-DvonYilY.js} +4 -4
  75. package/dist/{SupportStaffPage-CkFLlle4.js → SupportStaffPage-geoITTqt.js} +3 -3
  76. package/dist/{SupportStaffPage-CkFLlle4.js.map → SupportStaffPage-geoITTqt.js.map} +1 -1
  77. package/dist/{SupportTicketDevLifecycleBadge-BYKZjEv6.js → SupportTicketDevLifecycleBadge-D8-Cv1Np.js} +1 -1
  78. package/dist/{SupportTicketDevLifecycleBadge-BYKZjEv6.js.map → SupportTicketDevLifecycleBadge-D8-Cv1Np.js.map} +1 -1
  79. package/dist/TeamAttachmentsTab-ChP4DaUP.js +64 -0
  80. package/dist/{TeamHistoryTab-p3hDxCc3.js → TeamHistoryTab-CxzA4u_G.js} +3 -3
  81. package/dist/{TeamHistoryTab-p3hDxCc3.js.map → TeamHistoryTab-CxzA4u_G.js.map} +1 -1
  82. package/dist/TeamHistoryTab-wRpRizDE.js +6 -0
  83. package/dist/{TeamList-gppM0GOD.js → TeamList-_SsqJicG.js} +3 -3
  84. package/dist/{TeamList-gppM0GOD.js.map → TeamList-_SsqJicG.js.map} +1 -1
  85. package/dist/TeamList-cp8Pa2xg.js +8 -0
  86. package/dist/TeamMemberList-B16SuLwM.js +7 -0
  87. package/dist/{TeamMemberList-D0-dM5kI.js → TeamMemberList-BYUANoBg.js} +3 -3
  88. package/dist/{TeamMemberList-D0-dM5kI.js.map → TeamMemberList-BYUANoBg.js.map} +1 -1
  89. package/dist/{TeamMemberParent-C9OEziOK.js → TeamMemberParent-BJl8nBmP.js} +4 -4
  90. package/dist/{TeamMemberParent-CJGWXjuM.js → TeamMemberParent-DmYcHU3n.js} +3 -3
  91. package/dist/{TeamMemberParent-CJGWXjuM.js.map → TeamMemberParent-DmYcHU3n.js.map} +1 -1
  92. package/dist/{TeamNotesTab-BnkgZd-5.js → TeamNotesTab-BQN9niw-.js} +1 -1
  93. package/dist/{TeamNotesTab-DPw9YEwK.js → TeamNotesTab-Cego-QT3.js} +2 -2
  94. package/dist/{TeamNotesTab-DPw9YEwK.js.map → TeamNotesTab-Cego-QT3.js.map} +1 -1
  95. package/dist/{TeamParent-YPtenk3l.js → TeamParent-BUnqP-dr.js} +3 -3
  96. package/dist/{TeamParent-YPtenk3l.js.map → TeamParent-BUnqP-dr.js.map} +1 -1
  97. package/dist/TeamParent-BseZ6Zoi.js +11 -0
  98. package/dist/{TimelineNoteInput-DXZhcUkH.js → TimelineNoteInput-BBZv3X4p.js} +2 -2
  99. package/dist/{TimelineNoteInput-DXZhcUkH.js.map → TimelineNoteInput-BBZv3X4p.js.map} +1 -1
  100. package/dist/{TimelineSystemEvent-Ch1sZiyO.js → TimelineSystemEvent-D5fkhkZT.js} +1 -1
  101. package/dist/{TimelineSystemEvent-Ch1sZiyO.js.map → TimelineSystemEvent-D5fkhkZT.js.map} +1 -1
  102. package/dist/UserListPage-BABli3QG.js +5 -0
  103. package/dist/{UserListPage-A0_eNpQ1.js → UserListPage-CDMSZpXK.js} +2 -2
  104. package/dist/{UserListPage-A0_eNpQ1.js.map → UserListPage-CDMSZpXK.js.map} +1 -1
  105. package/dist/{UserProfilePage-FNLYK9kj.js → UserProfilePage-BYitd7QV.js} +1 -1
  106. package/dist/{UserProfilePage-FNLYK9kj.js.map → UserProfilePage-BYitd7QV.js.map} +1 -1
  107. package/dist/{UserProfilePage-BWK97ODt.js → UserProfilePage-Dmxp7oqP.js} +1 -1
  108. package/dist/ViewTeam-rLNxVgS2.js +8 -0
  109. package/dist/{ViewTeam-CRmIplCt.js → ViewTeam-ttqX2In8.js} +131 -32
  110. package/dist/ViewTeam-ttqX2In8.js.map +1 -0
  111. package/dist/ViewTeamMember-B5U8kZBw.js +7 -0
  112. package/dist/{ViewTeamMember-Cf5yXdv6.js → ViewTeamMember-DqWZ3F_h.js} +4 -4
  113. package/dist/{ViewTeamMember-Cf5yXdv6.js.map → ViewTeamMember-DqWZ3F_h.js.map} +1 -1
  114. package/dist/{ZiniaContainer-BV6sojLa.js → ZiniaContainer-BPIfQOc7.js} +1 -1
  115. package/dist/{ZiniaContainer-BV6sojLa.js.map → ZiniaContainer-BPIfQOc7.js.map} +1 -1
  116. package/dist/{convertToLocalDateTime-C13-PrSA.js → convertToLocalDateTime-BKBxm2Rc.js} +1 -1
  117. package/dist/{convertToLocalDateTime-C13-PrSA.js.map → convertToLocalDateTime-BKBxm2Rc.js.map} +1 -1
  118. package/dist/{customerSupportTicketRoutes-Cy4fp4wx.js → customerSupportTicketRoutes-C-DKBy5g.js} +8 -8
  119. package/dist/{customerSupportTicketRoutes-Cy4fp4wx.js.map → customerSupportTicketRoutes-C-DKBy5g.js.map} +1 -1
  120. package/dist/{displayIdFormatter-Cr-QaEk1.js → displayIdFormatter-Ca4Al9iB.js} +1 -1
  121. package/dist/{displayIdFormatter-Cr-QaEk1.js.map → displayIdFormatter-Ca4Al9iB.js.map} +1 -1
  122. package/dist/{extractRpcErrorMessage-CAaeVysa.js → extractRpcErrorMessage-Df8-CJGV.js} +1 -1
  123. package/dist/{extractRpcErrorMessage-CAaeVysa.js.map → extractRpcErrorMessage-Df8-CJGV.js.map} +1 -1
  124. package/dist/index.d.ts +114 -92
  125. package/dist/index.js +48 -47
  126. package/dist/{saved_filter-jeZd2rlb.js → saved_filter-C2N9l_a9.js} +3 -3
  127. package/dist/{saved_filter-jeZd2rlb.js.map → saved_filter-C2N9l_a9.js.map} +1 -1
  128. package/dist/{signupConsentStorage-Ct4ZuKi-.js → signupConsentStorage-pWSoHuhO.js} +10 -2
  129. package/dist/signupConsentStorage-pWSoHuhO.js.map +1 -0
  130. package/dist/{src-zjaOyP9b.js → src-C8B9TJiH.js} +31 -26
  131. package/dist/src-C8B9TJiH.js.map +1 -0
  132. package/dist/{staffSupportTicketRoutes-L4CU5dcu.js → staffSupportTicketRoutes-CyMecWpC.js} +8 -8
  133. package/dist/{staffSupportTicketRoutes-L4CU5dcu.js.map → staffSupportTicketRoutes-CyMecWpC.js.map} +1 -1
  134. package/dist/{teamMemberMetadata-DX0W-B7p.js → teamMemberMetadata-C4urCwBU.js} +1 -1
  135. package/dist/{teamMemberMetadata-DX0W-B7p.js.map → teamMemberMetadata-C4urCwBU.js.map} +1 -1
  136. package/dist/{teamMetadata-26Mwjb2i.js → teamMetadata-NTjPt89L.js} +1 -1
  137. package/dist/{teamMetadata-26Mwjb2i.js.map → teamMetadata-NTjPt89L.js.map} +1 -1
  138. package/dist/{teamRoutes-CtNcFZjR.js → teamRoutes-CFDsHPkd.js} +12 -12
  139. package/dist/{teamRoutes-CtNcFZjR.js.map → teamRoutes-CFDsHPkd.js.map} +1 -1
  140. package/dist/{team_memberRoutes-Cxgte_vj.js → team_memberRoutes-BgjY9Kwq.js} +7 -7
  141. package/dist/{team_memberRoutes-Cxgte_vj.js.map → team_memberRoutes-BgjY9Kwq.js.map} +1 -1
  142. package/dist/{useBreadcrumbs-DIqU5AAp.js → useBreadcrumbs-CPWXm0hm.js} +1 -1
  143. package/dist/{useBreadcrumbs-DIqU5AAp.js.map → useBreadcrumbs-CPWXm0hm.js.map} +1 -1
  144. package/dist/{userAuthorized-klLUHGxT.js → userAuthorized-3RiCDXxr.js} +1 -1
  145. package/dist/{userAuthorized-klLUHGxT.js.map → userAuthorized-3RiCDXxr.js.map} +1 -1
  146. package/package.json +2 -2
  147. package/dist/CreateTeamForm-CmVZdqOQ.js +0 -12
  148. package/dist/CustomerSupportTicketList-CB_Y1lVj.js +0 -64
  149. package/dist/DefaultReferralTeamPage-BHail7YF.js.map +0 -1
  150. package/dist/EditTeamForm-DhutyI9c.js +0 -12
  151. package/dist/Signup-BCVZZCR_.js.map +0 -1
  152. package/dist/SignupConsentFlow-clxBjJlU.js.map +0 -1
  153. package/dist/StaffSupportTicketList-2TbMweMK.js +0 -64
  154. package/dist/TeamAttachmentsTab-D0SJplvU.js +0 -64
  155. package/dist/TeamHistoryTab-BSEOYC_5.js +0 -6
  156. package/dist/TeamList-DU6CFPUY.js +0 -8
  157. package/dist/TeamMemberList-uwSe9zdv.js +0 -7
  158. package/dist/TeamParent-CuASTHKr.js +0 -11
  159. package/dist/UserListPage-CjpxiETO.js +0 -5
  160. package/dist/ViewTeam-Bvvfik4P.js +0 -8
  161. package/dist/ViewTeam-CRmIplCt.js.map +0 -1
  162. package/dist/ViewTeamMember-DtQCZU-X.js +0 -7
  163. package/dist/signupConsentStorage-Ct4ZuKi-.js.map +0 -1
  164. package/dist/src-zjaOyP9b.js.map +0 -1
  165. /package/dist/{Appearance-CHCv4Fd1.js → Appearance-BhzkZJOL.js} +0 -0
  166. /package/dist/{TeamMembersTab-CeOJAhhR.js → TeamMembersTab-D7y2nV__.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewTeam-ttqX2In8.js","names":[],"sources":["../src/slices/team/ViewTeam.vue"],"sourcesContent":["<template>\n <div v-if=\"isLoading\" class=\"flex justify-center items-center p-8\">\n <span class=\"loading loading-spinner loading-lg\"></span>\n </div>\n\n <div v-else-if=\"error\" class=\"alert alert-error mb-4\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"stroke-current shrink-0 h-6 w-6\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n <span>{{ error.message }}</span>\n </div>\n\n <ZiniaContainer v-else-if=\"teamData\">\n <!-- Header with Title -->\n <div class=\"mb-4\">\n <h1 class=\"text-xl sm:text-2xl font-bold text-base-content break-words leading-tight\">\n {{ teamData.display_name }}\n </h1>\n <div class=\"flex flex-wrap items-center gap-2 mt-2\">\n <span class=\"badge badge-sm badge-primary\">{{ teamData.unique_name }}</span>\n <span v-if=\"teamData.archived_at\" class=\"badge badge-sm badge-error\">Archived</span>\n <span v-else class=\"badge badge-sm badge-success\">Active</span>\n </div>\n </div>\n\n <!-- Description -->\n <div v-if=\"teamData.description\" class=\"prose prose-sm sm:prose-base max-w-none mb-4\">\n <p class=\"text-base-content/80 whitespace-pre-wrap text-sm sm:text-base leading-relaxed\">\n {{ teamData.description }}\n </p>\n </div>\n\n <!-- Team Information Grid -->\n <div class=\"grid grid-cols-1 md:grid-cols-2 gap-4 mt-6\">\n <!-- Basic Information -->\n <div v-if=\"teamData.legal_name\" class=\"card bg-base-100 shadow-sm\">\n <div class=\"card-body\">\n <h3 class=\"card-title text-base mb-3\">Basic Information</h3>\n <div v-if=\"teamData.legal_name\" class=\"text-sm\">\n <span class=\"font-medium text-base-content/70\">Legal Name:</span>\n <span class=\"ml-2\">{{ teamData.legal_name }}</span>\n </div>\n </div>\n </div>\n\n <!-- Contact Information -->\n <div\n v-if=\"\n teamData.contact_name ||\n teamData.contact_email ||\n teamData.contact_business_phone ||\n teamData.contact_mobile_phone\n \"\n class=\"card bg-base-100 shadow-sm\"\n >\n <div class=\"card-body\">\n <h3 class=\"card-title text-base mb-3\">Contact Information</h3>\n <div v-if=\"teamData.contact_name\" class=\"text-sm\">\n <span class=\"font-medium text-base-content/70\">Name:</span>\n <span class=\"ml-2\">{{ teamData.contact_name }}</span>\n </div>\n <div v-if=\"teamData.contact_email\" class=\"text-sm mt-2\">\n <span class=\"font-medium text-base-content/70\">Email:</span>\n <a :href=\"`mailto:${teamData.contact_email}`\" class=\"ml-2 link link-primary\">\n {{ teamData.contact_email }}\n </a>\n </div>\n <div v-if=\"teamData.contact_business_phone\" class=\"text-sm mt-2\">\n <span class=\"font-medium text-base-content/70\">Business Phone:</span>\n <span class=\"ml-2\">{{ teamData.contact_business_phone }}</span>\n </div>\n <div v-if=\"teamData.contact_mobile_phone\" class=\"text-sm mt-2\">\n <span class=\"font-medium text-base-content/70\">Mobile Phone:</span>\n <span class=\"ml-2\">{{ teamData.contact_mobile_phone }}</span>\n </div>\n <div v-if=\"teamData.contact_time_zone\" class=\"text-sm mt-2\">\n <span class=\"font-medium text-base-content/70\">Time Zone:</span>\n <span class=\"ml-2\">{{ teamData.contact_time_zone }}</span>\n </div>\n </div>\n </div>\n\n <!-- Address Information -->\n <div\n v-if=\"teamData.address_full || teamData.address_city || teamData.address_zip\"\n class=\"card bg-base-100 shadow-sm\"\n >\n <div class=\"card-body\">\n <h3 class=\"card-title text-base mb-3\">Address</h3>\n <div v-if=\"teamData.address_full\" class=\"text-sm\">\n <span class=\"font-medium text-base-content/70\">Address:</span>\n <span class=\"ml-2\">{{ teamData.address_full }}</span>\n </div>\n <div v-if=\"teamData.address_city\" class=\"text-sm mt-2\">\n <span class=\"font-medium text-base-content/70\">City:</span>\n <span class=\"ml-2\">{{ teamData.address_city }}</span>\n </div>\n <div v-if=\"teamData.address_zip\" class=\"text-sm mt-2\">\n <span class=\"font-medium text-base-content/70\">Zip:</span>\n <span class=\"ml-2\">{{ teamData.address_zip }}</span>\n </div>\n </div>\n </div>\n\n <!-- Web Presence -->\n <div v-if=\"teamData.twitter_username || teamData.url\" class=\"card bg-base-100 shadow-sm\">\n <div class=\"card-body\">\n <h3 class=\"card-title text-base mb-3\">Web Presence</h3>\n <div v-if=\"teamData.twitter_username\" class=\"text-sm\">\n <span class=\"font-medium text-base-content/70\">Twitter:</span>\n <span class=\"ml-2\">@{{ teamData.twitter_username }}</span>\n </div>\n <div v-if=\"teamData.url\" class=\"text-sm mt-2\">\n <span class=\"font-medium text-base-content/70\">URL:</span>\n <a\n :href=\"teamData.url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"ml-2 link link-primary\"\n >\n {{ teamData.url }}\n </a>\n </div>\n </div>\n </div>\n\n <!-- Referral Tag -->\n <div v-if=\"teamData.referral_tag\" class=\"card bg-base-100 shadow-sm\">\n <div class=\"card-body\">\n <h3 class=\"card-title text-base mb-3\">Referral Tag</h3>\n <p class=\"text-sm text-base-content/70 mb-3\">\n Share a link so referral events are routed to this team. The <code class=\"text-xs\">ref</code> parameter tags visitors for attribution.\n </p>\n\n <div v-if=\"referralAppLink\" class=\"mb-3\">\n <div class=\"text-xs font-medium text-base-content/60 mb-1\">App link (direct)</div>\n <div class=\"flex items-center gap-2\">\n <code class=\"flex-1 px-3 py-2 bg-base-200 rounded-lg text-sm font-mono break-all\">\n {{ referralAppLink }}\n </code>\n <button\n type=\"button\"\n class=\"btn btn-sm btn-ghost shrink-0\"\n title=\"Copy app link\"\n @click=\"copyToClipboard(referralAppLink, 'App link copied')\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-4 w-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\" />\n </svg>\n </button>\n </div>\n </div>\n\n <div v-if=\"referralMarketingLink\">\n <div class=\"text-xs font-medium text-base-content/60 mb-1\">Marketing link</div>\n <div class=\"flex items-center gap-2\">\n <code class=\"flex-1 px-3 py-2 bg-base-200 rounded-lg text-sm font-mono break-all\">\n {{ referralMarketingLink }}\n </code>\n <button\n type=\"button\"\n class=\"btn btn-sm btn-ghost shrink-0\"\n title=\"Copy marketing link\"\n @click=\"copyToClipboard(referralMarketingLink, 'Marketing link copied')\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-4 w-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\" />\n </svg>\n </button>\n </div>\n </div>\n\n <div v-if=\"!referralAppLink && !referralMarketingLink\" class=\"flex items-center gap-2\">\n <code class=\"flex-1 px-3 py-2 bg-base-200 rounded-lg text-sm font-mono\">\n {{ teamData.referral_tag }}\n </code>\n <button\n type=\"button\"\n class=\"btn btn-sm btn-ghost shrink-0\"\n title=\"Copy tag\"\n @click=\"copyToClipboard(teamData.referral_tag!, 'Referral tag copied')\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-4 w-4\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\" />\n </svg>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Metadata -->\n <div class=\"mt-4 pt-4 border-t border-base-300 text-xs sm:text-sm text-base-content/50\">\n <div class=\"flex flex-col sm:flex-row sm:items-center gap-1 sm:gap-4\">\n <span v-if=\"teamData.created_by\"\n >Created by {{ teamData.created_by_display_name ?? teamData.created_by }}</span\n >\n <span v-if=\"teamData.created_at\">\n Created {{ formatSystemTimestamp(teamData.created_at) }}\n </span>\n <span\n v-if=\"teamData.updated_at && teamData.updated_at !== teamData.created_at\"\n class=\"text-xs\"\n >\n Updated {{ formatSystemTimestamp(teamData.updated_at) }}\n </span>\n </div>\n </div>\n\n <!-- Action Buttons -->\n <div class=\"flex flex-col sm:flex-row gap-3 justify-center mt-6\">\n <router-link\n :to=\"{\n name: teamPaths.edit.name,\n params: { id: team_id },\n }\"\n class=\"btn btn-primary\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n class=\"w-4 h-4 mr-2\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n 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\"\n />\n </svg>\n Edit Team\n </router-link>\n </div>\n </ZiniaContainer>\n</template>\n\n<script setup lang=\"ts\">\nimport type { TeamReadDto } from '@dragonmastery/dragoncore-shared';\nimport { computed, inject } from 'vue';\nimport { useRoute } from 'vue-router';\nimport { toast } from 'vue3-toastify';\nimport ZiniaContainer from '../../components/ui/ZiniaContainer.vue';\nimport { formatSystemTimestamp } from '../../utils/convertToLocalDateTime';\nimport { teamPaths } from './teamRoutes';\n\ninterface Props {\n team: TeamReadDto | null;\n isLoading?: boolean;\n error?: Error | null;\n}\n\nconst props = defineProps<Props>();\n\nconst route = useRoute();\nconst team_id = route.params.id as string;\n\nconst referralAppBaseUrl = inject<string>('referralAppBaseUrl') ?? '';\nconst referralMarketingBaseUrl = inject<string>('referralMarketingBaseUrl') ?? '';\n\nconst teamData = computed(() => props.team);\n\nfunction buildRefLink(base: string): string {\n const tag = teamData.value?.referral_tag;\n if (!tag) return '';\n const b = base.trim().replace(/\\/$/, '');\n if (!b) return '';\n const sep = b.includes('?') ? '&' : '?';\n return `${b}${sep}ref=${encodeURIComponent(tag)}`;\n}\n\nconst referralAppLink = computed(() => buildRefLink(referralAppBaseUrl));\nconst referralMarketingLink = computed(() => buildRefLink(referralMarketingBaseUrl));\n\nasync function copyToClipboard(text: string, successMessage: string) {\n try {\n await navigator.clipboard.writeText(text);\n toast.success(successMessage);\n } catch {\n toast.error('Failed to copy');\n }\n}\n</script>\n"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import "./useRpcAuth-CJtq1dqM.js";
2
+ import "./ZiniaContainer-BPIfQOc7.js";
3
+ import "./userAuthorized-3RiCDXxr.js";
4
+ import "./team_memberRoutes-BgjY9Kwq.js";
5
+ import { t as ViewTeamMember_default } from "./ViewTeamMember-DqWZ3F_h.js";
6
+
7
+ export { ViewTeamMember_default as default };
@@ -1,6 +1,6 @@
1
- import { t as ZiniaContainer_default } from "./ZiniaContainer-BV6sojLa.js";
2
- import { t as formatSystemTimestamp } from "./convertToLocalDateTime-C13-PrSA.js";
3
- import { t as teamMemberPaths } from "./team_memberRoutes-Cxgte_vj.js";
1
+ import { t as ZiniaContainer_default } from "./ZiniaContainer-BPIfQOc7.js";
2
+ import { t as formatSystemTimestamp } from "./convertToLocalDateTime-BKBxm2Rc.js";
3
+ import { t as teamMemberPaths } from "./team_memberRoutes-BgjY9Kwq.js";
4
4
  import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, openBlock, resolveComponent, toDisplayString, unref, withCtx } from "vue";
5
5
  import { useRoute } from "vue-router";
6
6
 
@@ -164,4 +164,4 @@ var ViewTeamMember_default = _sfc_main;
164
164
 
165
165
  //#endregion
166
166
  export { ViewTeamMember_default as t };
167
- //# sourceMappingURL=ViewTeamMember-Cf5yXdv6.js.map
167
+ //# sourceMappingURL=ViewTeamMember-DqWZ3F_h.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewTeamMember-Cf5yXdv6.js","names":[],"sources":["../src/slices/team/team_member/ViewTeamMember.vue"],"sourcesContent":["<template>\n <div v-if=\"isLoading\" class=\"flex justify-center items-center p-8\">\n <span class=\"loading loading-spinner loading-lg\"></span>\n </div>\n\n <div v-else-if=\"error\" class=\"alert alert-error mb-4\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"stroke-current shrink-0 h-6 w-6\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n <span>{{ error.message }}</span>\n </div>\n\n <ZiniaContainer v-else-if=\"teamMemberData\">\n <!-- Header with Title -->\n <div class=\"mb-4\">\n <h1 class=\"text-xl sm:text-2xl font-bold text-base-content break-words leading-tight\">\n {{ teamMemberData.display_name || 'Team Member' }}\n </h1>\n <div class=\"flex flex-wrap items-center gap-2 mt-2\">\n <span v-if=\"teamMemberData.role\" class=\"badge badge-sm badge-primary\">{{\n teamMemberData.role\n }}</span>\n <span v-if=\"teamMemberData.deleted_at\" class=\"badge badge-sm badge-error\">\n Deleted\n </span>\n <span v-else class=\"badge badge-sm badge-success\">Active</span>\n </div>\n </div>\n\n <!-- Team Member Information Grid -->\n <div class=\"grid grid-cols-1 md:grid-cols-2 gap-4 mt-6\">\n <!-- Contact Information -->\n <div\n v-if=\"\n teamMemberData.email_address ||\n teamMemberData.business_phone ||\n teamMemberData.mobile_phone\n \"\n class=\"card bg-base-100 shadow-sm\"\n >\n <div class=\"card-body\">\n <h3 class=\"card-title text-base mb-3\">Contact Information</h3>\n <div v-if=\"teamMemberData.email_address\" class=\"text-sm\">\n <span class=\"font-medium text-base-content/70\">Email:</span>\n <a :href=\"`mailto:${teamMemberData.email_address}`\" class=\"ml-2 link link-primary\">\n {{ teamMemberData.email_address }}\n </a>\n </div>\n <div v-if=\"teamMemberData.business_phone\" class=\"text-sm mt-2\">\n <span class=\"font-medium text-base-content/70\">Business Phone:</span>\n <span class=\"ml-2\">{{ teamMemberData.business_phone }}</span>\n </div>\n <div v-if=\"teamMemberData.mobile_phone\" class=\"text-sm mt-2\">\n <span class=\"font-medium text-base-content/70\">Mobile Phone:</span>\n <span class=\"ml-2\">{{ teamMemberData.mobile_phone }}</span>\n </div>\n <div v-if=\"teamMemberData.time_zone\" class=\"text-sm mt-2\">\n <span class=\"font-medium text-base-content/70\">Time Zone:</span>\n <span class=\"ml-2\">{{ teamMemberData.time_zone }}</span>\n </div>\n </div>\n </div>\n\n <!-- Web Presence -->\n <div v-if=\"teamMemberData.website_address\" class=\"card bg-base-100 shadow-sm\">\n <div class=\"card-body\">\n <h3 class=\"card-title text-base mb-3\">Web Presence</h3>\n <div v-if=\"teamMemberData.website_address\" class=\"text-sm\">\n <span class=\"font-medium text-base-content/70\">Website:</span>\n <a\n :href=\"teamMemberData.website_address\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"ml-2 link link-primary\"\n >\n {{ teamMemberData.website_address }}\n </a>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Metadata -->\n <div class=\"mt-4 pt-4 border-t border-base-300 text-xs sm:text-sm text-base-content/50\">\n <div class=\"flex flex-col sm:flex-row sm:items-center gap-1 sm:gap-4\">\n <span v-if=\"teamMemberData.created_by\"\n >Created by {{ teamMemberData.created_by_display_name ?? teamMemberData.created_by }}</span\n >\n <span v-if=\"teamMemberData.created_at\">\n Created {{ formatSystemTimestamp(teamMemberData.created_at) }}\n </span>\n <span\n v-if=\"\n teamMemberData.updated_at &&\n teamMemberData.updated_at !== teamMemberData.created_at\n \"\n class=\"text-xs\"\n >\n Updated {{ formatSystemTimestamp(teamMemberData.updated_at) }}\n </span>\n </div>\n </div>\n\n <!-- Action Buttons -->\n <div class=\"flex flex-col sm:flex-row gap-3 justify-center mt-6\">\n <router-link\n :to=\"{\n name: teamMemberPaths.edit.name,\n params: { id: team_id, member_id: member_id },\n }\"\n class=\"btn btn-primary\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n class=\"w-4 h-4 mr-2\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n 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\"\n />\n </svg>\n Edit Team Member\n </router-link>\n </div>\n </ZiniaContainer>\n</template>\n\n<script setup lang=\"ts\">\nimport { formatSystemTimestamp } from '../../../utils/convertToLocalDateTime';\nimport ZiniaContainer from '../../../components/ui/ZiniaContainer.vue';\nimport type { TeamMemberReadDto } from '@dragonmastery/dragoncore-shared';\nimport { computed } from 'vue';\nimport { useRoute } from 'vue-router';\nimport { teamMemberPaths } from './team_memberRoutes';\n\ninterface Props {\n teamMember: TeamMemberReadDto | null;\n isLoading?: boolean;\n error?: Error | null;\n}\n\nconst props = defineProps<Props>();\n\nconst route = useRoute();\nconst team_id = route.params.id as string;\nconst member_id = route.params.member_id as string;\n\nconst teamMemberData = computed(() => props.teamMember);\n</script>\n"],"mappings":"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"}
1
+ {"version":3,"file":"ViewTeamMember-DqWZ3F_h.js","names":[],"sources":["../src/slices/team/team_member/ViewTeamMember.vue"],"sourcesContent":["<template>\n <div v-if=\"isLoading\" class=\"flex justify-center items-center p-8\">\n <span class=\"loading loading-spinner loading-lg\"></span>\n </div>\n\n <div v-else-if=\"error\" class=\"alert alert-error mb-4\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"stroke-current shrink-0 h-6 w-6\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n stroke-width=\"2\"\n d=\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n <span>{{ error.message }}</span>\n </div>\n\n <ZiniaContainer v-else-if=\"teamMemberData\">\n <!-- Header with Title -->\n <div class=\"mb-4\">\n <h1 class=\"text-xl sm:text-2xl font-bold text-base-content break-words leading-tight\">\n {{ teamMemberData.display_name || 'Team Member' }}\n </h1>\n <div class=\"flex flex-wrap items-center gap-2 mt-2\">\n <span v-if=\"teamMemberData.role\" class=\"badge badge-sm badge-primary\">{{\n teamMemberData.role\n }}</span>\n <span v-if=\"teamMemberData.deleted_at\" class=\"badge badge-sm badge-error\">\n Deleted\n </span>\n <span v-else class=\"badge badge-sm badge-success\">Active</span>\n </div>\n </div>\n\n <!-- Team Member Information Grid -->\n <div class=\"grid grid-cols-1 md:grid-cols-2 gap-4 mt-6\">\n <!-- Contact Information -->\n <div\n v-if=\"\n teamMemberData.email_address ||\n teamMemberData.business_phone ||\n teamMemberData.mobile_phone\n \"\n class=\"card bg-base-100 shadow-sm\"\n >\n <div class=\"card-body\">\n <h3 class=\"card-title text-base mb-3\">Contact Information</h3>\n <div v-if=\"teamMemberData.email_address\" class=\"text-sm\">\n <span class=\"font-medium text-base-content/70\">Email:</span>\n <a :href=\"`mailto:${teamMemberData.email_address}`\" class=\"ml-2 link link-primary\">\n {{ teamMemberData.email_address }}\n </a>\n </div>\n <div v-if=\"teamMemberData.business_phone\" class=\"text-sm mt-2\">\n <span class=\"font-medium text-base-content/70\">Business Phone:</span>\n <span class=\"ml-2\">{{ teamMemberData.business_phone }}</span>\n </div>\n <div v-if=\"teamMemberData.mobile_phone\" class=\"text-sm mt-2\">\n <span class=\"font-medium text-base-content/70\">Mobile Phone:</span>\n <span class=\"ml-2\">{{ teamMemberData.mobile_phone }}</span>\n </div>\n <div v-if=\"teamMemberData.time_zone\" class=\"text-sm mt-2\">\n <span class=\"font-medium text-base-content/70\">Time Zone:</span>\n <span class=\"ml-2\">{{ teamMemberData.time_zone }}</span>\n </div>\n </div>\n </div>\n\n <!-- Web Presence -->\n <div v-if=\"teamMemberData.website_address\" class=\"card bg-base-100 shadow-sm\">\n <div class=\"card-body\">\n <h3 class=\"card-title text-base mb-3\">Web Presence</h3>\n <div v-if=\"teamMemberData.website_address\" class=\"text-sm\">\n <span class=\"font-medium text-base-content/70\">Website:</span>\n <a\n :href=\"teamMemberData.website_address\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n class=\"ml-2 link link-primary\"\n >\n {{ teamMemberData.website_address }}\n </a>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Metadata -->\n <div class=\"mt-4 pt-4 border-t border-base-300 text-xs sm:text-sm text-base-content/50\">\n <div class=\"flex flex-col sm:flex-row sm:items-center gap-1 sm:gap-4\">\n <span v-if=\"teamMemberData.created_by\"\n >Created by {{ teamMemberData.created_by_display_name ?? teamMemberData.created_by }}</span\n >\n <span v-if=\"teamMemberData.created_at\">\n Created {{ formatSystemTimestamp(teamMemberData.created_at) }}\n </span>\n <span\n v-if=\"\n teamMemberData.updated_at &&\n teamMemberData.updated_at !== teamMemberData.created_at\n \"\n class=\"text-xs\"\n >\n Updated {{ formatSystemTimestamp(teamMemberData.updated_at) }}\n </span>\n </div>\n </div>\n\n <!-- Action Buttons -->\n <div class=\"flex flex-col sm:flex-row gap-3 justify-center mt-6\">\n <router-link\n :to=\"{\n name: teamMemberPaths.edit.name,\n params: { id: team_id, member_id: member_id },\n }\"\n class=\"btn btn-primary\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke-width=\"1.5\"\n stroke=\"currentColor\"\n class=\"w-4 h-4 mr-2\"\n >\n <path\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n 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\"\n />\n </svg>\n Edit Team Member\n </router-link>\n </div>\n </ZiniaContainer>\n</template>\n\n<script setup lang=\"ts\">\nimport { formatSystemTimestamp } from '../../../utils/convertToLocalDateTime';\nimport ZiniaContainer from '../../../components/ui/ZiniaContainer.vue';\nimport type { TeamMemberReadDto } from '@dragonmastery/dragoncore-shared';\nimport { computed } from 'vue';\nimport { useRoute } from 'vue-router';\nimport { teamMemberPaths } from './team_memberRoutes';\n\ninterface Props {\n teamMember: TeamMemberReadDto | null;\n isLoading?: boolean;\n error?: Error | null;\n}\n\nconst props = defineProps<Props>();\n\nconst route = useRoute();\nconst team_id = route.params.id as string;\nconst member_id = route.params.member_id as string;\n\nconst teamMemberData = computed(() => props.teamMember);\n</script>\n"],"mappings":"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"}
@@ -15,4 +15,4 @@ var ZiniaContainer_default = _sfc_main;
15
15
 
16
16
  //#endregion
17
17
  export { ZiniaContainer_default as t };
18
- //# sourceMappingURL=ZiniaContainer-BV6sojLa.js.map
18
+ //# sourceMappingURL=ZiniaContainer-BPIfQOc7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ZiniaContainer-BV6sojLa.js","names":[],"sources":["../src/components/ui/ZiniaContainer.vue"],"sourcesContent":["<template>\n <div class=\"p-0 md:p-4 max-w-4xl mx-auto bg-base-200 card\">\n <div class=\"card-body p-4\">\n <slot />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n// Reusable container that matches ZiniaForm styling\n// Use this for cards/sections that should visually match forms\n</script>\n"],"mappings":";;;;;;;;;uBACE,mBAIM,OAJN,YAIM,CAHJ,mBAEM,OAFN,YAEM,CADJ,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"ZiniaContainer-BPIfQOc7.js","names":[],"sources":["../src/components/ui/ZiniaContainer.vue"],"sourcesContent":["<template>\n <div class=\"p-0 md:p-4 max-w-4xl mx-auto bg-base-200 card\">\n <div class=\"card-body p-4\">\n <slot />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n// Reusable container that matches ZiniaForm styling\n// Use this for cards/sections that should visually match forms\n</script>\n"],"mappings":";;;;;;;;;uBACE,mBAIM,OAJN,YAIM,CAHJ,mBAEM,OAFN,YAEM,CADJ,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA,CAAA,CAAA"}
@@ -127,4 +127,4 @@ function getTimezoneOffsetString(date) {
127
127
 
128
128
  //#endregion
129
129
  export { getTimezoneOffsetString as a, formatUserDate as i, formatToISODate as n, toStringWithLocalTimeZoneOffSet as o, formatToISODatetime as r, formatSystemTimestamp as t };
130
- //# sourceMappingURL=convertToLocalDateTime-C13-PrSA.js.map
130
+ //# sourceMappingURL=convertToLocalDateTime-BKBxm2Rc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"convertToLocalDateTime-C13-PrSA.js","names":["date: Date"],"sources":["../src/utils/convertToLocalDateTime.ts"],"sourcesContent":["/**\n * Format a date value to ISO date string (YYYY-MM-DD)\n * Used as formatter for date input fields to ensure consistent ISO format\n * @param date - Date string or Date object\n * @returns ISO date string (YYYY-MM-DD) or null if invalid\n */\nexport function formatToISODate(date: string | Date | null): string | null {\n if (!date) {\n return null;\n }\n try {\n return new Date(date).toISOString().split('T')[0] ?? null;\n } catch (e) {\n console.error('Invalid date format:', e);\n return null;\n }\n}\n\nexport function formatToISODatetime(date: string | Date | null): string | null {\n if (!date) {\n return null;\n }\n try {\n return new Date(date).toISOString();\n } catch (e) {\n console.error('Invalid date format:', e);\n return null;\n }\n}\n\n/**\n * Extracts YYYY-MM-DD from a date string (handles both date-only and ISO format)\n * Used to avoid timezone issues: ISO strings like \"2024-02-02T00:00:00.000Z\" are\n * interpreted as UTC by Date(), which shows wrong date in western timezones\n */\nfunction extractDateOnly(dateString: string): string | null {\n const match = dateString.match(/^(\\d{4}-\\d{2}-\\d{2})/);\n const datePart = match?.[1];\n return datePart != null ? datePart : null;\n}\n\n/**\n * Formats user-inputted date-only fields (YYYY-MM-DD format) or ISO timestamps\n * These represent calendar dates in the user's local context, not precise timestamps\n * @param dateString - Date string in YYYY-MM-DD format or ISO timestamp\n * @param dateOnly - If true, returns only the date portion without time (default: true)\n * @returns Formatted date string or empty string if no date provided\n */\nexport function formatUserDate(\n dateString: string | null | undefined,\n dateOnly: boolean = true,\n): string {\n if (!dateString) return '';\n\n try {\n let date: Date;\n\n // For date-only fields, extract YYYY-MM-DD and parse as local to avoid timezone issues.\n // ISO strings like \"2024-02-02T00:00:00.000Z\" would otherwise be parsed as UTC midnight,\n // showing the wrong day (e.g. Feb 1 instead of Feb 2) in western timezones.\n const dateOnlyPart = extractDateOnly(dateString);\n if (dateOnlyPart) {\n const [year, month, day] = dateOnlyPart.split('-').map(Number);\n date = new Date(year!, month! - 1, day!); // month is 0-indexed\n } else {\n // Fallback for non-standard formats\n date = new Date(dateString);\n }\n\n // Check if date is valid (e.g., catches invalid dates like 2023-02-31)\n if (isNaN(date.getTime())) {\n console.warn('formatUserDate received invalid date:', dateString);\n return dateString;\n }\n\n if (dateOnly) {\n return date.toLocaleDateString(undefined, {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n });\n }\n\n return date.toLocaleString(undefined, {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n timeZoneName: 'short',\n });\n } catch (error) {\n console.error('Error formatting user date:', error);\n return dateString;\n }\n}\n\n/**\n * Formats system-generated timestamps (ISO format with time)\n * These represent precise moments in time, typically in UTC\n * @param timestamp - ISO timestamp string or YYYY-MM-DD date string\n * @param dateOnly - If true, returns only the date portion without time (default: false)\n * @returns Formatted timestamp string or empty string if no timestamp provided\n */\nexport function formatSystemTimestamp(\n timestamp: string | null | undefined,\n dateOnly: boolean = false,\n): string {\n if (!timestamp) return '';\n\n try {\n let date: Date;\n\n // Handle YYYY-MM-DD format specially to avoid timezone issues\n if (dateOnly && /^\\d{4}-\\d{2}-\\d{2}$/.test(timestamp)) {\n // For date-only strings, parse as local date to avoid UTC interpretation\n const [year, month, day] = timestamp.split('-').map(Number);\n date = new Date(year!, month! - 1, day!); // month is 0-indexed\n } else {\n // Handle ISO timestamp or other formats\n date = new Date(timestamp);\n }\n\n // Check if date is valid\n if (isNaN(date.getTime())) {\n console.warn('formatSystemTimestamp received invalid timestamp:', timestamp);\n return timestamp;\n }\n\n if (dateOnly) {\n return date.toLocaleDateString(undefined, {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n });\n }\n\n return date.toLocaleString(undefined, {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n timeZoneName: 'short',\n });\n } catch (error) {\n console.error('Error formatting system timestamp:', error);\n return timestamp;\n }\n}\n\nexport const toStringWithLocalTimeZoneOffSet = (date?: string | null) => {\n if (!date) return null;\n date = date.split('Z')[0];\n if (!date) return null;\n if (date.includes('T')) {\n return date + getTimezoneOffsetString(date);\n } else {\n return date + 'T12:00:00.000' + getTimezoneOffsetString(date);\n }\n};\n\nexport function getTimezoneOffsetString(date: string) {\n let offset = -new Date(date).getTimezoneOffset();\n let sign = offset < 0 ? '-' : '+';\n let hours = Math.floor(Math.abs(offset / 60));\n let minutes = Math.abs(offset % 60);\n return sign + pad(hours) + ':' + pad(minutes);\n\n function pad(n: number) {\n return n < 10 ? '0' + n : '' + n;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"convertToLocalDateTime-BKBxm2Rc.js","names":["date: Date"],"sources":["../src/utils/convertToLocalDateTime.ts"],"sourcesContent":["/**\n * Format a date value to ISO date string (YYYY-MM-DD)\n * Used as formatter for date input fields to ensure consistent ISO format\n * @param date - Date string or Date object\n * @returns ISO date string (YYYY-MM-DD) or null if invalid\n */\nexport function formatToISODate(date: string | Date | null): string | null {\n if (!date) {\n return null;\n }\n try {\n return new Date(date).toISOString().split('T')[0] ?? null;\n } catch (e) {\n console.error('Invalid date format:', e);\n return null;\n }\n}\n\nexport function formatToISODatetime(date: string | Date | null): string | null {\n if (!date) {\n return null;\n }\n try {\n return new Date(date).toISOString();\n } catch (e) {\n console.error('Invalid date format:', e);\n return null;\n }\n}\n\n/**\n * Extracts YYYY-MM-DD from a date string (handles both date-only and ISO format)\n * Used to avoid timezone issues: ISO strings like \"2024-02-02T00:00:00.000Z\" are\n * interpreted as UTC by Date(), which shows wrong date in western timezones\n */\nfunction extractDateOnly(dateString: string): string | null {\n const match = dateString.match(/^(\\d{4}-\\d{2}-\\d{2})/);\n const datePart = match?.[1];\n return datePart != null ? datePart : null;\n}\n\n/**\n * Formats user-inputted date-only fields (YYYY-MM-DD format) or ISO timestamps\n * These represent calendar dates in the user's local context, not precise timestamps\n * @param dateString - Date string in YYYY-MM-DD format or ISO timestamp\n * @param dateOnly - If true, returns only the date portion without time (default: true)\n * @returns Formatted date string or empty string if no date provided\n */\nexport function formatUserDate(\n dateString: string | null | undefined,\n dateOnly: boolean = true,\n): string {\n if (!dateString) return '';\n\n try {\n let date: Date;\n\n // For date-only fields, extract YYYY-MM-DD and parse as local to avoid timezone issues.\n // ISO strings like \"2024-02-02T00:00:00.000Z\" would otherwise be parsed as UTC midnight,\n // showing the wrong day (e.g. Feb 1 instead of Feb 2) in western timezones.\n const dateOnlyPart = extractDateOnly(dateString);\n if (dateOnlyPart) {\n const [year, month, day] = dateOnlyPart.split('-').map(Number);\n date = new Date(year!, month! - 1, day!); // month is 0-indexed\n } else {\n // Fallback for non-standard formats\n date = new Date(dateString);\n }\n\n // Check if date is valid (e.g., catches invalid dates like 2023-02-31)\n if (isNaN(date.getTime())) {\n console.warn('formatUserDate received invalid date:', dateString);\n return dateString;\n }\n\n if (dateOnly) {\n return date.toLocaleDateString(undefined, {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n });\n }\n\n return date.toLocaleString(undefined, {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n timeZoneName: 'short',\n });\n } catch (error) {\n console.error('Error formatting user date:', error);\n return dateString;\n }\n}\n\n/**\n * Formats system-generated timestamps (ISO format with time)\n * These represent precise moments in time, typically in UTC\n * @param timestamp - ISO timestamp string or YYYY-MM-DD date string\n * @param dateOnly - If true, returns only the date portion without time (default: false)\n * @returns Formatted timestamp string or empty string if no timestamp provided\n */\nexport function formatSystemTimestamp(\n timestamp: string | null | undefined,\n dateOnly: boolean = false,\n): string {\n if (!timestamp) return '';\n\n try {\n let date: Date;\n\n // Handle YYYY-MM-DD format specially to avoid timezone issues\n if (dateOnly && /^\\d{4}-\\d{2}-\\d{2}$/.test(timestamp)) {\n // For date-only strings, parse as local date to avoid UTC interpretation\n const [year, month, day] = timestamp.split('-').map(Number);\n date = new Date(year!, month! - 1, day!); // month is 0-indexed\n } else {\n // Handle ISO timestamp or other formats\n date = new Date(timestamp);\n }\n\n // Check if date is valid\n if (isNaN(date.getTime())) {\n console.warn('formatSystemTimestamp received invalid timestamp:', timestamp);\n return timestamp;\n }\n\n if (dateOnly) {\n return date.toLocaleDateString(undefined, {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n });\n }\n\n return date.toLocaleString(undefined, {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n timeZoneName: 'short',\n });\n } catch (error) {\n console.error('Error formatting system timestamp:', error);\n return timestamp;\n }\n}\n\nexport const toStringWithLocalTimeZoneOffSet = (date?: string | null) => {\n if (!date) return null;\n date = date.split('Z')[0];\n if (!date) return null;\n if (date.includes('T')) {\n return date + getTimezoneOffsetString(date);\n } else {\n return date + 'T12:00:00.000' + getTimezoneOffsetString(date);\n }\n};\n\nexport function getTimezoneOffsetString(date: string) {\n let offset = -new Date(date).getTimezoneOffset();\n let sign = offset < 0 ? '-' : '+';\n let hours = Math.floor(Math.abs(offset / 60));\n let minutes = Math.abs(offset % 60);\n return sign + pad(hours) + ':' + pad(minutes);\n\n function pad(n: number) {\n return n < 10 ? '0' + n : '' + n;\n }\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { o as createLastUsedPresetGuard } from "./saved_filter-jeZd2rlb.js";
2
- import { c as userAuthenticated } from "./userAuthorized-klLUHGxT.js";
1
+ import { o as createLastUsedPresetGuard } from "./saved_filter-C2N9l_a9.js";
2
+ import { c as userAuthenticated } from "./userAuthorized-3RiCDXxr.js";
3
3
 
4
4
  //#region src/slices/support_ticket/customer/customerSupportTicketRoutes.ts
5
5
  const customerListPresetGuard = createLastUsedPresetGuard("support_ticket_customer", "CustomerSupportTicketList");
@@ -55,7 +55,7 @@ const customerSupportTicketRoutes = [{
55
55
  {
56
56
  path: customerSupportPaths.customer_list.path,
57
57
  name: customerSupportPaths.customer_list.name,
58
- component: () => import("./CustomerSupportTicketList-CB_Y1lVj.js"),
58
+ component: () => import("./CustomerSupportTicketList-CKZl8jxx.js"),
59
59
  beforeEnter: (to) => customerListPresetGuard(to),
60
60
  meta: {
61
61
  title: "Tickets",
@@ -74,7 +74,7 @@ const customerSupportTicketRoutes = [{
74
74
  {
75
75
  path: customerSupportPaths.customer_create.path,
76
76
  name: customerSupportPaths.customer_create.name,
77
- component: () => import("./CustomerCreateSupportTicketForm-D72blvMU.js"),
77
+ component: () => import("./CustomerCreateSupportTicketForm-CiTTUqtW.js"),
78
78
  meta: {
79
79
  title: "Create Support Ticket",
80
80
  description: "Create new support ticket",
@@ -90,7 +90,7 @@ const customerSupportTicketRoutes = [{
90
90
  {
91
91
  path: customerSupportPaths.customer_create_success.path,
92
92
  name: customerSupportPaths.customer_create_success.name,
93
- component: () => import("./CustomerSupportTicketSuccess-B87Zth-g.js"),
93
+ component: () => import("./CustomerSupportTicketSuccess-BJO2xsQR.js"),
94
94
  meta: {
95
95
  title: "Support Ticket Submitted",
96
96
  description: "Support ticket submitted successfully",
@@ -112,7 +112,7 @@ const customerSupportTicketRoutes = [{
112
112
  },
113
113
  {
114
114
  path: customerSupportPaths.customer_view.path,
115
- component: () => import("./CustomerSupportTicketParent-D19kei4H.js"),
115
+ component: () => import("./CustomerSupportTicketParent-D3Gj4Hel.js"),
116
116
  meta: {
117
117
  title: "View Support Ticket",
118
118
  description: "View support ticket details"
@@ -120,7 +120,7 @@ const customerSupportTicketRoutes = [{
120
120
  children: [{
121
121
  path: "",
122
122
  name: customerSupportPaths.customer_view.name,
123
- component: () => import("./CustomerSupportTicketDetailPage-CUkf9swo.js"),
123
+ component: () => import("./CustomerSupportTicketDetailPage-DAwiE2t6.js"),
124
124
  meta: {
125
125
  title: "View Support Ticket",
126
126
  description: "View support ticket details"
@@ -139,4 +139,4 @@ const customerSupportTicketRoutes = [{
139
139
 
140
140
  //#endregion
141
141
  export { customerSupportTicketRoutes as n, customerSupportPaths as t };
142
- //# sourceMappingURL=customerSupportTicketRoutes-Cy4fp4wx.js.map
142
+ //# sourceMappingURL=customerSupportTicketRoutes-C-DKBy5g.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"customerSupportTicketRoutes-Cy4fp4wx.js","names":["customerSupportTicketRoutes: Array<ExtendedRouteRecordRaw>"],"sources":["../src/slices/support_ticket/customer/customerSupportTicketRoutes.ts"],"sourcesContent":["import { createLastUsedPresetGuard } from '../../../slices/saved_filter';\nimport { userAuthenticated } from '../../../middleware/userAuthorized';\nimport type { ExtendedRouteRecordRaw } from '../../../types/ExtendedRoute';\n\nconst customerListPresetGuard = createLastUsedPresetGuard('support_ticket_customer', 'CustomerSupportTicketList');\n\nexport const customerSupportPaths = {\n customer_list: {\n path: '',\n full_path: '/support',\n name: 'CustomerSupportTicketList',\n },\n customer_create: {\n path: 'create',\n full_path: '/support/create',\n name: 'CustomerCreateSupportTicket',\n },\n customer_create_success: {\n path: 'create/success',\n full_path: '/support/create/success',\n name: 'CustomerSupportTicketSuccess',\n },\n customer_view: {\n path: ':id',\n full_path: '/support/:id',\n name: 'CustomerViewSupportTicket',\n },\n customer_edit: {\n path: 'edit',\n full_path: '/support/:id/edit',\n name: 'CustomerEditSupportTicket',\n },\n customer_customer_notes: {\n path: 'customer-notes',\n full_path: '/support/:id/customer-notes',\n name: 'CustomerSupportTicketCustomerNotes',\n },\n customer_history: {\n path: 'history',\n full_path: '/support/:id/history',\n name: 'CustomerSupportTicketHistory',\n },\n customer_attachments: {\n path: 'attachments',\n full_path: '/support/:id/attachments',\n name: 'CustomerSupportTicketAttachments',\n },\n} as const;\n\nexport const customerSupportTicketRoutes: Array<ExtendedRouteRecordRaw> = [\n {\n path: '/support',\n name: 'CustomerSupportTicket',\n redirect: { name: customerSupportPaths.customer_list.name },\n beforeEnter: [userAuthenticated],\n meta: {},\n children: [\n {\n path: customerSupportPaths.customer_list.path,\n name: customerSupportPaths.customer_list.name,\n component: () => import('./CustomerSupportTicketList.vue'),\n beforeEnter: (to) => customerListPresetGuard(to),\n meta: {\n title: 'Tickets',\n description: 'Support tickets',\n side_bar: {\n section: 'Support',\n visible_to: ['consumer', 'lead', 'staff', 'super_admin'],\n },\n },\n },\n {\n path: customerSupportPaths.customer_create.path,\n name: customerSupportPaths.customer_create.name,\n component: () => import('./CustomerCreateSupportTicketForm.vue'),\n meta: {\n title: 'Create Support Ticket',\n description: 'Create new support ticket',\n breadcrumbs: [\n {\n label: 'Support',\n to: { name: customerSupportPaths.customer_list.name },\n },\n {\n label: 'Create',\n to: { name: customerSupportPaths.customer_create.name },\n },\n ],\n },\n },\n {\n path: customerSupportPaths.customer_create_success.path,\n name: customerSupportPaths.customer_create_success.name,\n component: () => import('./CustomerSupportTicketSuccess.vue'),\n meta: {\n title: 'Support Ticket Submitted',\n description: 'Support ticket submitted successfully',\n breadcrumbs: [\n {\n label: 'Support',\n to: { name: customerSupportPaths.customer_list.name },\n },\n {\n label: 'Create',\n to: { name: customerSupportPaths.customer_create.name },\n },\n {\n label: 'Success',\n to: { name: customerSupportPaths.customer_create_success.name },\n },\n ],\n },\n },\n {\n path: customerSupportPaths.customer_view.path,\n component: () => import('./CustomerSupportTicketParent.vue'),\n meta: {\n title: 'View Support Ticket',\n description: 'View support ticket details',\n },\n children: [\n {\n path: '',\n name: customerSupportPaths.customer_view.name,\n component: () => import('./CustomerSupportTicketDetailPage.vue'),\n meta: {\n title: 'View Support Ticket',\n description: 'View support ticket details',\n },\n },\n {\n path: customerSupportPaths.customer_edit.path,\n redirect: (to) => ({\n name: customerSupportPaths.customer_view.name,\n params: { id: to.params.id },\n query: { mode: 'edit' },\n }),\n },\n ],\n },\n ],\n },\n];\n"],"mappings":";;;;AAIA,MAAM,0BAA0B,0BAA0B,2BAA2B,4BAA4B;AAEjH,MAAa,uBAAuB;CAClC,eAAe;EACb,MAAM;EACN,WAAW;EACX,MAAM;EACP;CACD,iBAAiB;EACf,MAAM;EACN,WAAW;EACX,MAAM;EACP;CACD,yBAAyB;EACvB,MAAM;EACN,WAAW;EACX,MAAM;EACP;CACD,eAAe;EACb,MAAM;EACN,WAAW;EACX,MAAM;EACP;CACD,eAAe;EACb,MAAM;EACN,WAAW;EACX,MAAM;EACP;CACD,yBAAyB;EACvB,MAAM;EACN,WAAW;EACX,MAAM;EACP;CACD,kBAAkB;EAChB,MAAM;EACN,WAAW;EACX,MAAM;EACP;CACD,sBAAsB;EACpB,MAAM;EACN,WAAW;EACX,MAAM;EACP;CACF;AAED,MAAaA,8BAA6D,CACxE;CACE,MAAM;CACN,MAAM;CACN,UAAU,EAAE,MAAM,qBAAqB,cAAc,MAAM;CAC3D,aAAa,CAAC,kBAAkB;CAChC,MAAM,EAAE;CACR,UAAU;EACR;GACE,MAAM,qBAAqB,cAAc;GACzC,MAAM,qBAAqB,cAAc;GACzC,iBAAiB,OAAO;GACxB,cAAc,OAAO,wBAAwB,GAAG;GAChD,MAAM;IACJ,OAAO;IACP,aAAa;IACb,UAAU;KACR,SAAS;KACT,YAAY;MAAC;MAAY;MAAQ;MAAS;MAAc;KACzD;IACF;GACF;EACD;GACE,MAAM,qBAAqB,gBAAgB;GAC3C,MAAM,qBAAqB,gBAAgB;GAC3C,iBAAiB,OAAO;GACxB,MAAM;IACJ,OAAO;IACP,aAAa;IACb,aAAa,CACX;KACE,OAAO;KACP,IAAI,EAAE,MAAM,qBAAqB,cAAc,MAAM;KACtD,EACD;KACE,OAAO;KACP,IAAI,EAAE,MAAM,qBAAqB,gBAAgB,MAAM;KACxD,CACF;IACF;GACF;EACD;GACE,MAAM,qBAAqB,wBAAwB;GACnD,MAAM,qBAAqB,wBAAwB;GACnD,iBAAiB,OAAO;GACxB,MAAM;IACJ,OAAO;IACP,aAAa;IACb,aAAa;KACX;MACE,OAAO;MACP,IAAI,EAAE,MAAM,qBAAqB,cAAc,MAAM;MACtD;KACD;MACE,OAAO;MACP,IAAI,EAAE,MAAM,qBAAqB,gBAAgB,MAAM;MACxD;KACD;MACE,OAAO;MACP,IAAI,EAAE,MAAM,qBAAqB,wBAAwB,MAAM;MAChE;KACF;IACF;GACF;EACD;GACE,MAAM,qBAAqB,cAAc;GACzC,iBAAiB,OAAO;GACxB,MAAM;IACJ,OAAO;IACP,aAAa;IACd;GACD,UAAU,CACR;IACE,MAAM;IACN,MAAM,qBAAqB,cAAc;IACzC,iBAAiB,OAAO;IACxB,MAAM;KACJ,OAAO;KACP,aAAa;KACd;IACF,EACD;IACE,MAAM,qBAAqB,cAAc;IACzC,WAAW,QAAQ;KACjB,MAAM,qBAAqB,cAAc;KACzC,QAAQ,EAAE,IAAI,GAAG,OAAO,IAAI;KAC5B,OAAO,EAAE,MAAM,QAAQ;KACxB;IACF,CACF;GACF;EACF;CACF,CACF"}
1
+ {"version":3,"file":"customerSupportTicketRoutes-C-DKBy5g.js","names":["customerSupportTicketRoutes: Array<ExtendedRouteRecordRaw>"],"sources":["../src/slices/support_ticket/customer/customerSupportTicketRoutes.ts"],"sourcesContent":["import { createLastUsedPresetGuard } from '../../../slices/saved_filter';\nimport { userAuthenticated } from '../../../middleware/userAuthorized';\nimport type { ExtendedRouteRecordRaw } from '../../../types/ExtendedRoute';\n\nconst customerListPresetGuard = createLastUsedPresetGuard('support_ticket_customer', 'CustomerSupportTicketList');\n\nexport const customerSupportPaths = {\n customer_list: {\n path: '',\n full_path: '/support',\n name: 'CustomerSupportTicketList',\n },\n customer_create: {\n path: 'create',\n full_path: '/support/create',\n name: 'CustomerCreateSupportTicket',\n },\n customer_create_success: {\n path: 'create/success',\n full_path: '/support/create/success',\n name: 'CustomerSupportTicketSuccess',\n },\n customer_view: {\n path: ':id',\n full_path: '/support/:id',\n name: 'CustomerViewSupportTicket',\n },\n customer_edit: {\n path: 'edit',\n full_path: '/support/:id/edit',\n name: 'CustomerEditSupportTicket',\n },\n customer_customer_notes: {\n path: 'customer-notes',\n full_path: '/support/:id/customer-notes',\n name: 'CustomerSupportTicketCustomerNotes',\n },\n customer_history: {\n path: 'history',\n full_path: '/support/:id/history',\n name: 'CustomerSupportTicketHistory',\n },\n customer_attachments: {\n path: 'attachments',\n full_path: '/support/:id/attachments',\n name: 'CustomerSupportTicketAttachments',\n },\n} as const;\n\nexport const customerSupportTicketRoutes: Array<ExtendedRouteRecordRaw> = [\n {\n path: '/support',\n name: 'CustomerSupportTicket',\n redirect: { name: customerSupportPaths.customer_list.name },\n beforeEnter: [userAuthenticated],\n meta: {},\n children: [\n {\n path: customerSupportPaths.customer_list.path,\n name: customerSupportPaths.customer_list.name,\n component: () => import('./CustomerSupportTicketList.vue'),\n beforeEnter: (to) => customerListPresetGuard(to),\n meta: {\n title: 'Tickets',\n description: 'Support tickets',\n side_bar: {\n section: 'Support',\n visible_to: ['consumer', 'lead', 'staff', 'super_admin'],\n },\n },\n },\n {\n path: customerSupportPaths.customer_create.path,\n name: customerSupportPaths.customer_create.name,\n component: () => import('./CustomerCreateSupportTicketForm.vue'),\n meta: {\n title: 'Create Support Ticket',\n description: 'Create new support ticket',\n breadcrumbs: [\n {\n label: 'Support',\n to: { name: customerSupportPaths.customer_list.name },\n },\n {\n label: 'Create',\n to: { name: customerSupportPaths.customer_create.name },\n },\n ],\n },\n },\n {\n path: customerSupportPaths.customer_create_success.path,\n name: customerSupportPaths.customer_create_success.name,\n component: () => import('./CustomerSupportTicketSuccess.vue'),\n meta: {\n title: 'Support Ticket Submitted',\n description: 'Support ticket submitted successfully',\n breadcrumbs: [\n {\n label: 'Support',\n to: { name: customerSupportPaths.customer_list.name },\n },\n {\n label: 'Create',\n to: { name: customerSupportPaths.customer_create.name },\n },\n {\n label: 'Success',\n to: { name: customerSupportPaths.customer_create_success.name },\n },\n ],\n },\n },\n {\n path: customerSupportPaths.customer_view.path,\n component: () => import('./CustomerSupportTicketParent.vue'),\n meta: {\n title: 'View Support Ticket',\n description: 'View support ticket details',\n },\n children: [\n {\n path: '',\n name: customerSupportPaths.customer_view.name,\n component: () => import('./CustomerSupportTicketDetailPage.vue'),\n meta: {\n title: 'View Support Ticket',\n description: 'View support ticket details',\n },\n },\n {\n path: customerSupportPaths.customer_edit.path,\n redirect: (to) => ({\n name: customerSupportPaths.customer_view.name,\n params: { id: to.params.id },\n query: { mode: 'edit' },\n }),\n },\n ],\n },\n ],\n },\n];\n"],"mappings":";;;;AAIA,MAAM,0BAA0B,0BAA0B,2BAA2B,4BAA4B;AAEjH,MAAa,uBAAuB;CAClC,eAAe;EACb,MAAM;EACN,WAAW;EACX,MAAM;EACP;CACD,iBAAiB;EACf,MAAM;EACN,WAAW;EACX,MAAM;EACP;CACD,yBAAyB;EACvB,MAAM;EACN,WAAW;EACX,MAAM;EACP;CACD,eAAe;EACb,MAAM;EACN,WAAW;EACX,MAAM;EACP;CACD,eAAe;EACb,MAAM;EACN,WAAW;EACX,MAAM;EACP;CACD,yBAAyB;EACvB,MAAM;EACN,WAAW;EACX,MAAM;EACP;CACD,kBAAkB;EAChB,MAAM;EACN,WAAW;EACX,MAAM;EACP;CACD,sBAAsB;EACpB,MAAM;EACN,WAAW;EACX,MAAM;EACP;CACF;AAED,MAAaA,8BAA6D,CACxE;CACE,MAAM;CACN,MAAM;CACN,UAAU,EAAE,MAAM,qBAAqB,cAAc,MAAM;CAC3D,aAAa,CAAC,kBAAkB;CAChC,MAAM,EAAE;CACR,UAAU;EACR;GACE,MAAM,qBAAqB,cAAc;GACzC,MAAM,qBAAqB,cAAc;GACzC,iBAAiB,OAAO;GACxB,cAAc,OAAO,wBAAwB,GAAG;GAChD,MAAM;IACJ,OAAO;IACP,aAAa;IACb,UAAU;KACR,SAAS;KACT,YAAY;MAAC;MAAY;MAAQ;MAAS;MAAc;KACzD;IACF;GACF;EACD;GACE,MAAM,qBAAqB,gBAAgB;GAC3C,MAAM,qBAAqB,gBAAgB;GAC3C,iBAAiB,OAAO;GACxB,MAAM;IACJ,OAAO;IACP,aAAa;IACb,aAAa,CACX;KACE,OAAO;KACP,IAAI,EAAE,MAAM,qBAAqB,cAAc,MAAM;KACtD,EACD;KACE,OAAO;KACP,IAAI,EAAE,MAAM,qBAAqB,gBAAgB,MAAM;KACxD,CACF;IACF;GACF;EACD;GACE,MAAM,qBAAqB,wBAAwB;GACnD,MAAM,qBAAqB,wBAAwB;GACnD,iBAAiB,OAAO;GACxB,MAAM;IACJ,OAAO;IACP,aAAa;IACb,aAAa;KACX;MACE,OAAO;MACP,IAAI,EAAE,MAAM,qBAAqB,cAAc,MAAM;MACtD;KACD;MACE,OAAO;MACP,IAAI,EAAE,MAAM,qBAAqB,gBAAgB,MAAM;MACxD;KACD;MACE,OAAO;MACP,IAAI,EAAE,MAAM,qBAAqB,wBAAwB,MAAM;MAChE;KACF;IACF;GACF;EACD;GACE,MAAM,qBAAqB,cAAc;GACzC,iBAAiB,OAAO;GACxB,MAAM;IACJ,OAAO;IACP,aAAa;IACd;GACD,UAAU,CACR;IACE,MAAM;IACN,MAAM,qBAAqB,cAAc;IACzC,iBAAiB,OAAO;IACxB,MAAM;KACJ,OAAO;KACP,aAAa;KACd;IACF,EACD;IACE,MAAM,qBAAqB,cAAc;IACzC,WAAW,QAAQ;KACjB,MAAM,qBAAqB,cAAc;KACzC,QAAQ,EAAE,IAAI,GAAG,OAAO,IAAI;KAC5B,OAAO,EAAE,MAAM,QAAQ;KACxB;IACF,CACF;GACF;EACF;CACF,CACF"}
@@ -10,4 +10,4 @@ function formatTicketDisplayId(display_id, display_id_prefix, fallbackId) {
10
10
 
11
11
  //#endregion
12
12
  export { formatTicketDisplayId as t };
13
- //# sourceMappingURL=displayIdFormatter-Cr-QaEk1.js.map
13
+ //# sourceMappingURL=displayIdFormatter-Ca4Al9iB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"displayIdFormatter-Cr-QaEk1.js","names":[],"sources":["../src/slices/support_ticket/utils/displayIdFormatter.ts"],"sourcesContent":["/**\n * Formats a display ID with prefix (e.g., \"SP-123\")\n * Falls back to last 8 chars of ID if display_id not available\n */\nexport function formatTicketDisplayId(\n display_id: string | null | undefined,\n display_id_prefix: string | null | undefined,\n fallbackId: string,\n): string {\n if (display_id && display_id_prefix) {\n return `${display_id_prefix}-${display_id}`;\n }\n // Fallback to last 8 chars of ID\n return `#${fallbackId.slice(-8)}`;\n}\n"],"mappings":";;;;;AAIA,SAAgB,sBACd,YACA,mBACA,YACQ;AACR,KAAI,cAAc,kBAChB,QAAO,GAAG,kBAAkB,GAAG;AAGjC,QAAO,IAAI,WAAW,MAAM,GAAG"}
1
+ {"version":3,"file":"displayIdFormatter-Ca4Al9iB.js","names":[],"sources":["../src/slices/support_ticket/utils/displayIdFormatter.ts"],"sourcesContent":["/**\n * Formats a display ID with prefix (e.g., \"SP-123\")\n * Falls back to last 8 chars of ID if display_id not available\n */\nexport function formatTicketDisplayId(\n display_id: string | null | undefined,\n display_id_prefix: string | null | undefined,\n fallbackId: string,\n): string {\n if (display_id && display_id_prefix) {\n return `${display_id_prefix}-${display_id}`;\n }\n // Fallback to last 8 chars of ID\n return `#${fallbackId.slice(-8)}`;\n}\n"],"mappings":";;;;;AAIA,SAAgB,sBACd,YACA,mBACA,YACQ;AACR,KAAI,cAAc,kBAChB,QAAO,GAAG,kBAAkB,GAAG;AAGjC,QAAO,IAAI,WAAW,MAAM,GAAG"}
@@ -17,4 +17,4 @@ function extractRpcErrorMessage(error, fallback = "An unknown error occurred.")
17
17
 
18
18
  //#endregion
19
19
  export { extractRpcErrorMessage as t };
20
- //# sourceMappingURL=extractRpcErrorMessage-CAaeVysa.js.map
20
+ //# sourceMappingURL=extractRpcErrorMessage-Df8-CJGV.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extractRpcErrorMessage-CAaeVysa.js","names":[],"sources":["../src/utils/extractRpcErrorMessage.ts"],"sourcesContent":["/**\n * Extracts a user-friendly error message from RPC/API errors.\n * Handles various error shapes: Error instances, nested RPC payloads, etc.\n */\nexport function extractRpcErrorMessage(error: unknown, fallback = 'An unknown error occurred.'): string {\n if (error instanceof Error && error.message) {\n return error.message;\n }\n if (typeof error === 'object' && error !== null) {\n const obj = error as Record<string, unknown>;\n // RPC errors may nest: { error: { error_message: '...' } }\n const inner = obj.error as Record<string, unknown> | undefined;\n if (inner && typeof inner === 'object' && typeof inner.error_message === 'string') {\n return inner.error_message;\n }\n if (typeof obj.error_message === 'string') {\n return obj.error_message;\n }\n if (typeof obj.message === 'string') {\n return obj.message;\n }\n }\n return fallback;\n}\n"],"mappings":";;;;;AAIA,SAAgB,uBAAuB,OAAgB,WAAW,8BAAsC;AACtG,KAAI,iBAAiB,SAAS,MAAM,QAClC,QAAO,MAAM;AAEf,KAAI,OAAO,UAAU,YAAY,UAAU,MAAM;EAC/C,MAAM,MAAM;EAEZ,MAAM,QAAQ,IAAI;AAClB,MAAI,SAAS,OAAO,UAAU,YAAY,OAAO,MAAM,kBAAkB,SACvE,QAAO,MAAM;AAEf,MAAI,OAAO,IAAI,kBAAkB,SAC/B,QAAO,IAAI;AAEb,MAAI,OAAO,IAAI,YAAY,SACzB,QAAO,IAAI;;AAGf,QAAO"}
1
+ {"version":3,"file":"extractRpcErrorMessage-Df8-CJGV.js","names":[],"sources":["../src/utils/extractRpcErrorMessage.ts"],"sourcesContent":["/**\n * Extracts a user-friendly error message from RPC/API errors.\n * Handles various error shapes: Error instances, nested RPC payloads, etc.\n */\nexport function extractRpcErrorMessage(error: unknown, fallback = 'An unknown error occurred.'): string {\n if (error instanceof Error && error.message) {\n return error.message;\n }\n if (typeof error === 'object' && error !== null) {\n const obj = error as Record<string, unknown>;\n // RPC errors may nest: { error: { error_message: '...' } }\n const inner = obj.error as Record<string, unknown> | undefined;\n if (inner && typeof inner === 'object' && typeof inner.error_message === 'string') {\n return inner.error_message;\n }\n if (typeof obj.error_message === 'string') {\n return obj.error_message;\n }\n if (typeof obj.message === 'string') {\n return obj.message;\n }\n }\n return fallback;\n}\n"],"mappings":";;;;;AAIA,SAAgB,uBAAuB,OAAgB,WAAW,8BAAsC;AACtG,KAAI,iBAAiB,SAAS,MAAM,QAClC,QAAO,MAAM;AAEf,KAAI,OAAO,UAAU,YAAY,UAAU,MAAM;EAC/C,MAAM,MAAM;EAEZ,MAAM,QAAQ,IAAI;AAClB,MAAI,SAAS,OAAO,UAAU,YAAY,OAAO,MAAM,kBAAkB,SACvE,QAAO,MAAM;AAEf,MAAI,OAAO,IAAI,kBAAkB,SAC/B,QAAO,IAAI;AAEb,MAAI,OAAO,IAAI,YAAY,SACzB,QAAO,IAAI;;AAGf,QAAO"}