diff --git a/apps/web/components/DisputeButton.tsx b/apps/web/components/DisputeButton.tsx index 191ab525..84062816 100644 --- a/apps/web/components/DisputeButton.tsx +++ b/apps/web/components/DisputeButton.tsx @@ -115,29 +115,23 @@ export const DisputeButton: FC = ({ proposalData }) => { arbitrationCost && config ? arbitrationCost + BigInt(config.challengerCollateralAmount) : undefined; - const lastDispute = disputesResult?.proposalDisputes[ disputesResult?.proposalDisputes.length - 1 ]; - const isCooldown = !!lastDispute && !!disputeCooldown && +lastDispute.ruledAt + Number(disputeCooldown) > Date.now() / 1000; - + const proposalStatus = ProposalStatus[proposalData.proposalStatus]; const isDisputed = - proposalData && - lastDispute && - ProposalStatus[proposalData.proposalStatus] === "disputed"; - + proposalData && lastDispute && proposalStatus === "disputed"; const isTimeout = lastDispute && config && +lastDispute.createdAt + +config.defaultRulingTimeout < Date.now() / 1000; - const disputes = disputesResult?.proposalDisputes ?? []; - + const isProposalEnded = proposalStatus !== "active" && !isDisputed; const isTribunalSafe = config.tribunalSafe === address?.toLowerCase(); const { data: isTribunalMember } = useContractRead({ @@ -248,7 +242,7 @@ export const DisputeButton: FC = ({ proposalData }) => { const content = (
- {isDisputed ? + {proposalStatus !== "active" ?
{disputes.map((dispute) => ( @@ -403,8 +397,7 @@ export const DisputeButton: FC = ({ proposalData }) => { return ( <> - {(ProposalStatus[proposalData?.proposalStatus] === "active" || - ProposalStatus[proposalData?.proposalStatus] === "disputed") && ( + {(proposalStatus === "active" || lastDispute != null) && ( <> = ({ proposalData }) => { isOpen={isModalOpened} > {content} - {buttons} + {!isProposalEnded && buttons} )}