@ledgerhq/live-common
Version:
Common ground for the Ledger Live apps
25 lines (21 loc) • 870 B
text/typescript
import { useSelector } from "react-redux";
import { Account, PostOnboardingActionId } from "@ledgerhq/types-live";
import { useCallback } from "react";
import { hubStateSelector } from "../reducer";
export function useCheckAccountWithFundsAction(
completeAction: (action: PostOnboardingActionId) => void,
) {
const hubState = useSelector(hubStateSelector);
const isAssetTransferComplete =
hubState.actionsCompleted?.[PostOnboardingActionId.assetsTransfer];
const handleAccountsUpdate = useCallback(
(accounts: Account[]) => {
if (!isAssetTransferComplete) {
const hasAccountsWithFunds = accounts.some(account => account?.balance.isGreaterThan(0));
if (hasAccountsWithFunds) completeAction(PostOnboardingActionId.assetsTransfer);
}
},
[completeAction, isAssetTransferComplete],
);
return handleAccountsUpdate;
}