diff --git a/packages/curve-ui-kit/src/hooks/useFeatureFlags.ts b/packages/curve-ui-kit/src/hooks/useFeatureFlags.ts index 1c6ba86c6e..38abf2b07f 100644 --- a/packages/curve-ui-kit/src/hooks/useFeatureFlags.ts +++ b/packages/curve-ui-kit/src/hooks/useFeatureFlags.ts @@ -41,3 +41,10 @@ export const useManageSoftLiquidation = useAlphaChannel /** Entire new app containing in-depth analyses for knowledgeable users */ export const useAnalyticsApp = useAlphaChannel + +/** + * Phishing warning banner shown on localhost and production, hidden on preview, + * but forced on in CI so automated tests keep working + */ +export const usePhishingBanner = () => + process.env.NODE_ENV === 'development' || defaultReleaseChannel === ReleaseChannel.Stable || Boolean(process.env.CI) diff --git a/packages/curve-ui-kit/src/widgets/Header/PhishingWarningBanner.tsx b/packages/curve-ui-kit/src/widgets/Header/PhishingWarningBanner.tsx index d8ffc37c62..f3b82033d6 100644 --- a/packages/curve-ui-kit/src/widgets/Header/PhishingWarningBanner.tsx +++ b/packages/curve-ui-kit/src/widgets/Header/PhishingWarningBanner.tsx @@ -1,3 +1,4 @@ +import { usePhishingBanner } from '@ui-kit/hooks/useFeatureFlags' import { useDismissBanner } from '@ui-kit/hooks/useLocalStorage' import { t } from '@ui-kit/lib/i18n' import { Banner } from '@ui-kit/shared/ui/Banner' @@ -10,10 +11,15 @@ const ONE_MONTH_MS = 30 * 24 * 60 * 60 * 1000 // 30 days in milliseconds * The banner will reappear after one month if dismissed. */ export const PhishingWarningBanner = () => { - const { shouldShowBanner, dismissBanner } = useDismissBanner('phishing-warning-dismissed', ONE_MONTH_MS) + const shouldShowBanner = usePhishingBanner() + const { shouldShowBanner: isNotDismissed, dismissBanner } = useDismissBanner( + 'phishing-warning-dismissed', + ONE_MONTH_MS, + ) return ( - shouldShowBanner && ( + shouldShowBanner && + isNotDismissed && (