diff --git a/govtool/backend/src/VVA/API.hs b/govtool/backend/src/VVA/API.hs index ca7660358..06b9fd39f 100644 --- a/govtool/backend/src/VVA/API.hs +++ b/govtool/backend/src/VVA/API.hs @@ -296,22 +296,22 @@ getVotes (unHexText -> dRepId) selectedTypes sortMode mSearch = do CacheEnv {dRepGetVotesCache} <- asks vvaCache (votes, proposals) <- cacheRequest dRepGetVotesCache dRepId $ DRep.getVotes dRepId [] - let voteMapByTxHash = Map.fromList $ - map (\vote -> (pack $ Prelude.takeWhile (/= '#') (unpack $ Types.voteGovActionId vote), vote)) votes + let voteMapById = Map.fromList $ + map (\vote -> (Types.voteGovActionId vote, vote)) votes processedProposals <- filter (isProposalSearchedFor mSearch) <$> mapSortAndFilterProposals selectedTypes sortMode proposals - return $ + return [ VoteResponse { voteResponseVote = voteToResponse vote , voteResponseProposal = proposalResponse } | proposalResponse <- processedProposals - , let txHash = unHexText (proposalResponseTxHash proposalResponse) - , Just vote <- [Map.lookup txHash voteMapByTxHash] + , let govActionId = unHexText (proposalResponseTxHash proposalResponse) <> "#" <> pack (show $ proposalResponseIndex proposalResponse) + , Just vote <- [Map.lookup govActionId voteMapById] ] - + drepInfo :: App m => HexText -> m DRepInfoResponse drepInfo (unHexText -> dRepId) = do CacheEnv {dRepInfoCache} <- asks vvaCache diff --git a/govtool/frontend/src/components/organisms/DashboardGovernanceActionDetails.tsx b/govtool/frontend/src/components/organisms/DashboardGovernanceActionDetails.tsx index 48eafadd2..00beac7d3 100644 --- a/govtool/frontend/src/components/organisms/DashboardGovernanceActionDetails.tsx +++ b/govtool/frontend/src/components/organisms/DashboardGovernanceActionDetails.tsx @@ -60,7 +60,8 @@ export const DashboardGovernanceActionDetails = () => { ); useEffect(() => { - if (data?.proposal && typeof isMetadataValid !== "boolean") { + const extendedProposalIndex = extendedProposal ? extendedProposal.index : -1; + if (data?.proposal && data?.proposal.index !== extendedProposalIndex) { setExtendedProposal(data.proposal); } }, [data?.proposal, isMetadataValid]); diff --git a/govtool/frontend/src/components/organisms/DashboardGovernanceActions.tsx b/govtool/frontend/src/components/organisms/DashboardGovernanceActions.tsx index 878527c02..b720ec2f4 100644 --- a/govtool/frontend/src/components/organisms/DashboardGovernanceActions.tsx +++ b/govtool/frontend/src/components/organisms/DashboardGovernanceActions.tsx @@ -99,7 +99,7 @@ export const DashboardGovernanceActions = () => { filters: stableFilters, sorting: stableSorting, searchPhrase: debouncedSearchText, - enabled: true, + enabled: voter?.isRegisteredAsDRep || voter?.isRegisteredAsSoleVoter, }); const { data: votes, areDRepVotesLoading } = useGetDRepVotesQuery( queryFilters, diff --git a/govtool/frontend/src/components/organisms/GovernanceActionsToVote.tsx b/govtool/frontend/src/components/organisms/GovernanceActionsToVote.tsx index 332aaa0ab..95729b3fa 100644 --- a/govtool/frontend/src/components/organisms/GovernanceActionsToVote.tsx +++ b/govtool/frontend/src/components/organisms/GovernanceActionsToVote.tsx @@ -48,7 +48,7 @@ export const GovernanceActionsToVote = ({ data={item.actions.slice(0, 6).map((action) => (