From b53dcfccc090288920497ef6930f4480f8c9fb95 Mon Sep 17 00:00:00 2001 From: bosko-m <88723596+bosko-m@users.noreply.github.com> Date: Wed, 23 Jul 2025 12:22:05 +0200 Subject: [PATCH] Update DashboardGovernanceActions.tsx - attempt 2 Signed-off-by: bosko-m <88723596+bosko-m@users.noreply.github.com> --- .../organisms/DashboardGovernanceActions.tsx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/govtool/frontend/src/components/organisms/DashboardGovernanceActions.tsx b/govtool/frontend/src/components/organisms/DashboardGovernanceActions.tsx index 838123327..878527c02 100644 --- a/govtool/frontend/src/components/organisms/DashboardGovernanceActions.tsx +++ b/govtool/frontend/src/components/organisms/DashboardGovernanceActions.tsx @@ -1,4 +1,4 @@ -import { useState, useEffect, useCallback } from "react"; +import { useState, useEffect, useCallback, useMemo } from "react"; import { Box, CircularProgress, Tab, Tabs, styled } from "@mui/material"; import { useLocation, useNavigate } from "react-router-dom"; @@ -108,11 +108,14 @@ export const DashboardGovernanceActions = () => { ); // White Magic :) - const filterOutAlreadyVotedProposals = () => { - if (!votes) return proposals; + const shouldFilter = + voter?.isRegisteredAsDRep || voter?.isRegisteredAsSoleVoter; + +const filteredProposals = useMemo(() => { + if (!shouldFilter || !proposals || !votes) return proposals; return proposals - ?.map((proposalCategory) => { + .map((proposalCategory) => { const filteredActions = proposalCategory.actions.filter((action) => { const hasVote = votes.some((voteCategory) => voteCategory.actions.some( @@ -121,7 +124,6 @@ export const DashboardGovernanceActions = () => { voteAction.proposal.index === action.index, ), ); - return !hasVote; }); @@ -131,9 +133,7 @@ export const DashboardGovernanceActions = () => { }; }) .filter((category) => category.actions.length > 0); -}; - -const filteredProposals = filterOutAlreadyVotedProposals(); +}, [proposals, votes, shouldFilter]); const { state } = useLocation(); const [content, setContent] = useState(