Skip to content

Commit

Permalink
Fix multisig approvals count, #4919
Browse files Browse the repository at this point in the history
  • Loading branch information
leocs2417 committed Oct 23, 2024
1 parent 8a3c51e commit 3557df5
Showing 1 changed file with 13 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import Link from "next/link";
import { useChain } from "next-common/context/chain";
import {
fetchMyMultisigsCount,
fetchMyMultisigs,
myMultisigsCountSelector,
} from "next-common/store/reducers/multisigSlice";
import { useDispatch, useSelector } from "react-redux";
Expand All @@ -25,11 +26,6 @@ const getNeedApprovalCount = (multisigs, address) => {
};

function ManageLink({ manageContent }) {
const pathname = usePathname();
if (pathname.startsWith("/account/multisigs")) {
return null;
}

return (
<>
&nbsp;Manage&nbsp;{manageContent}&nbsp;
Expand All @@ -47,6 +43,9 @@ export default function MultisigManagePrompt() {
const myMultisigsCount = useSelector(myMultisigsCountSelector) || 0;
const myMultisigs = useSelector(myMultisigsSelector);
const { items: multisigs = [], total = 0 } = myMultisigs || {};
const pathname = usePathname();

const isAccountMultisigPage = pathname.startsWith("/account/multisigs");

const settings = getChainSettings(chain);

Expand All @@ -56,13 +55,17 @@ export default function MultisigManagePrompt() {
}

return getNeedApprovalCount(multisigs, realAddress);
}, [multisigs, total, realAddress]);
}, [multisigs, realAddress, total]);

useEffect(() => {
if (settings?.multisigApiPrefix) {
if (settings?.multisigApiPrefix && realAddress) {
dispatch(fetchMyMultisigsCount(chain, realAddress));

if (!isAccountMultisigPage) {
dispatch(fetchMyMultisigs(chain, realAddress));
}
}
}, [dispatch, chain, realAddress, settings]);
}, [dispatch, chain, realAddress, settings, isAccountMultisigPage]);

const promptContent = useMemo(() => {
if (!settings?.multisigApiPrefix || myMultisigsCount === 0) {
Expand All @@ -80,10 +83,10 @@ export default function MultisigManagePrompt() {
You have {myMultisigsCount} active {transactionContent}, &nbsp;
{needApprovalCount} of &nbsp;
{manageContent} need your approval.
<ManageLink manageContent={manageContent} />
{!isAccountMultisigPage && <ManageLink manageContent={manageContent} />}
</Prompt>
);
}, [myMultisigsCount, needApprovalCount, settings]);
}, [myMultisigsCount, needApprovalCount, settings, isAccountMultisigPage]);

return promptContent;
}

0 comments on commit 3557df5

Please sign in to comment.