refetch token balances on each wallet open

Signed-off-by: Uncle Fatso <uncle.fatso@ghostchain.io>
This commit is contained in:
Uncle Fatso 2025-08-20 21:39:28 +03:00
parent 46ef25613c
commit 5c7546b0d9
Signed by: f4ts0
GPG Key ID: 565F4F2860226EBB
4 changed files with 15 additions and 4 deletions

View File

@ -1,7 +1,7 @@
{ {
"name": "ghost-dao-interface", "name": "ghost-dao-interface",
"private": true, "private": true,
"version": "0.2.9", "version": "0.2.10",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",

View File

@ -12,7 +12,7 @@ import {
import { styled } from '@mui/material/styles'; import { styled } from '@mui/material/styles';
import CloseIcon from '@mui/icons-material/Close'; import CloseIcon from '@mui/icons-material/Close';
import LoopIcon from '@mui/icons-material/Loop'; import LoopIcon from '@mui/icons-material/Loop';
import { ReactElement, useState } from "react"; import { ReactElement, useState, useEffect } from "react";
import { useNavigate, createSearchParams } from "react-router-dom"; import { useNavigate, createSearchParams } from "react-router-dom";
import GhostStyledIcon from "../../Icon/GhostIcon"; import GhostStyledIcon from "../../Icon/GhostIcon";
@ -105,7 +105,7 @@ const WalletTotalValue = ({ address, tokens }) => {
); );
}; };
function InitialWalletView({ address, chainId, onClose }) { function InitialWalletView({ isWalletOpen, address, chainId, onClose }) {
const theme = useTheme(); const theme = useTheme();
const navigate = useNavigate(); const navigate = useNavigate();
const tokens = useWallet(chainId, address); const tokens = useWallet(chainId, address);
@ -122,6 +122,12 @@ function InitialWalletView({ address, chainId, onClose }) {
onClose(); onClose();
} }
useEffect(() => {
if (isWalletOpen) {
Object.values(tokens ?? {}).forEach(token => token.refetch());
}
}, [isWalletOpen, tokens])
return ( return (
<Paper> <Paper>
<Box sx={{ padding: theme.spacing(0, 3), display: "flex", flexDirection: "column", minHeight: "100vh" }}> <Box sx={{ padding: theme.spacing(0, 3), display: "flex", flexDirection: "column", minHeight: "100vh" }}>

View File

@ -192,6 +192,7 @@ export const useWallet = (chainId, userAddress) => {
price: daiPrice, price: daiPrice,
icons: ["GDAI"], icons: ["GDAI"],
externalUrl: "https://ghostchain.io/wp-content/uploads/2025/03/gDAI.svg", externalUrl: "https://ghostchain.io/wp-content/uploads/2025/03/gDAI.svg",
refetch: daiRefetch,
}, },
ftso: { ftso: {
symbol: ftsoSymbol, symbol: ftsoSymbol,
@ -200,6 +201,7 @@ export const useWallet = (chainId, userAddress) => {
price: ftsoPrice, price: ftsoPrice,
icons: ["FTSO"], icons: ["FTSO"],
externalUrl: "https://ghostchain.io/wp-content/uploads/2025/03/eGHST.svg", externalUrl: "https://ghostchain.io/wp-content/uploads/2025/03/eGHST.svg",
refetch: ftsoRefetch,
}, },
stnk: { stnk: {
symbol: stnkSymbol, symbol: stnkSymbol,
@ -208,6 +210,7 @@ export const useWallet = (chainId, userAddress) => {
price: stnkPrice, price: stnkPrice,
icons: ["STNK"], icons: ["STNK"],
externalUrl: "https://ghostchain.io/wp-content/uploads/2025/03/sGHST.svg", externalUrl: "https://ghostchain.io/wp-content/uploads/2025/03/sGHST.svg",
refetch: stnkRefetch,
}, },
ghst: { ghst: {
symbol: ghstSymbol, symbol: ghstSymbol,
@ -216,6 +219,7 @@ export const useWallet = (chainId, userAddress) => {
price: ghstPrice, price: ghstPrice,
icons: ["GHST"], icons: ["GHST"],
externalUrl: "https://ghostchain.io/wp-content/uploads/2025/03/GHST.svg", externalUrl: "https://ghostchain.io/wp-content/uploads/2025/03/GHST.svg",
refetch: ghstRefetch,
}, },
daiFtso: { daiFtso: {
isPool: true, isPool: true,
@ -225,6 +229,7 @@ export const useWallet = (chainId, userAddress) => {
price: lpDaiFtsoPrice, price: lpDaiFtsoPrice,
icons: ["GDAI", "FTSO"], icons: ["GDAI", "FTSO"],
externalUrl: "https://ghostchain.io/wp-content/uploads/2025/03/uni-v2.svg", externalUrl: "https://ghostchain.io/wp-content/uploads/2025/03/uni-v2.svg",
refetch: lpDaiFtsoRefetch,
} }
}; };

View File

@ -76,7 +76,7 @@ export function Wallet({ address, chainId, connect }) {
onOpen={openWallet} onOpen={openWallet}
onClose={closeWallet} onClose={closeWallet}
> >
<InitialWalletView address={address} chainId={chainId} onClose={closeWallet} /> <InitialWalletView isWalletOpen={isWalletOpen} address={address} chainId={chainId} onClose={closeWallet} />
</StyledSwipeableDrawer> </StyledSwipeableDrawer>
</> </>
); );