@atlashub/smartstack 3.31.0 → 3.32.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.
- package/dist/chunks/{AgentSkillsPage-DcvOMm5k.js → AgentSkillsPage-BMxOA-nm.js} +2 -2
- package/dist/chunks/{AgentSkillsPage-DcvOMm5k.js.map → AgentSkillsPage-BMxOA-nm.js.map} +1 -1
- package/dist/chunks/{AgentSkillsPage-CDMhqrhE.js → AgentSkillsPage-DSwfoazB.js} +2 -2
- package/dist/chunks/{AgentSkillsPage-CDMhqrhE.js.map → AgentSkillsPage-DSwfoazB.js.map} +1 -1
- package/dist/chunks/{AgentWorkloadPage-YpJSDaWc.js → AgentWorkloadPage-B_emq8kd.js} +2 -2
- package/dist/chunks/{AgentWorkloadPage-YpJSDaWc.js.map → AgentWorkloadPage-B_emq8kd.js.map} +1 -1
- package/dist/chunks/{AgentWorkloadPage-DYBPNzjQ.js → AgentWorkloadPage-_USTeYWz.js} +2 -2
- package/dist/chunks/{AgentWorkloadPage-DYBPNzjQ.js.map → AgentWorkloadPage-_USTeYWz.js.map} +1 -1
- package/dist/chunks/{ApiCatalogDetailPage-9r1axtCg.js → ApiCatalogDetailPage-BC_HxVu5.js} +3 -3
- package/dist/chunks/{ApiCatalogDetailPage-9r1axtCg.js.map → ApiCatalogDetailPage-BC_HxVu5.js.map} +1 -1
- package/dist/chunks/{ApiCatalogDetailPage-TjCQ8_A8.js → ApiCatalogDetailPage-BI7zyZAd.js} +2 -2
- package/dist/chunks/{ApiCatalogDetailPage-TjCQ8_A8.js.map → ApiCatalogDetailPage-BI7zyZAd.js.map} +1 -1
- package/dist/chunks/{ApiCatalogPage-COxazTnz.js → ApiCatalogPage-CutaHo5K.js} +2 -2
- package/dist/chunks/{ApiCatalogPage-COxazTnz.js.map → ApiCatalogPage-CutaHo5K.js.map} +1 -1
- package/dist/chunks/{ApiCatalogPage-QRysH0pT.js → ApiCatalogPage-M80MorHU.js} +2 -2
- package/dist/chunks/{ApiCatalogPage-QRysH0pT.js.map → ApiCatalogPage-M80MorHU.js.map} +1 -1
- package/dist/chunks/{ApplicationDetailPage-jSHy3MPz.js → ApplicationDetailPage-DVY0wua0.js} +2 -2
- package/dist/chunks/{ApplicationDetailPage-jSHy3MPz.js.map → ApplicationDetailPage-DVY0wua0.js.map} +1 -1
- package/dist/chunks/{ApplicationDetailPage-Dbx01Ikm.js → ApplicationDetailPage-DzszwaIZ.js} +4 -4
- package/dist/chunks/{ApplicationDetailPage-Dbx01Ikm.js.map → ApplicationDetailPage-DzszwaIZ.js.map} +1 -1
- package/dist/chunks/{ApplicationsDashboardPage-CclKc0wI.js → ApplicationsDashboardPage-B3ptvnJz.js} +3 -3
- package/dist/chunks/{ApplicationsDashboardPage-CclKc0wI.js.map → ApplicationsDashboardPage-B3ptvnJz.js.map} +1 -1
- package/dist/chunks/{ApplicationsDashboardPage-CxWmOc1x.js → ApplicationsDashboardPage-D0pxqbEc.js} +2 -2
- package/dist/chunks/{ApplicationsDashboardPage-CxWmOc1x.js.map → ApplicationsDashboardPage-D0pxqbEc.js.map} +1 -1
- package/dist/chunks/{ApplicationsGridPage-D2l8cM3o.js → ApplicationsGridPage-Ca23FBSP.js} +2 -2
- package/dist/chunks/{ApplicationsGridPage-D2l8cM3o.js.map → ApplicationsGridPage-Ca23FBSP.js.map} +1 -1
- package/dist/chunks/{ApplicationsGridPage-BJXWXwyI.js → ApplicationsGridPage-qi2UCD24.js} +2 -2
- package/dist/chunks/{ApplicationsGridPage-BJXWXwyI.js.map → ApplicationsGridPage-qi2UCD24.js.map} +1 -1
- package/dist/chunks/{ApplicationsListPage-CMosl3my.js → ApplicationsListPage-CEUmBXN0.js} +2 -2
- package/dist/chunks/{ApplicationsListPage-CMosl3my.js.map → ApplicationsListPage-CEUmBXN0.js.map} +1 -1
- package/dist/chunks/{ApplicationsListPage-Dc6NGQ61.js → ApplicationsListPage-cE82bv8j.js} +2 -2
- package/dist/chunks/{ApplicationsListPage-Dc6NGQ61.js.map → ApplicationsListPage-cE82bv8j.js.map} +1 -1
- package/dist/chunks/{ApplicationsPage-DI-iMqoJ.js → ApplicationsPage-DW1BrVVN.js} +4 -4
- package/dist/chunks/{ApplicationsPage-DI-iMqoJ.js.map → ApplicationsPage-DW1BrVVN.js.map} +1 -1
- package/dist/chunks/{ApplicationsPage-DH7tpMlF.js → ApplicationsPage-RAqTs5HI.js} +2 -2
- package/dist/chunks/{ApplicationsPage-DH7tpMlF.js.map → ApplicationsPage-RAqTs5HI.js.map} +1 -1
- package/dist/chunks/{AssignmentRulesPage-E79QBSLb.js → AssignmentRulesPage-C0qnk3oR.js} +2 -2
- package/dist/chunks/{AssignmentRulesPage-E79QBSLb.js.map → AssignmentRulesPage-C0qnk3oR.js.map} +1 -1
- package/dist/chunks/{AssignmentRulesPage-B5UbujbZ.js → AssignmentRulesPage-CVgFmhEs.js} +2 -2
- package/dist/chunks/{AssignmentRulesPage-B5UbujbZ.js.map → AssignmentRulesPage-CVgFmhEs.js.map} +1 -1
- package/dist/chunks/{AssignmentsPage-CDFaL1gT.js → AssignmentsPage-Bv9HYtYN.js} +2 -2
- package/dist/chunks/{AssignmentsPage-CDFaL1gT.js.map → AssignmentsPage-Bv9HYtYN.js.map} +1 -1
- package/dist/chunks/{AssignmentsPage-CPeKJjyK.js → AssignmentsPage-z1q1C9Uz.js} +2 -2
- package/dist/chunks/{AssignmentsPage-CPeKJjyK.js.map → AssignmentsPage-z1q1C9Uz.js.map} +1 -1
- package/dist/chunks/{AuthCallbackPage-BZ3Ocos5.js → AuthCallbackPage-CcteN6Kv.js} +2 -2
- package/dist/chunks/{AuthCallbackPage-BZ3Ocos5.js.map → AuthCallbackPage-CcteN6Kv.js.map} +1 -1
- package/dist/chunks/{AuthCallbackPage-Bml48QpH.js → AuthCallbackPage-DL5PJUYJ.js} +2 -2
- package/dist/chunks/{AuthCallbackPage-Bml48QpH.js.map → AuthCallbackPage-DL5PJUYJ.js.map} +1 -1
- package/dist/chunks/{ConfirmEmailPage-DyzslZ06.js → ConfirmEmailPage-BP8VUz-A.js} +2 -2
- package/dist/chunks/{ConfirmEmailPage-DyzslZ06.js.map → ConfirmEmailPage-BP8VUz-A.js.map} +1 -1
- package/dist/chunks/{ConfirmEmailPage-DP1XPaKK.js → ConfirmEmailPage-CeflKXpN.js} +2 -2
- package/dist/chunks/{ConfirmEmailPage-DP1XPaKK.js.map → ConfirmEmailPage-CeflKXpN.js.map} +1 -1
- package/dist/chunks/{CreateSupportTicketPage-Bz2KrMik.js → CreateSupportTicketPage-BAdvWb_8.js} +2 -2
- package/dist/chunks/{CreateSupportTicketPage-Bz2KrMik.js.map → CreateSupportTicketPage-BAdvWb_8.js.map} +1 -1
- package/dist/chunks/{CreateSupportTicketPage-hKjKM0Bh.js → CreateSupportTicketPage-DDiv79-p.js} +2 -2
- package/dist/chunks/{CreateSupportTicketPage-hKjKM0Bh.js.map → CreateSupportTicketPage-DDiv79-p.js.map} +1 -1
- package/dist/chunks/{DashboardPage-B4nAd8Tj.js → DashboardPage-B_uyyRRE.js} +2 -2
- package/dist/chunks/{DashboardPage-B4nAd8Tj.js.map → DashboardPage-B_uyyRRE.js.map} +1 -1
- package/dist/chunks/{DashboardPage-rN7IFlTR.js → DashboardPage-CpoduSu7.js} +2 -2
- package/dist/chunks/{DashboardPage-rN7IFlTR.js.map → DashboardPage-CpoduSu7.js.map} +1 -1
- package/dist/chunks/{DashboardPage-CjbNGMo1.js → DashboardPage-D4pyUgdM.js} +3 -3
- package/dist/chunks/{DashboardPage-CjbNGMo1.js.map → DashboardPage-D4pyUgdM.js.map} +1 -1
- package/dist/chunks/{DashboardPage-C9qgPBS-.js → DashboardPage-Kp-MCxW4.js} +3 -3
- package/dist/chunks/{DashboardPage-C9qgPBS-.js.map → DashboardPage-Kp-MCxW4.js.map} +1 -1
- package/dist/chunks/{EscalationConfigPage-CGv2L62M.js → EscalationConfigPage-D-WCN6YS.js} +2 -2
- package/dist/chunks/{EscalationConfigPage-CGv2L62M.js.map → EscalationConfigPage-D-WCN6YS.js.map} +1 -1
- package/dist/chunks/{EscalationConfigPage-DpYDmsgw.js → EscalationConfigPage-UrLJarSI.js} +2 -2
- package/dist/chunks/{EscalationConfigPage-DpYDmsgw.js.map → EscalationConfigPage-UrLJarSI.js.map} +1 -1
- package/dist/chunks/{ForceChangePasswordPage-Db6sOrZN.js → ForceChangePasswordPage-BIh1SF5C.js} +2 -2
- package/dist/chunks/{ForceChangePasswordPage-Db6sOrZN.js.map → ForceChangePasswordPage-BIh1SF5C.js.map} +1 -1
- package/dist/chunks/{ForceChangePasswordPage-CLI_fpF4.js → ForceChangePasswordPage-FFZZRpU7.js} +2 -2
- package/dist/chunks/{ForceChangePasswordPage-CLI_fpF4.js.map → ForceChangePasswordPage-FFZZRpU7.js.map} +1 -1
- package/dist/chunks/{ForgotPasswordPage-BhMz2B6A.js → ForgotPasswordPage-BKqRF7SF.js} +2 -2
- package/dist/chunks/{ForgotPasswordPage-BhMz2B6A.js.map → ForgotPasswordPage-BKqRF7SF.js.map} +1 -1
- package/dist/chunks/{ForgotPasswordPage-D06arMXO.js → ForgotPasswordPage-BXp8qQUX.js} +2 -2
- package/dist/chunks/{ForgotPasswordPage-D06arMXO.js.map → ForgotPasswordPage-BXp8qQUX.js.map} +1 -1
- package/dist/chunks/{GroupDetailPage-BCM8KBCd.js → GroupDetailPage-a0hBx-LO.js} +5 -5
- package/dist/chunks/{GroupDetailPage-BCM8KBCd.js.map → GroupDetailPage-a0hBx-LO.js.map} +1 -1
- package/dist/chunks/{GroupDetailPage-CGMV3bWt.js → GroupDetailPage-eGGJCqgq.js} +2 -2
- package/dist/chunks/{GroupDetailPage-CGMV3bWt.js.map → GroupDetailPage-eGGJCqgq.js.map} +1 -1
- package/dist/chunks/{MyAccessRequestsPage-BBrwEomx.js → MyAccessRequestsPage-BgQSyy5d.js} +2 -2
- package/dist/chunks/{MyAccessRequestsPage-BBrwEomx.js.map → MyAccessRequestsPage-BgQSyy5d.js.map} +1 -1
- package/dist/chunks/{MyAccessRequestsPage-CrlWe3gd.js → MyAccessRequestsPage-Dmb0rUHO.js} +2 -2
- package/dist/chunks/{MyAccessRequestsPage-CrlWe3gd.js.map → MyAccessRequestsPage-Dmb0rUHO.js.map} +1 -1
- package/dist/chunks/{MyTenantsPage-BOV34_rJ.js → MyTenantsPage-BZTeqyDr.js} +3 -3
- package/dist/chunks/{MyTenantsPage-BOV34_rJ.js.map → MyTenantsPage-BZTeqyDr.js.map} +1 -1
- package/dist/chunks/{MyTenantsPage-CK4-klmd.js → MyTenantsPage-kCHBF2uA.js} +2 -2
- package/dist/chunks/{MyTenantsPage-CK4-klmd.js.map → MyTenantsPage-kCHBF2uA.js.map} +1 -1
- package/dist/chunks/{MyTicketsPage-DuhpwhZx.js → MyTicketsPage-BwNIqpCE.js} +2 -2
- package/dist/chunks/{MyTicketsPage-DuhpwhZx.js.map → MyTicketsPage-BwNIqpCE.js.map} +1 -1
- package/dist/chunks/{MyTicketsPage-CFZ1G4dG.js → MyTicketsPage-CTpjkA5t.js} +2 -2
- package/dist/chunks/{MyTicketsPage-CFZ1G4dG.js.map → MyTicketsPage-CTpjkA5t.js.map} +1 -1
- package/dist/chunks/{NavigationAppsPage-BnNQRfBP.js → NavigationAppsPage-DO5bTibb.js} +2 -2
- package/dist/chunks/{NavigationAppsPage-BnNQRfBP.js.map → NavigationAppsPage-DO5bTibb.js.map} +1 -1
- package/dist/chunks/{NavigationAppsPage-DdJxEoTZ.js → NavigationAppsPage-vx_n07SD.js} +2 -2
- package/dist/chunks/{NavigationAppsPage-DdJxEoTZ.js.map → NavigationAppsPage-vx_n07SD.js.map} +1 -1
- package/dist/chunks/{NotificationsPage-BllOlagk.js → NotificationsPage-Br9sb9AQ.js} +2 -2
- package/dist/chunks/{NotificationsPage-BllOlagk.js.map → NotificationsPage-Br9sb9AQ.js.map} +1 -1
- package/dist/chunks/{NotificationsPage-D1T_ozHl.js → NotificationsPage-CRhd752L.js} +2 -2
- package/dist/chunks/{NotificationsPage-D1T_ozHl.js.map → NotificationsPage-CRhd752L.js.map} +1 -1
- package/dist/chunks/{OnboardingWizardPage-CrAQt7qL.js → OnboardingWizardPage-BIl3Usew.js} +2 -2
- package/dist/chunks/{OnboardingWizardPage-CrAQt7qL.js.map → OnboardingWizardPage-BIl3Usew.js.map} +1 -1
- package/dist/chunks/{OnboardingWizardPage-CioLaCYz.js → OnboardingWizardPage-CjqxWX7h.js} +2 -2
- package/dist/chunks/{OnboardingWizardPage-CioLaCYz.js.map → OnboardingWizardPage-CjqxWX7h.js.map} +1 -1
- package/dist/chunks/{PermissionDetailPage-CvPqugYu.js → PermissionDetailPage-COIuJXH-.js} +2 -2
- package/dist/chunks/{PermissionDetailPage-CvPqugYu.js.map → PermissionDetailPage-COIuJXH-.js.map} +1 -1
- package/dist/chunks/{PermissionDetailPage-BIG78-1-.js → PermissionDetailPage-P_d6xnY0.js} +2 -2
- package/dist/chunks/{PermissionDetailPage-BIG78-1-.js.map → PermissionDetailPage-P_d6xnY0.js.map} +1 -1
- package/dist/chunks/{PermissionsPage-CDSuc8vw.js → PermissionsPage-BhjnMyFY.js} +2 -2
- package/dist/chunks/{PermissionsPage-CDSuc8vw.js.map → PermissionsPage-BhjnMyFY.js.map} +1 -1
- package/dist/chunks/{PermissionsPage-XaOrGrPZ.js → PermissionsPage-CHYy8XFr.js} +2 -2
- package/dist/chunks/{PermissionsPage-XaOrGrPZ.js.map → PermissionsPage-CHYy8XFr.js.map} +1 -1
- package/dist/chunks/{PortalDashboardPage-oSD7oQhJ.js → PortalDashboardPage-BwQ4NQrH.js} +2 -2
- package/dist/chunks/{PortalDashboardPage-oSD7oQhJ.js.map → PortalDashboardPage-BwQ4NQrH.js.map} +1 -1
- package/dist/chunks/{PortalDashboardPage-BsWVXkMe.js → PortalDashboardPage-hLJcfGnT.js} +2 -2
- package/dist/chunks/{PortalDashboardPage-BsWVXkMe.js.map → PortalDashboardPage-hLJcfGnT.js.map} +1 -1
- package/dist/chunks/{PreferencesPage-ca2BOdoH.js → PreferencesPage-DYYqisR0.js} +2 -2
- package/dist/chunks/{PreferencesPage-ca2BOdoH.js.map → PreferencesPage-DYYqisR0.js.map} +1 -1
- package/dist/chunks/{PreferencesPage-DD0_XWdT.js → PreferencesPage-DzpM-lpD.js} +2 -2
- package/dist/chunks/{PreferencesPage-DD0_XWdT.js.map → PreferencesPage-DzpM-lpD.js.map} +1 -1
- package/dist/chunks/{ProfilePage-C8tUIOnb.js → ProfilePage-D98bvXeT.js} +2 -2
- package/dist/chunks/{ProfilePage-C8tUIOnb.js.map → ProfilePage-D98bvXeT.js.map} +1 -1
- package/dist/chunks/{ProfilePage-Bex_JN5N.js → ProfilePage-DWRDN0fo.js} +2 -2
- package/dist/chunks/{ProfilePage-Bex_JN5N.js.map → ProfilePage-DWRDN0fo.js.map} +1 -1
- package/dist/chunks/{ReferencesManagementPage-B-FXS2ln.js → ReferencesManagementPage-B0Cq9BHS.js} +2 -2
- package/dist/chunks/{ReferencesManagementPage-B-FXS2ln.js.map → ReferencesManagementPage-B0Cq9BHS.js.map} +1 -1
- package/dist/chunks/{ReferencesManagementPage-C8KZprkI.js → ReferencesManagementPage-CxbfOBs2.js} +3 -3
- package/dist/chunks/{ReferencesManagementPage-C8KZprkI.js.map → ReferencesManagementPage-CxbfOBs2.js.map} +1 -1
- package/dist/chunks/{RegisterPage-MWcVu-LY.js → RegisterPage-DMeq3GzW.js} +2 -2
- package/dist/chunks/{RegisterPage-MWcVu-LY.js.map → RegisterPage-DMeq3GzW.js.map} +1 -1
- package/dist/chunks/{RegisterPage-BYt__zKJ.js → RegisterPage-DvG2Php7.js} +2 -2
- package/dist/chunks/{RegisterPage-BYt__zKJ.js.map → RegisterPage-DvG2Php7.js.map} +1 -1
- package/dist/chunks/{ResetPasswordPage-rCLUIj_T.js → ResetPasswordPage-DOTswepm.js} +2 -2
- package/dist/chunks/{ResetPasswordPage-rCLUIj_T.js.map → ResetPasswordPage-DOTswepm.js.map} +1 -1
- package/dist/chunks/{ResetPasswordPage-DaJiMj5Z.js → ResetPasswordPage-ntMMFvDo.js} +2 -2
- package/dist/chunks/{ResetPasswordPage-DaJiMj5Z.js.map → ResetPasswordPage-ntMMFvDo.js.map} +1 -1
- package/dist/chunks/{ResolutionModal-j7Rp6apG.js → ResolutionModal-CKt73sIZ.js} +2 -2
- package/dist/chunks/{ResolutionModal-j7Rp6apG.js.map → ResolutionModal-CKt73sIZ.js.map} +1 -1
- package/dist/chunks/{ResolutionModal-DeuPnLWg.js → ResolutionModal-XGHCELez.js} +2 -2
- package/dist/chunks/{ResolutionModal-DeuPnLWg.js.map → ResolutionModal-XGHCELez.js.map} +1 -1
- package/dist/chunks/{RoleDetailPage-CLtZWX17.js → RoleDetailPage-BtnYTVN6.js} +3 -3
- package/dist/chunks/{RoleDetailPage-CLtZWX17.js.map → RoleDetailPage-BtnYTVN6.js.map} +1 -1
- package/dist/chunks/{RoleDetailPage-TGyGmLMM.js → RoleDetailPage-DAp65p0d.js} +2 -2
- package/dist/chunks/{RoleDetailPage-TGyGmLMM.js.map → RoleDetailPage-DAp65p0d.js.map} +1 -1
- package/dist/chunks/{RolesPage-Dm03fBBf.js → RolesPage-DyEhJHxw.js} +2 -2
- package/dist/chunks/{RolesPage-Dm03fBBf.js.map → RolesPage-DyEhJHxw.js.map} +1 -1
- package/dist/chunks/{RolesPage-C0c5G9e7.js → RolesPage-FmZCLEYo.js} +2 -2
- package/dist/chunks/{RolesPage-C0c5G9e7.js.map → RolesPage-FmZCLEYo.js.map} +1 -1
- package/dist/chunks/{SlaConfigPage-B4WDzEKi.js → SlaConfigPage-DTtP2Q4t.js} +2 -2
- package/dist/chunks/{SlaConfigPage-B4WDzEKi.js.map → SlaConfigPage-DTtP2Q4t.js.map} +1 -1
- package/dist/chunks/{SlaConfigPage-Cwo9NwxH.js → SlaConfigPage-LpVD_ai4.js} +2 -2
- package/dist/chunks/{SlaConfigPage-Cwo9NwxH.js.map → SlaConfigPage-LpVD_ai4.js.map} +1 -1
- package/dist/chunks/{SupportPermissionsPage-CL12dFy-.js → SupportPermissionsPage-BV8F_Tl3.js} +2 -2
- package/dist/chunks/{SupportPermissionsPage-CL12dFy-.js.map → SupportPermissionsPage-BV8F_Tl3.js.map} +1 -1
- package/dist/chunks/{SupportPermissionsPage-CneIhl30.js → SupportPermissionsPage-Bzfq6pKf.js} +2 -2
- package/dist/chunks/{SupportPermissionsPage-CneIhl30.js.map → SupportPermissionsPage-Bzfq6pKf.js.map} +1 -1
- package/dist/chunks/{TemplatesPage-DStKmwHT.js → TemplatesPage-CYHH5WlP.js} +2 -2
- package/dist/chunks/{TemplatesPage-DStKmwHT.js.map → TemplatesPage-CYHH5WlP.js.map} +1 -1
- package/dist/chunks/{TemplatesPage-X4Rrhs9p.js → TemplatesPage-czt_RH5f.js} +2 -2
- package/dist/chunks/{TemplatesPage-X4Rrhs9p.js.map → TemplatesPage-czt_RH5f.js.map} +1 -1
- package/dist/chunks/{TenantCard-BUBYWtvR.js → TenantCard-Bqh5PGJx.js} +2 -2
- package/dist/chunks/{TenantCard-BUBYWtvR.js.map → TenantCard-Bqh5PGJx.js.map} +1 -1
- package/dist/chunks/{TenantCard-CAgiB-NG.js → TenantCard-C6qKD480.js} +2 -2
- package/dist/chunks/{TenantCard-CAgiB-NG.js.map → TenantCard-C6qKD480.js.map} +1 -1
- package/dist/chunks/{TenantScopeSelector-BAoah-mL.js → TenantScopeSelector-DWUP8Le7.js} +2 -2
- package/dist/chunks/{TenantScopeSelector-BAoah-mL.js.map → TenantScopeSelector-DWUP8Le7.js.map} +1 -1
- package/dist/chunks/{TenantScopeSelector-B9vtpIZx.js → TenantScopeSelector-DxQ7HNbh.js} +2 -2
- package/dist/chunks/{TenantScopeSelector-B9vtpIZx.js.map → TenantScopeSelector-DxQ7HNbh.js.map} +1 -1
- package/dist/chunks/{TicketDetailPage-BFcP4X8s.js → TicketDetailPage-BuxXLcJi.js} +2 -2
- package/dist/chunks/{TicketDetailPage-BFcP4X8s.js.map → TicketDetailPage-BuxXLcJi.js.map} +1 -1
- package/dist/chunks/{TicketDetailPage-D_Npnt4A.js → TicketDetailPage-Dy4pg33-.js} +2 -2
- package/dist/chunks/{TicketDetailPage-D_Npnt4A.js.map → TicketDetailPage-Dy4pg33-.js.map} +1 -1
- package/dist/chunks/{TicketsPage-p21DLhUb.js → TicketsPage-Ck-HUgte.js} +2 -2
- package/dist/chunks/{TicketsPage-p21DLhUb.js.map → TicketsPage-Ck-HUgte.js.map} +1 -1
- package/dist/chunks/{TicketsPage-DBP9kalU.js → TicketsPage-jlN9JDzm.js} +2 -2
- package/dist/chunks/{TicketsPage-DBP9kalU.js.map → TicketsPage-jlN9JDzm.js.map} +1 -1
- package/dist/chunks/{UserCreateTicketPage-DOwShnG8.js → UserCreateTicketPage-BrRZyXMn.js} +2 -2
- package/dist/chunks/{UserCreateTicketPage-DOwShnG8.js.map → UserCreateTicketPage-BrRZyXMn.js.map} +1 -1
- package/dist/chunks/{UserCreateTicketPage-lvlvp2u6.js → UserCreateTicketPage-D58Ro4Nb.js} +2 -2
- package/dist/chunks/{UserCreateTicketPage-lvlvp2u6.js.map → UserCreateTicketPage-D58Ro4Nb.js.map} +1 -1
- package/dist/chunks/{UserDashboardPage-Dp6q6FEW.js → UserDashboardPage-C5ulSzaI.js} +2 -2
- package/dist/chunks/{UserDashboardPage-Dp6q6FEW.js.map → UserDashboardPage-C5ulSzaI.js.map} +1 -1
- package/dist/chunks/{UserDashboardPage-C_tm7Pld.js → UserDashboardPage-CjAx5OHh.js} +2 -2
- package/dist/chunks/{UserDashboardPage-C_tm7Pld.js.map → UserDashboardPage-CjAx5OHh.js.map} +1 -1
- package/dist/chunks/{UserDetailPage-DXLxO7LF.js → UserDetailPage-Bhpry9xq.js} +2 -2
- package/dist/chunks/{UserDetailPage-DXLxO7LF.js.map → UserDetailPage-Bhpry9xq.js.map} +1 -1
- package/dist/chunks/{UserDetailPage-6grZ6gmV.js → UserDetailPage-DUu2mA_n.js} +5 -5
- package/dist/chunks/{UserDetailPage-6grZ6gmV.js.map → UserDetailPage-DUu2mA_n.js.map} +1 -1
- package/dist/chunks/{UserTicketDetailPage-a4II5VEE.js → UserTicketDetailPage-DpFFjIso.js} +2 -2
- package/dist/chunks/{UserTicketDetailPage-a4II5VEE.js.map → UserTicketDetailPage-DpFFjIso.js.map} +1 -1
- package/dist/chunks/{UserTicketDetailPage-Ch9IfCPo.js → UserTicketDetailPage-YJvBWFEu.js} +2 -2
- package/dist/chunks/{UserTicketDetailPage-Ch9IfCPo.js.map → UserTicketDetailPage-YJvBWFEu.js.map} +1 -1
- package/dist/chunks/{UsersGroupsPage-BeAv4QfV.js → UsersGroupsPage-b2PTQX_m.js} +2 -2
- package/dist/chunks/{UsersGroupsPage-BeAv4QfV.js.map → UsersGroupsPage-b2PTQX_m.js.map} +1 -1
- package/dist/chunks/{UsersGroupsPage-B7Er0V4l.js → UsersGroupsPage-l33K3Nca.js} +3 -3
- package/dist/chunks/{UsersGroupsPage-B7Er0V4l.js.map → UsersGroupsPage-l33K3Nca.js.map} +1 -1
- package/dist/chunks/{UsersPage-ZR9r9vvf.js → UsersPage-BjC5ZqTa.js} +2 -2
- package/dist/chunks/{UsersPage-ZR9r9vvf.js.map → UsersPage-BjC5ZqTa.js.map} +1 -1
- package/dist/chunks/{UsersPage-0M1FLqOe.js → UsersPage-NsTukS8m.js} +2 -2
- package/dist/chunks/{UsersPage-0M1FLqOe.js.map → UsersPage-NsTukS8m.js.map} +1 -1
- package/dist/chunks/{accessRequestsApi-CBpF5d54.js → accessRequestsApi-C2usKVGJ.js} +2 -2
- package/dist/chunks/{accessRequestsApi-CBpF5d54.js.map → accessRequestsApi-C2usKVGJ.js.map} +1 -1
- package/dist/chunks/{accessRequestsApi-BJH8EE1K.js → accessRequestsApi-LuovcP6l.js} +2 -2
- package/dist/chunks/{accessRequestsApi-BJH8EE1K.js.map → accessRequestsApi-LuovcP6l.js.map} +1 -1
- package/dist/chunks/{aiApi-Dl7a2lWz.js → aiApi-B03u3zUH.js} +2 -2
- package/dist/chunks/{aiApi-Dl7a2lWz.js.map → aiApi-B03u3zUH.js.map} +1 -1
- package/dist/chunks/{aiApi-CkkWAvNB.js → aiApi-Cwg0B8PJ.js} +2 -2
- package/dist/chunks/{aiApi-CkkWAvNB.js.map → aiApi-Cwg0B8PJ.js.map} +1 -1
- package/dist/chunks/{applicationAnalyticsApi-BwcSE_H1.js → applicationAnalyticsApi-BobBdehV.js} +2 -2
- package/dist/chunks/{applicationAnalyticsApi-BwcSE_H1.js.map → applicationAnalyticsApi-BobBdehV.js.map} +1 -1
- package/dist/chunks/{applicationAnalyticsApi-DKMmDvWk.js → applicationAnalyticsApi-jCZhWKOx.js} +2 -2
- package/dist/chunks/{applicationAnalyticsApi-DKMmDvWk.js.map → applicationAnalyticsApi-jCZhWKOx.js.map} +1 -1
- package/dist/chunks/{groupsApi-BzDV3_Jc.js → groupsApi-CoxnW9vH.js} +2 -2
- package/dist/chunks/{groupsApi-BzDV3_Jc.js.map → groupsApi-CoxnW9vH.js.map} +1 -1
- package/dist/chunks/{groupsApi-CQ4vFMdP.js → groupsApi-D2lFFcgu.js} +2 -2
- package/dist/chunks/{groupsApi-CQ4vFMdP.js.map → groupsApi-D2lFFcgu.js.map} +1 -1
- package/dist/chunks/{index-Det9dEaQ.js → index-B5U_Jp0-.js} +2 -2
- package/dist/chunks/{index-Det9dEaQ.js.map → index-B5U_Jp0-.js.map} +1 -1
- package/dist/chunks/{index-D18t9DhC.js → index-BDB_a-p7.js} +4 -4
- package/dist/chunks/{index-D18t9DhC.js.map → index-BDB_a-p7.js.map} +1 -1
- package/dist/chunks/{index-CUZygY5Q.js → index-BbHRJz-n.js} +2 -2
- package/dist/chunks/{index-CUZygY5Q.js.map → index-BbHRJz-n.js.map} +1 -1
- package/dist/chunks/{index-CoHIgn5H.js → index-CI2WU5ZZ.js} +2 -2
- package/dist/chunks/{index-CoHIgn5H.js.map → index-CI2WU5ZZ.js.map} +1 -1
- package/dist/chunks/{index-D-2xSu5W.js → index-CLk9ClC2.js} +3 -3
- package/dist/chunks/{index-D-2xSu5W.js.map → index-CLk9ClC2.js.map} +1 -1
- package/dist/chunks/{index-Dbq-x5H9.js → index-CmTKGOa_.js} +2 -2
- package/dist/chunks/{index-Dbq-x5H9.js.map → index-CmTKGOa_.js.map} +1 -1
- package/dist/chunks/{index-k4USDz2P.js → index-D5oIr6PO.js} +2 -2
- package/dist/chunks/{index-k4USDz2P.js.map → index-D5oIr6PO.js.map} +1 -1
- package/dist/chunks/{index-Cib93xtp.js → index-DC6TBJV_.js} +2 -2
- package/dist/chunks/{index-Cib93xtp.js.map → index-DC6TBJV_.js.map} +1 -1
- package/dist/chunks/{index-CpY95_ro.js → index-DN97bp_f.js} +1128 -1093
- package/dist/chunks/index-DN97bp_f.js.map +1 -0
- package/dist/chunks/{index-BPMjxWVx.js → index-DRW5qV_L.js} +2 -2
- package/dist/chunks/{index-BPMjxWVx.js.map → index-DRW5qV_L.js.map} +1 -1
- package/dist/chunks/{index-DQd324n7.js → index-DcLZao1q.js} +2 -2
- package/dist/chunks/{index-DQd324n7.js.map → index-DcLZao1q.js.map} +1 -1
- package/dist/chunks/{index-bgT9XOKZ.js → index-DcMOmGtX.js} +2 -2
- package/dist/chunks/{index-bgT9XOKZ.js.map → index-DcMOmGtX.js.map} +1 -1
- package/dist/chunks/{index-DK5czlkn.js → index-DnML-nfd.js} +10 -10
- package/dist/chunks/index-DnML-nfd.js.map +1 -0
- package/dist/chunks/{index-BBmMbSZV.js → index-Drd59qAP.js} +8 -8
- package/dist/chunks/{index-BBmMbSZV.js.map → index-Drd59qAP.js.map} +1 -1
- package/dist/chunks/{index-CEbwdURd.js → index-EiIHjIgi.js} +2 -2
- package/dist/chunks/{index-CEbwdURd.js.map → index-EiIHjIgi.js.map} +1 -1
- package/dist/chunks/{index-BLlESTfA.js → index-axYz6ptj.js} +2 -2
- package/dist/chunks/{index-BLlESTfA.js.map → index-axYz6ptj.js.map} +1 -1
- package/dist/chunks/{index-Ci1SqFiY.js → index-lXrXnhFc.js} +2 -2
- package/dist/chunks/{index-Ci1SqFiY.js.map → index-lXrXnhFc.js.map} +1 -1
- package/dist/chunks/{index-h7ZrwrQg.js → index-rI-1r6c2.js} +2 -2
- package/dist/chunks/{index-h7ZrwrQg.js.map → index-rI-1r6c2.js.map} +1 -1
- package/dist/chunks/{tenantIconMap-Dk6K-UTE.js → tenantIconMap-B4wAYGWP.js} +2 -2
- package/dist/chunks/{tenantIconMap-Dk6K-UTE.js.map → tenantIconMap-B4wAYGWP.js.map} +1 -1
- package/dist/chunks/{tenantIconMap-7ihIWxAh.js → tenantIconMap-Cfm15HwB.js} +2 -2
- package/dist/chunks/{tenantIconMap-7ihIWxAh.js.map → tenantIconMap-Cfm15HwB.js.map} +1 -1
- package/dist/chunks/{ticketingApi-BCMKkzlv.js → ticketingApi-CLMAPZDw.js} +2 -2
- package/dist/chunks/{ticketingApi-BCMKkzlv.js.map → ticketingApi-CLMAPZDw.js.map} +1 -1
- package/dist/chunks/{ticketingApi-Dwn7pl5z.js → ticketingApi-CTap4NdE.js} +2 -2
- package/dist/chunks/{ticketingApi-Dwn7pl5z.js.map → ticketingApi-CTap4NdE.js.map} +1 -1
- package/dist/chunks/{useAccessRequests-gJ7yhWyi.js → useAccessRequests-CBpDkq9o.js} +2 -2
- package/dist/chunks/{useAccessRequests-gJ7yhWyi.js.map → useAccessRequests-CBpDkq9o.js.map} +1 -1
- package/dist/chunks/{useAccessRequests-Du7CvowE.js → useAccessRequests-Cj2-OoAW.js} +3 -3
- package/dist/chunks/{useAccessRequests-Du7CvowE.js.map → useAccessRequests-Cj2-OoAW.js.map} +1 -1
- package/dist/chunks/{useUserAccessRequests-5wWea2Jg.js → useUserAccessRequests-C6l2VMe1.js} +2 -2
- package/dist/chunks/{useUserAccessRequests-5wWea2Jg.js.map → useUserAccessRequests-C6l2VMe1.js.map} +1 -1
- package/dist/chunks/{useUserAccessRequests-Bk_v8egy.js → useUserAccessRequests-Ds3K-ENU.js} +2 -2
- package/dist/chunks/{useUserAccessRequests-Bk_v8egy.js.map → useUserAccessRequests-Ds3K-ENU.js.map} +1 -1
- package/dist/components/routing/DynamicRouter.d.ts.map +1 -1
- package/dist/components/routing/ProtectedRoute.d.ts.map +1 -1
- package/dist/contexts/AuthContext.d.ts.map +1 -1
- package/dist/contexts/NavigationContext.d.ts.map +1 -1
- package/dist/extensions/PageRegistry.d.ts +2 -0
- package/dist/extensions/PageRegistry.d.ts.map +1 -1
- package/dist/services/api/adminApi/settings.d.ts +8 -3
- package/dist/services/api/adminApi/settings.d.ts.map +1 -1
- package/dist/smartstack.cjs +1 -1
- package/dist/smartstack.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/index-CpY95_ro.js.map +0 -1
- package/dist/chunks/index-DK5czlkn.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfilePage-
|
|
1
|
+
{"version":3,"file":"ProfilePage-D98bvXeT.js","sources":["../../src/pages/personal/myspace/ProfilePage.tsx"],"sourcesContent":["import { useState, useEffect } from 'react';\r\nimport type { ReactElement } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Mail, Calendar, Construction, X } from 'lucide-react';\r\nimport { useAuth } from '@/contexts/AuthContext';\r\n\r\nexport function ProfilePage(): ReactElement {\r\n const { t } = useTranslation(['navigation', 'common']);\r\n const { user } = useAuth();\r\n const [notification, setNotification] = useState<string | null>(null);\r\n\r\n useEffect(() => {\r\n if (notification) {\r\n const timer = setTimeout(() => setNotification(null), 4000);\r\n return () => clearTimeout(timer);\r\n }\r\n }, [notification]);\r\n\r\n const handleComingSoon = () => {\r\n setNotification(t('common:underDevelopment.description'));\r\n };\r\n\r\n const displayName = user?.firstName && user?.lastName\r\n ? `${user.firstName} ${user.lastName}`\r\n : user?.email || t('common:name');\r\n\r\n const initials = user?.firstName && user?.lastName\r\n ? `${user.firstName.at(0)}${user.lastName.at(0)}`.toUpperCase()\r\n : user?.email?.at(0)?.toUpperCase() || 'U';\r\n\r\n return (\r\n <div className=\"space-y-6\">\r\n <div>\r\n <h1 className=\"text-2xl font-bold text-[var(--text-primary)]\">{t('navigation:sidebar.profile')}</h1>\r\n <p className=\"text-[var(--text-secondary)] mt-1\">{t('navigation:profile.subtitle')}</p>\r\n </div>\r\n\r\n {notification && (\r\n <div\r\n className=\"flex items-center gap-3 p-4 bg-amber-50 dark:bg-amber-900/20 border border-amber-200 dark:border-amber-800 text-amber-800 dark:text-amber-200\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <Construction className=\"w-5 h-5 flex-shrink-0\" />\r\n <span className=\"flex-1 text-sm\">{notification}</span>\r\n <button\r\n onClick={() => setNotification(null)}\r\n className=\"p-1 hover:bg-amber-100 dark:hover:bg-amber-800/30 rounded transition-colors\"\r\n >\r\n <X className=\"w-4 h-4\" />\r\n </button>\r\n </div>\r\n )}\r\n\r\n <div\r\n className=\"bg-[var(--bg-card)] border border-[var(--border-color)] p-6\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <div className=\"flex items-center gap-6 mb-6\">\r\n <div\r\n className=\"w-20 h-20 bg-gradient-to-br from-[var(--color-accent-500)] to-[var(--color-accent-600)] flex items-center justify-center text-white text-2xl font-bold\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n {initials}\r\n </div>\r\n <div>\r\n <h2 className=\"text-xl font-semibold text-[var(--text-primary)]\">{displayName}</h2>\r\n <p className=\"text-[var(--text-secondary)]\">{user?.email}</p>\r\n {user?.roles && user.roles.length > 0 && (\r\n <div className=\"flex flex-wrap gap-2 mt-2\">\r\n {user.roles.map((role) => (\r\n <span\r\n key={role}\r\n className=\"px-2 py-1 text-xs font-medium bg-[var(--accent-bg)] text-[var(--color-accent-600)]\"\r\n style={{ borderRadius: 'var(--radius-badge)' }}\r\n >\r\n {role}\r\n </span>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n\r\n <div className=\"space-y-4\">\r\n <div className=\"flex items-center gap-3 text-[var(--text-secondary)]\">\r\n <Mail className=\"w-5 h-5\" />\r\n <span>{user?.email || t('navigation:profile.notProvided')}</span>\r\n </div>\r\n <div className=\"flex items-center gap-3 text-[var(--text-secondary)]\">\r\n <Calendar className=\"w-5 h-5\" />\r\n <span>{t('navigation:profile.memberSince', { date: 'janvier 2024' })}</span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"mt-6 pt-6 border-t border-[var(--border-color)]\">\r\n <button\r\n onClick={handleComingSoon}\r\n className=\"px-4 py-2 bg-[var(--color-accent-500)] hover:bg-[var(--color-accent-600)] text-white font-medium transition-colors\"\r\n style={{ borderRadius: 'var(--radius-button)' }}\r\n >\r\n {t('common:buttons.edit')}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div\r\n className=\"bg-[var(--bg-card)] border border-[var(--border-color)] p-6\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <h3 className=\"text-lg font-semibold text-[var(--text-primary)] mb-4\">{t('navigation:profile.security.title')}</h3>\r\n <div className=\"space-y-4\">\r\n <div className=\"flex items-center justify-between\">\r\n <div>\r\n <p className=\"font-medium text-[var(--text-primary)]\">{t('navigation:profile.security.password')}</p>\r\n <p className=\"text-sm text-[var(--text-secondary)]\">{t('navigation:profile.security.lastChanged', { days: 30 })}</p>\r\n </div>\r\n <button\r\n onClick={handleComingSoon}\r\n className=\"px-3 py-1.5 text-sm bg-[var(--bg-tertiary)] hover:bg-[var(--bg-hover)] text-[var(--text-primary)] transition-colors\"\r\n style={{ borderRadius: 'var(--radius-button)' }}\r\n >\r\n {t('common:buttons.edit')}\r\n </button>\r\n </div>\r\n <div className=\"flex items-center justify-between\">\r\n <div>\r\n <p className=\"font-medium text-[var(--text-primary)]\">{t('navigation:profile.security.twoFactor')}</p>\r\n <p className=\"text-sm text-[var(--text-secondary)]\">{t('navigation:profile.security.notEnabled')}</p>\r\n </div>\r\n <button\r\n onClick={handleComingSoon}\r\n className=\"px-3 py-1.5 text-sm bg-[var(--bg-tertiary)] hover:bg-[var(--bg-hover)] text-[var(--text-primary)] transition-colors\"\r\n style={{ borderRadius: 'var(--radius-button)' }}\r\n >\r\n {t('navigation:profile.security.enable')}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["ProfilePage","useTranslation","user","useAuth","notification","setNotification","useState","useEffect","timer","handleComingSoon","displayName","initials","jsxs","jsx","Construction","X","role","Mail","Calendar"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { jsxs as a, jsx as e } from "react/jsx-runtime";
|
|
|
2
2
|
import { useState as d, useEffect as m } from "react";
|
|
3
3
|
import { useTranslation as v } from "react-i18next";
|
|
4
4
|
import { Construction as b, X as p, Mail as x, Calendar as h } from "lucide-react";
|
|
5
|
-
import { o as u } from "./index-
|
|
5
|
+
import { o as u } from "./index-DN97bp_f.js";
|
|
6
6
|
function C() {
|
|
7
7
|
const { t } = v(["navigation", "common"]), { user: r } = u(), [i, o] = d(null);
|
|
8
8
|
m(() => {
|
|
@@ -136,4 +136,4 @@ function C() {
|
|
|
136
136
|
export {
|
|
137
137
|
C as ProfilePage
|
|
138
138
|
};
|
|
139
|
-
//# sourceMappingURL=ProfilePage-
|
|
139
|
+
//# sourceMappingURL=ProfilePage-DWRDN0fo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfilePage-Bex_JN5N.js","sources":["../../src/pages/personal/myspace/ProfilePage.tsx"],"sourcesContent":["import { useState, useEffect } from 'react';\r\nimport type { ReactElement } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Mail, Calendar, Construction, X } from 'lucide-react';\r\nimport { useAuth } from '@/contexts/AuthContext';\r\n\r\nexport function ProfilePage(): ReactElement {\r\n const { t } = useTranslation(['navigation', 'common']);\r\n const { user } = useAuth();\r\n const [notification, setNotification] = useState<string | null>(null);\r\n\r\n useEffect(() => {\r\n if (notification) {\r\n const timer = setTimeout(() => setNotification(null), 4000);\r\n return () => clearTimeout(timer);\r\n }\r\n }, [notification]);\r\n\r\n const handleComingSoon = () => {\r\n setNotification(t('common:underDevelopment.description'));\r\n };\r\n\r\n const displayName = user?.firstName && user?.lastName\r\n ? `${user.firstName} ${user.lastName}`\r\n : user?.email || t('common:name');\r\n\r\n const initials = user?.firstName && user?.lastName\r\n ? `${user.firstName.at(0)}${user.lastName.at(0)}`.toUpperCase()\r\n : user?.email?.at(0)?.toUpperCase() || 'U';\r\n\r\n return (\r\n <div className=\"space-y-6\">\r\n <div>\r\n <h1 className=\"text-2xl font-bold text-[var(--text-primary)]\">{t('navigation:sidebar.profile')}</h1>\r\n <p className=\"text-[var(--text-secondary)] mt-1\">{t('navigation:profile.subtitle')}</p>\r\n </div>\r\n\r\n {notification && (\r\n <div\r\n className=\"flex items-center gap-3 p-4 bg-amber-50 dark:bg-amber-900/20 border border-amber-200 dark:border-amber-800 text-amber-800 dark:text-amber-200\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <Construction className=\"w-5 h-5 flex-shrink-0\" />\r\n <span className=\"flex-1 text-sm\">{notification}</span>\r\n <button\r\n onClick={() => setNotification(null)}\r\n className=\"p-1 hover:bg-amber-100 dark:hover:bg-amber-800/30 rounded transition-colors\"\r\n >\r\n <X className=\"w-4 h-4\" />\r\n </button>\r\n </div>\r\n )}\r\n\r\n <div\r\n className=\"bg-[var(--bg-card)] border border-[var(--border-color)] p-6\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <div className=\"flex items-center gap-6 mb-6\">\r\n <div\r\n className=\"w-20 h-20 bg-gradient-to-br from-[var(--color-accent-500)] to-[var(--color-accent-600)] flex items-center justify-center text-white text-2xl font-bold\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n {initials}\r\n </div>\r\n <div>\r\n <h2 className=\"text-xl font-semibold text-[var(--text-primary)]\">{displayName}</h2>\r\n <p className=\"text-[var(--text-secondary)]\">{user?.email}</p>\r\n {user?.roles && user.roles.length > 0 && (\r\n <div className=\"flex flex-wrap gap-2 mt-2\">\r\n {user.roles.map((role) => (\r\n <span\r\n key={role}\r\n className=\"px-2 py-1 text-xs font-medium bg-[var(--accent-bg)] text-[var(--color-accent-600)]\"\r\n style={{ borderRadius: 'var(--radius-badge)' }}\r\n >\r\n {role}\r\n </span>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n\r\n <div className=\"space-y-4\">\r\n <div className=\"flex items-center gap-3 text-[var(--text-secondary)]\">\r\n <Mail className=\"w-5 h-5\" />\r\n <span>{user?.email || t('navigation:profile.notProvided')}</span>\r\n </div>\r\n <div className=\"flex items-center gap-3 text-[var(--text-secondary)]\">\r\n <Calendar className=\"w-5 h-5\" />\r\n <span>{t('navigation:profile.memberSince', { date: 'janvier 2024' })}</span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"mt-6 pt-6 border-t border-[var(--border-color)]\">\r\n <button\r\n onClick={handleComingSoon}\r\n className=\"px-4 py-2 bg-[var(--color-accent-500)] hover:bg-[var(--color-accent-600)] text-white font-medium transition-colors\"\r\n style={{ borderRadius: 'var(--radius-button)' }}\r\n >\r\n {t('common:buttons.edit')}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div\r\n className=\"bg-[var(--bg-card)] border border-[var(--border-color)] p-6\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <h3 className=\"text-lg font-semibold text-[var(--text-primary)] mb-4\">{t('navigation:profile.security.title')}</h3>\r\n <div className=\"space-y-4\">\r\n <div className=\"flex items-center justify-between\">\r\n <div>\r\n <p className=\"font-medium text-[var(--text-primary)]\">{t('navigation:profile.security.password')}</p>\r\n <p className=\"text-sm text-[var(--text-secondary)]\">{t('navigation:profile.security.lastChanged', { days: 30 })}</p>\r\n </div>\r\n <button\r\n onClick={handleComingSoon}\r\n className=\"px-3 py-1.5 text-sm bg-[var(--bg-tertiary)] hover:bg-[var(--bg-hover)] text-[var(--text-primary)] transition-colors\"\r\n style={{ borderRadius: 'var(--radius-button)' }}\r\n >\r\n {t('common:buttons.edit')}\r\n </button>\r\n </div>\r\n <div className=\"flex items-center justify-between\">\r\n <div>\r\n <p className=\"font-medium text-[var(--text-primary)]\">{t('navigation:profile.security.twoFactor')}</p>\r\n <p className=\"text-sm text-[var(--text-secondary)]\">{t('navigation:profile.security.notEnabled')}</p>\r\n </div>\r\n <button\r\n onClick={handleComingSoon}\r\n className=\"px-3 py-1.5 text-sm bg-[var(--bg-tertiary)] hover:bg-[var(--bg-hover)] text-[var(--text-primary)] transition-colors\"\r\n style={{ borderRadius: 'var(--radius-button)' }}\r\n >\r\n {t('navigation:profile.security.enable')}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["ProfilePage","useTranslation","user","useAuth","notification","setNotification","useState","useEffect","timer","handleComingSoon","displayName","initials","jsxs","jsx","Construction","X","role","Mail","Calendar"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProfilePage-DWRDN0fo.js","sources":["../../src/pages/personal/myspace/ProfilePage.tsx"],"sourcesContent":["import { useState, useEffect } from 'react';\r\nimport type { ReactElement } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Mail, Calendar, Construction, X } from 'lucide-react';\r\nimport { useAuth } from '@/contexts/AuthContext';\r\n\r\nexport function ProfilePage(): ReactElement {\r\n const { t } = useTranslation(['navigation', 'common']);\r\n const { user } = useAuth();\r\n const [notification, setNotification] = useState<string | null>(null);\r\n\r\n useEffect(() => {\r\n if (notification) {\r\n const timer = setTimeout(() => setNotification(null), 4000);\r\n return () => clearTimeout(timer);\r\n }\r\n }, [notification]);\r\n\r\n const handleComingSoon = () => {\r\n setNotification(t('common:underDevelopment.description'));\r\n };\r\n\r\n const displayName = user?.firstName && user?.lastName\r\n ? `${user.firstName} ${user.lastName}`\r\n : user?.email || t('common:name');\r\n\r\n const initials = user?.firstName && user?.lastName\r\n ? `${user.firstName.at(0)}${user.lastName.at(0)}`.toUpperCase()\r\n : user?.email?.at(0)?.toUpperCase() || 'U';\r\n\r\n return (\r\n <div className=\"space-y-6\">\r\n <div>\r\n <h1 className=\"text-2xl font-bold text-[var(--text-primary)]\">{t('navigation:sidebar.profile')}</h1>\r\n <p className=\"text-[var(--text-secondary)] mt-1\">{t('navigation:profile.subtitle')}</p>\r\n </div>\r\n\r\n {notification && (\r\n <div\r\n className=\"flex items-center gap-3 p-4 bg-amber-50 dark:bg-amber-900/20 border border-amber-200 dark:border-amber-800 text-amber-800 dark:text-amber-200\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <Construction className=\"w-5 h-5 flex-shrink-0\" />\r\n <span className=\"flex-1 text-sm\">{notification}</span>\r\n <button\r\n onClick={() => setNotification(null)}\r\n className=\"p-1 hover:bg-amber-100 dark:hover:bg-amber-800/30 rounded transition-colors\"\r\n >\r\n <X className=\"w-4 h-4\" />\r\n </button>\r\n </div>\r\n )}\r\n\r\n <div\r\n className=\"bg-[var(--bg-card)] border border-[var(--border-color)] p-6\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <div className=\"flex items-center gap-6 mb-6\">\r\n <div\r\n className=\"w-20 h-20 bg-gradient-to-br from-[var(--color-accent-500)] to-[var(--color-accent-600)] flex items-center justify-center text-white text-2xl font-bold\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n {initials}\r\n </div>\r\n <div>\r\n <h2 className=\"text-xl font-semibold text-[var(--text-primary)]\">{displayName}</h2>\r\n <p className=\"text-[var(--text-secondary)]\">{user?.email}</p>\r\n {user?.roles && user.roles.length > 0 && (\r\n <div className=\"flex flex-wrap gap-2 mt-2\">\r\n {user.roles.map((role) => (\r\n <span\r\n key={role}\r\n className=\"px-2 py-1 text-xs font-medium bg-[var(--accent-bg)] text-[var(--color-accent-600)]\"\r\n style={{ borderRadius: 'var(--radius-badge)' }}\r\n >\r\n {role}\r\n </span>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n\r\n <div className=\"space-y-4\">\r\n <div className=\"flex items-center gap-3 text-[var(--text-secondary)]\">\r\n <Mail className=\"w-5 h-5\" />\r\n <span>{user?.email || t('navigation:profile.notProvided')}</span>\r\n </div>\r\n <div className=\"flex items-center gap-3 text-[var(--text-secondary)]\">\r\n <Calendar className=\"w-5 h-5\" />\r\n <span>{t('navigation:profile.memberSince', { date: 'janvier 2024' })}</span>\r\n </div>\r\n </div>\r\n\r\n <div className=\"mt-6 pt-6 border-t border-[var(--border-color)]\">\r\n <button\r\n onClick={handleComingSoon}\r\n className=\"px-4 py-2 bg-[var(--color-accent-500)] hover:bg-[var(--color-accent-600)] text-white font-medium transition-colors\"\r\n style={{ borderRadius: 'var(--radius-button)' }}\r\n >\r\n {t('common:buttons.edit')}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <div\r\n className=\"bg-[var(--bg-card)] border border-[var(--border-color)] p-6\"\r\n style={{ borderRadius: 'var(--radius-card)' }}\r\n >\r\n <h3 className=\"text-lg font-semibold text-[var(--text-primary)] mb-4\">{t('navigation:profile.security.title')}</h3>\r\n <div className=\"space-y-4\">\r\n <div className=\"flex items-center justify-between\">\r\n <div>\r\n <p className=\"font-medium text-[var(--text-primary)]\">{t('navigation:profile.security.password')}</p>\r\n <p className=\"text-sm text-[var(--text-secondary)]\">{t('navigation:profile.security.lastChanged', { days: 30 })}</p>\r\n </div>\r\n <button\r\n onClick={handleComingSoon}\r\n className=\"px-3 py-1.5 text-sm bg-[var(--bg-tertiary)] hover:bg-[var(--bg-hover)] text-[var(--text-primary)] transition-colors\"\r\n style={{ borderRadius: 'var(--radius-button)' }}\r\n >\r\n {t('common:buttons.edit')}\r\n </button>\r\n </div>\r\n <div className=\"flex items-center justify-between\">\r\n <div>\r\n <p className=\"font-medium text-[var(--text-primary)]\">{t('navigation:profile.security.twoFactor')}</p>\r\n <p className=\"text-sm text-[var(--text-secondary)]\">{t('navigation:profile.security.notEnabled')}</p>\r\n </div>\r\n <button\r\n onClick={handleComingSoon}\r\n className=\"px-3 py-1.5 text-sm bg-[var(--bg-tertiary)] hover:bg-[var(--bg-hover)] text-[var(--text-primary)] transition-colors\"\r\n style={{ borderRadius: 'var(--radius-button)' }}\r\n >\r\n {t('navigation:profile.security.enable')}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["ProfilePage","useTranslation","user","useAuth","notification","setNotification","useState","useEffect","timer","handleComingSoon","displayName","initials","jsxs","jsx","Construction","X","role","Mail","Calendar"],"mappings":"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"}
|
package/dist/chunks/{ReferencesManagementPage-B-FXS2ln.js → ReferencesManagementPage-B0Cq9BHS.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),l=require("react"),Me=require("react-i18next"),i=require("lucide-react"),C=require("./index-DK5czlkn.js"),se=require("./TenantScopeSelector-B9vtpIZx.js"),Ae=a=>({get:(s,u)=>C.apiClient.get(s,{...u,headers:a?{...u?.headers,"X-Tenant-Slug":a}:u?.headers}).then(r=>r.data),post:(s,u,r)=>C.apiClient.post(s,u,{...r,headers:a?{...r?.headers,"X-Tenant-Slug":a}:r?.headers}).then(c=>c.data),put:(s,u,r)=>C.apiClient.put(s,u,{...r,headers:a?{...r?.headers,"X-Tenant-Slug":a}:r?.headers}).then(c=>c.data),patch:(s,u,r)=>C.apiClient.patch(s,u,{...r,headers:a?{...r?.headers,"X-Tenant-Slug":a}:r?.headers}).then(c=>c.data),delete:(s,u)=>C.apiClient.delete(s,{...u,headers:a?{...u?.headers,"X-Tenant-Slug":a}:u?.headers}).then(r=>r.data)}),q={Company:0,Department:1,JobTitle:2,Office:3},v="/api/administration/users/references",Ie=a=>{const s=a?Ae(a):C.api,u=(r,c,d)=>{const h=new URLSearchParams;c&&h.append("tenantId",c),d&&Object.entries(d).forEach(([f,b])=>{b!==void 0&&h.append(f,String(b))});const o=h.toString();return o?`${v}/${r}?${o}`:`${v}/${r}`};return{companies:{getAll:async(r,c,d,h,o=1,f=20)=>{const b=u("companies",r,{search:c,isActive:d,source:h,page:o,pageSize:f});return s.get(b)},create:async(r,c)=>{const d=u("companies",r);return s.post(d,c)},update:async(r,c)=>{await s.put(`${v}/companies/${r}`,c)},activate:async r=>{await s.patch(`${v}/companies/${r}/activate`)},deactivate:async r=>{await s.patch(`${v}/companies/${r}/deactivate`)},delete:async r=>{await s.delete(`${v}/companies/${r}`)}},departments:{getAll:async(r,c,d,h,o=1,f=20)=>{const b=u("departments",r,{search:c,isActive:d,source:h,page:o,pageSize:f});return s.get(b)},create:async(r,c)=>{const d=u("departments",r);return s.post(d,c)},update:async(r,c)=>{await s.put(`${v}/departments/${r}`,c)},activate:async r=>{await s.patch(`${v}/departments/${r}/activate`)},deactivate:async r=>{await s.patch(`${v}/departments/${r}/deactivate`)},delete:async r=>{await s.delete(`${v}/departments/${r}`)}},jobTitles:{getAll:async(r,c,d,h,o=1,f=20)=>{const b=u("job-titles",r,{search:c,isActive:d,source:h,page:o,pageSize:f});return s.get(b)},create:async(r,c)=>{const d=u("job-titles",r);return s.post(d,c)},update:async(r,c)=>{await s.put(`${v}/job-titles/${r}`,c)},activate:async r=>{await s.patch(`${v}/job-titles/${r}/activate`)},deactivate:async r=>{await s.patch(`${v}/job-titles/${r}/deactivate`)},delete:async r=>{await s.delete(`${v}/job-titles/${r}`)}},offices:{getAll:async(r,c,d,h,o=1,f=20)=>{const b=u("offices",r,{search:c,isActive:d,source:h,page:o,pageSize:f});return s.get(b)},create:async(r,c)=>{const d=u("offices",r);return s.post(d,c)},update:async(r,c)=>{await s.put(`${v}/offices/${r}`,c)},activate:async r=>{await s.patch(`${v}/offices/${r}/activate`)},deactivate:async r=>{await s.patch(`${v}/offices/${r}/deactivate`)},delete:async r=>{await s.delete(`${v}/offices/${r}`)}},merge:{execute:async r=>s.post(`${v}/merge`,r),preview:async r=>s.post(`${v}/merge/preview`,r),getHistory:async(r,c,d,h)=>{const o=new URLSearchParams;r&&o.append("tenantId",r),c!==void 0&&o.append("referenceType",String(c)),d&&o.append("from",d),h&&o.append("to",h);const f=o.toString(),b=f?`${v}/merge/history?${f}`:`${v}/merge/history`;return s.get(b)}}}},ne=Ie;function Re(){const{t:a}=Me.useTranslation("admin"),{currentTenant:s,userTenants:u,switchTenant:r}=C.useTenant(),{tenants:c}=se.useAdminTenants(),[d,h]=l.useState(s?{tenantId:s.id,tenantSlug:s.slug,tenantUserId:"",tenantName:s.name}:"global"),o=d==="global",f=o?null:d.tenantId,b=o?void 0:d.tenantSlug,p=l.useMemo(()=>ne(b),[b]),[N,ce]=l.useState("departments"),[T,oe]=l.useState([]),[G,W]=l.useState(!0),[$,ie]=l.useState(""),[F,le]=l.useState(!1),[w,A]=l.useState(new Set),[g,U]=l.useState(1),[M]=l.useState(20),[K,de]=l.useState(0),[I,me]=l.useState(0),[xe,H]=l.useState(!1),[ue,L]=l.useState(!1),[pe,X]=l.useState(!1),[ve,O]=l.useState(!1),[R,Q]=l.useState(null),[B,V]=l.useState(null),[Y,he]=l.useState([]),[J,D]=l.useState(null),[x,S]=l.useState({code:"",name:""}),[P,Z]=l.useState(null),[ee,te]=l.useState(""),[E,z]=l.useState(!1),[ae,j]=l.useState(null),re=[{id:"departments",label:a("references.tabs.departments","Departments"),icon:i.Users,referenceType:q.Department},{id:"companies",label:a("references.tabs.companies","Companies"),icon:i.Building2,referenceType:q.Company},{id:"jobTitles",label:a("references.tabs.jobTitles","Job Titles"),icon:i.Briefcase,referenceType:q.JobTitle},{id:"offices",label:a("references.tabs.offices","Offices"),icon:i.MapPin,referenceType:q.Office}],_=re.find(t=>t.id===N),y=f,k=l.useCallback(async()=>{try{W(!0);const t=ne(b??void 0),n=F?void 0:!0;let m;switch(N){case"companies":m=await t.companies.getAll(y,$||void 0,n,void 0,g,M);break;case"departments":m=await t.departments.getAll(y,$||void 0,n,void 0,g,M);break;case"jobTitles":m=await t.jobTitles.getAll(y,$||void 0,n,void 0,g,M);break;case"offices":m=await t.offices.getAll(y,$||void 0,n,void 0,g,M);break;default:m={items:[],totalCount:0,page:1,pageSize:20,totalPages:0,hasPreviousPage:!1,hasNextPage:!1}}oe(m.items),de(m.totalCount),me(m.totalPages),A(new Set)}catch(t){console.error("Failed to load references:",t),j("Failed to load references")}finally{W(!1)}},[b,N,y,$,F,g,M]);l.useEffect(()=>{k()},[k]),l.useEffect(()=>{U(1)},[N,$,F,d]);const be=t=>{const n=new Set(w);n.has(t)?n.delete(t):n.add(t),A(n)},fe=()=>{w.size===T.length?A(new Set):A(new Set(T.map(t=>t.id)))},ge=async t=>{try{await r(t);const n=u.find(m=>m.id===t);n&&h({tenantId:n.id,tenantSlug:n.slug,tenantUserId:"",tenantName:n.name})}catch(n){console.error("Failed to switch tenant:",n)}},ye=async()=>{if(y)try{switch(z(!0),j(null),N){case"companies":await p.companies.create(y,x);break;case"departments":await p.departments.create(y,x);break;case"jobTitles":await p.jobTitles.create(y,x);break;case"offices":await p.offices.create(y,x);break}H(!1),S({code:"",name:""}),k()}catch(t){const n=t instanceof Error?t.message:"Failed to create";j(n)}finally{z(!1)}},je=async()=>{if(R)try{z(!0),j(null);const t={name:x.name,shortName:x.shortName,description:x.description};switch(N){case"companies":await p.companies.update(R.id,t);break;case"departments":await p.departments.update(R.id,t);break;case"jobTitles":await p.jobTitles.update(R.id,t);break;case"offices":await p.offices.update(R.id,t);break}L(!1),Q(null),k()}catch(t){const n=t instanceof Error?t.message:"Failed to update";j(n)}finally{z(!1)}},Ne=async t=>{if(confirm(a("references.confirmDelete","Are you sure you want to delete this reference?")))try{switch(N){case"companies":await p.companies.delete(t);break;case"departments":await p.departments.delete(t);break;case"jobTitles":await p.jobTitles.delete(t);break;case"offices":await p.offices.delete(t);break}k()}catch(n){const m=n instanceof Error?n.message:"Failed to delete";j(m)}},we=async t=>{try{if(t.isActive)switch(N){case"companies":await p.companies.deactivate(t.id);break;case"departments":await p.departments.deactivate(t.id);break;case"jobTitles":await p.jobTitles.deactivate(t.id);break;case"offices":await p.offices.deactivate(t.id);break}else switch(N){case"companies":await p.companies.activate(t.id);break;case"departments":await p.departments.activate(t.id);break;case"jobTitles":await p.jobTitles.activate(t.id);break;case"offices":await p.offices.activate(t.id);break}k()}catch(n){const m=n instanceof Error?n.message:"Failed to toggle status";j(m)}},Se=async()=>{if(!(w.size<2))try{const t=await p.merge.preview({tenantId:y,referenceType:_.referenceType,sourceIds:Array.from(w)});V(t),Z(null),te(""),X(!0)}catch(t){console.error("Failed to get merge preview:",t),j("Failed to preview merge")}},ke=async()=>{if(!P||!B)return;const t=Array.from(w).filter(n=>n!==P);try{z(!0),j(null),await p.merge.execute({tenantId:y,referenceType:_.referenceType,targetId:P,sourceIds:t,reason:ee||void 0}),X(!1),A(new Set),V(null),k()}catch(n){const m=n instanceof Error?n.message:"Failed to merge";j(m)}finally{z(!1)}},Ce=async()=>{try{const t=await p.merge.getHistory(y,_.referenceType);he(t),O(!0)}catch(t){console.error("Failed to load merge history:",t),j("Failed to load merge history")}},Te=t=>{Q(t),S({code:t.code,name:t.name,shortName:t.shortName,description:t.description}),L(!0),D(null)},$e=t=>t.isMerged?e.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-1 text-xs font-medium rounded-full bg-[var(--info-bg)] text-[var(--info-text)]",children:[e.jsx(i.GitMerge,{className:"w-3 h-3"}),a("references.merged","Merged")]}):t.isActive?null:e.jsx("span",{className:"inline-flex items-center gap-1 px-2 py-1 text-xs font-medium rounded-full bg-[var(--bg-secondary)] text-[var(--text-secondary)]",children:a("references.inactive","Inactive")});return e.jsxs("div",{className:"p-6",children:[e.jsx("div",{className:"mb-6",children:e.jsx(C.Breadcrumb,{items:[{label:a("admin.title","Administration"),href:"/administration"},{label:a("users.title","Users"),href:"/administration/users"},{label:a("references.title","References")}]})}),e.jsxs("div",{className:"mb-6",children:[e.jsx("h1",{className:"text-2xl font-bold text-[var(--text-primary)]",children:a("references.title","Reference Data Management")}),e.jsx("p",{className:"text-[var(--text-secondary)] mt-1",children:a("references.description","Manage companies, departments, job titles, and offices for your organization")}),e.jsxs("div",{className:"mt-4",children:[e.jsx(se.TenantScopeSelector,{value:d,onChange:h,adminTenants:c.map(t=>({tenantId:t.id,tenantSlug:t.slug,tenantName:t.name,tenantType:t.type}))}),o&&e.jsxs("p",{className:"mt-2 text-sm text-[var(--text-secondary)] flex items-center gap-1.5",children:[e.jsx(i.Globe,{className:"w-4 h-4"}),a("references.globalModeInfo","Showing references from all tenants. Select a tenant to manage its data.")]})]})]}),ae&&e.jsxs("div",{className:"mb-4 p-4 bg-[var(--error-bg)] border border-[var(--error-border)] rounded-[var(--radius-card)]",children:[e.jsxs("div",{className:"flex items-center",children:[e.jsx(i.AlertCircle,{className:"w-5 h-5 text-[var(--error-text)]"}),e.jsx("span",{className:"ml-2 text-[var(--error-text)]",children:ae}),e.jsx("button",{onClick:()=>j(null),className:"ml-auto text-[var(--error-text)]",children:e.jsx(i.X,{className:"w-4 h-4"})})]}),e.jsx("button",{onClick:()=>k(),className:"mt-2 text-sm text-[var(--error-text)] hover:opacity-80 underline",children:a("common.retry","Retry")})]}),e.jsx("div",{className:"border-b border-[var(--border-color)] mb-6",children:e.jsx("nav",{className:"flex gap-4 -mb-px",children:re.map(t=>{const n=t.icon,m=N===t.id;return e.jsxs("button",{onClick:()=>{ce(t.id),A(new Set)},className:`flex items-center gap-2 px-4 py-3 border-b-2 font-medium text-sm transition-colors ${m?"border-[var(--color-accent-500)] text-[var(--color-accent-600)]":"border-transparent text-[var(--text-secondary)] hover:text-[var(--text-primary)] hover:border-[var(--border-color)]"}`,children:[e.jsx(n,{className:"w-4 h-4"}),t.label]},t.id)})})}),e.jsxs("div",{className:"flex items-center justify-between gap-4 mb-4",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("div",{className:"relative",children:[e.jsx(i.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[var(--text-tertiary)]"}),e.jsx("input",{type:"text",value:$,onChange:t=>ie(t.target.value),placeholder:a("common.search","Search..."),className:"pl-10 pr-4 py-2 border border-[var(--border-color)] rounded-[var(--radius-input)] bg-[var(--bg-primary)] text-[var(--text-primary)] focus:ring-2 focus:ring-[var(--color-accent-500)]"})]}),e.jsxs("label",{className:"flex items-center gap-2 text-sm text-[var(--text-secondary)]",children:[e.jsx("input",{type:"checkbox",checked:F,onChange:t=>le(t.target.checked),className:"rounded border-[var(--border-color)]"}),a("references.showInactive","Show inactive")]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[w.size>=2&&!o&&e.jsxs("button",{onClick:Se,className:"flex items-center gap-2 px-4 py-2 bg-[var(--info-dot)] text-white rounded-[var(--radius-button)] hover:opacity-90 transition-opacity",children:[e.jsx(i.GitMerge,{className:"w-4 h-4"}),a("references.merge","Merge")," (",w.size,")"]}),!o&&e.jsxs("button",{onClick:Ce,className:"flex items-center gap-2 px-4 py-2 border border-[var(--border-color)] text-[var(--text-primary)] rounded-[var(--radius-button)] hover:bg-[var(--bg-hover)] transition-colors",children:[e.jsx(i.History,{className:"w-4 h-4"}),a("references.history","History")]}),e.jsxs("button",{onClick:()=>{S({code:"",name:""}),H(!0)},disabled:o,title:o?a("references.selectTenantToCreate","Select a tenant to create a reference"):void 0,className:`flex items-center gap-2 px-4 py-2 rounded-[var(--radius-button)] transition-colors ${o?"bg-[var(--bg-secondary)] text-[var(--text-tertiary)] cursor-not-allowed":"bg-[var(--color-accent-600)] text-white hover:bg-[var(--color-accent-700)]"}`,children:[e.jsx(i.Plus,{className:"w-4 h-4"}),a("common.create","Create")]})]})]}),e.jsxs("div",{className:"card overflow-hidden",children:[G&&e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx(i.Loader2,{className:"w-8 h-8 animate-spin text-[var(--color-accent-500)]"})}),!G&&T.length===0&&e.jsx("div",{className:"text-center py-12 text-[var(--text-secondary)]",children:a("references.noItems","No items found")}),!G&&T.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs("table",{className:"w-full",children:[e.jsx("thead",{className:"bg-[var(--bg-secondary)] border-b border-[var(--border-color)]",children:e.jsxs("tr",{children:[e.jsx("th",{className:"w-12 px-4 py-3",children:!o&&e.jsx("input",{type:"checkbox",checked:w.size===T.length&&T.length>0,onChange:fe,className:"rounded border-[var(--border-color)]"})}),e.jsx("th",{className:"px-4 py-3 text-left text-sm font-medium text-[var(--text-secondary)]",children:a("references.code","Code")}),e.jsx("th",{className:"px-4 py-3 text-left text-sm font-medium text-[var(--text-secondary)]",children:a("references.name","Name")}),o&&e.jsx("th",{className:"px-4 py-3 text-left text-sm font-medium text-[var(--text-secondary)]",children:a("references.tenant","Tenant")}),e.jsx("th",{className:"px-4 py-3 text-left text-sm font-medium text-[var(--text-secondary)]",children:a("references.shortName","Short Name")}),e.jsx("th",{className:"px-4 py-3 text-center text-sm font-medium text-[var(--text-secondary)]",children:a("references.users","Users")}),e.jsx("th",{className:"px-4 py-3 text-center text-sm font-medium text-[var(--text-secondary)]",children:a("references.status","Status")}),e.jsx("th",{className:"w-20 px-4 py-3"})]})}),e.jsx("tbody",{className:"divide-y divide-[var(--border-color)]",children:T.map(t=>e.jsxs("tr",{className:`hover:bg-[var(--bg-hover)] transition-colors ${w.has(t.id)?"bg-[var(--info-bg)]":""} ${t.isMerged?"opacity-60":""}`,children:[e.jsx("td",{className:"px-4 py-3",children:!o&&e.jsx("input",{type:"checkbox",checked:w.has(t.id),onChange:()=>be(t.id),disabled:t.isMerged,className:"rounded border-[var(--border-color)]"})}),e.jsx("td",{className:"px-4 py-3 font-mono text-sm text-[var(--text-primary)]",children:t.code}),e.jsx("td",{className:"px-4 py-3 text-[var(--text-primary)]",children:t.name}),o&&e.jsx("td",{className:"px-4 py-3",children:t.tenantName?e.jsxs("button",{onClick:()=>t.tenantId&&ge(t.tenantId),className:"inline-flex items-center gap-1.5 px-2 py-1 text-xs font-medium rounded-full bg-[var(--info-bg)] text-[var(--info-text)] hover:opacity-80 transition-opacity",title:a("references.switchToTenant","Switch to this tenant"),children:[e.jsx(i.Building2,{className:"w-3 h-3"}),t.tenantName]}):e.jsx("span",{className:"text-[var(--text-tertiary)]",children:"-"})}),e.jsx("td",{className:"px-4 py-3 text-[var(--text-secondary)]",children:t.shortName||"-"}),e.jsx("td",{className:"px-4 py-3 text-center",children:e.jsxs("span",{className:"inline-flex items-center gap-1 text-[var(--text-secondary)]",children:[e.jsx(i.Users,{className:"w-4 h-4"}),t.userCount]})}),e.jsxs("td",{className:"px-4 py-3 text-center",children:[$e(t),t.isActive&&!t.isMerged&&e.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-1 text-xs font-medium rounded-full bg-[var(--success-bg)] text-[var(--success-text)]",children:[e.jsx(i.Check,{className:"w-3 h-3"}),a("references.active","Active")]})]}),e.jsx("td",{className:"px-4 py-3",children:e.jsxs("div",{className:"relative",children:[e.jsx("button",{onClick:()=>D(J===t.id?null:t.id),className:"p-2 hover:bg-[var(--bg-secondary)] rounded-[var(--radius-button)] transition-colors",disabled:t.isMerged||o,children:e.jsx(i.MoreHorizontal,{className:"w-4 h-4"})}),J===t.id&&e.jsxs("div",{className:"absolute right-0 top-full mt-1 w-48 bg-[var(--bg-primary)] border border-[var(--border-color)] rounded-[var(--radius-card)] shadow-lg z-10",children:[e.jsxs("button",{onClick:()=>Te(t),className:"flex items-center gap-2 w-full px-4 py-2 text-left text-sm text-[var(--text-primary)] hover:bg-[var(--bg-hover)]",children:[e.jsx(i.Edit2,{className:"w-4 h-4"}),a("common.edit","Edit")]}),e.jsx("button",{onClick:()=>{we(t),D(null)},className:"flex items-center gap-2 w-full px-4 py-2 text-left text-sm text-[var(--text-primary)] hover:bg-[var(--bg-hover)]",children:t.isActive?a("common.deactivate","Deactivate"):a("common.activate","Activate")}),t.userCount===0&&e.jsxs("button",{onClick:()=>{Ne(t.id),D(null)},className:"flex items-center gap-2 w-full px-4 py-2 text-left text-sm text-[var(--error-text)] hover:bg-[var(--error-bg)]",children:[e.jsx(i.Trash2,{className:"w-4 h-4"}),a("common.delete","Delete")]})]})]})})]},t.id))})]}),e.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-t border-[var(--border-color)] bg-[var(--bg-secondary)]",children:[e.jsxs("div",{className:"text-sm text-[var(--text-secondary)]",children:[a("references.showing","Showing")," ",(g-1)*M+1," ",a("references.to","to")," ",Math.min(g*M,K)," ",a("references.of","of")," ",K," ",a("references.results","results")]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:()=>U(t=>Math.max(1,t-1)),disabled:g===1,className:"px-3 py-1.5 border border-[var(--border-color)] rounded-[var(--radius-button)] text-[var(--text-primary)] hover:bg-[var(--bg-hover)] transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:a("common.previous","Previous")}),e.jsx("div",{className:"flex items-center gap-1",children:Array.from({length:Math.min(5,I)},(t,n)=>{let m;return I<=5||g<=3?m=n+1:g>=I-2?m=I-4+n:m=g-2+n,e.jsx("button",{onClick:()=>U(m),className:`px-3 py-1.5 rounded-[var(--radius-button)] transition-colors ${g===m?"bg-[var(--color-accent-600)] text-white":"border border-[var(--border-color)] text-[var(--text-primary)] hover:bg-[var(--bg-hover)]"}`,children:m},m)})}),e.jsx("button",{onClick:()=>U(t=>Math.min(I,t+1)),disabled:g===I,className:"px-3 py-1.5 border border-[var(--border-color)] rounded-[var(--radius-button)] text-[var(--text-primary)] hover:bg-[var(--bg-hover)] transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:a("common.next","Next")})]})]})]})]}),xe&&e.jsx("div",{className:"fixed inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center z-50",children:e.jsxs("div",{className:"card w-full max-w-md p-6 m-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsx("h2",{className:"text-xl font-semibold text-[var(--text-primary)]",children:a("references.createTitle","Create Reference")}),e.jsx("button",{onClick:()=>H(!1),className:"text-[var(--text-tertiary)] hover:text-[var(--text-primary)]",children:e.jsx(i.X,{className:"w-5 h-5"})})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsxs("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-1",children:[a("references.code","Code")," *"]}),e.jsx("input",{type:"text",value:x.code,onChange:t=>S({...x,code:t.target.value}),className:"w-full px-4 py-2 border border-[var(--border-color)] rounded-[var(--radius-input)] bg-[var(--bg-primary)] text-[var(--text-primary)] focus:outline-none focus:ring-2 focus:ring-[var(--color-accent-500)]"})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-1",children:[a("references.name","Name")," *"]}),e.jsx("input",{type:"text",value:x.name,onChange:t=>S({...x,name:t.target.value}),className:"w-full px-4 py-2 border border-[var(--border-color)] rounded-[var(--radius-input)] bg-[var(--bg-primary)] text-[var(--text-primary)] focus:outline-none focus:ring-2 focus:ring-[var(--color-accent-500)]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-1",children:a("references.shortName","Short Name")}),e.jsx("input",{type:"text",value:x.shortName||"",onChange:t=>S({...x,shortName:t.target.value||null}),className:"w-full px-4 py-2 border border-[var(--border-color)] rounded-[var(--radius-input)] bg-[var(--bg-primary)] text-[var(--text-primary)] focus:outline-none focus:ring-2 focus:ring-[var(--color-accent-500)]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-1",children:a("references.description","Description")}),e.jsx("textarea",{value:x.description||"",onChange:t=>S({...x,description:t.target.value||null}),rows:3,className:"w-full px-4 py-2 border border-[var(--border-color)] rounded-[var(--radius-input)] bg-[var(--bg-primary)] text-[var(--text-primary)] focus:outline-none focus:ring-2 focus:ring-[var(--color-accent-500)]"})]})]}),e.jsxs("div",{className:"flex justify-end gap-3 mt-6",children:[e.jsx("button",{onClick:()=>H(!1),className:"px-4 py-2 rounded-[var(--radius-button)] bg-[var(--bg-secondary)] text-[var(--text-secondary)] hover:bg-[var(--bg-hover)] transition-colors",children:a("common.cancel","Cancel")}),e.jsxs("button",{onClick:ye,disabled:E||!x.code||!x.name,className:"flex items-center gap-2 px-4 py-2 rounded-[var(--radius-button)] bg-[var(--color-accent-600)] text-white hover:bg-[var(--color-accent-700)] transition-colors disabled:opacity-50",children:[E&&e.jsx(i.Loader2,{className:"w-4 h-4 animate-spin"}),a("common.create","Create")]})]})]})}),ue&&R&&e.jsx("div",{className:"fixed inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center z-50",children:e.jsxs("div",{className:"card w-full max-w-md p-6 m-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsx("h2",{className:"text-xl font-semibold text-[var(--text-primary)]",children:a("references.editTitle","Edit Reference")}),e.jsx("button",{onClick:()=>L(!1),className:"text-[var(--text-tertiary)] hover:text-[var(--text-primary)]",children:e.jsx(i.X,{className:"w-5 h-5"})})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-1",children:a("references.code","Code")}),e.jsx("input",{type:"text",value:x.code,disabled:!0,className:"w-full px-4 py-2 border border-[var(--border-color)] rounded-[var(--radius-input)] bg-[var(--bg-secondary)] text-[var(--text-tertiary)] cursor-not-allowed"})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-1",children:[a("references.name","Name")," *"]}),e.jsx("input",{type:"text",value:x.name,onChange:t=>S({...x,name:t.target.value}),className:"w-full px-4 py-2 border border-[var(--border-color)] rounded-[var(--radius-input)] bg-[var(--bg-primary)] text-[var(--text-primary)] focus:outline-none focus:ring-2 focus:ring-[var(--color-accent-500)]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-1",children:a("references.shortName","Short Name")}),e.jsx("input",{type:"text",value:x.shortName||"",onChange:t=>S({...x,shortName:t.target.value||null}),className:"w-full px-4 py-2 border border-[var(--border-color)] rounded-[var(--radius-input)] bg-[var(--bg-primary)] text-[var(--text-primary)] focus:outline-none focus:ring-2 focus:ring-[var(--color-accent-500)]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-1",children:a("references.description","Description")}),e.jsx("textarea",{value:x.description||"",onChange:t=>S({...x,description:t.target.value||null}),rows:3,className:"w-full px-4 py-2 border border-[var(--border-color)] rounded-[var(--radius-input)] bg-[var(--bg-primary)] text-[var(--text-primary)] focus:outline-none focus:ring-2 focus:ring-[var(--color-accent-500)]"})]})]}),e.jsxs("div",{className:"flex justify-end gap-3 mt-6",children:[e.jsx("button",{onClick:()=>L(!1),className:"px-4 py-2 rounded-[var(--radius-button)] bg-[var(--bg-secondary)] text-[var(--text-secondary)] hover:bg-[var(--bg-hover)] transition-colors",children:a("common.cancel","Cancel")}),e.jsxs("button",{onClick:je,disabled:E||!x.name,className:"flex items-center gap-2 px-4 py-2 rounded-[var(--radius-button)] bg-[var(--color-accent-600)] text-white hover:bg-[var(--color-accent-700)] transition-colors disabled:opacity-50",children:[E&&e.jsx(i.Loader2,{className:"w-4 h-4 animate-spin"}),a("common.save","Save")]})]})]})}),pe&&B&&e.jsx("div",{className:"fixed inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center z-50",children:e.jsxs("div",{className:"card w-full max-w-lg p-6 m-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("h2",{className:"text-xl font-semibold text-[var(--text-primary)] flex items-center gap-2",children:[e.jsx(i.GitMerge,{className:"w-5 h-5 text-[var(--info-dot)]"}),a("references.mergeTitle","Merge References")]}),e.jsx("button",{onClick:()=>X(!1),className:"text-[var(--text-tertiary)] hover:text-[var(--text-primary)]",children:e.jsx(i.X,{className:"w-5 h-5"})})]}),e.jsx("p",{className:"text-sm text-[var(--text-secondary)] mb-4",children:a("references.mergeDescription","Select the target reference. All other selected references will be merged into it and their users will be reassigned.")}),e.jsxs("div",{className:"space-y-2 mb-4",children:[e.jsx("label",{className:"block text-sm font-medium text-[var(--text-secondary)]",children:a("references.selectTarget","Select target reference")}),B.sources.map(t=>e.jsxs("label",{className:`flex items-center gap-3 p-3 border rounded-[var(--radius-card)] cursor-pointer transition-colors ${P===t.id?"border-[var(--info-dot)] bg-[var(--info-bg)]":"border-[var(--border-color)] hover:border-[var(--color-accent-500)]"}`,children:[e.jsx("input",{type:"radio",name:"mergeTarget",value:t.id,checked:P===t.id,onChange:()=>Z(t.id),className:"text-[var(--info-dot)]"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("div",{className:"font-medium text-[var(--text-primary)]",children:t.name}),e.jsxs("div",{className:"text-sm text-[var(--text-secondary)]",children:[t.code," ",t.shortName&&`(${t.shortName})`]})]}),e.jsxs("span",{className:"text-sm text-[var(--text-secondary)]",children:[t.userCount," ",a("references.users","users")]})]},t.id))]}),e.jsxs("div",{className:"mb-4",children:[e.jsx("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-1",children:a("references.mergeReason","Reason (optional)")}),e.jsx("textarea",{value:ee,onChange:t=>te(t.target.value),rows:2,placeholder:a("references.mergeReasonPlaceholder","Why are you merging these references?"),className:"w-full px-4 py-2 border border-[var(--border-color)] rounded-[var(--radius-input)] bg-[var(--bg-primary)] text-[var(--text-primary)] focus:outline-none focus:ring-2 focus:ring-[var(--color-accent-500)]"})]}),e.jsx("div",{className:"p-3 bg-[var(--warning-bg)] border border-[var(--warning-border)] rounded-[var(--radius-card)] mb-4",children:e.jsxs("p",{className:"text-sm text-[var(--warning-text)]",children:[e.jsx("strong",{children:B.totalUsersAffected})," ",a("references.usersWillBeReassigned","users will be reassigned")]})}),e.jsxs("div",{className:"flex justify-end gap-3",children:[e.jsx("button",{onClick:()=>X(!1),className:"px-4 py-2 rounded-[var(--radius-button)] bg-[var(--bg-secondary)] text-[var(--text-secondary)] hover:bg-[var(--bg-hover)] transition-colors",children:a("common.cancel","Cancel")}),e.jsxs("button",{onClick:ke,disabled:E||!P,className:"flex items-center gap-2 px-4 py-2 rounded-[var(--radius-button)] bg-[var(--info-dot)] text-white hover:opacity-90 transition-opacity disabled:opacity-50",children:[E&&e.jsx(i.Loader2,{className:"w-4 h-4 animate-spin"}),e.jsx(i.GitMerge,{className:"w-4 h-4"}),a("references.merge","Merge")]})]})]})}),ve&&e.jsx("div",{className:"fixed inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center z-50",children:e.jsxs("div",{className:"card w-full max-w-2xl p-6 m-4 max-h-[80vh] overflow-hidden flex flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("h2",{className:"text-xl font-semibold text-[var(--text-primary)] flex items-center gap-2",children:[e.jsx(i.History,{className:"w-5 h-5"}),a("references.historyTitle","Merge History")]}),e.jsx("button",{onClick:()=>O(!1),className:"text-[var(--text-tertiary)] hover:text-[var(--text-primary)]",children:e.jsx(i.X,{className:"w-5 h-5"})})]}),e.jsx("div",{className:"overflow-y-auto flex-1",children:Y.length===0?e.jsx("div",{className:"text-center py-8 text-[var(--text-secondary)]",children:a("references.noHistory","No merge history found")}):e.jsx("div",{className:"space-y-3",children:Y.map(t=>e.jsxs("div",{className:"p-4 border border-[var(--border-color)] rounded-[var(--radius-card)]",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(i.GitMerge,{className:"w-4 h-4 text-[var(--info-dot)]"}),e.jsx("span",{className:"font-medium text-[var(--text-primary)]",children:t.sourceReferenceName}),e.jsx("span",{className:"text-[var(--text-secondary)]",children:"→"}),e.jsx("span",{className:"font-medium text-[var(--text-primary)]",children:t.targetReferenceName})]}),e.jsxs("div",{className:"text-sm text-[var(--text-secondary)] space-y-1",children:[e.jsxs("div",{children:[t.affectedUserCount," users reassigned"]}),e.jsxs("div",{children:["By ",t.mergedByUserName]}),e.jsx("div",{children:new Date(t.mergedAt).toLocaleString()}),t.mergeReason&&e.jsxs("div",{className:"italic",children:['"',t.mergeReason,'"']})]})]},t.id))})}),e.jsx("div",{className:"flex justify-end mt-4 pt-4 border-t border-[var(--border-color)]",children:e.jsx("button",{onClick:()=>O(!1),className:"px-4 py-2 rounded-[var(--radius-button)] bg-[var(--bg-secondary)] text-[var(--text-secondary)] hover:bg-[var(--bg-hover)] transition-colors",children:a("common.close","Close")})})]})}),J&&e.jsx("button",{type:"button",className:"fixed inset-0 z-0",onClick:()=>D(null),"aria-label":"Close menu"})]})}exports.ReferencesManagementPage=Re;
|
|
2
|
-
//# sourceMappingURL=ReferencesManagementPage-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),l=require("react"),Me=require("react-i18next"),i=require("lucide-react"),C=require("./index-DnML-nfd.js"),se=require("./TenantScopeSelector-DxQ7HNbh.js"),Ae=a=>({get:(s,u)=>C.apiClient.get(s,{...u,headers:a?{...u?.headers,"X-Tenant-Slug":a}:u?.headers}).then(r=>r.data),post:(s,u,r)=>C.apiClient.post(s,u,{...r,headers:a?{...r?.headers,"X-Tenant-Slug":a}:r?.headers}).then(c=>c.data),put:(s,u,r)=>C.apiClient.put(s,u,{...r,headers:a?{...r?.headers,"X-Tenant-Slug":a}:r?.headers}).then(c=>c.data),patch:(s,u,r)=>C.apiClient.patch(s,u,{...r,headers:a?{...r?.headers,"X-Tenant-Slug":a}:r?.headers}).then(c=>c.data),delete:(s,u)=>C.apiClient.delete(s,{...u,headers:a?{...u?.headers,"X-Tenant-Slug":a}:u?.headers}).then(r=>r.data)}),q={Company:0,Department:1,JobTitle:2,Office:3},v="/api/administration/users/references",Ie=a=>{const s=a?Ae(a):C.api,u=(r,c,d)=>{const h=new URLSearchParams;c&&h.append("tenantId",c),d&&Object.entries(d).forEach(([f,b])=>{b!==void 0&&h.append(f,String(b))});const o=h.toString();return o?`${v}/${r}?${o}`:`${v}/${r}`};return{companies:{getAll:async(r,c,d,h,o=1,f=20)=>{const b=u("companies",r,{search:c,isActive:d,source:h,page:o,pageSize:f});return s.get(b)},create:async(r,c)=>{const d=u("companies",r);return s.post(d,c)},update:async(r,c)=>{await s.put(`${v}/companies/${r}`,c)},activate:async r=>{await s.patch(`${v}/companies/${r}/activate`)},deactivate:async r=>{await s.patch(`${v}/companies/${r}/deactivate`)},delete:async r=>{await s.delete(`${v}/companies/${r}`)}},departments:{getAll:async(r,c,d,h,o=1,f=20)=>{const b=u("departments",r,{search:c,isActive:d,source:h,page:o,pageSize:f});return s.get(b)},create:async(r,c)=>{const d=u("departments",r);return s.post(d,c)},update:async(r,c)=>{await s.put(`${v}/departments/${r}`,c)},activate:async r=>{await s.patch(`${v}/departments/${r}/activate`)},deactivate:async r=>{await s.patch(`${v}/departments/${r}/deactivate`)},delete:async r=>{await s.delete(`${v}/departments/${r}`)}},jobTitles:{getAll:async(r,c,d,h,o=1,f=20)=>{const b=u("job-titles",r,{search:c,isActive:d,source:h,page:o,pageSize:f});return s.get(b)},create:async(r,c)=>{const d=u("job-titles",r);return s.post(d,c)},update:async(r,c)=>{await s.put(`${v}/job-titles/${r}`,c)},activate:async r=>{await s.patch(`${v}/job-titles/${r}/activate`)},deactivate:async r=>{await s.patch(`${v}/job-titles/${r}/deactivate`)},delete:async r=>{await s.delete(`${v}/job-titles/${r}`)}},offices:{getAll:async(r,c,d,h,o=1,f=20)=>{const b=u("offices",r,{search:c,isActive:d,source:h,page:o,pageSize:f});return s.get(b)},create:async(r,c)=>{const d=u("offices",r);return s.post(d,c)},update:async(r,c)=>{await s.put(`${v}/offices/${r}`,c)},activate:async r=>{await s.patch(`${v}/offices/${r}/activate`)},deactivate:async r=>{await s.patch(`${v}/offices/${r}/deactivate`)},delete:async r=>{await s.delete(`${v}/offices/${r}`)}},merge:{execute:async r=>s.post(`${v}/merge`,r),preview:async r=>s.post(`${v}/merge/preview`,r),getHistory:async(r,c,d,h)=>{const o=new URLSearchParams;r&&o.append("tenantId",r),c!==void 0&&o.append("referenceType",String(c)),d&&o.append("from",d),h&&o.append("to",h);const f=o.toString(),b=f?`${v}/merge/history?${f}`:`${v}/merge/history`;return s.get(b)}}}},ne=Ie;function Re(){const{t:a}=Me.useTranslation("admin"),{currentTenant:s,userTenants:u,switchTenant:r}=C.useTenant(),{tenants:c}=se.useAdminTenants(),[d,h]=l.useState(s?{tenantId:s.id,tenantSlug:s.slug,tenantUserId:"",tenantName:s.name}:"global"),o=d==="global",f=o?null:d.tenantId,b=o?void 0:d.tenantSlug,p=l.useMemo(()=>ne(b),[b]),[N,ce]=l.useState("departments"),[T,oe]=l.useState([]),[G,W]=l.useState(!0),[$,ie]=l.useState(""),[F,le]=l.useState(!1),[w,A]=l.useState(new Set),[g,U]=l.useState(1),[M]=l.useState(20),[K,de]=l.useState(0),[I,me]=l.useState(0),[xe,H]=l.useState(!1),[ue,L]=l.useState(!1),[pe,X]=l.useState(!1),[ve,O]=l.useState(!1),[R,Q]=l.useState(null),[B,V]=l.useState(null),[Y,he]=l.useState([]),[J,D]=l.useState(null),[x,S]=l.useState({code:"",name:""}),[P,Z]=l.useState(null),[ee,te]=l.useState(""),[E,z]=l.useState(!1),[ae,j]=l.useState(null),re=[{id:"departments",label:a("references.tabs.departments","Departments"),icon:i.Users,referenceType:q.Department},{id:"companies",label:a("references.tabs.companies","Companies"),icon:i.Building2,referenceType:q.Company},{id:"jobTitles",label:a("references.tabs.jobTitles","Job Titles"),icon:i.Briefcase,referenceType:q.JobTitle},{id:"offices",label:a("references.tabs.offices","Offices"),icon:i.MapPin,referenceType:q.Office}],_=re.find(t=>t.id===N),y=f,k=l.useCallback(async()=>{try{W(!0);const t=ne(b??void 0),n=F?void 0:!0;let m;switch(N){case"companies":m=await t.companies.getAll(y,$||void 0,n,void 0,g,M);break;case"departments":m=await t.departments.getAll(y,$||void 0,n,void 0,g,M);break;case"jobTitles":m=await t.jobTitles.getAll(y,$||void 0,n,void 0,g,M);break;case"offices":m=await t.offices.getAll(y,$||void 0,n,void 0,g,M);break;default:m={items:[],totalCount:0,page:1,pageSize:20,totalPages:0,hasPreviousPage:!1,hasNextPage:!1}}oe(m.items),de(m.totalCount),me(m.totalPages),A(new Set)}catch(t){console.error("Failed to load references:",t),j("Failed to load references")}finally{W(!1)}},[b,N,y,$,F,g,M]);l.useEffect(()=>{k()},[k]),l.useEffect(()=>{U(1)},[N,$,F,d]);const be=t=>{const n=new Set(w);n.has(t)?n.delete(t):n.add(t),A(n)},fe=()=>{w.size===T.length?A(new Set):A(new Set(T.map(t=>t.id)))},ge=async t=>{try{await r(t);const n=u.find(m=>m.id===t);n&&h({tenantId:n.id,tenantSlug:n.slug,tenantUserId:"",tenantName:n.name})}catch(n){console.error("Failed to switch tenant:",n)}},ye=async()=>{if(y)try{switch(z(!0),j(null),N){case"companies":await p.companies.create(y,x);break;case"departments":await p.departments.create(y,x);break;case"jobTitles":await p.jobTitles.create(y,x);break;case"offices":await p.offices.create(y,x);break}H(!1),S({code:"",name:""}),k()}catch(t){const n=t instanceof Error?t.message:"Failed to create";j(n)}finally{z(!1)}},je=async()=>{if(R)try{z(!0),j(null);const t={name:x.name,shortName:x.shortName,description:x.description};switch(N){case"companies":await p.companies.update(R.id,t);break;case"departments":await p.departments.update(R.id,t);break;case"jobTitles":await p.jobTitles.update(R.id,t);break;case"offices":await p.offices.update(R.id,t);break}L(!1),Q(null),k()}catch(t){const n=t instanceof Error?t.message:"Failed to update";j(n)}finally{z(!1)}},Ne=async t=>{if(confirm(a("references.confirmDelete","Are you sure you want to delete this reference?")))try{switch(N){case"companies":await p.companies.delete(t);break;case"departments":await p.departments.delete(t);break;case"jobTitles":await p.jobTitles.delete(t);break;case"offices":await p.offices.delete(t);break}k()}catch(n){const m=n instanceof Error?n.message:"Failed to delete";j(m)}},we=async t=>{try{if(t.isActive)switch(N){case"companies":await p.companies.deactivate(t.id);break;case"departments":await p.departments.deactivate(t.id);break;case"jobTitles":await p.jobTitles.deactivate(t.id);break;case"offices":await p.offices.deactivate(t.id);break}else switch(N){case"companies":await p.companies.activate(t.id);break;case"departments":await p.departments.activate(t.id);break;case"jobTitles":await p.jobTitles.activate(t.id);break;case"offices":await p.offices.activate(t.id);break}k()}catch(n){const m=n instanceof Error?n.message:"Failed to toggle status";j(m)}},Se=async()=>{if(!(w.size<2))try{const t=await p.merge.preview({tenantId:y,referenceType:_.referenceType,sourceIds:Array.from(w)});V(t),Z(null),te(""),X(!0)}catch(t){console.error("Failed to get merge preview:",t),j("Failed to preview merge")}},ke=async()=>{if(!P||!B)return;const t=Array.from(w).filter(n=>n!==P);try{z(!0),j(null),await p.merge.execute({tenantId:y,referenceType:_.referenceType,targetId:P,sourceIds:t,reason:ee||void 0}),X(!1),A(new Set),V(null),k()}catch(n){const m=n instanceof Error?n.message:"Failed to merge";j(m)}finally{z(!1)}},Ce=async()=>{try{const t=await p.merge.getHistory(y,_.referenceType);he(t),O(!0)}catch(t){console.error("Failed to load merge history:",t),j("Failed to load merge history")}},Te=t=>{Q(t),S({code:t.code,name:t.name,shortName:t.shortName,description:t.description}),L(!0),D(null)},$e=t=>t.isMerged?e.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-1 text-xs font-medium rounded-full bg-[var(--info-bg)] text-[var(--info-text)]",children:[e.jsx(i.GitMerge,{className:"w-3 h-3"}),a("references.merged","Merged")]}):t.isActive?null:e.jsx("span",{className:"inline-flex items-center gap-1 px-2 py-1 text-xs font-medium rounded-full bg-[var(--bg-secondary)] text-[var(--text-secondary)]",children:a("references.inactive","Inactive")});return e.jsxs("div",{className:"p-6",children:[e.jsx("div",{className:"mb-6",children:e.jsx(C.Breadcrumb,{items:[{label:a("admin.title","Administration"),href:"/administration"},{label:a("users.title","Users"),href:"/administration/users"},{label:a("references.title","References")}]})}),e.jsxs("div",{className:"mb-6",children:[e.jsx("h1",{className:"text-2xl font-bold text-[var(--text-primary)]",children:a("references.title","Reference Data Management")}),e.jsx("p",{className:"text-[var(--text-secondary)] mt-1",children:a("references.description","Manage companies, departments, job titles, and offices for your organization")}),e.jsxs("div",{className:"mt-4",children:[e.jsx(se.TenantScopeSelector,{value:d,onChange:h,adminTenants:c.map(t=>({tenantId:t.id,tenantSlug:t.slug,tenantName:t.name,tenantType:t.type}))}),o&&e.jsxs("p",{className:"mt-2 text-sm text-[var(--text-secondary)] flex items-center gap-1.5",children:[e.jsx(i.Globe,{className:"w-4 h-4"}),a("references.globalModeInfo","Showing references from all tenants. Select a tenant to manage its data.")]})]})]}),ae&&e.jsxs("div",{className:"mb-4 p-4 bg-[var(--error-bg)] border border-[var(--error-border)] rounded-[var(--radius-card)]",children:[e.jsxs("div",{className:"flex items-center",children:[e.jsx(i.AlertCircle,{className:"w-5 h-5 text-[var(--error-text)]"}),e.jsx("span",{className:"ml-2 text-[var(--error-text)]",children:ae}),e.jsx("button",{onClick:()=>j(null),className:"ml-auto text-[var(--error-text)]",children:e.jsx(i.X,{className:"w-4 h-4"})})]}),e.jsx("button",{onClick:()=>k(),className:"mt-2 text-sm text-[var(--error-text)] hover:opacity-80 underline",children:a("common.retry","Retry")})]}),e.jsx("div",{className:"border-b border-[var(--border-color)] mb-6",children:e.jsx("nav",{className:"flex gap-4 -mb-px",children:re.map(t=>{const n=t.icon,m=N===t.id;return e.jsxs("button",{onClick:()=>{ce(t.id),A(new Set)},className:`flex items-center gap-2 px-4 py-3 border-b-2 font-medium text-sm transition-colors ${m?"border-[var(--color-accent-500)] text-[var(--color-accent-600)]":"border-transparent text-[var(--text-secondary)] hover:text-[var(--text-primary)] hover:border-[var(--border-color)]"}`,children:[e.jsx(n,{className:"w-4 h-4"}),t.label]},t.id)})})}),e.jsxs("div",{className:"flex items-center justify-between gap-4 mb-4",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("div",{className:"relative",children:[e.jsx(i.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-[var(--text-tertiary)]"}),e.jsx("input",{type:"text",value:$,onChange:t=>ie(t.target.value),placeholder:a("common.search","Search..."),className:"pl-10 pr-4 py-2 border border-[var(--border-color)] rounded-[var(--radius-input)] bg-[var(--bg-primary)] text-[var(--text-primary)] focus:ring-2 focus:ring-[var(--color-accent-500)]"})]}),e.jsxs("label",{className:"flex items-center gap-2 text-sm text-[var(--text-secondary)]",children:[e.jsx("input",{type:"checkbox",checked:F,onChange:t=>le(t.target.checked),className:"rounded border-[var(--border-color)]"}),a("references.showInactive","Show inactive")]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[w.size>=2&&!o&&e.jsxs("button",{onClick:Se,className:"flex items-center gap-2 px-4 py-2 bg-[var(--info-dot)] text-white rounded-[var(--radius-button)] hover:opacity-90 transition-opacity",children:[e.jsx(i.GitMerge,{className:"w-4 h-4"}),a("references.merge","Merge")," (",w.size,")"]}),!o&&e.jsxs("button",{onClick:Ce,className:"flex items-center gap-2 px-4 py-2 border border-[var(--border-color)] text-[var(--text-primary)] rounded-[var(--radius-button)] hover:bg-[var(--bg-hover)] transition-colors",children:[e.jsx(i.History,{className:"w-4 h-4"}),a("references.history","History")]}),e.jsxs("button",{onClick:()=>{S({code:"",name:""}),H(!0)},disabled:o,title:o?a("references.selectTenantToCreate","Select a tenant to create a reference"):void 0,className:`flex items-center gap-2 px-4 py-2 rounded-[var(--radius-button)] transition-colors ${o?"bg-[var(--bg-secondary)] text-[var(--text-tertiary)] cursor-not-allowed":"bg-[var(--color-accent-600)] text-white hover:bg-[var(--color-accent-700)]"}`,children:[e.jsx(i.Plus,{className:"w-4 h-4"}),a("common.create","Create")]})]})]}),e.jsxs("div",{className:"card overflow-hidden",children:[G&&e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx(i.Loader2,{className:"w-8 h-8 animate-spin text-[var(--color-accent-500)]"})}),!G&&T.length===0&&e.jsx("div",{className:"text-center py-12 text-[var(--text-secondary)]",children:a("references.noItems","No items found")}),!G&&T.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs("table",{className:"w-full",children:[e.jsx("thead",{className:"bg-[var(--bg-secondary)] border-b border-[var(--border-color)]",children:e.jsxs("tr",{children:[e.jsx("th",{className:"w-12 px-4 py-3",children:!o&&e.jsx("input",{type:"checkbox",checked:w.size===T.length&&T.length>0,onChange:fe,className:"rounded border-[var(--border-color)]"})}),e.jsx("th",{className:"px-4 py-3 text-left text-sm font-medium text-[var(--text-secondary)]",children:a("references.code","Code")}),e.jsx("th",{className:"px-4 py-3 text-left text-sm font-medium text-[var(--text-secondary)]",children:a("references.name","Name")}),o&&e.jsx("th",{className:"px-4 py-3 text-left text-sm font-medium text-[var(--text-secondary)]",children:a("references.tenant","Tenant")}),e.jsx("th",{className:"px-4 py-3 text-left text-sm font-medium text-[var(--text-secondary)]",children:a("references.shortName","Short Name")}),e.jsx("th",{className:"px-4 py-3 text-center text-sm font-medium text-[var(--text-secondary)]",children:a("references.users","Users")}),e.jsx("th",{className:"px-4 py-3 text-center text-sm font-medium text-[var(--text-secondary)]",children:a("references.status","Status")}),e.jsx("th",{className:"w-20 px-4 py-3"})]})}),e.jsx("tbody",{className:"divide-y divide-[var(--border-color)]",children:T.map(t=>e.jsxs("tr",{className:`hover:bg-[var(--bg-hover)] transition-colors ${w.has(t.id)?"bg-[var(--info-bg)]":""} ${t.isMerged?"opacity-60":""}`,children:[e.jsx("td",{className:"px-4 py-3",children:!o&&e.jsx("input",{type:"checkbox",checked:w.has(t.id),onChange:()=>be(t.id),disabled:t.isMerged,className:"rounded border-[var(--border-color)]"})}),e.jsx("td",{className:"px-4 py-3 font-mono text-sm text-[var(--text-primary)]",children:t.code}),e.jsx("td",{className:"px-4 py-3 text-[var(--text-primary)]",children:t.name}),o&&e.jsx("td",{className:"px-4 py-3",children:t.tenantName?e.jsxs("button",{onClick:()=>t.tenantId&&ge(t.tenantId),className:"inline-flex items-center gap-1.5 px-2 py-1 text-xs font-medium rounded-full bg-[var(--info-bg)] text-[var(--info-text)] hover:opacity-80 transition-opacity",title:a("references.switchToTenant","Switch to this tenant"),children:[e.jsx(i.Building2,{className:"w-3 h-3"}),t.tenantName]}):e.jsx("span",{className:"text-[var(--text-tertiary)]",children:"-"})}),e.jsx("td",{className:"px-4 py-3 text-[var(--text-secondary)]",children:t.shortName||"-"}),e.jsx("td",{className:"px-4 py-3 text-center",children:e.jsxs("span",{className:"inline-flex items-center gap-1 text-[var(--text-secondary)]",children:[e.jsx(i.Users,{className:"w-4 h-4"}),t.userCount]})}),e.jsxs("td",{className:"px-4 py-3 text-center",children:[$e(t),t.isActive&&!t.isMerged&&e.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-1 text-xs font-medium rounded-full bg-[var(--success-bg)] text-[var(--success-text)]",children:[e.jsx(i.Check,{className:"w-3 h-3"}),a("references.active","Active")]})]}),e.jsx("td",{className:"px-4 py-3",children:e.jsxs("div",{className:"relative",children:[e.jsx("button",{onClick:()=>D(J===t.id?null:t.id),className:"p-2 hover:bg-[var(--bg-secondary)] rounded-[var(--radius-button)] transition-colors",disabled:t.isMerged||o,children:e.jsx(i.MoreHorizontal,{className:"w-4 h-4"})}),J===t.id&&e.jsxs("div",{className:"absolute right-0 top-full mt-1 w-48 bg-[var(--bg-primary)] border border-[var(--border-color)] rounded-[var(--radius-card)] shadow-lg z-10",children:[e.jsxs("button",{onClick:()=>Te(t),className:"flex items-center gap-2 w-full px-4 py-2 text-left text-sm text-[var(--text-primary)] hover:bg-[var(--bg-hover)]",children:[e.jsx(i.Edit2,{className:"w-4 h-4"}),a("common.edit","Edit")]}),e.jsx("button",{onClick:()=>{we(t),D(null)},className:"flex items-center gap-2 w-full px-4 py-2 text-left text-sm text-[var(--text-primary)] hover:bg-[var(--bg-hover)]",children:t.isActive?a("common.deactivate","Deactivate"):a("common.activate","Activate")}),t.userCount===0&&e.jsxs("button",{onClick:()=>{Ne(t.id),D(null)},className:"flex items-center gap-2 w-full px-4 py-2 text-left text-sm text-[var(--error-text)] hover:bg-[var(--error-bg)]",children:[e.jsx(i.Trash2,{className:"w-4 h-4"}),a("common.delete","Delete")]})]})]})})]},t.id))})]}),e.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-t border-[var(--border-color)] bg-[var(--bg-secondary)]",children:[e.jsxs("div",{className:"text-sm text-[var(--text-secondary)]",children:[a("references.showing","Showing")," ",(g-1)*M+1," ",a("references.to","to")," ",Math.min(g*M,K)," ",a("references.of","of")," ",K," ",a("references.results","results")]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:()=>U(t=>Math.max(1,t-1)),disabled:g===1,className:"px-3 py-1.5 border border-[var(--border-color)] rounded-[var(--radius-button)] text-[var(--text-primary)] hover:bg-[var(--bg-hover)] transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:a("common.previous","Previous")}),e.jsx("div",{className:"flex items-center gap-1",children:Array.from({length:Math.min(5,I)},(t,n)=>{let m;return I<=5||g<=3?m=n+1:g>=I-2?m=I-4+n:m=g-2+n,e.jsx("button",{onClick:()=>U(m),className:`px-3 py-1.5 rounded-[var(--radius-button)] transition-colors ${g===m?"bg-[var(--color-accent-600)] text-white":"border border-[var(--border-color)] text-[var(--text-primary)] hover:bg-[var(--bg-hover)]"}`,children:m},m)})}),e.jsx("button",{onClick:()=>U(t=>Math.min(I,t+1)),disabled:g===I,className:"px-3 py-1.5 border border-[var(--border-color)] rounded-[var(--radius-button)] text-[var(--text-primary)] hover:bg-[var(--bg-hover)] transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:a("common.next","Next")})]})]})]})]}),xe&&e.jsx("div",{className:"fixed inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center z-50",children:e.jsxs("div",{className:"card w-full max-w-md p-6 m-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsx("h2",{className:"text-xl font-semibold text-[var(--text-primary)]",children:a("references.createTitle","Create Reference")}),e.jsx("button",{onClick:()=>H(!1),className:"text-[var(--text-tertiary)] hover:text-[var(--text-primary)]",children:e.jsx(i.X,{className:"w-5 h-5"})})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsxs("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-1",children:[a("references.code","Code")," *"]}),e.jsx("input",{type:"text",value:x.code,onChange:t=>S({...x,code:t.target.value}),className:"w-full px-4 py-2 border border-[var(--border-color)] rounded-[var(--radius-input)] bg-[var(--bg-primary)] text-[var(--text-primary)] focus:outline-none focus:ring-2 focus:ring-[var(--color-accent-500)]"})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-1",children:[a("references.name","Name")," *"]}),e.jsx("input",{type:"text",value:x.name,onChange:t=>S({...x,name:t.target.value}),className:"w-full px-4 py-2 border border-[var(--border-color)] rounded-[var(--radius-input)] bg-[var(--bg-primary)] text-[var(--text-primary)] focus:outline-none focus:ring-2 focus:ring-[var(--color-accent-500)]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-1",children:a("references.shortName","Short Name")}),e.jsx("input",{type:"text",value:x.shortName||"",onChange:t=>S({...x,shortName:t.target.value||null}),className:"w-full px-4 py-2 border border-[var(--border-color)] rounded-[var(--radius-input)] bg-[var(--bg-primary)] text-[var(--text-primary)] focus:outline-none focus:ring-2 focus:ring-[var(--color-accent-500)]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-1",children:a("references.description","Description")}),e.jsx("textarea",{value:x.description||"",onChange:t=>S({...x,description:t.target.value||null}),rows:3,className:"w-full px-4 py-2 border border-[var(--border-color)] rounded-[var(--radius-input)] bg-[var(--bg-primary)] text-[var(--text-primary)] focus:outline-none focus:ring-2 focus:ring-[var(--color-accent-500)]"})]})]}),e.jsxs("div",{className:"flex justify-end gap-3 mt-6",children:[e.jsx("button",{onClick:()=>H(!1),className:"px-4 py-2 rounded-[var(--radius-button)] bg-[var(--bg-secondary)] text-[var(--text-secondary)] hover:bg-[var(--bg-hover)] transition-colors",children:a("common.cancel","Cancel")}),e.jsxs("button",{onClick:ye,disabled:E||!x.code||!x.name,className:"flex items-center gap-2 px-4 py-2 rounded-[var(--radius-button)] bg-[var(--color-accent-600)] text-white hover:bg-[var(--color-accent-700)] transition-colors disabled:opacity-50",children:[E&&e.jsx(i.Loader2,{className:"w-4 h-4 animate-spin"}),a("common.create","Create")]})]})]})}),ue&&R&&e.jsx("div",{className:"fixed inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center z-50",children:e.jsxs("div",{className:"card w-full max-w-md p-6 m-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsx("h2",{className:"text-xl font-semibold text-[var(--text-primary)]",children:a("references.editTitle","Edit Reference")}),e.jsx("button",{onClick:()=>L(!1),className:"text-[var(--text-tertiary)] hover:text-[var(--text-primary)]",children:e.jsx(i.X,{className:"w-5 h-5"})})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-1",children:a("references.code","Code")}),e.jsx("input",{type:"text",value:x.code,disabled:!0,className:"w-full px-4 py-2 border border-[var(--border-color)] rounded-[var(--radius-input)] bg-[var(--bg-secondary)] text-[var(--text-tertiary)] cursor-not-allowed"})]}),e.jsxs("div",{children:[e.jsxs("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-1",children:[a("references.name","Name")," *"]}),e.jsx("input",{type:"text",value:x.name,onChange:t=>S({...x,name:t.target.value}),className:"w-full px-4 py-2 border border-[var(--border-color)] rounded-[var(--radius-input)] bg-[var(--bg-primary)] text-[var(--text-primary)] focus:outline-none focus:ring-2 focus:ring-[var(--color-accent-500)]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-1",children:a("references.shortName","Short Name")}),e.jsx("input",{type:"text",value:x.shortName||"",onChange:t=>S({...x,shortName:t.target.value||null}),className:"w-full px-4 py-2 border border-[var(--border-color)] rounded-[var(--radius-input)] bg-[var(--bg-primary)] text-[var(--text-primary)] focus:outline-none focus:ring-2 focus:ring-[var(--color-accent-500)]"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-1",children:a("references.description","Description")}),e.jsx("textarea",{value:x.description||"",onChange:t=>S({...x,description:t.target.value||null}),rows:3,className:"w-full px-4 py-2 border border-[var(--border-color)] rounded-[var(--radius-input)] bg-[var(--bg-primary)] text-[var(--text-primary)] focus:outline-none focus:ring-2 focus:ring-[var(--color-accent-500)]"})]})]}),e.jsxs("div",{className:"flex justify-end gap-3 mt-6",children:[e.jsx("button",{onClick:()=>L(!1),className:"px-4 py-2 rounded-[var(--radius-button)] bg-[var(--bg-secondary)] text-[var(--text-secondary)] hover:bg-[var(--bg-hover)] transition-colors",children:a("common.cancel","Cancel")}),e.jsxs("button",{onClick:je,disabled:E||!x.name,className:"flex items-center gap-2 px-4 py-2 rounded-[var(--radius-button)] bg-[var(--color-accent-600)] text-white hover:bg-[var(--color-accent-700)] transition-colors disabled:opacity-50",children:[E&&e.jsx(i.Loader2,{className:"w-4 h-4 animate-spin"}),a("common.save","Save")]})]})]})}),pe&&B&&e.jsx("div",{className:"fixed inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center z-50",children:e.jsxs("div",{className:"card w-full max-w-lg p-6 m-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("h2",{className:"text-xl font-semibold text-[var(--text-primary)] flex items-center gap-2",children:[e.jsx(i.GitMerge,{className:"w-5 h-5 text-[var(--info-dot)]"}),a("references.mergeTitle","Merge References")]}),e.jsx("button",{onClick:()=>X(!1),className:"text-[var(--text-tertiary)] hover:text-[var(--text-primary)]",children:e.jsx(i.X,{className:"w-5 h-5"})})]}),e.jsx("p",{className:"text-sm text-[var(--text-secondary)] mb-4",children:a("references.mergeDescription","Select the target reference. All other selected references will be merged into it and their users will be reassigned.")}),e.jsxs("div",{className:"space-y-2 mb-4",children:[e.jsx("label",{className:"block text-sm font-medium text-[var(--text-secondary)]",children:a("references.selectTarget","Select target reference")}),B.sources.map(t=>e.jsxs("label",{className:`flex items-center gap-3 p-3 border rounded-[var(--radius-card)] cursor-pointer transition-colors ${P===t.id?"border-[var(--info-dot)] bg-[var(--info-bg)]":"border-[var(--border-color)] hover:border-[var(--color-accent-500)]"}`,children:[e.jsx("input",{type:"radio",name:"mergeTarget",value:t.id,checked:P===t.id,onChange:()=>Z(t.id),className:"text-[var(--info-dot)]"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("div",{className:"font-medium text-[var(--text-primary)]",children:t.name}),e.jsxs("div",{className:"text-sm text-[var(--text-secondary)]",children:[t.code," ",t.shortName&&`(${t.shortName})`]})]}),e.jsxs("span",{className:"text-sm text-[var(--text-secondary)]",children:[t.userCount," ",a("references.users","users")]})]},t.id))]}),e.jsxs("div",{className:"mb-4",children:[e.jsx("label",{className:"block text-sm font-medium text-[var(--text-secondary)] mb-1",children:a("references.mergeReason","Reason (optional)")}),e.jsx("textarea",{value:ee,onChange:t=>te(t.target.value),rows:2,placeholder:a("references.mergeReasonPlaceholder","Why are you merging these references?"),className:"w-full px-4 py-2 border border-[var(--border-color)] rounded-[var(--radius-input)] bg-[var(--bg-primary)] text-[var(--text-primary)] focus:outline-none focus:ring-2 focus:ring-[var(--color-accent-500)]"})]}),e.jsx("div",{className:"p-3 bg-[var(--warning-bg)] border border-[var(--warning-border)] rounded-[var(--radius-card)] mb-4",children:e.jsxs("p",{className:"text-sm text-[var(--warning-text)]",children:[e.jsx("strong",{children:B.totalUsersAffected})," ",a("references.usersWillBeReassigned","users will be reassigned")]})}),e.jsxs("div",{className:"flex justify-end gap-3",children:[e.jsx("button",{onClick:()=>X(!1),className:"px-4 py-2 rounded-[var(--radius-button)] bg-[var(--bg-secondary)] text-[var(--text-secondary)] hover:bg-[var(--bg-hover)] transition-colors",children:a("common.cancel","Cancel")}),e.jsxs("button",{onClick:ke,disabled:E||!P,className:"flex items-center gap-2 px-4 py-2 rounded-[var(--radius-button)] bg-[var(--info-dot)] text-white hover:opacity-90 transition-opacity disabled:opacity-50",children:[E&&e.jsx(i.Loader2,{className:"w-4 h-4 animate-spin"}),e.jsx(i.GitMerge,{className:"w-4 h-4"}),a("references.merge","Merge")]})]})]})}),ve&&e.jsx("div",{className:"fixed inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center z-50",children:e.jsxs("div",{className:"card w-full max-w-2xl p-6 m-4 max-h-[80vh] overflow-hidden flex flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("h2",{className:"text-xl font-semibold text-[var(--text-primary)] flex items-center gap-2",children:[e.jsx(i.History,{className:"w-5 h-5"}),a("references.historyTitle","Merge History")]}),e.jsx("button",{onClick:()=>O(!1),className:"text-[var(--text-tertiary)] hover:text-[var(--text-primary)]",children:e.jsx(i.X,{className:"w-5 h-5"})})]}),e.jsx("div",{className:"overflow-y-auto flex-1",children:Y.length===0?e.jsx("div",{className:"text-center py-8 text-[var(--text-secondary)]",children:a("references.noHistory","No merge history found")}):e.jsx("div",{className:"space-y-3",children:Y.map(t=>e.jsxs("div",{className:"p-4 border border-[var(--border-color)] rounded-[var(--radius-card)]",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(i.GitMerge,{className:"w-4 h-4 text-[var(--info-dot)]"}),e.jsx("span",{className:"font-medium text-[var(--text-primary)]",children:t.sourceReferenceName}),e.jsx("span",{className:"text-[var(--text-secondary)]",children:"→"}),e.jsx("span",{className:"font-medium text-[var(--text-primary)]",children:t.targetReferenceName})]}),e.jsxs("div",{className:"text-sm text-[var(--text-secondary)] space-y-1",children:[e.jsxs("div",{children:[t.affectedUserCount," users reassigned"]}),e.jsxs("div",{children:["By ",t.mergedByUserName]}),e.jsx("div",{children:new Date(t.mergedAt).toLocaleString()}),t.mergeReason&&e.jsxs("div",{className:"italic",children:['"',t.mergeReason,'"']})]})]},t.id))})}),e.jsx("div",{className:"flex justify-end mt-4 pt-4 border-t border-[var(--border-color)]",children:e.jsx("button",{onClick:()=>O(!1),className:"px-4 py-2 rounded-[var(--radius-button)] bg-[var(--bg-secondary)] text-[var(--text-secondary)] hover:bg-[var(--bg-hover)] transition-colors",children:a("common.close","Close")})})]})}),J&&e.jsx("button",{type:"button",className:"fixed inset-0 z-0",onClick:()=>D(null),"aria-label":"Close menu"})]})}exports.ReferencesManagementPage=Re;
|
|
2
|
+
//# sourceMappingURL=ReferencesManagementPage-B0Cq9BHS.js.map
|