From 39fa9b11a5a8b0561023a54203a679347e414ba0 Mon Sep 17 00:00:00 2001 From: 2nthony Date: Wed, 3 Apr 2024 16:22:19 +0800 Subject: [PATCH] fix: referenda --- .../publicAnnouncement/referenda.jsx | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/packages/next-common/components/delegation/delegate/myDelegationSection/publicAnnouncement/referenda.jsx b/packages/next-common/components/delegation/delegate/myDelegationSection/publicAnnouncement/referenda.jsx index 87cca32269..3734156e82 100644 --- a/packages/next-common/components/delegation/delegate/myDelegationSection/publicAnnouncement/referenda.jsx +++ b/packages/next-common/components/delegation/delegate/myDelegationSection/publicAnnouncement/referenda.jsx @@ -1,33 +1,41 @@ -import { useEffect, useState } from "react"; -import Announcement from "./announcement"; -import useRealAddress from "next-common/utils/hooks/useRealAddress"; +import { AvatarContextProvider } from "next-common/context/avatar"; import nextApi from "next-common/services/nextApi"; import { delegationReferendaDelegatesAddressApi } from "next-common/services/url"; -import ReferendaDelegateCard from "../../referenda/card"; +import useRealAddress from "next-common/utils/hooks/useRealAddress"; +import { useAsync } from "react-use"; import MemberCardListContainer from "../../common/cardListContainer"; -import { AvatarContextProvider } from "next-common/context/avatar"; +import ReferendaDelegateCard from "../../referenda/card"; +import Announcement from "./announcement"; export default function ReferendaAnnouncement() { - const [data, setData] = useState(); const realAddress = useRealAddress(); - useEffect(() => { - nextApi + const state = useAsync(async () => { + return await nextApi .fetch(delegationReferendaDelegatesAddressApi(realAddress)) .then((resp) => { if (resp.result) { - setData(resp.result); + return resp.result; } }); }, [realAddress]); - const addressAvatarMap = new Map([[data?.address, data?.manifesto?.image]]); + const addressAvatarMap = new Map([ + [state.value?.address, state.value?.manifesto?.image], + ]); + + if (state.loading) { + return null; + } - if (data) { + if (state.value) { return ( - + );