diff --git a/package.json b/package.json index 00dcf51..fcfc0b5 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ghost-dao-interface", "private": true, - "version": "0.5.22", + "version": "0.5.23", "type": "module", "scripts": { "dev": "vite", diff --git a/src/containers/Governance/NewProposal.jsx b/src/containers/Governance/NewProposal.jsx index cf0d619..fdf79b2 100644 --- a/src/containers/Governance/NewProposal.jsx +++ b/src/containers/Governance/NewProposal.jsx @@ -43,7 +43,7 @@ const NewProposal = ({ config, address, connect, chainId }) => { const theme = useTheme(); - const myStoredProposals = localStorage.getItem(MY_PROPOSALS_PREFIX); + const myStoredProposals = localStorage.getItem(`${MY_PROPOSALS_PREFIX}-${address}`); const [myProposals, setMyProposals] = useState( myStoredProposals ? JSON.parse(myStoredProposals).map(id => BigInt(id)) : [] ); @@ -63,7 +63,7 @@ const NewProposal = ({ config, address, connect, chainId }) => { useEffect(() => { const toStore = JSON.stringify(myProposals.map(id => id.toString())); - localStorage.setItem(MY_PROPOSALS_PREFIX, toStore); + localStorage.setItem(`${MY_PROPOSALS_PREFIX}-${address}`, toStore); }, [myProposals]); useEffect(() => { diff --git a/src/containers/Governance/ProposalDetails.jsx b/src/containers/Governance/ProposalDetails.jsx index 4907bca..2b6f890 100644 --- a/src/containers/Governance/ProposalDetails.jsx +++ b/src/containers/Governance/ProposalDetails.jsx @@ -168,8 +168,11 @@ const ProposalDetails = ({ chainId, address, connect, config }) => { const result = await castVote(chainId, address, proposalId, support); if (result) { - const toStore = JSON.stringify(proposalId.toString()); - localStorage.setItem(VOTED_PROPOSALS_PREFIX, toStore); + const storedVotedProposals = localStorage.getItem(`${VOTED_PROPOSALS_PREFIX}-${address}`); + const proposals = JSON.parse(storedVotedProposals || "[]").map(id => BigInt(id)); + proposals.push(proposalId); + const toStore = JSON.stringify(proposals.map(id => id.toString())); + localStorage.setItem(`${VOTED_PROPOSALS_PREFIX}-${address}`, toStore); } setIsPending(true); diff --git a/src/containers/Governance/components/ProposalsList.jsx b/src/containers/Governance/components/ProposalsList.jsx index f8feb9a..0a5cc02 100644 --- a/src/containers/Governance/components/ProposalsList.jsx +++ b/src/containers/Governance/components/ProposalsList.jsx @@ -52,12 +52,12 @@ const ProposalsList = ({ chainId, address, config }) => { const [proposalsFilter, setProposalFilter] = useState("active"); - const myStoredProposals = localStorage.getItem(MY_PROPOSALS_PREFIX); + const myStoredProposals = localStorage.getItem(`${MY_PROPOSALS_PREFIX}-${address}`); const [myProposals, setMyProposals] = useState( myStoredProposals ? JSON.parse(myStoredProposals).map(id => BigInt(id)) : [] ); - const storedVotedProposals = localStorage.getItem(VOTED_PROPOSALS_PREFIX); + const storedVotedProposals = localStorage.getItem(`${VOTED_PROPOSALS_PREFIX}-${address}`); const [votedProposals, setVotedProposals] = useState( storedVotedProposals ? JSON.parse(storedVotedProposals).map(id => BigInt(id)) : [] );