import { lazy, Suspense } from 'react'; import { Route, Routes } from 'react-router-dom'; import { SettingsSkeletonLoader } from '@/settings/components/SettingsSkeletonLoader'; import { AppPath } from '@/types/AppPath'; import { SettingsPath } from '@/types/SettingsPath'; const SettingsAccountsCalendars = lazy(() => import('~/pages/settings/accounts/SettingsAccountsCalendars').then( (module) => ({ default: module.SettingsAccountsCalendars, }), ), ); const SettingsAccountsEmails = lazy(() => import('~/pages/settings/accounts/SettingsAccountsEmails').then((module) => ({ default: module.SettingsAccountsEmails, })), ); const SettingsNewAccount = lazy(() => import('~/pages/settings/accounts/SettingsNewAccount').then((module) => ({ default: module.SettingsNewAccount, })), ); const SettingsNewObject = lazy(() => import('~/pages/settings/data-model/SettingsNewObject').then((module) => ({ default: module.SettingsNewObject, })), ); const SettingsObjectDetailPage = lazy(() => import('~/pages/settings/data-model/SettingsObjectDetailPage').then( (module) => ({ default: module.SettingsObjectDetailPage, }), ), ); const SettingsObjectOverview = lazy(() => import('~/pages/settings/data-model/SettingsObjectOverview').then( (module) => ({ default: module.SettingsObjectOverview, }), ), ); const SettingsDevelopersApiKeyDetail = lazy(() => import( '~/pages/settings/developers/api-keys/SettingsDevelopersApiKeyDetail' ).then((module) => ({ default: module.SettingsDevelopersApiKeyDetail, })), ); const SettingsDevelopersApiKeysNew = lazy(() => import( '~/pages/settings/developers/api-keys/SettingsDevelopersApiKeysNew' ).then((module) => ({ default: module.SettingsDevelopersApiKeysNew, })), ); const SettingsDevelopersWebhooksNew = lazy(() => import( '~/pages/settings/developers/webhooks/components/SettingsDevelopersWebhooksNew' ).then((module) => ({ default: module.SettingsDevelopersWebhooksNew, })), ); const Releases = lazy(() => import('~/pages/settings/Releases').then((module) => ({ default: module.Releases, })), ); const SettingsServerlessFunctions = lazy(() => import( '~/pages/settings/serverless-functions/SettingsServerlessFunctions' ).then((module) => ({ default: module.SettingsServerlessFunctions })), ); const SettingsServerlessFunctionDetailWrapper = lazy(() => import( '~/pages/settings/serverless-functions/SettingsServerlessFunctionDetailWrapper' ).then((module) => ({ default: module.SettingsServerlessFunctionDetailWrapper, })), ); const SettingsServerlessFunctionsNew = lazy(() => import( '~/pages/settings/serverless-functions/SettingsServerlessFunctionsNew' ).then((module) => ({ default: module.SettingsServerlessFunctionsNew, })), ); const SettingsWorkspace = lazy(() => import('~/pages/settings/SettingsWorkspace').then((module) => ({ default: module.SettingsWorkspace, })), ); const SettingsWorkspaceMembers = lazy(() => import('~/pages/settings/SettingsWorkspaceMembers').then((module) => ({ default: module.SettingsWorkspaceMembers, })), ); const SettingsProfile = lazy(() => import('~/pages/settings/SettingsProfile').then((module) => ({ default: module.SettingsProfile, })), ); const SettingsAppearance = lazy(() => import( '~/pages/settings/profile/appearance/components/SettingsAppearance' ).then((module) => ({ default: module.SettingsAppearance, })), ); const SettingsAccounts = lazy(() => import('~/pages/settings/accounts/SettingsAccounts').then((module) => ({ default: module.SettingsAccounts, })), ); const SettingsBilling = lazy(() => import('~/pages/settings/SettingsBilling').then((module) => ({ default: module.SettingsBilling, })), ); const SettingsDevelopers = lazy(() => import('~/pages/settings/developers/SettingsDevelopers').then((module) => ({ default: module.SettingsDevelopers, })), ); const SettingsIntegrations = lazy(() => import('~/pages/settings/integrations/SettingsIntegrations').then( (module) => ({ default: module.SettingsIntegrations, }), ), ); const SettingsObjects = lazy(() => import('~/pages/settings/data-model/SettingsObjects').then((module) => ({ default: module.SettingsObjects, })), ); const SettingsDevelopersWebhooksDetail = lazy(() => import( '~/pages/settings/developers/webhooks/components/SettingsDevelopersWebhookDetail' ).then((module) => ({ default: module.SettingsDevelopersWebhooksDetail, })), ); const SettingsIntegrationDatabase = lazy(() => import('~/pages/settings/integrations/SettingsIntegrationDatabase').then( (module) => ({ default: module.SettingsIntegrationDatabase, }), ), ); const SettingsIntegrationNewDatabaseConnection = lazy(() => import( '~/pages/settings/integrations/SettingsIntegrationNewDatabaseConnection' ).then((module) => ({ default: module.SettingsIntegrationNewDatabaseConnection, })), ); const SettingsIntegrationEditDatabaseConnection = lazy(() => import( '~/pages/settings/integrations/SettingsIntegrationEditDatabaseConnection' ).then((module) => ({ default: module.SettingsIntegrationEditDatabaseConnection, })), ); const SettingsIntegrationShowDatabaseConnection = lazy(() => import( '~/pages/settings/integrations/SettingsIntegrationShowDatabaseConnection' ).then((module) => ({ default: module.SettingsIntegrationShowDatabaseConnection, })), ); const SettingsObjectNewFieldSelect = lazy(() => import( '~/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldSelect' ).then((module) => ({ default: module.SettingsObjectNewFieldSelect, })), ); const SettingsObjectNewFieldConfigure = lazy(() => import( '~/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldConfigure' ).then((module) => ({ default: module.SettingsObjectNewFieldConfigure, })), ); const SettingsObjectFieldEdit = lazy(() => import('~/pages/settings/data-model/SettingsObjectFieldEdit').then( (module) => ({ default: module.SettingsObjectFieldEdit, }), ), ); const SettingsCRMMigration = lazy(() => import('~/pages/settings/crm-migration/SettingsCRMMigration').then( (module) => ({ default: module.SettingsCRMMigration, }), ), ); const SettingsSecurity = lazy(() => import('~/pages/settings/security/SettingsSecurity').then((module) => ({ default: module.SettingsSecurity, })), ); const SettingsSecuritySSOIdentifyProvider = lazy(() => import('~/pages/settings/security/SettingsSecuritySSOIdentifyProvider').then( (module) => ({ default: module.SettingsSecuritySSOIdentifyProvider, }), ), ); const SettingsAdmin = lazy(() => import('~/pages/settings/admin-panel/SettingsAdmin').then((module) => ({ default: module.SettingsAdmin, })), ); const SettingsAdminFeatureFlags = lazy(() => import('~/pages/settings/admin-panel/SettingsAdminFeatureFlags').then( (module) => ({ default: module.SettingsAdminFeatureFlags, }), ), ); type SettingsRoutesProps = { isBillingEnabled?: boolean; isCRMMigrationEnabled?: boolean; isServerlessFunctionSettingsEnabled?: boolean; isSSOEnabled?: boolean; isAdminPageEnabled?: boolean; }; export const SettingsRoutes = ({ isBillingEnabled, isCRMMigrationEnabled, isServerlessFunctionSettingsEnabled, isSSOEnabled, isAdminPageEnabled, }: SettingsRoutesProps) => ( }> } /> } /> } /> } /> } /> } /> {isBillingEnabled && ( } /> )} } /> } /> } /> } /> } /> } /> } /> {isCRMMigrationEnabled && ( } /> )} } /> } /> } /> } /> } /> {isServerlessFunctionSettingsEnabled && ( <> } /> } /> } /> )} } /> } /> } /> } /> } /> } /> } /> } /> } /> {isSSOEnabled && ( <> } /> } /> )} {isAdminPageEnabled && ( <> } /> } /> )} );