All files / src/pages/TermsOfService TermsOfServiceContentVersion.tsx

100% Statements 6/6
75% Branches 6/8
100% Functions 1/1
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                  54x   54x         15x   15x         15x   15x                                        
import { memo } from "react";
import { TermsOfServiceProps } from "./types";
import { SubTitle } from "./TermsOfServiceContent.styles";
import { LastUpdatedOn_global_agreement } from "features/Merchants/MerchantSidePanel/constants";
import { Stack } from "@mui/material";
 
// The public/general Terms of Service version is pinned in the FE per legal
// (July 2026 ToS). The merchant/provider agreement variants keep their
// data-driven version supplied via `merchantAgreementVersion`.
const GENERAL_TOS_VERSION = "3.0";
 
const TermsOfServiceContentVersion = ({
  merchantAgreementVersion,
  isGeneral,
  isPage,
}: Omit<TermsOfServiceProps, "customStyles"> & { isPage?: boolean }) => {
  const isGeneralTos = Boolean(isPage || isGeneral);
 
  const version = isGeneralTos
    ? GENERAL_TOS_VERSION
    : merchantAgreementVersion?.version;
 
  const lastUpdatedOn =
    merchantAgreementVersion?.lastUpdated || LastUpdatedOn_global_agreement;
 
  return (
    <>
      <Stack flexDirection="row" justifyContent="center">
        {version && (
          <>
            <SubTitle>Version:</SubTitle>
            <SubTitle style={{ fontWeight: "normal" }}>{version}</SubTitle>
          </>
        )}
      </Stack>
 
      <Stack flexDirection="row" justifyContent="center">
        <SubTitle>Last updated:</SubTitle>
        <SubTitle style={{ fontWeight: "normal" }}>{lastUpdatedOn}</SubTitle>
      </Stack>
    </>
  );
};
 
export default memo(TermsOfServiceContentVersion);