diff --git a/src/components/v5/common/ActionSidebar/partials/Motions/steps/FinalizeStep/FinalizeStep.tsx b/src/components/v5/common/ActionSidebar/partials/Motions/steps/FinalizeStep/FinalizeStep.tsx index 37ceaa28ba..3dbf456ac9 100644 --- a/src/components/v5/common/ActionSidebar/partials/Motions/steps/FinalizeStep/FinalizeStep.tsx +++ b/src/components/v5/common/ActionSidebar/partials/Motions/steps/FinalizeStep/FinalizeStep.tsx @@ -60,6 +60,8 @@ const FinalizeStep: FC = ({ handleClaimSuccess, claimPayload, canClaimStakes, + userStake, + userVote, } = useClaimConfig(actionData, startPollingAction, refetchAction); const isMotionFinalized = actionData.motionData.isFinalized; @@ -142,9 +144,10 @@ const FinalizeStep: FC = ({ iconSize={16} > {formatText({ - id: isMotionFailedNotFinalizable - ? 'motion.finalizeStep.failed.statusText' - : 'motion.finalizeStep.statusText', + id: + isMotionFailedNotFinalizable || (!userStake && userVote) + ? 'motion.finalizeStep.failed.statusText' + : 'motion.finalizeStep.statusText', })} } diff --git a/src/components/v5/common/ActionSidebar/partials/Motions/steps/FinalizeStep/hooks.tsx b/src/components/v5/common/ActionSidebar/partials/Motions/steps/FinalizeStep/hooks.tsx index bdc91b6438..ad6d14f292 100644 --- a/src/components/v5/common/ActionSidebar/partials/Motions/steps/FinalizeStep/hooks.tsx +++ b/src/components/v5/common/ActionSidebar/partials/Motions/steps/FinalizeStep/hooks.tsx @@ -1,4 +1,5 @@ import { Extension, Id } from '@colony/colony-js'; +import { format } from 'date-fns'; import { BigNumber } from 'ethers'; import React, { useEffect, useMemo, useState } from 'react'; @@ -95,6 +96,8 @@ export const useClaimConfig = ( voterRewards, databaseMotionId, remainingStakes, + motionStateHistory, + voterRecord, }, transactionHash, } = actionData; @@ -116,6 +119,7 @@ export const useClaimConfig = ( actionData.motionData.motionStateHistory.hasFailedNotFinalizable; const userStake = usersStakes.find(({ address }) => address === userAddress); + const userVote = voterRecord.some((item) => item.address === userAddress); const stakerReward = stakerRewards.find( ({ address }) => address === userAddress, ); @@ -261,6 +265,33 @@ export const useClaimConfig = ( ), }, + { + key: WinningsItems.Completed, + label: formatText({ id: 'motion.finalizeStep.completed' }), + value: ( +
+ +
+ ), + }, ]; }; @@ -274,5 +305,7 @@ export const useClaimConfig = ( handleClaimSuccess, claimPayload, canClaimStakes, + userStake, + userVote, }; }; diff --git a/src/components/v5/common/ActionSidebar/partials/Motions/steps/FinalizeStep/types.ts b/src/components/v5/common/ActionSidebar/partials/Motions/steps/FinalizeStep/types.ts index 473720e469..8b8ff5d605 100644 --- a/src/components/v5/common/ActionSidebar/partials/Motions/steps/FinalizeStep/types.ts +++ b/src/components/v5/common/ActionSidebar/partials/Motions/steps/FinalizeStep/types.ts @@ -18,4 +18,5 @@ export enum WinningsItems { Staked = 'staked', Winnings = 'winnings', Total = 'total', + Completed = 'completed', } diff --git a/src/i18n/en.json b/src/i18n/en.json index 80f4f0b1dd..82e9f90691 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -1428,14 +1428,16 @@ "motion.staking.accordion.title.show": "Show staking information", "motion.staking.accordion.title.hide": "Hide staking information", "motion.finalize.label": "Finalize", - "motion.finalizeStep.statusText": "Finalize to execute the agreed transactions and return stakes.", + "motion.finalizeStep.statusText": "Action has passed and is now complete.", "motion.finalizeStep.claimable.statusText": "Action has passed and has been executed.", - "motion.finalizeStep.title": "Your overview", + "motion.finalizeStep.title": "Overview", "motion.finalizeStep.failedNotAchieving.statusText": "Action failed due to not achieving required stake.", "motion.finalizeStep.failed.statusText": "Action failed and cannot be executed.", - "motion.finalizeStep.staked": "Staked", - "motion.finalizeStep.winnings": "Reward", + "motion.finalizeStep.staked": "Your stake", + "motion.finalizeStep.winnings": "Your reward", "motion.finalizeStep.total": "Total", + "motion.finalizeStep.completed": "Completed", + "motion.finalizeStep.completedAt": "{date} at {hour}", "motion.finalizeStep.submit": "Finalize", "motion.finalizeStep.returnStakes": "Return stakes", "motion.finalizeStep.transactions.remaining": "{transactions} transactions remaining",