diff --git a/frontend/__tests__/components/context-menu/account-settings-context-menu.test.tsx b/frontend/__tests__/components/context-menu/account-settings-context-menu.test.tsx
index c0a9264fe5..cc009e894d 100644
--- a/frontend/__tests__/components/context-menu/account-settings-context-menu.test.tsx
+++ b/frontend/__tests__/components/context-menu/account-settings-context-menu.test.tsx
@@ -44,8 +44,9 @@ describe("AccountSettingsContextMenu", () => {
return renderWithProviders({ui});
};
- const renderWithSaasConfig = (ui: React.ReactElement) => {
+ const renderWithSaasConfig = (ui: React.ReactElement, options?: { analyticsConsent?: boolean }) => {
queryClient.setQueryData(["web-client-config"], createMockWebClientConfig({ app_mode: "saas" }));
+ queryClient.setQueryData(["settings"], { user_consents_to_analytics: options?.analyticsConsent ?? true });
return render(
{ui}
@@ -181,6 +182,20 @@ describe("AccountSettingsContextMenu", () => {
expect(screen.queryByText("SETTINGS$NAV_ADD_TEAM_MEMBERS")).not.toBeInTheDocument();
});
+ it("should not show Add Team Members button when analytics consent is disabled", () => {
+ vi.mocked(posthog.useFeatureFlagEnabled).mockReturnValue(true);
+ renderWithSaasConfig(
+ ,
+ { analyticsConsent: false },
+ );
+
+ expect(screen.queryByTestId("add-team-members-button")).not.toBeInTheDocument();
+ expect(screen.queryByText("SETTINGS$NAV_ADD_TEAM_MEMBERS")).not.toBeInTheDocument();
+ });
+
it("should call tracking function and onClose when Add Team Members button is clicked", async () => {
vi.mocked(posthog.useFeatureFlagEnabled).mockReturnValue(true);
renderWithSaasConfig(
diff --git a/frontend/src/components/features/context-menu/account-settings-context-menu.tsx b/frontend/src/components/features/context-menu/account-settings-context-menu.tsx
index 6dddd52620..cdc18521cb 100644
--- a/frontend/src/components/features/context-menu/account-settings-context-menu.tsx
+++ b/frontend/src/components/features/context-menu/account-settings-context-menu.tsx
@@ -12,6 +12,7 @@ import DocumentIcon from "#/icons/document.svg?react";
import PlusIcon from "#/icons/plus.svg?react";
import { useSettingsNavItems } from "#/hooks/use-settings-nav-items";
import { useConfig } from "#/hooks/query/use-config";
+import { useSettings } from "#/hooks/query/use-settings";
import { useTracking } from "#/hooks/use-tracking";
interface AccountSettingsContextMenuProps {
@@ -27,6 +28,7 @@ export function AccountSettingsContextMenu({
const { t } = useTranslation();
const { trackAddTeamMembersButtonClick } = useTracking();
const { data: config } = useConfig();
+ const { data: settings } = useSettings();
const isAddTeamMemberEnabled = useFeatureFlagEnabled(
"exp_add_team_member_button",
);
@@ -34,7 +36,9 @@ export function AccountSettingsContextMenu({
const items = useSettingsNavItems();
const isSaasMode = config?.app_mode === "saas";
- const showAddTeamMembers = isSaasMode && isAddTeamMemberEnabled;
+ const hasAnalyticsConsent = settings?.user_consents_to_analytics === true;
+ const showAddTeamMembers =
+ isSaasMode && isAddTeamMemberEnabled && hasAnalyticsConsent;
const navItems = items.map((item) => ({
...item,