All files / src/components/common/MaintenanceBanner MaintenanceBanner.tsx

100% Statements 7/7
100% Branches 2/2
100% Functions 2/2
100% Lines 6/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55              1x 2x   2x 1x     1x                                           1x                                    
import { Box, Stack } from "@mui/material";
import { WarningIcon } from "@phosphor-icons/react";
import GiveText from "@shared/Text/GiveText";
import { styled } from "@theme/v2/Provider";
import { MASQUERADE_SNACKBAR_HEIGHT } from "@components/Merchants/Masquerade/constants";
import { useGetFeatureFlagValues } from "FeatureFlags/useGetFeatureFlagValues";
 
export const MaintenanceBanner = () => {
  const { isMaintenanceStatsBannerEnabled } = useGetFeatureFlagValues();
 
  if (!isMaintenanceStatsBannerEnabled) {
    return null;
  }
 
  return (
    <Container>
      <Stack
        direction="row"
        gap={1}
        alignItems="center"
        width="calc(100% - 20px)"
        sx={{
          margin: "0 auto",
          justifyContent: "center",
        }}
      >
        <WarningIcon size={20} />
        <GiveText variant="bodyS" color="warning">
          Scheduled Maintenance: You may experience temporary service
          disruptions.
        </GiveText>
      </Stack>
    </Container>
  );
};
 
const Container = styled(Box)(({ theme }) => ({
  position: "fixed",
  height: `${MASQUERADE_SNACKBAR_HEIGHT}px`,
  backgroundColor: theme.palette.primitive?.warning[10],
  top: 0,
  left: 0,
  zIndex: 100000,
  display: "flex",
  alignItems: "center",
  width: "100%",
  "& svg": {
    minWidth: 20,
    color: theme.palette.primitive?.warning[100],
  },
  [theme.breakpoints.up("v2_sm")]: {
    backdropFilter: "blur(15px)",
  },
}));