Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8a845ee0e9 | ||
|
|
f5229ca838 | ||
|
|
875203f0ef |
@@ -13,7 +13,7 @@
|
|||||||
"@ethersproject/strings": "^5.0.0-beta.136",
|
"@ethersproject/strings": "^5.0.0-beta.136",
|
||||||
"@ethersproject/units": "^5.0.0-beta.132",
|
"@ethersproject/units": "^5.0.0-beta.132",
|
||||||
"@ethersproject/wallet": "^5.0.0-beta.141",
|
"@ethersproject/wallet": "^5.0.0-beta.141",
|
||||||
"@popperjs/core": "^2.4.0",
|
"@popperjs/core": "^2.4.4",
|
||||||
"@reach/dialog": "^0.10.3",
|
"@reach/dialog": "^0.10.3",
|
||||||
"@reach/portal": "^0.10.3",
|
"@reach/portal": "^0.10.3",
|
||||||
"@reduxjs/toolkit": "^1.3.5",
|
"@reduxjs/toolkit": "^1.3.5",
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ export default function Menu() {
|
|||||||
<Code size={14} />
|
<Code size={14} />
|
||||||
Code
|
Code
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
<MenuItem id="link" href="https://discord.gg/vXCdddD">
|
<MenuItem id="link" href="https://discord.gg/EwFs3Pp">
|
||||||
<MessageCircle size={14} />
|
<MessageCircle size={14} />
|
||||||
Discord
|
Discord
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import { ThemeContext } from 'styled-components'
|
|||||||
import Card from '../../components/Card'
|
import Card from '../../components/Card'
|
||||||
import { useActiveWeb3React } from '../../hooks'
|
import { useActiveWeb3React } from '../../hooks'
|
||||||
import { useAllTokens, useToken } from '../../hooks/Tokens'
|
import { useAllTokens, useToken } from '../../hooks/Tokens'
|
||||||
|
import useInterval from '../../hooks/useInterval'
|
||||||
import { useAllTokenBalancesTreatingWETHasETH, useTokenBalanceTreatingWETHasETH } from '../../state/wallet/hooks'
|
import { useAllTokenBalancesTreatingWETHasETH, useTokenBalanceTreatingWETHasETH } from '../../state/wallet/hooks'
|
||||||
import { CloseIcon, LinkStyledButton } from '../../theme/components'
|
import { CloseIcon, LinkStyledButton } from '../../theme/components'
|
||||||
import { isAddress } from '../../utils'
|
import { isAddress } from '../../utils'
|
||||||
@@ -110,10 +111,17 @@ export default function TokenSearchModal({
|
|||||||
|
|
||||||
const openTooltip = useCallback(() => {
|
const openTooltip = useCallback(() => {
|
||||||
setTooltipOpen(true)
|
setTooltipOpen(true)
|
||||||
inputRef.current?.focus()
|
|
||||||
}, [setTooltipOpen])
|
}, [setTooltipOpen])
|
||||||
const closeTooltip = useCallback(() => setTooltipOpen(false), [setTooltipOpen])
|
const closeTooltip = useCallback(() => setTooltipOpen(false), [setTooltipOpen])
|
||||||
|
|
||||||
|
useInterval(
|
||||||
|
() => {
|
||||||
|
setTooltipOpen(false)
|
||||||
|
},
|
||||||
|
tooltipOpen ? 4000 : null,
|
||||||
|
false
|
||||||
|
)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Modal
|
<Modal
|
||||||
isOpen={isOpen}
|
isOpen={isOpen}
|
||||||
@@ -146,6 +154,7 @@ export default function TokenSearchModal({
|
|||||||
value={searchQuery}
|
value={searchQuery}
|
||||||
ref={inputRef}
|
ref={inputRef}
|
||||||
onChange={handleInput}
|
onChange={handleInput}
|
||||||
|
onFocus={closeTooltip}
|
||||||
onBlur={closeTooltip}
|
onBlur={closeTooltip}
|
||||||
/>
|
/>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
|
|||||||
@@ -49,8 +49,8 @@ const Option = styled(FancyButton)<{ active: boolean }>`
|
|||||||
const Input = styled.input`
|
const Input = styled.input`
|
||||||
background: ${({ theme }) => theme.bg1};
|
background: ${({ theme }) => theme.bg1};
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
font-size: 12px;
|
font-size: 16px;
|
||||||
min-width: 20px;
|
min-width: 60px;
|
||||||
outline: none;
|
outline: none;
|
||||||
&::-webkit-outer-spin-button,
|
&::-webkit-outer-spin-button,
|
||||||
&::-webkit-inner-spin-button {
|
&::-webkit-inner-spin-button {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { useEffect, useRef } from 'react'
|
import { useEffect, useRef } from 'react'
|
||||||
|
|
||||||
export default function useInterval(callback: () => void, delay: null | number) {
|
export default function useInterval(callback: () => void, delay: null | number, leading = true) {
|
||||||
const savedCallback = useRef<() => void>()
|
const savedCallback = useRef<() => void>()
|
||||||
|
|
||||||
// Remember the latest callback.
|
// Remember the latest callback.
|
||||||
@@ -16,10 +16,10 @@ export default function useInterval(callback: () => void, delay: null | number)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (delay !== null) {
|
if (delay !== null) {
|
||||||
tick()
|
if (leading) tick()
|
||||||
const id = setInterval(tick, delay)
|
const id = setInterval(tick, delay)
|
||||||
return () => clearInterval(id)
|
return () => clearInterval(id)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}, [delay])
|
}, [delay, leading])
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2046,10 +2046,10 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
|
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
|
||||||
integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
|
integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
|
||||||
|
|
||||||
"@popperjs/core@^2.4.0":
|
"@popperjs/core@^2.4.4":
|
||||||
version "2.4.0"
|
version "2.4.4"
|
||||||
resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.4.0.tgz#0e1bdf8d021e7ea58affade33d9d607e11365915"
|
resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.4.4.tgz#11d5db19bd178936ec89cd84519c4de439574398"
|
||||||
integrity sha512-NMrDy6EWh9TPdSRiHmHH2ye1v5U0gBD7pRYwSwJvomx7Bm4GG04vu63dYiVzebLOx2obPpJugew06xVP0Nk7hA==
|
integrity sha512-1oO6+dN5kdIA3sKPZhRGJTfGVP4SWV6KqlMOwry4J3HfyD68sl/3KmG7DeYUzvN+RbhXDnv/D8vNNB8168tAMg==
|
||||||
|
|
||||||
"@portis/eth-json-rpc-middleware@^4.1.2":
|
"@portis/eth-json-rpc-middleware@^4.1.2":
|
||||||
version "4.1.2"
|
version "4.1.2"
|
||||||
|
|||||||
Reference in New Issue
Block a user