All files / src/features/Merchants/MerchantSidePanel/Modals/MatchReport/components ModalContentView.tsx

100% Statements 11/11
100% Branches 6/6
100% Functions 3/3
100% Lines 10/10

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                                4x               32x   32x 1x 1x     32x 20x               12x       1x               11x                    
import NewReportView from "./NewReportView";
import { Dispatch, SetStateAction } from "react";
import AddNewReportView from "./AddNewReportView";
import ReportDetailsView from "./ReportDetailsView";
import { ContentViewTypes } from "../match.types";
import { ReportType } from "../types";
 
interface IComponentProps {
  setContentView: Dispatch<SetStateAction<ContentViewTypes>>;
  contentView: ContentViewTypes;
  merchantID: number;
  reportsData: ReportType[];
  reportDetailsViewData: ReportType | null;
  setReportDetailsViewData: Dispatch<SetStateAction<ReportType | null>>;
}
 
const ModalContentView = ({
  setContentView,
  contentView,
  merchantID,
  reportsData,
  reportDetailsViewData,
  setReportDetailsViewData,
}: IComponentProps) => {
  const handleChangeView = (view: ContentViewTypes) => setContentView(view);
 
  const handleSetDetailsView = (report: ReportType) => {
    setReportDetailsViewData(report);
    setContentView(ContentViewTypes.REPORT_DETAILS);
  };
 
  if (contentView === ContentViewTypes.ADD_NEW_REPORT) {
    return (
      <AddNewReportView
        merchantID={merchantID}
        handleChangeView={handleChangeView}
      />
    );
  }
 
  if (
    contentView === ContentViewTypes.REPORT_DETAILS &&
    reportDetailsViewData
  ) {
    return (
      <ReportDetailsView
        reportDetailsViewData={reportDetailsViewData}
        merchantID={merchantID}
      />
    );
  }
 
  return (
    <NewReportView
      handleChangeView={handleChangeView}
      handleSetDetailsView={handleSetDetailsView}
      reportsData={reportsData}
    />
  );
};
 
export default ModalContentView;