@atlashub/smartstack 3.11.0 → 3.15.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/AiDocPage-CM7j_50_.cjs.map +1 -1
- package/dist/AiDocPage-rnKBvVof.js.map +1 -1
- package/dist/ArchitecturePage-Cn_XCDAo.cjs.map +1 -1
- package/dist/ArchitecturePage-DNwzHKk0.js.map +1 -1
- package/dist/{AuthCallbackPage-Cu74zAX1.js → AuthCallbackPage-CoJi12d0.js} +2 -2
- package/dist/AuthCallbackPage-CoJi12d0.js.map +1 -0
- package/dist/{AuthCallbackPage-Bv2Cyn80.cjs → AuthCallbackPage-D_g2VCjj.cjs} +2 -2
- package/dist/AuthCallbackPage-D_g2VCjj.cjs.map +1 -0
- package/dist/{BaIndexPage-Dkp_Eixx.js → BaIndexPage-B5scAEin.js} +2 -2
- package/dist/BaIndexPage-B5scAEin.js.map +1 -0
- package/dist/BaIndexPage-C3osYS_6.cjs +2 -0
- package/dist/BaIndexPage-C3osYS_6.cjs.map +1 -0
- package/dist/BaViewerPage-BPucPOSy.cjs +2 -0
- package/dist/BaViewerPage-BPucPOSy.cjs.map +1 -0
- package/dist/{BaViewerPage-DxD0eZm-.js → BaViewerPage-TL6IHeQx.js} +26 -26
- package/dist/BaViewerPage-TL6IHeQx.js.map +1 -0
- package/dist/{ConfirmEmailPage-su3Fvl0e.cjs → ConfirmEmailPage-B3mrPUvg.cjs} +2 -2
- package/dist/ConfirmEmailPage-B3mrPUvg.cjs.map +1 -0
- package/dist/{ConfirmEmailPage-BTp8J0pw.js → ConfirmEmailPage-DDp2IPE_.js} +2 -2
- package/dist/ConfirmEmailPage-DDp2IPE_.js.map +1 -0
- package/dist/CrossSchemaFkPage-BchJFOmH.js.map +1 -1
- package/dist/CrossSchemaFkPage-DqFNORYd.cjs.map +1 -1
- package/dist/{DatabasePage-DFIK8cSM.js → DatabasePage-BnaX9sis.js} +44 -48
- package/dist/DatabasePage-BnaX9sis.js.map +1 -0
- package/dist/DatabasePage-DAzb3FnS.cjs +2 -0
- package/dist/DatabasePage-DAzb3FnS.cjs.map +1 -0
- package/dist/DeveloperIndexPage-CtBfD2JI.cjs.map +1 -1
- package/dist/DeveloperIndexPage-D4zD_pop.js.map +1 -1
- package/dist/{DocRenderer-CcEn1iaa.js → DocRenderer-C5pM9SWP.js} +99 -94
- package/dist/DocRenderer-C5pM9SWP.js.map +1 -0
- package/dist/DocRenderer-D7hi9Oa-.cjs +2 -0
- package/dist/DocRenderer-D7hi9Oa-.cjs.map +1 -0
- package/dist/DocsIndexPage-BD6OOCak.js.map +1 -1
- package/dist/DocsIndexPage-BPfi0FQD.cjs.map +1 -1
- package/dist/{DualDbContextPage-BujD_coN.js → DualDbContextPage-CVBjCvGp.js} +2 -2
- package/dist/DualDbContextPage-CVBjCvGp.js.map +1 -0
- package/dist/{DualDbContextPage--Qk-qEgD.cjs → DualDbContextPage-Dz8NAewk.cjs} +2 -2
- package/dist/DualDbContextPage-Dz8NAewk.cjs.map +1 -0
- package/dist/{ForceChangePasswordPage-kEFsb5Aq.cjs → ForceChangePasswordPage-BqNyswSy.cjs} +2 -2
- package/dist/ForceChangePasswordPage-BqNyswSy.cjs.map +1 -0
- package/dist/{ForceChangePasswordPage-ClENqzCH.js → ForceChangePasswordPage-DkpGGEn7.js} +2 -2
- package/dist/ForceChangePasswordPage-DkpGGEn7.js.map +1 -0
- package/dist/{ForgotPasswordPage--Wl0Vxbv.cjs → ForgotPasswordPage-C7mySa8O.cjs} +2 -2
- package/dist/ForgotPasswordPage-C7mySa8O.cjs.map +1 -0
- package/dist/{ForgotPasswordPage-BEgvV5f-.js → ForgotPasswordPage-Dmi6wpMM.js} +2 -2
- package/dist/ForgotPasswordPage-Dmi6wpMM.js.map +1 -0
- package/dist/InfrastructurePage-D4ZjLzI_.cjs.map +1 -1
- package/dist/InfrastructurePage-q_y1z8T_.js.map +1 -1
- package/dist/InstallationPage-BJ-GBVPp.cjs.map +1 -1
- package/dist/InstallationPage-CXKmzZuN.js.map +1 -1
- package/dist/ModulesPage-B3p8e07v.js.map +1 -1
- package/dist/ModulesPage-lz8DUm3X.cjs.map +1 -1
- package/dist/{OnboardingWizardPage-Bx1UlTbr.js → OnboardingWizardPage-BeCNpdPL.js} +2 -2
- package/dist/OnboardingWizardPage-BeCNpdPL.js.map +1 -0
- package/dist/{OnboardingWizardPage-C7vendrq.cjs → OnboardingWizardPage-CgEpUx9X.cjs} +2 -2
- package/dist/OnboardingWizardPage-CgEpUx9X.cjs.map +1 -0
- package/dist/{RegisterPage-DKr8quRk.cjs → RegisterPage-BejbbAl9.cjs} +2 -2
- package/dist/RegisterPage-BejbbAl9.cjs.map +1 -0
- package/dist/{RegisterPage-BzV0sCTe.js → RegisterPage-CcuYYRBS.js} +2 -2
- package/dist/RegisterPage-CcuYYRBS.js.map +1 -0
- package/dist/{ResetPasswordPage-x4do1o-j.cjs → ResetPasswordPage-7brP8dT7.cjs} +2 -2
- package/dist/ResetPasswordPage-7brP8dT7.cjs.map +1 -0
- package/dist/{ResetPasswordPage-DphmJrcJ.js → ResetPasswordPage-BX3wnSSM.js} +2 -2
- package/dist/ResetPasswordPage-BX3wnSSM.js.map +1 -0
- package/dist/SettingsDocPage-DYXvb3M-.js.map +1 -1
- package/dist/SettingsDocPage-Dqj8KzOa.cjs.map +1 -1
- package/dist/SlaDocPage-D44QWNY8.cjs.map +1 -1
- package/dist/SlaDocPage-hLFLqLVa.js.map +1 -1
- package/dist/SmartStackPresentationPage-52Nb7F0X.cjs.map +1 -1
- package/dist/SmartStackPresentationPage-D3ku9GtQ.js.map +1 -1
- package/dist/{SupportDashboardDocPage-CLotzEwA.js → SupportDashboardDocPage-CG_Ahacx.js} +2 -2
- package/dist/SupportDashboardDocPage-CG_Ahacx.js.map +1 -0
- package/dist/{SupportDashboardDocPage-DpgGq5Mm.cjs → SupportDashboardDocPage-DfV-9_8r.cjs} +2 -2
- package/dist/SupportDashboardDocPage-DfV-9_8r.cjs.map +1 -0
- package/dist/{SupportEscalationDocPage-B-_ChfdN.js → SupportEscalationDocPage-C481D7pF.js} +2 -2
- package/dist/SupportEscalationDocPage-C481D7pF.js.map +1 -0
- package/dist/{SupportEscalationDocPage-WXkAQr8k.cjs → SupportEscalationDocPage-C65oCDZL.cjs} +2 -2
- package/dist/SupportEscalationDocPage-C65oCDZL.cjs.map +1 -0
- package/dist/SupportIndexPage-Bb0giRKn.js.map +1 -1
- package/dist/SupportIndexPage-CsDQ35Cu.cjs.map +1 -1
- package/dist/{SupportMyTicketsDocPage-DeRUdAIi.js → SupportMyTicketsDocPage-D2f6DaKb.js} +2 -2
- package/dist/SupportMyTicketsDocPage-D2f6DaKb.js.map +1 -0
- package/dist/{SupportMyTicketsDocPage-jE1UMaIY.cjs → SupportMyTicketsDocPage-Dbp6XBnH.cjs} +2 -2
- package/dist/SupportMyTicketsDocPage-Dbp6XBnH.cjs.map +1 -0
- package/dist/{SupportTemplatesDocPage-ajO-cHmK.cjs → SupportTemplatesDocPage-BkeDpR-8.cjs} +2 -2
- package/dist/SupportTemplatesDocPage-BkeDpR-8.cjs.map +1 -0
- package/dist/{SupportTemplatesDocPage-C8ZLzFJc.js → SupportTemplatesDocPage-sCKQlZFJ.js} +2 -2
- package/dist/SupportTemplatesDocPage-sCKQlZFJ.js.map +1 -0
- package/dist/{SupportTicketsDocPage-C_ybDTjC.cjs → SupportTicketsDocPage-B_603CpY.cjs} +2 -2
- package/dist/SupportTicketsDocPage-B_603CpY.cjs.map +1 -0
- package/dist/{SupportTicketsDocPage-DQhHfa6J.js → SupportTicketsDocPage-ClBa3qeY.js} +2 -2
- package/dist/SupportTicketsDocPage-ClBa3qeY.js.map +1 -0
- package/dist/TeamsIntegrationPage-BwhBcPAK.js.map +1 -1
- package/dist/TeamsIntegrationPage-DXj5MDRS.cjs.map +1 -1
- package/dist/ThemeDocPage-B6x55uSE.cjs.map +1 -1
- package/dist/ThemeDocPage-xkMbvMJG.js.map +1 -1
- package/dist/UserIndexPage-DSDfRWFx.js.map +1 -1
- package/dist/UserIndexPage-DahU6wzK.cjs.map +1 -1
- package/dist/components/ThemeSync.d.ts +2 -1
- package/dist/components/ThemeSync.d.ts.map +1 -1
- package/dist/components/auth/PermissionSyncHandler.d.ts +2 -1
- package/dist/components/auth/PermissionSyncHandler.d.ts.map +1 -1
- package/dist/components/dashboard/ApplicationActivityPieChart.d.ts +1 -1
- package/dist/components/dashboard/ApplicationActivityPieChart.d.ts.map +1 -1
- package/dist/components/dashboard/ApplicationUsageChart.d.ts +3 -2
- package/dist/components/dashboard/ApplicationUsageChart.d.ts.map +1 -1
- package/dist/components/dashboard/CurrentSessionCard.d.ts +3 -2
- package/dist/components/dashboard/CurrentSessionCard.d.ts.map +1 -1
- package/dist/components/dashboard/DeviceBreakdownChart.d.ts +1 -1
- package/dist/components/dashboard/DeviceBreakdownChart.d.ts.map +1 -1
- package/dist/components/dashboard/DeviceStatsCard.d.ts +3 -2
- package/dist/components/dashboard/DeviceStatsCard.d.ts.map +1 -1
- package/dist/components/dashboard/EngagementMetricsCard.d.ts +1 -1
- package/dist/components/dashboard/EngagementMetricsCard.d.ts.map +1 -1
- package/dist/components/dashboard/HierarchyDrillDownChart.d.ts +2 -2
- package/dist/components/dashboard/HierarchyDrillDownChart.d.ts.map +1 -1
- package/dist/components/dashboard/HourlyUsageChart.d.ts +3 -2
- package/dist/components/dashboard/HourlyUsageChart.d.ts.map +1 -1
- package/dist/components/dashboard/LoginErrorsTable.d.ts +3 -2
- package/dist/components/dashboard/LoginErrorsTable.d.ts.map +1 -1
- package/dist/components/dashboard/ModulePopularityChart.d.ts +2 -2
- package/dist/components/dashboard/ModulePopularityChart.d.ts.map +1 -1
- package/dist/components/dashboard/SessionAnalyticsChart.d.ts +3 -2
- package/dist/components/dashboard/SessionAnalyticsChart.d.ts.map +1 -1
- package/dist/components/dashboard/TenantActivityPieChart.d.ts +2 -2
- package/dist/components/dashboard/TenantActivityPieChart.d.ts.map +1 -1
- package/dist/components/dashboard/TenantPopularityChart.d.ts +2 -2
- package/dist/components/dashboard/TenantPopularityChart.d.ts.map +1 -1
- package/dist/components/dashboard/TenantUsageTrendChart.d.ts +2 -2
- package/dist/components/dashboard/TenantUsageTrendChart.d.ts.map +1 -1
- package/dist/components/dashboard/UsageTrendChart.d.ts +2 -2
- package/dist/components/dashboard/UsageTrendChart.d.ts.map +1 -1
- package/dist/components/dashboard/WeeklyUsageChart.d.ts +3 -2
- package/dist/components/dashboard/WeeklyUsageChart.d.ts.map +1 -1
- package/dist/components/docs/DocRenderer.d.ts +6 -5
- package/dist/components/docs/DocRenderer.d.ts.map +1 -1
- package/dist/components/docs/DocsSearch.d.ts +5 -4
- package/dist/components/docs/DocsSearch.d.ts.map +1 -1
- package/dist/components/email/EmailEditor.d.ts +7 -6
- package/dist/components/email/EmailEditor.d.ts.map +1 -1
- package/dist/components/errors/AccessDenied.d.ts +8 -7
- package/dist/components/errors/AccessDenied.d.ts.map +1 -1
- package/dist/components/errors/ErrorFallback.d.ts +4 -3
- package/dist/components/errors/ErrorFallback.d.ts.map +1 -1
- package/dist/components/errors/GlobalErrorBoundary.d.ts +3 -2
- package/dist/components/errors/GlobalErrorBoundary.d.ts.map +1 -1
- package/dist/components/errors/NoActiveWorkspace.d.ts +2 -1
- package/dist/components/errors/NoActiveWorkspace.d.ts.map +1 -1
- package/dist/components/errors/RouteErrorBoundary.d.ts +3 -2
- package/dist/components/errors/RouteErrorBoundary.d.ts.map +1 -1
- package/dist/components/favorites/FavoritesBar.d.ts +3 -2
- package/dist/components/favorites/FavoritesBar.d.ts.map +1 -1
- package/dist/components/favorites/FavoritesModal.d.ts +4 -3
- package/dist/components/favorites/FavoritesModal.d.ts.map +1 -1
- package/dist/components/layout/AdminHeader.d.ts +3 -2
- package/dist/components/layout/AdminHeader.d.ts.map +1 -1
- package/dist/components/layout/AdminSidebar.d.ts +4 -3
- package/dist/components/layout/AdminSidebar.d.ts.map +1 -1
- package/dist/components/layout/AppHeader.d.ts +3 -2
- package/dist/components/layout/AppHeader.d.ts.map +1 -1
- package/dist/components/layout/BusinessHeader.d.ts +3 -2
- package/dist/components/layout/BusinessHeader.d.ts.map +1 -1
- package/dist/components/layout/Footer.d.ts +2 -1
- package/dist/components/layout/Footer.d.ts.map +1 -1
- package/dist/components/layout/Header.d.ts +2 -1
- package/dist/components/layout/Header.d.ts.map +1 -1
- package/dist/components/layout/ModuleSidebar.d.ts +4 -3
- package/dist/components/layout/ModuleSidebar.d.ts.map +1 -1
- package/dist/components/layout/ResizableMainContent.d.ts +3 -2
- package/dist/components/layout/ResizableMainContent.d.ts.map +1 -1
- package/dist/components/layout/UserHeader.d.ts +3 -2
- package/dist/components/layout/UserHeader.d.ts.map +1 -1
- package/dist/components/layout/UserSidebar.d.ts +4 -3
- package/dist/components/layout/UserSidebar.d.ts.map +1 -1
- package/dist/components/license/FeatureGate.d.ts +6 -6
- package/dist/components/license/FeatureGate.d.ts.map +1 -1
- package/dist/components/license/FeatureRouteGuard.d.ts +3 -2
- package/dist/components/license/FeatureRouteGuard.d.ts.map +1 -1
- package/dist/components/license/LicenseActivationDialog.d.ts +4 -3
- package/dist/components/license/LicenseActivationDialog.d.ts.map +1 -1
- package/dist/components/license/LicenseAlertBanner.d.ts +2 -1
- package/dist/components/license/LicenseAlertBanner.d.ts.map +1 -1
- package/dist/components/license/LicenseBlockOverlay.d.ts +2 -1
- package/dist/components/license/LicenseBlockOverlay.d.ts.map +1 -1
- package/dist/components/license/LicenseContentBanner.d.ts +2 -1
- package/dist/components/license/LicenseContentBanner.d.ts.map +1 -1
- package/dist/components/license/LicenseGuard.d.ts +2 -1
- package/dist/components/license/LicenseGuard.d.ts.map +1 -1
- package/dist/components/license/LicenseStatusBadge.d.ts +3 -2
- package/dist/components/license/LicenseStatusBadge.d.ts.map +1 -1
- package/dist/components/notifications/NotificationBell.d.ts +2 -1
- package/dist/components/notifications/NotificationBell.d.ts.map +1 -1
- package/dist/components/platform/administration/ApplicationAccessCustomizeDrawer.d.ts +9 -8
- package/dist/components/platform/administration/ApplicationAccessCustomizeDrawer.d.ts.map +1 -1
- package/dist/components/platform/administration/ApplicationCard.d.ts +8 -8
- package/dist/components/platform/administration/ApplicationCard.d.ts.map +1 -1
- package/dist/components/platform/administration/ConflictDiffView.d.ts +4 -3
- package/dist/components/platform/administration/ConflictDiffView.d.ts.map +1 -1
- package/dist/components/platform/administration/EntraGroupRoleAssignment.d.ts +8 -7
- package/dist/components/platform/administration/EntraGroupRoleAssignment.d.ts.map +1 -1
- package/dist/components/platform/administration/GroupApplicationsTab.d.ts +4 -3
- package/dist/components/platform/administration/GroupApplicationsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/GroupMembersTab.d.ts +5 -4
- package/dist/components/platform/administration/GroupMembersTab.d.ts.map +1 -1
- package/dist/components/platform/administration/GroupPermissionsView.d.ts +3 -2
- package/dist/components/platform/administration/GroupPermissionsView.d.ts.map +1 -1
- package/dist/components/platform/administration/GroupRoleAssignment.d.ts +10 -9
- package/dist/components/platform/administration/GroupRoleAssignment.d.ts.map +1 -1
- package/dist/components/platform/administration/GroupTenantsTab.d.ts +4 -3
- package/dist/components/platform/administration/GroupTenantsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/PermissionDrillDownBar.d.ts +8 -7
- package/dist/components/platform/administration/PermissionDrillDownBar.d.ts.map +1 -1
- package/dist/components/platform/administration/PermissionMatrixFilters.d.ts +10 -9
- package/dist/components/platform/administration/PermissionMatrixFilters.d.ts.map +1 -1
- package/dist/components/platform/administration/PermissionMatrixTable.d.ts +15 -14
- package/dist/components/platform/administration/PermissionMatrixTable.d.ts.map +1 -1
- package/dist/components/platform/administration/PermissionPopover.d.ts +12 -11
- package/dist/components/platform/administration/PermissionPopover.d.ts.map +1 -1
- package/dist/components/platform/administration/TenantAccessCustomizeDrawer.d.ts +8 -7
- package/dist/components/platform/administration/TenantAccessCustomizeDrawer.d.ts.map +1 -1
- package/dist/components/platform/administration/TenantEntraTab.d.ts +5 -4
- package/dist/components/platform/administration/TenantEntraTab.d.ts.map +1 -1
- package/dist/components/platform/administration/UserGroupsTab.d.ts +4 -3
- package/dist/components/platform/administration/UserGroupsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/UserRoleAssignment.d.ts +13 -12
- package/dist/components/platform/administration/UserRoleAssignment.d.ts.map +1 -1
- package/dist/components/platform/administration/access-requests/AccessRequestApprovalModal.d.ts +8 -7
- package/dist/components/platform/administration/access-requests/AccessRequestApprovalModal.d.ts.map +1 -1
- package/dist/components/platform/administration/access-requests/AccessRequestStatusBadge.d.ts +3 -2
- package/dist/components/platform/administration/access-requests/AccessRequestStatusBadge.d.ts.map +1 -1
- package/dist/components/platform/administration/access-requests/AccessRequestsListTab.d.ts +6 -5
- package/dist/components/platform/administration/access-requests/AccessRequestsListTab.d.ts.map +1 -1
- package/dist/components/platform/administration/access-requests/RequestAccessButton.d.ts +6 -5
- package/dist/components/platform/administration/access-requests/RequestAccessButton.d.ts.map +1 -1
- package/dist/components/platform/administration/ai/AiModelsTab.d.ts +6 -5
- package/dist/components/platform/administration/ai/AiModelsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/ai/AiProfilesTab.d.ts +18 -17
- package/dist/components/platform/administration/ai/AiProfilesTab.d.ts.map +1 -1
- package/dist/components/platform/administration/ai/AiProvidersTab.d.ts +3 -2
- package/dist/components/platform/administration/ai/AiProvidersTab.d.ts.map +1 -1
- package/dist/components/platform/administration/ai/PromptTestPanel.d.ts +4 -3
- package/dist/components/platform/administration/ai/PromptTestPanel.d.ts.map +1 -1
- package/dist/components/platform/administration/applications/ApplicationAccessTab.d.ts +4 -3
- package/dist/components/platform/administration/applications/ApplicationAccessTab.d.ts.map +1 -1
- package/dist/components/platform/administration/applications/ApplicationInfoTab.d.ts +16 -16
- package/dist/components/platform/administration/applications/ApplicationInfoTab.d.ts.map +1 -1
- package/dist/components/platform/administration/applications/ApplicationModulesTab.d.ts +30 -29
- package/dist/components/platform/administration/applications/ApplicationModulesTab.d.ts.map +1 -1
- package/dist/components/platform/administration/applications/ApplicationPermissionsTab.d.ts +5 -4
- package/dist/components/platform/administration/applications/ApplicationPermissionsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/applications/ApplicationPublicationTab.d.ts +49 -49
- package/dist/components/platform/administration/applications/ApplicationPublicationTab.d.ts.map +1 -1
- package/dist/components/platform/administration/entra/ConflictCard.d.ts +5 -4
- package/dist/components/platform/administration/entra/ConflictCard.d.ts.map +1 -1
- package/dist/components/platform/administration/entra/ResolutionModal.d.ts +6 -5
- package/dist/components/platform/administration/entra/ResolutionModal.d.ts.map +1 -1
- package/dist/components/platform/administration/organisations/CreateOrganisationForm.d.ts +8 -7
- package/dist/components/platform/administration/organisations/CreateOrganisationForm.d.ts.map +1 -1
- package/dist/components/platform/administration/permissions/GroupPermissionMatrix.d.ts +6 -5
- package/dist/components/platform/administration/permissions/GroupPermissionMatrix.d.ts.map +1 -1
- package/dist/components/platform/administration/permissions/PermissionStatusIndicator.d.ts +6 -5
- package/dist/components/platform/administration/permissions/PermissionStatusIndicator.d.ts.map +1 -1
- package/dist/components/platform/administration/permissions/RolePermissionMatrix.d.ts +3 -2
- package/dist/components/platform/administration/permissions/RolePermissionMatrix.d.ts.map +1 -1
- package/dist/components/platform/administration/permissions/UserPermissionMatrix.d.ts +5 -4
- package/dist/components/platform/administration/permissions/UserPermissionMatrix.d.ts.map +1 -1
- package/dist/components/platform/administration/settings/SettingsHistoryModal.d.ts +2 -1
- package/dist/components/platform/administration/settings/SettingsHistoryModal.d.ts.map +1 -1
- package/dist/components/platform/administration/tenants/TenantApplicationsTab.d.ts +55 -54
- package/dist/components/platform/administration/tenants/TenantApplicationsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/tenants/TenantGroupsTab.d.ts +8 -7
- package/dist/components/platform/administration/tenants/TenantGroupsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/tenants/TenantMembersTab.d.ts +8 -7
- package/dist/components/platform/administration/tenants/TenantMembersTab.d.ts.map +1 -1
- package/dist/components/platform/administration/tenants/TenantOverviewTab.d.ts +12 -11
- package/dist/components/platform/administration/tenants/TenantOverviewTab.d.ts.map +1 -1
- package/dist/components/platform/administration/tenants/TenantRolesTab.d.ts +2 -1
- package/dist/components/platform/administration/tenants/TenantRolesTab.d.ts.map +1 -1
- package/dist/components/platform/administration/tenants/TenantSupportSettingsTab.d.ts +4 -3
- package/dist/components/platform/administration/tenants/TenantSupportSettingsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/users/UserActivitySessionsTab.d.ts +8 -7
- package/dist/components/platform/administration/users/UserActivitySessionsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/users/UserApplicationsTab.d.ts +4 -3
- package/dist/components/platform/administration/users/UserApplicationsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/users/UserHistoryTab.d.ts +7 -6
- package/dist/components/platform/administration/users/UserHistoryTab.d.ts.map +1 -1
- package/dist/components/platform/administration/users/UserInfoTab.d.ts +15 -14
- package/dist/components/platform/administration/users/UserInfoTab.d.ts.map +1 -1
- package/dist/components/platform/administration/users/UserSecurityTab.d.ts +23 -22
- package/dist/components/platform/administration/users/UserSecurityTab.d.ts.map +1 -1
- package/dist/components/platform/administration/users/UserTenantsTab.d.ts +22 -21
- package/dist/components/platform/administration/users/UserTenantsTab.d.ts.map +1 -1
- package/dist/components/platform/administration/workflows/WorkflowStepsEditor.d.ts +6 -5
- package/dist/components/platform/administration/workflows/WorkflowStepsEditor.d.ts.map +1 -1
- package/dist/components/platform/api/external-apps/ExternalAppAuditTab.d.ts +1 -1
- package/dist/components/platform/api/external-apps/ExternalAppAuditTab.d.ts.map +1 -1
- package/dist/components/platform/api/external-apps/ExternalAppExportsTab.d.ts +6 -5
- package/dist/components/platform/api/external-apps/ExternalAppExportsTab.d.ts.map +1 -1
- package/dist/components/platform/api/external-apps/ExternalAppInfoTab.d.ts +6 -5
- package/dist/components/platform/api/external-apps/ExternalAppInfoTab.d.ts.map +1 -1
- package/dist/components/platform/api/external-apps/ExternalAppKeysTab.d.ts +6 -5
- package/dist/components/platform/api/external-apps/ExternalAppKeysTab.d.ts.map +1 -1
- package/dist/components/platform/api/external-apps/ExternalAppPromptTab.d.ts +3 -2
- package/dist/components/platform/api/external-apps/ExternalAppPromptTab.d.ts.map +1 -1
- package/dist/components/platform/api/external-apps/ExternalAppRolesTab.d.ts +6 -5
- package/dist/components/platform/api/external-apps/ExternalAppRolesTab.d.ts.map +1 -1
- package/dist/components/platform/support/ActivityTimeline.d.ts +5 -4
- package/dist/components/platform/support/ActivityTimeline.d.ts.map +1 -1
- package/dist/components/platform/support/AiClassificationBadge.d.ts +7 -6
- package/dist/components/platform/support/AiClassificationBadge.d.ts.map +1 -1
- package/dist/components/platform/support/AiRoutingSuggestionPanel.d.ts +9 -8
- package/dist/components/platform/support/AiRoutingSuggestionPanel.d.ts.map +1 -1
- package/dist/components/platform/support/AiTicketSummary.d.ts +8 -7
- package/dist/components/platform/support/AiTicketSummary.d.ts.map +1 -1
- package/dist/components/platform/support/FilePreviewModal.d.ts +6 -5
- package/dist/components/platform/support/FilePreviewModal.d.ts.map +1 -1
- package/dist/components/platform/support/ScreenshotAnnotator.d.ts +6 -5
- package/dist/components/platform/support/ScreenshotAnnotator.d.ts.map +1 -1
- package/dist/components/platform/support/SlaBadge.d.ts +12 -11
- package/dist/components/platform/support/SlaBadge.d.ts.map +1 -1
- package/dist/components/platform/support/TemplatePicker.d.ts +6 -5
- package/dist/components/platform/support/TemplatePicker.d.ts.map +1 -1
- package/dist/components/platform/support/TicketConversation.d.ts +31 -30
- package/dist/components/platform/support/TicketConversation.d.ts.map +1 -1
- package/dist/components/platform/support/TicketDetailView.d.ts +3 -2
- package/dist/components/platform/support/TicketDetailView.d.ts.map +1 -1
- package/dist/components/platform/support/TicketSidebar.d.ts +19 -18
- package/dist/components/platform/support/TicketSidebar.d.ts.map +1 -1
- package/dist/components/platform/support/TicketSolutionPanel.d.ts +10 -9
- package/dist/components/platform/support/TicketSolutionPanel.d.ts.map +1 -1
- package/dist/components/platform/support/TicketWorkflow.d.ts +10 -9
- package/dist/components/platform/support/TicketWorkflow.d.ts.map +1 -1
- package/dist/components/platform/support/TicketWorkflowHorizontal.d.ts +19 -18
- package/dist/components/platform/support/TicketWorkflowHorizontal.d.ts.map +1 -1
- package/dist/components/platform/support/TicketsListView.d.ts +8 -7
- package/dist/components/platform/support/TicketsListView.d.ts.map +1 -1
- package/dist/components/routing/DocRoutes.d.ts +1 -1
- package/dist/components/routing/DocRoutes.d.ts.map +1 -1
- package/dist/components/routing/DynamicRouter.d.ts +2 -1
- package/dist/components/routing/DynamicRouter.d.ts.map +1 -1
- package/dist/components/routing/ProtectedRoute.d.ts +2 -1
- package/dist/components/routing/ProtectedRoute.d.ts.map +1 -1
- package/dist/components/routing/TenantNavigate.d.ts +4 -3
- package/dist/components/routing/TenantNavigate.d.ts.map +1 -1
- package/dist/components/routing/TenantRouteWrapper.d.ts +2 -1
- package/dist/components/routing/TenantRouteWrapper.d.ts.map +1 -1
- package/dist/components/session/SessionProvider.d.ts +2 -1
- package/dist/components/session/SessionProvider.d.ts.map +1 -1
- package/dist/components/session/SessionWarningModal.d.ts +6 -5
- package/dist/components/session/SessionWarningModal.d.ts.map +1 -1
- package/dist/components/tenants/TenantCard.d.ts +13 -12
- package/dist/components/tenants/TenantCard.d.ts.map +1 -1
- package/dist/components/tickets/CreateTicketButton.d.ts +4 -3
- package/dist/components/tickets/CreateTicketButton.d.ts.map +1 -1
- package/dist/components/tracking/PageTracker.d.ts +2 -1
- package/dist/components/tracking/PageTracker.d.ts.map +1 -1
- package/dist/components/tracking/TenantTracker.d.ts +2 -1
- package/dist/components/tracking/TenantTracker.d.ts.map +1 -1
- package/dist/components/ui/AppSwitcher.d.ts +2 -1
- package/dist/components/ui/AppSwitcher.d.ts.map +1 -1
- package/dist/components/ui/AvatarMenu.d.ts +2 -1
- package/dist/components/ui/AvatarMenu.d.ts.map +1 -1
- package/dist/components/ui/Breadcrumb.d.ts +7 -6
- package/dist/components/ui/Breadcrumb.d.ts.map +1 -1
- package/dist/components/ui/ConfirmModal.d.ts +11 -11
- package/dist/components/ui/ConfirmModal.d.ts.map +1 -1
- package/dist/components/ui/DataTable.d.ts +2 -1
- package/dist/components/ui/DataTable.d.ts.map +1 -1
- package/dist/components/ui/DataView.d.ts +54 -53
- package/dist/components/ui/DataView.d.ts.map +1 -1
- package/dist/components/ui/DocEdgeButton.d.ts +2 -1
- package/dist/components/ui/DocEdgeButton.d.ts.map +1 -1
- package/dist/components/ui/DocPanel.d.ts +2 -1
- package/dist/components/ui/DocPanel.d.ts.map +1 -1
- package/dist/components/ui/DocToggleButton.d.ts +4 -3
- package/dist/components/ui/DocToggleButton.d.ts.map +1 -1
- package/dist/components/ui/Drawer.d.ts +9 -8
- package/dist/components/ui/Drawer.d.ts.map +1 -1
- package/dist/components/ui/EntityCard.d.ts +75 -74
- package/dist/components/ui/EntityCard.d.ts.map +1 -1
- package/dist/components/ui/KanbanBoard.d.ts +23 -22
- package/dist/components/ui/KanbanBoard.d.ts.map +1 -1
- package/dist/components/ui/LanguageSwitcher.d.ts +2 -1
- package/dist/components/ui/LanguageSwitcher.d.ts.map +1 -1
- package/dist/components/ui/PageHeader.d.ts +6 -6
- package/dist/components/ui/PageHeader.d.ts.map +1 -1
- package/dist/components/ui/PageLoader.d.ts +2 -1
- package/dist/components/ui/PageLoader.d.ts.map +1 -1
- package/dist/components/ui/PermissionMatrix.d.ts +2 -1
- package/dist/components/ui/PermissionMatrix.d.ts.map +1 -1
- package/dist/components/ui/ProtectedButton.d.ts +9 -8
- package/dist/components/ui/ProtectedButton.d.ts.map +1 -1
- package/dist/components/ui/RestrictedModuleBanner.d.ts +2 -1
- package/dist/components/ui/RestrictedModuleBanner.d.ts.map +1 -1
- package/dist/components/ui/ScopeBanner.d.ts +5 -4
- package/dist/components/ui/ScopeBanner.d.ts.map +1 -1
- package/dist/components/ui/SelectWithOther.d.ts +10 -9
- package/dist/components/ui/SelectWithOther.d.ts.map +1 -1
- package/dist/components/ui/SortableList.d.ts +6 -5
- package/dist/components/ui/SortableList.d.ts.map +1 -1
- package/dist/components/ui/TenantScopeFilter.d.ts +8 -7
- package/dist/components/ui/TenantScopeFilter.d.ts.map +1 -1
- package/dist/components/ui/TenantScopeSelector.d.ts +8 -7
- package/dist/components/ui/TenantScopeSelector.d.ts.map +1 -1
- package/dist/components/ui/TenantSelector.d.ts +2 -1
- package/dist/components/ui/TenantSelector.d.ts.map +1 -1
- package/dist/components/ui/ThemeCustomizer.d.ts +5 -4
- package/dist/components/ui/ThemeCustomizer.d.ts.map +1 -1
- package/dist/components/ui/ThemeScopeSelector.d.ts +3 -2
- package/dist/components/ui/ThemeScopeSelector.d.ts.map +1 -1
- package/dist/components/ui/ThemeSwitcher.d.ts +2 -1
- package/dist/components/ui/ThemeSwitcher.d.ts.map +1 -1
- package/dist/components/ui/Tooltip.d.ts +14 -13
- package/dist/components/ui/Tooltip.d.ts.map +1 -1
- package/dist/components/ui/UnderDevelopment.d.ts +8 -7
- package/dist/components/ui/UnderDevelopment.d.ts.map +1 -1
- package/dist/components/ui/UnlockAccountModal.d.ts +6 -5
- package/dist/components/ui/UnlockAccountModal.d.ts.map +1 -1
- package/dist/components/ui/ViewModeToggle.d.ts +4 -3
- package/dist/components/ui/ViewModeToggle.d.ts.map +1 -1
- package/dist/contexts/AuthContext.d.ts +2 -1
- package/dist/contexts/AuthContext.d.ts.map +1 -1
- package/dist/contexts/DocPanelContext.d.ts +2 -1
- package/dist/contexts/DocPanelContext.d.ts.map +1 -1
- package/dist/contexts/FavoritesContext.d.ts +2 -1
- package/dist/contexts/FavoritesContext.d.ts.map +1 -1
- package/dist/contexts/FeatureConfigContext.d.ts +3 -2
- package/dist/contexts/FeatureConfigContext.d.ts.map +1 -1
- package/dist/contexts/LicenseContext.d.ts +2 -1
- package/dist/contexts/LicenseContext.d.ts.map +1 -1
- package/dist/contexts/NavigationContext.d.ts +2 -1
- package/dist/contexts/NavigationContext.d.ts.map +1 -1
- package/dist/contexts/SidebarContext.d.ts +2 -1
- package/dist/contexts/SidebarContext.d.ts.map +1 -1
- package/dist/contexts/SignalRContext.d.ts +2 -1
- package/dist/contexts/SignalRContext.d.ts.map +1 -1
- package/dist/contexts/TenantContext.d.ts +2 -1
- package/dist/contexts/TenantContext.d.ts.map +1 -1
- package/dist/contexts/ThemeContext.d.ts +2 -1
- package/dist/contexts/ThemeContext.d.ts.map +1 -1
- package/dist/extensions/ExtensionContext.d.ts +4 -3
- package/dist/extensions/ExtensionContext.d.ts.map +1 -1
- package/dist/extensions/PageRegistry.d.ts +6 -5
- package/dist/extensions/PageRegistry.d.ts.map +1 -1
- package/dist/extensions/SlotFill.d.ts +13 -13
- package/dist/extensions/SlotFill.d.ts.map +1 -1
- package/dist/extensions/types.d.ts +10 -10
- package/dist/extensions/types.d.ts.map +1 -1
- package/dist/hooks/useAccessRequestActions.d.ts.map +1 -1
- package/dist/hooks/useAccessRequests.d.ts.map +1 -1
- package/dist/hooks/useAdminTenants.d.ts.map +1 -1
- package/dist/hooks/useClientContext.d.ts.map +1 -1
- package/dist/hooks/useCollapsibleState.d.ts.map +1 -1
- package/dist/hooks/useCreateSupportTicket.d.ts +23 -21
- package/dist/hooks/useCreateSupportTicket.d.ts.map +1 -1
- package/dist/hooks/useLocale.d.ts.map +1 -1
- package/dist/hooks/useLoginForm.d.ts +5 -4
- package/dist/hooks/useLoginForm.d.ts.map +1 -1
- package/dist/hooks/useNotifications.d.ts.map +1 -1
- package/dist/hooks/usePageTracking.d.ts.map +1 -1
- package/dist/hooks/usePagination.d.ts +1 -1
- package/dist/hooks/usePagination.d.ts.map +1 -1
- package/dist/hooks/usePermissionSync.d.ts +2 -1
- package/dist/hooks/usePermissionSync.d.ts.map +1 -1
- package/dist/hooks/useRestrictedModuleCheck.d.ts.map +1 -1
- package/dist/hooks/useSessionMonitor.d.ts +7 -5
- package/dist/hooks/useSessionMonitor.d.ts.map +1 -1
- package/dist/hooks/useSettingsSection.d.ts.map +1 -1
- package/dist/hooks/useSignalR.d.ts.map +1 -1
- package/dist/hooks/useTenantCreateForm.d.ts +24 -22
- package/dist/hooks/useTenantCreateForm.d.ts.map +1 -1
- package/dist/hooks/useTenantFavorites.d.ts.map +1 -1
- package/dist/hooks/useTenantFilters.d.ts.map +1 -1
- package/dist/hooks/useTenantTracking.d.ts.map +1 -1
- package/dist/hooks/useTicketSignalR.d.ts.map +1 -1
- package/dist/hooks/useUserAccessRequests.d.ts.map +1 -1
- package/dist/i18n/config.d.ts +1 -1
- package/dist/i18n/config.d.ts.map +1 -1
- package/dist/{index-DGeNdATi.js → index-3lcyR754.js} +2 -2
- package/dist/{index-DGeNdATi.js.map → index-3lcyR754.js.map} +1 -1
- package/dist/{index-DJXny6rD.cjs → index-AM9K908G.cjs} +2 -2
- package/dist/{index-DJXny6rD.cjs.map → index-AM9K908G.cjs.map} +1 -1
- package/dist/{index-ASxPhrgZ.cjs → index-BASU1QDx.cjs} +2 -2
- package/dist/index-BASU1QDx.cjs.map +1 -0
- package/dist/{index-ChVCBF4t.js → index-BBFFDXgT.js} +2 -2
- package/dist/{index-ChVCBF4t.js.map → index-BBFFDXgT.js.map} +1 -1
- package/dist/{index-C54HbULX.cjs → index-BBQMnq4P.cjs} +2 -2
- package/dist/index-BBQMnq4P.cjs.map +1 -0
- package/dist/{index-CUISVUMx.js → index-BEOtfRxa.js} +16 -16
- package/dist/index-BEOtfRxa.js.map +1 -0
- package/dist/{index-D4u23zHI.js → index-BEeLN5ui.js} +24 -24
- package/dist/index-BEeLN5ui.js.map +1 -0
- package/dist/{index-Du4fQfix.cjs → index-BEpBEF5G.cjs} +2 -2
- package/dist/index-BEpBEF5G.cjs.map +1 -0
- package/dist/{index-BlHDI4zj.js → index-BIB3FxMF.js} +14 -14
- package/dist/index-BIB3FxMF.js.map +1 -0
- package/dist/{index-Txfokhn3.cjs → index-BVUCDL0k.cjs} +2 -2
- package/dist/index-BVUCDL0k.cjs.map +1 -0
- package/dist/{index-jpSTOjXU.js → index-BYYgvEcO.js} +17 -17
- package/dist/index-BYYgvEcO.js.map +1 -0
- package/dist/{index-CU66n-zU.js → index-B_lFRwmY.js} +13 -13
- package/dist/index-B_lFRwmY.js.map +1 -0
- package/dist/{index-Blfc9wKG.js → index-Bbd3D6A4.js} +8 -8
- package/dist/index-Bbd3D6A4.js.map +1 -0
- package/dist/index-BfMaHuWh.cjs +48 -0
- package/dist/index-BfMaHuWh.cjs.map +1 -0
- package/dist/index-C0AgM8YN.cjs.map +1 -1
- package/dist/index-C0rFTzxZ.cjs +2 -0
- package/dist/index-C0rFTzxZ.cjs.map +1 -0
- package/dist/{index-By0u9UFY.js → index-CCS0saZk.js} +10 -10
- package/dist/index-CCS0saZk.js.map +1 -0
- package/dist/{index-C40Dlolq.js → index-CID51vRa.js} +28 -28
- package/dist/index-CID51vRa.js.map +1 -0
- package/dist/index-CO5QP9C1.cjs +2 -0
- package/dist/index-CO5QP9C1.cjs.map +1 -0
- package/dist/{index-CI1DJrFE.js → index-CaI6ZbEo.js} +12 -12
- package/dist/index-CaI6ZbEo.js.map +1 -0
- package/dist/{index-DKRiN1hJ.cjs → index-CaLDUVLs.cjs} +2 -2
- package/dist/{index-DKRiN1hJ.cjs.map → index-CaLDUVLs.cjs.map} +1 -1
- package/dist/index-CdORB0b4.cjs.map +1 -1
- package/dist/{index-Dxau-XnQ.cjs → index-Cdu0fSs8.cjs} +2 -2
- package/dist/index-Cdu0fSs8.cjs.map +1 -0
- package/dist/{index-Bup-dL1l.cjs → index-CiAIT31Y.cjs} +2 -2
- package/dist/{index-Bup-dL1l.cjs.map → index-CiAIT31Y.cjs.map} +1 -1
- package/dist/{index-ClIOix1g.js → index-ClrwWu9J.js} +2 -2
- package/dist/{index-ClIOix1g.js.map → index-ClrwWu9J.js.map} +1 -1
- package/dist/{index-DdsLBKHV.cjs → index-CtcTcQqt.cjs} +2 -2
- package/dist/{index-DdsLBKHV.cjs.map → index-CtcTcQqt.cjs.map} +1 -1
- package/dist/{index-DM5ogbum.js → index-CzCt3Aan.js} +2 -2
- package/dist/{index-DM5ogbum.js.map → index-CzCt3Aan.js.map} +1 -1
- package/dist/index-D1WPBG1_.cjs +2 -0
- package/dist/index-D1WPBG1_.cjs.map +1 -0
- package/dist/{index-Dsbkiw3B.js → index-DA3kbmS5.js} +2 -2
- package/dist/{index-Dsbkiw3B.js.map → index-DA3kbmS5.js.map} +1 -1
- package/dist/{index-D6zlXbv_.js → index-DE40yc39.js} +2 -2
- package/dist/{index-D6zlXbv_.js.map → index-DE40yc39.js.map} +1 -1
- package/dist/{index-DmuVa7Ye.cjs → index-DIuoVYFu.cjs} +2 -2
- package/dist/index-DIuoVYFu.cjs.map +1 -0
- package/dist/{index-DDJTWztK.cjs → index-DLSMVKFE.cjs} +2 -2
- package/dist/{index-DDJTWztK.cjs.map → index-DLSMVKFE.cjs.map} +1 -1
- package/dist/index-DQBVnnd6.cjs +2 -0
- package/dist/index-DQBVnnd6.cjs.map +1 -0
- package/dist/{index-BYhFG50Z.cjs → index-DRT2wvEs.cjs} +2 -2
- package/dist/index-DRT2wvEs.cjs.map +1 -0
- package/dist/{index-Cv7iWoG8.js → index-DRc5qb2I.js} +15 -15
- package/dist/index-DRc5qb2I.js.map +1 -0
- package/dist/index-DTAZtzQ6.js.map +1 -1
- package/dist/{index-BnWMDCRU.cjs → index-DYJbiXHU.cjs} +2 -2
- package/dist/index-DYJbiXHU.cjs.map +1 -0
- package/dist/{index-D8xuGyjU.js → index-DhVauF9E.js} +16 -16
- package/dist/index-DhVauF9E.js.map +1 -0
- package/dist/index-DiQ2SDvl.js.map +1 -1
- package/dist/{index-BcO3pBlL.js → index-Dm5ZLB9x.js} +14 -14
- package/dist/index-Dm5ZLB9x.js.map +1 -0
- package/dist/{index-CBOLnJkG.cjs → index-HWG-CG1i.cjs} +2 -2
- package/dist/index-HWG-CG1i.cjs.map +1 -0
- package/dist/{index-0Jhdcj59.js → index-Kn_ynW2m.js} +3298 -3200
- package/dist/index-Kn_ynW2m.js.map +1 -0
- package/dist/{index-B2rKKVDN.js → index-L994YeGJ.js} +7 -7
- package/dist/index-L994YeGJ.js.map +1 -0
- package/dist/{index-1tvWzIw0.cjs → index-OhzFdH9N.cjs} +2 -2
- package/dist/{index-1tvWzIw0.cjs.map → index-OhzFdH9N.cjs.map} +1 -1
- package/dist/{index-CnmIX2MY.js → index-Z6aHkjiA.js} +23 -20
- package/dist/index-Z6aHkjiA.js.map +1 -0
- package/dist/index-p2jNjCTo.cjs +2 -0
- package/dist/index-p2jNjCTo.cjs.map +1 -0
- package/dist/{index-DwATtWun.js → index-vUb_gIjC.js} +11 -11
- package/dist/index-vUb_gIjC.js.map +1 -0
- package/dist/{index-eAHjmtzn.cjs → index-xCGnOlox.cjs} +2 -2
- package/dist/index-xCGnOlox.cjs.map +1 -0
- package/dist/layouts/AdminLayout.d.ts +2 -1
- package/dist/layouts/AdminLayout.d.ts.map +1 -1
- package/dist/layouts/AppLayout.d.ts +2 -1
- package/dist/layouts/AppLayout.d.ts.map +1 -1
- package/dist/layouts/AuthLayout.d.ts +2 -1
- package/dist/layouts/AuthLayout.d.ts.map +1 -1
- package/dist/layouts/BusinessLayout.d.ts +2 -1
- package/dist/layouts/BusinessLayout.d.ts.map +1 -1
- package/dist/layouts/DocsLayout.d.ts +2 -1
- package/dist/layouts/DocsLayout.d.ts.map +1 -1
- package/dist/layouts/PublicLayout.d.ts +2 -1
- package/dist/layouts/PublicLayout.d.ts.map +1 -1
- package/dist/layouts/UserLayout.d.ts +2 -1
- package/dist/layouts/UserLayout.d.ts.map +1 -1
- package/dist/pages/ApplicationsPage.d.ts +2 -1
- package/dist/pages/ApplicationsPage.d.ts.map +1 -1
- package/dist/pages/HomePage.d.ts +2 -1
- package/dist/pages/HomePage.d.ts.map +1 -1
- package/dist/pages/LoginPage.d.ts +2 -1
- package/dist/pages/LoginPage.d.ts.map +1 -1
- package/dist/pages/NotFoundPage.d.ts +2 -1
- package/dist/pages/NotFoundPage.d.ts.map +1 -1
- package/dist/pages/auth/AuthCallbackPage.d.ts +2 -1
- package/dist/pages/auth/AuthCallbackPage.d.ts.map +1 -1
- package/dist/pages/auth/ConfirmEmailPage.d.ts +2 -1
- package/dist/pages/auth/ConfirmEmailPage.d.ts.map +1 -1
- package/dist/pages/auth/ForceChangePasswordPage.d.ts +2 -1
- package/dist/pages/auth/ForceChangePasswordPage.d.ts.map +1 -1
- package/dist/pages/auth/ForgotPasswordPage.d.ts +2 -1
- package/dist/pages/auth/ForgotPasswordPage.d.ts.map +1 -1
- package/dist/pages/auth/OnboardingWizardPage.d.ts +2 -1
- package/dist/pages/auth/OnboardingWizardPage.d.ts.map +1 -1
- package/dist/pages/auth/RegisterPage.d.ts +2 -1
- package/dist/pages/auth/RegisterPage.d.ts.map +1 -1
- package/dist/pages/auth/ResetPasswordPage.d.ts +2 -1
- package/dist/pages/auth/ResetPasswordPage.d.ts.map +1 -1
- package/dist/pages/business/BusinessApplicationsGridPage.d.ts +2 -1
- package/dist/pages/business/BusinessApplicationsGridPage.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/ai/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/ai/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/applications/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/applications/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/configuration/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/configuration/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/configuration/license/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/configuration/license/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/entra/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/entra/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/permissions/assignments/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/permissions/assignments/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/permissions/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/permissions/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/access-requests/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/access-requests/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/applications/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/applications/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/business/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/business/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/organisations/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/organisations/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/other/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/other/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/personal/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/personal/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/tenants/template/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/tenants/template/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/users/dashboard/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/users/dashboard/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/users/groups/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/users/groups/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/users/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/users/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/users/references/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/users/references/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/administration/workflows/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/administration/workflows/index.d.ts.map +1 -1
- package/dist/pages/docs/business/platform/support/tickets/index.d.ts +2 -1
- package/dist/pages/docs/business/platform/support/tickets/index.d.ts.map +1 -1
- package/dist/pages/notifications/NotificationsPage.d.ts +2 -1
- package/dist/pages/notifications/NotificationsPage.d.ts.map +1 -1
- package/dist/pages/personal/myspace/MyAccessRequestsPage.d.ts +2 -1
- package/dist/pages/personal/myspace/MyAccessRequestsPage.d.ts.map +1 -1
- package/dist/pages/personal/myspace/MyTenantsPage.d.ts +2 -1
- package/dist/pages/personal/myspace/MyTenantsPage.d.ts.map +1 -1
- package/dist/pages/personal/myspace/PortalDashboardPage.d.ts +2 -1
- package/dist/pages/personal/myspace/PortalDashboardPage.d.ts.map +1 -1
- package/dist/pages/personal/myspace/PreferencesPage.d.ts +2 -1
- package/dist/pages/personal/myspace/PreferencesPage.d.ts.map +1 -1
- package/dist/pages/personal/myspace/ProfilePage.d.ts +2 -1
- package/dist/pages/personal/myspace/ProfilePage.d.ts.map +1 -1
- package/dist/pages/personal/myspace/UserDashboardPage.d.ts +2 -1
- package/dist/pages/personal/myspace/UserDashboardPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/DashboardPage.d.ts +2 -1
- package/dist/pages/platform/administration/DashboardPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiAgentDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiAgentDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiAgentEditPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiAgentEditPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiAgentsPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiAgentsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiBlockDefinitionDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiBlockDefinitionDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiBlockDefinitionEditPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiBlockDefinitionEditPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiBlockDefinitionsListPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiBlockDefinitionsListPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiDashboardPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiDashboardPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiMonitoringPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiMonitoringPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiPromptsListPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiPromptsListPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiPromptsPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiPromptsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiSettingsPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiSettingsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiSkillsDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiSkillsDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/ai/AiSkillsEditPage.d.ts +2 -1
- package/dist/pages/platform/administration/ai/AiSkillsEditPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/applications/ApplicationDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/applications/ApplicationDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/applications/ApplicationsGridPage.d.ts +2 -1
- package/dist/pages/platform/administration/applications/ApplicationsGridPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/applications/ApplicationsListPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/applications/NavigationAppsPage.d.ts +2 -1
- package/dist/pages/platform/administration/applications/NavigationAppsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/appsettings/AppSettingsPage.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/appsettings/AppSettingsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/appsettings/AuthenticationSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/appsettings/AuthenticationSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/appsettings/EmailSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/appsettings/EmailSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/appsettings/EntraSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/appsettings/EntraSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/appsettings/InfrastructureSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/appsettings/InfrastructureSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/appsettings/LoggingSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/appsettings/LoggingSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/license/LicenseManagementPage.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/license/LicenseManagementPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/settings/FileUploadSettingsSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/settings/FileUploadSettingsSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/settings/GeneralSettingsSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/settings/GeneralSettingsSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/settings/LegalFileSettingsSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/settings/LegalFileSettingsSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/settings/SettingsPage.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/settings/SettingsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/configuration/settings/StorageInfoSection.d.ts +2 -1
- package/dist/pages/platform/administration/configuration/settings/StorageInfoSection.d.ts.map +1 -1
- package/dist/pages/platform/administration/entra/EntraConflictsPage.d.ts +2 -1
- package/dist/pages/platform/administration/entra/EntraConflictsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/entra/EntraDashboardPage.d.ts +2 -1
- package/dist/pages/platform/administration/entra/EntraDashboardPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/entra/EntraGroupsPage.d.ts +2 -1
- package/dist/pages/platform/administration/entra/EntraGroupsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/entra/EntraSettingsPage.d.ts +2 -1
- package/dist/pages/platform/administration/entra/EntraSettingsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/entra/EntraUsersPage.d.ts +2 -1
- package/dist/pages/platform/administration/entra/EntraUsersPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/permissions/AssignmentsPage.d.ts +2 -1
- package/dist/pages/platform/administration/permissions/AssignmentsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/permissions/PermissionDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/permissions/PermissionDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/permissions/PermissionsPage.d.ts +2 -1
- package/dist/pages/platform/administration/permissions/PermissionsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/permissions/RoleDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/permissions/RoleDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/permissions/RolesPage.d.ts +2 -1
- package/dist/pages/platform/administration/permissions/RolesPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/OrganisationCreatePage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/OrganisationCreatePage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/OrganisationDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/OrganisationDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/OrganisationsListPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/OrganisationsListPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantAccessRequestsPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantAccessRequestsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantCreatePage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantCreatePage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantSettingsPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantSettingsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantTemplateCreatePage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantTemplateCreatePage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantTemplateDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantTemplateDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantsBusinessPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantsBusinessPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantsDashboardPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantsDashboardPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantsOtherPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantsOtherPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantsPage.d.ts +4 -3
- package/dist/pages/platform/administration/tenants/TenantsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantsPersonalPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantsPersonalPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantsSystemPage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantsSystemPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/tenants/TenantsTemplatePage.d.ts +2 -1
- package/dist/pages/platform/administration/tenants/TenantsTemplatePage.d.ts.map +1 -1
- package/dist/pages/platform/administration/users/GroupDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/users/GroupDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/users/ReferencesManagementPage.d.ts +2 -1
- package/dist/pages/platform/administration/users/ReferencesManagementPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/users/ReferencesPage.d.ts +2 -1
- package/dist/pages/platform/administration/users/ReferencesPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/users/UserDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/users/UserDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/users/UsersGroupsPage.d.ts +2 -1
- package/dist/pages/platform/administration/users/UsersGroupsPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/users/UsersPage.d.ts +2 -1
- package/dist/pages/platform/administration/users/UsersPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/EmailTemplateCreatePage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/EmailTemplateCreatePage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/EmailTemplateDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/EmailTemplateDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/EmailTemplateEditPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/EmailTemplateEditPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/EmailTemplatesListPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/EmailTemplatesListPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/SmsTemplatesListPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/SmsTemplatesListPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/WorkflowCreatePage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/WorkflowCreatePage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/WorkflowDetailPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/WorkflowDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/WorkflowEditPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/WorkflowEditPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/WorkflowHistoryPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/WorkflowHistoryPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/WorkflowsListPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/WorkflowsListPage.d.ts.map +1 -1
- package/dist/pages/platform/administration/workflows/WorkflowsTriggersPage.d.ts +2 -1
- package/dist/pages/platform/administration/workflows/WorkflowsTriggersPage.d.ts.map +1 -1
- package/dist/pages/platform/api/apis/ApiCatalogDetailPage.d.ts +2 -1
- package/dist/pages/platform/api/apis/ApiCatalogDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/api/apis/ApiCatalogPage.d.ts +2 -1
- package/dist/pages/platform/api/apis/ApiCatalogPage.d.ts.map +1 -1
- package/dist/pages/platform/api/external-apps/ExternalAppDetailPage.d.ts +2 -1
- package/dist/pages/platform/api/external-apps/ExternalAppDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/api/external-apps/ExternalAppsListPage.d.ts.map +1 -1
- package/dist/pages/platform/support/AgentSkillsPage.d.ts +2 -1
- package/dist/pages/platform/support/AgentSkillsPage.d.ts.map +1 -1
- package/dist/pages/platform/support/AgentWorkloadPage.d.ts +2 -1
- package/dist/pages/platform/support/AgentWorkloadPage.d.ts.map +1 -1
- package/dist/pages/platform/support/AssignmentRulesPage.d.ts +2 -1
- package/dist/pages/platform/support/AssignmentRulesPage.d.ts.map +1 -1
- package/dist/pages/platform/support/CreateSupportTicketPage.d.ts +2 -1
- package/dist/pages/platform/support/CreateSupportTicketPage.d.ts.map +1 -1
- package/dist/pages/platform/support/DashboardPage.d.ts +2 -1
- package/dist/pages/platform/support/DashboardPage.d.ts.map +1 -1
- package/dist/pages/platform/support/EscalationConfigPage.d.ts +2 -1
- package/dist/pages/platform/support/EscalationConfigPage.d.ts.map +1 -1
- package/dist/pages/platform/support/MyAgentTicketsPage.d.ts +2 -1
- package/dist/pages/platform/support/MyAgentTicketsPage.d.ts.map +1 -1
- package/dist/pages/platform/support/MyTicketsPage.d.ts +2 -1
- package/dist/pages/platform/support/MyTicketsPage.d.ts.map +1 -1
- package/dist/pages/platform/support/SlaConfigPage.d.ts +2 -1
- package/dist/pages/platform/support/SlaConfigPage.d.ts.map +1 -1
- package/dist/pages/platform/support/SupportPermissionsPage.d.ts +2 -1
- package/dist/pages/platform/support/SupportPermissionsPage.d.ts.map +1 -1
- package/dist/pages/platform/support/TemplatesPage.d.ts +2 -1
- package/dist/pages/platform/support/TemplatesPage.d.ts.map +1 -1
- package/dist/pages/platform/support/TestBugPage.d.ts +2 -1
- package/dist/pages/platform/support/TestBugPage.d.ts.map +1 -1
- package/dist/pages/platform/support/TicketDetailPage.d.ts +2 -1
- package/dist/pages/platform/support/TicketDetailPage.d.ts.map +1 -1
- package/dist/pages/platform/support/TicketsPage.d.ts +2 -1
- package/dist/pages/platform/support/TicketsPage.d.ts.map +1 -1
- package/dist/pages/platform/support/UserCreateTicketPage.d.ts +2 -1
- package/dist/pages/platform/support/UserCreateTicketPage.d.ts.map +1 -1
- package/dist/pages/platform/support/UserTicketDetailPage.d.ts +2 -1
- package/dist/pages/platform/support/UserTicketDetailPage.d.ts.map +1 -1
- package/dist/pages/system/docs/DocsIndexPage.d.ts +2 -1
- package/dist/pages/system/docs/DocsIndexPage.d.ts.map +1 -1
- package/dist/pages/system/docs/SmartStackPresentationPage.d.ts +2 -1
- package/dist/pages/system/docs/SmartStackPresentationPage.d.ts.map +1 -1
- package/dist/pages/system/docs/ba/BaIndexPage.d.ts +2 -1
- package/dist/pages/system/docs/ba/BaIndexPage.d.ts.map +1 -1
- package/dist/pages/system/docs/ba/BaViewerPage.d.ts +2 -1
- package/dist/pages/system/docs/ba/BaViewerPage.d.ts.map +1 -1
- package/dist/pages/system/docs/ba/components/CadrageTab.d.ts +3 -2
- package/dist/pages/system/docs/ba/components/CadrageTab.d.ts.map +1 -1
- package/dist/pages/system/docs/ba/components/SpecificationTab.d.ts +4 -3
- package/dist/pages/system/docs/ba/components/SpecificationTab.d.ts.map +1 -1
- package/dist/pages/system/docs/ba/components/SyntheseTab.d.ts +3 -2
- package/dist/pages/system/docs/ba/components/SyntheseTab.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/CrossSchemaFkPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/CrossSchemaFkPage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/DatabasePage.d.ts +2 -1
- package/dist/pages/system/docs/developer/DatabasePage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/DeveloperIndexPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/DeveloperIndexPage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/DualDbContextPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/DualDbContextPage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/InfrastructurePage.d.ts +2 -1
- package/dist/pages/system/docs/developer/InfrastructurePage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/InstallationPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/InstallationPage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/TeamsIntegrationPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/TeamsIntegrationPage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/tenants/MultiTenantModePage.d.ts +2 -1
- package/dist/pages/system/docs/developer/tenants/MultiTenantModePage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/tenants/TenantB2CPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/tenants/TenantB2CPage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/tenants/TenantIndexPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/tenants/TenantIndexPage.d.ts.map +1 -1
- package/dist/pages/system/docs/developer/testing/SecurityTestingPage.d.ts +2 -1
- package/dist/pages/system/docs/developer/testing/SecurityTestingPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/AiDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/AiDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/ArchitecturePage.d.ts +2 -1
- package/dist/pages/system/docs/user/ArchitecturePage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/ModulesPage.d.ts +2 -1
- package/dist/pages/system/docs/user/ModulesPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SettingsDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SettingsDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SlaDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SlaDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SupportDashboardDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SupportDashboardDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SupportEscalationDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SupportEscalationDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SupportIndexPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SupportIndexPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SupportMyTicketsDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SupportMyTicketsDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SupportTemplatesDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SupportTemplatesDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/SupportTicketsDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/SupportTicketsDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/ThemeDocPage.d.ts +2 -1
- package/dist/pages/system/docs/user/ThemeDocPage.d.ts.map +1 -1
- package/dist/pages/system/docs/user/UserIndexPage.d.ts +2 -1
- package/dist/pages/system/docs/user/UserIndexPage.d.ts.map +1 -1
- package/dist/provider/SmartStackProvider.d.ts +4 -3
- package/dist/provider/SmartStackProvider.d.ts.map +1 -1
- package/dist/services/api/adminApi/applications.d.ts +4 -1
- package/dist/services/api/adminApi/applications.d.ts.map +1 -1
- package/dist/services/api/adminApi/dashboard.d.ts +4 -1
- package/dist/services/api/adminApi/dashboard.d.ts.map +1 -1
- package/dist/services/api/adminApi/externalApps.d.ts +7 -2
- package/dist/services/api/adminApi/externalApps.d.ts.map +1 -1
- package/dist/services/api/adminApi/index.d.ts.map +1 -1
- package/dist/services/api/adminApi/roles.d.ts +7 -2
- package/dist/services/api/adminApi/roles.d.ts.map +1 -1
- package/dist/services/api/adminApi/settings.d.ts +7 -2
- package/dist/services/api/adminApi/settings.d.ts.map +1 -1
- package/dist/services/api/adminApi/tenants.d.ts +13 -4
- package/dist/services/api/adminApi/tenants.d.ts.map +1 -1
- package/dist/services/api/adminApi/users.d.ts +3 -1
- package/dist/services/api/adminApi/users.d.ts.map +1 -1
- package/dist/services/api/groupsApi.d.ts +4 -1
- package/dist/services/api/groupsApi.d.ts.map +1 -1
- package/dist/services/api/referencesApi.d.ts +4 -1
- package/dist/services/api/referencesApi.d.ts.map +1 -1
- package/dist/services/logging/logService.d.ts.map +1 -1
- package/dist/smartstack.cjs +1 -1
- package/dist/smartstack.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/utils/deviceDetection.d.ts.map +1 -1
- package/dist/utils/renderLucideIcon.d.ts +2 -1
- package/dist/utils/renderLucideIcon.d.ts.map +1 -1
- package/dist/utils/tenantUrl.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/AuthCallbackPage-Bv2Cyn80.cjs.map +0 -1
- package/dist/AuthCallbackPage-Cu74zAX1.js.map +0 -1
- package/dist/BaIndexPage-BhdOX87v.cjs +0 -2
- package/dist/BaIndexPage-BhdOX87v.cjs.map +0 -1
- package/dist/BaIndexPage-Dkp_Eixx.js.map +0 -1
- package/dist/BaViewerPage-DxD0eZm-.js.map +0 -1
- package/dist/BaViewerPage-SYgjCF7x.cjs +0 -2
- package/dist/BaViewerPage-SYgjCF7x.cjs.map +0 -1
- package/dist/ConfirmEmailPage-BTp8J0pw.js.map +0 -1
- package/dist/ConfirmEmailPage-su3Fvl0e.cjs.map +0 -1
- package/dist/DatabasePage-CRq_-Yo2.cjs +0 -2
- package/dist/DatabasePage-CRq_-Yo2.cjs.map +0 -1
- package/dist/DatabasePage-DFIK8cSM.js.map +0 -1
- package/dist/DocRenderer-B-1NdDfC.cjs +0 -2
- package/dist/DocRenderer-B-1NdDfC.cjs.map +0 -1
- package/dist/DocRenderer-CcEn1iaa.js.map +0 -1
- package/dist/DualDbContextPage--Qk-qEgD.cjs.map +0 -1
- package/dist/DualDbContextPage-BujD_coN.js.map +0 -1
- package/dist/ForceChangePasswordPage-ClENqzCH.js.map +0 -1
- package/dist/ForceChangePasswordPage-kEFsb5Aq.cjs.map +0 -1
- package/dist/ForgotPasswordPage--Wl0Vxbv.cjs.map +0 -1
- package/dist/ForgotPasswordPage-BEgvV5f-.js.map +0 -1
- package/dist/OnboardingWizardPage-Bx1UlTbr.js.map +0 -1
- package/dist/OnboardingWizardPage-C7vendrq.cjs.map +0 -1
- package/dist/RegisterPage-BzV0sCTe.js.map +0 -1
- package/dist/RegisterPage-DKr8quRk.cjs.map +0 -1
- package/dist/ResetPasswordPage-DphmJrcJ.js.map +0 -1
- package/dist/ResetPasswordPage-x4do1o-j.cjs.map +0 -1
- package/dist/SupportDashboardDocPage-CLotzEwA.js.map +0 -1
- package/dist/SupportDashboardDocPage-DpgGq5Mm.cjs.map +0 -1
- package/dist/SupportEscalationDocPage-B-_ChfdN.js.map +0 -1
- package/dist/SupportEscalationDocPage-WXkAQr8k.cjs.map +0 -1
- package/dist/SupportMyTicketsDocPage-DeRUdAIi.js.map +0 -1
- package/dist/SupportMyTicketsDocPage-jE1UMaIY.cjs.map +0 -1
- package/dist/SupportTemplatesDocPage-C8ZLzFJc.js.map +0 -1
- package/dist/SupportTemplatesDocPage-ajO-cHmK.cjs.map +0 -1
- package/dist/SupportTicketsDocPage-C_ybDTjC.cjs.map +0 -1
- package/dist/SupportTicketsDocPage-DQhHfa6J.js.map +0 -1
- package/dist/index-0Jhdcj59.js.map +0 -1
- package/dist/index-ASxPhrgZ.cjs.map +0 -1
- package/dist/index-B2rKKVDN.js.map +0 -1
- package/dist/index-BP5i2CQo.cjs +0 -2
- package/dist/index-BP5i2CQo.cjs.map +0 -1
- package/dist/index-BYhFG50Z.cjs.map +0 -1
- package/dist/index-BcO3pBlL.js.map +0 -1
- package/dist/index-BlHDI4zj.js.map +0 -1
- package/dist/index-Blfc9wKG.js.map +0 -1
- package/dist/index-BnWMDCRU.cjs.map +0 -1
- package/dist/index-By0u9UFY.js.map +0 -1
- package/dist/index-C40Dlolq.js.map +0 -1
- package/dist/index-C54HbULX.cjs.map +0 -1
- package/dist/index-C6C5XmVj.cjs +0 -48
- package/dist/index-C6C5XmVj.cjs.map +0 -1
- package/dist/index-C9BaizLE.cjs +0 -2
- package/dist/index-C9BaizLE.cjs.map +0 -1
- package/dist/index-CBOLnJkG.cjs.map +0 -1
- package/dist/index-CI1DJrFE.js.map +0 -1
- package/dist/index-CU66n-zU.js.map +0 -1
- package/dist/index-CUISVUMx.js.map +0 -1
- package/dist/index-CnmIX2MY.js.map +0 -1
- package/dist/index-CtcdHE_9.cjs +0 -2
- package/dist/index-CtcdHE_9.cjs.map +0 -1
- package/dist/index-Cv7iWoG8.js.map +0 -1
- package/dist/index-D4u23zHI.js.map +0 -1
- package/dist/index-D8xuGyjU.js.map +0 -1
- package/dist/index-DKK07NF1.cjs +0 -2
- package/dist/index-DKK07NF1.cjs.map +0 -1
- package/dist/index-DmuVa7Ye.cjs.map +0 -1
- package/dist/index-Du4fQfix.cjs.map +0 -1
- package/dist/index-DwATtWun.js.map +0 -1
- package/dist/index-Dxau-XnQ.cjs.map +0 -1
- package/dist/index-Txfokhn3.cjs.map +0 -1
- package/dist/index-ZVUUUZmv.cjs +0 -2
- package/dist/index-ZVUUUZmv.cjs.map +0 -1
- package/dist/index-eAHjmtzn.cjs.map +0 -1
- package/dist/index-jpSTOjXU.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstallationPage-CXKmzZuN.js","sources":["../src/pages/system/docs/developer/InstallationPage.tsx"],"sourcesContent":["import { Link } from 'react-router-dom';\r\nimport { Download, Check, AlertTriangle, ArrowRight, Copy, CheckCircle, ExternalLink, Monitor, Database, Code, Terminal, Globe, Package, Settings, Wrench, Server } from 'lucide-react';\r\nimport { useState } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nfunction CodeBlock({ code }: { code: string }) {\r\n const [copied, setCopied] = useState(false);\r\n\r\n const handleCopy = async () => {\r\n await navigator.clipboard.writeText(code);\r\n setCopied(true);\r\n setTimeout(() => setCopied(false), 2000);\r\n };\r\n\r\n return (\r\n <div className=\"relative group\">\r\n <pre className=\"bg-[var(--bg-tertiary)] p-4 rounded-lg text-sm overflow-x-auto\">\r\n <code>{code}</code>\r\n </pre>\r\n <button\r\n onClick={handleCopy}\r\n className=\"absolute top-2 right-2 p-2 rounded bg-[var(--bg-secondary)] opacity-0 group-hover:opacity-100 transition-opacity\"\r\n title=\"Copier\"\r\n >\r\n {copied ? (\r\n <CheckCircle className=\"w-4 h-4 text-green-500\" />\r\n ) : (\r\n <Copy className=\"w-4 h-4\" />\r\n )}\r\n </button>\r\n </div>\r\n );\r\n}\r\n\r\ninterface ToolCardProps {\r\n name: string;\r\n version?: string;\r\n description: string;\r\n url: string;\r\n required: boolean;\r\n note?: string;\r\n}\r\n\r\nfunction ToolCard({ name, version, description, url, required, note }: ToolCardProps) {\r\n const { t } = useTranslation('docs');\r\n return (\r\n <a\r\n href={url}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n className=\"flex items-start gap-3 p-4 bg-[var(--bg-primary)] rounded-lg border border-[var(--border-color)] hover:border-[var(--color-primary-400)] hover:shadow-md transition-all group\"\r\n >\r\n <div className={`w-2 h-2 rounded-full mt-2 flex-shrink-0 ${required ? 'bg-red-500' : 'bg-gray-400'}`} />\r\n <div className=\"flex-1 min-w-0\">\r\n <div className=\"flex items-center gap-2\">\r\n <span className=\"font-semibold text-[var(--text-primary)] group-hover:text-[var(--color-primary-600)]\">\r\n {name}\r\n </span>\r\n {version && (\r\n <span className=\"px-1.5 py-0.5 text-xs rounded bg-[var(--bg-tertiary)] text-[var(--text-tertiary)]\">\r\n {version}\r\n </span>\r\n )}\r\n <ExternalLink className=\"w-3 h-3 text-[var(--text-tertiary)] opacity-0 group-hover:opacity-100 transition-opacity\" />\r\n </div>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-0.5\">{description}</p>\r\n {note && (\r\n <p className=\"text-xs text-[var(--text-tertiary)] mt-1 italic\">{note}</p>\r\n )}\r\n </div>\r\n {required && (\r\n <span className=\"px-2 py-0.5 text-xs rounded bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400 flex-shrink-0\">\r\n {t('developer.installation.toolBadges.required')}\r\n </span>\r\n )}\r\n </a>\r\n );\r\n}\r\n\r\nexport function InstallationPage() {\r\n const { t } = useTranslation('docs');\r\n const [activeSection, setActiveSection] = useState<'tools' | 'setup'>('tools');\r\n\r\n const toolCategories = [\r\n {\r\n title: t('developer.installation.toolCategories.runtimeSdk.title'),\r\n icon: Package,\r\n color: 'text-blue-500',\r\n tools: [\r\n {\r\n name: '.NET SDK',\r\n version: '10.0+',\r\n description: 'SDK pour compiler et executer le backend ASP.NET Core',\r\n url: 'https://dotnet.microsoft.com/download/dotnet/10.0',\r\n required: true,\r\n },\r\n {\r\n name: 'Node.js',\r\n version: 'LTS 22+',\r\n description: 'Runtime JavaScript pour le frontend React et les outils npm',\r\n url: 'https://nodejs.org/',\r\n required: true,\r\n note: 'npm est inclus avec Node.js',\r\n },\r\n ],\r\n },\r\n {\r\n title: t('developer.installation.toolCategories.database.title'),\r\n icon: Database,\r\n color: 'text-orange-500',\r\n tools: [\r\n {\r\n name: 'SQL Server',\r\n version: '2019+',\r\n description: 'Systeme de gestion de base de donnees relationnelle',\r\n url: 'https://www.microsoft.com/sql-server/sql-server-downloads',\r\n required: true,\r\n note: 'Express edition gratuite suffisante pour le dev',\r\n },\r\n {\r\n name: 'SQL Server Management Studio',\r\n version: 'SSMS 20+',\r\n description: 'Interface graphique pour administrer SQL Server',\r\n url: 'https://learn.microsoft.com/sql/ssms/download-sql-server-management-studio-ssms',\r\n required: false,\r\n note: 'Recommande pour visualiser les donnees',\r\n },\r\n {\r\n name: 'Azure Data Studio',\r\n description: 'Alternative moderne et legere a SSMS, multi-plateforme',\r\n url: 'https://learn.microsoft.com/sql/azure-data-studio/download-azure-data-studio',\r\n required: false,\r\n },\r\n ],\r\n },\r\n {\r\n title: t('developer.installation.toolCategories.ide.title'),\r\n icon: Code,\r\n color: 'text-purple-500',\r\n tools: [\r\n {\r\n name: 'Visual Studio 2022',\r\n version: 'Community+',\r\n description: 'IDE complet pour le developpement .NET avec debugger integre',\r\n url: 'https://visualstudio.microsoft.com/downloads/',\r\n required: false,\r\n note: 'Workload \"ASP.NET and web development\" requis',\r\n },\r\n {\r\n name: 'Visual Studio Code',\r\n description: 'Editeur leger et extensible, ideal pour le frontend React',\r\n url: 'https://code.visualstudio.com/',\r\n required: true,\r\n },\r\n {\r\n name: 'JetBrains Rider',\r\n description: 'Alternative premium a Visual Studio avec support .NET + React',\r\n url: 'https://www.jetbrains.com/rider/',\r\n required: false,\r\n },\r\n ],\r\n },\r\n {\r\n title: t('developer.installation.toolCategories.versionControl.title'),\r\n icon: Terminal,\r\n color: 'text-green-500',\r\n tools: [\r\n {\r\n name: 'Git',\r\n version: '2.40+',\r\n description: 'Systeme de controle de version distribue',\r\n url: 'https://git-scm.com/downloads',\r\n required: true,\r\n },\r\n {\r\n name: 'GitHub Desktop',\r\n description: 'Interface graphique pour Git, simplifie les operations courantes',\r\n url: 'https://desktop.github.com/',\r\n required: false,\r\n },\r\n {\r\n name: 'Git Extensions',\r\n description: 'Outil visuel pour Git avec historique graphique',\r\n url: 'https://gitextensions.github.io/',\r\n required: false,\r\n },\r\n ],\r\n },\r\n {\r\n title: t('developer.installation.toolCategories.smartstackTools.title'),\r\n icon: Package,\r\n color: 'text-rose-500',\r\n tools: [\r\n {\r\n name: '@atlashub/smartstack-cli',\r\n version: '1.14+',\r\n description: 'Toolkit Claude Code avec GitFlow, APEX, EF Core, Business Analysis',\r\n url: 'https://www.npmjs.com/package/@atlashub/smartstack-cli',\r\n required: true,\r\n note: 'npm install -g @atlashub/smartstack-cli && smartstack install',\r\n },\r\n {\r\n name: '@atlashub/smartstack-mcp',\r\n version: '1.15+',\r\n description: 'Serveur MCP pour validation, scaffolding, migrations',\r\n url: 'https://www.npmjs.com/package/@atlashub/smartstack-mcp',\r\n required: true,\r\n note: 'npm install -g @atlashub/smartstack-mcp',\r\n },\r\n ],\r\n },\r\n {\r\n title: t('developer.installation.toolCategories.developmentTools.title'),\r\n icon: Wrench,\r\n color: 'text-amber-500',\r\n tools: [\r\n {\r\n name: 'Claude Code CLI',\r\n description: 'Assistant IA pour le developpement avec commandes automatisees',\r\n url: 'https://docs.anthropic.com/en/docs/claude-code',\r\n required: true,\r\n note: 'Indispensable pour les commandes /gitflow, /efcore, etc.',\r\n },\r\n {\r\n name: 'Postman',\r\n description: 'Client API pour tester les endpoints REST',\r\n url: 'https://www.postman.com/downloads/',\r\n required: false,\r\n },\r\n {\r\n name: 'Docker Desktop',\r\n description: 'Conteneurisation pour environnements isoles',\r\n url: 'https://www.docker.com/products/docker-desktop/',\r\n required: false,\r\n note: 'Utile pour SQL Server sur macOS/Linux',\r\n },\r\n ],\r\n },\r\n {\r\n title: t('developer.installation.toolCategories.claudeCodeDependencies.title'),\r\n icon: Terminal,\r\n color: 'text-violet-500',\r\n tools: [\r\n {\r\n name: 'Node.js (pour Claude Code)',\r\n version: '18+',\r\n description: 'Runtime necessaire pour executer Claude Code CLI',\r\n url: 'https://nodejs.org/',\r\n required: true,\r\n note: 'Claude Code necessite Node.js 18 ou superieur',\r\n },\r\n {\r\n name: 'npm ou pnpm',\r\n description: 'Gestionnaire de paquets pour installer Claude Code globalement',\r\n url: 'https://www.npmjs.com/',\r\n required: true,\r\n note: 'npm install -g @anthropic-ai/claude-code',\r\n },\r\n {\r\n name: 'Cle API Anthropic',\r\n description: 'Cle d\\'authentification pour utiliser Claude Code',\r\n url: 'https://console.anthropic.com/settings/keys',\r\n required: true,\r\n note: 'Creer un compte Anthropic et generer une cle API',\r\n },\r\n ],\r\n },\r\n {\r\n title: t('developer.installation.toolCategories.mcpServers.title'),\r\n icon: Server,\r\n color: 'text-pink-500',\r\n tools: [\r\n {\r\n name: 'SmartStack MCP',\r\n version: '1.15+',\r\n description: 'Validation conventions, scaffolding, migrations, tests SmartStack',\r\n url: 'https://www.npmjs.com/package/@atlashub/smartstack-mcp',\r\n required: true,\r\n note: 'claude mcp add smartstack -- npx @atlashub/smartstack-mcp',\r\n },\r\n {\r\n name: 'Context7 MCP',\r\n description: 'Acces a la documentation technique en temps reel (React, .NET, etc.)',\r\n url: 'https://github.com/upstash/context7',\r\n required: true,\r\n note: 'Fournit la documentation a jour des frameworks',\r\n },\r\n {\r\n name: 'Filesystem MCP',\r\n description: 'Acces securise au systeme de fichiers local',\r\n url: 'https://github.com/anthropics/mcp-servers/tree/main/src/filesystem',\r\n required: false,\r\n note: 'Inclus par defaut avec Claude Code',\r\n },\r\n {\r\n name: 'GitHub MCP',\r\n description: 'Integration avec GitHub pour issues, PRs et repositories',\r\n url: 'https://github.com/anthropics/mcp-servers/tree/main/src/github',\r\n required: false,\r\n note: 'Necessite un token GitHub personnel',\r\n },\r\n {\r\n name: 'PostgreSQL MCP',\r\n description: 'Connexion directe aux bases PostgreSQL',\r\n url: 'https://github.com/anthropics/mcp-servers/tree/main/src/postgres',\r\n required: false,\r\n },\r\n {\r\n name: 'Brave Search MCP',\r\n description: 'Recherche web via Brave Search API',\r\n url: 'https://github.com/anthropics/mcp-servers/tree/main/src/brave-search',\r\n required: false,\r\n note: 'Necessite une cle API Brave Search',\r\n },\r\n ],\r\n },\r\n {\r\n title: t('developer.installation.toolCategories.vsCodeExtensions.title'),\r\n icon: Settings,\r\n color: 'text-cyan-500',\r\n tools: [\r\n {\r\n name: 'C# Dev Kit',\r\n description: 'Support complet du langage C# avec IntelliSense',\r\n url: 'https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit',\r\n required: true,\r\n },\r\n {\r\n name: 'ESLint',\r\n description: 'Linter JavaScript/TypeScript pour detecter les erreurs',\r\n url: 'https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint',\r\n required: true,\r\n },\r\n {\r\n name: 'Prettier',\r\n description: 'Formateur de code automatique',\r\n url: 'https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode',\r\n required: false,\r\n },\r\n {\r\n name: 'Tailwind CSS IntelliSense',\r\n description: 'Autocompletion pour les classes Tailwind',\r\n url: 'https://marketplace.visualstudio.com/items?itemName=bradlc.vscode-tailwindcss',\r\n required: false,\r\n },\r\n {\r\n name: 'REST Client',\r\n description: 'Tester les API directement dans VS Code',\r\n url: 'https://marketplace.visualstudio.com/items?itemName=humao.rest-client',\r\n required: false,\r\n },\r\n {\r\n name: 'GitLens',\r\n description: 'Visualisation avancee de l\\'historique Git',\r\n url: 'https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens',\r\n required: false,\r\n },\r\n ],\r\n },\r\n {\r\n title: t('developer.installation.toolCategories.browsers.title'),\r\n icon: Globe,\r\n color: 'text-indigo-500',\r\n tools: [\r\n {\r\n name: 'Google Chrome',\r\n description: 'Navigateur avec DevTools puissants pour le debug frontend',\r\n url: 'https://www.google.com/chrome/',\r\n required: true,\r\n },\r\n {\r\n name: 'React Developer Tools',\r\n description: 'Extension Chrome pour debugger les composants React',\r\n url: 'https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi',\r\n required: false,\r\n },\r\n {\r\n name: 'Firefox Developer Edition',\r\n description: 'Alternative avec outils de dev avances',\r\n url: 'https://www.mozilla.org/firefox/developer/',\r\n required: false,\r\n },\r\n ],\r\n },\r\n ];\r\n\r\n return (\r\n <div className=\"space-y-8\">\r\n {/* Breadcrumb */}\r\n <div className=\"flex items-center gap-2 text-sm text-[var(--text-secondary)]\">\r\n <Link to=\"/system/docs\" className=\"hover:text-[var(--color-primary-600)]\">{t('developer.installation.breadcrumb.documentation')}</Link>\r\n <span>/</span>\r\n <Link to=\"/system/docs/developer\" className=\"hover:text-[var(--color-primary-600)]\">{t('developer.installation.breadcrumb.developer')}</Link>\r\n <span>/</span>\r\n <span>{t('developer.installation.breadcrumb.installation')}</span>\r\n </div>\r\n\r\n {/* Header */}\r\n <div>\r\n <h1 className=\"text-3xl font-bold mb-4 flex items-center gap-3\">\r\n <Download className=\"w-8 h-8 text-[var(--color-primary-600)]\" />\r\n {t('developer.installation.header.title')}\r\n </h1>\r\n <p className=\"text-lg text-[var(--text-secondary)]\">\r\n {t('developer.installation.header.description')}\r\n </p>\r\n </div>\r\n\r\n {/* Section Toggle */}\r\n <div className=\"flex gap-2 p-1 bg-[var(--bg-secondary)] rounded-lg w-fit\">\r\n <button\r\n onClick={() => setActiveSection('tools')}\r\n className={`px-4 py-2 rounded-md font-medium transition-colors ${\r\n activeSection === 'tools'\r\n ? 'bg-[var(--color-primary-600)] text-white'\r\n : 'text-[var(--text-secondary)] hover:bg-[var(--bg-hover)]'\r\n }`}\r\n >\r\n <Monitor className=\"w-4 h-4 inline-block mr-2\" />\r\n {t('developer.installation.tabs.tools')}\r\n </button>\r\n <button\r\n onClick={() => setActiveSection('setup')}\r\n className={`px-4 py-2 rounded-md font-medium transition-colors ${\r\n activeSection === 'setup'\r\n ? 'bg-[var(--color-primary-600)] text-white'\r\n : 'text-[var(--text-secondary)] hover:bg-[var(--bg-hover)]'\r\n }`}\r\n >\r\n <Settings className=\"w-4 h-4 inline-block mr-2\" />\r\n {t('developer.installation.tabs.setup')}\r\n </button>\r\n </div>\r\n\r\n {/* Tools Section */}\r\n {activeSection === 'tools' && (\r\n <div className=\"space-y-8\">\r\n {/* Legend */}\r\n <div className=\"flex items-center gap-6 text-sm\">\r\n <div className=\"flex items-center gap-2\">\r\n <div className=\"w-2 h-2 rounded-full bg-red-500\" />\r\n <span className=\"text-[var(--text-secondary)]\">{t('developer.installation.legend.required')}</span>\r\n </div>\r\n <div className=\"flex items-center gap-2\">\r\n <div className=\"w-2 h-2 rounded-full bg-gray-400\" />\r\n <span className=\"text-[var(--text-secondary)]\">{t('developer.installation.legend.optional')}</span>\r\n </div>\r\n </div>\r\n\r\n {/* Tool Categories */}\r\n {toolCategories.map((category) => (\r\n <section key={category.title} className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-3\">\r\n <category.icon className={`w-5 h-5 ${category.color}`} />\r\n {category.title}\r\n </h2>\r\n <div className=\"grid grid-cols-1 lg:grid-cols-2 gap-3\">\r\n {category.tools.map((tool) => (\r\n <ToolCard key={tool.name} {...tool} />\r\n ))}\r\n </div>\r\n </section>\r\n ))}\r\n\r\n {/* Quick Install Commands */}\r\n <section className=\"card p-6 bg-gradient-to-r from-[var(--info-bg)] to-transparent border-[var(--info-border)]\">\r\n <h2 className=\"text-xl font-semibold mb-4\">{t('developer.installation.quickInstall.title')}</h2>\r\n <p className=\"text-sm text-[var(--text-secondary)] mb-4\">\r\n {t('developer.installation.quickInstall.description')}\r\n </p>\r\n <CodeBlock code={`# Installer les outils essentiels\r\nwinget install Microsoft.DotNet.SDK.10 --accept-package-agreements\r\nwinget install OpenJS.NodeJS.LTS\r\nwinget install Git.Git\r\nwinget install Microsoft.VisualStudioCode\r\nwinget install Microsoft.SQLServer.2022.Express\r\nwinget install Microsoft.SQLServerManagementStudio`} />\r\n </section>\r\n </div>\r\n )}\r\n\r\n {/* Setup Section */}\r\n {activeSection === 'setup' && (\r\n <div className=\"space-y-6\">\r\n {/* Step 0: SmartStack CLI & MCP */}\r\n <section className=\"card p-6 border-2 border-[var(--color-primary-400)]\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <span className=\"w-8 h-8 rounded-full bg-[var(--color-primary-600)] text-white flex items-center justify-center text-sm\">0</span>\r\n {t('developer.installation.steps.step0.title')}\r\n </h2>\r\n\r\n <p className=\"text-[var(--text-secondary)] mb-4\">\r\n SmartStack CLI et MCP sont <strong>requis</strong> pour utiliser les commandes Claude Code (/gitflow, /efcore, /apex, etc.).\r\n </p>\r\n\r\n <h4 className=\"font-medium mb-2\">{t('developer.installation.steps.step0.subtitle1')}</h4>\r\n <CodeBlock code={`# SmartStack CLI - Commandes et workflows Claude Code\r\nnpm install -g @atlashub/smartstack-cli\r\n\r\n# SmartStack MCP - Serveur MCP pour validation et scaffolding\r\nnpm install -g @atlashub/smartstack-mcp\r\n\r\n# Context7 MCP - Documentation technique en temps reel (optionnel mais recommande)\r\nnpm install -g @upstash/context7-mcp`} />\r\n\r\n <h4 className=\"font-medium mt-6 mb-2\">{t('developer.installation.steps.step0.subtitle2')}</h4>\r\n <CodeBlock code={`# Installer les commandes, agents et hooks\r\nsmartstack install\r\n\r\n# Verifier l'installation\r\nsmartstack status --verbose\r\n\r\n# Diagnostic complet\r\nsmartstack doctor`} />\r\n\r\n <h4 className=\"font-medium mt-6 mb-2\">{t('developer.installation.steps.step0.subtitle3')}</h4>\r\n <CodeBlock code={`# SmartStack MCP\r\nclaude mcp add smartstack -- npx @atlashub/smartstack-mcp\r\n\r\n# Context7 MCP (documentation)\r\nclaude mcp add context7 -- npx @upstash/context7-mcp\r\n\r\n# Verifier les MCP actifs\r\nclaude mcp list`} />\r\n\r\n <div className=\"mt-4 p-4 bg-[var(--info-bg)] text-[var(--info-text)] rounded-lg flex items-start gap-2\">\r\n <Check className=\"w-5 h-5 flex-shrink-0 mt-0.5\" />\r\n <div dangerouslySetInnerHTML={{ __html: t('developer.installation.steps.step0.verification') }} />\r\n </div>\r\n </section>\r\n\r\n {/* Step 1: Clone */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <span className=\"w-8 h-8 rounded-full bg-[var(--color-primary-600)] text-white flex items-center justify-center text-sm\">1</span>\r\n {t('developer.installation.steps.step1.title')}\r\n </h2>\r\n <CodeBlock code={`git clone https://github.com/votre-org/SmartStack.app.git\r\ncd SmartStack.app`} />\r\n </section>\r\n\r\n {/* Step 2: Database */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <span className=\"w-8 h-8 rounded-full bg-[var(--color-primary-600)] text-white flex items-center justify-center text-sm\">2</span>\r\n {t('developer.installation.steps.step2.title')}\r\n </h2>\r\n\r\n <p className=\"text-[var(--text-secondary)] mb-4\">\r\n {t('developer.installation.steps.step2.subtitle')}\r\n </p>\r\n\r\n <h4 className=\"font-medium mb-2\">{t('developer.installation.steps.step2.configFile')}</h4>\r\n <CodeBlock\r\n code={`{\r\n \"ConnectionStrings\": {\r\n \"DefaultConnection\": \"Server=localhost;Database=SmartStack;Trusted_Connection=True;TrustServerCertificate=True;\"\r\n }\r\n}`}\r\n />\r\n\r\n <div className=\"mt-4 p-4 bg-[var(--warning-bg)] text-[var(--warning-text)] rounded-lg flex items-start gap-2\">\r\n <AlertTriangle className=\"w-5 h-5 flex-shrink-0 mt-0.5\" />\r\n <div>\r\n <strong>Important:</strong> {t('developer.installation.steps.step2.warning')}\r\n </div>\r\n </div>\r\n </section>\r\n\r\n {/* Step 3: Migrations */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <span className=\"w-8 h-8 rounded-full bg-[var(--color-primary-600)] text-white flex items-center justify-center text-sm\">3</span>\r\n {t('developer.installation.steps.step3.title')}\r\n </h2>\r\n\r\n <p className=\"text-[var(--text-secondary)] mb-4\">\r\n {t('developer.installation.steps.step3.subtitle')}\r\n </p>\r\n\r\n <CodeBlock code=\"/efcore:db-deploy\" />\r\n\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-4\">\r\n {t('developer.installation.steps.step3.manual')}\r\n </p>\r\n\r\n <CodeBlock code=\"dotnet ef database update -p src/SmartStack.Infrastructure -s src/SmartStack.Api\" />\r\n </section>\r\n\r\n {/* Step 4: Backend */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <span className=\"w-8 h-8 rounded-full bg-[var(--color-primary-600)] text-white flex items-center justify-center text-sm\">4</span>\r\n {t('developer.installation.steps.step4.title')}\r\n </h2>\r\n\r\n <CodeBlock code={`cd src/SmartStack.Api\r\ndotnet run`} />\r\n\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-4\">\r\n {t('developer.installation.steps.step4.subtitle')}\r\n </p>\r\n <ul className=\"mt-2 text-sm space-y-1\">\r\n <li><code className=\"px-1 bg-[var(--bg-secondary)] rounded\">http://localhost:5142</code> ({t('developer.installation.steps.step4.http')})</li>\r\n <li><code className=\"px-1 bg-[var(--bg-secondary)] rounded\">https://localhost:7055</code> ({t('developer.installation.steps.step4.https')})</li>\r\n </ul>\r\n </section>\r\n\r\n {/* Step 5: Frontend */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <span className=\"w-8 h-8 rounded-full bg-[var(--color-primary-600)] text-white flex items-center justify-center text-sm\">5</span>\r\n {t('developer.installation.steps.step5.title')}\r\n </h2>\r\n\r\n <CodeBlock code={`cd web/smartstack-web\r\nnpm install\r\nnpm run dev`} />\r\n\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-4\">\r\n {t('developer.installation.steps.step5.subtitle')} <code className=\"px-1 bg-[var(--bg-secondary)] rounded\">http://localhost:5173</code>\r\n </p>\r\n </section>\r\n\r\n {/* Step 6: Verify */}\r\n <section className=\"card p-6 bg-gradient-to-r from-[var(--success-bg)] to-transparent border-[var(--success-border)]\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <span className=\"w-8 h-8 rounded-full bg-green-600 text-white flex items-center justify-center text-sm\">6</span>\r\n {t('developer.installation.steps.step6.title')}\r\n </h2>\r\n\r\n <ul className=\"space-y-2\">\r\n {(t('developer.installation.steps.step6.checks', { returnObjects: true }) as string[]).map((check: string) => (\r\n <li key={check} className=\"flex items-center gap-2\">\r\n <Check className=\"w-4 h-4 text-green-500\" />\r\n <span dangerouslySetInnerHTML={{ __html: check }} />\r\n </li>\r\n ))}\r\n </ul>\r\n </section>\r\n\r\n {/* Troubleshooting */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4\">{t('developer.installation.troubleshooting.title')}</h2>\r\n\r\n <div className=\"space-y-4\">\r\n <div className=\"p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <h4 className=\"font-medium\">{t('developer.installation.troubleshooting.issues.sqlServerError.title')}</h4>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.installation.troubleshooting.issues.sqlServerError.description')}\r\n </p>\r\n </div>\r\n\r\n <div className=\"p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <h4 className=\"font-medium\">{t('developer.installation.troubleshooting.issues.portInUse.title')}</h4>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.installation.troubleshooting.issues.portInUse.description')}\r\n </p>\r\n </div>\r\n\r\n <div className=\"p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <h4 className=\"font-medium\">{t('developer.installation.troubleshooting.issues.corsError.title')}</h4>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.installation.troubleshooting.issues.corsError.description')}\r\n </p>\r\n </div>\r\n\r\n <div className=\"p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <h4 className=\"font-medium\">{t('developer.installation.troubleshooting.issues.npmError.title')}</h4>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.installation.troubleshooting.issues.npmError.description')}\r\n </p>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n )}\r\n\r\n {/* Navigation */}\r\n <div className=\"flex justify-between pt-6 border-t border-[var(--border-color)]\">\r\n <Link\r\n to=\"/system/docs/developer/infrastructure\"\r\n className=\"flex items-center gap-2 text-[var(--text-secondary)] hover:text-[var(--color-primary-600)]\"\r\n >\r\n <ArrowRight className=\"w-4 h-4 rotate-180\" />\r\n {t('developer.installation.navigation.previous')}\r\n </Link>\r\n <Link\r\n to=\"/system/docs/developer/commands\"\r\n className=\"flex items-center gap-2 text-[var(--color-primary-600)] hover:underline\"\r\n >\r\n {t('developer.installation.navigation.next')}\r\n <ArrowRight className=\"w-4 h-4\" />\r\n </Link>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["CodeBlock","code","copied","setCopied","useState","jsxs","jsx","CheckCircle","Copy","ToolCard","name","version","description","url","required","note","t","useTranslation","ExternalLink","InstallationPage","activeSection","setActiveSection","toolCategories","Package","Database","Code","Terminal","Wrench","Server","Settings","Globe","Link","Download","Monitor","category","tool","Check","AlertTriangle","check","ArrowRight"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InstallationPage-CXKmzZuN.js","sources":["../src/pages/system/docs/developer/InstallationPage.tsx"],"sourcesContent":["import { Link } from 'react-router-dom';\r\nimport { Download, Check, AlertTriangle, ArrowRight, Copy, CheckCircle, ExternalLink, Monitor, Database, Code, Terminal, Globe, Package, Settings, Wrench, Server } from 'lucide-react';\r\nimport { useState } from 'react';\r\nimport type { ReactElement } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nfunction CodeBlock({ code }: { code: string }) {\r\n const [copied, setCopied] = useState(false);\r\n\r\n const handleCopy = async () => {\r\n await navigator.clipboard.writeText(code);\r\n setCopied(true);\r\n setTimeout(() => setCopied(false), 2000);\r\n };\r\n\r\n return (\r\n <div className=\"relative group\">\r\n <pre className=\"bg-[var(--bg-tertiary)] p-4 rounded-lg text-sm overflow-x-auto\">\r\n <code>{code}</code>\r\n </pre>\r\n <button\r\n onClick={handleCopy}\r\n className=\"absolute top-2 right-2 p-2 rounded bg-[var(--bg-secondary)] opacity-0 group-hover:opacity-100 transition-opacity\"\r\n title=\"Copier\"\r\n >\r\n {copied ? (\r\n <CheckCircle className=\"w-4 h-4 text-green-500\" />\r\n ) : (\r\n <Copy className=\"w-4 h-4\" />\r\n )}\r\n </button>\r\n </div>\r\n );\r\n}\r\n\r\ninterface ToolCardProps {\r\n readonly name: string;\r\n readonly version?: string;\r\n readonly description: string;\r\n readonly url: string;\r\n readonly required: boolean;\r\n readonly note?: string;\r\n}\r\n\r\nfunction ToolCard({ name, version, description, url, required, note }: ToolCardProps) {\r\n const { t } = useTranslation('docs');\r\n return (\r\n <a\r\n href={url}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n className=\"flex items-start gap-3 p-4 bg-[var(--bg-primary)] rounded-lg border border-[var(--border-color)] hover:border-[var(--color-primary-400)] hover:shadow-md transition-all group\"\r\n >\r\n <div className={`w-2 h-2 rounded-full mt-2 flex-shrink-0 ${required ? 'bg-red-500' : 'bg-gray-400'}`} />\r\n <div className=\"flex-1 min-w-0\">\r\n <div className=\"flex items-center gap-2\">\r\n <span className=\"font-semibold text-[var(--text-primary)] group-hover:text-[var(--color-primary-600)]\">\r\n {name}\r\n </span>\r\n {version && (\r\n <span className=\"px-1.5 py-0.5 text-xs rounded bg-[var(--bg-tertiary)] text-[var(--text-tertiary)]\">\r\n {version}\r\n </span>\r\n )}\r\n <ExternalLink className=\"w-3 h-3 text-[var(--text-tertiary)] opacity-0 group-hover:opacity-100 transition-opacity\" />\r\n </div>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-0.5\">{description}</p>\r\n {note && (\r\n <p className=\"text-xs text-[var(--text-tertiary)] mt-1 italic\">{note}</p>\r\n )}\r\n </div>\r\n {required && (\r\n <span className=\"px-2 py-0.5 text-xs rounded bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400 flex-shrink-0\">\r\n {t('developer.installation.toolBadges.required')}\r\n </span>\r\n )}\r\n </a>\r\n );\r\n}\r\n\r\nexport function InstallationPage(): ReactElement {\r\n const { t } = useTranslation('docs');\r\n const [activeSection, setActiveSection] = useState<'tools' | 'setup'>('tools');\r\n\r\n const toolCategories = [\r\n {\r\n title: t('developer.installation.toolCategories.runtimeSdk.title'),\r\n icon: Package,\r\n color: 'text-blue-500',\r\n tools: [\r\n {\r\n name: '.NET SDK',\r\n version: '10.0+',\r\n description: 'SDK pour compiler et executer le backend ASP.NET Core',\r\n url: 'https://dotnet.microsoft.com/download/dotnet/10.0',\r\n required: true,\r\n },\r\n {\r\n name: 'Node.js',\r\n version: 'LTS 22+',\r\n description: 'Runtime JavaScript pour le frontend React et les outils npm',\r\n url: 'https://nodejs.org/',\r\n required: true,\r\n note: 'npm est inclus avec Node.js',\r\n },\r\n ],\r\n },\r\n {\r\n title: t('developer.installation.toolCategories.database.title'),\r\n icon: Database,\r\n color: 'text-orange-500',\r\n tools: [\r\n {\r\n name: 'SQL Server',\r\n version: '2019+',\r\n description: 'Systeme de gestion de base de donnees relationnelle',\r\n url: 'https://www.microsoft.com/sql-server/sql-server-downloads',\r\n required: true,\r\n note: 'Express edition gratuite suffisante pour le dev',\r\n },\r\n {\r\n name: 'SQL Server Management Studio',\r\n version: 'SSMS 20+',\r\n description: 'Interface graphique pour administrer SQL Server',\r\n url: 'https://learn.microsoft.com/sql/ssms/download-sql-server-management-studio-ssms',\r\n required: false,\r\n note: 'Recommande pour visualiser les donnees',\r\n },\r\n {\r\n name: 'Azure Data Studio',\r\n description: 'Alternative moderne et legere a SSMS, multi-plateforme',\r\n url: 'https://learn.microsoft.com/sql/azure-data-studio/download-azure-data-studio',\r\n required: false,\r\n },\r\n ],\r\n },\r\n {\r\n title: t('developer.installation.toolCategories.ide.title'),\r\n icon: Code,\r\n color: 'text-purple-500',\r\n tools: [\r\n {\r\n name: 'Visual Studio 2022',\r\n version: 'Community+',\r\n description: 'IDE complet pour le developpement .NET avec debugger integre',\r\n url: 'https://visualstudio.microsoft.com/downloads/',\r\n required: false,\r\n note: 'Workload \"ASP.NET and web development\" requis',\r\n },\r\n {\r\n name: 'Visual Studio Code',\r\n description: 'Editeur leger et extensible, ideal pour le frontend React',\r\n url: 'https://code.visualstudio.com/',\r\n required: true,\r\n },\r\n {\r\n name: 'JetBrains Rider',\r\n description: 'Alternative premium a Visual Studio avec support .NET + React',\r\n url: 'https://www.jetbrains.com/rider/',\r\n required: false,\r\n },\r\n ],\r\n },\r\n {\r\n title: t('developer.installation.toolCategories.versionControl.title'),\r\n icon: Terminal,\r\n color: 'text-green-500',\r\n tools: [\r\n {\r\n name: 'Git',\r\n version: '2.40+',\r\n description: 'Systeme de controle de version distribue',\r\n url: 'https://git-scm.com/downloads',\r\n required: true,\r\n },\r\n {\r\n name: 'GitHub Desktop',\r\n description: 'Interface graphique pour Git, simplifie les operations courantes',\r\n url: 'https://desktop.github.com/',\r\n required: false,\r\n },\r\n {\r\n name: 'Git Extensions',\r\n description: 'Outil visuel pour Git avec historique graphique',\r\n url: 'https://gitextensions.github.io/',\r\n required: false,\r\n },\r\n ],\r\n },\r\n {\r\n title: t('developer.installation.toolCategories.smartstackTools.title'),\r\n icon: Package,\r\n color: 'text-rose-500',\r\n tools: [\r\n {\r\n name: '@atlashub/smartstack-cli',\r\n version: '1.14+',\r\n description: 'Toolkit Claude Code avec GitFlow, APEX, EF Core, Business Analysis',\r\n url: 'https://www.npmjs.com/package/@atlashub/smartstack-cli',\r\n required: true,\r\n note: 'npm install -g @atlashub/smartstack-cli && smartstack install',\r\n },\r\n {\r\n name: '@atlashub/smartstack-mcp',\r\n version: '1.15+',\r\n description: 'Serveur MCP pour validation, scaffolding, migrations',\r\n url: 'https://www.npmjs.com/package/@atlashub/smartstack-mcp',\r\n required: true,\r\n note: 'npm install -g @atlashub/smartstack-mcp',\r\n },\r\n ],\r\n },\r\n {\r\n title: t('developer.installation.toolCategories.developmentTools.title'),\r\n icon: Wrench,\r\n color: 'text-amber-500',\r\n tools: [\r\n {\r\n name: 'Claude Code CLI',\r\n description: 'Assistant IA pour le developpement avec commandes automatisees',\r\n url: 'https://docs.anthropic.com/en/docs/claude-code',\r\n required: true,\r\n note: 'Indispensable pour les commandes /gitflow, /efcore, etc.',\r\n },\r\n {\r\n name: 'Postman',\r\n description: 'Client API pour tester les endpoints REST',\r\n url: 'https://www.postman.com/downloads/',\r\n required: false,\r\n },\r\n {\r\n name: 'Docker Desktop',\r\n description: 'Conteneurisation pour environnements isoles',\r\n url: 'https://www.docker.com/products/docker-desktop/',\r\n required: false,\r\n note: 'Utile pour SQL Server sur macOS/Linux',\r\n },\r\n ],\r\n },\r\n {\r\n title: t('developer.installation.toolCategories.claudeCodeDependencies.title'),\r\n icon: Terminal,\r\n color: 'text-violet-500',\r\n tools: [\r\n {\r\n name: 'Node.js (pour Claude Code)',\r\n version: '18+',\r\n description: 'Runtime necessaire pour executer Claude Code CLI',\r\n url: 'https://nodejs.org/',\r\n required: true,\r\n note: 'Claude Code necessite Node.js 18 ou superieur',\r\n },\r\n {\r\n name: 'npm ou pnpm',\r\n description: 'Gestionnaire de paquets pour installer Claude Code globalement',\r\n url: 'https://www.npmjs.com/',\r\n required: true,\r\n note: 'npm install -g @anthropic-ai/claude-code',\r\n },\r\n {\r\n name: 'Cle API Anthropic',\r\n description: 'Cle d\\'authentification pour utiliser Claude Code',\r\n url: 'https://console.anthropic.com/settings/keys',\r\n required: true,\r\n note: 'Creer un compte Anthropic et generer une cle API',\r\n },\r\n ],\r\n },\r\n {\r\n title: t('developer.installation.toolCategories.mcpServers.title'),\r\n icon: Server,\r\n color: 'text-pink-500',\r\n tools: [\r\n {\r\n name: 'SmartStack MCP',\r\n version: '1.15+',\r\n description: 'Validation conventions, scaffolding, migrations, tests SmartStack',\r\n url: 'https://www.npmjs.com/package/@atlashub/smartstack-mcp',\r\n required: true,\r\n note: 'claude mcp add smartstack -- npx @atlashub/smartstack-mcp',\r\n },\r\n {\r\n name: 'Context7 MCP',\r\n description: 'Acces a la documentation technique en temps reel (React, .NET, etc.)',\r\n url: 'https://github.com/upstash/context7',\r\n required: true,\r\n note: 'Fournit la documentation a jour des frameworks',\r\n },\r\n {\r\n name: 'Filesystem MCP',\r\n description: 'Acces securise au systeme de fichiers local',\r\n url: 'https://github.com/anthropics/mcp-servers/tree/main/src/filesystem',\r\n required: false,\r\n note: 'Inclus par defaut avec Claude Code',\r\n },\r\n {\r\n name: 'GitHub MCP',\r\n description: 'Integration avec GitHub pour issues, PRs et repositories',\r\n url: 'https://github.com/anthropics/mcp-servers/tree/main/src/github',\r\n required: false,\r\n note: 'Necessite un token GitHub personnel',\r\n },\r\n {\r\n name: 'PostgreSQL MCP',\r\n description: 'Connexion directe aux bases PostgreSQL',\r\n url: 'https://github.com/anthropics/mcp-servers/tree/main/src/postgres',\r\n required: false,\r\n },\r\n {\r\n name: 'Brave Search MCP',\r\n description: 'Recherche web via Brave Search API',\r\n url: 'https://github.com/anthropics/mcp-servers/tree/main/src/brave-search',\r\n required: false,\r\n note: 'Necessite une cle API Brave Search',\r\n },\r\n ],\r\n },\r\n {\r\n title: t('developer.installation.toolCategories.vsCodeExtensions.title'),\r\n icon: Settings,\r\n color: 'text-cyan-500',\r\n tools: [\r\n {\r\n name: 'C# Dev Kit',\r\n description: 'Support complet du langage C# avec IntelliSense',\r\n url: 'https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit',\r\n required: true,\r\n },\r\n {\r\n name: 'ESLint',\r\n description: 'Linter JavaScript/TypeScript pour detecter les erreurs',\r\n url: 'https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint',\r\n required: true,\r\n },\r\n {\r\n name: 'Prettier',\r\n description: 'Formateur de code automatique',\r\n url: 'https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode',\r\n required: false,\r\n },\r\n {\r\n name: 'Tailwind CSS IntelliSense',\r\n description: 'Autocompletion pour les classes Tailwind',\r\n url: 'https://marketplace.visualstudio.com/items?itemName=bradlc.vscode-tailwindcss',\r\n required: false,\r\n },\r\n {\r\n name: 'REST Client',\r\n description: 'Tester les API directement dans VS Code',\r\n url: 'https://marketplace.visualstudio.com/items?itemName=humao.rest-client',\r\n required: false,\r\n },\r\n {\r\n name: 'GitLens',\r\n description: 'Visualisation avancee de l\\'historique Git',\r\n url: 'https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens',\r\n required: false,\r\n },\r\n ],\r\n },\r\n {\r\n title: t('developer.installation.toolCategories.browsers.title'),\r\n icon: Globe,\r\n color: 'text-indigo-500',\r\n tools: [\r\n {\r\n name: 'Google Chrome',\r\n description: 'Navigateur avec DevTools puissants pour le debug frontend',\r\n url: 'https://www.google.com/chrome/',\r\n required: true,\r\n },\r\n {\r\n name: 'React Developer Tools',\r\n description: 'Extension Chrome pour debugger les composants React',\r\n url: 'https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi',\r\n required: false,\r\n },\r\n {\r\n name: 'Firefox Developer Edition',\r\n description: 'Alternative avec outils de dev avances',\r\n url: 'https://www.mozilla.org/firefox/developer/',\r\n required: false,\r\n },\r\n ],\r\n },\r\n ];\r\n\r\n return (\r\n <div className=\"space-y-8\">\r\n {/* Breadcrumb */}\r\n <div className=\"flex items-center gap-2 text-sm text-[var(--text-secondary)]\">\r\n <Link to=\"/system/docs\" className=\"hover:text-[var(--color-primary-600)]\">{t('developer.installation.breadcrumb.documentation')}</Link>\r\n <span>/</span>\r\n <Link to=\"/system/docs/developer\" className=\"hover:text-[var(--color-primary-600)]\">{t('developer.installation.breadcrumb.developer')}</Link>\r\n <span>/</span>\r\n <span>{t('developer.installation.breadcrumb.installation')}</span>\r\n </div>\r\n\r\n {/* Header */}\r\n <div>\r\n <h1 className=\"text-3xl font-bold mb-4 flex items-center gap-3\">\r\n <Download className=\"w-8 h-8 text-[var(--color-primary-600)]\" />\r\n {t('developer.installation.header.title')}\r\n </h1>\r\n <p className=\"text-lg text-[var(--text-secondary)]\">\r\n {t('developer.installation.header.description')}\r\n </p>\r\n </div>\r\n\r\n {/* Section Toggle */}\r\n <div className=\"flex gap-2 p-1 bg-[var(--bg-secondary)] rounded-lg w-fit\">\r\n <button\r\n onClick={() => setActiveSection('tools')}\r\n className={`px-4 py-2 rounded-md font-medium transition-colors ${\r\n activeSection === 'tools'\r\n ? 'bg-[var(--color-primary-600)] text-white'\r\n : 'text-[var(--text-secondary)] hover:bg-[var(--bg-hover)]'\r\n }`}\r\n >\r\n <Monitor className=\"w-4 h-4 inline-block mr-2\" />\r\n {t('developer.installation.tabs.tools')}\r\n </button>\r\n <button\r\n onClick={() => setActiveSection('setup')}\r\n className={`px-4 py-2 rounded-md font-medium transition-colors ${\r\n activeSection === 'setup'\r\n ? 'bg-[var(--color-primary-600)] text-white'\r\n : 'text-[var(--text-secondary)] hover:bg-[var(--bg-hover)]'\r\n }`}\r\n >\r\n <Settings className=\"w-4 h-4 inline-block mr-2\" />\r\n {t('developer.installation.tabs.setup')}\r\n </button>\r\n </div>\r\n\r\n {/* Tools Section */}\r\n {activeSection === 'tools' && (\r\n <div className=\"space-y-8\">\r\n {/* Legend */}\r\n <div className=\"flex items-center gap-6 text-sm\">\r\n <div className=\"flex items-center gap-2\">\r\n <div className=\"w-2 h-2 rounded-full bg-red-500\" />\r\n <span className=\"text-[var(--text-secondary)]\">{t('developer.installation.legend.required')}</span>\r\n </div>\r\n <div className=\"flex items-center gap-2\">\r\n <div className=\"w-2 h-2 rounded-full bg-gray-400\" />\r\n <span className=\"text-[var(--text-secondary)]\">{t('developer.installation.legend.optional')}</span>\r\n </div>\r\n </div>\r\n\r\n {/* Tool Categories */}\r\n {toolCategories.map((category) => (\r\n <section key={category.title} className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-3\">\r\n <category.icon className={`w-5 h-5 ${category.color}`} />\r\n {category.title}\r\n </h2>\r\n <div className=\"grid grid-cols-1 lg:grid-cols-2 gap-3\">\r\n {category.tools.map((tool) => (\r\n <ToolCard key={tool.name} {...tool} />\r\n ))}\r\n </div>\r\n </section>\r\n ))}\r\n\r\n {/* Quick Install Commands */}\r\n <section className=\"card p-6 bg-gradient-to-r from-[var(--info-bg)] to-transparent border-[var(--info-border)]\">\r\n <h2 className=\"text-xl font-semibold mb-4\">{t('developer.installation.quickInstall.title')}</h2>\r\n <p className=\"text-sm text-[var(--text-secondary)] mb-4\">\r\n {t('developer.installation.quickInstall.description')}\r\n </p>\r\n <CodeBlock code={`# Installer les outils essentiels\r\nwinget install Microsoft.DotNet.SDK.10 --accept-package-agreements\r\nwinget install OpenJS.NodeJS.LTS\r\nwinget install Git.Git\r\nwinget install Microsoft.VisualStudioCode\r\nwinget install Microsoft.SQLServer.2022.Express\r\nwinget install Microsoft.SQLServerManagementStudio`} />\r\n </section>\r\n </div>\r\n )}\r\n\r\n {/* Setup Section */}\r\n {activeSection === 'setup' && (\r\n <div className=\"space-y-6\">\r\n {/* Step 0: SmartStack CLI & MCP */}\r\n <section className=\"card p-6 border-2 border-[var(--color-primary-400)]\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <span className=\"w-8 h-8 rounded-full bg-[var(--color-primary-600)] text-white flex items-center justify-center text-sm\">0</span>\r\n {t('developer.installation.steps.step0.title')}\r\n </h2>\r\n\r\n <p className=\"text-[var(--text-secondary)] mb-4\">\r\n SmartStack CLI et MCP sont <strong>requis</strong> pour utiliser les commandes Claude Code (/gitflow, /efcore, /apex, etc.).\r\n </p>\r\n\r\n <h4 className=\"font-medium mb-2\">{t('developer.installation.steps.step0.subtitle1')}</h4>\r\n <CodeBlock code={`# SmartStack CLI - Commandes et workflows Claude Code\r\nnpm install -g @atlashub/smartstack-cli\r\n\r\n# SmartStack MCP - Serveur MCP pour validation et scaffolding\r\nnpm install -g @atlashub/smartstack-mcp\r\n\r\n# Context7 MCP - Documentation technique en temps reel (optionnel mais recommande)\r\nnpm install -g @upstash/context7-mcp`} />\r\n\r\n <h4 className=\"font-medium mt-6 mb-2\">{t('developer.installation.steps.step0.subtitle2')}</h4>\r\n <CodeBlock code={`# Installer les commandes, agents et hooks\r\nsmartstack install\r\n\r\n# Verifier l'installation\r\nsmartstack status --verbose\r\n\r\n# Diagnostic complet\r\nsmartstack doctor`} />\r\n\r\n <h4 className=\"font-medium mt-6 mb-2\">{t('developer.installation.steps.step0.subtitle3')}</h4>\r\n <CodeBlock code={`# SmartStack MCP\r\nclaude mcp add smartstack -- npx @atlashub/smartstack-mcp\r\n\r\n# Context7 MCP (documentation)\r\nclaude mcp add context7 -- npx @upstash/context7-mcp\r\n\r\n# Verifier les MCP actifs\r\nclaude mcp list`} />\r\n\r\n <div className=\"mt-4 p-4 bg-[var(--info-bg)] text-[var(--info-text)] rounded-lg flex items-start gap-2\">\r\n <Check className=\"w-5 h-5 flex-shrink-0 mt-0.5\" />\r\n <div dangerouslySetInnerHTML={{ __html: t('developer.installation.steps.step0.verification') }} />\r\n </div>\r\n </section>\r\n\r\n {/* Step 1: Clone */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <span className=\"w-8 h-8 rounded-full bg-[var(--color-primary-600)] text-white flex items-center justify-center text-sm\">1</span>\r\n {t('developer.installation.steps.step1.title')}\r\n </h2>\r\n <CodeBlock code={`git clone https://github.com/votre-org/SmartStack.app.git\r\ncd SmartStack.app`} />\r\n </section>\r\n\r\n {/* Step 2: Database */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <span className=\"w-8 h-8 rounded-full bg-[var(--color-primary-600)] text-white flex items-center justify-center text-sm\">2</span>\r\n {t('developer.installation.steps.step2.title')}\r\n </h2>\r\n\r\n <p className=\"text-[var(--text-secondary)] mb-4\">\r\n {t('developer.installation.steps.step2.subtitle')}\r\n </p>\r\n\r\n <h4 className=\"font-medium mb-2\">{t('developer.installation.steps.step2.configFile')}</h4>\r\n <CodeBlock\r\n code={`{\r\n \"ConnectionStrings\": {\r\n \"DefaultConnection\": \"Server=localhost;Database=SmartStack;Trusted_Connection=True;TrustServerCertificate=True;\"\r\n }\r\n}`}\r\n />\r\n\r\n <div className=\"mt-4 p-4 bg-[var(--warning-bg)] text-[var(--warning-text)] rounded-lg flex items-start gap-2\">\r\n <AlertTriangle className=\"w-5 h-5 flex-shrink-0 mt-0.5\" />\r\n <div>\r\n <strong>Important:</strong> {t('developer.installation.steps.step2.warning')}\r\n </div>\r\n </div>\r\n </section>\r\n\r\n {/* Step 3: Migrations */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <span className=\"w-8 h-8 rounded-full bg-[var(--color-primary-600)] text-white flex items-center justify-center text-sm\">3</span>\r\n {t('developer.installation.steps.step3.title')}\r\n </h2>\r\n\r\n <p className=\"text-[var(--text-secondary)] mb-4\">\r\n {t('developer.installation.steps.step3.subtitle')}\r\n </p>\r\n\r\n <CodeBlock code=\"/efcore:db-deploy\" />\r\n\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-4\">\r\n {t('developer.installation.steps.step3.manual')}\r\n </p>\r\n\r\n <CodeBlock code=\"dotnet ef database update -p src/SmartStack.Infrastructure -s src/SmartStack.Api\" />\r\n </section>\r\n\r\n {/* Step 4: Backend */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <span className=\"w-8 h-8 rounded-full bg-[var(--color-primary-600)] text-white flex items-center justify-center text-sm\">4</span>\r\n {t('developer.installation.steps.step4.title')}\r\n </h2>\r\n\r\n <CodeBlock code={`cd src/SmartStack.Api\r\ndotnet run`} />\r\n\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-4\">\r\n {t('developer.installation.steps.step4.subtitle')}\r\n </p>\r\n <ul className=\"mt-2 text-sm space-y-1\">\r\n <li><code className=\"px-1 bg-[var(--bg-secondary)] rounded\">http://localhost:5142</code> ({t('developer.installation.steps.step4.http')})</li>\r\n <li><code className=\"px-1 bg-[var(--bg-secondary)] rounded\">https://localhost:7055</code> ({t('developer.installation.steps.step4.https')})</li>\r\n </ul>\r\n </section>\r\n\r\n {/* Step 5: Frontend */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <span className=\"w-8 h-8 rounded-full bg-[var(--color-primary-600)] text-white flex items-center justify-center text-sm\">5</span>\r\n {t('developer.installation.steps.step5.title')}\r\n </h2>\r\n\r\n <CodeBlock code={`cd web/smartstack-web\r\nnpm install\r\nnpm run dev`} />\r\n\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-4\">\r\n {t('developer.installation.steps.step5.subtitle')} <code className=\"px-1 bg-[var(--bg-secondary)] rounded\">http://localhost:5173</code>\r\n </p>\r\n </section>\r\n\r\n {/* Step 6: Verify */}\r\n <section className=\"card p-6 bg-gradient-to-r from-[var(--success-bg)] to-transparent border-[var(--success-border)]\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <span className=\"w-8 h-8 rounded-full bg-green-600 text-white flex items-center justify-center text-sm\">6</span>\r\n {t('developer.installation.steps.step6.title')}\r\n </h2>\r\n\r\n <ul className=\"space-y-2\">\r\n {(t('developer.installation.steps.step6.checks', { returnObjects: true }) as string[]).map((check: string) => (\r\n <li key={check} className=\"flex items-center gap-2\">\r\n <Check className=\"w-4 h-4 text-green-500\" />\r\n <span dangerouslySetInnerHTML={{ __html: check }} />\r\n </li>\r\n ))}\r\n </ul>\r\n </section>\r\n\r\n {/* Troubleshooting */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4\">{t('developer.installation.troubleshooting.title')}</h2>\r\n\r\n <div className=\"space-y-4\">\r\n <div className=\"p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <h4 className=\"font-medium\">{t('developer.installation.troubleshooting.issues.sqlServerError.title')}</h4>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.installation.troubleshooting.issues.sqlServerError.description')}\r\n </p>\r\n </div>\r\n\r\n <div className=\"p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <h4 className=\"font-medium\">{t('developer.installation.troubleshooting.issues.portInUse.title')}</h4>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.installation.troubleshooting.issues.portInUse.description')}\r\n </p>\r\n </div>\r\n\r\n <div className=\"p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <h4 className=\"font-medium\">{t('developer.installation.troubleshooting.issues.corsError.title')}</h4>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.installation.troubleshooting.issues.corsError.description')}\r\n </p>\r\n </div>\r\n\r\n <div className=\"p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <h4 className=\"font-medium\">{t('developer.installation.troubleshooting.issues.npmError.title')}</h4>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.installation.troubleshooting.issues.npmError.description')}\r\n </p>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n )}\r\n\r\n {/* Navigation */}\r\n <div className=\"flex justify-between pt-6 border-t border-[var(--border-color)]\">\r\n <Link\r\n to=\"/system/docs/developer/infrastructure\"\r\n className=\"flex items-center gap-2 text-[var(--text-secondary)] hover:text-[var(--color-primary-600)]\"\r\n >\r\n <ArrowRight className=\"w-4 h-4 rotate-180\" />\r\n {t('developer.installation.navigation.previous')}\r\n </Link>\r\n <Link\r\n to=\"/system/docs/developer/commands\"\r\n className=\"flex items-center gap-2 text-[var(--color-primary-600)] hover:underline\"\r\n >\r\n {t('developer.installation.navigation.next')}\r\n <ArrowRight className=\"w-4 h-4\" />\r\n </Link>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["CodeBlock","code","copied","setCopied","useState","jsxs","jsx","CheckCircle","Copy","ToolCard","name","version","description","url","required","note","t","useTranslation","ExternalLink","InstallationPage","activeSection","setActiveSection","toolCategories","Package","Database","Code","Terminal","Wrench","Server","Settings","Globe","Link","Download","Monitor","category","tool","Check","AlertTriangle","check","ArrowRight"],"mappings":";;;;;AAMA,SAASA,EAAU,EAAE,MAAAC,KAA0B;AAC7C,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK;AAQ1C,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAU,kBACb,UAAA;AAAA,IAAA,gBAAAC,EAAC,SAAI,WAAU,kEACb,UAAA,gBAAAA,EAAC,QAAA,EAAM,aAAK,EAAA,CACd;AAAA,IACA,gBAAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAZa,YAAY;AAC7B,gBAAM,UAAU,UAAU,UAAUL,CAAI,GACxCE,EAAU,EAAI,GACd,WAAW,MAAMA,EAAU,EAAK,GAAG,GAAI;AAAA,QACzC;AAAA,QASM,WAAU;AAAA,QACV,OAAM;AAAA,QAEL,UAAAD,sBACEK,GAAA,EAAY,WAAU,0BAAyB,IAEhD,gBAAAD,EAACE,GAAA,EAAK,WAAU,UAAA,CAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EAE9B,GACF;AAEJ;AAWA,SAASC,EAAS,EAAE,MAAAC,GAAM,SAAAC,GAAS,aAAAC,GAAa,KAAAC,GAAK,UAAAC,GAAU,MAAAC,KAAuB;AACpF,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,MAAM;AACnC,SACE,gBAAAZ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAMQ;AAAA,MACN,QAAO;AAAA,MACP,KAAI;AAAA,MACJ,WAAU;AAAA,MAEV,UAAA;AAAA,QAAA,gBAAAP,EAAC,SAAI,WAAW,2CAA2CQ,IAAW,eAAe,aAAa,IAAI;AAAA,QACtG,gBAAAT,EAAC,OAAA,EAAI,WAAU,kBACb,UAAA;AAAA,UAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,YAAA,gBAAAC,EAAC,QAAA,EAAK,WAAU,wFACb,UAAAI,GACH;AAAA,YACCC,KACC,gBAAAL,EAAC,QAAA,EAAK,WAAU,qFACb,UAAAK,GACH;AAAA,YAEF,gBAAAL,EAACY,GAAA,EAAa,WAAU,2FAAA,CAA2F;AAAA,UAAA,GACrH;AAAA,UACA,gBAAAZ,EAAC,KAAA,EAAE,WAAU,+CAA+C,UAAAM,GAAY;AAAA,UACvEG,KACC,gBAAAT,EAAC,KAAA,EAAE,WAAU,mDAAmD,UAAAS,EAAA,CAAK;AAAA,QAAA,GAEzE;AAAA,QACCD,KACC,gBAAAR,EAAC,QAAA,EAAK,WAAU,0GACb,UAAAU,EAAE,4CAA4C,EAAA,CACjD;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;AAEO,SAASG,IAAiC;AAC/C,QAAM,EAAE,EAAA,IAAMF,EAAe,MAAM,GAC7B,CAACG,GAAeC,CAAgB,IAAIjB,EAA4B,OAAO,GAEvEkB,IAAiB;AAAA,IACrB;AAAA,MACE,OAAO,EAAE,wDAAwD;AAAA,MACjE,MAAMC;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,QACL;AAAA,UACE,MAAM;AAAA,UACN,SAAS;AAAA,UACT,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,QAAA;AAAA,QAEZ;AAAA,UACE,MAAM;AAAA,UACN,SAAS;AAAA,UACT,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,UACV,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,IAEF;AAAA,MACE,OAAO,EAAE,sDAAsD;AAAA,MAC/D,MAAMC;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,QACL;AAAA,UACE,MAAM;AAAA,UACN,SAAS;AAAA,UACT,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,UACV,MAAM;AAAA,QAAA;AAAA,QAER;AAAA,UACE,MAAM;AAAA,UACN,SAAS;AAAA,UACT,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,UACV,MAAM;AAAA,QAAA;AAAA,QAER;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,QAAA;AAAA,MACZ;AAAA,IACF;AAAA,IAEF;AAAA,MACE,OAAO,EAAE,iDAAiD;AAAA,MAC1D,MAAMC;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,QACL;AAAA,UACE,MAAM;AAAA,UACN,SAAS;AAAA,UACT,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,UACV,MAAM;AAAA,QAAA;AAAA,QAER;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,QAAA;AAAA,QAEZ;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,QAAA;AAAA,MACZ;AAAA,IACF;AAAA,IAEF;AAAA,MACE,OAAO,EAAE,4DAA4D;AAAA,MACrE,MAAMC;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,QACL;AAAA,UACE,MAAM;AAAA,UACN,SAAS;AAAA,UACT,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,QAAA;AAAA,QAEZ;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,QAAA;AAAA,QAEZ;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,QAAA;AAAA,MACZ;AAAA,IACF;AAAA,IAEF;AAAA,MACE,OAAO,EAAE,6DAA6D;AAAA,MACtE,MAAMH;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,QACL;AAAA,UACE,MAAM;AAAA,UACN,SAAS;AAAA,UACT,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,UACV,MAAM;AAAA,QAAA;AAAA,QAER;AAAA,UACE,MAAM;AAAA,UACN,SAAS;AAAA,UACT,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,UACV,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,IAEF;AAAA,MACE,OAAO,EAAE,8DAA8D;AAAA,MACvE,MAAMI;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,QACL;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,UACV,MAAM;AAAA,QAAA;AAAA,QAER;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,QAAA;AAAA,QAEZ;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,UACV,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,IAEF;AAAA,MACE,OAAO,EAAE,oEAAoE;AAAA,MAC7E,MAAMD;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,QACL;AAAA,UACE,MAAM;AAAA,UACN,SAAS;AAAA,UACT,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,UACV,MAAM;AAAA,QAAA;AAAA,QAER;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,UACV,MAAM;AAAA,QAAA;AAAA,QAER;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,UACV,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,IAEF;AAAA,MACE,OAAO,EAAE,wDAAwD;AAAA,MACjE,MAAME;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,QACL;AAAA,UACE,MAAM;AAAA,UACN,SAAS;AAAA,UACT,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,UACV,MAAM;AAAA,QAAA;AAAA,QAER;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,UACV,MAAM;AAAA,QAAA;AAAA,QAER;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,UACV,MAAM;AAAA,QAAA;AAAA,QAER;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,UACV,MAAM;AAAA,QAAA;AAAA,QAER;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,QAAA;AAAA,QAEZ;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,UACV,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,IAEF;AAAA,MACE,OAAO,EAAE,8DAA8D;AAAA,MACvE,MAAMC;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,QACL;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,QAAA;AAAA,QAEZ;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,QAAA;AAAA,QAEZ;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,QAAA;AAAA,QAEZ;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,QAAA;AAAA,QAEZ;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,QAAA;AAAA,QAEZ;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,QAAA;AAAA,MACZ;AAAA,IACF;AAAA,IAEF;AAAA,MACE,OAAO,EAAE,sDAAsD;AAAA,MAC/D,MAAMC;AAAA,MACN,OAAO;AAAA,MACP,OAAO;AAAA,QACL;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,QAAA;AAAA,QAEZ;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,QAAA;AAAA,QAEZ;AAAA,UACE,MAAM;AAAA,UACN,aAAa;AAAA,UACb,KAAK;AAAA,UACL,UAAU;AAAA,QAAA;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAGF,SACE,gBAAAzB,EAAC,OAAA,EAAI,WAAU,aAEb,UAAA;AAAA,IAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,gEACb,UAAA;AAAA,MAAA,gBAAAC,EAACyB,KAAK,IAAG,gBAAe,WAAU,yCAAyC,UAAA,EAAE,iDAAiD,GAAE;AAAA,MAChI,gBAAAzB,EAAC,UAAK,UAAA,IAAA,CAAC;AAAA,MACP,gBAAAA,EAACyB,KAAK,IAAG,0BAAyB,WAAU,yCAAyC,UAAA,EAAE,6CAA6C,GAAE;AAAA,MACtI,gBAAAzB,EAAC,UAAK,UAAA,IAAA,CAAC;AAAA,MACP,gBAAAA,EAAC,QAAA,EAAM,UAAA,EAAE,gDAAgD,EAAA,CAAE;AAAA,IAAA,GAC7D;AAAA,sBAGC,OAAA,EACC,UAAA;AAAA,MAAA,gBAAAD,EAAC,MAAA,EAAG,WAAU,mDACZ,UAAA;AAAA,QAAA,gBAAAC,EAAC0B,GAAA,EAAS,WAAU,0CAAA,CAA0C;AAAA,QAC7D,EAAE,qCAAqC;AAAA,MAAA,GAC1C;AAAA,wBACC,KAAA,EAAE,WAAU,wCACV,UAAA,EAAE,2CAA2C,EAAA,CAChD;AAAA,IAAA,GACF;AAAA,IAGA,gBAAA3B,EAAC,OAAA,EAAI,WAAU,4DACb,UAAA;AAAA,MAAA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,SAAS,MAAMgB,EAAiB,OAAO;AAAA,UACvC,WAAW,sDACTD,MAAkB,UACd,6CACA,yDACN;AAAA,UAEA,UAAA;AAAA,YAAA,gBAAAd,EAAC2B,GAAA,EAAQ,WAAU,4BAAA,CAA4B;AAAA,YAC9C,EAAE,mCAAmC;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,MAExC,gBAAA5B;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,SAAS,MAAMgB,EAAiB,OAAO;AAAA,UACvC,WAAW,sDACTD,MAAkB,UACd,6CACA,yDACN;AAAA,UAEA,UAAA;AAAA,YAAA,gBAAAd,EAACuB,GAAA,EAAS,WAAU,4BAAA,CAA4B;AAAA,YAC/C,EAAE,mCAAmC;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACxC,GACF;AAAA,IAGCT,MAAkB,WACjB,gBAAAf,EAAC,OAAA,EAAI,WAAU,aAEb,UAAA;AAAA,MAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,mCACb,UAAA;AAAA,QAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,kCAAA,CAAkC;AAAA,4BAChD,QAAA,EAAK,WAAU,gCAAgC,UAAA,EAAE,wCAAwC,EAAA,CAAE;AAAA,QAAA,GAC9F;AAAA,QACA,gBAAAD,EAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,mCAAA,CAAmC;AAAA,4BACjD,QAAA,EAAK,WAAU,gCAAgC,UAAA,EAAE,wCAAwC,EAAA,CAAE;AAAA,QAAA,EAAA,CAC9F;AAAA,MAAA,GACF;AAAA,MAGCgB,EAAe,IAAI,CAACY,MACnB,gBAAA7B,EAAC,WAAA,EAA6B,WAAU,YACtC,UAAA;AAAA,QAAA,gBAAAA,EAAC,MAAA,EAAG,WAAU,sDACZ,UAAA;AAAA,UAAA,gBAAAC,EAAC4B,EAAS,MAAT,EAAc,WAAW,WAAWA,EAAS,KAAK,IAAI;AAAA,UACtDA,EAAS;AAAA,QAAA,GACZ;AAAA,0BACC,OAAA,EAAI,WAAU,yCACZ,UAAAA,EAAS,MAAM,IAAI,CAACC,MACnB,gBAAA7B,EAACG,KAA0B,GAAG0B,EAAA,GAAfA,EAAK,IAAgB,CACrC,EAAA,CACH;AAAA,MAAA,KATYD,EAAS,KAUvB,CACD;AAAA,MAGD,gBAAA7B,EAAC,WAAA,EAAQ,WAAU,8FACjB,UAAA;AAAA,QAAA,gBAAAC,EAAC,MAAA,EAAG,WAAU,8BAA8B,UAAA,EAAE,2CAA2C,GAAE;AAAA,0BAC1F,KAAA,EAAE,WAAU,6CACV,UAAA,EAAE,iDAAiD,GACtD;AAAA,QACA,gBAAAA,EAACN,KAAU,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oDAAA,CAMwB;AAAA,MAAA,EAAA,CAC3C;AAAA,IAAA,GACF;AAAA,IAIDoB,MAAkB,WACjB,gBAAAf,EAAC,OAAA,EAAI,WAAU,aAEb,UAAA;AAAA,MAAA,gBAAAA,EAAC,WAAA,EAAQ,WAAU,uDACjB,UAAA;AAAA,QAAA,gBAAAA,EAAC,MAAA,EAAG,WAAU,sDACZ,UAAA;AAAA,UAAA,gBAAAC,EAAC,QAAA,EAAK,WAAU,0GAAyG,UAAA,KAAC;AAAA,UACzH,EAAE,0CAA0C;AAAA,QAAA,GAC/C;AAAA,QAEA,gBAAAD,EAAC,KAAA,EAAE,WAAU,qCAAoC,UAAA;AAAA,UAAA;AAAA,UACpB,gBAAAC,EAAC,YAAO,UAAA,SAAA,CAAM;AAAA,UAAS;AAAA,QAAA,GACpD;AAAA,0BAEC,MAAA,EAAG,WAAU,oBAAoB,UAAA,EAAE,8CAA8C,GAAE;AAAA,QACpF,gBAAAA,EAACN,KAAU,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uCAOU;AAAA,0BAE1B,MAAA,EAAG,WAAU,yBAAyB,UAAA,EAAE,8CAA8C,GAAE;AAAA,QACzF,gBAAAM,EAACN,KAAU,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAOT;AAAA,0BAEP,MAAA,EAAG,WAAU,yBAAyB,UAAA,EAAE,8CAA8C,GAAE;AAAA,QACzF,gBAAAM,EAACN,KAAU,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAOX;AAAA,QAEN,gBAAAK,EAAC,OAAA,EAAI,WAAU,0FACb,UAAA;AAAA,UAAA,gBAAAC,EAAC8B,GAAA,EAAM,WAAU,+BAAA,CAA+B;AAAA,UAChD,gBAAA9B,EAAC,SAAI,yBAAyB,EAAE,QAAQ,EAAE,iDAAiD,IAAE,CAAG;AAAA,QAAA,EAAA,CAClG;AAAA,MAAA,GACF;AAAA,MAGA,gBAAAD,EAAC,WAAA,EAAQ,WAAU,YACjB,UAAA;AAAA,QAAA,gBAAAA,EAAC,MAAA,EAAG,WAAU,sDACZ,UAAA;AAAA,UAAA,gBAAAC,EAAC,QAAA,EAAK,WAAU,0GAAyG,UAAA,KAAC;AAAA,UACzH,EAAE,0CAA0C;AAAA,QAAA,GAC/C;AAAA,QACA,gBAAAA,EAACN,KAAU,MAAM;AAAA,mBAAA,CACT;AAAA,MAAA,GACV;AAAA,MAGA,gBAAAK,EAAC,WAAA,EAAQ,WAAU,YACjB,UAAA;AAAA,QAAA,gBAAAA,EAAC,MAAA,EAAG,WAAU,sDACZ,UAAA;AAAA,UAAA,gBAAAC,EAAC,QAAA,EAAK,WAAU,0GAAyG,UAAA,KAAC;AAAA,UACzH,EAAE,0CAA0C;AAAA,QAAA,GAC/C;AAAA,0BAEC,KAAA,EAAE,WAAU,qCACV,UAAA,EAAE,6CAA6C,GAClD;AAAA,0BAEC,MAAA,EAAG,WAAU,oBAAoB,UAAA,EAAE,+CAA+C,GAAE;AAAA,QACrF,gBAAAA;AAAA,UAACN;AAAA,UAAA;AAAA,YACC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAOR,gBAAAK,EAAC,OAAA,EAAI,WAAU,gGACb,UAAA;AAAA,UAAA,gBAAAC,EAAC+B,GAAA,EAAc,WAAU,+BAAA,CAA+B;AAAA,4BACvD,OAAA,EACC,UAAA;AAAA,YAAA,gBAAA/B,EAAC,YAAO,UAAA,aAAA,CAAU;AAAA,YAAS;AAAA,YAAE,EAAE,4CAA4C;AAAA,UAAA,EAAA,CAC7E;AAAA,QAAA,EAAA,CACF;AAAA,MAAA,GACF;AAAA,MAGA,gBAAAD,EAAC,WAAA,EAAQ,WAAU,YACjB,UAAA;AAAA,QAAA,gBAAAA,EAAC,MAAA,EAAG,WAAU,sDACZ,UAAA;AAAA,UAAA,gBAAAC,EAAC,QAAA,EAAK,WAAU,0GAAyG,UAAA,KAAC;AAAA,UACzH,EAAE,0CAA0C;AAAA,QAAA,GAC/C;AAAA,0BAEC,KAAA,EAAE,WAAU,qCACV,UAAA,EAAE,6CAA6C,GAClD;AAAA,QAEA,gBAAAA,EAACN,GAAA,EAAU,MAAK,oBAAA,CAAoB;AAAA,0BAEnC,KAAA,EAAE,WAAU,6CACV,UAAA,EAAE,2CAA2C,GAChD;AAAA,QAEA,gBAAAM,EAACN,GAAA,EAAU,MAAK,mFAAA,CAAmF;AAAA,MAAA,GACrG;AAAA,MAGA,gBAAAK,EAAC,WAAA,EAAQ,WAAU,YACjB,UAAA;AAAA,QAAA,gBAAAA,EAAC,MAAA,EAAG,WAAU,sDACZ,UAAA;AAAA,UAAA,gBAAAC,EAAC,QAAA,EAAK,WAAU,0GAAyG,UAAA,KAAC;AAAA,UACzH,EAAE,0CAA0C;AAAA,QAAA,GAC/C;AAAA,QAEA,gBAAAA,EAACN,KAAU,MAAM;AAAA,aAChB;AAAA,0BAEA,KAAA,EAAE,WAAU,6CACV,UAAA,EAAE,6CAA6C,GAClD;AAAA,QACA,gBAAAK,EAAC,MAAA,EAAG,WAAU,0BACZ,UAAA;AAAA,UAAA,gBAAAA,EAAC,MAAA,EAAG,UAAA;AAAA,YAAA,gBAAAC,EAAC,QAAA,EAAK,WAAU,yCAAwC,UAAA,yBAAqB;AAAA,YAAO;AAAA,YAAG,EAAE,yCAAyC;AAAA,YAAE;AAAA,UAAA,GAAC;AAAA,4BACxI,MAAA,EAAG,UAAA;AAAA,YAAA,gBAAAA,EAAC,QAAA,EAAK,WAAU,yCAAwC,UAAA,0BAAsB;AAAA,YAAO;AAAA,YAAG,EAAE,0CAA0C;AAAA,YAAE;AAAA,UAAA,EAAA,CAAC;AAAA,QAAA,EAAA,CAC7I;AAAA,MAAA,GACF;AAAA,MAGA,gBAAAD,EAAC,WAAA,EAAQ,WAAU,YACjB,UAAA;AAAA,QAAA,gBAAAA,EAAC,MAAA,EAAG,WAAU,sDACZ,UAAA;AAAA,UAAA,gBAAAC,EAAC,QAAA,EAAK,WAAU,0GAAyG,UAAA,KAAC;AAAA,UACzH,EAAE,0CAA0C;AAAA,QAAA,GAC/C;AAAA,QAEA,gBAAAA,EAACN,KAAU,MAAM;AAAA;AAAA,cAEf;AAAA,QAEF,gBAAAK,EAAC,KAAA,EAAE,WAAU,6CACV,UAAA;AAAA,UAAA,EAAE,6CAA6C;AAAA,UAAE;AAAA,UAAC,gBAAAC,EAAC,QAAA,EAAK,WAAU,yCAAwC,UAAA,wBAAA,CAAqB;AAAA,QAAA,EAAA,CAClI;AAAA,MAAA,GACF;AAAA,MAGA,gBAAAD,EAAC,WAAA,EAAQ,WAAU,oGACjB,UAAA;AAAA,QAAA,gBAAAA,EAAC,MAAA,EAAG,WAAU,sDACZ,UAAA;AAAA,UAAA,gBAAAC,EAAC,QAAA,EAAK,WAAU,yFAAwF,UAAA,KAAC;AAAA,UACxG,EAAE,0CAA0C;AAAA,QAAA,GAC/C;AAAA,0BAEC,MAAA,EAAG,WAAU,aACV,UAAA,EAAE,6CAA6C,EAAE,eAAe,GAAA,CAAM,EAAe,IAAI,CAACgC,MAC1F,gBAAAjC,EAAC,MAAA,EAAe,WAAU,2BACxB,UAAA;AAAA,UAAA,gBAAAC,EAAC8B,GAAA,EAAM,WAAU,yBAAA,CAAyB;AAAA,4BACzC,QAAA,EAAK,yBAAyB,EAAE,QAAQE,IAAM,CAAG;AAAA,QAAA,EAAA,GAF3CA,CAGT,CACD,EAAA,CACH;AAAA,MAAA,GACF;AAAA,MAGA,gBAAAjC,EAAC,WAAA,EAAQ,WAAU,YACjB,UAAA;AAAA,QAAA,gBAAAC,EAAC,MAAA,EAAG,WAAU,8BAA8B,UAAA,EAAE,8CAA8C,GAAE;AAAA,QAE9F,gBAAAD,EAAC,OAAA,EAAI,WAAU,aACb,UAAA;AAAA,UAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,2CACb,UAAA;AAAA,YAAA,gBAAAC,EAAC,MAAA,EAAG,WAAU,eAAe,UAAA,EAAE,oEAAoE,GAAE;AAAA,8BACpG,KAAA,EAAE,WAAU,6CACV,UAAA,EAAE,0EAA0E,EAAA,CAC/E;AAAA,UAAA,GACF;AAAA,UAEA,gBAAAD,EAAC,OAAA,EAAI,WAAU,2CACb,UAAA;AAAA,YAAA,gBAAAC,EAAC,MAAA,EAAG,WAAU,eAAe,UAAA,EAAE,+DAA+D,GAAE;AAAA,8BAC/F,KAAA,EAAE,WAAU,6CACV,UAAA,EAAE,qEAAqE,EAAA,CAC1E;AAAA,UAAA,GACF;AAAA,UAEA,gBAAAD,EAAC,OAAA,EAAI,WAAU,2CACb,UAAA;AAAA,YAAA,gBAAAC,EAAC,MAAA,EAAG,WAAU,eAAe,UAAA,EAAE,+DAA+D,GAAE;AAAA,8BAC/F,KAAA,EAAE,WAAU,6CACV,UAAA,EAAE,qEAAqE,EAAA,CAC1E;AAAA,UAAA,GACF;AAAA,UAEA,gBAAAD,EAAC,OAAA,EAAI,WAAU,2CACb,UAAA;AAAA,YAAA,gBAAAC,EAAC,MAAA,EAAG,WAAU,eAAe,UAAA,EAAE,8DAA8D,GAAE;AAAA,8BAC9F,KAAA,EAAE,WAAU,6CACV,UAAA,EAAE,oEAAoE,EAAA,CACzE;AAAA,UAAA,EAAA,CACF;AAAA,QAAA,EAAA,CACF;AAAA,MAAA,EAAA,CACF;AAAA,IAAA,GACF;AAAA,IAIF,gBAAAD,EAAC,OAAA,EAAI,WAAU,mEACb,UAAA;AAAA,MAAA,gBAAAA;AAAA,QAAC0B;AAAA,QAAA;AAAA,UACC,IAAG;AAAA,UACH,WAAU;AAAA,UAEV,UAAA;AAAA,YAAA,gBAAAzB,EAACiC,GAAA,EAAW,WAAU,qBAAA,CAAqB;AAAA,YAC1C,EAAE,4CAA4C;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,MAEjD,gBAAAlC;AAAA,QAAC0B;AAAA,QAAA;AAAA,UACC,IAAG;AAAA,UACH,WAAU;AAAA,UAET,UAAA;AAAA,YAAA,EAAE,wCAAwC;AAAA,YAC3C,gBAAAzB,EAACiC,GAAA,EAAW,WAAU,UAAA,CAAU;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAClC,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModulesPage-B3p8e07v.js","sources":["../src/pages/system/docs/user/ModulesPage.tsx"],"sourcesContent":["import { Link } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport {\r\n Blocks, ArrowRight, Users, Key, AppWindow, LayoutDashboard,\r\n User, Settings, HeadphonesIcon, Clock, FileText, Check, Plus\r\n} from 'lucide-react';\r\n\r\ninterface ModuleInfo {\r\n name: string;\r\n code: string;\r\n icon: React.ElementType;\r\n description: string;\r\n features: string[];\r\n route: string;\r\n application: string;\r\n}\r\n\r\nconst modules: ModuleInfo[] = [\r\n // Platform - Administration\r\n {\r\n name: 'Utilisateurs',\r\n code: 'users',\r\n icon: Users,\r\n description: 'Gestion complete des comptes utilisateurs de la plateforme.',\r\n features: [\r\n 'Liste et recherche des utilisateurs',\r\n 'Creation et modification de profils',\r\n 'Gestion des verrouillages de compte',\r\n 'Assignation des roles',\r\n 'Historique des connexions',\r\n ],\r\n route: '/administration/users',\r\n application: 'administration',\r\n },\r\n {\r\n name: 'Permissions',\r\n code: 'permissions',\r\n icon: Key,\r\n description: 'Configuration des roles et permissions de la plateforme.',\r\n features: [\r\n 'Gestion des roles (globaux et par application)',\r\n 'Assignation des permissions aux roles',\r\n 'Heritage de roles (role parent)',\r\n 'Permissions wildcards',\r\n 'Audit des assignations',\r\n ],\r\n route: '/administration/permissions',\r\n application: 'administration',\r\n },\r\n {\r\n name: 'Applications',\r\n code: 'applications',\r\n icon: AppWindow,\r\n description: 'Administration de la structure de navigation.',\r\n features: [\r\n 'Configuration des applications',\r\n 'Modules et sections',\r\n 'Zones d\\'affichage (Platform, Personal, Business)',\r\n 'Ordre d\\'affichage',\r\n 'Activation/desactivation',\r\n ],\r\n route: '/administration/applications',\r\n application: 'administration',\r\n },\r\n // Platform - Support\r\n {\r\n name: 'Dashboard Support',\r\n code: 'dashboard',\r\n icon: LayoutDashboard,\r\n description: 'Vue d\\'ensemble des metriques et KPIs du support.',\r\n features: [\r\n 'Statistiques en temps reel',\r\n 'Tickets par statut et priorite',\r\n 'Performance SLA',\r\n 'Temps de resolution moyen',\r\n 'Satisfaction client',\r\n ],\r\n route: '/support/dashboard',\r\n application: 'support',\r\n },\r\n {\r\n name: 'Tous les Tickets',\r\n code: 'tickets',\r\n icon: HeadphonesIcon,\r\n description: 'Gestion de tous les tickets de support.',\r\n features: [\r\n 'Liste complete des tickets',\r\n 'Filtres avances (statut, priorite, type)',\r\n 'Recherche full-text',\r\n 'Vue detaillee avec timeline',\r\n 'Actions rapides',\r\n ],\r\n route: '/support/tickets',\r\n application: 'support',\r\n },\r\n {\r\n name: 'Mes Tickets',\r\n code: 'my-tickets',\r\n icon: HeadphonesIcon,\r\n description: 'Tickets assignes a l\\'agent connecte.',\r\n features: [\r\n 'File d\\'attente personnelle',\r\n 'Prioritisation automatique',\r\n 'Indicateurs SLA en temps reel',\r\n 'Actions de traitement',\r\n ],\r\n route: '/support/my-tickets',\r\n application: 'support',\r\n },\r\n {\r\n name: 'Configuration SLA',\r\n code: 'sla',\r\n icon: Clock,\r\n description: 'Configuration des niveaux de service.',\r\n features: [\r\n 'Delais par priorite',\r\n 'Heures ouvrables',\r\n 'Alertes et notifications',\r\n 'Rapports de conformite',\r\n ],\r\n route: '/support/admin/sla',\r\n application: 'support',\r\n },\r\n {\r\n name: 'Templates',\r\n code: 'templates',\r\n icon: FileText,\r\n description: 'Gestion des reponses pre-definies.',\r\n features: [\r\n 'Categories de templates',\r\n 'Variables dynamiques',\r\n 'Insertion rapide',\r\n 'Partage entre agents',\r\n ],\r\n route: '/support/admin/templates',\r\n application: 'support',\r\n },\r\n // Personal - MySpace\r\n {\r\n name: 'Profil',\r\n code: 'profile',\r\n icon: User,\r\n description: 'Gestion du profil utilisateur.',\r\n features: [\r\n 'Informations personnelles',\r\n 'Photo de profil',\r\n 'Biographie',\r\n 'Coordonnees',\r\n ],\r\n route: '/myspace/profile',\r\n application: 'myspace',\r\n },\r\n {\r\n name: 'Preferences',\r\n code: 'preferences',\r\n icon: Settings,\r\n description: 'Personnalisation de l\\'interface.',\r\n features: [\r\n 'Theme (clair/sombre/systeme)',\r\n 'Couleurs personnalisees',\r\n 'Langue',\r\n 'Notifications',\r\n ],\r\n route: '/myspace/preferences',\r\n application: 'myspace',\r\n },\r\n];\r\n\r\nconst groupedModules = modules.reduce((acc, mod) => {\r\n const key = mod.application;\r\n if (!acc[key]) {\r\n acc[key] = [];\r\n }\r\n acc[key].push(mod);\r\n return acc;\r\n}, {} as Record<string, ModuleInfo[]>);\r\n\r\nconst applicationLabels: Record<string, { name: string; color: string }> = {\r\n 'administration': { name: 'Administration', color: 'from-purple-500 to-pink-500' },\r\n 'support': { name: 'Support', color: 'from-blue-500 to-cyan-500' },\r\n 'myspace': { name: 'MySpace', color: 'from-green-500 to-emerald-500' },\r\n};\r\n\r\nexport function ModulesPage() {\r\n const { t } = useTranslation('docs');\r\n\r\n return (\r\n <div className=\"space-y-8\">\r\n {/* Breadcrumb */}\r\n <div className=\"flex items-center gap-2 text-sm text-[var(--text-secondary)]\">\r\n <Link to=\"/system/docs\" className=\"hover:text-[var(--color-primary-600)]\">{t('breadcrumb.documentation')}</Link>\r\n <span>/</span>\r\n <Link to=\"/system/docs/user\" className=\"hover:text-[var(--color-primary-600)]\">{t('breadcrumb.user')}</Link>\r\n <span>/</span>\r\n <span>{t('breadcrumb.modules')}</span>\r\n </div>\r\n\r\n {/* Header */}\r\n <div>\r\n <h1 className=\"text-3xl font-bold mb-4 flex items-center gap-3\">\r\n <Blocks className=\"w-8 h-8 text-[var(--color-primary-600)]\" />\r\n {t('modules.title')}\r\n </h1>\r\n <p className=\"text-lg text-[var(--text-secondary)]\">\r\n {t('modules.subtitle')}\r\n </p>\r\n </div>\r\n\r\n {/* Quick Stats */}\r\n <div className=\"grid grid-cols-3 gap-4\">\r\n <div className=\"card p-4 text-center\">\r\n <div className=\"text-3xl font-bold text-[var(--color-primary-600)]\">{modules.length}</div>\r\n <div className=\"text-sm text-[var(--text-secondary)]\">Modules</div>\r\n </div>\r\n <div className=\"card p-4 text-center\">\r\n <div className=\"text-3xl font-bold text-[var(--color-primary-600)]\">{Object.keys(groupedModules).length}</div>\r\n <div className=\"text-sm text-[var(--text-secondary)]\">Applications</div>\r\n </div>\r\n <div className=\"card p-4 text-center\">\r\n <div className=\"text-3xl font-bold text-[var(--color-primary-600)]\">\r\n {modules.reduce((acc, m) => acc + m.features.length, 0)}\r\n </div>\r\n <div className=\"text-sm text-[var(--text-secondary)]\">Fonctionnalites</div>\r\n </div>\r\n </div>\r\n\r\n {/* Modules by Application */}\r\n {Object.entries(groupedModules).map(([key, mods]) => {\r\n const appInfo = applicationLabels[key];\r\n return (\r\n <section key={key} className=\"space-y-4\">\r\n <div className={`p-4 rounded-lg bg-gradient-to-r ${appInfo?.color || 'from-gray-500 to-gray-600'}`}>\r\n <h2 className=\"text-xl font-semibold text-white\">\r\n {appInfo?.name}\r\n </h2>\r\n <p className=\"text-white/80 text-sm\">{mods.length} modules</p>\r\n </div>\r\n\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n {mods.map((mod) => (\r\n <div key={mod.code} className=\"card p-5\">\r\n <div className=\"flex items-start gap-4\">\r\n <div className=\"p-3 rounded-xl bg-[var(--color-primary-600)]/10 flex-shrink-0\">\r\n <mod.icon className=\"w-6 h-6 text-[var(--color-primary-600)]\" />\r\n </div>\r\n <div className=\"flex-1 min-w-0\">\r\n <h3 className=\"font-semibold mb-1\">{mod.name}</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mb-3\">{mod.description}</p>\r\n\r\n <div className=\"text-xs font-mono bg-[var(--bg-secondary)] px-2 py-1 rounded inline-block mb-3\">\r\n {mod.route}\r\n </div>\r\n\r\n <div className=\"space-y-1\">\r\n {mod.features.slice(0, 3).map((feature) => (\r\n <div key={feature} className=\"flex items-center gap-2 text-sm text-[var(--text-secondary)]\">\r\n <Check className=\"w-3 h-3 text-green-500 flex-shrink-0\" />\r\n <span>{feature}</span>\r\n </div>\r\n ))}\r\n {mod.features.length > 3 && (\r\n <div className=\"text-xs text-[var(--text-tertiary)] pl-5\">\r\n +{mod.features.length - 3} autres fonctionnalites\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </section>\r\n );\r\n })}\r\n\r\n {/* Claude Code Command Info */}\r\n <section className=\"card p-6 bg-gradient-to-r from-[var(--info-bg)] to-transparent border-[var(--info-border)]\">\r\n <div className=\"flex items-start gap-4\">\r\n <Plus className=\"w-6 h-6 text-[var(--info-text)]\" />\r\n <div>\r\n <h3 className=\"font-semibold text-[var(--info-text)]\">Ajouter un Module</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n Pour documenter un nouveau module, utilisez la commande Claude Code:\r\n </p>\r\n <code className=\"mt-2 block bg-[var(--bg-primary)] px-3 py-2 rounded font-mono text-sm\">\r\n /documentation:module [nom-du-module]\r\n </code>\r\n <p className=\"text-xs text-[var(--text-tertiary)] mt-2\">\r\n Cette commande generera automatiquement la documentation selon l'architecture etablie.\r\n </p>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n {/* Navigation */}\r\n <div className=\"flex justify-between pt-6 border-t border-[var(--border-color)]\">\r\n <Link\r\n to=\"/system/docs/user/architecture\"\r\n className=\"flex items-center gap-2 text-[var(--text-secondary)] hover:text-[var(--color-primary-600)]\"\r\n >\r\n <ArrowRight className=\"w-4 h-4 rotate-180\" />\r\n Architecture\r\n </Link>\r\n <Link\r\n to=\"/system/docs\"\r\n className=\"flex items-center gap-2 text-[var(--color-primary-600)] hover:underline\"\r\n >\r\n Retour a la documentation\r\n <ArrowRight className=\"w-4 h-4\" />\r\n </Link>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["modules","Users","Key","AppWindow","LayoutDashboard","HeadphonesIcon","Clock","FileText","User","Settings","groupedModules","acc","mod","key","applicationLabels","ModulesPage","t","useTranslation","jsxs","jsx","Link","Blocks","m","mods","appInfo","feature","Check","Plus","ArrowRight"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ModulesPage-B3p8e07v.js","sources":["../src/pages/system/docs/user/ModulesPage.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { Link } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport {\r\n Blocks, ArrowRight, Users, Key, AppWindow, LayoutDashboard,\r\n User, Settings, HeadphonesIcon, Clock, FileText, Check, Plus\r\n} from 'lucide-react';\r\n\r\ninterface ModuleInfo {\r\n name: string;\r\n code: string;\r\n icon: React.ElementType;\r\n description: string;\r\n features: string[];\r\n route: string;\r\n application: string;\r\n}\r\n\r\nconst modules: ModuleInfo[] = [\r\n // Platform - Administration\r\n {\r\n name: 'Utilisateurs',\r\n code: 'users',\r\n icon: Users,\r\n description: 'Gestion complete des comptes utilisateurs de la plateforme.',\r\n features: [\r\n 'Liste et recherche des utilisateurs',\r\n 'Creation et modification de profils',\r\n 'Gestion des verrouillages de compte',\r\n 'Assignation des roles',\r\n 'Historique des connexions',\r\n ],\r\n route: '/administration/users',\r\n application: 'administration',\r\n },\r\n {\r\n name: 'Permissions',\r\n code: 'permissions',\r\n icon: Key,\r\n description: 'Configuration des roles et permissions de la plateforme.',\r\n features: [\r\n 'Gestion des roles (globaux et par application)',\r\n 'Assignation des permissions aux roles',\r\n 'Heritage de roles (role parent)',\r\n 'Permissions wildcards',\r\n 'Audit des assignations',\r\n ],\r\n route: '/administration/permissions',\r\n application: 'administration',\r\n },\r\n {\r\n name: 'Applications',\r\n code: 'applications',\r\n icon: AppWindow,\r\n description: 'Administration de la structure de navigation.',\r\n features: [\r\n 'Configuration des applications',\r\n 'Modules et sections',\r\n 'Zones d\\'affichage (Platform, Personal, Business)',\r\n 'Ordre d\\'affichage',\r\n 'Activation/desactivation',\r\n ],\r\n route: '/administration/applications',\r\n application: 'administration',\r\n },\r\n // Platform - Support\r\n {\r\n name: 'Dashboard Support',\r\n code: 'dashboard',\r\n icon: LayoutDashboard,\r\n description: 'Vue d\\'ensemble des metriques et KPIs du support.',\r\n features: [\r\n 'Statistiques en temps reel',\r\n 'Tickets par statut et priorite',\r\n 'Performance SLA',\r\n 'Temps de resolution moyen',\r\n 'Satisfaction client',\r\n ],\r\n route: '/support/dashboard',\r\n application: 'support',\r\n },\r\n {\r\n name: 'Tous les Tickets',\r\n code: 'tickets',\r\n icon: HeadphonesIcon,\r\n description: 'Gestion de tous les tickets de support.',\r\n features: [\r\n 'Liste complete des tickets',\r\n 'Filtres avances (statut, priorite, type)',\r\n 'Recherche full-text',\r\n 'Vue detaillee avec timeline',\r\n 'Actions rapides',\r\n ],\r\n route: '/support/tickets',\r\n application: 'support',\r\n },\r\n {\r\n name: 'Mes Tickets',\r\n code: 'my-tickets',\r\n icon: HeadphonesIcon,\r\n description: 'Tickets assignes a l\\'agent connecte.',\r\n features: [\r\n 'File d\\'attente personnelle',\r\n 'Prioritisation automatique',\r\n 'Indicateurs SLA en temps reel',\r\n 'Actions de traitement',\r\n ],\r\n route: '/support/my-tickets',\r\n application: 'support',\r\n },\r\n {\r\n name: 'Configuration SLA',\r\n code: 'sla',\r\n icon: Clock,\r\n description: 'Configuration des niveaux de service.',\r\n features: [\r\n 'Delais par priorite',\r\n 'Heures ouvrables',\r\n 'Alertes et notifications',\r\n 'Rapports de conformite',\r\n ],\r\n route: '/support/admin/sla',\r\n application: 'support',\r\n },\r\n {\r\n name: 'Templates',\r\n code: 'templates',\r\n icon: FileText,\r\n description: 'Gestion des reponses pre-definies.',\r\n features: [\r\n 'Categories de templates',\r\n 'Variables dynamiques',\r\n 'Insertion rapide',\r\n 'Partage entre agents',\r\n ],\r\n route: '/support/admin/templates',\r\n application: 'support',\r\n },\r\n // Personal - MySpace\r\n {\r\n name: 'Profil',\r\n code: 'profile',\r\n icon: User,\r\n description: 'Gestion du profil utilisateur.',\r\n features: [\r\n 'Informations personnelles',\r\n 'Photo de profil',\r\n 'Biographie',\r\n 'Coordonnees',\r\n ],\r\n route: '/myspace/profile',\r\n application: 'myspace',\r\n },\r\n {\r\n name: 'Preferences',\r\n code: 'preferences',\r\n icon: Settings,\r\n description: 'Personnalisation de l\\'interface.',\r\n features: [\r\n 'Theme (clair/sombre/systeme)',\r\n 'Couleurs personnalisees',\r\n 'Langue',\r\n 'Notifications',\r\n ],\r\n route: '/myspace/preferences',\r\n application: 'myspace',\r\n },\r\n];\r\n\r\nconst groupedModules = modules.reduce((acc, mod) => {\r\n const key = mod.application;\r\n if (!acc[key]) {\r\n acc[key] = [];\r\n }\r\n acc[key].push(mod);\r\n return acc;\r\n}, {} as Record<string, ModuleInfo[]>);\r\n\r\nconst applicationLabels: Record<string, { name: string; color: string }> = {\r\n 'administration': { name: 'Administration', color: 'from-purple-500 to-pink-500' },\r\n 'support': { name: 'Support', color: 'from-blue-500 to-cyan-500' },\r\n 'myspace': { name: 'MySpace', color: 'from-green-500 to-emerald-500' },\r\n};\r\n\r\nexport function ModulesPage(): ReactElement {\r\n const { t } = useTranslation('docs');\r\n\r\n return (\r\n <div className=\"space-y-8\">\r\n {/* Breadcrumb */}\r\n <div className=\"flex items-center gap-2 text-sm text-[var(--text-secondary)]\">\r\n <Link to=\"/system/docs\" className=\"hover:text-[var(--color-primary-600)]\">{t('breadcrumb.documentation')}</Link>\r\n <span>/</span>\r\n <Link to=\"/system/docs/user\" className=\"hover:text-[var(--color-primary-600)]\">{t('breadcrumb.user')}</Link>\r\n <span>/</span>\r\n <span>{t('breadcrumb.modules')}</span>\r\n </div>\r\n\r\n {/* Header */}\r\n <div>\r\n <h1 className=\"text-3xl font-bold mb-4 flex items-center gap-3\">\r\n <Blocks className=\"w-8 h-8 text-[var(--color-primary-600)]\" />\r\n {t('modules.title')}\r\n </h1>\r\n <p className=\"text-lg text-[var(--text-secondary)]\">\r\n {t('modules.subtitle')}\r\n </p>\r\n </div>\r\n\r\n {/* Quick Stats */}\r\n <div className=\"grid grid-cols-3 gap-4\">\r\n <div className=\"card p-4 text-center\">\r\n <div className=\"text-3xl font-bold text-[var(--color-primary-600)]\">{modules.length}</div>\r\n <div className=\"text-sm text-[var(--text-secondary)]\">Modules</div>\r\n </div>\r\n <div className=\"card p-4 text-center\">\r\n <div className=\"text-3xl font-bold text-[var(--color-primary-600)]\">{Object.keys(groupedModules).length}</div>\r\n <div className=\"text-sm text-[var(--text-secondary)]\">Applications</div>\r\n </div>\r\n <div className=\"card p-4 text-center\">\r\n <div className=\"text-3xl font-bold text-[var(--color-primary-600)]\">\r\n {modules.reduce((acc, m) => acc + m.features.length, 0)}\r\n </div>\r\n <div className=\"text-sm text-[var(--text-secondary)]\">Fonctionnalites</div>\r\n </div>\r\n </div>\r\n\r\n {/* Modules by Application */}\r\n {Object.entries(groupedModules).map(([key, mods]) => {\r\n const appInfo = applicationLabels[key];\r\n return (\r\n <section key={key} className=\"space-y-4\">\r\n <div className={`p-4 rounded-lg bg-gradient-to-r ${appInfo?.color || 'from-gray-500 to-gray-600'}`}>\r\n <h2 className=\"text-xl font-semibold text-white\">\r\n {appInfo?.name}\r\n </h2>\r\n <p className=\"text-white/80 text-sm\">{mods.length} modules</p>\r\n </div>\r\n\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n {mods.map((mod) => (\r\n <div key={mod.code} className=\"card p-5\">\r\n <div className=\"flex items-start gap-4\">\r\n <div className=\"p-3 rounded-xl bg-[var(--color-primary-600)]/10 flex-shrink-0\">\r\n <mod.icon className=\"w-6 h-6 text-[var(--color-primary-600)]\" />\r\n </div>\r\n <div className=\"flex-1 min-w-0\">\r\n <h3 className=\"font-semibold mb-1\">{mod.name}</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mb-3\">{mod.description}</p>\r\n\r\n <div className=\"text-xs font-mono bg-[var(--bg-secondary)] px-2 py-1 rounded inline-block mb-3\">\r\n {mod.route}\r\n </div>\r\n\r\n <div className=\"space-y-1\">\r\n {mod.features.slice(0, 3).map((feature) => (\r\n <div key={feature} className=\"flex items-center gap-2 text-sm text-[var(--text-secondary)]\">\r\n <Check className=\"w-3 h-3 text-green-500 flex-shrink-0\" />\r\n <span>{feature}</span>\r\n </div>\r\n ))}\r\n {mod.features.length > 3 && (\r\n <div className=\"text-xs text-[var(--text-tertiary)] pl-5\">\r\n +{mod.features.length - 3} autres fonctionnalites\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </section>\r\n );\r\n })}\r\n\r\n {/* Claude Code Command Info */}\r\n <section className=\"card p-6 bg-gradient-to-r from-[var(--info-bg)] to-transparent border-[var(--info-border)]\">\r\n <div className=\"flex items-start gap-4\">\r\n <Plus className=\"w-6 h-6 text-[var(--info-text)]\" />\r\n <div>\r\n <h3 className=\"font-semibold text-[var(--info-text)]\">Ajouter un Module</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n Pour documenter un nouveau module, utilisez la commande Claude Code:\r\n </p>\r\n <code className=\"mt-2 block bg-[var(--bg-primary)] px-3 py-2 rounded font-mono text-sm\">\r\n /documentation:module [nom-du-module]\r\n </code>\r\n <p className=\"text-xs text-[var(--text-tertiary)] mt-2\">\r\n Cette commande generera automatiquement la documentation selon l'architecture etablie.\r\n </p>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n {/* Navigation */}\r\n <div className=\"flex justify-between pt-6 border-t border-[var(--border-color)]\">\r\n <Link\r\n to=\"/system/docs/user/architecture\"\r\n className=\"flex items-center gap-2 text-[var(--text-secondary)] hover:text-[var(--color-primary-600)]\"\r\n >\r\n <ArrowRight className=\"w-4 h-4 rotate-180\" />\r\n Architecture\r\n </Link>\r\n <Link\r\n to=\"/system/docs\"\r\n className=\"flex items-center gap-2 text-[var(--color-primary-600)] hover:underline\"\r\n >\r\n Retour a la documentation\r\n <ArrowRight className=\"w-4 h-4\" />\r\n </Link>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["modules","Users","Key","AppWindow","LayoutDashboard","HeadphonesIcon","Clock","FileText","User","Settings","groupedModules","acc","mod","key","applicationLabels","ModulesPage","t","useTranslation","jsxs","jsx","Link","Blocks","m","mods","appInfo","feature","Check","Plus","ArrowRight"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModulesPage-lz8DUm3X.cjs","sources":["../src/pages/system/docs/user/ModulesPage.tsx"],"sourcesContent":["import { Link } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport {\r\n Blocks, ArrowRight, Users, Key, AppWindow, LayoutDashboard,\r\n User, Settings, HeadphonesIcon, Clock, FileText, Check, Plus\r\n} from 'lucide-react';\r\n\r\ninterface ModuleInfo {\r\n name: string;\r\n code: string;\r\n icon: React.ElementType;\r\n description: string;\r\n features: string[];\r\n route: string;\r\n application: string;\r\n}\r\n\r\nconst modules: ModuleInfo[] = [\r\n // Platform - Administration\r\n {\r\n name: 'Utilisateurs',\r\n code: 'users',\r\n icon: Users,\r\n description: 'Gestion complete des comptes utilisateurs de la plateforme.',\r\n features: [\r\n 'Liste et recherche des utilisateurs',\r\n 'Creation et modification de profils',\r\n 'Gestion des verrouillages de compte',\r\n 'Assignation des roles',\r\n 'Historique des connexions',\r\n ],\r\n route: '/administration/users',\r\n application: 'administration',\r\n },\r\n {\r\n name: 'Permissions',\r\n code: 'permissions',\r\n icon: Key,\r\n description: 'Configuration des roles et permissions de la plateforme.',\r\n features: [\r\n 'Gestion des roles (globaux et par application)',\r\n 'Assignation des permissions aux roles',\r\n 'Heritage de roles (role parent)',\r\n 'Permissions wildcards',\r\n 'Audit des assignations',\r\n ],\r\n route: '/administration/permissions',\r\n application: 'administration',\r\n },\r\n {\r\n name: 'Applications',\r\n code: 'applications',\r\n icon: AppWindow,\r\n description: 'Administration de la structure de navigation.',\r\n features: [\r\n 'Configuration des applications',\r\n 'Modules et sections',\r\n 'Zones d\\'affichage (Platform, Personal, Business)',\r\n 'Ordre d\\'affichage',\r\n 'Activation/desactivation',\r\n ],\r\n route: '/administration/applications',\r\n application: 'administration',\r\n },\r\n // Platform - Support\r\n {\r\n name: 'Dashboard Support',\r\n code: 'dashboard',\r\n icon: LayoutDashboard,\r\n description: 'Vue d\\'ensemble des metriques et KPIs du support.',\r\n features: [\r\n 'Statistiques en temps reel',\r\n 'Tickets par statut et priorite',\r\n 'Performance SLA',\r\n 'Temps de resolution moyen',\r\n 'Satisfaction client',\r\n ],\r\n route: '/support/dashboard',\r\n application: 'support',\r\n },\r\n {\r\n name: 'Tous les Tickets',\r\n code: 'tickets',\r\n icon: HeadphonesIcon,\r\n description: 'Gestion de tous les tickets de support.',\r\n features: [\r\n 'Liste complete des tickets',\r\n 'Filtres avances (statut, priorite, type)',\r\n 'Recherche full-text',\r\n 'Vue detaillee avec timeline',\r\n 'Actions rapides',\r\n ],\r\n route: '/support/tickets',\r\n application: 'support',\r\n },\r\n {\r\n name: 'Mes Tickets',\r\n code: 'my-tickets',\r\n icon: HeadphonesIcon,\r\n description: 'Tickets assignes a l\\'agent connecte.',\r\n features: [\r\n 'File d\\'attente personnelle',\r\n 'Prioritisation automatique',\r\n 'Indicateurs SLA en temps reel',\r\n 'Actions de traitement',\r\n ],\r\n route: '/support/my-tickets',\r\n application: 'support',\r\n },\r\n {\r\n name: 'Configuration SLA',\r\n code: 'sla',\r\n icon: Clock,\r\n description: 'Configuration des niveaux de service.',\r\n features: [\r\n 'Delais par priorite',\r\n 'Heures ouvrables',\r\n 'Alertes et notifications',\r\n 'Rapports de conformite',\r\n ],\r\n route: '/support/admin/sla',\r\n application: 'support',\r\n },\r\n {\r\n name: 'Templates',\r\n code: 'templates',\r\n icon: FileText,\r\n description: 'Gestion des reponses pre-definies.',\r\n features: [\r\n 'Categories de templates',\r\n 'Variables dynamiques',\r\n 'Insertion rapide',\r\n 'Partage entre agents',\r\n ],\r\n route: '/support/admin/templates',\r\n application: 'support',\r\n },\r\n // Personal - MySpace\r\n {\r\n name: 'Profil',\r\n code: 'profile',\r\n icon: User,\r\n description: 'Gestion du profil utilisateur.',\r\n features: [\r\n 'Informations personnelles',\r\n 'Photo de profil',\r\n 'Biographie',\r\n 'Coordonnees',\r\n ],\r\n route: '/myspace/profile',\r\n application: 'myspace',\r\n },\r\n {\r\n name: 'Preferences',\r\n code: 'preferences',\r\n icon: Settings,\r\n description: 'Personnalisation de l\\'interface.',\r\n features: [\r\n 'Theme (clair/sombre/systeme)',\r\n 'Couleurs personnalisees',\r\n 'Langue',\r\n 'Notifications',\r\n ],\r\n route: '/myspace/preferences',\r\n application: 'myspace',\r\n },\r\n];\r\n\r\nconst groupedModules = modules.reduce((acc, mod) => {\r\n const key = mod.application;\r\n if (!acc[key]) {\r\n acc[key] = [];\r\n }\r\n acc[key].push(mod);\r\n return acc;\r\n}, {} as Record<string, ModuleInfo[]>);\r\n\r\nconst applicationLabels: Record<string, { name: string; color: string }> = {\r\n 'administration': { name: 'Administration', color: 'from-purple-500 to-pink-500' },\r\n 'support': { name: 'Support', color: 'from-blue-500 to-cyan-500' },\r\n 'myspace': { name: 'MySpace', color: 'from-green-500 to-emerald-500' },\r\n};\r\n\r\nexport function ModulesPage() {\r\n const { t } = useTranslation('docs');\r\n\r\n return (\r\n <div className=\"space-y-8\">\r\n {/* Breadcrumb */}\r\n <div className=\"flex items-center gap-2 text-sm text-[var(--text-secondary)]\">\r\n <Link to=\"/system/docs\" className=\"hover:text-[var(--color-primary-600)]\">{t('breadcrumb.documentation')}</Link>\r\n <span>/</span>\r\n <Link to=\"/system/docs/user\" className=\"hover:text-[var(--color-primary-600)]\">{t('breadcrumb.user')}</Link>\r\n <span>/</span>\r\n <span>{t('breadcrumb.modules')}</span>\r\n </div>\r\n\r\n {/* Header */}\r\n <div>\r\n <h1 className=\"text-3xl font-bold mb-4 flex items-center gap-3\">\r\n <Blocks className=\"w-8 h-8 text-[var(--color-primary-600)]\" />\r\n {t('modules.title')}\r\n </h1>\r\n <p className=\"text-lg text-[var(--text-secondary)]\">\r\n {t('modules.subtitle')}\r\n </p>\r\n </div>\r\n\r\n {/* Quick Stats */}\r\n <div className=\"grid grid-cols-3 gap-4\">\r\n <div className=\"card p-4 text-center\">\r\n <div className=\"text-3xl font-bold text-[var(--color-primary-600)]\">{modules.length}</div>\r\n <div className=\"text-sm text-[var(--text-secondary)]\">Modules</div>\r\n </div>\r\n <div className=\"card p-4 text-center\">\r\n <div className=\"text-3xl font-bold text-[var(--color-primary-600)]\">{Object.keys(groupedModules).length}</div>\r\n <div className=\"text-sm text-[var(--text-secondary)]\">Applications</div>\r\n </div>\r\n <div className=\"card p-4 text-center\">\r\n <div className=\"text-3xl font-bold text-[var(--color-primary-600)]\">\r\n {modules.reduce((acc, m) => acc + m.features.length, 0)}\r\n </div>\r\n <div className=\"text-sm text-[var(--text-secondary)]\">Fonctionnalites</div>\r\n </div>\r\n </div>\r\n\r\n {/* Modules by Application */}\r\n {Object.entries(groupedModules).map(([key, mods]) => {\r\n const appInfo = applicationLabels[key];\r\n return (\r\n <section key={key} className=\"space-y-4\">\r\n <div className={`p-4 rounded-lg bg-gradient-to-r ${appInfo?.color || 'from-gray-500 to-gray-600'}`}>\r\n <h2 className=\"text-xl font-semibold text-white\">\r\n {appInfo?.name}\r\n </h2>\r\n <p className=\"text-white/80 text-sm\">{mods.length} modules</p>\r\n </div>\r\n\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n {mods.map((mod) => (\r\n <div key={mod.code} className=\"card p-5\">\r\n <div className=\"flex items-start gap-4\">\r\n <div className=\"p-3 rounded-xl bg-[var(--color-primary-600)]/10 flex-shrink-0\">\r\n <mod.icon className=\"w-6 h-6 text-[var(--color-primary-600)]\" />\r\n </div>\r\n <div className=\"flex-1 min-w-0\">\r\n <h3 className=\"font-semibold mb-1\">{mod.name}</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mb-3\">{mod.description}</p>\r\n\r\n <div className=\"text-xs font-mono bg-[var(--bg-secondary)] px-2 py-1 rounded inline-block mb-3\">\r\n {mod.route}\r\n </div>\r\n\r\n <div className=\"space-y-1\">\r\n {mod.features.slice(0, 3).map((feature) => (\r\n <div key={feature} className=\"flex items-center gap-2 text-sm text-[var(--text-secondary)]\">\r\n <Check className=\"w-3 h-3 text-green-500 flex-shrink-0\" />\r\n <span>{feature}</span>\r\n </div>\r\n ))}\r\n {mod.features.length > 3 && (\r\n <div className=\"text-xs text-[var(--text-tertiary)] pl-5\">\r\n +{mod.features.length - 3} autres fonctionnalites\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </section>\r\n );\r\n })}\r\n\r\n {/* Claude Code Command Info */}\r\n <section className=\"card p-6 bg-gradient-to-r from-[var(--info-bg)] to-transparent border-[var(--info-border)]\">\r\n <div className=\"flex items-start gap-4\">\r\n <Plus className=\"w-6 h-6 text-[var(--info-text)]\" />\r\n <div>\r\n <h3 className=\"font-semibold text-[var(--info-text)]\">Ajouter un Module</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n Pour documenter un nouveau module, utilisez la commande Claude Code:\r\n </p>\r\n <code className=\"mt-2 block bg-[var(--bg-primary)] px-3 py-2 rounded font-mono text-sm\">\r\n /documentation:module [nom-du-module]\r\n </code>\r\n <p className=\"text-xs text-[var(--text-tertiary)] mt-2\">\r\n Cette commande generera automatiquement la documentation selon l'architecture etablie.\r\n </p>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n {/* Navigation */}\r\n <div className=\"flex justify-between pt-6 border-t border-[var(--border-color)]\">\r\n <Link\r\n to=\"/system/docs/user/architecture\"\r\n className=\"flex items-center gap-2 text-[var(--text-secondary)] hover:text-[var(--color-primary-600)]\"\r\n >\r\n <ArrowRight className=\"w-4 h-4 rotate-180\" />\r\n Architecture\r\n </Link>\r\n <Link\r\n to=\"/system/docs\"\r\n className=\"flex items-center gap-2 text-[var(--color-primary-600)] hover:underline\"\r\n >\r\n Retour a la documentation\r\n <ArrowRight className=\"w-4 h-4\" />\r\n </Link>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["modules","Users","Key","AppWindow","LayoutDashboard","HeadphonesIcon","Clock","FileText","User","Settings","groupedModules","acc","mod","key","applicationLabels","ModulesPage","useTranslation","jsxs","jsx","Link","Blocks","m","mods","appInfo","feature","Check","Plus","ArrowRight"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ModulesPage-lz8DUm3X.cjs","sources":["../src/pages/system/docs/user/ModulesPage.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { Link } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport {\r\n Blocks, ArrowRight, Users, Key, AppWindow, LayoutDashboard,\r\n User, Settings, HeadphonesIcon, Clock, FileText, Check, Plus\r\n} from 'lucide-react';\r\n\r\ninterface ModuleInfo {\r\n name: string;\r\n code: string;\r\n icon: React.ElementType;\r\n description: string;\r\n features: string[];\r\n route: string;\r\n application: string;\r\n}\r\n\r\nconst modules: ModuleInfo[] = [\r\n // Platform - Administration\r\n {\r\n name: 'Utilisateurs',\r\n code: 'users',\r\n icon: Users,\r\n description: 'Gestion complete des comptes utilisateurs de la plateforme.',\r\n features: [\r\n 'Liste et recherche des utilisateurs',\r\n 'Creation et modification de profils',\r\n 'Gestion des verrouillages de compte',\r\n 'Assignation des roles',\r\n 'Historique des connexions',\r\n ],\r\n route: '/administration/users',\r\n application: 'administration',\r\n },\r\n {\r\n name: 'Permissions',\r\n code: 'permissions',\r\n icon: Key,\r\n description: 'Configuration des roles et permissions de la plateforme.',\r\n features: [\r\n 'Gestion des roles (globaux et par application)',\r\n 'Assignation des permissions aux roles',\r\n 'Heritage de roles (role parent)',\r\n 'Permissions wildcards',\r\n 'Audit des assignations',\r\n ],\r\n route: '/administration/permissions',\r\n application: 'administration',\r\n },\r\n {\r\n name: 'Applications',\r\n code: 'applications',\r\n icon: AppWindow,\r\n description: 'Administration de la structure de navigation.',\r\n features: [\r\n 'Configuration des applications',\r\n 'Modules et sections',\r\n 'Zones d\\'affichage (Platform, Personal, Business)',\r\n 'Ordre d\\'affichage',\r\n 'Activation/desactivation',\r\n ],\r\n route: '/administration/applications',\r\n application: 'administration',\r\n },\r\n // Platform - Support\r\n {\r\n name: 'Dashboard Support',\r\n code: 'dashboard',\r\n icon: LayoutDashboard,\r\n description: 'Vue d\\'ensemble des metriques et KPIs du support.',\r\n features: [\r\n 'Statistiques en temps reel',\r\n 'Tickets par statut et priorite',\r\n 'Performance SLA',\r\n 'Temps de resolution moyen',\r\n 'Satisfaction client',\r\n ],\r\n route: '/support/dashboard',\r\n application: 'support',\r\n },\r\n {\r\n name: 'Tous les Tickets',\r\n code: 'tickets',\r\n icon: HeadphonesIcon,\r\n description: 'Gestion de tous les tickets de support.',\r\n features: [\r\n 'Liste complete des tickets',\r\n 'Filtres avances (statut, priorite, type)',\r\n 'Recherche full-text',\r\n 'Vue detaillee avec timeline',\r\n 'Actions rapides',\r\n ],\r\n route: '/support/tickets',\r\n application: 'support',\r\n },\r\n {\r\n name: 'Mes Tickets',\r\n code: 'my-tickets',\r\n icon: HeadphonesIcon,\r\n description: 'Tickets assignes a l\\'agent connecte.',\r\n features: [\r\n 'File d\\'attente personnelle',\r\n 'Prioritisation automatique',\r\n 'Indicateurs SLA en temps reel',\r\n 'Actions de traitement',\r\n ],\r\n route: '/support/my-tickets',\r\n application: 'support',\r\n },\r\n {\r\n name: 'Configuration SLA',\r\n code: 'sla',\r\n icon: Clock,\r\n description: 'Configuration des niveaux de service.',\r\n features: [\r\n 'Delais par priorite',\r\n 'Heures ouvrables',\r\n 'Alertes et notifications',\r\n 'Rapports de conformite',\r\n ],\r\n route: '/support/admin/sla',\r\n application: 'support',\r\n },\r\n {\r\n name: 'Templates',\r\n code: 'templates',\r\n icon: FileText,\r\n description: 'Gestion des reponses pre-definies.',\r\n features: [\r\n 'Categories de templates',\r\n 'Variables dynamiques',\r\n 'Insertion rapide',\r\n 'Partage entre agents',\r\n ],\r\n route: '/support/admin/templates',\r\n application: 'support',\r\n },\r\n // Personal - MySpace\r\n {\r\n name: 'Profil',\r\n code: 'profile',\r\n icon: User,\r\n description: 'Gestion du profil utilisateur.',\r\n features: [\r\n 'Informations personnelles',\r\n 'Photo de profil',\r\n 'Biographie',\r\n 'Coordonnees',\r\n ],\r\n route: '/myspace/profile',\r\n application: 'myspace',\r\n },\r\n {\r\n name: 'Preferences',\r\n code: 'preferences',\r\n icon: Settings,\r\n description: 'Personnalisation de l\\'interface.',\r\n features: [\r\n 'Theme (clair/sombre/systeme)',\r\n 'Couleurs personnalisees',\r\n 'Langue',\r\n 'Notifications',\r\n ],\r\n route: '/myspace/preferences',\r\n application: 'myspace',\r\n },\r\n];\r\n\r\nconst groupedModules = modules.reduce((acc, mod) => {\r\n const key = mod.application;\r\n if (!acc[key]) {\r\n acc[key] = [];\r\n }\r\n acc[key].push(mod);\r\n return acc;\r\n}, {} as Record<string, ModuleInfo[]>);\r\n\r\nconst applicationLabels: Record<string, { name: string; color: string }> = {\r\n 'administration': { name: 'Administration', color: 'from-purple-500 to-pink-500' },\r\n 'support': { name: 'Support', color: 'from-blue-500 to-cyan-500' },\r\n 'myspace': { name: 'MySpace', color: 'from-green-500 to-emerald-500' },\r\n};\r\n\r\nexport function ModulesPage(): ReactElement {\r\n const { t } = useTranslation('docs');\r\n\r\n return (\r\n <div className=\"space-y-8\">\r\n {/* Breadcrumb */}\r\n <div className=\"flex items-center gap-2 text-sm text-[var(--text-secondary)]\">\r\n <Link to=\"/system/docs\" className=\"hover:text-[var(--color-primary-600)]\">{t('breadcrumb.documentation')}</Link>\r\n <span>/</span>\r\n <Link to=\"/system/docs/user\" className=\"hover:text-[var(--color-primary-600)]\">{t('breadcrumb.user')}</Link>\r\n <span>/</span>\r\n <span>{t('breadcrumb.modules')}</span>\r\n </div>\r\n\r\n {/* Header */}\r\n <div>\r\n <h1 className=\"text-3xl font-bold mb-4 flex items-center gap-3\">\r\n <Blocks className=\"w-8 h-8 text-[var(--color-primary-600)]\" />\r\n {t('modules.title')}\r\n </h1>\r\n <p className=\"text-lg text-[var(--text-secondary)]\">\r\n {t('modules.subtitle')}\r\n </p>\r\n </div>\r\n\r\n {/* Quick Stats */}\r\n <div className=\"grid grid-cols-3 gap-4\">\r\n <div className=\"card p-4 text-center\">\r\n <div className=\"text-3xl font-bold text-[var(--color-primary-600)]\">{modules.length}</div>\r\n <div className=\"text-sm text-[var(--text-secondary)]\">Modules</div>\r\n </div>\r\n <div className=\"card p-4 text-center\">\r\n <div className=\"text-3xl font-bold text-[var(--color-primary-600)]\">{Object.keys(groupedModules).length}</div>\r\n <div className=\"text-sm text-[var(--text-secondary)]\">Applications</div>\r\n </div>\r\n <div className=\"card p-4 text-center\">\r\n <div className=\"text-3xl font-bold text-[var(--color-primary-600)]\">\r\n {modules.reduce((acc, m) => acc + m.features.length, 0)}\r\n </div>\r\n <div className=\"text-sm text-[var(--text-secondary)]\">Fonctionnalites</div>\r\n </div>\r\n </div>\r\n\r\n {/* Modules by Application */}\r\n {Object.entries(groupedModules).map(([key, mods]) => {\r\n const appInfo = applicationLabels[key];\r\n return (\r\n <section key={key} className=\"space-y-4\">\r\n <div className={`p-4 rounded-lg bg-gradient-to-r ${appInfo?.color || 'from-gray-500 to-gray-600'}`}>\r\n <h2 className=\"text-xl font-semibold text-white\">\r\n {appInfo?.name}\r\n </h2>\r\n <p className=\"text-white/80 text-sm\">{mods.length} modules</p>\r\n </div>\r\n\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n {mods.map((mod) => (\r\n <div key={mod.code} className=\"card p-5\">\r\n <div className=\"flex items-start gap-4\">\r\n <div className=\"p-3 rounded-xl bg-[var(--color-primary-600)]/10 flex-shrink-0\">\r\n <mod.icon className=\"w-6 h-6 text-[var(--color-primary-600)]\" />\r\n </div>\r\n <div className=\"flex-1 min-w-0\">\r\n <h3 className=\"font-semibold mb-1\">{mod.name}</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mb-3\">{mod.description}</p>\r\n\r\n <div className=\"text-xs font-mono bg-[var(--bg-secondary)] px-2 py-1 rounded inline-block mb-3\">\r\n {mod.route}\r\n </div>\r\n\r\n <div className=\"space-y-1\">\r\n {mod.features.slice(0, 3).map((feature) => (\r\n <div key={feature} className=\"flex items-center gap-2 text-sm text-[var(--text-secondary)]\">\r\n <Check className=\"w-3 h-3 text-green-500 flex-shrink-0\" />\r\n <span>{feature}</span>\r\n </div>\r\n ))}\r\n {mod.features.length > 3 && (\r\n <div className=\"text-xs text-[var(--text-tertiary)] pl-5\">\r\n +{mod.features.length - 3} autres fonctionnalites\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </section>\r\n );\r\n })}\r\n\r\n {/* Claude Code Command Info */}\r\n <section className=\"card p-6 bg-gradient-to-r from-[var(--info-bg)] to-transparent border-[var(--info-border)]\">\r\n <div className=\"flex items-start gap-4\">\r\n <Plus className=\"w-6 h-6 text-[var(--info-text)]\" />\r\n <div>\r\n <h3 className=\"font-semibold text-[var(--info-text)]\">Ajouter un Module</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n Pour documenter un nouveau module, utilisez la commande Claude Code:\r\n </p>\r\n <code className=\"mt-2 block bg-[var(--bg-primary)] px-3 py-2 rounded font-mono text-sm\">\r\n /documentation:module [nom-du-module]\r\n </code>\r\n <p className=\"text-xs text-[var(--text-tertiary)] mt-2\">\r\n Cette commande generera automatiquement la documentation selon l'architecture etablie.\r\n </p>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n {/* Navigation */}\r\n <div className=\"flex justify-between pt-6 border-t border-[var(--border-color)]\">\r\n <Link\r\n to=\"/system/docs/user/architecture\"\r\n className=\"flex items-center gap-2 text-[var(--text-secondary)] hover:text-[var(--color-primary-600)]\"\r\n >\r\n <ArrowRight className=\"w-4 h-4 rotate-180\" />\r\n Architecture\r\n </Link>\r\n <Link\r\n to=\"/system/docs\"\r\n className=\"flex items-center gap-2 text-[var(--color-primary-600)] hover:underline\"\r\n >\r\n Retour a la documentation\r\n <ArrowRight className=\"w-4 h-4\" />\r\n </Link>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["modules","Users","Key","AppWindow","LayoutDashboard","HeadphonesIcon","Clock","FileText","User","Settings","groupedModules","acc","mod","key","applicationLabels","ModulesPage","useTranslation","jsxs","jsx","Link","Blocks","m","mods","appInfo","feature","Check","Plus","ArrowRight"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { useState as c, useEffect as k } from "react";
|
|
|
3
3
|
import { useNavigate as D } from "react-router-dom";
|
|
4
4
|
import { useTranslation as F } from "react-i18next";
|
|
5
5
|
import { CheckCircle as w, Loader2 as C, Sparkles as S, Globe as j, Palette as K, ArrowLeft as M, ArrowRight as z } from "lucide-react";
|
|
6
|
-
import { c as G, b as L } from "./index-
|
|
6
|
+
import { c as G, b as L } from "./index-Kn_ynW2m.js";
|
|
7
7
|
const I = [
|
|
8
8
|
{ code: "fr", name: "Francais", flag: "🇫🇷" },
|
|
9
9
|
{ code: "en", name: "English", flag: "🇬🇧" },
|
|
@@ -208,4 +208,4 @@ function V() {
|
|
|
208
208
|
export {
|
|
209
209
|
V as OnboardingWizardPage
|
|
210
210
|
};
|
|
211
|
-
//# sourceMappingURL=OnboardingWizardPage-
|
|
211
|
+
//# sourceMappingURL=OnboardingWizardPage-BeCNpdPL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnboardingWizardPage-BeCNpdPL.js","sources":["../src/pages/auth/OnboardingWizardPage.tsx"],"sourcesContent":["import { useState, useEffect } from 'react';\r\nimport type { ReactElement } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Loader2, CheckCircle, Globe, Palette, Sparkles, ArrowRight, ArrowLeft } from 'lucide-react';\r\nimport { api } from '@/services/api/apiClient';\r\nimport { changeLanguage } from '@/i18n/config';\r\n\r\ntype Step = 'language' | 'theme' | 'complete';\r\n\r\ninterface LanguageOption {\r\n code: string;\r\n name: string;\r\n flag: string;\r\n}\r\n\r\ninterface ThemeOption {\r\n value: string;\r\n labelKey: string;\r\n icon: string;\r\n}\r\n\r\nconst languages: LanguageOption[] = [\r\n { code: 'fr', name: 'Francais', flag: '🇫🇷' },\r\n { code: 'en', name: 'English', flag: '🇬🇧' },\r\n { code: 'de', name: 'Deutsch', flag: '🇩🇪' },\r\n { code: 'it', name: 'Italiano', flag: '🇮🇹' },\r\n];\r\n\r\nconst themes: ThemeOption[] = [\r\n { value: 'light', labelKey: 'themeLight', icon: '☀️' },\r\n { value: 'dark', labelKey: 'themeDark', icon: '🌙' },\r\n { value: 'system', labelKey: 'themeSystem', icon: '💻' },\r\n];\r\n\r\nconst accentColors = [\r\n { key: 'indigo', color: '#6366f1', name: 'Indigo' },\r\n { key: 'blue', color: '#3b82f6', name: 'Blue' },\r\n { key: 'emerald', color: '#10b981', name: 'Emerald' },\r\n { key: 'amber', color: '#f59e0b', name: 'Amber' },\r\n { key: 'rose', color: '#f43f5e', name: 'Rose' },\r\n { key: 'purple', color: '#a855f7', name: 'Purple' },\r\n];\r\n\r\nexport function OnboardingWizardPage(): ReactElement {\r\n const { t, i18n } = useTranslation('auth');\r\n const navigate = useNavigate();\r\n\r\n const [currentStep, setCurrentStep] = useState<Step>('language');\r\n const [selectedLanguage, setSelectedLanguage] = useState(i18n.language?.substring(0, 2) || 'fr');\r\n const [selectedTheme, setSelectedTheme] = useState('dark');\r\n const [selectedAccentColor, setSelectedAccentColor] = useState('indigo');\r\n const [isSubmitting, setIsSubmitting] = useState(false);\r\n const [error, setError] = useState<string | null>(null);\r\n const [success, setSuccess] = useState(false);\r\n\r\n // Check onboarding status on load\r\n useEffect(() => {\r\n const checkOnboardingStatus = async () => {\r\n try {\r\n const response = await api.get<{ hasCompletedOnboarding: boolean }>('/api/onboarding/status');\r\n if (response.hasCompletedOnboarding) {\r\n // Already completed, redirect to home\r\n navigate('/myspace', { replace: true });\r\n }\r\n } catch {\r\n // If we can't check status, allow proceeding\r\n }\r\n };\r\n\r\n checkOnboardingStatus();\r\n }, [navigate]);\r\n\r\n // Update language immediately when selected (lazy loads translations if needed)\r\n useEffect(() => {\r\n if (selectedLanguage && selectedLanguage !== i18n.language?.substring(0, 2)) {\r\n changeLanguage(selectedLanguage);\r\n }\r\n }, [selectedLanguage, i18n]);\r\n\r\n const steps: { key: Step; labelKey: string; icon: React.ReactNode }[] = [\r\n { key: 'language', labelKey: 'stepLanguage', icon: <Globe className=\"w-5 h-5\" /> },\r\n { key: 'theme', labelKey: 'stepTheme', icon: <Palette className=\"w-5 h-5\" /> },\r\n { key: 'complete', labelKey: 'stepComplete', icon: <Sparkles className=\"w-5 h-5\" /> },\r\n ];\r\n\r\n const currentStepIndex = steps.findIndex((s) => s.key === currentStep);\r\n\r\n const handleNext = () => {\r\n const nextIndex = currentStepIndex + 1;\r\n if (nextIndex < steps.length) {\r\n setCurrentStep(steps[nextIndex].key);\r\n }\r\n };\r\n\r\n const handleBack = () => {\r\n const prevIndex = currentStepIndex - 1;\r\n if (prevIndex >= 0) {\r\n setCurrentStep(steps[prevIndex].key);\r\n }\r\n };\r\n\r\n const handleComplete = async () => {\r\n setIsSubmitting(true);\r\n setError(null);\r\n\r\n try {\r\n await api.post('/api/onboarding/complete', {\r\n language: selectedLanguage,\r\n theme: selectedTheme,\r\n accentColorKey: selectedAccentColor,\r\n });\r\n\r\n // Save preferences locally\r\n localStorage.setItem('i18nextLng', selectedLanguage);\r\n localStorage.setItem(\r\n 'smartstack-theme-config',\r\n JSON.stringify({\r\n mode: selectedTheme,\r\n accentColorKey: selectedAccentColor,\r\n borderRadius: {},\r\n itemPaletteKey: 'neutral',\r\n })\r\n );\r\n\r\n setSuccess(true);\r\n\r\n // Redirect after success animation\r\n setTimeout(() => {\r\n window.location.href = '/myspace';\r\n }, 2000);\r\n } catch (err) {\r\n console.error('Onboarding error:', err);\r\n setError(t('onboarding.errorMessage'));\r\n } finally {\r\n setIsSubmitting(false);\r\n }\r\n };\r\n\r\n if (success) {\r\n return (\r\n <div className=\"min-h-screen flex items-center justify-center bg-[var(--bg-primary)]\">\r\n <div className=\"max-w-md w-full mx-4\">\r\n <div className=\"bg-[var(--bg-secondary)] rounded-2xl p-8 shadow-lg border border-[var(--border-color)]\">\r\n <div className=\"text-center\">\r\n <div className=\"w-20 h-20 mx-auto bg-green-100 dark:bg-green-900/30 rounded-full flex items-center justify-center mb-6\">\r\n <CheckCircle className=\"w-12 h-12 text-green-600 dark:text-green-400\" />\r\n </div>\r\n <h2 className=\"text-2xl font-bold mb-3\">{t('onboarding.successTitle')}</h2>\r\n <p className=\"text-[var(--text-secondary)]\">{t('onboarding.successMessage')}</p>\r\n <div className=\"mt-6\">\r\n <Loader2 className=\"w-6 h-6 mx-auto text-[var(--color-accent-500)] animate-spin\" />\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div className=\"min-h-screen flex items-center justify-center bg-[var(--bg-primary)] p-4\">\r\n <div className=\"max-w-lg w-full\">\r\n {/* Header */}\r\n <div className=\"text-center mb-8\">\r\n <div className=\"flex items-center justify-center gap-2 mb-4\">\r\n <div className=\"w-12 h-12 bg-gradient-to-br from-blue-500 to-purple-600 rounded-xl flex items-center justify-center\">\r\n <span className=\"text-white text-xl font-bold\">S</span>\r\n </div>\r\n </div>\r\n <h1 className=\"text-3xl font-bold mb-2\">{t('onboarding.title')}</h1>\r\n <p className=\"text-[var(--text-secondary)]\">{t('onboarding.subtitle')}</p>\r\n </div>\r\n\r\n {/* Steps indicator */}\r\n <div className=\"flex justify-center mb-8\">\r\n <div className=\"flex items-center gap-2\">\r\n {steps.map((step, index) => (\r\n <div key={step.key} className=\"flex items-center\">\r\n <div\r\n className={`w-10 h-10 rounded-full flex items-center justify-center transition-all ${\r\n index <= currentStepIndex\r\n ? 'bg-[var(--color-accent-500)] text-white'\r\n : 'bg-[var(--bg-tertiary)] text-[var(--text-secondary)]'\r\n }`}\r\n >\r\n {step.icon}\r\n </div>\r\n {index < steps.length - 1 && (\r\n <div\r\n className={`w-12 h-1 mx-1 rounded transition-all ${\r\n index < currentStepIndex\r\n ? 'bg-[var(--color-accent-500)]'\r\n : 'bg-[var(--bg-tertiary)]'\r\n }`}\r\n />\r\n )}\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n\r\n {/* Card */}\r\n <div className=\"bg-[var(--bg-secondary)] rounded-2xl p-8 shadow-lg border border-[var(--border-color)]\">\r\n {/* Language Step */}\r\n {currentStep === 'language' && (\r\n <div>\r\n <h2 className=\"text-xl font-semibold mb-6 text-center\">{t('onboarding.languageLabel')}</h2>\r\n <div className=\"grid grid-cols-2 gap-4\">\r\n {languages.map((lang) => (\r\n <button\r\n key={lang.code}\r\n onClick={() => setSelectedLanguage(lang.code)}\r\n className={`p-4 rounded-xl border-2 transition-all ${\r\n selectedLanguage === lang.code\r\n ? 'border-[var(--color-accent-500)] bg-[var(--color-accent-50)] dark:bg-[var(--color-accent-900)]/20'\r\n : 'border-[var(--border-color)] hover:border-[var(--color-accent-300)]'\r\n }`}\r\n >\r\n <span className=\"text-3xl mb-2 block\">{lang.flag}</span>\r\n <span className=\"font-medium\">{lang.name}</span>\r\n </button>\r\n ))}\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* Theme Step */}\r\n {currentStep === 'theme' && (\r\n <div>\r\n <h2 className=\"text-xl font-semibold mb-6 text-center\">{t('onboarding.themeLabel')}</h2>\r\n\r\n {/* Theme selection */}\r\n <div className=\"grid grid-cols-3 gap-3 mb-8\">\r\n {themes.map((theme) => (\r\n <button\r\n key={theme.value}\r\n onClick={() => setSelectedTheme(theme.value)}\r\n className={`p-4 rounded-xl border-2 transition-all ${\r\n selectedTheme === theme.value\r\n ? 'border-[var(--color-accent-500)] bg-[var(--color-accent-50)] dark:bg-[var(--color-accent-900)]/20'\r\n : 'border-[var(--border-color)] hover:border-[var(--color-accent-300)]'\r\n }`}\r\n >\r\n <span className=\"text-2xl mb-2 block\">{theme.icon}</span>\r\n <span className=\"text-sm font-medium\">{t(`onboarding.${theme.labelKey}`)}</span>\r\n </button>\r\n ))}\r\n </div>\r\n\r\n {/* Accent color selection */}\r\n <div>\r\n <h3 className=\"text-sm font-medium mb-3 text-[var(--text-secondary)]\">\r\n {t('onboarding.accentColorLabel')}\r\n </h3>\r\n <div className=\"flex justify-center gap-3\">\r\n {accentColors.map((color) => (\r\n <button\r\n key={color.key}\r\n onClick={() => setSelectedAccentColor(color.key)}\r\n className={`w-10 h-10 rounded-full transition-all ${\r\n selectedAccentColor === color.key\r\n ? 'ring-2 ring-offset-2 ring-[var(--color-accent-500)] ring-offset-[var(--bg-secondary)]'\r\n : 'hover:scale-110'\r\n }`}\r\n style={{ backgroundColor: color.color }}\r\n title={color.name}\r\n />\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n\r\n {/* Complete Step */}\r\n {currentStep === 'complete' && (\r\n <div className=\"text-center\">\r\n <div className=\"w-20 h-20 mx-auto bg-[var(--color-accent-100)] dark:bg-[var(--color-accent-900)]/30 rounded-full flex items-center justify-center mb-6\">\r\n <Sparkles className=\"w-10 h-10 text-[var(--color-accent-500)]\" />\r\n </div>\r\n <h2 className=\"text-xl font-semibold mb-4\">{t('onboarding.stepComplete')}</h2>\r\n <div className=\"text-[var(--text-secondary)] mb-6 space-y-2\">\r\n <p>\r\n <span className=\"inline-flex items-center gap-2\">\r\n <Globe className=\"w-4 h-4\" />\r\n {languages.find((l) => l.code === selectedLanguage)?.name}\r\n </span>\r\n </p>\r\n <p>\r\n <span className=\"inline-flex items-center gap-2\">\r\n <Palette className=\"w-4 h-4\" />\r\n {themes.find((t) => t.value === selectedTheme)?.icon}{' '}\r\n {t(`onboarding.${themes.find((th) => th.value === selectedTheme)?.labelKey}`)}\r\n </span>\r\n </p>\r\n <p>\r\n <span className=\"inline-flex items-center gap-2\">\r\n <span\r\n className=\"w-4 h-4 rounded-full\"\r\n style={{ backgroundColor: accentColors.find((c) => c.key === selectedAccentColor)?.color }}\r\n />\r\n {accentColors.find((c) => c.key === selectedAccentColor)?.name}\r\n </span>\r\n </p>\r\n </div>\r\n\r\n {error && (\r\n <div className=\"bg-red-50 dark:bg-red-900/20 text-red-700 dark:text-red-300 rounded-lg p-3 mb-4 text-sm\">\r\n {error}\r\n </div>\r\n )}\r\n </div>\r\n )}\r\n\r\n {/* Navigation buttons */}\r\n <div className=\"flex justify-between mt-8\">\r\n {currentStepIndex > 0 ? (\r\n <button\r\n onClick={handleBack}\r\n className=\"flex items-center gap-2 px-4 py-2 text-[var(--text-secondary)] hover:text-[var(--text-primary)] transition-colors\"\r\n >\r\n <ArrowLeft className=\"w-4 h-4\" />\r\n {t('onboarding.back')}\r\n </button>\r\n ) : (\r\n <div />\r\n )}\r\n\r\n {currentStep === 'complete' ? (\r\n <button\r\n onClick={handleComplete}\r\n disabled={isSubmitting}\r\n className=\"flex items-center gap-2 px-6 py-2 bg-[var(--color-accent-500)] hover:bg-[var(--color-accent-600)] text-white rounded-lg font-medium transition-colors disabled:opacity-50\"\r\n >\r\n {isSubmitting ? (\r\n <>\r\n <Loader2 className=\"w-4 h-4 animate-spin\" />\r\n {t('onboarding.completing')}\r\n </>\r\n ) : (\r\n <>\r\n {t('onboarding.complete')}\r\n <CheckCircle className=\"w-4 h-4\" />\r\n </>\r\n )}\r\n </button>\r\n ) : (\r\n <button\r\n onClick={handleNext}\r\n className=\"flex items-center gap-2 px-6 py-2 bg-[var(--color-accent-500)] hover:bg-[var(--color-accent-600)] text-white rounded-lg font-medium transition-colors\"\r\n >\r\n {t('onboarding.continue')}\r\n <ArrowRight className=\"w-4 h-4\" />\r\n </button>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["languages","themes","accentColors","OnboardingWizardPage","i18n","useTranslation","navigate","useNavigate","currentStep","setCurrentStep","useState","selectedLanguage","setSelectedLanguage","selectedTheme","setSelectedTheme","selectedAccentColor","setSelectedAccentColor","isSubmitting","setIsSubmitting","error","setError","success","setSuccess","useEffect","api","changeLanguage","steps","jsx","Globe","Palette","Sparkles","currentStepIndex","s","handleNext","nextIndex","handleBack","prevIndex","handleComplete","err","jsxs","CheckCircle","Loader2","step","index","lang","theme","color","l","t","th","c","ArrowLeft","Fragment","ArrowRight"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("react"),P=require("react-router-dom"),T=require("react-i18next"),t=require("lucide-react"),g=require("./index-
|
|
2
|
-
//# sourceMappingURL=OnboardingWizardPage-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("react"),P=require("react-router-dom"),T=require("react-i18next"),t=require("lucide-react"),g=require("./index-BfMaHuWh.cjs"),N=[{code:"fr",name:"Francais",flag:"🇫🇷"},{code:"en",name:"English",flag:"🇬🇧"},{code:"de",name:"Deutsch",flag:"🇩🇪"},{code:"it",name:"Italiano",flag:"🇮🇹"}],b=[{value:"light",labelKey:"themeLight",icon:"☀️"},{value:"dark",labelKey:"themeDark",icon:"🌙"},{value:"system",labelKey:"themeSystem",icon:"💻"}],u=[{key:"indigo",color:"#6366f1",name:"Indigo"},{key:"blue",color:"#3b82f6",name:"Blue"},{key:"emerald",color:"#10b981",name:"Emerald"},{key:"amber",color:"#f59e0b",name:"Amber"},{key:"rose",color:"#f43f5e",name:"Rose"},{key:"purple",color:"#a855f7",name:"Purple"}];function $(){const{t:s,i18n:x}=T.useTranslation("auth"),h=P.useNavigate(),[l,f]=r.useState("language"),[n,k]=r.useState(x.language?.substring(0,2)||"fr"),[o,w]=r.useState("dark"),[i,S]=r.useState("indigo"),[p,v]=r.useState(!1),[j,y]=r.useState(null),[C,L]=r.useState(!1);r.useEffect(()=>{(async()=>{try{(await g.api.get("/api/onboarding/status")).hasCompletedOnboarding&&h("/myspace",{replace:!0})}catch{}})()},[h]),r.useEffect(()=>{n&&n!==x.language?.substring(0,2)&&g.changeLanguage(n)},[n,x]);const c=[{key:"language",labelKey:"stepLanguage",icon:e.jsx(t.Globe,{className:"w-5 h-5"})},{key:"theme",labelKey:"stepTheme",icon:e.jsx(t.Palette,{className:"w-5 h-5"})},{key:"complete",labelKey:"stepComplete",icon:e.jsx(t.Sparkles,{className:"w-5 h-5"})}],d=c.findIndex(a=>a.key===l),I=()=>{const a=d+1;a<c.length&&f(c[a].key)},K=()=>{const a=d-1;a>=0&&f(c[a].key)},O=async()=>{v(!0),y(null);try{await g.api.post("/api/onboarding/complete",{language:n,theme:o,accentColorKey:i}),localStorage.setItem("i18nextLng",n),localStorage.setItem("smartstack-theme-config",JSON.stringify({mode:o,accentColorKey:i,borderRadius:{},itemPaletteKey:"neutral"})),L(!0),setTimeout(()=>{window.location.href="/myspace"},2e3)}catch(a){console.error("Onboarding error:",a),y(s("onboarding.errorMessage"))}finally{v(!1)}};return C?e.jsx("div",{className:"min-h-screen flex items-center justify-center bg-[var(--bg-primary)]",children:e.jsx("div",{className:"max-w-md w-full mx-4",children:e.jsx("div",{className:"bg-[var(--bg-secondary)] rounded-2xl p-8 shadow-lg border border-[var(--border-color)]",children:e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"w-20 h-20 mx-auto bg-green-100 dark:bg-green-900/30 rounded-full flex items-center justify-center mb-6",children:e.jsx(t.CheckCircle,{className:"w-12 h-12 text-green-600 dark:text-green-400"})}),e.jsx("h2",{className:"text-2xl font-bold mb-3",children:s("onboarding.successTitle")}),e.jsx("p",{className:"text-[var(--text-secondary)]",children:s("onboarding.successMessage")}),e.jsx("div",{className:"mt-6",children:e.jsx(t.Loader2,{className:"w-6 h-6 mx-auto text-[var(--color-accent-500)] animate-spin"})})]})})})}):e.jsx("div",{className:"min-h-screen flex items-center justify-center bg-[var(--bg-primary)] p-4",children:e.jsxs("div",{className:"max-w-lg w-full",children:[e.jsxs("div",{className:"text-center mb-8",children:[e.jsx("div",{className:"flex items-center justify-center gap-2 mb-4",children:e.jsx("div",{className:"w-12 h-12 bg-gradient-to-br from-blue-500 to-purple-600 rounded-xl flex items-center justify-center",children:e.jsx("span",{className:"text-white text-xl font-bold",children:"S"})})}),e.jsx("h1",{className:"text-3xl font-bold mb-2",children:s("onboarding.title")}),e.jsx("p",{className:"text-[var(--text-secondary)]",children:s("onboarding.subtitle")})]}),e.jsx("div",{className:"flex justify-center mb-8",children:e.jsx("div",{className:"flex items-center gap-2",children:c.map((a,m)=>e.jsxs("div",{className:"flex items-center",children:[e.jsx("div",{className:`w-10 h-10 rounded-full flex items-center justify-center transition-all ${m<=d?"bg-[var(--color-accent-500)] text-white":"bg-[var(--bg-tertiary)] text-[var(--text-secondary)]"}`,children:a.icon}),m<c.length-1&&e.jsx("div",{className:`w-12 h-1 mx-1 rounded transition-all ${m<d?"bg-[var(--color-accent-500)]":"bg-[var(--bg-tertiary)]"}`})]},a.key))})}),e.jsxs("div",{className:"bg-[var(--bg-secondary)] rounded-2xl p-8 shadow-lg border border-[var(--border-color)]",children:[l==="language"&&e.jsxs("div",{children:[e.jsx("h2",{className:"text-xl font-semibold mb-6 text-center",children:s("onboarding.languageLabel")}),e.jsx("div",{className:"grid grid-cols-2 gap-4",children:N.map(a=>e.jsxs("button",{onClick:()=>k(a.code),className:`p-4 rounded-xl border-2 transition-all ${n===a.code?"border-[var(--color-accent-500)] bg-[var(--color-accent-50)] dark:bg-[var(--color-accent-900)]/20":"border-[var(--border-color)] hover:border-[var(--color-accent-300)]"}`,children:[e.jsx("span",{className:"text-3xl mb-2 block",children:a.flag}),e.jsx("span",{className:"font-medium",children:a.name})]},a.code))})]}),l==="theme"&&e.jsxs("div",{children:[e.jsx("h2",{className:"text-xl font-semibold mb-6 text-center",children:s("onboarding.themeLabel")}),e.jsx("div",{className:"grid grid-cols-3 gap-3 mb-8",children:b.map(a=>e.jsxs("button",{onClick:()=>w(a.value),className:`p-4 rounded-xl border-2 transition-all ${o===a.value?"border-[var(--color-accent-500)] bg-[var(--color-accent-50)] dark:bg-[var(--color-accent-900)]/20":"border-[var(--border-color)] hover:border-[var(--color-accent-300)]"}`,children:[e.jsx("span",{className:"text-2xl mb-2 block",children:a.icon}),e.jsx("span",{className:"text-sm font-medium",children:s(`onboarding.${a.labelKey}`)})]},a.value))}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-medium mb-3 text-[var(--text-secondary)]",children:s("onboarding.accentColorLabel")}),e.jsx("div",{className:"flex justify-center gap-3",children:u.map(a=>e.jsx("button",{onClick:()=>S(a.key),className:`w-10 h-10 rounded-full transition-all ${i===a.key?"ring-2 ring-offset-2 ring-[var(--color-accent-500)] ring-offset-[var(--bg-secondary)]":"hover:scale-110"}`,style:{backgroundColor:a.color},title:a.name},a.key))})]})]}),l==="complete"&&e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"w-20 h-20 mx-auto bg-[var(--color-accent-100)] dark:bg-[var(--color-accent-900)]/30 rounded-full flex items-center justify-center mb-6",children:e.jsx(t.Sparkles,{className:"w-10 h-10 text-[var(--color-accent-500)]"})}),e.jsx("h2",{className:"text-xl font-semibold mb-4",children:s("onboarding.stepComplete")}),e.jsxs("div",{className:"text-[var(--text-secondary)] mb-6 space-y-2",children:[e.jsx("p",{children:e.jsxs("span",{className:"inline-flex items-center gap-2",children:[e.jsx(t.Globe,{className:"w-4 h-4"}),N.find(a=>a.code===n)?.name]})}),e.jsx("p",{children:e.jsxs("span",{className:"inline-flex items-center gap-2",children:[e.jsx(t.Palette,{className:"w-4 h-4"}),b.find(a=>a.value===o)?.icon," ",s(`onboarding.${b.find(a=>a.value===o)?.labelKey}`)]})}),e.jsx("p",{children:e.jsxs("span",{className:"inline-flex items-center gap-2",children:[e.jsx("span",{className:"w-4 h-4 rounded-full",style:{backgroundColor:u.find(a=>a.key===i)?.color}}),u.find(a=>a.key===i)?.name]})})]}),j&&e.jsx("div",{className:"bg-red-50 dark:bg-red-900/20 text-red-700 dark:text-red-300 rounded-lg p-3 mb-4 text-sm",children:j})]}),e.jsxs("div",{className:"flex justify-between mt-8",children:[d>0?e.jsxs("button",{onClick:K,className:"flex items-center gap-2 px-4 py-2 text-[var(--text-secondary)] hover:text-[var(--text-primary)] transition-colors",children:[e.jsx(t.ArrowLeft,{className:"w-4 h-4"}),s("onboarding.back")]}):e.jsx("div",{}),l==="complete"?e.jsx("button",{onClick:O,disabled:p,className:"flex items-center gap-2 px-6 py-2 bg-[var(--color-accent-500)] hover:bg-[var(--color-accent-600)] text-white rounded-lg font-medium transition-colors disabled:opacity-50",children:p?e.jsxs(e.Fragment,{children:[e.jsx(t.Loader2,{className:"w-4 h-4 animate-spin"}),s("onboarding.completing")]}):e.jsxs(e.Fragment,{children:[s("onboarding.complete"),e.jsx(t.CheckCircle,{className:"w-4 h-4"})]})}):e.jsxs("button",{onClick:I,className:"flex items-center gap-2 px-6 py-2 bg-[var(--color-accent-500)] hover:bg-[var(--color-accent-600)] text-white rounded-lg font-medium transition-colors",children:[s("onboarding.continue"),e.jsx(t.ArrowRight,{className:"w-4 h-4"})]})]})]})]})})}exports.OnboardingWizardPage=$;
|
|
2
|
+
//# sourceMappingURL=OnboardingWizardPage-CgEpUx9X.cjs.map
|