diff --git a/frontend/src/container/GeneralSettingsCloud/GeneralSettingsCloud.styles.scss b/frontend/src/container/GeneralSettingsCloud/GeneralSettingsCloud.styles.scss new file mode 100644 index 0000000000..07e391796c --- /dev/null +++ b/frontend/src/container/GeneralSettingsCloud/GeneralSettingsCloud.styles.scss @@ -0,0 +1,7 @@ +.general-settings-container { + .ant-card-body { + display: flex; + align-items: center; + gap: 16px; + } +} diff --git a/frontend/src/container/GeneralSettingsCloud/GeneralSettingsCloud.tsx b/frontend/src/container/GeneralSettingsCloud/GeneralSettingsCloud.tsx new file mode 100644 index 0000000000..4782d03e12 --- /dev/null +++ b/frontend/src/container/GeneralSettingsCloud/GeneralSettingsCloud.tsx @@ -0,0 +1,16 @@ +import './GeneralSettingsCloud.styles.scss'; + +import { Card, Typography } from 'antd'; +import { Info } from 'lucide-react'; + +export default function GeneralSettingsCloud(): JSX.Element { + return ( + + + + Please email us or connect with us via intercom support to change the + retention period. + + + ); +} diff --git a/frontend/src/container/GeneralSettingsCloud/index.tsx b/frontend/src/container/GeneralSettingsCloud/index.tsx new file mode 100644 index 0000000000..49acd9140a --- /dev/null +++ b/frontend/src/container/GeneralSettingsCloud/index.tsx @@ -0,0 +1,3 @@ +import GeneralSettingsCloud from './GeneralSettingsCloud'; + +export default GeneralSettingsCloud; diff --git a/frontend/src/container/SideNav/SideNav.tsx b/frontend/src/container/SideNav/SideNav.tsx index 29435a399b..b7a06ff0e5 100644 --- a/frontend/src/container/SideNav/SideNav.tsx +++ b/frontend/src/container/SideNav/SideNav.tsx @@ -253,6 +253,15 @@ function SideNav({ } }, [isCloudUserVal, isEnterprise, isFetching]); + const [isCurrentOrgSettings] = useComponentPermission( + ['current_org_settings'], + role, + ); + + const settingsRoute = isCurrentOrgSettings + ? ROUTES.ORG_SETTINGS + : ROUTES.SETTINGS; + return (
@@ -302,7 +311,9 @@ function SideNav({ item={item} isActive={activeMenuKey === item.key} onClick={(): void => { - if (item) { + if (item.key === ROUTES.SETTINGS) { + history.push(settingsRoute); + } else if (item) { onClickHandler(item?.key as string); } }} diff --git a/frontend/src/pages/Settings/config.ts b/frontend/src/pages/Settings/config.ts index 26fb1805fa..ca18559ec5 100644 --- a/frontend/src/pages/Settings/config.ts +++ b/frontend/src/pages/Settings/config.ts @@ -2,17 +2,21 @@ import { RouteTabProps } from 'components/RouteTab/types'; import ROUTES from 'constants/routes'; import AlertChannels from 'container/AllAlertChannels'; import GeneralSettings from 'container/GeneralSettings'; +import GeneralSettingsCloud from 'container/GeneralSettingsCloud'; import IngestionSettings from 'container/IngestionSettings/IngestionSettings'; import OrganizationSettings from 'container/OrganizationSettings'; import { TFunction } from 'i18next'; -export const commonRoutes = (t: TFunction): RouteTabProps['routes'] => [ +export const organizationSettings = (t: TFunction): RouteTabProps['routes'] => [ { - Component: GeneralSettings, - name: t('routes:general').toString(), - route: ROUTES.SETTINGS, - key: ROUTES.SETTINGS, + Component: OrganizationSettings, + name: t('routes:organization_settings').toString(), + route: ROUTES.ORG_SETTINGS, + key: ROUTES.ORG_SETTINGS, }, +]; + +export const alertChannels = (t: TFunction): RouteTabProps['routes'] => [ { Component: AlertChannels, name: t('routes:alert_channels').toString(), @@ -30,11 +34,20 @@ export const ingestionSettings = (t: TFunction): RouteTabProps['routes'] => [ }, ]; -export const organizationSettings = (t: TFunction): RouteTabProps['routes'] => [ +export const generalSettings = (t: TFunction): RouteTabProps['routes'] => [ { - Component: OrganizationSettings, - name: t('routes:organization_settings').toString(), - route: ROUTES.ORG_SETTINGS, - key: ROUTES.ORG_SETTINGS, + Component: GeneralSettings, + name: t('routes:general').toString(), + route: ROUTES.SETTINGS, + key: ROUTES.SETTINGS, + }, +]; + +export const generalSettingsCloud = (t: TFunction): RouteTabProps['routes'] => [ + { + Component: GeneralSettingsCloud, + name: t('routes:general').toString(), + route: ROUTES.SETTINGS, + key: ROUTES.SETTINGS, }, ]; diff --git a/frontend/src/pages/Settings/utils.ts b/frontend/src/pages/Settings/utils.ts index 862ee0adb9..89a4e7f3ef 100644 --- a/frontend/src/pages/Settings/utils.ts +++ b/frontend/src/pages/Settings/utils.ts @@ -3,7 +3,9 @@ import { TFunction } from 'i18next'; import { isCloudUser } from 'utils/app'; import { - commonRoutes, + alertChannels, + generalSettings, + generalSettingsCloud, ingestionSettings, organizationSettings, } from './config'; @@ -12,15 +14,20 @@ export const getRoutes = ( isCurrentOrgSettings: boolean, t: TFunction, ): RouteTabProps['routes'] => { - let common = commonRoutes(t); + const settings = []; if (isCurrentOrgSettings) { - common = [...common, ...organizationSettings(t)]; + settings.push(...organizationSettings(t)); } if (isCloudUser()) { - common = [...common, ...ingestionSettings(t)]; + settings.push(...ingestionSettings(t)); + settings.push(...alertChannels(t)); + settings.push(...generalSettingsCloud(t)); + } else { + settings.push(...alertChannels(t)); + settings.push(...generalSettings(t)); } - return common; + return settings; };