diff --git a/layouts/account.tsx b/layouts/account.tsx index ac15ced6..04f6db31 100644 --- a/layouts/account.tsx +++ b/layouts/account.tsx @@ -90,6 +90,18 @@ const AccountLayout = ({ pollInterval, }); + // Fetch fresh account data client-side, using static props as fallback + const { data: dataViewedAccount } = useAccountQuery({ + variables: { + account: accountId ?? "", + }, + skip: !accountId, + pollInterval, + }); + + // Prefer client-fetched data over static props + const viewedAccount = dataViewedAccount ?? account; + const { data: bondingManagerAddress } = useBondingManagerAddress(); const { data: treasuryRewardCutRate = BigInt(0.0) } = useReadContract({ query: { enabled: Boolean(bondingManagerAddress) }, @@ -109,15 +121,18 @@ const AccountLayout = ({ }, [latestTransaction?.step]); const isActive = useMemo( - () => Boolean(account?.transcoder?.active), - [account?.transcoder] + () => Boolean(viewedAccount?.transcoder?.active), + [viewedAccount?.transcoder] ); const isMyAccount = useMemo( () => checkAddressEquality(accountAddress ?? "", accountId ?? ""), [accountAddress, accountId] ); - const isOrchestrator = useMemo(() => Boolean(account?.transcoder), [account]); + const isOrchestrator = useMemo( + () => Boolean(viewedAccount?.transcoder), + [viewedAccount] + ); const isMyDelegate = useMemo( () => accountId === dataMyAccount?.delegator?.delegate?.id.toLowerCase(), [accountId, dataMyAccount] @@ -214,9 +229,9 @@ const AccountLayout = ({ transcoder={ isDelegatingAndIsMyAccountView ? dataMyAccount?.delegator?.delegate - : account?.transcoder + : viewedAccount?.transcoder } - protocol={account?.protocol} + protocol={viewedAccount?.protocol} treasury={treasury} delegateProfile={identity} /> @@ -252,9 +267,9 @@ const AccountLayout = ({ transcoder={ isDelegatingAndIsMyAccountView ? dataMyAccount?.delegator?.delegate - : account?.transcoder + : viewedAccount?.transcoder } - protocol={account?.protocol} + protocol={viewedAccount?.protocol} treasury={treasury} delegateProfile={identity} /> @@ -298,16 +313,16 @@ const AccountLayout = ({ {view === "orchestrating" && ( )} {view === "delegating" && ( )} {view === "history" && } @@ -334,9 +349,9 @@ const AccountLayout = ({ transcoder={ isDelegatingAndIsMyAccountView ? dataMyAccount?.delegator?.delegate - : account?.transcoder + : viewedAccount?.transcoder } - protocol={account?.protocol} + protocol={viewedAccount?.protocol} treasury={treasury} delegateProfile={identity} /> @@ -350,9 +365,9 @@ const AccountLayout = ({ transcoder={ isDelegatingAndIsMyAccountView ? dataMyAccount?.delegator?.delegate - : account?.transcoder + : viewedAccount?.transcoder } - protocol={account?.protocol} + protocol={viewedAccount?.protocol} treasury={treasury} delegateProfile={identity} />