From 90ec769f05bd2df86cf5a3389a75e09b62016957 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Fri, 1 Nov 2024 00:28:34 +0800 Subject: [PATCH 1/2] Add a shutdown banner --- .../components/elements/MaintenanceBanner.tsx | 42 ------------------- .../web/components/templates/AuthLayout.tsx | 2 +- .../web/components/templates/LoginLayout.tsx | 3 +- .../components/templates/NavigationLayout.tsx | 3 +- .../components/templates/SettingsLayout.tsx | 2 + 5 files changed, 7 insertions(+), 45 deletions(-) delete mode 100644 packages/web/components/elements/MaintenanceBanner.tsx diff --git a/packages/web/components/elements/MaintenanceBanner.tsx b/packages/web/components/elements/MaintenanceBanner.tsx deleted file mode 100644 index fd24c743a6..0000000000 --- a/packages/web/components/elements/MaintenanceBanner.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import { usePersistedState } from '../../lib/hooks/usePersistedState' -import { CloseButton } from './CloseButton' -import { HStack, SpanBox } from './LayoutPrimitives' - -export const MaintenanceBanner = () => { - const [ - showMaintenanceMode, - setShowMaintenanceMode, - isLoadingShowMaintenanceMode, - ] = usePersistedState({ - key: 'show-maintenance-mode', - isSessionStorage: false, - initialValue: false, - }) - return ( - <> - {!isLoadingShowMaintenanceMode && showMaintenanceMode && ( - - Omnivore will be undergoing maintenance for 30 minutes at 05:00 UTC, - during that time the website and APIs will be unavailable. - - { - setShowMaintenanceMode(false) - }} - /> - - )} - - ) -} diff --git a/packages/web/components/templates/AuthLayout.tsx b/packages/web/components/templates/AuthLayout.tsx index 5b945b903f..b64d3cfb61 100644 --- a/packages/web/components/templates/AuthLayout.tsx +++ b/packages/web/components/templates/AuthLayout.tsx @@ -1,5 +1,5 @@ import { Box, VStack, HStack } from '../elements/LayoutPrimitives' -import { MaintenanceBanner } from '../elements/MaintenanceBanner' +import { ShutdownBanner } from '../elements/ShutdownBanner' import { OmnivoreNameLogo } from '../elements/images/OmnivoreNameLogo' import { theme } from '../tokens/stitches.config' import { GoogleReCaptchaProvider } from '@google-recaptcha/react' diff --git a/packages/web/components/templates/LoginLayout.tsx b/packages/web/components/templates/LoginLayout.tsx index 4b6819bc2e..7c27b390d2 100644 --- a/packages/web/components/templates/LoginLayout.tsx +++ b/packages/web/components/templates/LoginLayout.tsx @@ -10,11 +10,12 @@ import type { LoginFormProps } from './LoginForm' import { OmnivoreNameLogo } from '../elements/images/OmnivoreNameLogo' import featureFullWidthImage from '../../public/static/images/login/login-feature-image-full.png' -import { MaintenanceBanner } from '../elements/MaintenanceBanner' +import { ShutdownBanner } from '../elements/ShutdownBanner' export function LoginLayout(props: LoginFormProps): JSX.Element { return ( <> + } largerLayoutNode={} diff --git a/packages/web/components/templates/NavigationLayout.tsx b/packages/web/components/templates/NavigationLayout.tsx index 9e640434ef..d5bbbf4a2f 100644 --- a/packages/web/components/templates/NavigationLayout.tsx +++ b/packages/web/components/templates/NavigationLayout.tsx @@ -23,7 +23,7 @@ import { useGetViewer } from '../../lib/networking/viewer/useGetViewer' import { useQueryClient } from '@tanstack/react-query' import { usePersistedState } from '../../lib/hooks/usePersistedState' import { CloseButton } from '../elements/CloseButton' -import { MaintenanceBanner } from '../elements/MaintenanceBanner' +import { ShutdownBanner } from '../elements/ShutdownBanner' export type NavigationSection = | 'home' @@ -207,6 +207,7 @@ const Header = (props: HeaderProps): JSX.Element => { height: '58px', }} > +