diff --git a/src/app/[orgId]/settings/alerting/create/page.tsx b/src/app/[orgId]/settings/alerting/create/page.tsx
index 9f3f20611..f431e9f68 100644
--- a/src/app/[orgId]/settings/alerting/create/page.tsx
+++ b/src/app/[orgId]/settings/alerting/create/page.tsx
@@ -3,10 +3,12 @@
import AlertRuleGraphEditor from "@app/components/alert-rule-editor/AlertRuleGraphEditor";
import HeaderTitle from "@app/components/SettingsSectionTitle";
import { defaultFormValues } from "@app/lib/alertRuleForm";
+import { useEnvContext } from "@app/hooks/useEnvContext";
import { usePaidStatus } from "@app/hooks/usePaidStatus";
import { tierMatrix } from "@server/lib/billing/tierMatrix";
-import { useParams } from "next/navigation";
+import { useParams, useRouter } from "next/navigation";
import { useTranslations } from "next-intl";
+import { useEffect } from "react";
export default function NewAlertRulePage() {
const params = useParams();
@@ -14,6 +16,19 @@ export default function NewAlertRulePage() {
const t = useTranslations();
const { isPaidUser } = usePaidStatus();
const isPaid = isPaidUser(tierMatrix.alertingRules);
+ const { env } = useEnvContext();
+ const router = useRouter();
+ const disableEnterpriseFeatures = env.flags.disableEnterpriseFeatures;
+
+ useEffect(() => {
+ if (disableEnterpriseFeatures) {
+ router.replace(`/${orgId}/settings/alerting/rules`);
+ }
+ }, [disableEnterpriseFeatures, orgId, router]);
+
+ if (disableEnterpriseFeatures) {
+ return null;
+ }
return (
<>
diff --git a/src/app/navigation.tsx b/src/app/navigation.tsx
index 24dc02a19..1989161a9 100644
--- a/src/app/navigation.tsx
+++ b/src/app/navigation.tsx
@@ -212,11 +212,15 @@ export const orgNavSections = (
title: "sidebarManagement",
icon: ,
items: [
- {
- title: "sidebarAlerting",
- href: "/{orgId}/settings/alerting",
- icon:
- },
+ ...(!env?.flags.disableEnterpriseFeatures
+ ? [
+ {
+ title: "sidebarAlerting",
+ href: "/{orgId}/settings/alerting",
+ icon:
+ }
+ ]
+ : []),
{
title: "sidebarProvisioning",
href: "/{orgId}/settings/provisioning",
diff --git a/src/components/AlertingRulesTable.tsx b/src/components/AlertingRulesTable.tsx
index f8fcf468d..ae0d564e8 100644
--- a/src/components/AlertingRulesTable.tsx
+++ b/src/components/AlertingRulesTable.tsx
@@ -134,7 +134,9 @@ export default function AlertingRulesTable({
}: AlertingRulesTableProps) {
const router = useRouter();
const t = useTranslations();
- const api = createApiClient(useEnvContext());
+ const envContext = useEnvContext();
+ const api = createApiClient(envContext);
+ const { env } = envContext;
const [isRefreshing, startRefresh] = useTransition();
const { isPaidUser } = usePaidStatus();
const isPaid = isPaidUser(tierMatrix.alertingRules);
@@ -426,9 +428,15 @@ export default function AlertingRulesTable({
searchQuery={query}
manualFiltering
manualSorting
- onAdd={() => {
- router.push(`/${orgId}/settings/alerting/create`);
- }}
+ onAdd={
+ !env.flags.disableEnterpriseFeatures
+ ? () => {
+ router.push(
+ `/${orgId}/settings/alerting/create`
+ );
+ }
+ : undefined
+ }
onRefresh={refreshList}
isRefreshing={isRefreshing || isFiltering}
addButtonText={t("alertingAddRule")}