Commit 0b4c7715 authored by Bruno Crosier's avatar Bruno Crosier Committed by GitHub

fix: NetworkSelect mobile toggle bug (#3698)

* fix windows dev environment bugs

* fix NetworkSelector toggle bug

* revert:  add `prei18n:extract` script back

this change to make the script Windows-compatible will be dealt with in a separate PR

* revert:  revert prettier endOfLine fix

Will be dealt with in a separate PR

* updates
Co-authored-by: default avatarVignesh Mohankumar <vignesh@vigneshmohankumar.com>
Co-authored-by: default avatarVignesh Mohankumar <me@vig.xyz>
parent e36722cc
...@@ -3,14 +3,13 @@ import { useWeb3React } from '@web3-react/core' ...@@ -3,14 +3,13 @@ import { useWeb3React } from '@web3-react/core'
import { getConnection } from 'connection/utils' import { getConnection } from 'connection/utils'
import { CHAIN_INFO } from 'constants/chainInfo' import { CHAIN_INFO } from 'constants/chainInfo'
import { CHAIN_IDS_TO_NAMES, SupportedChainId } from 'constants/chains' import { CHAIN_IDS_TO_NAMES, SupportedChainId } from 'constants/chains'
import { useOnClickOutside } from 'hooks/useOnClickOutside'
import useParsedQueryString from 'hooks/useParsedQueryString' import useParsedQueryString from 'hooks/useParsedQueryString'
import usePrevious from 'hooks/usePrevious' import usePrevious from 'hooks/usePrevious'
import { ParsedQs } from 'qs' import { ParsedQs } from 'qs'
import { useCallback, useEffect, useRef } from 'react' import { useCallback, useEffect, useRef } from 'react'
import { ArrowDownCircle, ChevronDown } from 'react-feather' import { ArrowDownCircle, ChevronDown } from 'react-feather'
import { useHistory } from 'react-router-dom' import { useHistory } from 'react-router-dom'
import { useModalOpen, useToggleModal } from 'state/application/hooks' import { useCloseModal, useModalIsOpen, useOpenModal, useToggleModal } from 'state/application/hooks'
import { addPopup, ApplicationModal } from 'state/application/reducer' import { addPopup, ApplicationModal } from 'state/application/reducer'
import { updateConnectionError } from 'state/connection/reducer' import { updateConnectionError } from 'state/connection/reducer'
import { useAppDispatch } from 'state/hooks' import { useAppDispatch } from 'state/hooks'
...@@ -272,17 +271,17 @@ export default function NetworkSelector() { ...@@ -272,17 +271,17 @@ export default function NetworkSelector() {
const parsedQs = useParsedQueryString() const parsedQs = useParsedQueryString()
const { urlChain, urlChainId } = getParsedChainId(parsedQs) const { urlChain, urlChainId } = getParsedChainId(parsedQs)
const previousUrlChainId = usePrevious(urlChainId) const previousUrlChainId = usePrevious(urlChainId)
const node = useRef<HTMLDivElement>() const node = useRef<HTMLDivElement>(null)
const open = useModalOpen(ApplicationModal.NETWORK_SELECTOR) const isOpen = useModalIsOpen(ApplicationModal.NETWORK_SELECTOR)
const toggle = useToggleModal(ApplicationModal.NETWORK_SELECTOR) const openModal = useOpenModal(ApplicationModal.NETWORK_SELECTOR)
useOnClickOutside(node, open ? toggle : undefined) const closeModal = useCloseModal(ApplicationModal.NETWORK_SELECTOR)
const toggleModal = useToggleModal(ApplicationModal.NETWORK_SELECTOR)
const history = useHistory() const history = useHistory()
const info = chainId ? CHAIN_INFO[chainId] : undefined const info = chainId ? CHAIN_INFO[chainId] : undefined
const onSelectChain = useCallback( const onSelectChain = useCallback(
async (targetChain: number, skipToggle?: boolean) => { async (targetChain: number, skipClose?: boolean) => {
if (!connector) return if (!connector) return
const connectionType = getConnection(connector).type const connectionType = getConnection(connector).type
...@@ -297,11 +296,11 @@ export default function NetworkSelector() { ...@@ -297,11 +296,11 @@ export default function NetworkSelector() {
dispatch(addPopup({ content: { failedSwitchNetwork: targetChain }, key: `failed-network-switch` })) dispatch(addPopup({ content: { failedSwitchNetwork: targetChain }, key: `failed-network-switch` }))
} }
if (!skipToggle) { if (!skipClose) {
toggle() closeModal()
} }
}, },
[connector, toggle, dispatch] [connector, closeModal, dispatch]
) )
useEffect(() => { useEffect(() => {
...@@ -332,13 +331,13 @@ export default function NetworkSelector() { ...@@ -332,13 +331,13 @@ export default function NetworkSelector() {
} }
return ( return (
<SelectorWrapper ref={node as any} onMouseEnter={toggle} onMouseLeave={toggle}> <SelectorWrapper ref={node} onMouseEnter={openModal} onMouseLeave={closeModal} onClick={toggleModal}>
<SelectorControls interactive> <SelectorControls interactive>
<SelectorLogo interactive src={info.logoUrl} /> <SelectorLogo interactive src={info.logoUrl} />
<SelectorLabel>{info.label}</SelectorLabel> <SelectorLabel>{info.label}</SelectorLabel>
<StyledChevronDown /> <StyledChevronDown />
</SelectorControls> </SelectorControls>
{open && ( {isOpen && (
<FlyoutMenu> <FlyoutMenu>
<FlyoutMenuContents> <FlyoutMenuContents>
<FlyoutHeader> <FlyoutHeader>
......
...@@ -26,7 +26,7 @@ import styled, { css } from 'styled-components/macro' ...@@ -26,7 +26,7 @@ import styled, { css } from 'styled-components/macro'
import { ReactComponent as MenuIcon } from '../../assets/images/menu.svg' import { ReactComponent as MenuIcon } from '../../assets/images/menu.svg'
import { useOnClickOutside } from '../../hooks/useOnClickOutside' import { useOnClickOutside } from '../../hooks/useOnClickOutside'
import { useModalOpen, useToggleModal } from '../../state/application/hooks' import { useModalIsOpen, useToggleModal } from '../../state/application/hooks'
import { ApplicationModal } from '../../state/application/reducer' import { ApplicationModal } from '../../state/application/reducer'
import { ExternalLink } from '../../theme' import { ExternalLink } from '../../theme'
import { ButtonPrimary } from '../Button' import { ButtonPrimary } from '../Button'
...@@ -210,7 +210,7 @@ export default function Menu() { ...@@ -210,7 +210,7 @@ export default function Menu() {
const { account, chainId } = useWeb3React() const { account, chainId } = useWeb3React()
const node = useRef<HTMLDivElement>() const node = useRef<HTMLDivElement>()
const open = useModalOpen(ApplicationModal.MENU) const open = useModalIsOpen(ApplicationModal.MENU)
const toggleMenu = useToggleModal(ApplicationModal.MENU) const toggleMenu = useToggleModal(ApplicationModal.MENU)
useOnClickOutside(node, open ? toggleMenu : undefined) useOnClickOutside(node, open ? toggleMenu : undefined)
const togglePrivacyPolicy = useToggleModal(ApplicationModal.PRIVACY_POLICY) const togglePrivacyPolicy = useToggleModal(ApplicationModal.PRIVACY_POLICY)
...@@ -334,7 +334,7 @@ const ExternalMenuItem = styled(MenuItem)` ...@@ -334,7 +334,7 @@ const ExternalMenuItem = styled(MenuItem)`
export const NewMenu = ({ flyoutAlignment = FlyoutAlignment.RIGHT, ToggleUI, menuItems, ...rest }: NewMenuProps) => { export const NewMenu = ({ flyoutAlignment = FlyoutAlignment.RIGHT, ToggleUI, menuItems, ...rest }: NewMenuProps) => {
const node = useRef<HTMLDivElement>() const node = useRef<HTMLDivElement>()
const open = useModalOpen(ApplicationModal.POOL_OVERVIEW_OPTIONS) const open = useModalIsOpen(ApplicationModal.POOL_OVERVIEW_OPTIONS)
const toggle = useToggleModal(ApplicationModal.POOL_OVERVIEW_OPTIONS) const toggle = useToggleModal(ApplicationModal.POOL_OVERVIEW_OPTIONS)
useOnClickOutside(node, open ? toggle : undefined) useOnClickOutside(node, open ? toggle : undefined)
const ToggleElement = ToggleUI || StyledMenuIcon const ToggleElement = ToggleUI || StyledMenuIcon
......
...@@ -8,7 +8,7 @@ import styled, { keyframes } from 'styled-components/macro' ...@@ -8,7 +8,7 @@ import styled, { keyframes } from 'styled-components/macro'
import tokenLogo from '../../assets/images/token-logo.png' import tokenLogo from '../../assets/images/token-logo.png'
import { import {
useModalOpen, useModalIsOpen,
useShowClaimPopup, useShowClaimPopup,
useToggleSelfClaimModal, useToggleSelfClaimModal,
useToggleShowClaimPopup, useToggleShowClaimPopup,
...@@ -62,7 +62,7 @@ export default function ClaimPopup() { ...@@ -62,7 +62,7 @@ export default function ClaimPopup() {
const toggleShowClaimPopup = useToggleShowClaimPopup() const toggleShowClaimPopup = useToggleShowClaimPopup()
// toggle for showing this modal // toggle for showing this modal
const showClaimModal = useModalOpen(ApplicationModal.SELF_CLAIM) const showClaimModal = useModalIsOpen(ApplicationModal.SELF_CLAIM)
const toggleSelfClaimModal = useToggleSelfClaimModal() const toggleSelfClaimModal = useToggleSelfClaimModal()
const handleToggleSelfClaimModal = useCallback(() => { const handleToggleSelfClaimModal = useCallback(() => {
sendEvent({ sendEvent({
......
...@@ -8,7 +8,7 @@ import styled from 'styled-components/macro' ...@@ -8,7 +8,7 @@ import styled from 'styled-components/macro'
import { ExternalLink, ThemedText } from 'theme' import { ExternalLink, ThemedText } from 'theme'
import { isMobile } from 'utils/userAgent' import { isMobile } from 'utils/userAgent'
import { useModalOpen, useTogglePrivacyPolicy } from '../../state/application/hooks' import { useModalIsOpen, useTogglePrivacyPolicy } from '../../state/application/hooks'
import { ApplicationModal } from '../../state/application/reducer' import { ApplicationModal } from '../../state/application/reducer'
import { AutoColumn } from '../Column' import { AutoColumn } from '../Column'
import Modal from '../Modal' import Modal from '../Modal'
...@@ -81,7 +81,7 @@ const EXTERNAL_APIS = [ ...@@ -81,7 +81,7 @@ const EXTERNAL_APIS = [
export function PrivacyPolicyModal() { export function PrivacyPolicyModal() {
const node = useRef<HTMLDivElement>() const node = useRef<HTMLDivElement>()
const open = useModalOpen(ApplicationModal.PRIVACY_POLICY) const open = useModalIsOpen(ApplicationModal.PRIVACY_POLICY)
const toggle = useTogglePrivacyPolicy() const toggle = useTogglePrivacyPolicy()
useEffect(() => { useEffect(() => {
......
...@@ -10,7 +10,7 @@ import { Text } from 'rebass' ...@@ -10,7 +10,7 @@ import { Text } from 'rebass'
import styled, { ThemeContext } from 'styled-components/macro' import styled, { ThemeContext } from 'styled-components/macro'
import { useOnClickOutside } from '../../hooks/useOnClickOutside' import { useOnClickOutside } from '../../hooks/useOnClickOutside'
import { useModalOpen, useToggleSettingsMenu } from '../../state/application/hooks' import { useModalIsOpen, useToggleSettingsMenu } from '../../state/application/hooks'
import { ApplicationModal } from '../../state/application/reducer' import { ApplicationModal } from '../../state/application/reducer'
import { useClientSideRouter, useExpertModeManager } from '../../state/user/hooks' import { useClientSideRouter, useExpertModeManager } from '../../state/user/hooks'
import { ThemedText } from '../../theme' import { ThemedText } from '../../theme'
...@@ -122,7 +122,7 @@ export default function SettingsTab({ placeholderSlippage }: { placeholderSlippa ...@@ -122,7 +122,7 @@ export default function SettingsTab({ placeholderSlippage }: { placeholderSlippa
const { chainId } = useWeb3React() const { chainId } = useWeb3React()
const node = useRef<HTMLDivElement>() const node = useRef<HTMLDivElement>()
const open = useModalOpen(ApplicationModal.SETTINGS) const open = useModalIsOpen(ApplicationModal.SETTINGS)
const toggle = useToggleSettingsMenu() const toggle = useToggleSettingsMenu()
const theme = useContext(ThemeContext) const theme = useContext(ThemeContext)
......
...@@ -2,14 +2,14 @@ import { useWeb3React } from '@web3-react/core' ...@@ -2,14 +2,14 @@ import { useWeb3React } from '@web3-react/core'
import AddressClaimModal from 'components/claim/AddressClaimModal' import AddressClaimModal from 'components/claim/AddressClaimModal'
import ConnectedAccountBlocked from 'components/ConnectedAccountBlocked' import ConnectedAccountBlocked from 'components/ConnectedAccountBlocked'
import useAccountRiskCheck from 'hooks/useAccountRiskCheck' import useAccountRiskCheck from 'hooks/useAccountRiskCheck'
import { useModalOpen, useToggleModal } from 'state/application/hooks' import { useModalIsOpen, useToggleModal } from 'state/application/hooks'
import { ApplicationModal } from 'state/application/reducer' import { ApplicationModal } from 'state/application/reducer'
export default function TopLevelModals() { export default function TopLevelModals() {
const addressClaimOpen = useModalOpen(ApplicationModal.ADDRESS_CLAIM) const addressClaimOpen = useModalIsOpen(ApplicationModal.ADDRESS_CLAIM)
const addressClaimToggle = useToggleModal(ApplicationModal.ADDRESS_CLAIM) const addressClaimToggle = useToggleModal(ApplicationModal.ADDRESS_CLAIM)
const blockedAccountModalOpen = useModalOpen(ApplicationModal.BLOCKED_ACCOUNT) const blockedAccountModalOpen = useModalIsOpen(ApplicationModal.BLOCKED_ACCOUNT)
const { account } = useWeb3React() const { account } = useWeb3React()
useAccountRiskCheck(account) useAccountRiskCheck(account)
......
...@@ -18,8 +18,8 @@ jest.mock('utils/userAgent', () => ({ ...@@ -18,8 +18,8 @@ jest.mock('utils/userAgent', () => ({
jest.mock('.../../state/application/hooks', () => { jest.mock('.../../state/application/hooks', () => {
return { return {
useModalOpen: (_modal: ApplicationModal) => true, useModalIsOpen: (_modal: ApplicationModal) => true,
useWalletModalToggle: () => { useToggleWalletModal: () => {
return return
}, },
} }
......
...@@ -16,7 +16,7 @@ import styled from 'styled-components/macro' ...@@ -16,7 +16,7 @@ import styled from 'styled-components/macro'
import MetamaskIcon from '../../assets/images/metamask.png' import MetamaskIcon from '../../assets/images/metamask.png'
import { ReactComponent as Close } from '../../assets/images/x.svg' import { ReactComponent as Close } from '../../assets/images/x.svg'
import { SUPPORTED_WALLETS } from '../../constants/wallet' import { SUPPORTED_WALLETS } from '../../constants/wallet'
import { useModalOpen, useWalletModalToggle } from '../../state/application/hooks' import { useModalIsOpen, useToggleWalletModal } from '../../state/application/hooks'
import { ApplicationModal } from '../../state/application/reducer' import { ApplicationModal } from '../../state/application/reducer'
import { ExternalLink, ThemedText } from '../../theme' import { ExternalLink, ThemedText } from '../../theme'
import { isMobile } from '../../utils/userAgent' import { isMobile } from '../../utils/userAgent'
...@@ -129,8 +129,8 @@ export default function WalletModal({ ...@@ -129,8 +129,8 @@ export default function WalletModal({
pendingConnector ? state.connection.errorByConnectionType[getConnection(pendingConnector).type] : undefined pendingConnector ? state.connection.errorByConnectionType[getConnection(pendingConnector).type] : undefined
) )
const walletModalOpen = useModalOpen(ApplicationModal.WALLET) const walletModalOpen = useModalIsOpen(ApplicationModal.WALLET)
const toggleWalletModal = useWalletModalToggle() const toggleWalletModal = useToggleWalletModal()
const openOptions = useCallback(() => { const openOptions = useCallback(() => {
setWalletView(WALLET_VIEWS.OPTIONS) setWalletView(WALLET_VIEWS.OPTIONS)
......
...@@ -10,7 +10,7 @@ import styled, { css } from 'styled-components/macro' ...@@ -10,7 +10,7 @@ import styled, { css } from 'styled-components/macro'
import { isChainAllowed } from 'utils/switchChain' import { isChainAllowed } from 'utils/switchChain'
import { useHasSocks } from '../../hooks/useSocksBalance' import { useHasSocks } from '../../hooks/useSocksBalance'
import { useWalletModalToggle } from '../../state/application/hooks' import { useToggleWalletModal } from '../../state/application/hooks'
import { isTransactionRecent, useAllTransactions } from '../../state/transactions/hooks' import { isTransactionRecent, useAllTransactions } from '../../state/transactions/hooks'
import { TransactionDetails } from '../../state/transactions/types' import { TransactionDetails } from '../../state/transactions/types'
import { shortenAddress } from '../../utils' import { shortenAddress } from '../../utils'
...@@ -139,7 +139,7 @@ function Web3StatusInner() { ...@@ -139,7 +139,7 @@ function Web3StatusInner() {
const hasPendingTransactions = !!pending.length const hasPendingTransactions = !!pending.length
const hasSocks = useHasSocks() const hasSocks = useHasSocks()
const toggleWalletModal = useWalletModalToggle() const toggleWalletModal = useToggleWalletModal()
if (!chainId) { if (!chainId) {
return null return null
......
...@@ -9,7 +9,7 @@ import styled from 'styled-components/macro' ...@@ -9,7 +9,7 @@ import styled from 'styled-components/macro'
import Circle from '../../assets/images/blue-loader.svg' import Circle from '../../assets/images/blue-loader.svg'
import tokenLogo from '../../assets/images/token-logo.png' import tokenLogo from '../../assets/images/token-logo.png'
import { useModalOpen, useToggleSelfClaimModal } from '../../state/application/hooks' import { useModalIsOpen, useToggleSelfClaimModal } from '../../state/application/hooks'
import { ApplicationModal } from '../../state/application/reducer' import { ApplicationModal } from '../../state/application/reducer'
import { useClaimCallback, useUserClaimData, useUserUnclaimedAmount } from '../../state/claim/hooks' import { useClaimCallback, useUserClaimData, useUserUnclaimedAmount } from '../../state/claim/hooks'
import { useUserHasSubmittedClaim } from '../../state/transactions/hooks' import { useUserHasSubmittedClaim } from '../../state/transactions/hooks'
...@@ -48,7 +48,7 @@ const SOCKS_AMOUNT = 1000 ...@@ -48,7 +48,7 @@ const SOCKS_AMOUNT = 1000
const USER_AMOUNT = 400 const USER_AMOUNT = 400
export default function ClaimModal() { export default function ClaimModal() {
const isOpen = useModalOpen(ApplicationModal.SELF_CLAIM) const isOpen = useModalIsOpen(ApplicationModal.SELF_CLAIM)
const toggleClaimModal = useToggleSelfClaimModal() const toggleClaimModal = useToggleSelfClaimModal()
const { account, chainId } = useWeb3React() const { account, chainId } = useWeb3React()
......
...@@ -46,7 +46,7 @@ import { useIsSwapUnsupported } from '../../hooks/useIsSwapUnsupported' ...@@ -46,7 +46,7 @@ import { useIsSwapUnsupported } from '../../hooks/useIsSwapUnsupported'
import useTransactionDeadline from '../../hooks/useTransactionDeadline' import useTransactionDeadline from '../../hooks/useTransactionDeadline'
import { useUSDCValue } from '../../hooks/useUSDCPrice' import { useUSDCValue } from '../../hooks/useUSDCPrice'
import { useV3PositionFromTokenId } from '../../hooks/useV3Positions' import { useV3PositionFromTokenId } from '../../hooks/useV3Positions'
import { useWalletModalToggle } from '../../state/application/hooks' import { useToggleWalletModal } from '../../state/application/hooks'
import { Bound, Field } from '../../state/mint/v3/actions' import { Bound, Field } from '../../state/mint/v3/actions'
import { useTransactionAdder } from '../../state/transactions/hooks' import { useTransactionAdder } from '../../state/transactions/hooks'
import { TransactionType } from '../../state/transactions/types' import { TransactionType } from '../../state/transactions/types'
...@@ -83,7 +83,7 @@ export default function AddLiquidity({ ...@@ -83,7 +83,7 @@ export default function AddLiquidity({
}: RouteComponentProps<{ currencyIdA?: string; currencyIdB?: string; feeAmount?: string; tokenId?: string }>) { }: RouteComponentProps<{ currencyIdA?: string; currencyIdB?: string; feeAmount?: string; tokenId?: string }>) {
const { account, chainId, provider } = useWeb3React() const { account, chainId, provider } = useWeb3React()
const theme = useContext(ThemeContext) const theme = useContext(ThemeContext)
const toggleWalletModal = useWalletModalToggle() // toggle wallet when disconnected const toggleWalletModal = useToggleWalletModal() // toggle wallet when disconnected
const expertMode = useIsExpertMode() const expertMode = useIsExpertMode()
const addTransaction = useTransactionAdder() const addTransaction = useTransactionAdder()
const positionManager = useV3NFTPositionManagerContract() const positionManager = useV3NFTPositionManagerContract()
......
...@@ -29,7 +29,7 @@ import { useV2RouterContract } from '../../hooks/useContract' ...@@ -29,7 +29,7 @@ import { useV2RouterContract } from '../../hooks/useContract'
import { useIsSwapUnsupported } from '../../hooks/useIsSwapUnsupported' import { useIsSwapUnsupported } from '../../hooks/useIsSwapUnsupported'
import useTransactionDeadline from '../../hooks/useTransactionDeadline' import useTransactionDeadline from '../../hooks/useTransactionDeadline'
import { PairState } from '../../hooks/useV2Pairs' import { PairState } from '../../hooks/useV2Pairs'
import { useWalletModalToggle } from '../../state/application/hooks' import { useToggleWalletModal } from '../../state/application/hooks'
import { Field } from '../../state/mint/actions' import { Field } from '../../state/mint/actions'
import { useDerivedMintInfo, useMintActionHandlers, useMintState } from '../../state/mint/hooks' import { useDerivedMintInfo, useMintActionHandlers, useMintState } from '../../state/mint/hooks'
import { useTransactionAdder } from '../../state/transactions/hooks' import { useTransactionAdder } from '../../state/transactions/hooks'
...@@ -68,7 +68,7 @@ export default function AddLiquidity({ ...@@ -68,7 +68,7 @@ export default function AddLiquidity({
((currencyA && currencyA.equals(wrappedNativeCurrency)) || (currencyB && currencyB.equals(wrappedNativeCurrency))) ((currencyA && currencyA.equals(wrappedNativeCurrency)) || (currencyB && currencyB.equals(wrappedNativeCurrency)))
) )
const toggleWalletModal = useWalletModalToggle() // toggle wallet when disconnected const toggleWalletModal = useToggleWalletModal() // toggle wallet when disconnected
const expertMode = useIsExpertMode() const expertMode = useIsExpertMode()
......
...@@ -23,7 +23,7 @@ import usePrevious from '../../hooks/usePrevious' ...@@ -23,7 +23,7 @@ import usePrevious from '../../hooks/usePrevious'
import { useTotalSupply } from '../../hooks/useTotalSupply' import { useTotalSupply } from '../../hooks/useTotalSupply'
import useUSDCPrice from '../../hooks/useUSDCPrice' import useUSDCPrice from '../../hooks/useUSDCPrice'
import { useV2Pair } from '../../hooks/useV2Pairs' import { useV2Pair } from '../../hooks/useV2Pairs'
import { useWalletModalToggle } from '../../state/application/hooks' import { useToggleWalletModal } from '../../state/application/hooks'
import { useTokenBalance } from '../../state/connection/hooks' import { useTokenBalance } from '../../state/connection/hooks'
import { useStakingInfo } from '../../state/stake/hooks' import { useStakingInfo } from '../../state/stake/hooks'
import { ThemedText } from '../../theme' import { ThemedText } from '../../theme'
...@@ -142,7 +142,7 @@ export default function Manage({ ...@@ -142,7 +142,7 @@ export default function Manage({
const valueOfTotalStakedAmountInUSDC = const valueOfTotalStakedAmountInUSDC =
valueOfTotalStakedAmountInWETH && USDPrice?.quote(valueOfTotalStakedAmountInWETH) valueOfTotalStakedAmountInWETH && USDPrice?.quote(valueOfTotalStakedAmountInWETH)
const toggleWalletModal = useWalletModalToggle() const toggleWalletModal = useToggleWalletModal()
const handleDepositClick = useCallback(() => { const handleDepositClick = useCallback(() => {
if (account) { if (account) {
......
...@@ -11,7 +11,7 @@ import { useV3Positions } from 'hooks/useV3Positions' ...@@ -11,7 +11,7 @@ import { useV3Positions } from 'hooks/useV3Positions'
import { useContext } from 'react' import { useContext } from 'react'
import { BookOpen, ChevronDown, ChevronsRight, Inbox, Layers, PlusCircle } from 'react-feather' import { BookOpen, ChevronDown, ChevronsRight, Inbox, Layers, PlusCircle } from 'react-feather'
import { Link } from 'react-router-dom' import { Link } from 'react-router-dom'
import { useWalletModalToggle } from 'state/application/hooks' import { useToggleWalletModal } from 'state/application/hooks'
import { useUserHideClosedPositions } from 'state/user/hooks' import { useUserHideClosedPositions } from 'state/user/hooks'
import styled, { ThemeContext } from 'styled-components/macro' import styled, { ThemeContext } from 'styled-components/macro'
import { HideSmall, ThemedText } from 'theme' import { HideSmall, ThemedText } from 'theme'
...@@ -128,7 +128,7 @@ function PositionsLoadingPlaceholder() { ...@@ -128,7 +128,7 @@ function PositionsLoadingPlaceholder() {
export default function Pool() { export default function Pool() {
const { account, chainId } = useWeb3React() const { account, chainId } = useWeb3React()
const toggleWalletModal = useWalletModalToggle() const toggleWalletModal = useToggleWalletModal()
const theme = useContext(ThemeContext) const theme = useContext(ThemeContext)
const [userHideClosedPositions, setUserHideClosedPositions] = useUserHideClosedPositions() const [userHideClosedPositions, setUserHideClosedPositions] = useUserHideClosedPositions()
......
...@@ -30,7 +30,7 @@ import { ApprovalState, useApproveCallback } from '../../hooks/useApproveCallbac ...@@ -30,7 +30,7 @@ import { ApprovalState, useApproveCallback } from '../../hooks/useApproveCallbac
import { usePairContract, useV2RouterContract } from '../../hooks/useContract' import { usePairContract, useV2RouterContract } from '../../hooks/useContract'
import useDebouncedChangeHandler from '../../hooks/useDebouncedChangeHandler' import useDebouncedChangeHandler from '../../hooks/useDebouncedChangeHandler'
import useTransactionDeadline from '../../hooks/useTransactionDeadline' import useTransactionDeadline from '../../hooks/useTransactionDeadline'
import { useWalletModalToggle } from '../../state/application/hooks' import { useToggleWalletModal } from '../../state/application/hooks'
import { Field } from '../../state/burn/actions' import { Field } from '../../state/burn/actions'
import { useBurnActionHandlers, useBurnState, useDerivedBurnInfo } from '../../state/burn/hooks' import { useBurnActionHandlers, useBurnState, useDerivedBurnInfo } from '../../state/burn/hooks'
import { useTransactionAdder } from '../../state/transactions/hooks' import { useTransactionAdder } from '../../state/transactions/hooks'
...@@ -58,7 +58,7 @@ export default function RemoveLiquidity({ ...@@ -58,7 +58,7 @@ export default function RemoveLiquidity({
const theme = useContext(ThemeContext) const theme = useContext(ThemeContext)
// toggle wallet when disconnected // toggle wallet when disconnected
const toggleWalletModal = useWalletModalToggle() const toggleWalletModal = useToggleWalletModal()
// burn state // burn state
const { independentField, typedValue } = useBurnState() const { independentField, typedValue } = useBurnState()
......
...@@ -42,7 +42,7 @@ import useIsArgentWallet from '../../hooks/useIsArgentWallet' ...@@ -42,7 +42,7 @@ import useIsArgentWallet from '../../hooks/useIsArgentWallet'
import { useIsSwapUnsupported } from '../../hooks/useIsSwapUnsupported' import { useIsSwapUnsupported } from '../../hooks/useIsSwapUnsupported'
import { useUSDCValue } from '../../hooks/useUSDCPrice' import { useUSDCValue } from '../../hooks/useUSDCPrice'
import useWrapCallback, { WrapErrorText, WrapType } from '../../hooks/useWrapCallback' import useWrapCallback, { WrapErrorText, WrapType } from '../../hooks/useWrapCallback'
import { useWalletModalToggle } from '../../state/application/hooks' import { useToggleWalletModal } from '../../state/application/hooks'
import { Field } from '../../state/swap/actions' import { Field } from '../../state/swap/actions'
import { import {
useDefaultsFromURLSearch, useDefaultsFromURLSearch,
...@@ -105,7 +105,7 @@ export default function Swap({ history }: RouteComponentProps) { ...@@ -105,7 +105,7 @@ export default function Swap({ history }: RouteComponentProps) {
const theme = useContext(ThemeContext) const theme = useContext(ThemeContext)
// toggle wallet when disconnected // toggle wallet when disconnected
const toggleWalletModal = useWalletModalToggle() const toggleWalletModal = useToggleWalletModal()
// for expert mode // for expert mode
const [isExpertMode] = useExpertModeManager() const [isExpertMode] = useExpertModeManager()
......
...@@ -16,7 +16,7 @@ import { darken } from 'polished' ...@@ -16,7 +16,7 @@ import { darken } from 'polished'
import { useState } from 'react' import { useState } from 'react'
import { Link } from 'react-router-dom' import { Link } from 'react-router-dom'
import { Button } from 'rebass/styled-components' import { Button } from 'rebass/styled-components'
import { useModalOpen, useToggleDelegateModal } from 'state/application/hooks' import { useModalIsOpen, useToggleDelegateModal } from 'state/application/hooks'
import { ApplicationModal } from 'state/application/reducer' import { ApplicationModal } from 'state/application/reducer'
import { useTokenBalance } from 'state/connection/hooks' import { useTokenBalance } from 'state/connection/hooks'
import { ProposalData, ProposalState } from 'state/governance/hooks' import { ProposalData, ProposalState } from 'state/governance/hooks'
...@@ -112,7 +112,7 @@ export default function Landing() { ...@@ -112,7 +112,7 @@ export default function Landing() {
const [hideCancelled, setHideCancelled] = useState(true) const [hideCancelled, setHideCancelled] = useState(true)
// toggle for showing delegation modal // toggle for showing delegation modal
const showDelegateModal = useModalOpen(ApplicationModal.DELEGATE) const showDelegateModal = useModalIsOpen(ApplicationModal.DELEGATE)
const toggleDelegateModal = useToggleDelegateModal() const toggleDelegateModal = useToggleDelegateModal()
// get data to list all proposals // get data to list all proposals
......
...@@ -31,7 +31,7 @@ import { ...@@ -31,7 +31,7 @@ import {
import { ZERO_ADDRESS } from '../../constants/misc' import { ZERO_ADDRESS } from '../../constants/misc'
import { UNI } from '../../constants/tokens' import { UNI } from '../../constants/tokens'
import { import {
useModalOpen, useModalIsOpen,
useToggleDelegateModal, useToggleDelegateModal,
useToggleExecuteModal, useToggleExecuteModal,
useToggleQueueModal, useToggleQueueModal,
...@@ -168,19 +168,19 @@ export default function VotePage({ ...@@ -168,19 +168,19 @@ export default function VotePage({
const [voteOption, setVoteOption] = useState<VoteOption | undefined>(undefined) const [voteOption, setVoteOption] = useState<VoteOption | undefined>(undefined)
// modal for casting votes // modal for casting votes
const showVoteModal = useModalOpen(ApplicationModal.VOTE) const showVoteModal = useModalIsOpen(ApplicationModal.VOTE)
const toggleVoteModal = useToggleVoteModal() const toggleVoteModal = useToggleVoteModal()
// toggle for showing delegation modal // toggle for showing delegation modal
const showDelegateModal = useModalOpen(ApplicationModal.DELEGATE) const showDelegateModal = useModalIsOpen(ApplicationModal.DELEGATE)
const toggleDelegateModal = useToggleDelegateModal() const toggleDelegateModal = useToggleDelegateModal()
// toggle for showing queue modal // toggle for showing queue modal
const showQueueModal = useModalOpen(ApplicationModal.QUEUE) const showQueueModal = useModalIsOpen(ApplicationModal.QUEUE)
const toggleQueueModal = useToggleQueueModal() const toggleQueueModal = useToggleQueueModal()
// toggle for showing execute modal // toggle for showing execute modal
const showExecuteModal = useModalOpen(ApplicationModal.EXECUTE) const showExecuteModal = useModalIsOpen(ApplicationModal.EXECUTE)
const toggleExecuteModal = useToggleExecuteModal() const toggleExecuteModal = useToggleExecuteModal()
// get and format date from data // get and format date from data
......
...@@ -5,18 +5,28 @@ import { useAppDispatch, useAppSelector } from 'state/hooks' ...@@ -5,18 +5,28 @@ import { useAppDispatch, useAppSelector } from 'state/hooks'
import { AppState } from '../index' import { AppState } from '../index'
import { addPopup, ApplicationModal, PopupContent, removePopup, setOpenModal } from './reducer' import { addPopup, ApplicationModal, PopupContent, removePopup, setOpenModal } from './reducer'
export function useModalOpen(modal: ApplicationModal): boolean { export function useModalIsOpen(modal: ApplicationModal): boolean {
const openModal = useAppSelector((state: AppState) => state.application.openModal) const openModal = useAppSelector((state: AppState) => state.application.openModal)
return openModal === modal return openModal === modal
} }
export function useToggleModal(modal: ApplicationModal): () => void { export function useToggleModal(modal: ApplicationModal): () => void {
const open = useModalOpen(modal) const isOpen = useModalIsOpen(modal)
const dispatch = useAppDispatch() const dispatch = useAppDispatch()
return useCallback(() => dispatch(setOpenModal(open ? null : modal)), [dispatch, modal, open]) return useCallback(() => dispatch(setOpenModal(isOpen ? null : modal)), [dispatch, modal, isOpen])
} }
export function useWalletModalToggle(): () => void { export function useOpenModal(modal: ApplicationModal): () => void {
const dispatch = useAppDispatch()
return useCallback(() => dispatch(setOpenModal(modal)), [dispatch, modal])
}
export function useCloseModal(_modal: ApplicationModal): () => void {
const dispatch = useAppDispatch()
return useCallback(() => dispatch(setOpenModal(null)), [dispatch])
}
export function useToggleWalletModal(): () => void {
return useToggleModal(ApplicationModal.WALLET) return useToggleModal(ApplicationModal.WALLET)
} }
...@@ -25,7 +35,7 @@ export function useToggleSettingsMenu(): () => void { ...@@ -25,7 +35,7 @@ export function useToggleSettingsMenu(): () => void {
} }
export function useShowClaimPopup(): boolean { export function useShowClaimPopup(): boolean {
return useModalOpen(ApplicationModal.CLAIM_POPUP) return useModalIsOpen(ApplicationModal.CLAIM_POPUP)
} }
export function useToggleShowClaimPopup(): () => void { export function useToggleShowClaimPopup(): () => void {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment