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 | 10x 11x 11x 11x 11x 1x 10x 3x 7x 10x | import { IStep } from "@features/GiveOnboarding/types";
import { IApiData } from "@features/GiveOnboarding/types/form";
import { forwardRef } from "react";
import BankLinked from "../Linked";
import BankProhibited from "../Prohibited";
import { BankConnect } from "./Form";
import { useAccessControl } from "@features/Permissions/AccessControl";
import RESOURCE_BASE, { OPERATIONS } from "@constants/permissions";
interface Props {
data_key: IStep;
apiData: Pick<IApiData["data"], "business_bank_connect" | "merchant_info">;
}
type ForwardedRefType = any;
const BankConnectRoot = forwardRef<ForwardedRefType, Props>(
({ data_key, apiData }, ref) => {
const showLinkedBA = apiData.business_bank_connect?.bankDataAux?.isLinked;
const isAddAllowed = useAccessControl({
resource: RESOURCE_BASE.BANK_ACCOUNT,
operation: OPERATIONS.CREATE,
withPortal: true,
});
const showProhibited =
apiData.merchant_info?.isAllowedAddBankAccounts && isAddAllowed;
if (showLinkedBA) {
return <BankLinked data={apiData} />;
}
if (showProhibited) {
return <BankProhibited />;
}
return (
<BankConnect
data_key={data_key}
bankData={apiData.business_bank_connect}
ref={ref}
/>
);
},
);
BankConnectRoot.displayName = "BankConnectRoot";
export { BankConnectRoot };
|