@@ -11,6 +11,10 @@ import { responsiveSize } from "styles/responsiveSize";
1111import { useVotingContext } from "hooks/useVotingContext" ;
1212import Skeleton from "react-loading-skeleton" ;
1313import { useAccount } from "wagmi" ;
14+ import AnswerDisplay from "./Answer" ;
15+ import { useVotingHistory } from "hooks/queries/useVotingHistory" ;
16+ import { getLocalRounds } from "utils/getLocalRounds" ;
17+ import { Periods } from "consts/periods" ;
1418
1519const Container = styled . div `
1620 width: 100%;
@@ -42,10 +46,6 @@ const StyledButton = styled(LightButton)`
4246 padding-top: 0px;
4347` ;
4448
45- const AnswerTitle = styled . h3 `
46- margin: 0;
47- ` ;
48-
4949const Divider = styled . hr `
5050 display: flex;
5151 border: none;
@@ -64,7 +64,10 @@ const FinalDecision: React.FC<IFinalDecision> = ({ arbitrable }) => {
6464 const { data : populatedDisputeData } = usePopulatedDisputeData ( id , arbitrable ) ;
6565 const { data : disputeDetails } = useDisputeDetailsQuery ( id ) ;
6666 const { wasDrawn, hasVoted, isLoading, isCommitPeriod, isVotingPeriod, commited, isHiddenVotes } = useVotingContext ( ) ;
67+ const { data : votingHistory } = useVotingHistory ( id ) ;
68+ const localRounds = getLocalRounds ( votingHistory ?. dispute ?. disputeKitDispute ) ;
6769 const ruled = disputeDetails ?. dispute ?. ruled ?? false ;
70+ const periodIndex = Periods [ disputeDetails ?. dispute ?. period ?? "evidence" ] ;
6871 const navigate = useNavigate ( ) ;
6972 const { data : currentRulingArray } = useKlerosCoreCurrentRuling ( { args : [ BigInt ( id ?? 0 ) ] , watch : true } ) ;
7073 const currentRuling = Number ( currentRulingArray ?. [ 0 ] ) ;
@@ -81,21 +84,18 @@ const FinalDecision: React.FC<IFinalDecision> = ({ arbitrable }) => {
8184 < Container >
8285 < VerdictBanner ruled = { ruled } />
8386
84- < JuryContainer >
85- { ruled ? (
87+ { ruled && (
88+ < JuryContainer >
8689 < JuryDecisionTag > The jury decided in favor of:</ JuryDecisionTag >
87- ) : (
90+ < AnswerDisplay { ...{ answer, currentRuling } } />
91+ </ JuryContainer >
92+ ) }
93+ { ! ruled && periodIndex > 1 && localRounds ?. at ( localRounds . length - 1 ) ?. totalVoted > 0 && (
94+ < JuryContainer >
8895 < JuryDecisionTag > This option is winning:</ JuryDecisionTag >
89- ) }
90- { answer ? (
91- < div >
92- < AnswerTitle > { answer . title } </ AnswerTitle >
93- < small > { answer . description } </ small >
94- </ div >
95- ) : (
96- < > { currentRuling !== 0 ? < h3 > Answer 0x{ currentRuling } </ h3 > : < h3 > Refuse to Arbitrate</ h3 > } </ >
97- ) }
98- </ JuryContainer >
96+ < AnswerDisplay { ...{ answer, currentRuling } } />
97+ </ JuryContainer >
98+ ) }
9999 < Divider />
100100 { isLoading && ! isDisconnected ? (
101101 < Skeleton width = { 250 } height = { 20 } />
0 commit comments