From 079e0dc1c105f13679cd8376006bb02c579d2404 Mon Sep 17 00:00:00 2001 From: Rojan Rajbhandari Date: Mon, 16 Mar 2026 18:21:55 +0545 Subject: [PATCH 1/3] chore(OUT-3357): add state to support pause updates flag --- src/context/index.tsx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/context/index.tsx b/src/context/index.tsx index 7a96360..d0aac45 100644 --- a/src/context/index.tsx +++ b/src/context/index.tsx @@ -37,6 +37,7 @@ export interface IAppState { tasks?: number customLabels?: CustomLabels brandName?: string + pauseUpdates?: boolean } export interface IAppContext { @@ -66,6 +67,7 @@ export interface IAppContext { setTasks: (tasks: number) => void setCustomLabels: (customLabels?: CustomLabels) => void setBrandName: (brandName?: string | null) => void + setPauseUpdates: (v: boolean) => void /* eslint-enable no-unused-vars */ } @@ -103,6 +105,7 @@ export const AppContextProvider: FC = ({ children }) => { tasks: undefined, customLabels: undefined, brandName: '', + pauseUpdates: false, }) useEffect(() => { @@ -210,6 +213,10 @@ export const AppContextProvider: FC = ({ children }) => { setState((prev) => ({ ...prev, brandName: brandName || '' })) } + const setPauseUpdates = (v: boolean) => { + setState((prev) => ({ ...prev, pauseUpdates: v })) + } + return ( = ({ children }) => { setTasks, setCustomLabels, setBrandName, + setPauseUpdates, }} > {children} From 4926549fd2b4c907aa44f6a631ec2569cf59b732 Mon Sep 17 00:00:00 2001 From: Rojan Rajbhandari Date: Mon, 16 Mar 2026 18:22:15 +0545 Subject: [PATCH 2/3] feat(OUT-3357): support FLG_PAUSE_UPDATES --- src/config/index.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/config/index.ts b/src/config/index.ts index 1e11ca8..f22a8d9 100644 --- a/src/config/index.ts +++ b/src/config/index.ts @@ -8,6 +8,8 @@ export const apiUrl = `${ process.env.VERCEL_ENV === 'development' ? 'http://' : 'https://' }${process.env.VERCEL_URL}` +export const pauseUpdates = !!process.env.FLG_PAUSE_UPDATES + export const SentryConfig = { DSN: process.env.NEXT_PUBLIC_SENTRY_DSN, AUTH_TOKEN: process.env.SENTRY_AUTH_TOKEN, From 77cbbb129be0cbd7b12c512e09141e8ba7a306a6 Mon Sep 17 00:00:00 2001 From: Rojan Rajbhandari Date: Mon, 16 Mar 2026 18:22:48 +0545 Subject: [PATCH 3/3] feat(OUT-3357): show warning banner when IUs try to update content when flag is truthy --- src/app/components/EditorInterface.tsx | 3 +++ src/app/components/Footer.tsx | 20 ++++++++++++++++++++ src/app/page.tsx | 3 ++- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/app/components/EditorInterface.tsx b/src/app/components/EditorInterface.tsx index 8960e38..11e700b 100644 --- a/src/app/components/EditorInterface.tsx +++ b/src/app/components/EditorInterface.tsx @@ -70,6 +70,7 @@ interface IEditorInterface { token: string font: string customLabels?: CustomLabels + pauseUpdates?: boolean } const EditorInterface = ({ @@ -77,6 +78,7 @@ const EditorInterface = ({ token, font, customLabels, + pauseUpdates, }: IEditorInterface) => { const appState = useAppState() @@ -341,6 +343,7 @@ const EditorInterface = ({ appState?.setToken(token) appState?.setFont(font) appState?.setCustomLabels(customLabels) + appState?.setPauseUpdates(!!pauseUpdates) } appState?.setLoading(false) })() diff --git a/src/app/components/Footer.tsx b/src/app/components/Footer.tsx index eed8dd4..310c824 100644 --- a/src/app/components/Footer.tsx +++ b/src/app/components/Footer.tsx @@ -174,6 +174,26 @@ export const Footer = () => { return () => clearTimeout(t) }, []) + if (appState?.appState.pauseUpdates && appState?.appState.changesCreated) { + return ( +
+

+ Client Home is currently under maintenance - you will not be able to + make any changes to your content or settings in the meanwhile. +

+

+ Clients will be able to view the Client Home content as usual without + any interruptions during this time. +

+
+ ) + } + return (