@dragonmastery/dragoncore-vue 0.0.21 → 0.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AppLink-CHMMrSFI.js → AppLink-FcNGKgvG.js} +1 -1
- package/dist/{AppLink-CHMMrSFI.js.map → AppLink-FcNGKgvG.js.map} +1 -1
- package/dist/Appearance-Ch4zfWZ3.js +3 -0
- package/dist/{Appearance-DxWTyx1M.js → Appearance-shr0Aql0.js} +1 -1
- package/dist/{Appearance-DxWTyx1M.js.map → Appearance-shr0Aql0.js.map} +1 -1
- package/dist/{ChangePasswordPage--3XwluwE.js → ChangePasswordPage-C633yQiU.js} +2 -2
- package/dist/{ChangePasswordPage--3XwluwE.js.map → ChangePasswordPage-C633yQiU.js.map} +1 -1
- package/dist/ChangePasswordPage-CYuCCosx.js +7 -0
- package/dist/ConfirmDialog-DjthOYU6.js +85 -0
- package/dist/ConfirmDialog-DjthOYU6.js.map +1 -0
- package/dist/ConsentRequired-BPjsZoPY.js +211 -0
- package/dist/ConsentRequired-BPjsZoPY.js.map +1 -0
- package/dist/CreateTeamForm-CeaC41VY.js +142 -0
- package/dist/CreateTeamForm-CeaC41VY.js.map +1 -0
- package/dist/CreateTeamForm-DfgCaUwX.js +12 -0
- package/dist/CreateTeamMemberForm-Bv9gNG4z.js +140 -0
- package/dist/CreateTeamMemberForm-Bv9gNG4z.js.map +1 -0
- package/dist/CreateTeamMemberForm-CnHfpob_.js +12 -0
- package/dist/CreateUserPage-C9uOeYDJ.js +7 -0
- package/dist/{CreateUserPage-DLwXeLAq.js → CreateUserPage-CqKcY7_X.js} +2 -2
- package/dist/{CreateUserPage-DLwXeLAq.js.map → CreateUserPage-CqKcY7_X.js.map} +1 -1
- package/dist/CreditBalanceDashboard-0HiJE_OS.js +13 -0
- package/dist/CreditBalanceDashboard-k_orNn4h.js +28 -0
- package/dist/CreditBalanceDashboard-k_orNn4h.js.map +1 -0
- package/dist/CreditManagement-BVBZQDI4.js +356 -0
- package/dist/CreditManagement-BVBZQDI4.js.map +1 -0
- package/dist/CreditManagement-DXdIN-0d.js +13 -0
- package/dist/CreditTransactionHistory-DSu-6aDi.js +229 -0
- package/dist/CreditTransactionHistory-DSu-6aDi.js.map +1 -0
- package/dist/CustomerCreateSupportTicketForm-BsjX8Pja.js +14 -0
- package/dist/CustomerCreateSupportTicketForm-kf8YIGjx.js +158 -0
- package/dist/CustomerCreateSupportTicketForm-kf8YIGjx.js.map +1 -0
- package/dist/{CustomerSupportTicketDetailPage-BdyaKG1v.js → CustomerSupportTicketDetailPage-C_-YoAaP.js} +12 -9
- package/dist/{CustomerSupportTicketDetailPage-BdyaKG1v.js.map → CustomerSupportTicketDetailPage-C_-YoAaP.js.map} +1 -1
- package/dist/CustomerSupportTicketList-DdACn3ug.js +63 -0
- package/dist/{CustomerSupportTicketParent-HIxwSVdu.js → CustomerSupportTicketParent-BpBuYCrP.js} +4 -4
- package/dist/{CustomerSupportTicketParent-HIxwSVdu.js.map → CustomerSupportTicketParent-BpBuYCrP.js.map} +1 -1
- package/dist/CustomerSupportTicketParent-Djy7pNqO.js +8 -0
- package/dist/CustomerSupportTicketSuccess-DsFzpJFU.js +12 -0
- package/dist/CustomerSupportTicketSuccess-cumNSGdx.js +54 -0
- package/dist/CustomerSupportTicketSuccess-cumNSGdx.js.map +1 -0
- package/dist/EditTeamForm-BE3iX2x3.js +12 -0
- package/dist/EditTeamForm-BxRN338L.js +163 -0
- package/dist/EditTeamForm-BxRN338L.js.map +1 -0
- package/dist/EditTeamMemberForm-D7D1Zddh.js +9 -0
- package/dist/{EditTeamMemberForm-CaS2GLjV.js → EditTeamMemberForm-DfgJr5Cy.js} +7 -72
- package/dist/EditTeamMemberForm-DfgJr5Cy.js.map +1 -0
- package/dist/EditUserPage-C0K7EGjM.js +8 -0
- package/dist/{EditUserPage-DURc5rmi.js → EditUserPage-CI_jtU8P.js} +4 -4
- package/dist/{EditUserPage-DURc5rmi.js.map → EditUserPage-CI_jtU8P.js.map} +1 -1
- package/dist/EnhancedRefreshTokenHandler-C6tZCcfX.js +189 -0
- package/dist/EnhancedRefreshTokenHandler-C6tZCcfX.js.map +1 -0
- package/dist/FieldsetSection-Cd4B8Ad7.js +27 -0
- package/dist/FieldsetSection-Cd4B8Ad7.js.map +1 -0
- package/dist/{ForgotPassword-OjIPi9s9.js → ForgotPassword-Ckb9Z-wb.js} +4 -4
- package/dist/{ForgotPassword-OjIPi9s9.js.map → ForgotPassword-Ckb9Z-wb.js.map} +1 -1
- package/dist/ForgotPassword-tJVSg7PB.js +8 -0
- package/dist/{TimelineSystemEvent-BHzFr46C.js → InlineAttachments-DAn_QknY.js} +60 -661
- package/dist/InlineAttachments-DAn_QknY.js.map +1 -0
- package/dist/{LoginForm-9UFnA-fO.js → LoginForm-CMN2T1fA.js} +5 -5
- package/dist/{LoginForm-9UFnA-fO.js.map → LoginForm-CMN2T1fA.js.map} +1 -1
- package/dist/LoginForm-QFJ8NHww.js +8 -0
- package/dist/{Logout-YgTgOFUH.js → Logout-CFLYHlLr.js} +5 -5
- package/dist/{Logout-YgTgOFUH.js.map → Logout-CFLYHlLr.js.map} +1 -1
- package/dist/Logout-CjDBff3W.js +8 -0
- package/dist/MfaSetup-BZcoxJx-.js +9 -0
- package/dist/{MfaSetup-RtFMY_dj.js → MfaSetup-XqoAwBXx.js} +5 -5
- package/dist/{MfaSetup-RtFMY_dj.js.map → MfaSetup-XqoAwBXx.js.map} +1 -1
- package/dist/{MfaVerify-Cvhe8bEM.js → MfaVerify-C-A75TFZ.js} +6 -6
- package/dist/{MfaVerify-Cvhe8bEM.js.map → MfaVerify-C-A75TFZ.js.map} +1 -1
- package/dist/MfaVerify-Dy2aV5Gk.js +9 -0
- package/dist/{RecordVersionViewer-BWZ78vvE.js → RecordVersionViewer-D2j10HdK.js} +1 -1
- package/dist/{RecordVersionViewer-BWZ78vvE.js.map → RecordVersionViewer-D2j10HdK.js.map} +1 -1
- package/dist/{ResetPassword-BE4mXK9q.js → ResetPassword-Cd-Yxp8E.js} +4 -4
- package/dist/{ResetPassword-BE4mXK9q.js.map → ResetPassword-Cd-Yxp8E.js.map} +1 -1
- package/dist/ResetPassword-D6to3G6a.js +8 -0
- package/dist/{SavedFiltersPage-DQt6uc8m.js → SavedFiltersPage-DM5DvAFa.js} +62 -34
- package/dist/{SavedFiltersPage-DQt6uc8m.js.map → SavedFiltersPage-DM5DvAFa.js.map} +1 -1
- package/dist/{Signup-9TjMMnU4.js → Signup-2pqvJiVt.js} +57 -57
- package/dist/Signup-2pqvJiVt.js.map +1 -0
- package/dist/Signup-XdImA1os.js +9 -0
- package/dist/{SignupConsentFlow-QUZGKjdB.js → SignupConsentFlow-X3kXuviv.js} +106 -70
- package/dist/SignupConsentFlow-X3kXuviv.js.map +1 -0
- package/dist/{SignupRequirementsPage-DfbYmpQD.js → SignupRequirementsPage-Cf-ElkEq.js} +9 -8
- package/dist/{SignupRequirementsPage-DfbYmpQD.js.map → SignupRequirementsPage-Cf-ElkEq.js.map} +1 -1
- package/dist/StaffCreateSupportTicketForm-BlUP2XXy.js +14 -0
- package/dist/StaffCreateSupportTicketForm-D2nn4rTU.js +255 -0
- package/dist/StaffCreateSupportTicketForm-D2nn4rTU.js.map +1 -0
- package/dist/{StaffSupportTicketDetailPage-DQdfh6H1.js → StaffSupportTicketDetailPage-MFtm06BE.js} +14 -11
- package/dist/{StaffSupportTicketDetailPage-DQdfh6H1.js.map → StaffSupportTicketDetailPage-MFtm06BE.js.map} +1 -1
- package/dist/StaffSupportTicketList-LfLx0pYP.js +63 -0
- package/dist/StaffSupportTicketParent-B7mEN1oD.js +8 -0
- package/dist/{StaffSupportTicketParent-CilR4RGM.js → StaffSupportTicketParent-BvPwgOqH.js} +4 -4
- package/dist/{StaffSupportTicketParent-CilR4RGM.js.map → StaffSupportTicketParent-BvPwgOqH.js.map} +1 -1
- package/dist/StaffSupportTicketSuccess-BMCOP3ko.js +12 -0
- package/dist/StaffSupportTicketSuccess-Ca2WrcRg.js +54 -0
- package/dist/StaffSupportTicketSuccess-Ca2WrcRg.js.map +1 -0
- package/dist/{SupportStaffPage-KKugAnFm.js → SupportStaffPage-B69-kuvg.js} +8 -7
- package/dist/{SupportStaffPage-KKugAnFm.js.map → SupportStaffPage-B69-kuvg.js.map} +1 -1
- package/dist/{SupportTicketDevLifecycleBadge-EMrQHfyG.js → SupportTicketDevLifecycleBadge-BoAjMb08.js} +1 -1
- package/dist/{SupportTicketDevLifecycleBadge-EMrQHfyG.js.map → SupportTicketDevLifecycleBadge-BoAjMb08.js.map} +1 -1
- package/dist/{SupportTicketMaintenancePage-smItdkrD.js → SupportTicketMaintenancePage-Bptja-xb.js} +5 -4
- package/dist/{SupportTicketMaintenancePage-smItdkrD.js.map → SupportTicketMaintenancePage-Bptja-xb.js.map} +1 -1
- package/dist/TeamAttachmentsTab-Dk3LxX3n.js +63 -0
- package/dist/TeamHistoryTab-CRONdHcL.js +6 -0
- package/dist/{TeamHistoryTab-D5biUPmq.js → TeamHistoryTab-DM8KBEG1.js} +7 -19
- package/dist/TeamHistoryTab-DM8KBEG1.js.map +1 -0
- package/dist/TeamList-DYm_vQ2z.js +8 -0
- package/dist/TeamList-qdwlMuJv.js +141 -0
- package/dist/TeamList-qdwlMuJv.js.map +1 -0
- package/dist/TeamMemberList-4LRLT_7Z.js +7 -0
- package/dist/TeamMemberList-DyI1U1t_.js +166 -0
- package/dist/TeamMemberList-DyI1U1t_.js.map +1 -0
- package/dist/TeamMemberParent-B63pRfI6.js +10 -0
- package/dist/TeamMemberParent-D9Fxu7GD.js +83 -0
- package/dist/TeamMemberParent-D9Fxu7GD.js.map +1 -0
- package/dist/TeamMembersTab-BGcdyEE8.js +3 -0
- package/dist/{TeamMembersTab-4gmnP9sD.js → TeamMembersTab-BigqpBDH.js} +1 -1
- package/dist/{TeamMembersTab-4gmnP9sD.js.map → TeamMembersTab-BigqpBDH.js.map} +1 -1
- package/dist/{TeamNotesTab-BzGZZ1h8.js → TeamNotesTab-BgxleidZ.js} +6 -5
- package/dist/{TeamNotesTab-BzGZZ1h8.js.map → TeamNotesTab-BgxleidZ.js.map} +1 -1
- package/dist/TeamNotesTab-o7glfjoY.js +8 -0
- package/dist/TeamParent-BwXqA3rj.js +83 -0
- package/dist/TeamParent-BwXqA3rj.js.map +1 -0
- package/dist/TeamParent-CFOmyKPz.js +11 -0
- package/dist/{TimelineNoteInput-0p-M4Qie.js → TimelineNoteInput-DXaodm43.js} +3 -2
- package/dist/{TimelineNoteInput-0p-M4Qie.js.map → TimelineNoteInput-DXaodm43.js.map} +1 -1
- package/dist/TimelineSystemEvent-zCMUx5Zz.js +525 -0
- package/dist/TimelineSystemEvent-zCMUx5Zz.js.map +1 -0
- package/dist/UserListPage-Bmwg0an5.js +5 -0
- package/dist/{UserListPage-DUE5gJTo.js → UserListPage-DtA8tLff.js} +4 -3
- package/dist/{UserListPage-DUE5gJTo.js.map → UserListPage-DtA8tLff.js.map} +1 -1
- package/dist/UserProfilePage-DRbCAr9H.js +8 -0
- package/dist/{UserProfilePage-C3b93Keh.js → UserProfilePage-g4-VEDXo.js} +4 -4
- package/dist/{UserProfilePage-C3b93Keh.js.map → UserProfilePage-g4-VEDXo.js.map} +1 -1
- package/dist/{VerifyEmail-DlOmWGG-.js → VerifyEmail-CM5ehFB8.js} +7 -7
- package/dist/{VerifyEmail-DlOmWGG-.js.map → VerifyEmail-CM5ehFB8.js.map} +1 -1
- package/dist/VerifyEmail-DMHczC9f.js +10 -0
- package/dist/ViewTeam-CXyABxE6.js +8 -0
- package/dist/ViewTeam-DSbKV60o.js +220 -0
- package/dist/ViewTeam-DSbKV60o.js.map +1 -0
- package/dist/ViewTeamMember-BB0nvPOe.js +167 -0
- package/dist/ViewTeamMember-BB0nvPOe.js.map +1 -0
- package/dist/ViewTeamMember-jrOnBaDh.js +7 -0
- package/dist/ZiniaContainer-CjVhCnGB.js +18 -0
- package/dist/ZiniaContainer-CjVhCnGB.js.map +1 -0
- package/dist/{convertToLocalDateTime-CFhtN6PI.js → convertToLocalDateTime-BF25N4xd.js} +1 -2
- package/dist/convertToLocalDateTime-BF25N4xd.js.map +1 -0
- package/dist/customerSupportTicketRoutes-C7OxGAGl.js +142 -0
- package/dist/customerSupportTicketRoutes-C7OxGAGl.js.map +1 -0
- package/dist/{displayIdFormatter-Dz900Awr.js → displayIdFormatter-B-_WQHOr.js} +1 -1
- package/dist/{displayIdFormatter-Dz900Awr.js.map → displayIdFormatter-B-_WQHOr.js.map} +1 -1
- package/dist/{extractRpcErrorMessage-Di8E8-Wh.js → extractRpcErrorMessage-diUBl6Ij.js} +1 -1
- package/dist/{extractRpcErrorMessage-Di8E8-Wh.js.map → extractRpcErrorMessage-diUBl6Ij.js.map} +1 -1
- package/dist/index.d.ts +793 -834
- package/dist/index.js +66 -38
- package/dist/{mfaSchema-BnRWf0ma.js → mfaSchema-Ukqzdyck.js} +1 -1
- package/dist/{mfaSchema-BnRWf0ma.js.map → mfaSchema-Ukqzdyck.js.map} +1 -1
- package/dist/saved_filter-CfzH0BzK.js +1210 -0
- package/dist/saved_filter-CfzH0BzK.js.map +1 -0
- package/dist/signupConsentStorage-DS9vCUuC.js +27 -0
- package/dist/signupConsentStorage-DS9vCUuC.js.map +1 -0
- package/dist/{src-CEBiyg_f.css → src-C6ZmNSSU.css} +1 -1
- package/dist/{src-CEBiyg_f.css.map → src-C6ZmNSSU.css.map} +1 -1
- package/dist/src-DVe_0RO9.js +4654 -0
- package/dist/src-DVe_0RO9.js.map +1 -0
- package/dist/staffSupportTicketRoutes-CWutoQWp.js +135 -0
- package/dist/staffSupportTicketRoutes-CWutoQWp.js.map +1 -0
- package/dist/teamMemberMetadata-CQnbVepq.js +49 -0
- package/dist/teamMemberMetadata-CQnbVepq.js.map +1 -0
- package/dist/teamMetadata-DlvwO5V0.js +53 -0
- package/dist/teamMetadata-DlvwO5V0.js.map +1 -0
- package/dist/teamRoutes-KFgnsdDP.js +192 -0
- package/dist/teamRoutes-KFgnsdDP.js.map +1 -0
- package/dist/team_memberRoutes-Cjpw_ql6.js +84 -0
- package/dist/team_memberRoutes-Cjpw_ql6.js.map +1 -0
- package/dist/{useBreadcrumbs-qB6ghsAf.js → useBreadcrumbs-DIqU5AAp.js} +1 -1
- package/dist/{useBreadcrumbs-qB6ghsAf.js.map → useBreadcrumbs-DIqU5AAp.js.map} +1 -1
- package/dist/{useEmailVerificationChannel-BNi926Ho.js → useEmailVerificationChannel-B51z65PN.js} +3 -3
- package/dist/{useEmailVerificationChannel-BNi926Ho.js.map → useEmailVerificationChannel-B51z65PN.js.map} +1 -1
- package/dist/{useMutation-BTsyHKyn.js → useMutation-BLNuJoYl.js} +6 -3
- package/dist/useMutation-BLNuJoYl.js.map +1 -0
- package/dist/{useQuery-BggIE52P.js → useQuery-BzUGEOj0.js} +4 -3
- package/dist/{useQuery-BggIE52P.js.map → useQuery-BzUGEOj0.js.map} +1 -1
- package/dist/{useQueryCache-Bjm-S8v5.js → useQueryCache-alzaRWEb.js} +2 -2
- package/dist/{useQueryCache-Bjm-S8v5.js.map → useQueryCache-alzaRWEb.js.map} +1 -1
- package/dist/{useReturnUrl-qFeazn-G.js → useReturnUrl-B5V3SJf5.js} +1 -1
- package/dist/{useReturnUrl-qFeazn-G.js.map → useReturnUrl-B5V3SJf5.js.map} +1 -1
- package/dist/{useRpcAuth-rmHf7bYx.js → useRpcAuth-CJtq1dqM.js} +25 -194
- package/dist/useRpcAuth-CJtq1dqM.js.map +1 -0
- package/dist/userAuthorized-C09FHWGL.js +185 -0
- package/dist/userAuthorized-C09FHWGL.js.map +1 -0
- package/package.json +3 -3
- package/dist/Appearance-D5pwxuf4.js +0 -3
- package/dist/ChangePasswordPage-CpDPmEml.js +0 -6
- package/dist/ConsentRequired-C4IRMA0c.js +0 -213
- package/dist/ConsentRequired-C4IRMA0c.js.map +0 -1
- package/dist/CreateTeamForm-B4cIuYAf.js +0 -35
- package/dist/CreateTeamMemberForm-Chrw1y00.js +0 -35
- package/dist/CreateUserPage-WruMs7WP.js +0 -6
- package/dist/CreditBalanceDashboard-CkcsrZ_e.js +0 -35
- package/dist/CreditManagement-Ddvu9dMw.js +0 -35
- package/dist/CustomerCreateSupportTicketForm-BKperKGS.js +0 -35
- package/dist/CustomerSupportTicketList-DcbrjDa9.js +0 -35
- package/dist/CustomerSupportTicketParent-BeNzUwuP.js +0 -7
- package/dist/CustomerSupportTicketSuccess-CC967u3y.js +0 -35
- package/dist/EditTeamForm-B5Tee5wL.js +0 -35
- package/dist/EditTeamMemberForm-CaS2GLjV.js.map +0 -1
- package/dist/EditTeamMemberForm-OtcS8QWt.js +0 -6
- package/dist/EditUserPage-T4DQlKhf.js +0 -7
- package/dist/ForgotPassword-CUifhmqP.js +0 -7
- package/dist/LoginForm-Bg7GoZEA.js +0 -7
- package/dist/Logout-Bs92csWH.js +0 -7
- package/dist/MfaSetup-BACX5XP-.js +0 -8
- package/dist/MfaVerify-ak4iSdQ2.js +0 -8
- package/dist/ResetPassword-pY1uhTdl.js +0 -7
- package/dist/Signup-9TjMMnU4.js.map +0 -1
- package/dist/Signup-Bq-G3D-s.js +0 -9
- package/dist/SignupConsentFlow-QUZGKjdB.js.map +0 -1
- package/dist/StaffCreateSupportTicketForm-D0ZuisDk.js +0 -35
- package/dist/StaffSupportTicketList-CiqC05XB.js +0 -35
- package/dist/StaffSupportTicketParent-DkV329NI.js +0 -7
- package/dist/StaffSupportTicketSuccess-CUYnimaI.js +0 -35
- package/dist/TeamAttachmentsTab-DUtCD1Yi.js +0 -35
- package/dist/TeamHistoryTab-BsUoH4VK.js +0 -4
- package/dist/TeamHistoryTab-D5biUPmq.js.map +0 -1
- package/dist/TeamList-BkPIqZ8V.js +0 -35
- package/dist/TeamMemberList-1mxUGCNa.js +0 -35
- package/dist/TeamMemberParent-DzeBIElY.js +0 -35
- package/dist/TeamMembersTab-CBB2Yl_I.js +0 -3
- package/dist/TeamNotesTab-ClHl2nXd.js +0 -7
- package/dist/TeamParent-DJa9UZTP.js +0 -35
- package/dist/TimelineSystemEvent-BHzFr46C.js.map +0 -1
- package/dist/UserListPage-BTLE4J0s.js +0 -4
- package/dist/UserProfilePage-CVTORtSx.js +0 -7
- package/dist/VerifyEmail-DCP4DWIw.js +0 -9
- package/dist/ViewTeam-DVfnLMhV.js +0 -35
- package/dist/ViewTeamMember-L4v3gCIn.js +0 -35
- package/dist/convertToLocalDateTime-CFhtN6PI.js.map +0 -1
- package/dist/src-QZJyMfGX.js +0 -8951
- package/dist/src-QZJyMfGX.js.map +0 -1
- package/dist/useMutation-BTsyHKyn.js.map +0 -1
- package/dist/useRpcAuth-rmHf7bYx.js.map +0 -1
- package/dist/useSignupPendingData-BWHwUHhL.js +0 -47
- package/dist/useSignupPendingData-BWHwUHhL.js.map +0 -1
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { t as useMutation } from "./useMutation-BLNuJoYl.js";
|
|
2
|
+
import { t as useQuery } from "./useQuery-BzUGEOj0.js";
|
|
3
|
+
import { t as FieldsetSection_default } from "./FieldsetSection-Cd4B8Ad7.js";
|
|
4
|
+
import { t as teamMemberPaths } from "./team_memberRoutes-Cjpw_ql6.js";
|
|
5
|
+
import { t as teamMemberCreateSchemaWithMetadata } from "./teamMemberMetadata-CQnbVepq.js";
|
|
6
|
+
import { createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, openBlock, toDisplayString, unref, withCtx } from "vue";
|
|
7
|
+
import { useRoute, useRouter } from "vue-router";
|
|
8
|
+
import { toast } from "vue3-toastify";
|
|
9
|
+
import { useForm } from "@dragonmastery/zinia-forms-core";
|
|
10
|
+
|
|
11
|
+
//#region src/slices/team/team_member/CreateTeamMemberForm.vue
|
|
12
|
+
const _hoisted_1 = {
|
|
13
|
+
key: 0,
|
|
14
|
+
class: "flex flex-col items-center justify-center p-8"
|
|
15
|
+
};
|
|
16
|
+
const _hoisted_2 = {
|
|
17
|
+
key: 1,
|
|
18
|
+
class: "flex flex-col items-center justify-center p-8"
|
|
19
|
+
};
|
|
20
|
+
const _hoisted_3 = { class: "mt-4 text-lg" };
|
|
21
|
+
const _hoisted_4 = {
|
|
22
|
+
key: 0,
|
|
23
|
+
class: "alert alert-error mb-4"
|
|
24
|
+
};
|
|
25
|
+
const _hoisted_5 = { class: "flex justify-center mt-6" };
|
|
26
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
27
|
+
__name: "CreateTeamMemberForm",
|
|
28
|
+
setup(__props) {
|
|
29
|
+
const router = useRouter();
|
|
30
|
+
const team_id = useRoute().params.id;
|
|
31
|
+
const { data: usersData, loading: usersLoading, error: usersError } = useQuery((api) => api.users.getUsersForSelection(), { staleTime: 600 * 1e3 });
|
|
32
|
+
const loadUsers = async () => {
|
|
33
|
+
while (usersLoading.value) await new Promise((resolve) => setTimeout(resolve, 100));
|
|
34
|
+
if (usersError.value) return [];
|
|
35
|
+
return (usersData.value || []).map((user) => ({
|
|
36
|
+
value: user.id,
|
|
37
|
+
label: user.email
|
|
38
|
+
}));
|
|
39
|
+
};
|
|
40
|
+
const { form, zinia, ZiniaForm, ZiniaSubmitButton, ZiniaResetButton, ZiniaFormErrorsSummary, clearSavedFormState } = useForm(teamMemberCreateSchemaWithMetadata, {
|
|
41
|
+
storeName: `create-team-member-${team_id}`,
|
|
42
|
+
persistToLocalStorage: true,
|
|
43
|
+
renderStyle: "daisy_ui",
|
|
44
|
+
initialValues: {},
|
|
45
|
+
dataLoaders: { users: loadUsers }
|
|
46
|
+
});
|
|
47
|
+
const { mutate: createTeamMember } = useMutation((api, input) => api.teamMembers.createTeamMember(input), { invalidate: /^team-members?:|^user:teams/ });
|
|
48
|
+
const handleSubmit = async (formData) => {
|
|
49
|
+
const createdTeamMember = await createTeamMember({
|
|
50
|
+
team_id,
|
|
51
|
+
user_id: formData.user_id,
|
|
52
|
+
role: formData.role,
|
|
53
|
+
display_name: formData.display_name,
|
|
54
|
+
business_phone: formData.business_phone,
|
|
55
|
+
mobile_phone: formData.mobile_phone,
|
|
56
|
+
email_address: formData.email_address,
|
|
57
|
+
website_address: formData.website_address,
|
|
58
|
+
time_zone: formData.time_zone
|
|
59
|
+
});
|
|
60
|
+
if (!createdTeamMember) throw new Error("Failed to create team member");
|
|
61
|
+
return createdTeamMember;
|
|
62
|
+
};
|
|
63
|
+
const handleSuccess = async (createdTeamMember) => {
|
|
64
|
+
clearSavedFormState();
|
|
65
|
+
toast.success(`Team member "${createdTeamMember.display_name || createdTeamMember.id}" created successfully!`);
|
|
66
|
+
await router.push({
|
|
67
|
+
name: teamMemberPaths.list.name,
|
|
68
|
+
params: { id: team_id }
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
const handleError = (error) => {
|
|
72
|
+
form.setSubmitError(error instanceof Error ? error.message : "An unknown error occurred");
|
|
73
|
+
};
|
|
74
|
+
return (_ctx, _cache) => {
|
|
75
|
+
return unref(form).isLoading ? (openBlock(), createElementBlock("div", _hoisted_1, [..._cache[0] || (_cache[0] = [createElementVNode("div", { class: "loading loading-spinner loading-lg" }, null, -1), createElementVNode("p", { class: "mt-4 text-lg" }, "Loading...", -1)])])) : unref(form).loadError ? (openBlock(), createElementBlock("div", _hoisted_2, [createElementVNode("p", _hoisted_3, toDisplayString(unref(form).loadError), 1)])) : (openBlock(), createBlock(unref(ZiniaForm), {
|
|
76
|
+
key: 2,
|
|
77
|
+
onHandleSubmit: handleSubmit,
|
|
78
|
+
onSuccess: handleSuccess,
|
|
79
|
+
onError: handleError,
|
|
80
|
+
title: "Create Team Member",
|
|
81
|
+
subtitle: "Add a new member to the team"
|
|
82
|
+
}, {
|
|
83
|
+
default: withCtx(() => [
|
|
84
|
+
createCommentVNode(" Basic Information "),
|
|
85
|
+
createVNode(FieldsetSection_default, { title: "Member Details" }, {
|
|
86
|
+
default: withCtx(() => [
|
|
87
|
+
createVNode(unref(zinia).UserIdField, {
|
|
88
|
+
"select-options": unref(form).extraData.users,
|
|
89
|
+
placeholder: "Select user"
|
|
90
|
+
}, null, 8, ["select-options"]),
|
|
91
|
+
createVNode(unref(zinia).DisplayNameField, { placeholder: "Enter display name (optional)" }),
|
|
92
|
+
createVNode(unref(zinia).RoleField)
|
|
93
|
+
]),
|
|
94
|
+
_: 1
|
|
95
|
+
}),
|
|
96
|
+
createCommentVNode(" Contact Information "),
|
|
97
|
+
createVNode(FieldsetSection_default, { title: "Contact Information" }, {
|
|
98
|
+
default: withCtx(() => [
|
|
99
|
+
createVNode(unref(zinia).EmailAddressField, { placeholder: "Enter email address (optional)" }),
|
|
100
|
+
createVNode(unref(zinia).BusinessPhoneField, { placeholder: "Enter business phone (optional)" }),
|
|
101
|
+
createVNode(unref(zinia).MobilePhoneField, { placeholder: "Enter mobile phone (optional)" }),
|
|
102
|
+
createVNode(unref(zinia).TimeZoneField, { placeholder: "Enter time zone (optional)" })
|
|
103
|
+
]),
|
|
104
|
+
_: 1
|
|
105
|
+
}),
|
|
106
|
+
createCommentVNode(" Web Presence "),
|
|
107
|
+
createVNode(FieldsetSection_default, { title: "Web Presence" }, {
|
|
108
|
+
default: withCtx(() => [createVNode(unref(zinia).WebsiteAddressField, { placeholder: "Enter website address (optional)" })]),
|
|
109
|
+
_: 1
|
|
110
|
+
}),
|
|
111
|
+
createCommentVNode(" Form Status Messages "),
|
|
112
|
+
unref(form).submitError ? (openBlock(), createElementBlock("div", _hoisted_4, [_cache[1] || (_cache[1] = createElementVNode("svg", {
|
|
113
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
114
|
+
class: "stroke-current shrink-0 h-6 w-6",
|
|
115
|
+
fill: "none",
|
|
116
|
+
viewBox: "0 0 24 24"
|
|
117
|
+
}, [createElementVNode("path", {
|
|
118
|
+
"stroke-linecap": "round",
|
|
119
|
+
"stroke-linejoin": "round",
|
|
120
|
+
"stroke-width": "2",
|
|
121
|
+
d: "M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
122
|
+
})], -1)), createElementVNode("span", null, toDisplayString(unref(form).submitError), 1)])) : createCommentVNode("v-if", true),
|
|
123
|
+
createCommentVNode(" Submit Button "),
|
|
124
|
+
createElementVNode("div", _hoisted_5, [createVNode(unref(ZiniaSubmitButton), {
|
|
125
|
+
submitText: "Create Team Member",
|
|
126
|
+
submittingText: "Creating Team Member..."
|
|
127
|
+
})]),
|
|
128
|
+
createVNode(unref(ZiniaFormErrorsSummary), { title: "Please fix the following errors:" }),
|
|
129
|
+
createVNode(unref(ZiniaResetButton))
|
|
130
|
+
]),
|
|
131
|
+
_: 1
|
|
132
|
+
}));
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
var CreateTeamMemberForm_default = _sfc_main;
|
|
137
|
+
|
|
138
|
+
//#endregion
|
|
139
|
+
export { CreateTeamMemberForm_default as t };
|
|
140
|
+
//# sourceMappingURL=CreateTeamMemberForm-Bv9gNG4z.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreateTeamMemberForm-Bv9gNG4z.js","names":[],"sources":["../src/slices/team/team_member/CreateTeamMemberForm.vue"],"sourcesContent":["<template>\n <div v-if=\"form.isLoading\" class=\"flex flex-col items-center justify-center p-8\">\n <div class=\"loading loading-spinner loading-lg\"></div>\n <p class=\"mt-4 text-lg\">Loading...</p>\n </div>\n <div v-else-if=\"form.loadError\" class=\"flex flex-col items-center justify-center p-8\">\n <p class=\"mt-4 text-lg\">{{ form.loadError }}</p>\n </div>\n <ZiniaForm\n v-else\n @handle-submit=\"handleSubmit\"\n @success=\"handleSuccess\"\n @error=\"handleError\"\n title=\"Create Team Member\"\n subtitle=\"Add a new member to the team\"\n >\n <!-- Basic Information -->\n <FieldsetSection title=\"Member Details\">\n <zinia.UserIdField :select-options=\"form.extraData.users\" placeholder=\"Select user\" />\n <zinia.DisplayNameField placeholder=\"Enter display name (optional)\" />\n <zinia.RoleField />\n </FieldsetSection>\n\n <!-- Contact Information -->\n <FieldsetSection title=\"Contact Information\">\n <zinia.EmailAddressField placeholder=\"Enter email address (optional)\" />\n <zinia.BusinessPhoneField placeholder=\"Enter business phone (optional)\" />\n <zinia.MobilePhoneField placeholder=\"Enter mobile phone (optional)\" />\n <zinia.TimeZoneField placeholder=\"Enter time zone (optional)\" />\n </FieldsetSection>\n\n <!-- Web Presence -->\n <FieldsetSection title=\"Web Presence\">\n <zinia.WebsiteAddressField placeholder=\"Enter website address (optional)\" />\n </FieldsetSection>\n\n <!-- Form Status Messages -->\n <div v-if=\"form.submitError\" 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>{{ form.submitError }}</span>\n </div>\n\n <!-- Submit Button -->\n <div class=\"flex justify-center mt-6\">\n <ZiniaSubmitButton\n submitText=\"Create Team Member\"\n submittingText=\"Creating Team Member...\"\n />\n </div>\n <ZiniaFormErrorsSummary title=\"Please fix the following errors:\" />\n <ZiniaResetButton />\n </ZiniaForm>\n</template>\n\n<script setup lang=\"ts\">\nimport FieldsetSection from '../../../components/ui/FieldsetSection.vue';\nimport { useMutation } from '../../../composables/useMutation';\nimport { useQuery } from '../../../composables/useQuery';\nimport { useForm } from '@dragonmastery/zinia-forms-core';\nimport { useRoute, useRouter } from 'vue-router';\nimport { toast } from 'vue3-toastify';\nimport type { z } from 'zod';\nimport { teamMemberCreateSchemaWithMetadata } from './teamMemberMetadata';\nimport { teamMemberPaths } from './team_memberRoutes';\n\nconst router = useRouter();\nconst route = useRoute();\nconst team_id = route.params.id as string;\n\n// Fetch users for selection\nconst {\n data: usersData,\n loading: usersLoading,\n error: usersError,\n} = useQuery((api) => api.users.getUsersForSelection(), {\n staleTime: 10 * 60 * 1000,\n});\n\nconst loadUsers = async () => {\n // Wait for query to complete\n while (usersLoading.value) {\n await new Promise((resolve) => setTimeout(resolve, 100));\n }\n\n if (usersError.value) {\n return [];\n }\n\n const users = usersData.value || [];\n\n // Transform to select options format: [{ value: id, label: email }]\n return users.map((user) => ({\n value: user.id,\n label: user.email,\n }));\n};\n\nconst {\n form,\n zinia,\n ZiniaForm,\n ZiniaSubmitButton,\n ZiniaResetButton,\n ZiniaFormErrorsSummary,\n clearSavedFormState,\n} = useForm(teamMemberCreateSchemaWithMetadata, {\n storeName: `create-team-member-${team_id}`,\n persistToLocalStorage: true,\n renderStyle: 'daisy_ui',\n initialValues: {},\n dataLoaders: {\n users: loadUsers,\n },\n});\n\n// Setup mutation for creating team member\nconst { mutate: createTeamMember } = useMutation(\n (api, input: any) => api.teamMembers.createTeamMember(input),\n { invalidate: /^team-members?:|^user:teams/ },\n);\n\n// Handle form submission\nconst handleSubmit = async (formData: z.infer<typeof teamMemberCreateSchemaWithMetadata>) => {\n const createdTeamMember = await createTeamMember({\n team_id: team_id,\n user_id: formData.user_id,\n role: formData.role,\n display_name: formData.display_name,\n business_phone: formData.business_phone,\n mobile_phone: formData.mobile_phone,\n email_address: formData.email_address,\n website_address: formData.website_address,\n time_zone: formData.time_zone,\n } as any);\n\n if (!createdTeamMember) {\n throw new Error('Failed to create team member');\n }\n\n return createdTeamMember;\n};\n\n// Handle successful submission\nconst handleSuccess = async (createdTeamMember: any) => {\n clearSavedFormState();\n toast.success(\n `Team member \"${createdTeamMember.display_name || createdTeamMember.id}\" created successfully!`,\n );\n // Redirect to list page\n await router.push({\n name: teamMemberPaths.list.name,\n params: { id: team_id },\n });\n};\n\n// Handle submission error\nconst handleError = (error: Error | unknown) => {\n form.setSubmitError(error instanceof Error ? error.message : 'An unknown error occurred');\n};\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import "./useRpcAuth-CJtq1dqM.js";
|
|
2
|
+
import "./EnhancedRefreshTokenHandler-C6tZCcfX.js";
|
|
3
|
+
import "./useQueryCache-alzaRWEb.js";
|
|
4
|
+
import "./useMutation-BLNuJoYl.js";
|
|
5
|
+
import "./useQuery-BzUGEOj0.js";
|
|
6
|
+
import "./FieldsetSection-Cd4B8Ad7.js";
|
|
7
|
+
import "./userAuthorized-C09FHWGL.js";
|
|
8
|
+
import "./team_memberRoutes-Cjpw_ql6.js";
|
|
9
|
+
import "./teamMemberMetadata-CQnbVepq.js";
|
|
10
|
+
import { t as CreateTeamMemberForm_default } from "./CreateTeamMemberForm-Bv9gNG4z.js";
|
|
11
|
+
|
|
12
|
+
export { CreateTeamMemberForm_default as default };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import "./useRpcAuth-CJtq1dqM.js";
|
|
2
|
+
import "./EnhancedRefreshTokenHandler-C6tZCcfX.js";
|
|
3
|
+
import "./useQueryCache-alzaRWEb.js";
|
|
4
|
+
import "./useMutation-BLNuJoYl.js";
|
|
5
|
+
import { t as CreateUserPage_default } from "./CreateUserPage-CqKcY7_X.js";
|
|
6
|
+
|
|
7
|
+
export { CreateUserPage_default as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as useMutation } from "./useMutation-
|
|
1
|
+
import { t as useMutation } from "./useMutation-BLNuJoYl.js";
|
|
2
2
|
import { createElementBlock, createElementVNode, createVNode, defineComponent, openBlock, unref, withCtx } from "vue";
|
|
3
3
|
import { toast } from "vue3-toastify";
|
|
4
4
|
import { createUserSchema } from "@dragonmastery/dragoncore-shared";
|
|
@@ -73,4 +73,4 @@ var CreateUserPage_default = _sfc_main;
|
|
|
73
73
|
|
|
74
74
|
//#endregion
|
|
75
75
|
export { createUserSchemaWithMetadata as n, CreateUserPage_default as t };
|
|
76
|
-
//# sourceMappingURL=CreateUserPage-
|
|
76
|
+
//# sourceMappingURL=CreateUserPage-CqKcY7_X.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateUserPage-
|
|
1
|
+
{"version":3,"file":"CreateUserPage-CqKcY7_X.js","names":[],"sources":["../src/slices/admin/features/create_user/create_user_schema.ts","../src/slices/admin/features/create_user/CreateUserPage.vue"],"sourcesContent":["import { createUserSchema } from '@dragonmastery/dragoncore-shared';\nimport { withMetadata } from '@dragonmastery/zinia-forms-core';\nimport { z } from 'zod';\n\n// Define the login form type\nexport type CreateUserForm = z.infer<typeof createUserSchema>;\n\n// Enhance the schema with metadata\nexport const createUserSchemaWithMetadata = withMetadata(\n createUserSchema,\n 'createUserSchema',\n {\n email: {\n inputType: 'email',\n placeholder: 'Enter email',\n helpText: 'Enter your email',\n autocomplete: 'email',\n },\n\n user_type: {\n inputType: 'select',\n placeholder: 'Select user type',\n helpText: 'Select your user type',\n },\n\n password: {\n inputType: 'password',\n placeholder: 'Enter password (optional)',\n helpText:\n 'If not provided, a random password will be generated and the user will need to use forgot password to set it',\n autocomplete: 'new-password',\n },\n },\n);\n","<template>\n <div class=\"max-w-md mx-auto bg-base-200 p-6 rounded-xl shadow-md container\">\n <h1 class=\"text-2xl font-bold mb-6 text-center\">Create User</h1>\n\n <ZiniaForm @handle-submit=\"handleSubmit\" @success=\"handleSuccess\" @error=\"handleError\">\n <zinia.EmailField />\n <zinia.UserTypeField />\n <zinia.PasswordField />\n\n <ZiniaSubmitButton submitText=\"Create User\" submittingText=\"Creating User...\" />\n </ZiniaForm>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useMutation } from '../../../../composables/useMutation';\nimport { useForm } from '@dragonmastery/zinia-forms-core';\nimport { toast } from 'vue3-toastify';\nimport { z } from 'zod';\nimport { createUserSchemaWithMetadata } from './create_user_schema';\n\n// Create a type-safe form using our schema with metadata\nconst { form, zinia, ZiniaForm, ZiniaSubmitButton } = useForm(createUserSchemaWithMetadata, {\n storeName: 'create-user-form',\n persistToLocalStorage: false,\n renderStyle: 'daisy_ui',\n});\n\nconst { mutate: createUser } = useMutation(\n (api, input: z.infer<typeof createUserSchemaWithMetadata>) => api.users.createUser(input),\n { invalidate: /^users?:/ },\n);\n\n// Handle form submission\nconst handleSubmit = async (data: z.infer<typeof createUserSchemaWithMetadata>) => {\n const result = await createUser(data);\n if (!result) throw new Error('Failed to create user');\n return result;\n};\n\n// Handle success\nconst handleSuccess = async (_data: any) => {\n form.reset();\n toast.success('User created successfully!');\n};\n\n// Handle error\nconst handleError = (error: any) => {\n toast.error(error.message || 'Failed to create user');\n};\n</script>\n"],"mappings":";;;;;;;AAQA,MAAa,+BAA+B,aAC1C,kBACA,oBACA;CACE,OAAO;EACL,WAAW;EACX,aAAa;EACb,UAAU;EACV,cAAc;EACf;CAED,WAAW;EACT,WAAW;EACX,aAAa;EACb,UAAU;EACX;CAED,UAAU;EACR,WAAW;EACX,aAAa;EACb,UACE;EACF,cAAc;EACf;CACF,CACF;;;;;;;;ECXD,MAAM,EAAE,MAAM,OAAO,WAAW,sBAAsB,QAAQ,8BAA8B;GAC1F,WAAW;GACX,uBAAuB;GACvB,aAAa;GACd,CAAC;EAEF,MAAM,EAAE,QAAQ,eAAe,aAC5B,KAAK,UAAwD,IAAI,MAAM,WAAW,MAAM,EACzF,EAAE,YAAY,YAAY,CAC3B;EAGD,MAAM,eAAe,OAAO,SAAuD;GACjF,MAAM,SAAS,MAAM,WAAW,KAAK;AACrC,OAAI,CAAC,OAAQ,OAAM,IAAI,MAAM,wBAAwB;AACrD,UAAO;;EAIT,MAAM,gBAAgB,OAAO,UAAe;AAC1C,QAAK,OAAO;AACZ,SAAM,QAAQ,6BAA6B;;EAI7C,MAAM,eAAe,UAAe;AAClC,SAAM,MAAM,MAAM,WAAW,wBAAwB;;;uBA/CrD,mBAUM,OAVN,YAUM,CAAA,OAAA,OAAA,OAAA,KATJ,mBAAgE,MAAA,EAA5D,OAAM,uCAAqC,EAAC,eAAW,GAAA,GAE3D,YAMY,MAAA,UAAA,EAAA;IANA,gBAAe;IAAe,WAAS;IAAgB,SAAO;;2BACpD;KAApB,YAAoB,MAAA,MAAA,CAAA,WAAA;KACpB,YAAuB,MAAA,MAAA,CAAA,cAAA;KACvB,YAAuB,MAAA,MAAA,CAAA,cAAA;KAEvB,YAAgF,MAAA,kBAAA,EAAA;MAA7D,YAAW;MAAc,gBAAe"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import "./useRpcAuth-CJtq1dqM.js";
|
|
2
|
+
import "./EnhancedRefreshTokenHandler-C6tZCcfX.js";
|
|
3
|
+
import "./useQueryCache-alzaRWEb.js";
|
|
4
|
+
import "./useMutation-BLNuJoYl.js";
|
|
5
|
+
import "./useQuery-BzUGEOj0.js";
|
|
6
|
+
import "./saved_filter-CfzH0BzK.js";
|
|
7
|
+
import "./ConfirmDialog-DjthOYU6.js";
|
|
8
|
+
import "./userAuthorized-C09FHWGL.js";
|
|
9
|
+
import "./customerSupportTicketRoutes-C7OxGAGl.js";
|
|
10
|
+
import "./CreditTransactionHistory-DSu-6aDi.js";
|
|
11
|
+
import { t as CreditBalanceDashboard_default } from "./CreditBalanceDashboard-k_orNn4h.js";
|
|
12
|
+
|
|
13
|
+
export { CreditBalanceDashboard_default as default };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { i as CreditBalanceOverview_default, t as CreditTransactionHistory_default } from "./CreditTransactionHistory-DSu-6aDi.js";
|
|
2
|
+
import { createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, openBlock } from "vue";
|
|
3
|
+
|
|
4
|
+
//#region src/slices/customer/CreditBalanceDashboard.vue
|
|
5
|
+
const _hoisted_1 = { class: "container mx-auto py-6" };
|
|
6
|
+
const _hoisted_2 = { class: "space-y-6" };
|
|
7
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
8
|
+
__name: "CreditBalanceDashboard",
|
|
9
|
+
setup(__props) {
|
|
10
|
+
return (_ctx, _cache) => {
|
|
11
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
12
|
+
_cache[0] || (_cache[0] = createElementVNode("div", { class: "flex justify-between items-center mb-6" }, [createElementVNode("h1", { class: "text-2xl font-bold" }, "Credit Balance")], -1)),
|
|
13
|
+
createCommentVNode(" Credit balance display "),
|
|
14
|
+
createElementVNode("div", _hoisted_2, [
|
|
15
|
+
createCommentVNode(" Credit Balance Overview "),
|
|
16
|
+
createVNode(CreditBalanceOverview_default),
|
|
17
|
+
createCommentVNode(" Transaction History "),
|
|
18
|
+
createVNode(CreditTransactionHistory_default)
|
|
19
|
+
])
|
|
20
|
+
]);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
var CreditBalanceDashboard_default = _sfc_main;
|
|
25
|
+
|
|
26
|
+
//#endregion
|
|
27
|
+
export { CreditBalanceDashboard_default as t };
|
|
28
|
+
//# sourceMappingURL=CreditBalanceDashboard-k_orNn4h.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreditBalanceDashboard-k_orNn4h.js","names":[],"sources":["../src/slices/customer/CreditBalanceDashboard.vue"],"sourcesContent":["<template>\n <div class=\"container mx-auto py-6\">\n <div class=\"flex justify-between items-center mb-6\">\n <h1 class=\"text-2xl font-bold\">Credit Balance</h1>\n </div>\n\n <!-- Credit balance display -->\n <div class=\"space-y-6\">\n <!-- Credit Balance Overview -->\n <CreditBalanceOverview />\n\n <!-- Transaction History -->\n <CreditTransactionHistory />\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport CreditBalanceOverview from './components/CreditBalanceOverview.vue';\nimport CreditTransactionHistory from './components/CreditTransactionHistory.vue';\n</script>\n"],"mappings":";;;;;;;;;;uBACE,mBAaM,OAbN,YAaM;8BAZJ,mBAEM,OAAA,EAFD,OAAM,0CAAwC,EAAA,CACjD,mBAAkD,MAAA,EAA9C,OAAM,sBAAoB,EAAC,iBAAc,CAAA;IAG/C,mBAAA,2BAA+B;IAC/B,mBAMM,OANN,YAMM;KALJ,mBAAA,4BAAgC;KAChC,YAAyB,8BAAA;KAEzB,mBAAA,wBAA4B;KAC5B,YAA4B,iCAAA"}
|
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
import { t as useMutation } from "./useMutation-BLNuJoYl.js";
|
|
2
|
+
import { i as CreditBalanceOverview_default, t as CreditTransactionHistory_default } from "./CreditTransactionHistory-DSu-6aDi.js";
|
|
3
|
+
import { Fragment, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, inject, openBlock, provide, ref, toDisplayString, unref, withCtx } from "vue";
|
|
4
|
+
import { toast } from "vue3-toastify";
|
|
5
|
+
import { AddCreditsSchema, SetMonthlyAllocationSchema, formatDollar } from "@dragonmastery/dragoncore-shared";
|
|
6
|
+
import { useForm, withMetadata } from "@dragonmastery/zinia-forms-core";
|
|
7
|
+
|
|
8
|
+
//#region src/slices/customer/features/credit-management/creditFormMetadata.ts
|
|
9
|
+
const addCreditsSchemaWithMetadata = withMetadata(AddCreditsSchema, "addCreditsSchema", {
|
|
10
|
+
amount: {
|
|
11
|
+
label: "Amount",
|
|
12
|
+
placeholder: "e.g., 100.00",
|
|
13
|
+
helpText: "Enter the amount to add to rollover credits"
|
|
14
|
+
},
|
|
15
|
+
reason: {
|
|
16
|
+
label: "Reason",
|
|
17
|
+
inputType: "textarea",
|
|
18
|
+
placeholder: "e.g., Purchase, Bonus, Refund",
|
|
19
|
+
helpText: "Optional reason for adding credits"
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
const setMonthlyAllocationSchemaWithMetadata = withMetadata(SetMonthlyAllocationSchema, "setMonthlyAllocationSchema", { amount: {
|
|
23
|
+
label: "Monthly Allocation Amount",
|
|
24
|
+
placeholder: "e.g., 200.00",
|
|
25
|
+
helpText: "This amount will be reset monthly"
|
|
26
|
+
} });
|
|
27
|
+
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region src/slices/customer/features/credit-management/AddCredits.vue
|
|
30
|
+
const _hoisted_1$3 = { class: "card bg-base-100 shadow-xl" };
|
|
31
|
+
const _hoisted_2$3 = { class: "card-body" };
|
|
32
|
+
const _hoisted_3$3 = {
|
|
33
|
+
key: 0,
|
|
34
|
+
class: "alert alert-error mb-4"
|
|
35
|
+
};
|
|
36
|
+
const _hoisted_4$3 = { class: "flex justify-center mt-6" };
|
|
37
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
38
|
+
__name: "AddCredits",
|
|
39
|
+
props: { onSuccess: {
|
|
40
|
+
type: Function,
|
|
41
|
+
default: () => {}
|
|
42
|
+
} },
|
|
43
|
+
setup(__props) {
|
|
44
|
+
const props = __props;
|
|
45
|
+
const { form, zinia, ZiniaForm, ZiniaSubmitButton, ZiniaResetButton, ZiniaFormErrorsSummary, refreshFormData } = useForm(addCreditsSchemaWithMetadata, {
|
|
46
|
+
storeName: `add-credits-form`,
|
|
47
|
+
persistToLocalStorage: false,
|
|
48
|
+
renderStyle: "daisy_ui",
|
|
49
|
+
fetchData: async () => {
|
|
50
|
+
return {
|
|
51
|
+
amount: "",
|
|
52
|
+
reason: ""
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
const { mutate: addCredits } = useMutation((api, input) => api.customer.addCredits(input), { invalidate: /^customer:credit/ });
|
|
57
|
+
const refreshCredits = inject("refreshCredits", () => {});
|
|
58
|
+
const beforeValidate = () => {
|
|
59
|
+
return true;
|
|
60
|
+
};
|
|
61
|
+
const handleSubmit = async (formData) => {
|
|
62
|
+
const result = await addCredits({
|
|
63
|
+
amount: formData.amount,
|
|
64
|
+
reason: formData.reason || void 0
|
|
65
|
+
});
|
|
66
|
+
if (!result) throw new Error("Failed to add credits");
|
|
67
|
+
return result;
|
|
68
|
+
};
|
|
69
|
+
const handleSuccess = async (_) => {
|
|
70
|
+
refreshFormData();
|
|
71
|
+
toast.success(`Added ${form.values.amount} credits!`);
|
|
72
|
+
refreshCredits();
|
|
73
|
+
props.onSuccess();
|
|
74
|
+
};
|
|
75
|
+
const handleError = (error) => {
|
|
76
|
+
form.setSubmitError(error instanceof Error ? error.message : "An unknown error occurred");
|
|
77
|
+
};
|
|
78
|
+
return (_ctx, _cache) => {
|
|
79
|
+
return openBlock(), createElementBlock("div", _hoisted_1$3, [createElementVNode("div", _hoisted_2$3, [
|
|
80
|
+
_cache[1] || (_cache[1] = createElementVNode("h3", { class: "card-title text-lg" }, "Add Credits", -1)),
|
|
81
|
+
_cache[2] || (_cache[2] = createElementVNode("p", { class: "text-sm text-base-content/70" }, "One-time credit addition (goes to rollover)", -1)),
|
|
82
|
+
createVNode(unref(ZiniaForm), {
|
|
83
|
+
onBeforeValidate: beforeValidate,
|
|
84
|
+
onHandleSubmit: handleSubmit,
|
|
85
|
+
onSuccess: handleSuccess,
|
|
86
|
+
onError: handleError,
|
|
87
|
+
title: "Add Credits",
|
|
88
|
+
subtitle: "Add one-time credits to rollover balance"
|
|
89
|
+
}, {
|
|
90
|
+
default: withCtx(() => [
|
|
91
|
+
createVNode(unref(zinia).AmountField),
|
|
92
|
+
createVNode(unref(zinia).ReasonField),
|
|
93
|
+
createCommentVNode(" Form Status Messages "),
|
|
94
|
+
unref(form).submitError ? (openBlock(), createElementBlock("div", _hoisted_3$3, [_cache[0] || (_cache[0] = createElementVNode("svg", {
|
|
95
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
96
|
+
class: "stroke-current shrink-0 h-6 w-6",
|
|
97
|
+
fill: "none",
|
|
98
|
+
viewBox: "0 0 24 24"
|
|
99
|
+
}, [createElementVNode("path", {
|
|
100
|
+
"stroke-linecap": "round",
|
|
101
|
+
"stroke-linejoin": "round",
|
|
102
|
+
"stroke-width": "2",
|
|
103
|
+
d: "M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
104
|
+
})], -1)), createElementVNode("span", null, toDisplayString(unref(form).submitError), 1)])) : createCommentVNode("v-if", true),
|
|
105
|
+
createCommentVNode(" Submit Button "),
|
|
106
|
+
createElementVNode("div", _hoisted_4$3, [createVNode(unref(ZiniaSubmitButton), {
|
|
107
|
+
submitText: "Add Credits",
|
|
108
|
+
submittingText: "Adding Credits..."
|
|
109
|
+
})]),
|
|
110
|
+
createVNode(unref(ZiniaFormErrorsSummary), { title: "Please fix the following errors:" }),
|
|
111
|
+
createVNode(unref(ZiniaResetButton))
|
|
112
|
+
]),
|
|
113
|
+
_: 1
|
|
114
|
+
})
|
|
115
|
+
])]);
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
var AddCredits_default = _sfc_main$3;
|
|
120
|
+
|
|
121
|
+
//#endregion
|
|
122
|
+
//#region src/slices/customer/features/credit-management/ResetMonthlyBalance.vue
|
|
123
|
+
const _hoisted_1$2 = { class: "card bg-base-100 shadow-xl" };
|
|
124
|
+
const _hoisted_2$2 = { class: "card-body" };
|
|
125
|
+
const _hoisted_3$2 = { class: "alert alert-warning mt-4" };
|
|
126
|
+
const _hoisted_4$2 = { class: "text-xs" };
|
|
127
|
+
const _hoisted_5 = ["disabled"];
|
|
128
|
+
const _hoisted_6 = {
|
|
129
|
+
key: 0,
|
|
130
|
+
class: "loading loading-spinner loading-sm mr-2"
|
|
131
|
+
};
|
|
132
|
+
const _hoisted_7 = {
|
|
133
|
+
key: 0,
|
|
134
|
+
class: "alert alert-error mt-2"
|
|
135
|
+
};
|
|
136
|
+
const _hoisted_8 = { class: "text-xs" };
|
|
137
|
+
const _hoisted_9 = { class: "modal-box" };
|
|
138
|
+
const _hoisted_10 = { class: "py-4" };
|
|
139
|
+
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
140
|
+
__name: "ResetMonthlyBalance",
|
|
141
|
+
props: {
|
|
142
|
+
currentMonthlyBalance: { default: "0.00" },
|
|
143
|
+
onSuccess: {
|
|
144
|
+
type: Function,
|
|
145
|
+
default: () => {}
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
setup(__props) {
|
|
149
|
+
const props = __props;
|
|
150
|
+
const confirmModal = ref(null);
|
|
151
|
+
const error = ref("");
|
|
152
|
+
const { mutate: resetBalance, loading: isResetting } = useMutation((api, _input) => api.customer.resetMonthlyBalance(), { invalidate: /^customer:credit/ });
|
|
153
|
+
const refreshCredits = inject("refreshCredits", () => {});
|
|
154
|
+
const showResetModal = () => {
|
|
155
|
+
confirmModal.value?.showModal();
|
|
156
|
+
};
|
|
157
|
+
const closeModal = () => {
|
|
158
|
+
confirmModal.value?.close();
|
|
159
|
+
};
|
|
160
|
+
const handleReset = async () => {
|
|
161
|
+
error.value = "";
|
|
162
|
+
closeModal();
|
|
163
|
+
try {
|
|
164
|
+
await resetBalance(void 0);
|
|
165
|
+
toast.success("Monthly balance reset successfully!");
|
|
166
|
+
refreshCredits();
|
|
167
|
+
props.onSuccess();
|
|
168
|
+
} catch (e) {
|
|
169
|
+
const errorMessage = e instanceof Error ? e.message : "Failed to reset balance";
|
|
170
|
+
error.value = errorMessage;
|
|
171
|
+
toast.error(errorMessage);
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
return (_ctx, _cache) => {
|
|
175
|
+
return openBlock(), createElementBlock(Fragment, null, [
|
|
176
|
+
createElementVNode("div", _hoisted_1$2, [createElementVNode("div", _hoisted_2$2, [
|
|
177
|
+
_cache[1] || (_cache[1] = createElementVNode("h3", { class: "card-title text-lg" }, "Reset Monthly Balance", -1)),
|
|
178
|
+
_cache[2] || (_cache[2] = createElementVNode("p", { class: "text-sm text-base-content/70" }, "Manually trigger monthly reset", -1)),
|
|
179
|
+
createElementVNode("div", _hoisted_3$2, [_cache[0] || (_cache[0] = createElementVNode("svg", {
|
|
180
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
181
|
+
class: "stroke-current shrink-0 h-6 w-6",
|
|
182
|
+
fill: "none",
|
|
183
|
+
viewBox: "0 0 24 24"
|
|
184
|
+
}, [createElementVNode("path", {
|
|
185
|
+
"stroke-linecap": "round",
|
|
186
|
+
"stroke-linejoin": "round",
|
|
187
|
+
"stroke-width": "2",
|
|
188
|
+
d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"
|
|
189
|
+
})], -1)), createElementVNode("span", _hoisted_4$2, "This will move current monthly balance (" + toDisplayString(__props.currentMonthlyBalance) + ") to rollover and reset to allocation amount", 1)]),
|
|
190
|
+
createElementVNode("button", {
|
|
191
|
+
class: "btn btn-warning mt-4",
|
|
192
|
+
onClick: showResetModal,
|
|
193
|
+
disabled: unref(isResetting)
|
|
194
|
+
}, [unref(isResetting) ? (openBlock(), createElementBlock("span", _hoisted_6)) : createCommentVNode("v-if", true), createTextVNode(" " + toDisplayString(unref(isResetting) ? "Resetting..." : "Reset Now"), 1)], 8, _hoisted_5),
|
|
195
|
+
error.value ? (openBlock(), createElementBlock("div", _hoisted_7, [createElementVNode("span", _hoisted_8, toDisplayString(error.value), 1)])) : createCommentVNode("v-if", true)
|
|
196
|
+
])]),
|
|
197
|
+
createCommentVNode(" Confirmation Modal "),
|
|
198
|
+
createElementVNode("dialog", {
|
|
199
|
+
ref_key: "confirmModal",
|
|
200
|
+
ref: confirmModal,
|
|
201
|
+
class: "modal"
|
|
202
|
+
}, [createElementVNode("div", _hoisted_9, [
|
|
203
|
+
_cache[3] || (_cache[3] = createElementVNode("h3", { class: "font-bold text-lg" }, "Reset Monthly Balance?", -1)),
|
|
204
|
+
createElementVNode("p", _hoisted_10, " This will move the current monthly balance (" + toDisplayString(__props.currentMonthlyBalance) + ") to rollover and reset monthly credits to the allocation amount. ", 1),
|
|
205
|
+
_cache[4] || (_cache[4] = createElementVNode("p", { class: "text-warning font-medium" }, "This action cannot be undone.", -1)),
|
|
206
|
+
createElementVNode("div", { class: "modal-action" }, [createElementVNode("button", {
|
|
207
|
+
class: "btn btn-ghost",
|
|
208
|
+
onClick: closeModal
|
|
209
|
+
}, "Cancel"), createElementVNode("button", {
|
|
210
|
+
class: "btn btn-warning",
|
|
211
|
+
onClick: handleReset
|
|
212
|
+
}, "Confirm Reset")])
|
|
213
|
+
]), createElementVNode("form", {
|
|
214
|
+
method: "dialog",
|
|
215
|
+
class: "modal-backdrop"
|
|
216
|
+
}, [createElementVNode("button", { onClick: closeModal }, "close")])], 512)
|
|
217
|
+
], 64);
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
var ResetMonthlyBalance_default = _sfc_main$2;
|
|
222
|
+
|
|
223
|
+
//#endregion
|
|
224
|
+
//#region src/slices/customer/features/credit-management/SetMonthlyAllocation.vue
|
|
225
|
+
const _hoisted_1$1 = { class: "card bg-base-100 shadow-xl" };
|
|
226
|
+
const _hoisted_2$1 = { class: "card-body" };
|
|
227
|
+
const _hoisted_3$1 = {
|
|
228
|
+
key: 0,
|
|
229
|
+
class: "alert alert-error mb-4"
|
|
230
|
+
};
|
|
231
|
+
const _hoisted_4$1 = { class: "flex justify-center mt-6" };
|
|
232
|
+
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
233
|
+
__name: "SetMonthlyAllocation",
|
|
234
|
+
props: { onSuccess: {
|
|
235
|
+
type: Function,
|
|
236
|
+
default: () => {}
|
|
237
|
+
} },
|
|
238
|
+
setup(__props) {
|
|
239
|
+
const props = __props;
|
|
240
|
+
const { form, zinia, ZiniaForm, ZiniaSubmitButton, ZiniaResetButton, ZiniaFormErrorsSummary, clearSavedFormState } = useForm(setMonthlyAllocationSchemaWithMetadata, {
|
|
241
|
+
storeName: `set-monthly-allocation-form`,
|
|
242
|
+
persistToLocalStorage: false,
|
|
243
|
+
renderStyle: "daisy_ui",
|
|
244
|
+
fetchData: async () => {
|
|
245
|
+
return { amount: "" };
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
const { mutate: setAllocation } = useMutation((api, input) => api.customer.setMonthlyAllocation(input), { invalidate: /^customer:credit/ });
|
|
249
|
+
const refreshCredits = inject("refreshCredits", () => {});
|
|
250
|
+
const beforeValidate = () => {
|
|
251
|
+
return true;
|
|
252
|
+
};
|
|
253
|
+
const handleSubmit = async (formData) => {
|
|
254
|
+
const result = await setAllocation({ amount: formData.amount });
|
|
255
|
+
if (!result) throw new Error("Failed to set monthly allocation");
|
|
256
|
+
return result;
|
|
257
|
+
};
|
|
258
|
+
const handleSuccess = async (data) => {
|
|
259
|
+
clearSavedFormState();
|
|
260
|
+
toast.success(`Monthly allocation set to ${formatDollar(data.monthly)}!`);
|
|
261
|
+
refreshCredits();
|
|
262
|
+
props.onSuccess();
|
|
263
|
+
};
|
|
264
|
+
const handleError = (error) => {
|
|
265
|
+
form.setSubmitError(error instanceof Error ? error.message : "An unknown error occurred");
|
|
266
|
+
};
|
|
267
|
+
return (_ctx, _cache) => {
|
|
268
|
+
return openBlock(), createElementBlock("div", _hoisted_1$1, [createElementVNode("div", _hoisted_2$1, [
|
|
269
|
+
_cache[2] || (_cache[2] = createElementVNode("h3", { class: "card-title text-lg" }, "Monthly Allocation", -1)),
|
|
270
|
+
_cache[3] || (_cache[3] = createElementVNode("p", { class: "text-sm text-base-content/70" }, "Set recurring monthly credit amount", -1)),
|
|
271
|
+
createVNode(unref(ZiniaForm), {
|
|
272
|
+
onBeforeValidate: beforeValidate,
|
|
273
|
+
onHandleSubmit: handleSubmit,
|
|
274
|
+
onSuccess: handleSuccess,
|
|
275
|
+
onError: handleError,
|
|
276
|
+
title: "Set Monthly Allocation",
|
|
277
|
+
subtitle: "Set the recurring monthly credit amount"
|
|
278
|
+
}, {
|
|
279
|
+
default: withCtx(() => [
|
|
280
|
+
createVNode(unref(zinia).AmountField),
|
|
281
|
+
createCommentVNode(" Information Notice "),
|
|
282
|
+
_cache[1] || (_cache[1] = createElementVNode("div", { class: "alert alert-info mb-4" }, [createElementVNode("svg", {
|
|
283
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
284
|
+
class: "stroke-current shrink-0 h-6 w-6",
|
|
285
|
+
fill: "none",
|
|
286
|
+
viewBox: "0 0 24 24"
|
|
287
|
+
}, [createElementVNode("path", {
|
|
288
|
+
"stroke-linecap": "round",
|
|
289
|
+
"stroke-linejoin": "round",
|
|
290
|
+
"stroke-width": "2",
|
|
291
|
+
d: "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
292
|
+
})]), createElementVNode("div", null, [createElementVNode("div", { class: "font-semibold" }, "Monthly Reset"), createElementVNode("div", { class: "text-sm" }, " This amount will be automatically reset each month. Any unused credits will roll over to the rollover balance. ")])], -1)),
|
|
293
|
+
createCommentVNode(" Form Status Messages "),
|
|
294
|
+
unref(form).submitError ? (openBlock(), createElementBlock("div", _hoisted_3$1, [_cache[0] || (_cache[0] = createElementVNode("svg", {
|
|
295
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
296
|
+
class: "stroke-current shrink-0 h-6 w-6",
|
|
297
|
+
fill: "none",
|
|
298
|
+
viewBox: "0 0 24 24"
|
|
299
|
+
}, [createElementVNode("path", {
|
|
300
|
+
"stroke-linecap": "round",
|
|
301
|
+
"stroke-linejoin": "round",
|
|
302
|
+
"stroke-width": "2",
|
|
303
|
+
d: "M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
304
|
+
})], -1)), createElementVNode("span", null, toDisplayString(unref(form).submitError), 1)])) : createCommentVNode("v-if", true),
|
|
305
|
+
createCommentVNode(" Submit Button "),
|
|
306
|
+
createElementVNode("div", _hoisted_4$1, [createVNode(unref(ZiniaSubmitButton), {
|
|
307
|
+
submitText: "Set Monthly Allocation",
|
|
308
|
+
submittingText: "Setting Allocation..."
|
|
309
|
+
})]),
|
|
310
|
+
createVNode(unref(ZiniaFormErrorsSummary), { title: "Please fix the following errors:" }),
|
|
311
|
+
createVNode(unref(ZiniaResetButton))
|
|
312
|
+
]),
|
|
313
|
+
_: 1
|
|
314
|
+
})
|
|
315
|
+
])]);
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
});
|
|
319
|
+
var SetMonthlyAllocation_default = _sfc_main$1;
|
|
320
|
+
|
|
321
|
+
//#endregion
|
|
322
|
+
//#region src/slices/customer/features/credit-management/CreditManagement.vue
|
|
323
|
+
const _hoisted_1 = { class: "container mx-auto py-6" };
|
|
324
|
+
const _hoisted_2 = { class: "mb-6" };
|
|
325
|
+
const _hoisted_3 = { class: "grid grid-cols-1 md:grid-cols-3 gap-6" };
|
|
326
|
+
const _hoisted_4 = { class: "mt-6" };
|
|
327
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
328
|
+
__name: "CreditManagement",
|
|
329
|
+
setup(__props) {
|
|
330
|
+
const refreshTrigger = ref(0);
|
|
331
|
+
provide("refreshCredits", () => {
|
|
332
|
+
refreshTrigger.value++;
|
|
333
|
+
});
|
|
334
|
+
provide("refreshTrigger", refreshTrigger);
|
|
335
|
+
return (_ctx, _cache) => {
|
|
336
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
337
|
+
_cache[0] || (_cache[0] = createElementVNode("h1", { class: "text-3xl font-bold mb-6" }, "Credit Management", -1)),
|
|
338
|
+
createCommentVNode(" Current Balance Overview "),
|
|
339
|
+
createElementVNode("div", _hoisted_2, [createVNode(CreditBalanceOverview_default)]),
|
|
340
|
+
createCommentVNode(" Management Actions "),
|
|
341
|
+
createElementVNode("div", _hoisted_3, [
|
|
342
|
+
createVNode(AddCredits_default),
|
|
343
|
+
createVNode(SetMonthlyAllocation_default),
|
|
344
|
+
createVNode(ResetMonthlyBalance_default)
|
|
345
|
+
]),
|
|
346
|
+
createCommentVNode(" Recent Transactions "),
|
|
347
|
+
createElementVNode("div", _hoisted_4, [createVNode(CreditTransactionHistory_default)])
|
|
348
|
+
]);
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
});
|
|
352
|
+
var CreditManagement_default = _sfc_main;
|
|
353
|
+
|
|
354
|
+
//#endregion
|
|
355
|
+
export { addCreditsSchemaWithMetadata as a, AddCredits_default as i, SetMonthlyAllocation_default as n, setMonthlyAllocationSchemaWithMetadata as o, ResetMonthlyBalance_default as r, CreditManagement_default as t };
|
|
356
|
+
//# sourceMappingURL=CreditManagement-BVBZQDI4.js.map
|