import "./Stake.scss"; import { Box, Typography } from "@mui/material"; import SettingsIcon from '@mui/icons-material/Settings'; import { memo, useState, useEffect } from "react"; import { useChainId } from "wagmi"; import { useSearchParams } from "react-router-dom"; import { StakeArea } from "./components/StakeArea"; import GhostStyledIcon from "../../components/Icon/GhostIcon"; import Modal from "../../components/Modal/Modal"; import Paper from "../../components/Paper/Paper"; import TokenStack from "../../components/TokenStack/TokenStack"; import { useTokenSymbol } from "../../hooks/tokens"; const Stake = ({ chainId, address, isOpened, closeModal, connect }) => { const [action, setAction] = useState("STAKE"); const [settingsModalOpen, setSettingsModalOpen] = useState(false); const { symbol: ftsoSymbol } = useTokenSymbol(chainId, "FTSO"); const { symbol: stnkSymbol } = useTokenSymbol(chainId, "STNK"); const { symbol: ghstSymbol } = useTokenSymbol(chainId, "GHST"); const [upperToken, setUpperToken] = useState(ftsoSymbol); const [bottomToken, setBottomToken] = useState(ghstSymbol); const setSettingsModalOpenInner = (value) => { setSettingsModalOpen(value); } useEffect(() => { switch (true) { case (upperToken === ftsoSymbol && bottomToken === stnkSymbol): setAction("STAKE") break; case (upperToken === ftsoSymbol && bottomToken === ghstSymbol): setAction("STAKE") break; case (upperToken === stnkSymbol && bottomToken === ftsoSymbol): setAction("UNSTAKE") break; case (upperToken === ghstSymbol && bottomToken === ftsoSymbol): setAction("UNSTAKE") break; case (upperToken === stnkSymbol && bottomToken === ghstSymbol): setAction("WRAP") break; case (upperToken === ghstSymbol && bottomToken === stnkSymbol): setAction("UNWRAP") break; default: setAction("STAKE") } }, [upperToken, bottomToken]) return ( {action} } topLeft={ setSettingsModalOpenInner(true)} /> } open={isOpened} onClose={closeModal} maxWidth="460px" minHeight="200px" > setSettingsModalOpenInner(false)} upperToken={upperToken} setUpperToken={setUpperToken} bottomToken={bottomToken} setBottomToken={setBottomToken} action={action} chainId={chainId} address={address} connect={connect} /> ); }; export default memo(Stake);