From 8364ffb5e02cf6afbb16b2da7217d6da7d8b561b Mon Sep 17 00:00:00 2001 From: Pamela Chia Date: Tue, 31 Mar 2026 19:54:04 +0800 Subject: [PATCH] chore(studio): remove privacy policy update notification banner (#44380) ## Summary Remove the privacy policy update notification banner that was added for the March 2026 policy update. The effective date has passed and users have had sufficient notice. ## Changes - Remove `PrivacyUpdateBanner` component from `AnalyticsSettings.tsx` and its unused imports - Remove banner usage from the organizations list page and org projects page - Remove `PRIVACY_NOTICE_ACKNOWLEDGED` localStorage key ## Testing No setup needed - this is a removal of UI elements. Tested on Vercel preview: - [x] Organizations page loads without the banner - [x] Org projects page loads without the banner - [ ] No console errors on either page - [x] Analytics settings page still renders correctly ## Linear - fixes GROWTH-692 --- .../Account/Preferences/AnalyticsSettings.tsx | 40 ------------------- apps/studio/pages/org/[slug]/index.tsx | 2 - apps/studio/pages/organizations.tsx | 2 - packages/common/constants/local-storage.ts | 1 - 4 files changed, 45 deletions(-) diff --git a/apps/studio/components/interfaces/Account/Preferences/AnalyticsSettings.tsx b/apps/studio/components/interfaces/Account/Preferences/AnalyticsSettings.tsx index 8a8baaf7b25..bb65afb9882 100644 --- a/apps/studio/components/interfaces/Account/Preferences/AnalyticsSettings.tsx +++ b/apps/studio/components/interfaces/Account/Preferences/AnalyticsSettings.tsx @@ -1,15 +1,9 @@ import { zodResolver } from '@hookform/resolvers/zod' import { useConsentState } from 'common' -import { LOCAL_STORAGE_KEYS } from 'common/constants/local-storage' -import { ButtonTooltip } from 'components/ui/ButtonTooltip' -import { InlineLink } from 'components/ui/InlineLink' import { useSendResetMutation } from 'data/telemetry/send-reset-mutation' -import { useLocalStorageQuery } from 'hooks/misc/useLocalStorage' -import { X } from 'lucide-react' import { useForm } from 'react-hook-form' import { toast } from 'sonner' import { Card, CardContent, Form_Shadcn_, FormControl_Shadcn_, FormField_Shadcn_, Switch } from 'ui' -import { Admonition } from 'ui-patterns/admonition' import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout' import { PageSection, @@ -21,40 +15,6 @@ import { } from 'ui-patterns/PageSection' import * as z from 'zod' -export const PrivacyUpdateBanner = () => { - const [privacyUpdateAcknowledged, setPrivacyUpdateAcknowledged] = useLocalStorageQuery( - LOCAL_STORAGE_KEYS.PRIVACY_NOTICE_ACKNOWLEDGED, - false - ) - - if (privacyUpdateAcknowledged) return null - - return ( - - We’ve clarified how we use analytics, cookies, and advertising tools in our{' '} - privacy policy, effective - March 16, 2026. By continuing to use Supabase, you agree to the updated terms.{' '} - Contact us with any - questions.{' '} - - } - className="mb-10 relative" - > - } - className="absolute top-2 right-2 px-1" - onClick={() => setPrivacyUpdateAcknowledged(true)} - tooltip={{ content: { side: 'bottom', text: 'Dismiss' } }} - /> - - ) -} - const AnalyticsSchema = z.object({ telemetryEnabled: z.boolean(), }) diff --git a/apps/studio/pages/org/[slug]/index.tsx b/apps/studio/pages/org/[slug]/index.tsx index 09b3b5c78e3..e0c5945526d 100644 --- a/apps/studio/pages/org/[slug]/index.tsx +++ b/apps/studio/pages/org/[slug]/index.tsx @@ -1,5 +1,4 @@ import { useIsMFAEnabled } from 'common' -import { PrivacyUpdateBanner } from 'components/interfaces/Account/Preferences/AnalyticsSettings' import { ProjectList } from 'components/interfaces/Home/ProjectList/ProjectList' import { HomePageActions } from 'components/interfaces/HomePageActions' import DefaultLayout from 'components/layouts/DefaultLayout' @@ -21,7 +20,6 @@ const ProjectsPage: NextPageWithLayout = () => { return ( - {disableAccessMfa ? ( { - {orgNotFound && ( `table-editor-queue-operations-banner-dismissed-${ref}`, - PRIVACY_NOTICE_ACKNOWLEDGED: 'privacy-notice-acknowledged-2026-03', /** * COMMON