import React, { FC, PropsWithChildren, useEffect } from "react";
import { useWizard, Wizard } from "react-use-wizard";
import { noop } from "lodash";
import { MicroBridge } from "../MicroBridge";
import { MicroBridgeStatus } from "../MicroBridgeStatus";
import type { MicroBridgeProps } from "../types";
import { isTxReject } from "../../../utils";
import { ErrorModal, TxModalStatus } from "../../../core/web3";
const WizardWrapper: FC<
PropsWithChildren<{
bridgeRequestStatus: MicroBridgeProps["bridgeStatus"];
selfRelayStatus: MicroBridgeProps["selfRelayStatus"];
error?: string | null;
}>
> = ({ bridgeRequestStatus, error, selfRelayStatus, children }) => {
const { goToStep } = useWizard();
const { errorMessage = "" } = bridgeRequestStatus ?? {};
useEffect(() => {
void (async () => {
if (isTxReject({ message: errorMessage })) {
goToStep(0);
}
})();
}, [errorMessage]);
return (
<>
{error ? : null}
{bridgeRequestStatus ? : null}
{selfRelayStatus ? : null}
{children}
>
);
};
export const BridgeWizard = ({
useCanBridge,
onSetChain,
originChain,
inputTransaction,
error,
pendingTransaction,
limits,
fees,
bridgeStatus,
relayStatus,
selfRelayStatus,
onBridgeStart,
onBridgeSuccess,
onBridgeFailed,
withRelay
}: MicroBridgeProps) => (
}>
);