diff --git a/src/hooks/tokens/useGetTokensWithEgld.ts b/src/hooks/tokens/useGetTokensWithEgld.ts index 13431981..a2c222ef 100644 --- a/src/hooks/tokens/useGetTokensWithEgld.ts +++ b/src/hooks/tokens/useGetTokensWithEgld.ts @@ -1,32 +1,47 @@ import { useEffect } from 'react'; +import uniqBy from 'lodash/unionBy'; import { useGetAccountInfo, useGetNetworkConfig } from 'lib'; import { useLazyGetTokensQuery } from 'redux/endpoints'; import { TokenType } from 'types'; +const defaultValues = { + owner: '', + minted: '', + burnt: '', + supply: '', + circulatingSupply: '', + canBurn: false, + canChangeOwner: false, + canFreeze: false, + canMint: false, + canPause: false, + canUpgrade: false, + canWipe: false, + isPaused: false, + transactions: 0, + accounts: 0 +}; + export const useGetTokensWithEgld = () => { const { websocketEvent, address, account } = useGetAccountInfo(); const { network } = useGetNetworkConfig(); const [fetchTokens, { data: tokens, isLoading }] = useLazyGetTokensQuery(); + const egldToken: TokenType = { + ...defaultValues, + identifier: network.egldLabel, + name: network.egldLabel, + balance: account?.balance + }; + useEffect(() => { fetchTokens(address); }, [address, websocketEvent]); - const usedTokens = [...(tokens ?? [])]; - - if (usedTokens.length > 0) { - const egldToken: TokenType = { - ...usedTokens[0], - identifier: network.egldLabel, - name: network.egldLabel, - balance: account?.balance - }; - - usedTokens.unshift(egldToken); - } + const usedTokens = [egldToken, ...(tokens ?? [])]; return { - tokens: usedTokens, + tokens: uniqBy(usedTokens, 'identifier'), isLoading }; }; diff --git a/vite.config.ts b/vite.config.ts index 359d0f03..e5218bc9 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,9 +1,9 @@ +import basicSsl from '@vitejs/plugin-basic-ssl'; import react from '@vitejs/plugin-react'; import { defineConfig } from 'vite'; import { nodePolyfills } from 'vite-plugin-node-polyfills'; import svgrPlugin from 'vite-plugin-svgr'; import tsconfigPaths from 'vite-tsconfig-paths'; -import basicSsl from '@vitejs/plugin-basic-ssl'; export default defineConfig({ server: {