Skip to content

Commit

Permalink
Merge branch 'add-vaults-page' of https://github.com/CrocSwap/ambient…
Browse files Browse the repository at this point in the history
…-ts-app into add-vaults-page
  • Loading branch information
Jadessu committed Nov 12, 2024
2 parents 451bbfd + f992d28 commit f018f50
Show file tree
Hide file tree
Showing 5 changed files with 59 additions and 2 deletions.
3 changes: 3 additions & 0 deletions src/ambient-utils/constants/networks/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,9 @@ export const supportedNetworks: { [x: string]: NetworkIF } =
? getNetworks(Object.keys(plumeSepoliaBrandAssets.networks))
: getNetworks(Object.keys(defaultBrandAssets.networks));

export const vaultSupportedNetworkIds = ['0x1', '0x82750'];
export const vaultSupportedNetworks = getNetworks(vaultSupportedNetworkIds);

export function getDefaultPairForChain(chainId: string): [TokenIF, TokenIF] {
if (brand === 'futa') {
return (
Expand Down
4 changes: 3 additions & 1 deletion src/contexts/ChainDataContext.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import {
ZERO_ADDRESS,
hiddenTokens,
supportedNetworks,
vaultSupportedNetworkIds,
} from '../ambient-utils/constants';
import { isJsonString } from '../ambient-utils/dataLayer';
import { SinglePoolDataIF, TokenIF } from '../ambient-utils/types';
Expand Down Expand Up @@ -113,7 +114,8 @@ export const ChainDataContextProvider = (props: { children: ReactNode }) => {
const isActiveNetworkScroll = ['0x82750', '0x8274f'].includes(chainId);
const isActiveNetworkMainnet = ['0x1'].includes(chainId);
const isActiveNetworkPlume = ['0x18230'].includes(chainId);
const isVaultSupportedOnNetwork = ['0x1', '0x82750'].includes(chainId);
const isVaultSupportedOnNetwork =
vaultSupportedNetworkIds.includes(chainId);

const blockPollingUrl = BLOCK_POLLING_RPC_URL
? BLOCK_POLLING_RPC_URL
Expand Down
7 changes: 7 additions & 0 deletions src/pages/platformAmbient/Vaults/NoVaults.module.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.no_vaults {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
height: 100%;
}
39 changes: 39 additions & 0 deletions src/pages/platformAmbient/Vaults/NoVaults.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import styles from './NoVaults.module.css';
import Button from '../../../components/Form/Button';
import { AppStateContext } from '../../../contexts';
import { useContext, useEffect } from 'react';
import {
scrollMainnet,
vaultSupportedNetworks,
} from '../../../ambient-utils/constants';
import { useSwitchNetwork, useWeb3ModalAccount } from '@web3modal/ethers/react';

export default function NoVaults() {
const { chooseNetwork } = useContext(AppStateContext);

const { isConnected } = useWeb3ModalAccount();
const { switchNetwork } = useSwitchNetwork();

async function goToScroll(): Promise<void> {
isConnected
? await switchNetwork(parseInt(scrollMainnet.chainId))
: chooseNetwork(scrollMainnet);
}

useEffect(() => {
console.log({ vaultSupportedNetworks });
}, [vaultSupportedNetworks]);

const BUTTON_DOM_ID = 'change_network_to_scroll';

return (
<div className={styles.no_vaults}>
<h3>To use Vaults please change network to Scroll.</h3>
<Button
idForDOM={BUTTON_DOM_ID}
title='Change to Scroll'
action={() => goToScroll()}
/>
</div>
);
}
8 changes: 7 additions & 1 deletion src/routes/PlatformAmbient.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,12 @@ import FAQPoints from '../pages/common/FAQ/FAQPoints';
import PrivacyPolicy from '../pages/common/PrivacyPolicy/PrivacyPolicy';
import TermsOfService from '../pages/common/TermsOfService/TermsOfService';
import TestPage from '../pages/common/TestPage/TestPage';
import { ChainDataContext } from '../contexts';
import NoVaults from '../pages/platformAmbient/Vaults/NoVaults';

const PlatformAmbientRoutes: React.FC = () => {
const { defaultUrlParams } = useContext(CrocEnvContext);
const { isVaultSupportedOnNetwork } = useContext(ChainDataContext);

return (
<Routes>
Expand Down Expand Up @@ -75,7 +78,10 @@ const PlatformAmbientRoutes: React.FC = () => {
/>
<Route path='initpool/:params' element={<InitPool />} />
<Route path='account' element={<Portfolio />} />
<Route path='vaults' element={<Vaults />} />
<Route
path='vaults'
element={isVaultSupportedOnNetwork ? <Vaults /> : <NoVaults />}
/>
<Route
path='xp-leaderboard'
element={<Portfolio isLevelsPage isRanksPage />}
Expand Down

0 comments on commit f018f50

Please sign in to comment.