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;
};