@atlashub/smartstack 3.21.0 → 3.25.0

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 (280) hide show
  1. package/dist/chunks/{AgentSkillsPage-7si3Ng8e.js → AgentSkillsPage-BWQSCYl-.js} +2 -2
  2. package/dist/chunks/{AgentSkillsPage-7si3Ng8e.js.map → AgentSkillsPage-BWQSCYl-.js.map} +1 -1
  3. package/dist/chunks/{AgentSkillsPage-D0cD1QdM.js → AgentSkillsPage-IQcMnBaD.js} +2 -2
  4. package/dist/chunks/{AgentSkillsPage-D0cD1QdM.js.map → AgentSkillsPage-IQcMnBaD.js.map} +1 -1
  5. package/dist/chunks/{AgentWorkloadPage-H_7ze33H.js → AgentWorkloadPage-DqrjkvWL.js} +2 -2
  6. package/dist/chunks/{AgentWorkloadPage-H_7ze33H.js.map → AgentWorkloadPage-DqrjkvWL.js.map} +1 -1
  7. package/dist/chunks/{AgentWorkloadPage-D4d86cdV.js → AgentWorkloadPage-w-HiyFYP.js} +2 -2
  8. package/dist/chunks/{AgentWorkloadPage-D4d86cdV.js.map → AgentWorkloadPage-w-HiyFYP.js.map} +1 -1
  9. package/dist/chunks/{ApiCatalogDetailPage-2ktkRrCb.js → ApiCatalogDetailPage-D3L8Yf4G.js} +3 -3
  10. package/dist/chunks/{ApiCatalogDetailPage-2ktkRrCb.js.map → ApiCatalogDetailPage-D3L8Yf4G.js.map} +1 -1
  11. package/dist/chunks/{ApiCatalogDetailPage-BQ53xuwD.js → ApiCatalogDetailPage-MPT3Kz6H.js} +2 -2
  12. package/dist/chunks/{ApiCatalogDetailPage-BQ53xuwD.js.map → ApiCatalogDetailPage-MPT3Kz6H.js.map} +1 -1
  13. package/dist/chunks/{ApiCatalogPage-BEqTDJz8.js → ApiCatalogPage-D4Hg3uiS.js} +2 -2
  14. package/dist/chunks/{ApiCatalogPage-BEqTDJz8.js.map → ApiCatalogPage-D4Hg3uiS.js.map} +1 -1
  15. package/dist/chunks/{ApiCatalogPage-BBkWSLI8.js → ApiCatalogPage-DRg5Cz0r.js} +2 -2
  16. package/dist/chunks/{ApiCatalogPage-BBkWSLI8.js.map → ApiCatalogPage-DRg5Cz0r.js.map} +1 -1
  17. package/dist/chunks/{ApplicationDetailPage-BYJ2YMPq.js → ApplicationDetailPage-Caizuyn2.js} +2 -2
  18. package/dist/chunks/{ApplicationDetailPage-BYJ2YMPq.js.map → ApplicationDetailPage-Caizuyn2.js.map} +1 -1
  19. package/dist/chunks/{ApplicationDetailPage-D8-bf1as.js → ApplicationDetailPage-CuCW6aMB.js} +4 -4
  20. package/dist/chunks/{ApplicationDetailPage-D8-bf1as.js.map → ApplicationDetailPage-CuCW6aMB.js.map} +1 -1
  21. package/dist/chunks/{ApplicationsDashboardPage-BBlLms2r.js → ApplicationsDashboardPage-B2MW8-Kc.js} +2 -2
  22. package/dist/chunks/{ApplicationsDashboardPage-BBlLms2r.js.map → ApplicationsDashboardPage-B2MW8-Kc.js.map} +1 -1
  23. package/dist/chunks/{ApplicationsDashboardPage-DTWZxJJM.js → ApplicationsDashboardPage-BDIjFIYZ.js} +3 -3
  24. package/dist/chunks/{ApplicationsDashboardPage-DTWZxJJM.js.map → ApplicationsDashboardPage-BDIjFIYZ.js.map} +1 -1
  25. package/dist/chunks/{ApplicationsGridPage-BQaMsK1K.js → ApplicationsGridPage-DV-FihKj.js} +2 -2
  26. package/dist/chunks/{ApplicationsGridPage-BQaMsK1K.js.map → ApplicationsGridPage-DV-FihKj.js.map} +1 -1
  27. package/dist/chunks/{ApplicationsGridPage-DbVcvezt.js → ApplicationsGridPage-DXsTfXPI.js} +2 -2
  28. package/dist/chunks/{ApplicationsGridPage-DbVcvezt.js.map → ApplicationsGridPage-DXsTfXPI.js.map} +1 -1
  29. package/dist/chunks/{ApplicationsListPage-DYKM2Yeo.js → ApplicationsListPage--CGkyBuJ.js} +2 -2
  30. package/dist/chunks/{ApplicationsListPage-DYKM2Yeo.js.map → ApplicationsListPage--CGkyBuJ.js.map} +1 -1
  31. package/dist/chunks/{ApplicationsListPage-C91v2rZt.js → ApplicationsListPage-JUX823bh.js} +2 -2
  32. package/dist/chunks/{ApplicationsListPage-C91v2rZt.js.map → ApplicationsListPage-JUX823bh.js.map} +1 -1
  33. package/dist/chunks/{ApplicationsPage-BCbgotIx.js → ApplicationsPage-6zgFye6w.js} +2 -2
  34. package/dist/chunks/{ApplicationsPage-BCbgotIx.js.map → ApplicationsPage-6zgFye6w.js.map} +1 -1
  35. package/dist/chunks/{ApplicationsPage-CW3-Hjlu.js → ApplicationsPage-CQPuuiO6.js} +4 -4
  36. package/dist/chunks/{ApplicationsPage-CW3-Hjlu.js.map → ApplicationsPage-CQPuuiO6.js.map} +1 -1
  37. package/dist/chunks/{AssignmentRulesPage-D8vfGDBN.js → AssignmentRulesPage-CFffeEbo.js} +2 -2
  38. package/dist/chunks/{AssignmentRulesPage-D8vfGDBN.js.map → AssignmentRulesPage-CFffeEbo.js.map} +1 -1
  39. package/dist/chunks/{AssignmentRulesPage-CxktlEMB.js → AssignmentRulesPage-D78UeUId.js} +2 -2
  40. package/dist/chunks/{AssignmentRulesPage-CxktlEMB.js.map → AssignmentRulesPage-D78UeUId.js.map} +1 -1
  41. package/dist/chunks/{AssignmentsPage-DmfBYQAD.js → AssignmentsPage-Cww2ifZF.js} +2 -2
  42. package/dist/chunks/{AssignmentsPage-DmfBYQAD.js.map → AssignmentsPage-Cww2ifZF.js.map} +1 -1
  43. package/dist/chunks/{AssignmentsPage-sRCCBmRc.js → AssignmentsPage-DE_QS2LO.js} +2 -2
  44. package/dist/chunks/{AssignmentsPage-sRCCBmRc.js.map → AssignmentsPage-DE_QS2LO.js.map} +1 -1
  45. package/dist/chunks/{AuthCallbackPage-C7XiZxKb.js → AuthCallbackPage-CA2nO6DG.js} +2 -2
  46. package/dist/chunks/{AuthCallbackPage-C7XiZxKb.js.map → AuthCallbackPage-CA2nO6DG.js.map} +1 -1
  47. package/dist/chunks/{AuthCallbackPage-BCe_bwJM.js → AuthCallbackPage-CDUAoX-N.js} +2 -2
  48. package/dist/chunks/{AuthCallbackPage-BCe_bwJM.js.map → AuthCallbackPage-CDUAoX-N.js.map} +1 -1
  49. package/dist/chunks/{ConfirmEmailPage-BUfGSqxF.js → ConfirmEmailPage-BqsILAYH.js} +2 -2
  50. package/dist/chunks/{ConfirmEmailPage-BUfGSqxF.js.map → ConfirmEmailPage-BqsILAYH.js.map} +1 -1
  51. package/dist/chunks/{ConfirmEmailPage-Buj4x-rx.js → ConfirmEmailPage-INeHCuMB.js} +2 -2
  52. package/dist/chunks/{ConfirmEmailPage-Buj4x-rx.js.map → ConfirmEmailPage-INeHCuMB.js.map} +1 -1
  53. package/dist/chunks/{CreateSupportTicketPage-CKDX_HQm.js → CreateSupportTicketPage-BWeuV2aU.js} +2 -2
  54. package/dist/chunks/{CreateSupportTicketPage-CKDX_HQm.js.map → CreateSupportTicketPage-BWeuV2aU.js.map} +1 -1
  55. package/dist/chunks/{CreateSupportTicketPage-0LgY-_pu.js → CreateSupportTicketPage-OBwF4v7b.js} +2 -2
  56. package/dist/chunks/{CreateSupportTicketPage-0LgY-_pu.js.map → CreateSupportTicketPage-OBwF4v7b.js.map} +1 -1
  57. package/dist/chunks/{DashboardPage-CUZ80NGV.js → DashboardPage-CKHqWrdS.js} +3 -3
  58. package/dist/chunks/{DashboardPage-CUZ80NGV.js.map → DashboardPage-CKHqWrdS.js.map} +1 -1
  59. package/dist/chunks/{DashboardPage-CaNOAstg.js → DashboardPage-COmc9b__.js} +3 -3
  60. package/dist/chunks/{DashboardPage-CaNOAstg.js.map → DashboardPage-COmc9b__.js.map} +1 -1
  61. package/dist/chunks/{DashboardPage-B48_rQFi.js → DashboardPage-CfKZHiSj.js} +2 -2
  62. package/dist/chunks/{DashboardPage-B48_rQFi.js.map → DashboardPage-CfKZHiSj.js.map} +1 -1
  63. package/dist/chunks/{DashboardPage-CUZV1J9t.js → DashboardPage-CwEZZ3jx.js} +2 -2
  64. package/dist/chunks/{DashboardPage-CUZV1J9t.js.map → DashboardPage-CwEZZ3jx.js.map} +1 -1
  65. package/dist/chunks/{EscalationConfigPage-CdzAbnGy.js → EscalationConfigPage--7lgZ0kJ.js} +2 -2
  66. package/dist/chunks/{EscalationConfigPage-CdzAbnGy.js.map → EscalationConfigPage--7lgZ0kJ.js.map} +1 -1
  67. package/dist/chunks/{EscalationConfigPage-CYGIl_e6.js → EscalationConfigPage-DPyiBcqV.js} +2 -2
  68. package/dist/chunks/{EscalationConfigPage-CYGIl_e6.js.map → EscalationConfigPage-DPyiBcqV.js.map} +1 -1
  69. package/dist/chunks/{ForceChangePasswordPage-lRpkwcX7.js → ForceChangePasswordPage-BE-6umub.js} +2 -2
  70. package/dist/chunks/{ForceChangePasswordPage-lRpkwcX7.js.map → ForceChangePasswordPage-BE-6umub.js.map} +1 -1
  71. package/dist/chunks/{ForceChangePasswordPage-CvmYAV3r.js → ForceChangePasswordPage-CnsYoWmV.js} +2 -2
  72. package/dist/chunks/{ForceChangePasswordPage-CvmYAV3r.js.map → ForceChangePasswordPage-CnsYoWmV.js.map} +1 -1
  73. package/dist/chunks/{ForgotPasswordPage-0u49E4Pw.js → ForgotPasswordPage-CSq4DnFF.js} +2 -2
  74. package/dist/chunks/{ForgotPasswordPage-0u49E4Pw.js.map → ForgotPasswordPage-CSq4DnFF.js.map} +1 -1
  75. package/dist/chunks/{ForgotPasswordPage-CxQUqKOm.js → ForgotPasswordPage-DZLVolAC.js} +2 -2
  76. package/dist/chunks/{ForgotPasswordPage-CxQUqKOm.js.map → ForgotPasswordPage-DZLVolAC.js.map} +1 -1
  77. package/dist/chunks/{GroupDetailPage-DFBvVO1S.js → GroupDetailPage-Bf9Wb_2j.js} +5 -5
  78. package/dist/chunks/{GroupDetailPage-DFBvVO1S.js.map → GroupDetailPage-Bf9Wb_2j.js.map} +1 -1
  79. package/dist/chunks/{GroupDetailPage-B2FkKrGG.js → GroupDetailPage-R-hf3rJ7.js} +2 -2
  80. package/dist/chunks/{GroupDetailPage-B2FkKrGG.js.map → GroupDetailPage-R-hf3rJ7.js.map} +1 -1
  81. package/dist/chunks/{MyAccessRequestsPage-C9IX4c0K.js → MyAccessRequestsPage-BIisvWM6.js} +2 -2
  82. package/dist/chunks/{MyAccessRequestsPage-C9IX4c0K.js.map → MyAccessRequestsPage-BIisvWM6.js.map} +1 -1
  83. package/dist/chunks/{MyAccessRequestsPage-D6pVULNM.js → MyAccessRequestsPage-BLSV7Tbx.js} +2 -2
  84. package/dist/chunks/{MyAccessRequestsPage-D6pVULNM.js.map → MyAccessRequestsPage-BLSV7Tbx.js.map} +1 -1
  85. package/dist/chunks/{MyTenantsPage-BEcYYdGR.js → MyTenantsPage-D-7k9CP1.js} +3 -3
  86. package/dist/chunks/{MyTenantsPage-BEcYYdGR.js.map → MyTenantsPage-D-7k9CP1.js.map} +1 -1
  87. package/dist/chunks/{MyTenantsPage-D9f85zjF.js → MyTenantsPage-DqGW6aDt.js} +2 -2
  88. package/dist/chunks/{MyTenantsPage-D9f85zjF.js.map → MyTenantsPage-DqGW6aDt.js.map} +1 -1
  89. package/dist/chunks/{MyTicketsPage-DJR8h6y1.js → MyTicketsPage--DgDsnZA.js} +2 -2
  90. package/dist/chunks/{MyTicketsPage-DJR8h6y1.js.map → MyTicketsPage--DgDsnZA.js.map} +1 -1
  91. package/dist/chunks/{MyTicketsPage-DiOUExKJ.js → MyTicketsPage-CqJ3Aqob.js} +2 -2
  92. package/dist/chunks/{MyTicketsPage-DiOUExKJ.js.map → MyTicketsPage-CqJ3Aqob.js.map} +1 -1
  93. package/dist/chunks/{NavigationAppsPage-CeHbxfZw.js → NavigationAppsPage-Bebis_RT.js} +2 -2
  94. package/dist/chunks/{NavigationAppsPage-CeHbxfZw.js.map → NavigationAppsPage-Bebis_RT.js.map} +1 -1
  95. package/dist/chunks/{NavigationAppsPage-If7tmCFY.js → NavigationAppsPage-THNPOAjv.js} +2 -2
  96. package/dist/chunks/{NavigationAppsPage-If7tmCFY.js.map → NavigationAppsPage-THNPOAjv.js.map} +1 -1
  97. package/dist/chunks/{NotificationsPage-C29Lln5o.js → NotificationsPage-CAbNW_Cn.js} +2 -2
  98. package/dist/chunks/{NotificationsPage-C29Lln5o.js.map → NotificationsPage-CAbNW_Cn.js.map} +1 -1
  99. package/dist/chunks/{NotificationsPage-BiaLRb0s.js → NotificationsPage-DxwizUhL.js} +2 -2
  100. package/dist/chunks/{NotificationsPage-BiaLRb0s.js.map → NotificationsPage-DxwizUhL.js.map} +1 -1
  101. package/dist/chunks/{OnboardingWizardPage-DQrBKNBq.js → OnboardingWizardPage-C6HlbJ3K.js} +2 -2
  102. package/dist/chunks/{OnboardingWizardPage-DQrBKNBq.js.map → OnboardingWizardPage-C6HlbJ3K.js.map} +1 -1
  103. package/dist/chunks/{OnboardingWizardPage-BQah4cI8.js → OnboardingWizardPage-CyC2zONO.js} +2 -2
  104. package/dist/chunks/{OnboardingWizardPage-BQah4cI8.js.map → OnboardingWizardPage-CyC2zONO.js.map} +1 -1
  105. package/dist/chunks/{PermissionDetailPage-Ckjdjvf9.js → PermissionDetailPage-BDHiNgky.js} +2 -2
  106. package/dist/chunks/{PermissionDetailPage-Ckjdjvf9.js.map → PermissionDetailPage-BDHiNgky.js.map} +1 -1
  107. package/dist/chunks/{PermissionDetailPage-Dh8v7mGj.js → PermissionDetailPage-C5K17ydY.js} +2 -2
  108. package/dist/chunks/{PermissionDetailPage-Dh8v7mGj.js.map → PermissionDetailPage-C5K17ydY.js.map} +1 -1
  109. package/dist/chunks/{PermissionsPage-l0PnY-EE.js → PermissionsPage-COI5LJPo.js} +2 -2
  110. package/dist/chunks/{PermissionsPage-l0PnY-EE.js.map → PermissionsPage-COI5LJPo.js.map} +1 -1
  111. package/dist/chunks/{PermissionsPage-DLy9U3P3.js → PermissionsPage-CkOwH2_d.js} +2 -2
  112. package/dist/chunks/{PermissionsPage-DLy9U3P3.js.map → PermissionsPage-CkOwH2_d.js.map} +1 -1
  113. package/dist/chunks/{PortalDashboardPage-DFBx38-x.js → PortalDashboardPage-CoEC4CmC.js} +2 -2
  114. package/dist/chunks/{PortalDashboardPage-DFBx38-x.js.map → PortalDashboardPage-CoEC4CmC.js.map} +1 -1
  115. package/dist/chunks/{PortalDashboardPage-rQYhrX0q.js → PortalDashboardPage-DrYymEf-.js} +2 -2
  116. package/dist/chunks/{PortalDashboardPage-rQYhrX0q.js.map → PortalDashboardPage-DrYymEf-.js.map} +1 -1
  117. package/dist/chunks/{PreferencesPage-BBu8yZQB.js → PreferencesPage-CJRaU3ba.js} +2 -2
  118. package/dist/chunks/{PreferencesPage-BBu8yZQB.js.map → PreferencesPage-CJRaU3ba.js.map} +1 -1
  119. package/dist/chunks/{PreferencesPage-B81MsNV1.js → PreferencesPage-Cqr9mAab.js} +2 -2
  120. package/dist/chunks/{PreferencesPage-B81MsNV1.js.map → PreferencesPage-Cqr9mAab.js.map} +1 -1
  121. package/dist/chunks/{ProfilePage-DDrl10zj.js → ProfilePage-BZVpg6-l.js} +2 -2
  122. package/dist/chunks/{ProfilePage-DDrl10zj.js.map → ProfilePage-BZVpg6-l.js.map} +1 -1
  123. package/dist/chunks/{ProfilePage-DPoXwdnc.js → ProfilePage-Cu_FITeL.js} +2 -2
  124. package/dist/chunks/{ProfilePage-DPoXwdnc.js.map → ProfilePage-Cu_FITeL.js.map} +1 -1
  125. package/dist/chunks/{ReferencesManagementPage-eFsKjIEK.js → ReferencesManagementPage-DUlVk9Ps.js} +3 -3
  126. package/dist/chunks/{ReferencesManagementPage-eFsKjIEK.js.map → ReferencesManagementPage-DUlVk9Ps.js.map} +1 -1
  127. package/dist/chunks/{ReferencesManagementPage-DhVsuElE.js → ReferencesManagementPage-ZCuYtqd7.js} +2 -2
  128. package/dist/chunks/{ReferencesManagementPage-DhVsuElE.js.map → ReferencesManagementPage-ZCuYtqd7.js.map} +1 -1
  129. package/dist/chunks/{RegisterPage-CiQib3-6.js → RegisterPage-C4xmVwh9.js} +2 -2
  130. package/dist/chunks/{RegisterPage-CiQib3-6.js.map → RegisterPage-C4xmVwh9.js.map} +1 -1
  131. package/dist/chunks/{RegisterPage-bXCcJD88.js → RegisterPage-DGyzoIHT.js} +2 -2
  132. package/dist/chunks/{RegisterPage-bXCcJD88.js.map → RegisterPage-DGyzoIHT.js.map} +1 -1
  133. package/dist/chunks/{ResetPasswordPage-Dqiahhnj.js → ResetPasswordPage-DqDD6VPR.js} +2 -2
  134. package/dist/chunks/{ResetPasswordPage-Dqiahhnj.js.map → ResetPasswordPage-DqDD6VPR.js.map} +1 -1
  135. package/dist/chunks/{ResetPasswordPage-CubPG3yv.js → ResetPasswordPage-Glu-aeqv.js} +2 -2
  136. package/dist/chunks/{ResetPasswordPage-CubPG3yv.js.map → ResetPasswordPage-Glu-aeqv.js.map} +1 -1
  137. package/dist/chunks/{ResolutionModal-Bg7XZmR1.js → ResolutionModal-CxjANAOP.js} +2 -2
  138. package/dist/chunks/{ResolutionModal-Bg7XZmR1.js.map → ResolutionModal-CxjANAOP.js.map} +1 -1
  139. package/dist/chunks/{ResolutionModal-DqRk_T0n.js → ResolutionModal-Duat18qV.js} +2 -2
  140. package/dist/chunks/{ResolutionModal-DqRk_T0n.js.map → ResolutionModal-Duat18qV.js.map} +1 -1
  141. package/dist/chunks/{RoleDetailPage-Blau6_4c.js → RoleDetailPage-BQffUSnt.js} +3 -3
  142. package/dist/chunks/{RoleDetailPage-Blau6_4c.js.map → RoleDetailPage-BQffUSnt.js.map} +1 -1
  143. package/dist/chunks/{RoleDetailPage-CiRVxxIP.js → RoleDetailPage-JTm5lD1_.js} +2 -2
  144. package/dist/chunks/{RoleDetailPage-CiRVxxIP.js.map → RoleDetailPage-JTm5lD1_.js.map} +1 -1
  145. package/dist/chunks/{RolesPage-Pm-RN3lP.js → RolesPage-B9rRzciI.js} +2 -2
  146. package/dist/chunks/{RolesPage-Pm-RN3lP.js.map → RolesPage-B9rRzciI.js.map} +1 -1
  147. package/dist/chunks/{RolesPage-Cb8joqdJ.js → RolesPage-BN8_zMOC.js} +2 -2
  148. package/dist/chunks/{RolesPage-Cb8joqdJ.js.map → RolesPage-BN8_zMOC.js.map} +1 -1
  149. package/dist/chunks/{SlaConfigPage-B86McKM6.js → SlaConfigPage-B7kZNig4.js} +2 -2
  150. package/dist/chunks/{SlaConfigPage-B86McKM6.js.map → SlaConfigPage-B7kZNig4.js.map} +1 -1
  151. package/dist/chunks/{SlaConfigPage-BY7gvYU6.js → SlaConfigPage-okvZfA_K.js} +2 -2
  152. package/dist/chunks/{SlaConfigPage-BY7gvYU6.js.map → SlaConfigPage-okvZfA_K.js.map} +1 -1
  153. package/dist/chunks/{SupportPermissionsPage-BYxcLMSd.js → SupportPermissionsPage-DGAPqJbl.js} +2 -2
  154. package/dist/chunks/{SupportPermissionsPage-BYxcLMSd.js.map → SupportPermissionsPage-DGAPqJbl.js.map} +1 -1
  155. package/dist/chunks/{SupportPermissionsPage-MXqXNJIZ.js → SupportPermissionsPage-Dg_wLOme.js} +2 -2
  156. package/dist/chunks/{SupportPermissionsPage-MXqXNJIZ.js.map → SupportPermissionsPage-Dg_wLOme.js.map} +1 -1
  157. package/dist/chunks/{TemplatesPage-BDguJ401.js → TemplatesPage-DT9fhlAU.js} +2 -2
  158. package/dist/chunks/{TemplatesPage-BDguJ401.js.map → TemplatesPage-DT9fhlAU.js.map} +1 -1
  159. package/dist/chunks/{TemplatesPage-DdnGgioU.js → TemplatesPage-DiEk538p.js} +2 -2
  160. package/dist/chunks/{TemplatesPage-DdnGgioU.js.map → TemplatesPage-DiEk538p.js.map} +1 -1
  161. package/dist/chunks/{TenantCard-ffwWsgFQ.js → TenantCard-BbSYk9_Z.js} +2 -2
  162. package/dist/chunks/{TenantCard-ffwWsgFQ.js.map → TenantCard-BbSYk9_Z.js.map} +1 -1
  163. package/dist/chunks/{TenantCard-CUjb6og9.js → TenantCard-CEkiKxcZ.js} +2 -2
  164. package/dist/chunks/{TenantCard-CUjb6og9.js.map → TenantCard-CEkiKxcZ.js.map} +1 -1
  165. package/dist/chunks/{TenantScopeSelector-Dz7i1I43.js → TenantScopeSelector-BWfYxvEa.js} +2 -2
  166. package/dist/chunks/{TenantScopeSelector-Dz7i1I43.js.map → TenantScopeSelector-BWfYxvEa.js.map} +1 -1
  167. package/dist/chunks/{TenantScopeSelector-Cym_Zyps.js → TenantScopeSelector-D-BKgQPV.js} +2 -2
  168. package/dist/chunks/{TenantScopeSelector-Cym_Zyps.js.map → TenantScopeSelector-D-BKgQPV.js.map} +1 -1
  169. package/dist/chunks/{TicketDetailPage-GOh9GX7E.js → TicketDetailPage-C1mNS9Up.js} +2 -2
  170. package/dist/chunks/{TicketDetailPage-GOh9GX7E.js.map → TicketDetailPage-C1mNS9Up.js.map} +1 -1
  171. package/dist/chunks/{TicketDetailPage-Du8WMyqf.js → TicketDetailPage-ieVDRh42.js} +2 -2
  172. package/dist/chunks/{TicketDetailPage-Du8WMyqf.js.map → TicketDetailPage-ieVDRh42.js.map} +1 -1
  173. package/dist/chunks/{TicketsPage-Bqd6moQy.js → TicketsPage-CnuWsnIW.js} +2 -2
  174. package/dist/chunks/{TicketsPage-Bqd6moQy.js.map → TicketsPage-CnuWsnIW.js.map} +1 -1
  175. package/dist/chunks/{TicketsPage-WdU4Bb7M.js → TicketsPage-jjyY15_D.js} +2 -2
  176. package/dist/chunks/{TicketsPage-WdU4Bb7M.js.map → TicketsPage-jjyY15_D.js.map} +1 -1
  177. package/dist/chunks/{UserCreateTicketPage-Cm1emgwR.js → UserCreateTicketPage-B8Tvf-ag.js} +2 -2
  178. package/dist/chunks/{UserCreateTicketPage-Cm1emgwR.js.map → UserCreateTicketPage-B8Tvf-ag.js.map} +1 -1
  179. package/dist/chunks/{UserCreateTicketPage-BPw-5Y_D.js → UserCreateTicketPage-DnOsDlfO.js} +2 -2
  180. package/dist/chunks/{UserCreateTicketPage-BPw-5Y_D.js.map → UserCreateTicketPage-DnOsDlfO.js.map} +1 -1
  181. package/dist/chunks/{UserDashboardPage-BP5WeXPS.js → UserDashboardPage-BrtkJ-NB.js} +2 -2
  182. package/dist/chunks/{UserDashboardPage-BP5WeXPS.js.map → UserDashboardPage-BrtkJ-NB.js.map} +1 -1
  183. package/dist/chunks/{UserDashboardPage-B53C8fUq.js → UserDashboardPage-KLB5CQP5.js} +2 -2
  184. package/dist/chunks/{UserDashboardPage-B53C8fUq.js.map → UserDashboardPage-KLB5CQP5.js.map} +1 -1
  185. package/dist/chunks/{UserDetailPage-B110bmGX.js → UserDetailPage-U7smBQoF.js} +5 -5
  186. package/dist/chunks/{UserDetailPage-B110bmGX.js.map → UserDetailPage-U7smBQoF.js.map} +1 -1
  187. package/dist/chunks/{UserDetailPage-CV2VCE46.js → UserDetailPage-_J6lcKAU.js} +2 -2
  188. package/dist/chunks/{UserDetailPage-CV2VCE46.js.map → UserDetailPage-_J6lcKAU.js.map} +1 -1
  189. package/dist/chunks/{UserTicketDetailPage-CCNJON1V.js → UserTicketDetailPage-CWoYQgH-.js} +2 -2
  190. package/dist/chunks/{UserTicketDetailPage-CCNJON1V.js.map → UserTicketDetailPage-CWoYQgH-.js.map} +1 -1
  191. package/dist/chunks/{UserTicketDetailPage-V0mLXrox.js → UserTicketDetailPage-DkufSlvZ.js} +2 -2
  192. package/dist/chunks/{UserTicketDetailPage-V0mLXrox.js.map → UserTicketDetailPage-DkufSlvZ.js.map} +1 -1
  193. package/dist/chunks/{UsersGroupsPage-CmdaU-z-.js → UsersGroupsPage-C38s2-Rq.js} +3 -3
  194. package/dist/chunks/{UsersGroupsPage-CmdaU-z-.js.map → UsersGroupsPage-C38s2-Rq.js.map} +1 -1
  195. package/dist/chunks/{UsersGroupsPage-BgfAMgEP.js → UsersGroupsPage-Dq3rAteo.js} +2 -2
  196. package/dist/chunks/{UsersGroupsPage-BgfAMgEP.js.map → UsersGroupsPage-Dq3rAteo.js.map} +1 -1
  197. package/dist/chunks/{UsersPage-Bg7033pp.js → UsersPage-B5C5KEUR.js} +2 -2
  198. package/dist/chunks/{UsersPage-Bg7033pp.js.map → UsersPage-B5C5KEUR.js.map} +1 -1
  199. package/dist/chunks/{UsersPage-TYAfwPY1.js → UsersPage-CXC9Hvq6.js} +2 -2
  200. package/dist/chunks/{UsersPage-TYAfwPY1.js.map → UsersPage-CXC9Hvq6.js.map} +1 -1
  201. package/dist/chunks/{accessRequestsApi-DZeDvzwv.js → accessRequestsApi-B-4TJ5_U.js} +2 -2
  202. package/dist/chunks/{accessRequestsApi-DZeDvzwv.js.map → accessRequestsApi-B-4TJ5_U.js.map} +1 -1
  203. package/dist/chunks/{accessRequestsApi-ZXFPCid2.js → accessRequestsApi-DZSfThpd.js} +2 -2
  204. package/dist/chunks/{accessRequestsApi-ZXFPCid2.js.map → accessRequestsApi-DZSfThpd.js.map} +1 -1
  205. package/dist/chunks/{aiApi-CsH8DXgs.js → aiApi-B20Teu2v.js} +2 -2
  206. package/dist/chunks/{aiApi-CsH8DXgs.js.map → aiApi-B20Teu2v.js.map} +1 -1
  207. package/dist/chunks/{aiApi-CVPzFTXa.js → aiApi-DMGz-RPM.js} +2 -2
  208. package/dist/chunks/{aiApi-CVPzFTXa.js.map → aiApi-DMGz-RPM.js.map} +1 -1
  209. package/dist/chunks/{applicationAnalyticsApi-B8AhFYLr.js → applicationAnalyticsApi-Bwa75Fzd.js} +2 -2
  210. package/dist/chunks/{applicationAnalyticsApi-B8AhFYLr.js.map → applicationAnalyticsApi-Bwa75Fzd.js.map} +1 -1
  211. package/dist/chunks/{applicationAnalyticsApi-Ce_1qOk-.js → applicationAnalyticsApi-CLBqRPfN.js} +2 -2
  212. package/dist/chunks/{applicationAnalyticsApi-Ce_1qOk-.js.map → applicationAnalyticsApi-CLBqRPfN.js.map} +1 -1
  213. package/dist/chunks/{groupsApi-BgCk2fsp.js → groupsApi-QzXI-5xu.js} +2 -2
  214. package/dist/chunks/{groupsApi-BgCk2fsp.js.map → groupsApi-QzXI-5xu.js.map} +1 -1
  215. package/dist/chunks/{groupsApi-BIbG665N.js → groupsApi-hB9kSWEd.js} +2 -2
  216. package/dist/chunks/{groupsApi-BIbG665N.js.map → groupsApi-hB9kSWEd.js.map} +1 -1
  217. package/dist/chunks/{index-Cb3LotuT.js → index--NGcBYUu.js} +3 -3
  218. package/dist/chunks/{index-Cb3LotuT.js.map → index--NGcBYUu.js.map} +1 -1
  219. package/dist/chunks/{index-C33zcyF4.js → index--aPwOFjF.js} +2 -2
  220. package/dist/chunks/{index-C33zcyF4.js.map → index--aPwOFjF.js.map} +1 -1
  221. package/dist/chunks/{index-sMr9qND_.js → index-0VrOtwP0.js} +2 -2
  222. package/dist/chunks/{index-sMr9qND_.js.map → index-0VrOtwP0.js.map} +1 -1
  223. package/dist/chunks/{index-DDKetfKq.js → index-37U271aw.js} +2 -2
  224. package/dist/chunks/{index-DDKetfKq.js.map → index-37U271aw.js.map} +1 -1
  225. package/dist/chunks/{index-B9fS7ir6.js → index-B7qZTuQ-.js} +2 -2
  226. package/dist/chunks/{index-B9fS7ir6.js.map → index-B7qZTuQ-.js.map} +1 -1
  227. package/dist/chunks/{index-CdjBY7L8.js → index-Bedzmqr-.js} +2 -2
  228. package/dist/chunks/{index-CdjBY7L8.js.map → index-Bedzmqr-.js.map} +1 -1
  229. package/dist/chunks/{index-CHG_O1fS.js → index-Betxo5g5.js} +2 -2
  230. package/dist/chunks/{index-CHG_O1fS.js.map → index-Betxo5g5.js.map} +1 -1
  231. package/dist/chunks/{index-jiGu-H8x.js → index-BmaJz475.js} +2 -2
  232. package/dist/chunks/{index-jiGu-H8x.js.map → index-BmaJz475.js.map} +1 -1
  233. package/dist/chunks/{index-C53JoVNk.js → index-Buhqag3v.js} +2 -2
  234. package/dist/chunks/{index-C53JoVNk.js.map → index-Buhqag3v.js.map} +1 -1
  235. package/dist/chunks/{index-DO0Rw7hX.js → index-C3VxlfKq.js} +2 -2
  236. package/dist/chunks/{index-DO0Rw7hX.js.map → index-C3VxlfKq.js.map} +1 -1
  237. package/dist/chunks/{index-CSQ60fpG.js → index-CgpRo8Oe.js} +2 -2
  238. package/dist/chunks/{index-CSQ60fpG.js.map → index-CgpRo8Oe.js.map} +1 -1
  239. package/dist/chunks/{index-B-e-ELsf.js → index-DOY0w8Iu.js} +8 -8
  240. package/dist/chunks/{index-B-e-ELsf.js.map → index-DOY0w8Iu.js.map} +1 -1
  241. package/dist/chunks/{index-D2REDIRX.js → index-DwuvIOrQ.js} +2 -2
  242. package/dist/chunks/{index-D2REDIRX.js.map → index-DwuvIOrQ.js.map} +1 -1
  243. package/dist/chunks/{index-DCcl7Qof.js → index-DzedSLdI.js} +2 -2
  244. package/dist/chunks/{index-DCcl7Qof.js.map → index-DzedSLdI.js.map} +1 -1
  245. package/dist/chunks/{index-2wUhd9Lu.js → index-IgLVXPg8.js} +10 -10
  246. package/dist/chunks/index-IgLVXPg8.js.map +1 -0
  247. package/dist/chunks/{index-CwSaRXXg.js → index-lpIzhufD.js} +1916 -1900
  248. package/dist/chunks/index-lpIzhufD.js.map +1 -0
  249. package/dist/chunks/{index-Cuwn2q-f.js → index-mLUKwbGl.js} +4 -4
  250. package/dist/chunks/{index-Cuwn2q-f.js.map → index-mLUKwbGl.js.map} +1 -1
  251. package/dist/chunks/{index-B0mk2tNY.js → index-tO6MMIFB.js} +2 -2
  252. package/dist/chunks/{index-B0mk2tNY.js.map → index-tO6MMIFB.js.map} +1 -1
  253. package/dist/chunks/{tenantIconMap-BpNANQ5s.js → tenantIconMap-BQD9byc8.js} +2 -2
  254. package/dist/chunks/{tenantIconMap-BpNANQ5s.js.map → tenantIconMap-BQD9byc8.js.map} +1 -1
  255. package/dist/chunks/{tenantIconMap-DtdUgvJO.js → tenantIconMap-CTMuSt18.js} +2 -2
  256. package/dist/chunks/{tenantIconMap-DtdUgvJO.js.map → tenantIconMap-CTMuSt18.js.map} +1 -1
  257. package/dist/chunks/{ticketingApi-Bu4rKwLl.js → ticketingApi-BNIdox5t.js} +2 -2
  258. package/dist/chunks/{ticketingApi-Bu4rKwLl.js.map → ticketingApi-BNIdox5t.js.map} +1 -1
  259. package/dist/chunks/{ticketingApi-r4Avm9iS.js → ticketingApi-J0vC_t7r.js} +2 -2
  260. package/dist/chunks/{ticketingApi-r4Avm9iS.js.map → ticketingApi-J0vC_t7r.js.map} +1 -1
  261. package/dist/chunks/{useAccessRequests-B9bF4swg.js → useAccessRequests-DCNNLnxk.js} +3 -3
  262. package/dist/chunks/{useAccessRequests-B9bF4swg.js.map → useAccessRequests-DCNNLnxk.js.map} +1 -1
  263. package/dist/chunks/{useAccessRequests-JyPUX3Om.js → useAccessRequests-DT7X4FAK.js} +2 -2
  264. package/dist/chunks/{useAccessRequests-JyPUX3Om.js.map → useAccessRequests-DT7X4FAK.js.map} +1 -1
  265. package/dist/chunks/{useUserAccessRequests-DjPQenC2.js → useUserAccessRequests-BYbmG4c7.js} +2 -2
  266. package/dist/chunks/{useUserAccessRequests-DjPQenC2.js.map → useUserAccessRequests-BYbmG4c7.js.map} +1 -1
  267. package/dist/chunks/{useUserAccessRequests-BB6FHW14.js → useUserAccessRequests-CylKxRN6.js} +2 -2
  268. package/dist/chunks/{useUserAccessRequests-BB6FHW14.js.map → useUserAccessRequests-CylKxRN6.js.map} +1 -1
  269. package/dist/hooks/useCollapsibleState.d.ts +5 -2
  270. package/dist/hooks/useCollapsibleState.d.ts.map +1 -1
  271. package/dist/i18n/config.d.ts +1 -0
  272. package/dist/i18n/config.d.ts.map +1 -1
  273. package/dist/main.d.ts +0 -1
  274. package/dist/main.d.ts.map +1 -1
  275. package/dist/smartstack.cjs +1 -1
  276. package/dist/smartstack.js +1 -1
  277. package/dist/utils/permissions.d.ts.map +1 -1
  278. package/package.json +1 -1
  279. package/dist/chunks/index-2wUhd9Lu.js.map +0 -1
  280. package/dist/chunks/index-CwSaRXXg.js.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("react-i18next"),i=require("./useUserAccessRequests-DjPQenC2.js"),x=require("./AccessRequestStatusBadge-CNTI7EDr.js"),r=require("lucide-react");function u(){const{t}=o.useTranslation("admin"),{requests:a,loading:c}=i.useUserAccessRequests(),l=[{label:t("accessRequests.stats.pending"),value:a.filter(s=>s.status==="Pending").length,color:"yellow"},{label:t("accessRequests.stats.approved"),value:a.filter(s=>s.status==="Approved").length,color:"green"},{label:t("accessRequests.stats.denied"),value:a.filter(s=>s.status==="Denied").length,color:"red"}],n={green:"bg-[var(--success-bg)] text-[var(--success-text)] border-[var(--success-border)]",yellow:"bg-[var(--warning-bg)] text-[var(--warning-text)] border-[var(--warning-border)]",red:"bg-[var(--error-bg)] text-[var(--error-text)] border-[var(--error-border)]"},d=()=>c?e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx(r.Loader2,{className:"w-8 h-8 animate-spin text-[var(--color-accent-500)]"})}):a.length===0?e.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[e.jsx(r.Inbox,{className:"w-12 h-12 text-[var(--text-secondary)] mb-4"}),e.jsx("p",{className:"text-[var(--text-secondary)]",children:t("accessRequests.noRequests")})]}):e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[var(--border-color)] text-left text-[var(--text-secondary)]",children:[e.jsx("th",{className:"px-4 py-3 font-medium",children:t("accessRequests.table.application")}),e.jsx("th",{className:"px-4 py-3 font-medium",children:t("accessRequests.table.tenant")}),e.jsx("th",{className:"px-4 py-3 font-medium",children:t("accessRequests.table.reason")}),e.jsx("th",{className:"px-4 py-3 font-medium",children:t("accessRequests.table.requestedAt")}),e.jsx("th",{className:"px-4 py-3 font-medium",children:t("accessRequests.table.status")}),e.jsx("th",{className:"px-4 py-3 font-medium",children:t("accessRequests.table.processedAt")}),e.jsx("th",{className:"px-4 py-3 font-medium",children:t("accessRequests.table.notes")})]})}),e.jsx("tbody",{className:"divide-y divide-[var(--border-color)]",children:a.map(s=>e.jsxs("tr",{className:"hover:bg-[var(--bg-tertiary)] transition-colors",children:[e.jsx("td",{className:"px-4 py-3 font-medium",children:s.applicationLabel}),e.jsx("td",{className:"px-4 py-3",children:s.tenantName||"—"}),e.jsx("td",{className:"px-4 py-3 text-[var(--text-secondary)] max-w-[200px] truncate",children:s.reason||"—"}),e.jsx("td",{className:"px-4 py-3 text-[var(--text-secondary)] whitespace-nowrap",children:new Date(s.requestedAt).toLocaleDateString()}),e.jsx("td",{className:"px-4 py-3",children:e.jsx(x.AccessRequestStatusBadge,{status:s.status})}),e.jsx("td",{className:"px-4 py-3 text-[var(--text-secondary)] whitespace-nowrap",children:s.processedAt?new Date(s.processedAt).toLocaleDateString():"—"}),e.jsx("td",{className:"px-4 py-3 text-[var(--text-secondary)] max-w-[200px] truncate",children:s.processingNotes||"—"})]},s.id))})]})});return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold",children:t("accessRequests.myRequests")}),e.jsx("p",{className:"text-[var(--text-secondary)]",children:t("accessRequests.myRequestsDescription")})]}),e.jsx("div",{className:"grid grid-cols-3 gap-4",children:l.map(s=>e.jsxs("div",{className:`card p-4 text-center border ${n[s.color]}`,children:[e.jsx("div",{className:"text-2xl font-bold",children:s.value}),e.jsx("div",{className:"text-sm opacity-80",children:s.label})]},s.label))}),e.jsx("div",{className:"bg-[var(--bg-secondary)] rounded-[var(--radius-card)] border border-[var(--border-color)]",children:d()})]})}exports.default=u;
2
- //# sourceMappingURL=MyAccessRequestsPage-C9IX4c0K.js.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("react-i18next"),i=require("./useUserAccessRequests-BYbmG4c7.js"),x=require("./AccessRequestStatusBadge-CNTI7EDr.js"),r=require("lucide-react");function u(){const{t}=o.useTranslation("admin"),{requests:a,loading:c}=i.useUserAccessRequests(),l=[{label:t("accessRequests.stats.pending"),value:a.filter(s=>s.status==="Pending").length,color:"yellow"},{label:t("accessRequests.stats.approved"),value:a.filter(s=>s.status==="Approved").length,color:"green"},{label:t("accessRequests.stats.denied"),value:a.filter(s=>s.status==="Denied").length,color:"red"}],n={green:"bg-[var(--success-bg)] text-[var(--success-text)] border-[var(--success-border)]",yellow:"bg-[var(--warning-bg)] text-[var(--warning-text)] border-[var(--warning-border)]",red:"bg-[var(--error-bg)] text-[var(--error-text)] border-[var(--error-border)]"},d=()=>c?e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx(r.Loader2,{className:"w-8 h-8 animate-spin text-[var(--color-accent-500)]"})}):a.length===0?e.jsxs("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[e.jsx(r.Inbox,{className:"w-12 h-12 text-[var(--text-secondary)] mb-4"}),e.jsx("p",{className:"text-[var(--text-secondary)]",children:t("accessRequests.noRequests")})]}):e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[var(--border-color)] text-left text-[var(--text-secondary)]",children:[e.jsx("th",{className:"px-4 py-3 font-medium",children:t("accessRequests.table.application")}),e.jsx("th",{className:"px-4 py-3 font-medium",children:t("accessRequests.table.tenant")}),e.jsx("th",{className:"px-4 py-3 font-medium",children:t("accessRequests.table.reason")}),e.jsx("th",{className:"px-4 py-3 font-medium",children:t("accessRequests.table.requestedAt")}),e.jsx("th",{className:"px-4 py-3 font-medium",children:t("accessRequests.table.status")}),e.jsx("th",{className:"px-4 py-3 font-medium",children:t("accessRequests.table.processedAt")}),e.jsx("th",{className:"px-4 py-3 font-medium",children:t("accessRequests.table.notes")})]})}),e.jsx("tbody",{className:"divide-y divide-[var(--border-color)]",children:a.map(s=>e.jsxs("tr",{className:"hover:bg-[var(--bg-tertiary)] transition-colors",children:[e.jsx("td",{className:"px-4 py-3 font-medium",children:s.applicationLabel}),e.jsx("td",{className:"px-4 py-3",children:s.tenantName||"—"}),e.jsx("td",{className:"px-4 py-3 text-[var(--text-secondary)] max-w-[200px] truncate",children:s.reason||"—"}),e.jsx("td",{className:"px-4 py-3 text-[var(--text-secondary)] whitespace-nowrap",children:new Date(s.requestedAt).toLocaleDateString()}),e.jsx("td",{className:"px-4 py-3",children:e.jsx(x.AccessRequestStatusBadge,{status:s.status})}),e.jsx("td",{className:"px-4 py-3 text-[var(--text-secondary)] whitespace-nowrap",children:s.processedAt?new Date(s.processedAt).toLocaleDateString():"—"}),e.jsx("td",{className:"px-4 py-3 text-[var(--text-secondary)] max-w-[200px] truncate",children:s.processingNotes||"—"})]},s.id))})]})});return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold",children:t("accessRequests.myRequests")}),e.jsx("p",{className:"text-[var(--text-secondary)]",children:t("accessRequests.myRequestsDescription")})]}),e.jsx("div",{className:"grid grid-cols-3 gap-4",children:l.map(s=>e.jsxs("div",{className:`card p-4 text-center border ${n[s.color]}`,children:[e.jsx("div",{className:"text-2xl font-bold",children:s.value}),e.jsx("div",{className:"text-sm opacity-80",children:s.label})]},s.label))}),e.jsx("div",{className:"bg-[var(--bg-secondary)] rounded-[var(--radius-card)] border border-[var(--border-color)]",children:d()})]})}exports.default=u;
2
+ //# sourceMappingURL=MyAccessRequestsPage-BIisvWM6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MyAccessRequestsPage-C9IX4c0K.js","sources":["../../src/pages/personal/myspace/MyAccessRequestsPage.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { useTranslation } from 'react-i18next';\r\nimport { useUserAccessRequests } from '@/hooks/useUserAccessRequests';\r\nimport { AccessRequestStatusBadge } from '@/components/platform/administration/access-requests';\r\nimport { Loader2, Inbox } from 'lucide-react';\r\n\r\nexport default function MyAccessRequestsPage(): ReactElement {\r\n const { t } = useTranslation('admin');\r\n const { requests, loading } = useUserAccessRequests();\r\n\r\n const statCards = [\r\n {\r\n label: t('accessRequests.stats.pending'),\r\n value: requests.filter(r => r.status === 'Pending').length,\r\n color: 'yellow' as const,\r\n },\r\n {\r\n label: t('accessRequests.stats.approved'),\r\n value: requests.filter(r => r.status === 'Approved').length,\r\n color: 'green' as const,\r\n },\r\n {\r\n label: t('accessRequests.stats.denied'),\r\n value: requests.filter(r => r.status === 'Denied').length,\r\n color: 'red' as const,\r\n },\r\n ];\r\n\r\n const colorClasses: Record<string, string> = {\r\n green: 'bg-[var(--success-bg)] text-[var(--success-text)] border-[var(--success-border)]',\r\n yellow: 'bg-[var(--warning-bg)] text-[var(--warning-text)] border-[var(--warning-border)]',\r\n red: 'bg-[var(--error-bg)] text-[var(--error-text)] border-[var(--error-border)]',\r\n };\r\n\r\n const getTableContent = () => {\r\n if (loading) {\r\n return (\r\n <div className=\"flex items-center justify-center py-12\">\r\n <Loader2 className=\"w-8 h-8 animate-spin text-[var(--color-accent-500)]\" />\r\n </div>\r\n );\r\n }\r\n\r\n if (requests.length === 0) {\r\n return (\r\n <div className=\"flex flex-col items-center justify-center py-12 text-center\">\r\n <Inbox className=\"w-12 h-12 text-[var(--text-secondary)] mb-4\" />\r\n <p className=\"text-[var(--text-secondary)]\">{t('accessRequests.noRequests')}</p>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div className=\"overflow-x-auto\">\r\n <table className=\"w-full text-sm\">\r\n <thead>\r\n <tr className=\"border-b border-[var(--border-color)] text-left text-[var(--text-secondary)]\">\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.application')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.tenant')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.reason')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.requestedAt')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.status')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.processedAt')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.notes')}</th>\r\n </tr>\r\n </thead>\r\n <tbody className=\"divide-y divide-[var(--border-color)]\">\r\n {requests.map((request: any) => (\r\n <tr key={request.id} className=\"hover:bg-[var(--bg-tertiary)] transition-colors\">\r\n <td className=\"px-4 py-3 font-medium\">{request.applicationLabel}</td>\r\n <td className=\"px-4 py-3\">{request.tenantName || '—'}</td>\r\n <td className=\"px-4 py-3 text-[var(--text-secondary)] max-w-[200px] truncate\">\r\n {request.reason || '—'}\r\n </td>\r\n <td className=\"px-4 py-3 text-[var(--text-secondary)] whitespace-nowrap\">\r\n {new Date(request.requestedAt).toLocaleDateString()}\r\n </td>\r\n <td className=\"px-4 py-3\">\r\n <AccessRequestStatusBadge status={request.status} />\r\n </td>\r\n <td className=\"px-4 py-3 text-[var(--text-secondary)] whitespace-nowrap\">\r\n {request.processedAt ? new Date(request.processedAt).toLocaleDateString() : '—'}\r\n </td>\r\n <td className=\"px-4 py-3 text-[var(--text-secondary)] max-w-[200px] truncate\">\r\n {request.processingNotes || '—'}\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n </div>\r\n );\r\n };\r\n\r\n return (\r\n <div className=\"space-y-6\">\r\n <div>\r\n <h1 className=\"text-2xl font-bold\">{t('accessRequests.myRequests')}</h1>\r\n <p className=\"text-[var(--text-secondary)]\">{t('accessRequests.myRequestsDescription')}</p>\r\n </div>\r\n\r\n {/* Stats */}\r\n <div className=\"grid grid-cols-3 gap-4\">\r\n {statCards.map((stat) => (\r\n <div key={stat.label} className={`card p-4 text-center border ${colorClasses[stat.color]}`}>\r\n <div className=\"text-2xl font-bold\">{stat.value}</div>\r\n <div className=\"text-sm opacity-80\">{stat.label}</div>\r\n </div>\r\n ))}\r\n </div>\r\n\r\n {/* Requests Table */}\r\n <div className=\"bg-[var(--bg-secondary)] rounded-[var(--radius-card)] border border-[var(--border-color)]\">\r\n {getTableContent()}\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["MyAccessRequestsPage","useTranslation","requests","loading","useUserAccessRequests","statCards","r","colorClasses","getTableContent","jsx","Loader2","jsxs","Inbox","request","AccessRequestStatusBadge","stat"],"mappings":"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"}
1
+ {"version":3,"file":"MyAccessRequestsPage-BIisvWM6.js","sources":["../../src/pages/personal/myspace/MyAccessRequestsPage.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { useTranslation } from 'react-i18next';\r\nimport { useUserAccessRequests } from '@/hooks/useUserAccessRequests';\r\nimport { AccessRequestStatusBadge } from '@/components/platform/administration/access-requests';\r\nimport { Loader2, Inbox } from 'lucide-react';\r\n\r\nexport default function MyAccessRequestsPage(): ReactElement {\r\n const { t } = useTranslation('admin');\r\n const { requests, loading } = useUserAccessRequests();\r\n\r\n const statCards = [\r\n {\r\n label: t('accessRequests.stats.pending'),\r\n value: requests.filter(r => r.status === 'Pending').length,\r\n color: 'yellow' as const,\r\n },\r\n {\r\n label: t('accessRequests.stats.approved'),\r\n value: requests.filter(r => r.status === 'Approved').length,\r\n color: 'green' as const,\r\n },\r\n {\r\n label: t('accessRequests.stats.denied'),\r\n value: requests.filter(r => r.status === 'Denied').length,\r\n color: 'red' as const,\r\n },\r\n ];\r\n\r\n const colorClasses: Record<string, string> = {\r\n green: 'bg-[var(--success-bg)] text-[var(--success-text)] border-[var(--success-border)]',\r\n yellow: 'bg-[var(--warning-bg)] text-[var(--warning-text)] border-[var(--warning-border)]',\r\n red: 'bg-[var(--error-bg)] text-[var(--error-text)] border-[var(--error-border)]',\r\n };\r\n\r\n const getTableContent = () => {\r\n if (loading) {\r\n return (\r\n <div className=\"flex items-center justify-center py-12\">\r\n <Loader2 className=\"w-8 h-8 animate-spin text-[var(--color-accent-500)]\" />\r\n </div>\r\n );\r\n }\r\n\r\n if (requests.length === 0) {\r\n return (\r\n <div className=\"flex flex-col items-center justify-center py-12 text-center\">\r\n <Inbox className=\"w-12 h-12 text-[var(--text-secondary)] mb-4\" />\r\n <p className=\"text-[var(--text-secondary)]\">{t('accessRequests.noRequests')}</p>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div className=\"overflow-x-auto\">\r\n <table className=\"w-full text-sm\">\r\n <thead>\r\n <tr className=\"border-b border-[var(--border-color)] text-left text-[var(--text-secondary)]\">\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.application')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.tenant')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.reason')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.requestedAt')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.status')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.processedAt')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.notes')}</th>\r\n </tr>\r\n </thead>\r\n <tbody className=\"divide-y divide-[var(--border-color)]\">\r\n {requests.map((request: any) => (\r\n <tr key={request.id} className=\"hover:bg-[var(--bg-tertiary)] transition-colors\">\r\n <td className=\"px-4 py-3 font-medium\">{request.applicationLabel}</td>\r\n <td className=\"px-4 py-3\">{request.tenantName || '—'}</td>\r\n <td className=\"px-4 py-3 text-[var(--text-secondary)] max-w-[200px] truncate\">\r\n {request.reason || '—'}\r\n </td>\r\n <td className=\"px-4 py-3 text-[var(--text-secondary)] whitespace-nowrap\">\r\n {new Date(request.requestedAt).toLocaleDateString()}\r\n </td>\r\n <td className=\"px-4 py-3\">\r\n <AccessRequestStatusBadge status={request.status} />\r\n </td>\r\n <td className=\"px-4 py-3 text-[var(--text-secondary)] whitespace-nowrap\">\r\n {request.processedAt ? new Date(request.processedAt).toLocaleDateString() : '—'}\r\n </td>\r\n <td className=\"px-4 py-3 text-[var(--text-secondary)] max-w-[200px] truncate\">\r\n {request.processingNotes || '—'}\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n </div>\r\n );\r\n };\r\n\r\n return (\r\n <div className=\"space-y-6\">\r\n <div>\r\n <h1 className=\"text-2xl font-bold\">{t('accessRequests.myRequests')}</h1>\r\n <p className=\"text-[var(--text-secondary)]\">{t('accessRequests.myRequestsDescription')}</p>\r\n </div>\r\n\r\n {/* Stats */}\r\n <div className=\"grid grid-cols-3 gap-4\">\r\n {statCards.map((stat) => (\r\n <div key={stat.label} className={`card p-4 text-center border ${colorClasses[stat.color]}`}>\r\n <div className=\"text-2xl font-bold\">{stat.value}</div>\r\n <div className=\"text-sm opacity-80\">{stat.label}</div>\r\n </div>\r\n ))}\r\n </div>\r\n\r\n {/* Requests Table */}\r\n <div className=\"bg-[var(--bg-secondary)] rounded-[var(--radius-card)] border border-[var(--border-color)]\">\r\n {getTableContent()}\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["MyAccessRequestsPage","useTranslation","requests","loading","useUserAccessRequests","statCards","r","colorClasses","getTableContent","jsx","Loader2","jsxs","Inbox","request","AccessRequestStatusBadge","stat"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsxs as a, jsx as e } from "react/jsx-runtime";
2
2
  import { useTranslation as o } from "react-i18next";
3
- import { u as i } from "./useUserAccessRequests-BB6FHW14.js";
3
+ import { u as i } from "./useUserAccessRequests-CylKxRN6.js";
4
4
  import { A as m } from "./AccessRequestStatusBadge-CjkJPKuE.js";
5
5
  import { Loader2 as p, Inbox as x } from "lucide-react";
6
6
  function N() {
@@ -62,4 +62,4 @@ function N() {
62
62
  export {
63
63
  N as default
64
64
  };
65
- //# sourceMappingURL=MyAccessRequestsPage-D6pVULNM.js.map
65
+ //# sourceMappingURL=MyAccessRequestsPage-BLSV7Tbx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MyAccessRequestsPage-D6pVULNM.js","sources":["../../src/pages/personal/myspace/MyAccessRequestsPage.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { useTranslation } from 'react-i18next';\r\nimport { useUserAccessRequests } from '@/hooks/useUserAccessRequests';\r\nimport { AccessRequestStatusBadge } from '@/components/platform/administration/access-requests';\r\nimport { Loader2, Inbox } from 'lucide-react';\r\n\r\nexport default function MyAccessRequestsPage(): ReactElement {\r\n const { t } = useTranslation('admin');\r\n const { requests, loading } = useUserAccessRequests();\r\n\r\n const statCards = [\r\n {\r\n label: t('accessRequests.stats.pending'),\r\n value: requests.filter(r => r.status === 'Pending').length,\r\n color: 'yellow' as const,\r\n },\r\n {\r\n label: t('accessRequests.stats.approved'),\r\n value: requests.filter(r => r.status === 'Approved').length,\r\n color: 'green' as const,\r\n },\r\n {\r\n label: t('accessRequests.stats.denied'),\r\n value: requests.filter(r => r.status === 'Denied').length,\r\n color: 'red' as const,\r\n },\r\n ];\r\n\r\n const colorClasses: Record<string, string> = {\r\n green: 'bg-[var(--success-bg)] text-[var(--success-text)] border-[var(--success-border)]',\r\n yellow: 'bg-[var(--warning-bg)] text-[var(--warning-text)] border-[var(--warning-border)]',\r\n red: 'bg-[var(--error-bg)] text-[var(--error-text)] border-[var(--error-border)]',\r\n };\r\n\r\n const getTableContent = () => {\r\n if (loading) {\r\n return (\r\n <div className=\"flex items-center justify-center py-12\">\r\n <Loader2 className=\"w-8 h-8 animate-spin text-[var(--color-accent-500)]\" />\r\n </div>\r\n );\r\n }\r\n\r\n if (requests.length === 0) {\r\n return (\r\n <div className=\"flex flex-col items-center justify-center py-12 text-center\">\r\n <Inbox className=\"w-12 h-12 text-[var(--text-secondary)] mb-4\" />\r\n <p className=\"text-[var(--text-secondary)]\">{t('accessRequests.noRequests')}</p>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div className=\"overflow-x-auto\">\r\n <table className=\"w-full text-sm\">\r\n <thead>\r\n <tr className=\"border-b border-[var(--border-color)] text-left text-[var(--text-secondary)]\">\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.application')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.tenant')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.reason')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.requestedAt')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.status')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.processedAt')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.notes')}</th>\r\n </tr>\r\n </thead>\r\n <tbody className=\"divide-y divide-[var(--border-color)]\">\r\n {requests.map((request: any) => (\r\n <tr key={request.id} className=\"hover:bg-[var(--bg-tertiary)] transition-colors\">\r\n <td className=\"px-4 py-3 font-medium\">{request.applicationLabel}</td>\r\n <td className=\"px-4 py-3\">{request.tenantName || '—'}</td>\r\n <td className=\"px-4 py-3 text-[var(--text-secondary)] max-w-[200px] truncate\">\r\n {request.reason || '—'}\r\n </td>\r\n <td className=\"px-4 py-3 text-[var(--text-secondary)] whitespace-nowrap\">\r\n {new Date(request.requestedAt).toLocaleDateString()}\r\n </td>\r\n <td className=\"px-4 py-3\">\r\n <AccessRequestStatusBadge status={request.status} />\r\n </td>\r\n <td className=\"px-4 py-3 text-[var(--text-secondary)] whitespace-nowrap\">\r\n {request.processedAt ? new Date(request.processedAt).toLocaleDateString() : '—'}\r\n </td>\r\n <td className=\"px-4 py-3 text-[var(--text-secondary)] max-w-[200px] truncate\">\r\n {request.processingNotes || '—'}\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n </div>\r\n );\r\n };\r\n\r\n return (\r\n <div className=\"space-y-6\">\r\n <div>\r\n <h1 className=\"text-2xl font-bold\">{t('accessRequests.myRequests')}</h1>\r\n <p className=\"text-[var(--text-secondary)]\">{t('accessRequests.myRequestsDescription')}</p>\r\n </div>\r\n\r\n {/* Stats */}\r\n <div className=\"grid grid-cols-3 gap-4\">\r\n {statCards.map((stat) => (\r\n <div key={stat.label} className={`card p-4 text-center border ${colorClasses[stat.color]}`}>\r\n <div className=\"text-2xl font-bold\">{stat.value}</div>\r\n <div className=\"text-sm opacity-80\">{stat.label}</div>\r\n </div>\r\n ))}\r\n </div>\r\n\r\n {/* Requests Table */}\r\n <div className=\"bg-[var(--bg-secondary)] rounded-[var(--radius-card)] border border-[var(--border-color)]\">\r\n {getTableContent()}\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["MyAccessRequestsPage","useTranslation","requests","loading","useUserAccessRequests","statCards","r","colorClasses","getTableContent","jsx","Loader2","jsxs","Inbox","request","AccessRequestStatusBadge","stat"],"mappings":"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"}
1
+ {"version":3,"file":"MyAccessRequestsPage-BLSV7Tbx.js","sources":["../../src/pages/personal/myspace/MyAccessRequestsPage.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { useTranslation } from 'react-i18next';\r\nimport { useUserAccessRequests } from '@/hooks/useUserAccessRequests';\r\nimport { AccessRequestStatusBadge } from '@/components/platform/administration/access-requests';\r\nimport { Loader2, Inbox } from 'lucide-react';\r\n\r\nexport default function MyAccessRequestsPage(): ReactElement {\r\n const { t } = useTranslation('admin');\r\n const { requests, loading } = useUserAccessRequests();\r\n\r\n const statCards = [\r\n {\r\n label: t('accessRequests.stats.pending'),\r\n value: requests.filter(r => r.status === 'Pending').length,\r\n color: 'yellow' as const,\r\n },\r\n {\r\n label: t('accessRequests.stats.approved'),\r\n value: requests.filter(r => r.status === 'Approved').length,\r\n color: 'green' as const,\r\n },\r\n {\r\n label: t('accessRequests.stats.denied'),\r\n value: requests.filter(r => r.status === 'Denied').length,\r\n color: 'red' as const,\r\n },\r\n ];\r\n\r\n const colorClasses: Record<string, string> = {\r\n green: 'bg-[var(--success-bg)] text-[var(--success-text)] border-[var(--success-border)]',\r\n yellow: 'bg-[var(--warning-bg)] text-[var(--warning-text)] border-[var(--warning-border)]',\r\n red: 'bg-[var(--error-bg)] text-[var(--error-text)] border-[var(--error-border)]',\r\n };\r\n\r\n const getTableContent = () => {\r\n if (loading) {\r\n return (\r\n <div className=\"flex items-center justify-center py-12\">\r\n <Loader2 className=\"w-8 h-8 animate-spin text-[var(--color-accent-500)]\" />\r\n </div>\r\n );\r\n }\r\n\r\n if (requests.length === 0) {\r\n return (\r\n <div className=\"flex flex-col items-center justify-center py-12 text-center\">\r\n <Inbox className=\"w-12 h-12 text-[var(--text-secondary)] mb-4\" />\r\n <p className=\"text-[var(--text-secondary)]\">{t('accessRequests.noRequests')}</p>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div className=\"overflow-x-auto\">\r\n <table className=\"w-full text-sm\">\r\n <thead>\r\n <tr className=\"border-b border-[var(--border-color)] text-left text-[var(--text-secondary)]\">\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.application')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.tenant')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.reason')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.requestedAt')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.status')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.processedAt')}</th>\r\n <th className=\"px-4 py-3 font-medium\">{t('accessRequests.table.notes')}</th>\r\n </tr>\r\n </thead>\r\n <tbody className=\"divide-y divide-[var(--border-color)]\">\r\n {requests.map((request: any) => (\r\n <tr key={request.id} className=\"hover:bg-[var(--bg-tertiary)] transition-colors\">\r\n <td className=\"px-4 py-3 font-medium\">{request.applicationLabel}</td>\r\n <td className=\"px-4 py-3\">{request.tenantName || '—'}</td>\r\n <td className=\"px-4 py-3 text-[var(--text-secondary)] max-w-[200px] truncate\">\r\n {request.reason || '—'}\r\n </td>\r\n <td className=\"px-4 py-3 text-[var(--text-secondary)] whitespace-nowrap\">\r\n {new Date(request.requestedAt).toLocaleDateString()}\r\n </td>\r\n <td className=\"px-4 py-3\">\r\n <AccessRequestStatusBadge status={request.status} />\r\n </td>\r\n <td className=\"px-4 py-3 text-[var(--text-secondary)] whitespace-nowrap\">\r\n {request.processedAt ? new Date(request.processedAt).toLocaleDateString() : '—'}\r\n </td>\r\n <td className=\"px-4 py-3 text-[var(--text-secondary)] max-w-[200px] truncate\">\r\n {request.processingNotes || '—'}\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n </div>\r\n );\r\n };\r\n\r\n return (\r\n <div className=\"space-y-6\">\r\n <div>\r\n <h1 className=\"text-2xl font-bold\">{t('accessRequests.myRequests')}</h1>\r\n <p className=\"text-[var(--text-secondary)]\">{t('accessRequests.myRequestsDescription')}</p>\r\n </div>\r\n\r\n {/* Stats */}\r\n <div className=\"grid grid-cols-3 gap-4\">\r\n {statCards.map((stat) => (\r\n <div key={stat.label} className={`card p-4 text-center border ${colorClasses[stat.color]}`}>\r\n <div className=\"text-2xl font-bold\">{stat.value}</div>\r\n <div className=\"text-sm opacity-80\">{stat.label}</div>\r\n </div>\r\n ))}\r\n </div>\r\n\r\n {/* Requests Table */}\r\n <div className=\"bg-[var(--bg-secondary)] rounded-[var(--radius-card)] border border-[var(--border-color)]\">\r\n {getTableContent()}\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["MyAccessRequestsPage","useTranslation","requests","loading","useUserAccessRequests","statCards","r","colorClasses","getTableContent","jsx","Loader2","jsxs","Inbox","request","AccessRequestStatusBadge","stat"],"mappings":"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"}
@@ -3,8 +3,8 @@ import { useCallback as i } from "react";
3
3
  import { useNavigate as B } from "react-router-dom";
4
4
  import { useTranslation as S } from "react-i18next";
5
5
  import { Star as u, Globe as M, Building2 as g, User as k, AlertCircle as W, Layers as j } from "lucide-react";
6
- import { a as R, ad as E } from "./index-CwSaRXXg.js";
7
- import { T as v } from "./TenantCard-ffwWsgFQ.js";
6
+ import { a as R, ad as E } from "./index-lpIzhufD.js";
7
+ import { T as v } from "./TenantCard-BbSYk9_Z.js";
8
8
  function U() {
9
9
  const { t: r } = S("navigation"), l = B(), {
10
10
  currentTenant: o,
@@ -183,4 +183,4 @@ export {
183
183
  U as MyTenantsPage,
184
184
  U as default
185
185
  };
186
- //# sourceMappingURL=MyTenantsPage-BEcYYdGR.js.map
186
+ //# sourceMappingURL=MyTenantsPage-D-7k9CP1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MyTenantsPage-BEcYYdGR.js","sources":["../../src/pages/personal/myspace/MyTenantsPage.tsx"],"sourcesContent":["import { useCallback } from 'react';\r\nimport type { ReactElement } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Building2, User, AlertCircle, Globe, Star, Layers } from 'lucide-react';\r\nimport { useTenant } from '@/contexts/TenantContext';\r\nimport { useFeatureConfig } from '@/contexts/FeatureConfigContext';\r\nimport { TenantCard } from '@/components/tenants/TenantCard';\r\n\r\nexport function MyTenantsPage(): ReactElement {\r\n const { t } = useTranslation('navigation');\r\n const navigate = useNavigate();\r\n const {\r\n currentTenant,\r\n userTenants,\r\n b2bTenants,\r\n personalTenant,\r\n switchTenant,\r\n setDefaultTenant,\r\n clearDefaultTenant,\r\n isLoading,\r\n hasGlobalRoles\r\n } = useTenant();\r\n const { enableB2C } = useFeatureConfig();\r\n\r\n const isGlobalDefault = !userTenants.some(t => t.isDefault);\r\n\r\n const handleEnterTenant = useCallback(async (tenantId: string) => {\r\n try {\r\n await switchTenant(tenantId);\r\n navigate('/myspace');\r\n } catch (error) {\r\n console.error('Failed to switch tenant:', error);\r\n }\r\n }, [switchTenant, navigate]);\r\n\r\n const handleSetDefault = useCallback(async (tenantId: string) => {\r\n try {\r\n await setDefaultTenant(tenantId);\r\n } catch (error) {\r\n console.error('Failed to set default tenant:', error);\r\n }\r\n }, [setDefaultTenant]);\r\n\r\n const handleClearDefault = useCallback(async () => {\r\n try {\r\n await clearDefaultTenant();\r\n } catch (error) {\r\n console.error('Failed to clear default tenant:', error);\r\n }\r\n }, [clearDefaultTenant]);\r\n\r\n const handleManageTenant = useCallback((tenantId: string) => {\r\n navigate(`/administration/tenants/${tenantId}`);\r\n }, [navigate]);\r\n\r\n if (isLoading) {\r\n return (\r\n <div className=\"flex items-center justify-center min-h-[400px]\">\r\n <div className=\"animate-spin rounded-full h-8 w-8 border-b-2 border-[var(--color-accent-500)]\" />\r\n </div>\r\n );\r\n }\r\n\r\n const defaultTenant = userTenants.find(t => t.isDefault);\r\n const otherTenants = userTenants.filter(t => t.type !== 'Business' && t.type !== 'Personal');\r\n\r\n return (\r\n <div className=\"space-y-8\">\r\n {/* Header */}\r\n <div>\r\n <h1 className=\"text-2xl font-bold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.title', 'My Workspaces')}\r\n </h1>\r\n <p className=\"text-[var(--text-secondary)] mt-1\">\r\n {t('myspace.tenants.description', 'Manage your workspace access and set your default workspace')}\r\n </p>\r\n </div>\r\n\r\n {/* Default Preference Section */}\r\n <section>\r\n <div className=\"flex items-center gap-2 mb-4\">\r\n <Star className=\"w-5 h-5 text-amber-500\" />\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.defaultPreference.title', 'Default Preference')}\r\n </h2>\r\n </div>\r\n\r\n <div className=\"grid grid-cols-1 sm:grid-cols-2 gap-4 max-w-2xl\">\r\n {/* Global option - only for global admins (Super Administrator / Platform Administrator) */}\r\n {hasGlobalRoles && (\r\n <button\r\n onClick={!isGlobalDefault ? handleClearDefault : undefined}\r\n disabled={isGlobalDefault}\r\n className={`relative text-left p-5 bg-[var(--bg-card)] border overflow-hidden transition-all duration-200 ${\r\n isGlobalDefault\r\n ? 'border-[var(--color-accent-500)] ring-2 ring-[var(--color-accent-500)]/20'\r\n : 'border-[var(--border-color)] hover:border-[var(--color-accent-300)] cursor-pointer'\r\n }`}\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <div className=\"flex items-start gap-3\">\r\n <div className=\"w-12 h-12 rounded-xl flex items-center justify-center bg-gradient-to-br from-emerald-500/20 to-emerald-600/20\">\r\n <Globe className=\"w-6 h-6 text-emerald-500\" />\r\n </div>\r\n <div className=\"flex-1 min-w-0\">\r\n <div className=\"flex items-center gap-2\">\r\n <h3 className=\"font-semibold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.defaultPreference.global', 'Global')}\r\n </h3>\r\n {isGlobalDefault && (\r\n <span className=\"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-full bg-[var(--color-accent-500)]/10 text-[var(--color-accent-600)]\">\r\n <Star className=\"w-3 h-3 fill-current\" />\r\n {t('tenants.default', 'Default')}\r\n </span>\r\n )}\r\n </div>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('myspace.tenants.defaultPreference.globalDescription', 'No specific workspace on login — choose each time')}\r\n </p>\r\n </div>\r\n </div>\r\n </button>\r\n )}\r\n\r\n {/* Current default tenant summary */}\r\n {defaultTenant && (\r\n <div\r\n className=\"relative p-5 bg-[var(--bg-card)] border border-[var(--color-accent-500)] ring-2 ring-[var(--color-accent-500)]/20 overflow-hidden\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <div className=\"flex items-start gap-3\">\r\n <div className={`w-12 h-12 rounded-xl flex items-center justify-center ${\r\n defaultTenant.type === 'Business'\r\n ? 'bg-gradient-to-br from-blue-500/20 to-blue-600/20'\r\n : 'bg-gradient-to-br from-violet-500/20 to-violet-600/20'\r\n }`}>\r\n {defaultTenant.type === 'Business' ? (\r\n <Building2 className=\"w-6 h-6 text-blue-500\" />\r\n ) : (\r\n <User className=\"w-6 h-6 text-violet-500\" />\r\n )}\r\n </div>\r\n <div className=\"flex-1 min-w-0\">\r\n <div className=\"flex items-center gap-2\">\r\n <h3 className=\"font-semibold text-[var(--text-primary)] truncate\">\r\n {defaultTenant.name}\r\n </h3>\r\n <span className=\"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-full bg-[var(--color-accent-500)]/10 text-[var(--color-accent-600)]\">\r\n <Star className=\"w-3 h-3 fill-current\" />\r\n {t('tenants.default', 'Default')}\r\n </span>\r\n </div>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('myspace.tenants.defaultPreference.specificDescription', 'Auto-connect to this workspace on login')}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </section>\r\n\r\n {/* B2B Tenants Section */}\r\n {b2bTenants.length > 0 && (\r\n <section>\r\n <div className=\"flex items-center gap-2 mb-4\">\r\n <Building2 className=\"w-5 h-5 text-blue-500\" />\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.b2b.title', 'Professional Workspaces')}\r\n </h2>\r\n <span className=\"px-2 py-0.5 text-xs font-medium rounded-full bg-blue-500/10 text-blue-600\">\r\n B2B\r\n </span>\r\n </div>\r\n\r\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4\">\r\n {b2bTenants.map((tenant) => (\r\n <TenantCard\r\n key={tenant.id}\r\n tenant={tenant}\r\n isSelected={currentTenant?.id === tenant.id}\r\n onSetDefault={() => handleSetDefault(tenant.id)}\r\n onEnter={() => handleEnterTenant(tenant.id)}\r\n onManage={tenant.isOwner ? () => handleManageTenant(tenant.id) : undefined}\r\n />\r\n ))}\r\n </div>\r\n </section>\r\n )}\r\n\r\n {/* Personal Tenant Section - only show if B2C is enabled */}\r\n {enableB2C && (\r\n <section>\r\n <div className=\"flex items-center gap-2 mb-4\">\r\n <User className=\"w-5 h-5 text-violet-500\" />\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.personal.title', 'Personal Workspace')}\r\n </h2>\r\n <span className=\"px-2 py-0.5 text-xs font-medium rounded-full bg-violet-500/10 text-violet-600\">\r\n B2C\r\n </span>\r\n </div>\r\n\r\n {personalTenant ? (\r\n <div className=\"max-w-md\">\r\n <TenantCard\r\n tenant={personalTenant}\r\n isSelected={currentTenant?.id === personalTenant.id}\r\n onSetDefault={() => handleSetDefault(personalTenant.id)}\r\n onEnter={() => handleEnterTenant(personalTenant.id)}\r\n />\r\n </div>\r\n ) : (\r\n <div\r\n className=\"flex items-start gap-3 p-4 bg-[var(--warning-bg)] border border-[var(--warning-border)]\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <AlertCircle className=\"w-5 h-5 text-[var(--warning-text)] flex-shrink-0 mt-0.5\" />\r\n <div>\r\n <p className=\"font-medium text-[var(--warning-text)]\">\r\n {t('myspace.tenants.personal.noWorkspace', 'No personal workspace')}\r\n </p>\r\n <p className=\"text-sm text-[var(--warning-text)] opacity-80 mt-1\">\r\n {t(\r\n 'myspace.tenants.personal.noWorkspaceDescription',\r\n 'Your personal workspace will be created automatically when you first access the platform.'\r\n )}\r\n </p>\r\n </div>\r\n </div>\r\n )}\r\n </section>\r\n )}\r\n\r\n {/* Other Tenants Section */}\r\n {otherTenants.length > 0 && (\r\n <section>\r\n <div className=\"flex items-center gap-2 mb-4\">\r\n <Layers className=\"w-5 h-5 text-gray-500\" />\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.other.title', 'Other Workspaces')}\r\n </h2>\r\n </div>\r\n\r\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4\">\r\n {otherTenants.map((tenant) => (\r\n <TenantCard\r\n key={tenant.id}\r\n tenant={tenant}\r\n isSelected={currentTenant?.id === tenant.id}\r\n onSetDefault={() => handleSetDefault(tenant.id)}\r\n onEnter={() => handleEnterTenant(tenant.id)}\r\n onManage={tenant.isOwner ? () => handleManageTenant(tenant.id) : undefined}\r\n />\r\n ))}\r\n </div>\r\n </section>\r\n )}\r\n\r\n {/* Empty state */}\r\n {b2bTenants.length === 0 && !personalTenant && otherTenants.length === 0 && (\r\n <div\r\n className=\"text-center py-12 px-6 bg-[var(--bg-card)] border border-[var(--border-color)]\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <Building2 className=\"w-12 h-12 text-[var(--text-tertiary)] mx-auto mb-4\" />\r\n <h3 className=\"text-lg font-medium text-[var(--text-primary)] mb-2\">\r\n {t('myspace.tenants.empty.title', 'No workspaces available')}\r\n </h3>\r\n <p className=\"text-[var(--text-secondary)] max-w-md mx-auto\">\r\n {t(\r\n 'myspace.tenants.empty.description',\r\n 'You don\\'t have access to any workspace yet. Contact your administrator to get access.'\r\n )}\r\n </p>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nexport default MyTenantsPage;\r\n"],"names":["MyTenantsPage","t","useTranslation","navigate","useNavigate","currentTenant","userTenants","b2bTenants","personalTenant","switchTenant","setDefaultTenant","clearDefaultTenant","isLoading","hasGlobalRoles","useTenant","enableB2C","useFeatureConfig","isGlobalDefault","handleEnterTenant","useCallback","tenantId","error","handleSetDefault","handleClearDefault","handleManageTenant","jsx","defaultTenant","otherTenants","jsxs","Star","Globe","Building2","User","tenant","TenantCard","AlertCircle","Layers"],"mappings":"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"}
1
+ {"version":3,"file":"MyTenantsPage-D-7k9CP1.js","sources":["../../src/pages/personal/myspace/MyTenantsPage.tsx"],"sourcesContent":["import { useCallback } from 'react';\r\nimport type { ReactElement } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Building2, User, AlertCircle, Globe, Star, Layers } from 'lucide-react';\r\nimport { useTenant } from '@/contexts/TenantContext';\r\nimport { useFeatureConfig } from '@/contexts/FeatureConfigContext';\r\nimport { TenantCard } from '@/components/tenants/TenantCard';\r\n\r\nexport function MyTenantsPage(): ReactElement {\r\n const { t } = useTranslation('navigation');\r\n const navigate = useNavigate();\r\n const {\r\n currentTenant,\r\n userTenants,\r\n b2bTenants,\r\n personalTenant,\r\n switchTenant,\r\n setDefaultTenant,\r\n clearDefaultTenant,\r\n isLoading,\r\n hasGlobalRoles\r\n } = useTenant();\r\n const { enableB2C } = useFeatureConfig();\r\n\r\n const isGlobalDefault = !userTenants.some(t => t.isDefault);\r\n\r\n const handleEnterTenant = useCallback(async (tenantId: string) => {\r\n try {\r\n await switchTenant(tenantId);\r\n navigate('/myspace');\r\n } catch (error) {\r\n console.error('Failed to switch tenant:', error);\r\n }\r\n }, [switchTenant, navigate]);\r\n\r\n const handleSetDefault = useCallback(async (tenantId: string) => {\r\n try {\r\n await setDefaultTenant(tenantId);\r\n } catch (error) {\r\n console.error('Failed to set default tenant:', error);\r\n }\r\n }, [setDefaultTenant]);\r\n\r\n const handleClearDefault = useCallback(async () => {\r\n try {\r\n await clearDefaultTenant();\r\n } catch (error) {\r\n console.error('Failed to clear default tenant:', error);\r\n }\r\n }, [clearDefaultTenant]);\r\n\r\n const handleManageTenant = useCallback((tenantId: string) => {\r\n navigate(`/administration/tenants/${tenantId}`);\r\n }, [navigate]);\r\n\r\n if (isLoading) {\r\n return (\r\n <div className=\"flex items-center justify-center min-h-[400px]\">\r\n <div className=\"animate-spin rounded-full h-8 w-8 border-b-2 border-[var(--color-accent-500)]\" />\r\n </div>\r\n );\r\n }\r\n\r\n const defaultTenant = userTenants.find(t => t.isDefault);\r\n const otherTenants = userTenants.filter(t => t.type !== 'Business' && t.type !== 'Personal');\r\n\r\n return (\r\n <div className=\"space-y-8\">\r\n {/* Header */}\r\n <div>\r\n <h1 className=\"text-2xl font-bold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.title', 'My Workspaces')}\r\n </h1>\r\n <p className=\"text-[var(--text-secondary)] mt-1\">\r\n {t('myspace.tenants.description', 'Manage your workspace access and set your default workspace')}\r\n </p>\r\n </div>\r\n\r\n {/* Default Preference Section */}\r\n <section>\r\n <div className=\"flex items-center gap-2 mb-4\">\r\n <Star className=\"w-5 h-5 text-amber-500\" />\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.defaultPreference.title', 'Default Preference')}\r\n </h2>\r\n </div>\r\n\r\n <div className=\"grid grid-cols-1 sm:grid-cols-2 gap-4 max-w-2xl\">\r\n {/* Global option - only for global admins (Super Administrator / Platform Administrator) */}\r\n {hasGlobalRoles && (\r\n <button\r\n onClick={!isGlobalDefault ? handleClearDefault : undefined}\r\n disabled={isGlobalDefault}\r\n className={`relative text-left p-5 bg-[var(--bg-card)] border overflow-hidden transition-all duration-200 ${\r\n isGlobalDefault\r\n ? 'border-[var(--color-accent-500)] ring-2 ring-[var(--color-accent-500)]/20'\r\n : 'border-[var(--border-color)] hover:border-[var(--color-accent-300)] cursor-pointer'\r\n }`}\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <div className=\"flex items-start gap-3\">\r\n <div className=\"w-12 h-12 rounded-xl flex items-center justify-center bg-gradient-to-br from-emerald-500/20 to-emerald-600/20\">\r\n <Globe className=\"w-6 h-6 text-emerald-500\" />\r\n </div>\r\n <div className=\"flex-1 min-w-0\">\r\n <div className=\"flex items-center gap-2\">\r\n <h3 className=\"font-semibold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.defaultPreference.global', 'Global')}\r\n </h3>\r\n {isGlobalDefault && (\r\n <span className=\"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-full bg-[var(--color-accent-500)]/10 text-[var(--color-accent-600)]\">\r\n <Star className=\"w-3 h-3 fill-current\" />\r\n {t('tenants.default', 'Default')}\r\n </span>\r\n )}\r\n </div>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('myspace.tenants.defaultPreference.globalDescription', 'No specific workspace on login — choose each time')}\r\n </p>\r\n </div>\r\n </div>\r\n </button>\r\n )}\r\n\r\n {/* Current default tenant summary */}\r\n {defaultTenant && (\r\n <div\r\n className=\"relative p-5 bg-[var(--bg-card)] border border-[var(--color-accent-500)] ring-2 ring-[var(--color-accent-500)]/20 overflow-hidden\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <div className=\"flex items-start gap-3\">\r\n <div className={`w-12 h-12 rounded-xl flex items-center justify-center ${\r\n defaultTenant.type === 'Business'\r\n ? 'bg-gradient-to-br from-blue-500/20 to-blue-600/20'\r\n : 'bg-gradient-to-br from-violet-500/20 to-violet-600/20'\r\n }`}>\r\n {defaultTenant.type === 'Business' ? (\r\n <Building2 className=\"w-6 h-6 text-blue-500\" />\r\n ) : (\r\n <User className=\"w-6 h-6 text-violet-500\" />\r\n )}\r\n </div>\r\n <div className=\"flex-1 min-w-0\">\r\n <div className=\"flex items-center gap-2\">\r\n <h3 className=\"font-semibold text-[var(--text-primary)] truncate\">\r\n {defaultTenant.name}\r\n </h3>\r\n <span className=\"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-full bg-[var(--color-accent-500)]/10 text-[var(--color-accent-600)]\">\r\n <Star className=\"w-3 h-3 fill-current\" />\r\n {t('tenants.default', 'Default')}\r\n </span>\r\n </div>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('myspace.tenants.defaultPreference.specificDescription', 'Auto-connect to this workspace on login')}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </section>\r\n\r\n {/* B2B Tenants Section */}\r\n {b2bTenants.length > 0 && (\r\n <section>\r\n <div className=\"flex items-center gap-2 mb-4\">\r\n <Building2 className=\"w-5 h-5 text-blue-500\" />\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.b2b.title', 'Professional Workspaces')}\r\n </h2>\r\n <span className=\"px-2 py-0.5 text-xs font-medium rounded-full bg-blue-500/10 text-blue-600\">\r\n B2B\r\n </span>\r\n </div>\r\n\r\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4\">\r\n {b2bTenants.map((tenant) => (\r\n <TenantCard\r\n key={tenant.id}\r\n tenant={tenant}\r\n isSelected={currentTenant?.id === tenant.id}\r\n onSetDefault={() => handleSetDefault(tenant.id)}\r\n onEnter={() => handleEnterTenant(tenant.id)}\r\n onManage={tenant.isOwner ? () => handleManageTenant(tenant.id) : undefined}\r\n />\r\n ))}\r\n </div>\r\n </section>\r\n )}\r\n\r\n {/* Personal Tenant Section - only show if B2C is enabled */}\r\n {enableB2C && (\r\n <section>\r\n <div className=\"flex items-center gap-2 mb-4\">\r\n <User className=\"w-5 h-5 text-violet-500\" />\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.personal.title', 'Personal Workspace')}\r\n </h2>\r\n <span className=\"px-2 py-0.5 text-xs font-medium rounded-full bg-violet-500/10 text-violet-600\">\r\n B2C\r\n </span>\r\n </div>\r\n\r\n {personalTenant ? (\r\n <div className=\"max-w-md\">\r\n <TenantCard\r\n tenant={personalTenant}\r\n isSelected={currentTenant?.id === personalTenant.id}\r\n onSetDefault={() => handleSetDefault(personalTenant.id)}\r\n onEnter={() => handleEnterTenant(personalTenant.id)}\r\n />\r\n </div>\r\n ) : (\r\n <div\r\n className=\"flex items-start gap-3 p-4 bg-[var(--warning-bg)] border border-[var(--warning-border)]\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <AlertCircle className=\"w-5 h-5 text-[var(--warning-text)] flex-shrink-0 mt-0.5\" />\r\n <div>\r\n <p className=\"font-medium text-[var(--warning-text)]\">\r\n {t('myspace.tenants.personal.noWorkspace', 'No personal workspace')}\r\n </p>\r\n <p className=\"text-sm text-[var(--warning-text)] opacity-80 mt-1\">\r\n {t(\r\n 'myspace.tenants.personal.noWorkspaceDescription',\r\n 'Your personal workspace will be created automatically when you first access the platform.'\r\n )}\r\n </p>\r\n </div>\r\n </div>\r\n )}\r\n </section>\r\n )}\r\n\r\n {/* Other Tenants Section */}\r\n {otherTenants.length > 0 && (\r\n <section>\r\n <div className=\"flex items-center gap-2 mb-4\">\r\n <Layers className=\"w-5 h-5 text-gray-500\" />\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.other.title', 'Other Workspaces')}\r\n </h2>\r\n </div>\r\n\r\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4\">\r\n {otherTenants.map((tenant) => (\r\n <TenantCard\r\n key={tenant.id}\r\n tenant={tenant}\r\n isSelected={currentTenant?.id === tenant.id}\r\n onSetDefault={() => handleSetDefault(tenant.id)}\r\n onEnter={() => handleEnterTenant(tenant.id)}\r\n onManage={tenant.isOwner ? () => handleManageTenant(tenant.id) : undefined}\r\n />\r\n ))}\r\n </div>\r\n </section>\r\n )}\r\n\r\n {/* Empty state */}\r\n {b2bTenants.length === 0 && !personalTenant && otherTenants.length === 0 && (\r\n <div\r\n className=\"text-center py-12 px-6 bg-[var(--bg-card)] border border-[var(--border-color)]\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <Building2 className=\"w-12 h-12 text-[var(--text-tertiary)] mx-auto mb-4\" />\r\n <h3 className=\"text-lg font-medium text-[var(--text-primary)] mb-2\">\r\n {t('myspace.tenants.empty.title', 'No workspaces available')}\r\n </h3>\r\n <p className=\"text-[var(--text-secondary)] max-w-md mx-auto\">\r\n {t(\r\n 'myspace.tenants.empty.description',\r\n 'You don\\'t have access to any workspace yet. Contact your administrator to get access.'\r\n )}\r\n </p>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nexport default MyTenantsPage;\r\n"],"names":["MyTenantsPage","t","useTranslation","navigate","useNavigate","currentTenant","userTenants","b2bTenants","personalTenant","switchTenant","setDefaultTenant","clearDefaultTenant","isLoading","hasGlobalRoles","useTenant","enableB2C","useFeatureConfig","isGlobalDefault","handleEnterTenant","useCallback","tenantId","error","handleSetDefault","handleClearDefault","handleManageTenant","jsx","defaultTenant","otherTenants","jsxs","Star","Globe","Building2","User","tenant","TenantCard","AlertCircle","Layers"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("react"),C=require("react-router-dom"),S=require("react-i18next"),t=require("lucide-react"),j=require("./index-2wUhd9Lu.js"),f=require("./TenantCard-CUjb6og9.js");function N(){const{t:a}=S.useTranslation("navigation"),n=C.useNavigate(),{currentTenant:o,userTenants:d,b2bTenants:x,personalTenant:r,switchTenant:g,setDefaultTenant:v,clearDefaultTenant:b,isLoading:w,hasGlobalRoles:k}=j.useTenant(),{enableB2C:T}=j.useFeatureConfig(),l=!d.some(s=>s.isDefault),m=i.useCallback(async s=>{try{await g(s),n("/myspace")}catch(h){console.error("Failed to switch tenant:",h)}},[g,n]),u=i.useCallback(async s=>{try{await v(s)}catch(h){console.error("Failed to set default tenant:",h)}},[v]),D=i.useCallback(async()=>{try{await b()}catch(s){console.error("Failed to clear default tenant:",s)}},[b]),y=i.useCallback(s=>{n(`/administration/tenants/${s}`)},[n]);if(w)return e.jsx("div",{className:"flex items-center justify-center min-h-[400px]",children:e.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-[var(--color-accent-500)]"})});const c=d.find(s=>s.isDefault),p=d.filter(s=>s.type!=="Business"&&s.type!=="Personal");return e.jsxs("div",{className:"space-y-8",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold text-[var(--text-primary)]",children:a("myspace.tenants.title","My Workspaces")}),e.jsx("p",{className:"text-[var(--text-secondary)] mt-1",children:a("myspace.tenants.description","Manage your workspace access and set your default workspace")})]}),e.jsxs("section",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(t.Star,{className:"w-5 h-5 text-amber-500"}),e.jsx("h2",{className:"text-lg font-semibold text-[var(--text-primary)]",children:a("myspace.tenants.defaultPreference.title","Default Preference")})]}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4 max-w-2xl",children:[k&&e.jsx("button",{onClick:l?void 0:D,disabled:l,className:`relative text-left p-5 bg-[var(--bg-card)] border overflow-hidden transition-all duration-200 ${l?"border-[var(--color-accent-500)] ring-2 ring-[var(--color-accent-500)]/20":"border-[var(--border-color)] hover:border-[var(--color-accent-300)] cursor-pointer"}`,style:{borderRadius:"var(--radius-card)"},children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"w-12 h-12 rounded-xl flex items-center justify-center bg-gradient-to-br from-emerald-500/20 to-emerald-600/20",children:e.jsx(t.Globe,{className:"w-6 h-6 text-emerald-500"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h3",{className:"font-semibold text-[var(--text-primary)]",children:a("myspace.tenants.defaultPreference.global","Global")}),l&&e.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-full bg-[var(--color-accent-500)]/10 text-[var(--color-accent-600)]",children:[e.jsx(t.Star,{className:"w-3 h-3 fill-current"}),a("tenants.default","Default")]})]}),e.jsx("p",{className:"text-sm text-[var(--text-secondary)] mt-1",children:a("myspace.tenants.defaultPreference.globalDescription","No specific workspace on login — choose each time")})]})]})}),c&&e.jsx("div",{className:"relative p-5 bg-[var(--bg-card)] border border-[var(--color-accent-500)] ring-2 ring-[var(--color-accent-500)]/20 overflow-hidden",style:{borderRadius:"var(--radius-card)"},children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:`w-12 h-12 rounded-xl flex items-center justify-center ${c.type==="Business"?"bg-gradient-to-br from-blue-500/20 to-blue-600/20":"bg-gradient-to-br from-violet-500/20 to-violet-600/20"}`,children:c.type==="Business"?e.jsx(t.Building2,{className:"w-6 h-6 text-blue-500"}):e.jsx(t.User,{className:"w-6 h-6 text-violet-500"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h3",{className:"font-semibold text-[var(--text-primary)] truncate",children:c.name}),e.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-full bg-[var(--color-accent-500)]/10 text-[var(--color-accent-600)]",children:[e.jsx(t.Star,{className:"w-3 h-3 fill-current"}),a("tenants.default","Default")]})]}),e.jsx("p",{className:"text-sm text-[var(--text-secondary)] mt-1",children:a("myspace.tenants.defaultPreference.specificDescription","Auto-connect to this workspace on login")})]})]})})]})]}),x.length>0&&e.jsxs("section",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(t.Building2,{className:"w-5 h-5 text-blue-500"}),e.jsx("h2",{className:"text-lg font-semibold text-[var(--text-primary)]",children:a("myspace.tenants.b2b.title","Professional Workspaces")}),e.jsx("span",{className:"px-2 py-0.5 text-xs font-medium rounded-full bg-blue-500/10 text-blue-600",children:"B2B"})]}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:x.map(s=>e.jsx(f.TenantCard,{tenant:s,isSelected:o?.id===s.id,onSetDefault:()=>u(s.id),onEnter:()=>m(s.id),onManage:s.isOwner?()=>y(s.id):void 0},s.id))})]}),T&&e.jsxs("section",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(t.User,{className:"w-5 h-5 text-violet-500"}),e.jsx("h2",{className:"text-lg font-semibold text-[var(--text-primary)]",children:a("myspace.tenants.personal.title","Personal Workspace")}),e.jsx("span",{className:"px-2 py-0.5 text-xs font-medium rounded-full bg-violet-500/10 text-violet-600",children:"B2C"})]}),r?e.jsx("div",{className:"max-w-md",children:e.jsx(f.TenantCard,{tenant:r,isSelected:o?.id===r.id,onSetDefault:()=>u(r.id),onEnter:()=>m(r.id)})}):e.jsxs("div",{className:"flex items-start gap-3 p-4 bg-[var(--warning-bg)] border border-[var(--warning-border)]",style:{borderRadius:"var(--radius-card)"},children:[e.jsx(t.AlertCircle,{className:"w-5 h-5 text-[var(--warning-text)] flex-shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-[var(--warning-text)]",children:a("myspace.tenants.personal.noWorkspace","No personal workspace")}),e.jsx("p",{className:"text-sm text-[var(--warning-text)] opacity-80 mt-1",children:a("myspace.tenants.personal.noWorkspaceDescription","Your personal workspace will be created automatically when you first access the platform.")})]})]})]}),p.length>0&&e.jsxs("section",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(t.Layers,{className:"w-5 h-5 text-gray-500"}),e.jsx("h2",{className:"text-lg font-semibold text-[var(--text-primary)]",children:a("myspace.tenants.other.title","Other Workspaces")})]}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:p.map(s=>e.jsx(f.TenantCard,{tenant:s,isSelected:o?.id===s.id,onSetDefault:()=>u(s.id),onEnter:()=>m(s.id),onManage:s.isOwner?()=>y(s.id):void 0},s.id))})]}),x.length===0&&!r&&p.length===0&&e.jsxs("div",{className:"text-center py-12 px-6 bg-[var(--bg-card)] border border-[var(--border-color)]",style:{borderRadius:"var(--radius-card)"},children:[e.jsx(t.Building2,{className:"w-12 h-12 text-[var(--text-tertiary)] mx-auto mb-4"}),e.jsx("h3",{className:"text-lg font-medium text-[var(--text-primary)] mb-2",children:a("myspace.tenants.empty.title","No workspaces available")}),e.jsx("p",{className:"text-[var(--text-secondary)] max-w-md mx-auto",children:a("myspace.tenants.empty.description","You don't have access to any workspace yet. Contact your administrator to get access.")})]})]})}exports.MyTenantsPage=N;exports.default=N;
2
- //# sourceMappingURL=MyTenantsPage-D9f85zjF.js.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("react"),C=require("react-router-dom"),S=require("react-i18next"),t=require("lucide-react"),j=require("./index-IgLVXPg8.js"),f=require("./TenantCard-CEkiKxcZ.js");function N(){const{t:a}=S.useTranslation("navigation"),n=C.useNavigate(),{currentTenant:o,userTenants:d,b2bTenants:x,personalTenant:r,switchTenant:g,setDefaultTenant:v,clearDefaultTenant:b,isLoading:w,hasGlobalRoles:k}=j.useTenant(),{enableB2C:T}=j.useFeatureConfig(),l=!d.some(s=>s.isDefault),m=i.useCallback(async s=>{try{await g(s),n("/myspace")}catch(h){console.error("Failed to switch tenant:",h)}},[g,n]),u=i.useCallback(async s=>{try{await v(s)}catch(h){console.error("Failed to set default tenant:",h)}},[v]),D=i.useCallback(async()=>{try{await b()}catch(s){console.error("Failed to clear default tenant:",s)}},[b]),y=i.useCallback(s=>{n(`/administration/tenants/${s}`)},[n]);if(w)return e.jsx("div",{className:"flex items-center justify-center min-h-[400px]",children:e.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-[var(--color-accent-500)]"})});const c=d.find(s=>s.isDefault),p=d.filter(s=>s.type!=="Business"&&s.type!=="Personal");return e.jsxs("div",{className:"space-y-8",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold text-[var(--text-primary)]",children:a("myspace.tenants.title","My Workspaces")}),e.jsx("p",{className:"text-[var(--text-secondary)] mt-1",children:a("myspace.tenants.description","Manage your workspace access and set your default workspace")})]}),e.jsxs("section",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(t.Star,{className:"w-5 h-5 text-amber-500"}),e.jsx("h2",{className:"text-lg font-semibold text-[var(--text-primary)]",children:a("myspace.tenants.defaultPreference.title","Default Preference")})]}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4 max-w-2xl",children:[k&&e.jsx("button",{onClick:l?void 0:D,disabled:l,className:`relative text-left p-5 bg-[var(--bg-card)] border overflow-hidden transition-all duration-200 ${l?"border-[var(--color-accent-500)] ring-2 ring-[var(--color-accent-500)]/20":"border-[var(--border-color)] hover:border-[var(--color-accent-300)] cursor-pointer"}`,style:{borderRadius:"var(--radius-card)"},children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"w-12 h-12 rounded-xl flex items-center justify-center bg-gradient-to-br from-emerald-500/20 to-emerald-600/20",children:e.jsx(t.Globe,{className:"w-6 h-6 text-emerald-500"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h3",{className:"font-semibold text-[var(--text-primary)]",children:a("myspace.tenants.defaultPreference.global","Global")}),l&&e.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-full bg-[var(--color-accent-500)]/10 text-[var(--color-accent-600)]",children:[e.jsx(t.Star,{className:"w-3 h-3 fill-current"}),a("tenants.default","Default")]})]}),e.jsx("p",{className:"text-sm text-[var(--text-secondary)] mt-1",children:a("myspace.tenants.defaultPreference.globalDescription","No specific workspace on login — choose each time")})]})]})}),c&&e.jsx("div",{className:"relative p-5 bg-[var(--bg-card)] border border-[var(--color-accent-500)] ring-2 ring-[var(--color-accent-500)]/20 overflow-hidden",style:{borderRadius:"var(--radius-card)"},children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:`w-12 h-12 rounded-xl flex items-center justify-center ${c.type==="Business"?"bg-gradient-to-br from-blue-500/20 to-blue-600/20":"bg-gradient-to-br from-violet-500/20 to-violet-600/20"}`,children:c.type==="Business"?e.jsx(t.Building2,{className:"w-6 h-6 text-blue-500"}):e.jsx(t.User,{className:"w-6 h-6 text-violet-500"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h3",{className:"font-semibold text-[var(--text-primary)] truncate",children:c.name}),e.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-full bg-[var(--color-accent-500)]/10 text-[var(--color-accent-600)]",children:[e.jsx(t.Star,{className:"w-3 h-3 fill-current"}),a("tenants.default","Default")]})]}),e.jsx("p",{className:"text-sm text-[var(--text-secondary)] mt-1",children:a("myspace.tenants.defaultPreference.specificDescription","Auto-connect to this workspace on login")})]})]})})]})]}),x.length>0&&e.jsxs("section",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(t.Building2,{className:"w-5 h-5 text-blue-500"}),e.jsx("h2",{className:"text-lg font-semibold text-[var(--text-primary)]",children:a("myspace.tenants.b2b.title","Professional Workspaces")}),e.jsx("span",{className:"px-2 py-0.5 text-xs font-medium rounded-full bg-blue-500/10 text-blue-600",children:"B2B"})]}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:x.map(s=>e.jsx(f.TenantCard,{tenant:s,isSelected:o?.id===s.id,onSetDefault:()=>u(s.id),onEnter:()=>m(s.id),onManage:s.isOwner?()=>y(s.id):void 0},s.id))})]}),T&&e.jsxs("section",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(t.User,{className:"w-5 h-5 text-violet-500"}),e.jsx("h2",{className:"text-lg font-semibold text-[var(--text-primary)]",children:a("myspace.tenants.personal.title","Personal Workspace")}),e.jsx("span",{className:"px-2 py-0.5 text-xs font-medium rounded-full bg-violet-500/10 text-violet-600",children:"B2C"})]}),r?e.jsx("div",{className:"max-w-md",children:e.jsx(f.TenantCard,{tenant:r,isSelected:o?.id===r.id,onSetDefault:()=>u(r.id),onEnter:()=>m(r.id)})}):e.jsxs("div",{className:"flex items-start gap-3 p-4 bg-[var(--warning-bg)] border border-[var(--warning-border)]",style:{borderRadius:"var(--radius-card)"},children:[e.jsx(t.AlertCircle,{className:"w-5 h-5 text-[var(--warning-text)] flex-shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-[var(--warning-text)]",children:a("myspace.tenants.personal.noWorkspace","No personal workspace")}),e.jsx("p",{className:"text-sm text-[var(--warning-text)] opacity-80 mt-1",children:a("myspace.tenants.personal.noWorkspaceDescription","Your personal workspace will be created automatically when you first access the platform.")})]})]})]}),p.length>0&&e.jsxs("section",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx(t.Layers,{className:"w-5 h-5 text-gray-500"}),e.jsx("h2",{className:"text-lg font-semibold text-[var(--text-primary)]",children:a("myspace.tenants.other.title","Other Workspaces")})]}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",children:p.map(s=>e.jsx(f.TenantCard,{tenant:s,isSelected:o?.id===s.id,onSetDefault:()=>u(s.id),onEnter:()=>m(s.id),onManage:s.isOwner?()=>y(s.id):void 0},s.id))})]}),x.length===0&&!r&&p.length===0&&e.jsxs("div",{className:"text-center py-12 px-6 bg-[var(--bg-card)] border border-[var(--border-color)]",style:{borderRadius:"var(--radius-card)"},children:[e.jsx(t.Building2,{className:"w-12 h-12 text-[var(--text-tertiary)] mx-auto mb-4"}),e.jsx("h3",{className:"text-lg font-medium text-[var(--text-primary)] mb-2",children:a("myspace.tenants.empty.title","No workspaces available")}),e.jsx("p",{className:"text-[var(--text-secondary)] max-w-md mx-auto",children:a("myspace.tenants.empty.description","You don't have access to any workspace yet. Contact your administrator to get access.")})]})]})}exports.MyTenantsPage=N;exports.default=N;
2
+ //# sourceMappingURL=MyTenantsPage-DqGW6aDt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MyTenantsPage-D9f85zjF.js","sources":["../../src/pages/personal/myspace/MyTenantsPage.tsx"],"sourcesContent":["import { useCallback } from 'react';\r\nimport type { ReactElement } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Building2, User, AlertCircle, Globe, Star, Layers } from 'lucide-react';\r\nimport { useTenant } from '@/contexts/TenantContext';\r\nimport { useFeatureConfig } from '@/contexts/FeatureConfigContext';\r\nimport { TenantCard } from '@/components/tenants/TenantCard';\r\n\r\nexport function MyTenantsPage(): ReactElement {\r\n const { t } = useTranslation('navigation');\r\n const navigate = useNavigate();\r\n const {\r\n currentTenant,\r\n userTenants,\r\n b2bTenants,\r\n personalTenant,\r\n switchTenant,\r\n setDefaultTenant,\r\n clearDefaultTenant,\r\n isLoading,\r\n hasGlobalRoles\r\n } = useTenant();\r\n const { enableB2C } = useFeatureConfig();\r\n\r\n const isGlobalDefault = !userTenants.some(t => t.isDefault);\r\n\r\n const handleEnterTenant = useCallback(async (tenantId: string) => {\r\n try {\r\n await switchTenant(tenantId);\r\n navigate('/myspace');\r\n } catch (error) {\r\n console.error('Failed to switch tenant:', error);\r\n }\r\n }, [switchTenant, navigate]);\r\n\r\n const handleSetDefault = useCallback(async (tenantId: string) => {\r\n try {\r\n await setDefaultTenant(tenantId);\r\n } catch (error) {\r\n console.error('Failed to set default tenant:', error);\r\n }\r\n }, [setDefaultTenant]);\r\n\r\n const handleClearDefault = useCallback(async () => {\r\n try {\r\n await clearDefaultTenant();\r\n } catch (error) {\r\n console.error('Failed to clear default tenant:', error);\r\n }\r\n }, [clearDefaultTenant]);\r\n\r\n const handleManageTenant = useCallback((tenantId: string) => {\r\n navigate(`/administration/tenants/${tenantId}`);\r\n }, [navigate]);\r\n\r\n if (isLoading) {\r\n return (\r\n <div className=\"flex items-center justify-center min-h-[400px]\">\r\n <div className=\"animate-spin rounded-full h-8 w-8 border-b-2 border-[var(--color-accent-500)]\" />\r\n </div>\r\n );\r\n }\r\n\r\n const defaultTenant = userTenants.find(t => t.isDefault);\r\n const otherTenants = userTenants.filter(t => t.type !== 'Business' && t.type !== 'Personal');\r\n\r\n return (\r\n <div className=\"space-y-8\">\r\n {/* Header */}\r\n <div>\r\n <h1 className=\"text-2xl font-bold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.title', 'My Workspaces')}\r\n </h1>\r\n <p className=\"text-[var(--text-secondary)] mt-1\">\r\n {t('myspace.tenants.description', 'Manage your workspace access and set your default workspace')}\r\n </p>\r\n </div>\r\n\r\n {/* Default Preference Section */}\r\n <section>\r\n <div className=\"flex items-center gap-2 mb-4\">\r\n <Star className=\"w-5 h-5 text-amber-500\" />\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.defaultPreference.title', 'Default Preference')}\r\n </h2>\r\n </div>\r\n\r\n <div className=\"grid grid-cols-1 sm:grid-cols-2 gap-4 max-w-2xl\">\r\n {/* Global option - only for global admins (Super Administrator / Platform Administrator) */}\r\n {hasGlobalRoles && (\r\n <button\r\n onClick={!isGlobalDefault ? handleClearDefault : undefined}\r\n disabled={isGlobalDefault}\r\n className={`relative text-left p-5 bg-[var(--bg-card)] border overflow-hidden transition-all duration-200 ${\r\n isGlobalDefault\r\n ? 'border-[var(--color-accent-500)] ring-2 ring-[var(--color-accent-500)]/20'\r\n : 'border-[var(--border-color)] hover:border-[var(--color-accent-300)] cursor-pointer'\r\n }`}\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <div className=\"flex items-start gap-3\">\r\n <div className=\"w-12 h-12 rounded-xl flex items-center justify-center bg-gradient-to-br from-emerald-500/20 to-emerald-600/20\">\r\n <Globe className=\"w-6 h-6 text-emerald-500\" />\r\n </div>\r\n <div className=\"flex-1 min-w-0\">\r\n <div className=\"flex items-center gap-2\">\r\n <h3 className=\"font-semibold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.defaultPreference.global', 'Global')}\r\n </h3>\r\n {isGlobalDefault && (\r\n <span className=\"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-full bg-[var(--color-accent-500)]/10 text-[var(--color-accent-600)]\">\r\n <Star className=\"w-3 h-3 fill-current\" />\r\n {t('tenants.default', 'Default')}\r\n </span>\r\n )}\r\n </div>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('myspace.tenants.defaultPreference.globalDescription', 'No specific workspace on login — choose each time')}\r\n </p>\r\n </div>\r\n </div>\r\n </button>\r\n )}\r\n\r\n {/* Current default tenant summary */}\r\n {defaultTenant && (\r\n <div\r\n className=\"relative p-5 bg-[var(--bg-card)] border border-[var(--color-accent-500)] ring-2 ring-[var(--color-accent-500)]/20 overflow-hidden\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <div className=\"flex items-start gap-3\">\r\n <div className={`w-12 h-12 rounded-xl flex items-center justify-center ${\r\n defaultTenant.type === 'Business'\r\n ? 'bg-gradient-to-br from-blue-500/20 to-blue-600/20'\r\n : 'bg-gradient-to-br from-violet-500/20 to-violet-600/20'\r\n }`}>\r\n {defaultTenant.type === 'Business' ? (\r\n <Building2 className=\"w-6 h-6 text-blue-500\" />\r\n ) : (\r\n <User className=\"w-6 h-6 text-violet-500\" />\r\n )}\r\n </div>\r\n <div className=\"flex-1 min-w-0\">\r\n <div className=\"flex items-center gap-2\">\r\n <h3 className=\"font-semibold text-[var(--text-primary)] truncate\">\r\n {defaultTenant.name}\r\n </h3>\r\n <span className=\"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-full bg-[var(--color-accent-500)]/10 text-[var(--color-accent-600)]\">\r\n <Star className=\"w-3 h-3 fill-current\" />\r\n {t('tenants.default', 'Default')}\r\n </span>\r\n </div>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('myspace.tenants.defaultPreference.specificDescription', 'Auto-connect to this workspace on login')}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </section>\r\n\r\n {/* B2B Tenants Section */}\r\n {b2bTenants.length > 0 && (\r\n <section>\r\n <div className=\"flex items-center gap-2 mb-4\">\r\n <Building2 className=\"w-5 h-5 text-blue-500\" />\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.b2b.title', 'Professional Workspaces')}\r\n </h2>\r\n <span className=\"px-2 py-0.5 text-xs font-medium rounded-full bg-blue-500/10 text-blue-600\">\r\n B2B\r\n </span>\r\n </div>\r\n\r\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4\">\r\n {b2bTenants.map((tenant) => (\r\n <TenantCard\r\n key={tenant.id}\r\n tenant={tenant}\r\n isSelected={currentTenant?.id === tenant.id}\r\n onSetDefault={() => handleSetDefault(tenant.id)}\r\n onEnter={() => handleEnterTenant(tenant.id)}\r\n onManage={tenant.isOwner ? () => handleManageTenant(tenant.id) : undefined}\r\n />\r\n ))}\r\n </div>\r\n </section>\r\n )}\r\n\r\n {/* Personal Tenant Section - only show if B2C is enabled */}\r\n {enableB2C && (\r\n <section>\r\n <div className=\"flex items-center gap-2 mb-4\">\r\n <User className=\"w-5 h-5 text-violet-500\" />\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.personal.title', 'Personal Workspace')}\r\n </h2>\r\n <span className=\"px-2 py-0.5 text-xs font-medium rounded-full bg-violet-500/10 text-violet-600\">\r\n B2C\r\n </span>\r\n </div>\r\n\r\n {personalTenant ? (\r\n <div className=\"max-w-md\">\r\n <TenantCard\r\n tenant={personalTenant}\r\n isSelected={currentTenant?.id === personalTenant.id}\r\n onSetDefault={() => handleSetDefault(personalTenant.id)}\r\n onEnter={() => handleEnterTenant(personalTenant.id)}\r\n />\r\n </div>\r\n ) : (\r\n <div\r\n className=\"flex items-start gap-3 p-4 bg-[var(--warning-bg)] border border-[var(--warning-border)]\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <AlertCircle className=\"w-5 h-5 text-[var(--warning-text)] flex-shrink-0 mt-0.5\" />\r\n <div>\r\n <p className=\"font-medium text-[var(--warning-text)]\">\r\n {t('myspace.tenants.personal.noWorkspace', 'No personal workspace')}\r\n </p>\r\n <p className=\"text-sm text-[var(--warning-text)] opacity-80 mt-1\">\r\n {t(\r\n 'myspace.tenants.personal.noWorkspaceDescription',\r\n 'Your personal workspace will be created automatically when you first access the platform.'\r\n )}\r\n </p>\r\n </div>\r\n </div>\r\n )}\r\n </section>\r\n )}\r\n\r\n {/* Other Tenants Section */}\r\n {otherTenants.length > 0 && (\r\n <section>\r\n <div className=\"flex items-center gap-2 mb-4\">\r\n <Layers className=\"w-5 h-5 text-gray-500\" />\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.other.title', 'Other Workspaces')}\r\n </h2>\r\n </div>\r\n\r\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4\">\r\n {otherTenants.map((tenant) => (\r\n <TenantCard\r\n key={tenant.id}\r\n tenant={tenant}\r\n isSelected={currentTenant?.id === tenant.id}\r\n onSetDefault={() => handleSetDefault(tenant.id)}\r\n onEnter={() => handleEnterTenant(tenant.id)}\r\n onManage={tenant.isOwner ? () => handleManageTenant(tenant.id) : undefined}\r\n />\r\n ))}\r\n </div>\r\n </section>\r\n )}\r\n\r\n {/* Empty state */}\r\n {b2bTenants.length === 0 && !personalTenant && otherTenants.length === 0 && (\r\n <div\r\n className=\"text-center py-12 px-6 bg-[var(--bg-card)] border border-[var(--border-color)]\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <Building2 className=\"w-12 h-12 text-[var(--text-tertiary)] mx-auto mb-4\" />\r\n <h3 className=\"text-lg font-medium text-[var(--text-primary)] mb-2\">\r\n {t('myspace.tenants.empty.title', 'No workspaces available')}\r\n </h3>\r\n <p className=\"text-[var(--text-secondary)] max-w-md mx-auto\">\r\n {t(\r\n 'myspace.tenants.empty.description',\r\n 'You don\\'t have access to any workspace yet. Contact your administrator to get access.'\r\n )}\r\n </p>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nexport default MyTenantsPage;\r\n"],"names":["MyTenantsPage","t","useTranslation","navigate","useNavigate","currentTenant","userTenants","b2bTenants","personalTenant","switchTenant","setDefaultTenant","clearDefaultTenant","isLoading","hasGlobalRoles","useTenant","enableB2C","useFeatureConfig","isGlobalDefault","handleEnterTenant","useCallback","tenantId","error","handleSetDefault","handleClearDefault","handleManageTenant","jsx","defaultTenant","otherTenants","jsxs","Star","Globe","Building2","User","tenant","TenantCard","AlertCircle","Layers"],"mappings":"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"}
1
+ {"version":3,"file":"MyTenantsPage-DqGW6aDt.js","sources":["../../src/pages/personal/myspace/MyTenantsPage.tsx"],"sourcesContent":["import { useCallback } from 'react';\r\nimport type { ReactElement } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Building2, User, AlertCircle, Globe, Star, Layers } from 'lucide-react';\r\nimport { useTenant } from '@/contexts/TenantContext';\r\nimport { useFeatureConfig } from '@/contexts/FeatureConfigContext';\r\nimport { TenantCard } from '@/components/tenants/TenantCard';\r\n\r\nexport function MyTenantsPage(): ReactElement {\r\n const { t } = useTranslation('navigation');\r\n const navigate = useNavigate();\r\n const {\r\n currentTenant,\r\n userTenants,\r\n b2bTenants,\r\n personalTenant,\r\n switchTenant,\r\n setDefaultTenant,\r\n clearDefaultTenant,\r\n isLoading,\r\n hasGlobalRoles\r\n } = useTenant();\r\n const { enableB2C } = useFeatureConfig();\r\n\r\n const isGlobalDefault = !userTenants.some(t => t.isDefault);\r\n\r\n const handleEnterTenant = useCallback(async (tenantId: string) => {\r\n try {\r\n await switchTenant(tenantId);\r\n navigate('/myspace');\r\n } catch (error) {\r\n console.error('Failed to switch tenant:', error);\r\n }\r\n }, [switchTenant, navigate]);\r\n\r\n const handleSetDefault = useCallback(async (tenantId: string) => {\r\n try {\r\n await setDefaultTenant(tenantId);\r\n } catch (error) {\r\n console.error('Failed to set default tenant:', error);\r\n }\r\n }, [setDefaultTenant]);\r\n\r\n const handleClearDefault = useCallback(async () => {\r\n try {\r\n await clearDefaultTenant();\r\n } catch (error) {\r\n console.error('Failed to clear default tenant:', error);\r\n }\r\n }, [clearDefaultTenant]);\r\n\r\n const handleManageTenant = useCallback((tenantId: string) => {\r\n navigate(`/administration/tenants/${tenantId}`);\r\n }, [navigate]);\r\n\r\n if (isLoading) {\r\n return (\r\n <div className=\"flex items-center justify-center min-h-[400px]\">\r\n <div className=\"animate-spin rounded-full h-8 w-8 border-b-2 border-[var(--color-accent-500)]\" />\r\n </div>\r\n );\r\n }\r\n\r\n const defaultTenant = userTenants.find(t => t.isDefault);\r\n const otherTenants = userTenants.filter(t => t.type !== 'Business' && t.type !== 'Personal');\r\n\r\n return (\r\n <div className=\"space-y-8\">\r\n {/* Header */}\r\n <div>\r\n <h1 className=\"text-2xl font-bold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.title', 'My Workspaces')}\r\n </h1>\r\n <p className=\"text-[var(--text-secondary)] mt-1\">\r\n {t('myspace.tenants.description', 'Manage your workspace access and set your default workspace')}\r\n </p>\r\n </div>\r\n\r\n {/* Default Preference Section */}\r\n <section>\r\n <div className=\"flex items-center gap-2 mb-4\">\r\n <Star className=\"w-5 h-5 text-amber-500\" />\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.defaultPreference.title', 'Default Preference')}\r\n </h2>\r\n </div>\r\n\r\n <div className=\"grid grid-cols-1 sm:grid-cols-2 gap-4 max-w-2xl\">\r\n {/* Global option - only for global admins (Super Administrator / Platform Administrator) */}\r\n {hasGlobalRoles && (\r\n <button\r\n onClick={!isGlobalDefault ? handleClearDefault : undefined}\r\n disabled={isGlobalDefault}\r\n className={`relative text-left p-5 bg-[var(--bg-card)] border overflow-hidden transition-all duration-200 ${\r\n isGlobalDefault\r\n ? 'border-[var(--color-accent-500)] ring-2 ring-[var(--color-accent-500)]/20'\r\n : 'border-[var(--border-color)] hover:border-[var(--color-accent-300)] cursor-pointer'\r\n }`}\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <div className=\"flex items-start gap-3\">\r\n <div className=\"w-12 h-12 rounded-xl flex items-center justify-center bg-gradient-to-br from-emerald-500/20 to-emerald-600/20\">\r\n <Globe className=\"w-6 h-6 text-emerald-500\" />\r\n </div>\r\n <div className=\"flex-1 min-w-0\">\r\n <div className=\"flex items-center gap-2\">\r\n <h3 className=\"font-semibold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.defaultPreference.global', 'Global')}\r\n </h3>\r\n {isGlobalDefault && (\r\n <span className=\"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-full bg-[var(--color-accent-500)]/10 text-[var(--color-accent-600)]\">\r\n <Star className=\"w-3 h-3 fill-current\" />\r\n {t('tenants.default', 'Default')}\r\n </span>\r\n )}\r\n </div>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('myspace.tenants.defaultPreference.globalDescription', 'No specific workspace on login — choose each time')}\r\n </p>\r\n </div>\r\n </div>\r\n </button>\r\n )}\r\n\r\n {/* Current default tenant summary */}\r\n {defaultTenant && (\r\n <div\r\n className=\"relative p-5 bg-[var(--bg-card)] border border-[var(--color-accent-500)] ring-2 ring-[var(--color-accent-500)]/20 overflow-hidden\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <div className=\"flex items-start gap-3\">\r\n <div className={`w-12 h-12 rounded-xl flex items-center justify-center ${\r\n defaultTenant.type === 'Business'\r\n ? 'bg-gradient-to-br from-blue-500/20 to-blue-600/20'\r\n : 'bg-gradient-to-br from-violet-500/20 to-violet-600/20'\r\n }`}>\r\n {defaultTenant.type === 'Business' ? (\r\n <Building2 className=\"w-6 h-6 text-blue-500\" />\r\n ) : (\r\n <User className=\"w-6 h-6 text-violet-500\" />\r\n )}\r\n </div>\r\n <div className=\"flex-1 min-w-0\">\r\n <div className=\"flex items-center gap-2\">\r\n <h3 className=\"font-semibold text-[var(--text-primary)] truncate\">\r\n {defaultTenant.name}\r\n </h3>\r\n <span className=\"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-medium rounded-full bg-[var(--color-accent-500)]/10 text-[var(--color-accent-600)]\">\r\n <Star className=\"w-3 h-3 fill-current\" />\r\n {t('tenants.default', 'Default')}\r\n </span>\r\n </div>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('myspace.tenants.defaultPreference.specificDescription', 'Auto-connect to this workspace on login')}\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n </section>\r\n\r\n {/* B2B Tenants Section */}\r\n {b2bTenants.length > 0 && (\r\n <section>\r\n <div className=\"flex items-center gap-2 mb-4\">\r\n <Building2 className=\"w-5 h-5 text-blue-500\" />\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.b2b.title', 'Professional Workspaces')}\r\n </h2>\r\n <span className=\"px-2 py-0.5 text-xs font-medium rounded-full bg-blue-500/10 text-blue-600\">\r\n B2B\r\n </span>\r\n </div>\r\n\r\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4\">\r\n {b2bTenants.map((tenant) => (\r\n <TenantCard\r\n key={tenant.id}\r\n tenant={tenant}\r\n isSelected={currentTenant?.id === tenant.id}\r\n onSetDefault={() => handleSetDefault(tenant.id)}\r\n onEnter={() => handleEnterTenant(tenant.id)}\r\n onManage={tenant.isOwner ? () => handleManageTenant(tenant.id) : undefined}\r\n />\r\n ))}\r\n </div>\r\n </section>\r\n )}\r\n\r\n {/* Personal Tenant Section - only show if B2C is enabled */}\r\n {enableB2C && (\r\n <section>\r\n <div className=\"flex items-center gap-2 mb-4\">\r\n <User className=\"w-5 h-5 text-violet-500\" />\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.personal.title', 'Personal Workspace')}\r\n </h2>\r\n <span className=\"px-2 py-0.5 text-xs font-medium rounded-full bg-violet-500/10 text-violet-600\">\r\n B2C\r\n </span>\r\n </div>\r\n\r\n {personalTenant ? (\r\n <div className=\"max-w-md\">\r\n <TenantCard\r\n tenant={personalTenant}\r\n isSelected={currentTenant?.id === personalTenant.id}\r\n onSetDefault={() => handleSetDefault(personalTenant.id)}\r\n onEnter={() => handleEnterTenant(personalTenant.id)}\r\n />\r\n </div>\r\n ) : (\r\n <div\r\n className=\"flex items-start gap-3 p-4 bg-[var(--warning-bg)] border border-[var(--warning-border)]\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <AlertCircle className=\"w-5 h-5 text-[var(--warning-text)] flex-shrink-0 mt-0.5\" />\r\n <div>\r\n <p className=\"font-medium text-[var(--warning-text)]\">\r\n {t('myspace.tenants.personal.noWorkspace', 'No personal workspace')}\r\n </p>\r\n <p className=\"text-sm text-[var(--warning-text)] opacity-80 mt-1\">\r\n {t(\r\n 'myspace.tenants.personal.noWorkspaceDescription',\r\n 'Your personal workspace will be created automatically when you first access the platform.'\r\n )}\r\n </p>\r\n </div>\r\n </div>\r\n )}\r\n </section>\r\n )}\r\n\r\n {/* Other Tenants Section */}\r\n {otherTenants.length > 0 && (\r\n <section>\r\n <div className=\"flex items-center gap-2 mb-4\">\r\n <Layers className=\"w-5 h-5 text-gray-500\" />\r\n <h2 className=\"text-lg font-semibold text-[var(--text-primary)]\">\r\n {t('myspace.tenants.other.title', 'Other Workspaces')}\r\n </h2>\r\n </div>\r\n\r\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4\">\r\n {otherTenants.map((tenant) => (\r\n <TenantCard\r\n key={tenant.id}\r\n tenant={tenant}\r\n isSelected={currentTenant?.id === tenant.id}\r\n onSetDefault={() => handleSetDefault(tenant.id)}\r\n onEnter={() => handleEnterTenant(tenant.id)}\r\n onManage={tenant.isOwner ? () => handleManageTenant(tenant.id) : undefined}\r\n />\r\n ))}\r\n </div>\r\n </section>\r\n )}\r\n\r\n {/* Empty state */}\r\n {b2bTenants.length === 0 && !personalTenant && otherTenants.length === 0 && (\r\n <div\r\n className=\"text-center py-12 px-6 bg-[var(--bg-card)] border border-[var(--border-color)]\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <Building2 className=\"w-12 h-12 text-[var(--text-tertiary)] mx-auto mb-4\" />\r\n <h3 className=\"text-lg font-medium text-[var(--text-primary)] mb-2\">\r\n {t('myspace.tenants.empty.title', 'No workspaces available')}\r\n </h3>\r\n <p className=\"text-[var(--text-secondary)] max-w-md mx-auto\">\r\n {t(\r\n 'myspace.tenants.empty.description',\r\n 'You don\\'t have access to any workspace yet. Contact your administrator to get access.'\r\n )}\r\n </p>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nexport default MyTenantsPage;\r\n"],"names":["MyTenantsPage","t","useTranslation","navigate","useNavigate","currentTenant","userTenants","b2bTenants","personalTenant","switchTenant","setDefaultTenant","clearDefaultTenant","isLoading","hasGlobalRoles","useTenant","enableB2C","useFeatureConfig","isGlobalDefault","handleEnterTenant","useCallback","tenantId","error","handleSetDefault","handleClearDefault","handleManageTenant","jsx","defaultTenant","otherTenants","jsxs","Star","Globe","Building2","User","tenant","TenantCard","AlertCircle","Layers"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),i=require("react-i18next"),s=require("./index-2wUhd9Lu.js");function r(){const{t:e}=i.useTranslation("support");return t.jsxs("div",{className:"space-y-4",children:[t.jsx(s.Breadcrumb,{items:[{label:e("title","Support"),href:"/support"},{label:e("list.myTicketsTitle","My Tickets")}]}),t.jsx(s.TicketsListView,{mode:"user",showDrafts:!0,basePath:"/support/my-tickets",title:e("list.myTitle","Submitted Tickets"),subtitle:e("list.mySubtitle","Tickets you have created"),createPath:"/support/my-tickets/create"})]})}exports.MyTicketsPage=r;
2
- //# sourceMappingURL=MyTicketsPage-DJR8h6y1.js.map
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),i=require("react-i18next"),s=require("./index-IgLVXPg8.js");function r(){const{t:e}=i.useTranslation("support");return t.jsxs("div",{className:"space-y-4",children:[t.jsx(s.Breadcrumb,{items:[{label:e("title","Support"),href:"/support"},{label:e("list.myTicketsTitle","My Tickets")}]}),t.jsx(s.TicketsListView,{mode:"user",showDrafts:!0,basePath:"/support/my-tickets",title:e("list.myTitle","Submitted Tickets"),subtitle:e("list.mySubtitle","Tickets you have created"),createPath:"/support/my-tickets/create"})]})}exports.MyTicketsPage=r;
2
+ //# sourceMappingURL=MyTicketsPage--DgDsnZA.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MyTicketsPage-DJR8h6y1.js","sources":["../../src/pages/platform/support/MyTicketsPage.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Breadcrumb } from '@/components/ui/Breadcrumb';\r\nimport { TicketsListView } from '@/components/platform/support/TicketsListView';\r\n\r\nexport function MyTicketsPage(): ReactElement {\r\n const { t } = useTranslation('support');\r\n\r\n return (\r\n <div className=\"space-y-4\">\r\n <Breadcrumb\r\n items={[\r\n { label: t('title', 'Support'), href: '/support' },\r\n { label: t('list.myTicketsTitle', 'My Tickets') }\r\n ]}\r\n />\r\n <TicketsListView\r\n mode=\"user\"\r\n showDrafts={true}\r\n basePath=\"/support/my-tickets\"\r\n title={t('list.myTitle', 'Submitted Tickets')}\r\n subtitle={t('list.mySubtitle', 'Tickets you have created')}\r\n createPath=\"/support/my-tickets/create\"\r\n />\r\n </div>\r\n );\r\n}\r\n"],"names":["MyTicketsPage","t","useTranslation","jsxs","jsx","Breadcrumb","TicketsListView"],"mappings":"iLAKO,SAASA,GAA8B,CAC5C,KAAM,CAAE,EAAAC,CAAA,EAAMC,EAAAA,eAAe,SAAS,EAEtC,OACEC,EAAAA,KAAC,MAAA,CAAI,UAAU,YACb,SAAA,CAAAC,EAAAA,IAACC,EAAAA,WAAA,CACC,MAAO,CACL,CAAE,MAAOJ,EAAE,QAAS,SAAS,EAAG,KAAM,UAAA,EACtC,CAAE,MAAOA,EAAE,sBAAuB,YAAY,CAAA,CAAE,CAClD,CAAA,EAEFG,EAAAA,IAACE,EAAAA,gBAAA,CACC,KAAK,OACL,WAAY,GACZ,SAAS,sBACT,MAAOL,EAAE,eAAgB,mBAAmB,EAC5C,SAAUA,EAAE,kBAAmB,0BAA0B,EACzD,WAAW,4BAAA,CAAA,CACb,EACF,CAEJ"}
1
+ {"version":3,"file":"MyTicketsPage--DgDsnZA.js","sources":["../../src/pages/platform/support/MyTicketsPage.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Breadcrumb } from '@/components/ui/Breadcrumb';\r\nimport { TicketsListView } from '@/components/platform/support/TicketsListView';\r\n\r\nexport function MyTicketsPage(): ReactElement {\r\n const { t } = useTranslation('support');\r\n\r\n return (\r\n <div className=\"space-y-4\">\r\n <Breadcrumb\r\n items={[\r\n { label: t('title', 'Support'), href: '/support' },\r\n { label: t('list.myTicketsTitle', 'My Tickets') }\r\n ]}\r\n />\r\n <TicketsListView\r\n mode=\"user\"\r\n showDrafts={true}\r\n basePath=\"/support/my-tickets\"\r\n title={t('list.myTitle', 'Submitted Tickets')}\r\n subtitle={t('list.mySubtitle', 'Tickets you have created')}\r\n createPath=\"/support/my-tickets/create\"\r\n />\r\n </div>\r\n );\r\n}\r\n"],"names":["MyTicketsPage","t","useTranslation","jsxs","jsx","Breadcrumb","TicketsListView"],"mappings":"iLAKO,SAASA,GAA8B,CAC5C,KAAM,CAAE,EAAAC,CAAA,EAAMC,EAAAA,eAAe,SAAS,EAEtC,OACEC,EAAAA,KAAC,MAAA,CAAI,UAAU,YACb,SAAA,CAAAC,EAAAA,IAACC,EAAAA,WAAA,CACC,MAAO,CACL,CAAE,MAAOJ,EAAE,QAAS,SAAS,EAAG,KAAM,UAAA,EACtC,CAAE,MAAOA,EAAE,sBAAuB,YAAY,CAAA,CAAE,CAClD,CAAA,EAEFG,EAAAA,IAACE,EAAAA,gBAAA,CACC,KAAK,OACL,WAAY,GACZ,SAAS,sBACT,MAAOL,EAAE,eAAgB,mBAAmB,EAC5C,SAAUA,EAAE,kBAAmB,0BAA0B,EACzD,WAAW,4BAAA,CAAA,CACb,EACF,CAEJ"}
@@ -1,6 +1,6 @@
1
1
  import { jsxs as s, jsx as e } from "react/jsx-runtime";
2
2
  import { useTranslation as i } from "react-i18next";
3
- import { B as r, _ as a } from "./index-CwSaRXXg.js";
3
+ import { B as r, _ as a } from "./index-lpIzhufD.js";
4
4
  function m() {
5
5
  const { t } = i("support");
6
6
  return /* @__PURE__ */ s("div", { className: "space-y-4", children: [
@@ -29,4 +29,4 @@ function m() {
29
29
  export {
30
30
  m as MyTicketsPage
31
31
  };
32
- //# sourceMappingURL=MyTicketsPage-DiOUExKJ.js.map
32
+ //# sourceMappingURL=MyTicketsPage-CqJ3Aqob.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MyTicketsPage-DiOUExKJ.js","sources":["../../src/pages/platform/support/MyTicketsPage.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Breadcrumb } from '@/components/ui/Breadcrumb';\r\nimport { TicketsListView } from '@/components/platform/support/TicketsListView';\r\n\r\nexport function MyTicketsPage(): ReactElement {\r\n const { t } = useTranslation('support');\r\n\r\n return (\r\n <div className=\"space-y-4\">\r\n <Breadcrumb\r\n items={[\r\n { label: t('title', 'Support'), href: '/support' },\r\n { label: t('list.myTicketsTitle', 'My Tickets') }\r\n ]}\r\n />\r\n <TicketsListView\r\n mode=\"user\"\r\n showDrafts={true}\r\n basePath=\"/support/my-tickets\"\r\n title={t('list.myTitle', 'Submitted Tickets')}\r\n subtitle={t('list.mySubtitle', 'Tickets you have created')}\r\n createPath=\"/support/my-tickets/create\"\r\n />\r\n </div>\r\n );\r\n}\r\n"],"names":["MyTicketsPage","useTranslation","jsxs","jsx","Breadcrumb","TicketsListView"],"mappings":";;;AAKO,SAASA,IAA8B;AAC5C,QAAM,EAAE,EAAA,IAAMC,EAAe,SAAS;AAEtC,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAU,aACb,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,OAAO;AAAA,UACL,EAAE,OAAO,EAAE,SAAS,SAAS,GAAG,MAAM,WAAA;AAAA,UACtC,EAAE,OAAO,EAAE,uBAAuB,YAAY,EAAA;AAAA,QAAE;AAAA,MAClD;AAAA,IAAA;AAAA,IAEF,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,YAAY;AAAA,QACZ,UAAS;AAAA,QACT,OAAO,EAAE,gBAAgB,mBAAmB;AAAA,QAC5C,UAAU,EAAE,mBAAmB,0BAA0B;AAAA,QACzD,YAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EACb,GACF;AAEJ;"}
1
+ {"version":3,"file":"MyTicketsPage-CqJ3Aqob.js","sources":["../../src/pages/platform/support/MyTicketsPage.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Breadcrumb } from '@/components/ui/Breadcrumb';\r\nimport { TicketsListView } from '@/components/platform/support/TicketsListView';\r\n\r\nexport function MyTicketsPage(): ReactElement {\r\n const { t } = useTranslation('support');\r\n\r\n return (\r\n <div className=\"space-y-4\">\r\n <Breadcrumb\r\n items={[\r\n { label: t('title', 'Support'), href: '/support' },\r\n { label: t('list.myTicketsTitle', 'My Tickets') }\r\n ]}\r\n />\r\n <TicketsListView\r\n mode=\"user\"\r\n showDrafts={true}\r\n basePath=\"/support/my-tickets\"\r\n title={t('list.myTitle', 'Submitted Tickets')}\r\n subtitle={t('list.mySubtitle', 'Tickets you have created')}\r\n createPath=\"/support/my-tickets/create\"\r\n />\r\n </div>\r\n );\r\n}\r\n"],"names":["MyTicketsPage","useTranslation","jsxs","jsx","Breadcrumb","TicketsListView"],"mappings":";;;AAKO,SAASA,IAA8B;AAC5C,QAAM,EAAE,EAAA,IAAMC,EAAe,SAAS;AAEtC,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAU,aACb,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,OAAO;AAAA,UACL,EAAE,OAAO,EAAE,SAAS,SAAS,GAAG,MAAM,WAAA;AAAA,UACtC,EAAE,OAAO,EAAE,uBAAuB,YAAY,EAAA;AAAA,QAAE;AAAA,MAClD;AAAA,IAAA;AAAA,IAEF,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,YAAY;AAAA,QACZ,UAAS;AAAA,QACT,OAAO,EAAE,gBAAgB,mBAAmB;AAAA,QAC5C,UAAU,EAAE,mBAAmB,0BAA0B;AAAA,QACzD,YAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EACb,GACF;AAEJ;"}
@@ -3,7 +3,7 @@ import { useState as i, useCallback as K, useEffect as Q } from "react";
3
3
  import { useTranslation as V } from "react-i18next";
4
4
  import * as W from "lucide-react";
5
5
  import { Loader2 as T, ChevronDown as Y, ChevronRight as Z, MoreHorizontal as _, Edit2 as S, EyeOff as $, Eye as ee, X as E } from "lucide-react";
6
- import { k as u, B as re } from "./index-CwSaRXXg.js";
6
+ import { k as u, B as re } from "./index-lpIzhufD.js";
7
7
  const D = ({ name: o, className: p }) => {
8
8
  const s = W[o];
9
9
  return s ? /* @__PURE__ */ r(s, { className: p }) : null;
@@ -437,4 +437,4 @@ function ne() {
437
437
  export {
438
438
  ne as NavigationAppsPage
439
439
  };
440
- //# sourceMappingURL=NavigationAppsPage-CeHbxfZw.js.map
440
+ //# sourceMappingURL=NavigationAppsPage-Bebis_RT.js.map