@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":"InfrastructurePage-D4ZjLzI_.cjs","sources":["../src/pages/system/docs/developer/InfrastructurePage.tsx"],"sourcesContent":["import { Link } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Server, Layers, Code, ArrowRight, Check } from 'lucide-react';\r\n\r\nexport function InfrastructurePage() {\r\n const { t } = useTranslation('docs');\r\n\r\n const techStack = [\r\n { name: '.NET 10', descKey: 'developer.infrastructure.techStack.net' },\r\n { name: 'React 19', descKey: 'developer.infrastructure.techStack.react' },\r\n { name: 'TypeScript 5.x', descKey: 'developer.infrastructure.techStack.typescript' },\r\n { name: 'EF Core 10', descKey: 'developer.infrastructure.techStack.efcore' },\r\n { name: 'SQL Server', descKey: 'developer.infrastructure.techStack.sqlserver' },\r\n { name: 'Serilog', descKey: 'developer.infrastructure.techStack.serilog' },\r\n { name: 'Tailwind CSS', descKey: 'developer.infrastructure.techStack.tailwind' },\r\n { name: 'Vite', descKey: 'developer.infrastructure.techStack.vite' },\r\n { name: 'Axios', descKey: 'developer.infrastructure.techStack.axios' },\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('breadcrumb.documentation')}</Link>\r\n <span>/</span>\r\n <Link to=\"/system/docs/developer\" className=\"hover:text-[var(--color-primary-600)]\">{t('breadcrumb.developer')}</Link>\r\n <span>/</span>\r\n <span>{t('developer.infrastructure.title')}</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 <Server className=\"w-8 h-8 text-[var(--color-primary-600)]\" />\r\n {t('developer.infrastructure.title')}\r\n </h1>\r\n <p className=\"text-lg text-[var(--text-secondary)]\">\r\n {t('developer.infrastructure.subtitle')}\r\n </p>\r\n </div>\r\n\r\n {/* Tech Stack */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4\">{t('developer.infrastructure.techStack.title')}</h2>\r\n <div className=\"grid grid-cols-2 md:grid-cols-3 gap-4\">\r\n {techStack.map((tech) => (\r\n <div key={tech.name} className=\"p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <div className=\"font-medium\">{tech.name}</div>\r\n <div className=\"text-sm text-[var(--text-secondary)]\">{t(tech.descKey)}</div>\r\n </div>\r\n ))}\r\n </div>\r\n </section>\r\n\r\n {/* Architecture */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <Layers className=\"w-5 h-5\" />\r\n {t('developer.infrastructure.architecture.title')}\r\n </h2>\r\n\r\n <div className=\"space-y-4\">\r\n {/* Domain */}\r\n <div className=\"p-4 bg-gradient-to-r from-purple-500/10 to-transparent rounded-lg border-l-4 border-purple-500\">\r\n <h3 className=\"font-semibold text-purple-600 dark:text-purple-400\">SmartStack.Domain</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.infrastructure.architecture.domain.desc')}\r\n <strong className=\"block mt-1\">{t('developer.infrastructure.architecture.domain.noDeps')}</strong>\r\n </p>\r\n <ul className=\"mt-2 text-sm space-y-1\">\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.domain.entities')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.domain.valueObjects')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.domain.events')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.domain.enums')}</li>\r\n </ul>\r\n </div>\r\n\r\n {/* Application */}\r\n <div className=\"p-4 bg-gradient-to-r from-blue-500/10 to-transparent rounded-lg border-l-4 border-blue-500\">\r\n <h3 className=\"font-semibold text-blue-600 dark:text-blue-400\">SmartStack.Application</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.infrastructure.architecture.application.desc')}\r\n <strong className=\"block mt-1\">{t('developer.infrastructure.architecture.application.deps')}</strong>\r\n </p>\r\n <ul className=\"mt-2 text-sm space-y-1\">\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.application.commands')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.application.queries')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.application.dtos')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.application.interfaces')}</li>\r\n </ul>\r\n </div>\r\n\r\n {/* Infrastructure */}\r\n <div className=\"p-4 bg-gradient-to-r from-green-500/10 to-transparent rounded-lg border-l-4 border-green-500\">\r\n <h3 className=\"font-semibold text-green-600 dark:text-green-400\">SmartStack.Infrastructure</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.infrastructure.architecture.infrastructure.desc')}\r\n <strong className=\"block mt-1\">{t('developer.infrastructure.architecture.infrastructure.deps')}</strong>\r\n </p>\r\n <ul className=\"mt-2 text-sm space-y-1\">\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.infrastructure.dbcontext')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.infrastructure.configs')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.infrastructure.migrations')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.infrastructure.services')}</li>\r\n </ul>\r\n </div>\r\n\r\n {/* API */}\r\n <div className=\"p-4 bg-gradient-to-r from-orange-500/10 to-transparent rounded-lg border-l-4 border-orange-500\">\r\n <h3 className=\"font-semibold text-orange-600 dark:text-orange-400\">SmartStack.Api</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.infrastructure.architecture.api.desc')}\r\n <strong className=\"block mt-1\">{t('developer.infrastructure.architecture.api.deps')}</strong>\r\n </p>\r\n <ul className=\"mt-2 text-sm space-y-1\">\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.api.controllers')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.api.middlewares')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.api.di')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.api.auth')}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n {/* Dependency Flow */}\r\n <div className=\"mt-6 p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <h4 className=\"font-medium mb-2\">{t('developer.infrastructure.architecture.dependencyFlow.title')}</h4>\r\n <pre className=\"text-sm font-mono\">\r\n{`Domain ← Application ← Infrastructure\r\n ↖ ↙\r\n Api`}\r\n </pre>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-2\">\r\n <strong>{t('common.rule', { defaultValue: 'Règle' })}:</strong> {t('developer.infrastructure.architecture.dependencyFlow.rule')}\r\n </p>\r\n </div>\r\n </section>\r\n\r\n {/* 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 <Code className=\"w-5 h-5\" />\r\n {t('developer.infrastructure.frontend.title')}\r\n </h2>\r\n\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <div className=\"p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <h4 className=\"font-medium mb-2\">{t('developer.infrastructure.frontend.structure')}</h4>\r\n <pre className=\"text-xs\">\r\n{`src/\r\n├── components/ → ${t('developer.infrastructure.frontend.structureDesc.components')}\r\n├── contexts/ → ${t('developer.infrastructure.frontend.structureDesc.contexts')}\r\n├── hooks/ → ${t('developer.infrastructure.frontend.structureDesc.hooks')}\r\n├── layouts/ → ${t('developer.infrastructure.frontend.structureDesc.layouts')}\r\n├── pages/ → ${t('developer.infrastructure.frontend.structureDesc.pages')}\r\n├── services/ → ${t('developer.infrastructure.frontend.structureDesc.services')}\r\n└── i18n/ → ${t('developer.infrastructure.frontend.structureDesc.i18n')}`}\r\n </pre>\r\n </div>\r\n\r\n <div className=\"p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <h4 className=\"font-medium mb-2\">{t('developer.infrastructure.frontend.conventions')}</h4>\r\n <ul className=\"text-sm space-y-2\">\r\n <li className=\"flex items-start gap-2\">\r\n <Check className=\"w-4 h-4 text-green-500 mt-0.5\" />\r\n <span>{t('developer.infrastructure.frontend.conventionsList.featureBased')}</span>\r\n </li>\r\n <li className=\"flex items-start gap-2\">\r\n <Check className=\"w-4 h-4 text-green-500 mt-0.5\" />\r\n <span>{t('developer.infrastructure.frontend.conventionsList.customHooks')}</span>\r\n </li>\r\n <li className=\"flex items-start gap-2\">\r\n <Check className=\"w-4 h-4 text-green-500 mt-0.5\" />\r\n <span>{t('developer.infrastructure.frontend.conventionsList.apiCentralized')}</span>\r\n </li>\r\n <li className=\"flex items-start gap-2\">\r\n <Check className=\"w-4 h-4 text-green-500 mt-0.5\" />\r\n <span>{t('developer.infrastructure.frontend.conventionsList.cssVariables')}</span>\r\n </li>\r\n </ul>\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/developer\"\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.infrastructure.nav.back')}\r\n </Link>\r\n <Link\r\n to=\"/system/docs/developer/installation\"\r\n className=\"flex items-center gap-2 text-[var(--color-primary-600)] hover:underline\"\r\n >\r\n {t('developer.infrastructure.nav.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":["InfrastructurePage","t","useTranslation","techStack","jsxs","jsx","Link","Server","tech","Layers","Check","Code","ArrowRight"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InfrastructurePage-D4ZjLzI_.cjs","sources":["../src/pages/system/docs/developer/InfrastructurePage.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { Link } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Server, Layers, Code, ArrowRight, Check } from 'lucide-react';\r\n\r\nexport function InfrastructurePage(): ReactElement {\r\n const { t } = useTranslation('docs');\r\n\r\n const techStack = [\r\n { name: '.NET 10', descKey: 'developer.infrastructure.techStack.net' },\r\n { name: 'React 19', descKey: 'developer.infrastructure.techStack.react' },\r\n { name: 'TypeScript 5.x', descKey: 'developer.infrastructure.techStack.typescript' },\r\n { name: 'EF Core 10', descKey: 'developer.infrastructure.techStack.efcore' },\r\n { name: 'SQL Server', descKey: 'developer.infrastructure.techStack.sqlserver' },\r\n { name: 'Serilog', descKey: 'developer.infrastructure.techStack.serilog' },\r\n { name: 'Tailwind CSS', descKey: 'developer.infrastructure.techStack.tailwind' },\r\n { name: 'Vite', descKey: 'developer.infrastructure.techStack.vite' },\r\n { name: 'Axios', descKey: 'developer.infrastructure.techStack.axios' },\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('breadcrumb.documentation')}</Link>\r\n <span>/</span>\r\n <Link to=\"/system/docs/developer\" className=\"hover:text-[var(--color-primary-600)]\">{t('breadcrumb.developer')}</Link>\r\n <span>/</span>\r\n <span>{t('developer.infrastructure.title')}</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 <Server className=\"w-8 h-8 text-[var(--color-primary-600)]\" />\r\n {t('developer.infrastructure.title')}\r\n </h1>\r\n <p className=\"text-lg text-[var(--text-secondary)]\">\r\n {t('developer.infrastructure.subtitle')}\r\n </p>\r\n </div>\r\n\r\n {/* Tech Stack */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4\">{t('developer.infrastructure.techStack.title')}</h2>\r\n <div className=\"grid grid-cols-2 md:grid-cols-3 gap-4\">\r\n {techStack.map((tech) => (\r\n <div key={tech.name} className=\"p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <div className=\"font-medium\">{tech.name}</div>\r\n <div className=\"text-sm text-[var(--text-secondary)]\">{t(tech.descKey)}</div>\r\n </div>\r\n ))}\r\n </div>\r\n </section>\r\n\r\n {/* Architecture */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <Layers className=\"w-5 h-5\" />\r\n {t('developer.infrastructure.architecture.title')}\r\n </h2>\r\n\r\n <div className=\"space-y-4\">\r\n {/* Domain */}\r\n <div className=\"p-4 bg-gradient-to-r from-purple-500/10 to-transparent rounded-lg border-l-4 border-purple-500\">\r\n <h3 className=\"font-semibold text-purple-600 dark:text-purple-400\">SmartStack.Domain</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.infrastructure.architecture.domain.desc')}\r\n <strong className=\"block mt-1\">{t('developer.infrastructure.architecture.domain.noDeps')}</strong>\r\n </p>\r\n <ul className=\"mt-2 text-sm space-y-1\">\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.domain.entities')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.domain.valueObjects')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.domain.events')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.domain.enums')}</li>\r\n </ul>\r\n </div>\r\n\r\n {/* Application */}\r\n <div className=\"p-4 bg-gradient-to-r from-blue-500/10 to-transparent rounded-lg border-l-4 border-blue-500\">\r\n <h3 className=\"font-semibold text-blue-600 dark:text-blue-400\">SmartStack.Application</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.infrastructure.architecture.application.desc')}\r\n <strong className=\"block mt-1\">{t('developer.infrastructure.architecture.application.deps')}</strong>\r\n </p>\r\n <ul className=\"mt-2 text-sm space-y-1\">\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.application.commands')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.application.queries')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.application.dtos')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.application.interfaces')}</li>\r\n </ul>\r\n </div>\r\n\r\n {/* Infrastructure */}\r\n <div className=\"p-4 bg-gradient-to-r from-green-500/10 to-transparent rounded-lg border-l-4 border-green-500\">\r\n <h3 className=\"font-semibold text-green-600 dark:text-green-400\">SmartStack.Infrastructure</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.infrastructure.architecture.infrastructure.desc')}\r\n <strong className=\"block mt-1\">{t('developer.infrastructure.architecture.infrastructure.deps')}</strong>\r\n </p>\r\n <ul className=\"mt-2 text-sm space-y-1\">\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.infrastructure.dbcontext')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.infrastructure.configs')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.infrastructure.migrations')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.infrastructure.services')}</li>\r\n </ul>\r\n </div>\r\n\r\n {/* API */}\r\n <div className=\"p-4 bg-gradient-to-r from-orange-500/10 to-transparent rounded-lg border-l-4 border-orange-500\">\r\n <h3 className=\"font-semibold text-orange-600 dark:text-orange-400\">SmartStack.Api</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.infrastructure.architecture.api.desc')}\r\n <strong className=\"block mt-1\">{t('developer.infrastructure.architecture.api.deps')}</strong>\r\n </p>\r\n <ul className=\"mt-2 text-sm space-y-1\">\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.api.controllers')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.api.middlewares')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.api.di')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.api.auth')}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n {/* Dependency Flow */}\r\n <div className=\"mt-6 p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <h4 className=\"font-medium mb-2\">{t('developer.infrastructure.architecture.dependencyFlow.title')}</h4>\r\n <pre className=\"text-sm font-mono\">\r\n{`Domain ← Application ← Infrastructure\r\n ↖ ↙\r\n Api`}\r\n </pre>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-2\">\r\n <strong>{t('common.rule', { defaultValue: 'Règle' })}:</strong> {t('developer.infrastructure.architecture.dependencyFlow.rule')}\r\n </p>\r\n </div>\r\n </section>\r\n\r\n {/* 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 <Code className=\"w-5 h-5\" />\r\n {t('developer.infrastructure.frontend.title')}\r\n </h2>\r\n\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <div className=\"p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <h4 className=\"font-medium mb-2\">{t('developer.infrastructure.frontend.structure')}</h4>\r\n <pre className=\"text-xs\">\r\n{`src/\r\n├── components/ → ${t('developer.infrastructure.frontend.structureDesc.components')}\r\n├── contexts/ → ${t('developer.infrastructure.frontend.structureDesc.contexts')}\r\n├── hooks/ → ${t('developer.infrastructure.frontend.structureDesc.hooks')}\r\n├── layouts/ → ${t('developer.infrastructure.frontend.structureDesc.layouts')}\r\n├── pages/ → ${t('developer.infrastructure.frontend.structureDesc.pages')}\r\n├── services/ → ${t('developer.infrastructure.frontend.structureDesc.services')}\r\n└── i18n/ → ${t('developer.infrastructure.frontend.structureDesc.i18n')}`}\r\n </pre>\r\n </div>\r\n\r\n <div className=\"p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <h4 className=\"font-medium mb-2\">{t('developer.infrastructure.frontend.conventions')}</h4>\r\n <ul className=\"text-sm space-y-2\">\r\n <li className=\"flex items-start gap-2\">\r\n <Check className=\"w-4 h-4 text-green-500 mt-0.5\" />\r\n <span>{t('developer.infrastructure.frontend.conventionsList.featureBased')}</span>\r\n </li>\r\n <li className=\"flex items-start gap-2\">\r\n <Check className=\"w-4 h-4 text-green-500 mt-0.5\" />\r\n <span>{t('developer.infrastructure.frontend.conventionsList.customHooks')}</span>\r\n </li>\r\n <li className=\"flex items-start gap-2\">\r\n <Check className=\"w-4 h-4 text-green-500 mt-0.5\" />\r\n <span>{t('developer.infrastructure.frontend.conventionsList.apiCentralized')}</span>\r\n </li>\r\n <li className=\"flex items-start gap-2\">\r\n <Check className=\"w-4 h-4 text-green-500 mt-0.5\" />\r\n <span>{t('developer.infrastructure.frontend.conventionsList.cssVariables')}</span>\r\n </li>\r\n </ul>\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/developer\"\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.infrastructure.nav.back')}\r\n </Link>\r\n <Link\r\n to=\"/system/docs/developer/installation\"\r\n className=\"flex items-center gap-2 text-[var(--color-primary-600)] hover:underline\"\r\n >\r\n {t('developer.infrastructure.nav.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":["InfrastructurePage","t","useTranslation","techStack","jsxs","jsx","Link","Server","tech","Layers","Check","Code","ArrowRight"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InfrastructurePage-q_y1z8T_.js","sources":["../src/pages/system/docs/developer/InfrastructurePage.tsx"],"sourcesContent":["import { Link } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Server, Layers, Code, ArrowRight, Check } from 'lucide-react';\r\n\r\nexport function InfrastructurePage() {\r\n const { t } = useTranslation('docs');\r\n\r\n const techStack = [\r\n { name: '.NET 10', descKey: 'developer.infrastructure.techStack.net' },\r\n { name: 'React 19', descKey: 'developer.infrastructure.techStack.react' },\r\n { name: 'TypeScript 5.x', descKey: 'developer.infrastructure.techStack.typescript' },\r\n { name: 'EF Core 10', descKey: 'developer.infrastructure.techStack.efcore' },\r\n { name: 'SQL Server', descKey: 'developer.infrastructure.techStack.sqlserver' },\r\n { name: 'Serilog', descKey: 'developer.infrastructure.techStack.serilog' },\r\n { name: 'Tailwind CSS', descKey: 'developer.infrastructure.techStack.tailwind' },\r\n { name: 'Vite', descKey: 'developer.infrastructure.techStack.vite' },\r\n { name: 'Axios', descKey: 'developer.infrastructure.techStack.axios' },\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('breadcrumb.documentation')}</Link>\r\n <span>/</span>\r\n <Link to=\"/system/docs/developer\" className=\"hover:text-[var(--color-primary-600)]\">{t('breadcrumb.developer')}</Link>\r\n <span>/</span>\r\n <span>{t('developer.infrastructure.title')}</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 <Server className=\"w-8 h-8 text-[var(--color-primary-600)]\" />\r\n {t('developer.infrastructure.title')}\r\n </h1>\r\n <p className=\"text-lg text-[var(--text-secondary)]\">\r\n {t('developer.infrastructure.subtitle')}\r\n </p>\r\n </div>\r\n\r\n {/* Tech Stack */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4\">{t('developer.infrastructure.techStack.title')}</h2>\r\n <div className=\"grid grid-cols-2 md:grid-cols-3 gap-4\">\r\n {techStack.map((tech) => (\r\n <div key={tech.name} className=\"p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <div className=\"font-medium\">{tech.name}</div>\r\n <div className=\"text-sm text-[var(--text-secondary)]\">{t(tech.descKey)}</div>\r\n </div>\r\n ))}\r\n </div>\r\n </section>\r\n\r\n {/* Architecture */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <Layers className=\"w-5 h-5\" />\r\n {t('developer.infrastructure.architecture.title')}\r\n </h2>\r\n\r\n <div className=\"space-y-4\">\r\n {/* Domain */}\r\n <div className=\"p-4 bg-gradient-to-r from-purple-500/10 to-transparent rounded-lg border-l-4 border-purple-500\">\r\n <h3 className=\"font-semibold text-purple-600 dark:text-purple-400\">SmartStack.Domain</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.infrastructure.architecture.domain.desc')}\r\n <strong className=\"block mt-1\">{t('developer.infrastructure.architecture.domain.noDeps')}</strong>\r\n </p>\r\n <ul className=\"mt-2 text-sm space-y-1\">\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.domain.entities')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.domain.valueObjects')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.domain.events')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.domain.enums')}</li>\r\n </ul>\r\n </div>\r\n\r\n {/* Application */}\r\n <div className=\"p-4 bg-gradient-to-r from-blue-500/10 to-transparent rounded-lg border-l-4 border-blue-500\">\r\n <h3 className=\"font-semibold text-blue-600 dark:text-blue-400\">SmartStack.Application</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.infrastructure.architecture.application.desc')}\r\n <strong className=\"block mt-1\">{t('developer.infrastructure.architecture.application.deps')}</strong>\r\n </p>\r\n <ul className=\"mt-2 text-sm space-y-1\">\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.application.commands')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.application.queries')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.application.dtos')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.application.interfaces')}</li>\r\n </ul>\r\n </div>\r\n\r\n {/* Infrastructure */}\r\n <div className=\"p-4 bg-gradient-to-r from-green-500/10 to-transparent rounded-lg border-l-4 border-green-500\">\r\n <h3 className=\"font-semibold text-green-600 dark:text-green-400\">SmartStack.Infrastructure</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.infrastructure.architecture.infrastructure.desc')}\r\n <strong className=\"block mt-1\">{t('developer.infrastructure.architecture.infrastructure.deps')}</strong>\r\n </p>\r\n <ul className=\"mt-2 text-sm space-y-1\">\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.infrastructure.dbcontext')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.infrastructure.configs')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.infrastructure.migrations')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.infrastructure.services')}</li>\r\n </ul>\r\n </div>\r\n\r\n {/* API */}\r\n <div className=\"p-4 bg-gradient-to-r from-orange-500/10 to-transparent rounded-lg border-l-4 border-orange-500\">\r\n <h3 className=\"font-semibold text-orange-600 dark:text-orange-400\">SmartStack.Api</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.infrastructure.architecture.api.desc')}\r\n <strong className=\"block mt-1\">{t('developer.infrastructure.architecture.api.deps')}</strong>\r\n </p>\r\n <ul className=\"mt-2 text-sm space-y-1\">\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.api.controllers')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.api.middlewares')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.api.di')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.api.auth')}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n {/* Dependency Flow */}\r\n <div className=\"mt-6 p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <h4 className=\"font-medium mb-2\">{t('developer.infrastructure.architecture.dependencyFlow.title')}</h4>\r\n <pre className=\"text-sm font-mono\">\r\n{`Domain ← Application ← Infrastructure\r\n ↖ ↙\r\n Api`}\r\n </pre>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-2\">\r\n <strong>{t('common.rule', { defaultValue: 'Règle' })}:</strong> {t('developer.infrastructure.architecture.dependencyFlow.rule')}\r\n </p>\r\n </div>\r\n </section>\r\n\r\n {/* 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 <Code className=\"w-5 h-5\" />\r\n {t('developer.infrastructure.frontend.title')}\r\n </h2>\r\n\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <div className=\"p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <h4 className=\"font-medium mb-2\">{t('developer.infrastructure.frontend.structure')}</h4>\r\n <pre className=\"text-xs\">\r\n{`src/\r\n├── components/ → ${t('developer.infrastructure.frontend.structureDesc.components')}\r\n├── contexts/ → ${t('developer.infrastructure.frontend.structureDesc.contexts')}\r\n├── hooks/ → ${t('developer.infrastructure.frontend.structureDesc.hooks')}\r\n├── layouts/ → ${t('developer.infrastructure.frontend.structureDesc.layouts')}\r\n├── pages/ → ${t('developer.infrastructure.frontend.structureDesc.pages')}\r\n├── services/ → ${t('developer.infrastructure.frontend.structureDesc.services')}\r\n└── i18n/ → ${t('developer.infrastructure.frontend.structureDesc.i18n')}`}\r\n </pre>\r\n </div>\r\n\r\n <div className=\"p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <h4 className=\"font-medium mb-2\">{t('developer.infrastructure.frontend.conventions')}</h4>\r\n <ul className=\"text-sm space-y-2\">\r\n <li className=\"flex items-start gap-2\">\r\n <Check className=\"w-4 h-4 text-green-500 mt-0.5\" />\r\n <span>{t('developer.infrastructure.frontend.conventionsList.featureBased')}</span>\r\n </li>\r\n <li className=\"flex items-start gap-2\">\r\n <Check className=\"w-4 h-4 text-green-500 mt-0.5\" />\r\n <span>{t('developer.infrastructure.frontend.conventionsList.customHooks')}</span>\r\n </li>\r\n <li className=\"flex items-start gap-2\">\r\n <Check className=\"w-4 h-4 text-green-500 mt-0.5\" />\r\n <span>{t('developer.infrastructure.frontend.conventionsList.apiCentralized')}</span>\r\n </li>\r\n <li className=\"flex items-start gap-2\">\r\n <Check className=\"w-4 h-4 text-green-500 mt-0.5\" />\r\n <span>{t('developer.infrastructure.frontend.conventionsList.cssVariables')}</span>\r\n </li>\r\n </ul>\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/developer\"\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.infrastructure.nav.back')}\r\n </Link>\r\n <Link\r\n to=\"/system/docs/developer/installation\"\r\n className=\"flex items-center gap-2 text-[var(--color-primary-600)] hover:underline\"\r\n >\r\n {t('developer.infrastructure.nav.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":["InfrastructurePage","useTranslation","techStack","jsxs","jsx","Link","Server","tech","Layers","Check","Code","ArrowRight"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InfrastructurePage-q_y1z8T_.js","sources":["../src/pages/system/docs/developer/InfrastructurePage.tsx"],"sourcesContent":["import type { ReactElement } from 'react';\nimport { Link } from 'react-router-dom';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { Server, Layers, Code, ArrowRight, Check } from 'lucide-react';\r\n\r\nexport function InfrastructurePage(): ReactElement {\r\n const { t } = useTranslation('docs');\r\n\r\n const techStack = [\r\n { name: '.NET 10', descKey: 'developer.infrastructure.techStack.net' },\r\n { name: 'React 19', descKey: 'developer.infrastructure.techStack.react' },\r\n { name: 'TypeScript 5.x', descKey: 'developer.infrastructure.techStack.typescript' },\r\n { name: 'EF Core 10', descKey: 'developer.infrastructure.techStack.efcore' },\r\n { name: 'SQL Server', descKey: 'developer.infrastructure.techStack.sqlserver' },\r\n { name: 'Serilog', descKey: 'developer.infrastructure.techStack.serilog' },\r\n { name: 'Tailwind CSS', descKey: 'developer.infrastructure.techStack.tailwind' },\r\n { name: 'Vite', descKey: 'developer.infrastructure.techStack.vite' },\r\n { name: 'Axios', descKey: 'developer.infrastructure.techStack.axios' },\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('breadcrumb.documentation')}</Link>\r\n <span>/</span>\r\n <Link to=\"/system/docs/developer\" className=\"hover:text-[var(--color-primary-600)]\">{t('breadcrumb.developer')}</Link>\r\n <span>/</span>\r\n <span>{t('developer.infrastructure.title')}</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 <Server className=\"w-8 h-8 text-[var(--color-primary-600)]\" />\r\n {t('developer.infrastructure.title')}\r\n </h1>\r\n <p className=\"text-lg text-[var(--text-secondary)]\">\r\n {t('developer.infrastructure.subtitle')}\r\n </p>\r\n </div>\r\n\r\n {/* Tech Stack */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4\">{t('developer.infrastructure.techStack.title')}</h2>\r\n <div className=\"grid grid-cols-2 md:grid-cols-3 gap-4\">\r\n {techStack.map((tech) => (\r\n <div key={tech.name} className=\"p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <div className=\"font-medium\">{tech.name}</div>\r\n <div className=\"text-sm text-[var(--text-secondary)]\">{t(tech.descKey)}</div>\r\n </div>\r\n ))}\r\n </div>\r\n </section>\r\n\r\n {/* Architecture */}\r\n <section className=\"card p-6\">\r\n <h2 className=\"text-xl font-semibold mb-4 flex items-center gap-2\">\r\n <Layers className=\"w-5 h-5\" />\r\n {t('developer.infrastructure.architecture.title')}\r\n </h2>\r\n\r\n <div className=\"space-y-4\">\r\n {/* Domain */}\r\n <div className=\"p-4 bg-gradient-to-r from-purple-500/10 to-transparent rounded-lg border-l-4 border-purple-500\">\r\n <h3 className=\"font-semibold text-purple-600 dark:text-purple-400\">SmartStack.Domain</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.infrastructure.architecture.domain.desc')}\r\n <strong className=\"block mt-1\">{t('developer.infrastructure.architecture.domain.noDeps')}</strong>\r\n </p>\r\n <ul className=\"mt-2 text-sm space-y-1\">\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.domain.entities')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.domain.valueObjects')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.domain.events')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.domain.enums')}</li>\r\n </ul>\r\n </div>\r\n\r\n {/* Application */}\r\n <div className=\"p-4 bg-gradient-to-r from-blue-500/10 to-transparent rounded-lg border-l-4 border-blue-500\">\r\n <h3 className=\"font-semibold text-blue-600 dark:text-blue-400\">SmartStack.Application</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.infrastructure.architecture.application.desc')}\r\n <strong className=\"block mt-1\">{t('developer.infrastructure.architecture.application.deps')}</strong>\r\n </p>\r\n <ul className=\"mt-2 text-sm space-y-1\">\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.application.commands')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.application.queries')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.application.dtos')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.application.interfaces')}</li>\r\n </ul>\r\n </div>\r\n\r\n {/* Infrastructure */}\r\n <div className=\"p-4 bg-gradient-to-r from-green-500/10 to-transparent rounded-lg border-l-4 border-green-500\">\r\n <h3 className=\"font-semibold text-green-600 dark:text-green-400\">SmartStack.Infrastructure</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.infrastructure.architecture.infrastructure.desc')}\r\n <strong className=\"block mt-1\">{t('developer.infrastructure.architecture.infrastructure.deps')}</strong>\r\n </p>\r\n <ul className=\"mt-2 text-sm space-y-1\">\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.infrastructure.dbcontext')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.infrastructure.configs')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.infrastructure.migrations')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.infrastructure.services')}</li>\r\n </ul>\r\n </div>\r\n\r\n {/* API */}\r\n <div className=\"p-4 bg-gradient-to-r from-orange-500/10 to-transparent rounded-lg border-l-4 border-orange-500\">\r\n <h3 className=\"font-semibold text-orange-600 dark:text-orange-400\">SmartStack.Api</h3>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-1\">\r\n {t('developer.infrastructure.architecture.api.desc')}\r\n <strong className=\"block mt-1\">{t('developer.infrastructure.architecture.api.deps')}</strong>\r\n </p>\r\n <ul className=\"mt-2 text-sm space-y-1\">\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.api.controllers')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.api.middlewares')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.api.di')}</li>\r\n <li className=\"flex items-center gap-2\"><Check className=\"w-4 h-4 text-green-500\" /> {t('developer.infrastructure.architecture.api.auth')}</li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n {/* Dependency Flow */}\r\n <div className=\"mt-6 p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <h4 className=\"font-medium mb-2\">{t('developer.infrastructure.architecture.dependencyFlow.title')}</h4>\r\n <pre className=\"text-sm font-mono\">\r\n{`Domain ← Application ← Infrastructure\r\n ↖ ↙\r\n Api`}\r\n </pre>\r\n <p className=\"text-sm text-[var(--text-secondary)] mt-2\">\r\n <strong>{t('common.rule', { defaultValue: 'Règle' })}:</strong> {t('developer.infrastructure.architecture.dependencyFlow.rule')}\r\n </p>\r\n </div>\r\n </section>\r\n\r\n {/* 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 <Code className=\"w-5 h-5\" />\r\n {t('developer.infrastructure.frontend.title')}\r\n </h2>\r\n\r\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\r\n <div className=\"p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <h4 className=\"font-medium mb-2\">{t('developer.infrastructure.frontend.structure')}</h4>\r\n <pre className=\"text-xs\">\r\n{`src/\r\n├── components/ → ${t('developer.infrastructure.frontend.structureDesc.components')}\r\n├── contexts/ → ${t('developer.infrastructure.frontend.structureDesc.contexts')}\r\n├── hooks/ → ${t('developer.infrastructure.frontend.structureDesc.hooks')}\r\n├── layouts/ → ${t('developer.infrastructure.frontend.structureDesc.layouts')}\r\n├── pages/ → ${t('developer.infrastructure.frontend.structureDesc.pages')}\r\n├── services/ → ${t('developer.infrastructure.frontend.structureDesc.services')}\r\n└── i18n/ → ${t('developer.infrastructure.frontend.structureDesc.i18n')}`}\r\n </pre>\r\n </div>\r\n\r\n <div className=\"p-4 bg-[var(--bg-secondary)] rounded-lg\">\r\n <h4 className=\"font-medium mb-2\">{t('developer.infrastructure.frontend.conventions')}</h4>\r\n <ul className=\"text-sm space-y-2\">\r\n <li className=\"flex items-start gap-2\">\r\n <Check className=\"w-4 h-4 text-green-500 mt-0.5\" />\r\n <span>{t('developer.infrastructure.frontend.conventionsList.featureBased')}</span>\r\n </li>\r\n <li className=\"flex items-start gap-2\">\r\n <Check className=\"w-4 h-4 text-green-500 mt-0.5\" />\r\n <span>{t('developer.infrastructure.frontend.conventionsList.customHooks')}</span>\r\n </li>\r\n <li className=\"flex items-start gap-2\">\r\n <Check className=\"w-4 h-4 text-green-500 mt-0.5\" />\r\n <span>{t('developer.infrastructure.frontend.conventionsList.apiCentralized')}</span>\r\n </li>\r\n <li className=\"flex items-start gap-2\">\r\n <Check className=\"w-4 h-4 text-green-500 mt-0.5\" />\r\n <span>{t('developer.infrastructure.frontend.conventionsList.cssVariables')}</span>\r\n </li>\r\n </ul>\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/developer\"\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.infrastructure.nav.back')}\r\n </Link>\r\n <Link\r\n to=\"/system/docs/developer/installation\"\r\n className=\"flex items-center gap-2 text-[var(--color-primary-600)] hover:underline\"\r\n >\r\n {t('developer.infrastructure.nav.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":["InfrastructurePage","useTranslation","techStack","jsxs","jsx","Link","Server","tech","Layers","Check","Code","ArrowRight"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstallationPage-BJ-GBVPp.cjs","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","handleCopy","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-BJ-GBVPp.cjs","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","handleCopy","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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"}
|