All files / src/features/MerchantPortal/ManageMoney/ManageMoneyPanel/components ManageMoneyPanelContent.tsx

0% Statements 0/5
0% Branches 0/10
0% Functions 0/2
0% Lines 0/5

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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77                                                                                                                                                         
import {
  SidePanelBodyWrapper,
  SidePanelContainerWrapper,
} from "@shared/SidePanel/SidePanelAtoms";
 
import {
  BaseTransactionModalProps,
  TransactionSidePanelType,
} from "@features/TransactionPanel/types";
import { useCustomThemeV2 } from "@theme/hooks/useCustomThemeV2";
import Header from "@features/TransactionPanel/components/Header";
import { Stack } from "@mui/material";
import ManageMoneySummary from "./ManageMoneySummary";
import TransactionRevenue from "@features/TransactionPanel/components/Summary/TransactionRevenue";
import PanelLoadingSkeleton from "@features/Merchants/MerchantSidePanel/components/PanelLoadingSkeleton";
import { feesArray } from "@components/ManageMoney/TransactionTable/transactions.types";
 
interface Props extends BaseTransactionModalProps {
  handleSidePanelOpen?: (type: TransactionSidePanelType) => void;
  onClose: () => void;
  isFirst?: boolean;
  isLast?: boolean;
  setSelectedRow?: (newIdx: string | number) => void;
  isManageMoney?: boolean;
  isLoading?: boolean;
}
 
export default function ManageMoneyPanelContent({
  data,
  isFirst = false,
  isLast = false,
  handleSidePanelOpen,
  setSelectedRow,
  onClose,
  isManageMoney,
  isLoading,
}: Props) {
  const { isMobileView } = useCustomThemeV2();
 
  const handleSetSelectedRow = (newIdx: string | number) => {
    setSelectedRow?.(newIdx);
  };
 
  const isFees = feesArray.includes(data?.transactionType || "");
 
  return (
    <SidePanelContainerWrapper>
      <Header
        isFirst={isFirst}
        isLast={isLast}
        setSelectedRow={handleSetSelectedRow}
        onClose={onClose}
        isHiddenNextPrev={!setSelectedRow}
      />
      <SidePanelBodyWrapper>
        {isLoading ? (
          <PanelLoadingSkeleton variant={"transaction"} />
        ) : (
          <Stack spacing={4} p="20px" pb={isMobileView ? "72px" : "20px"}>
            <ManageMoneySummary
              data={data}
              isFirst={isFirst}
              isLast={isLast}
              setSelectedRow={
                setSelectedRow as (newIdx: string | number) => void
              }
              handleSidePanelOpen={handleSidePanelOpen}
              isManageMoney={isManageMoney}
            />
            {!isFees && <TransactionRevenue data={data} />}
          </Stack>
        )}
      </SidePanelBodyWrapper>
    </SidePanelContainerWrapper>
  );
}