chore: clean up theme usage (#4335)

* chore: clean up DefaultTheme usage

* chore: simplify useTheme usage

* chore: consolidate multi-line imports
This commit is contained in:
Zach Pomerantz 2022-08-17 09:55:58 -07:00 committed by GitHub
parent 5346d13674
commit 9f108c406b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
56 changed files with 104 additions and 144 deletions

@ -1,13 +1,12 @@
import { Trans } from '@lingui/macro' import { Trans } from '@lingui/macro'
import { useWeb3React } from '@web3-react/core' import { useWeb3React } from '@web3-react/core'
import { getConnection, getConnectionName, getIsCoinbaseWallet, getIsMetaMask } from 'connection/utils' import { getConnection, getConnectionName, getIsCoinbaseWallet, getIsMetaMask } from 'connection/utils'
import { Context, useCallback, useContext } from 'react' import { useCallback } from 'react'
import { ExternalLink as LinkIcon } from 'react-feather' import { ExternalLink as LinkIcon } from 'react-feather'
import { useAppDispatch } from 'state/hooks' import { useAppDispatch } from 'state/hooks'
import { updateSelectedWallet } from 'state/user/reducer' import { updateSelectedWallet } from 'state/user/reducer'
import { removeConnectedWallet } from 'state/wallets/reducer' import { removeConnectedWallet } from 'state/wallets/reducer'
import { DefaultTheme } from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import styled, { ThemeContext } from 'styled-components/macro'
import { isMobile } from 'utils/userAgent' import { isMobile } from 'utils/userAgent'
import { ReactComponent as Close } from '../../assets/images/x.svg' import { ReactComponent as Close } from '../../assets/images/x.svg'
@ -207,7 +206,7 @@ export default function AccountDetails({
const { chainId, account, connector } = useWeb3React() const { chainId, account, connector } = useWeb3React()
const connectionType = getConnection(connector).type const connectionType = getConnection(connector).type
const theme = useContext(ThemeContext as Context<DefaultTheme>) const theme = useTheme()
const dispatch = useAppDispatch() const dispatch = useAppDispatch()
const isMetaMask = getIsMetaMask() const isMetaMask = getIsMetaMask()

@ -2,8 +2,8 @@ import { Trans } from '@lingui/macro'
// eslint-disable-next-line no-restricted-imports // eslint-disable-next-line no-restricted-imports
import { t } from '@lingui/macro' import { t } from '@lingui/macro'
import { useWeb3React } from '@web3-react/core' import { useWeb3React } from '@web3-react/core'
import { ChangeEvent, Context, ReactNode, useCallback, useContext } from 'react' import { ChangeEvent, ReactNode, useCallback } from 'react'
import styled, { DefaultTheme, ThemeContext } from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import useENS from '../../hooks/useENS' import useENS from '../../hooks/useENS'
import { ExternalLink, ThemedText } from '../../theme' import { ExternalLink, ThemedText } from '../../theme'
@ -87,7 +87,7 @@ export default function AddressInputPanel({
onChange: (value: string) => void onChange: (value: string) => void
}) { }) {
const { chainId } = useWeb3React() const { chainId } = useWeb3React()
const theme = useContext(ThemeContext as Context<DefaultTheme>) const theme = useTheme()
const { address, loading, name } = useENS(value) const { address, loading, name } = useENS(value)

@ -1,8 +1,7 @@
import useTheme from 'hooks/useTheme'
import { darken } from 'polished' import { darken } from 'polished'
import { Check, ChevronDown } from 'react-feather' import { Check, ChevronDown } from 'react-feather'
import { Button as RebassButton, ButtonProps as ButtonPropsOriginal } from 'rebass/styled-components' import { Button as RebassButton, ButtonProps as ButtonPropsOriginal } from 'rebass/styled-components'
import styled from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { RowBetween } from '../Row' import { RowBetween } from '../Row'

@ -7,11 +7,10 @@ import { filterTimeAtom } from 'components/Explore/state'
import { bisect, curveBasis, NumberValue, scaleLinear } from 'd3' import { bisect, curveBasis, NumberValue, scaleLinear } from 'd3'
import { useActiveLocale } from 'hooks/useActiveLocale' import { useActiveLocale } from 'hooks/useActiveLocale'
import { TimePeriod } from 'hooks/useExplorePageQuery' import { TimePeriod } from 'hooks/useExplorePageQuery'
import useTheme from 'hooks/useTheme'
import { useAtom } from 'jotai' import { useAtom } from 'jotai'
import { useCallback, useState } from 'react' import { useCallback, useState } from 'react'
import { ArrowDownRight, ArrowUpRight } from 'react-feather' import { ArrowDownRight, ArrowUpRight } from 'react-feather'
import styled from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { OPACITY_HOVER } from 'theme' import { OPACITY_HOVER } from 'theme'
import { import {
dayHourFormatter, dayHourFormatter,

@ -1,6 +1,6 @@
import { scaleLinear } from 'd3' import { scaleLinear } from 'd3'
import useTheme from 'hooks/useTheme'
import React from 'react' import React from 'react'
import { useTheme } from 'styled-components/macro'
import data from './data.json' import data from './data.json'
import LineChart from './LineChart' import LineChart from './LineChart'

@ -1,8 +1,7 @@
import { Trans } from '@lingui/macro' import { Trans } from '@lingui/macro'
import Column from 'components/Column' import Column from 'components/Column'
import useTheme from 'hooks/useTheme'
import { AlertOctagon } from 'react-feather' import { AlertOctagon } from 'react-feather'
import styled from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { ExternalLink, ThemedText } from 'theme' import { ExternalLink, ThemedText } from 'theme'
import { CopyHelper } from '../../theme' import { CopyHelper } from '../../theme'

@ -4,8 +4,8 @@ import { t } from '@lingui/macro'
import { Currency, CurrencyAmount, Percent } from '@uniswap/sdk-core' import { Currency, CurrencyAmount, Percent } from '@uniswap/sdk-core'
import HoverInlineText from 'components/HoverInlineText' import HoverInlineText from 'components/HoverInlineText'
import { useMemo } from 'react' import { useMemo } from 'react'
import { useTheme } from 'styled-components/macro'
import useTheme from '../../hooks/useTheme'
import { ThemedText } from '../../theme' import { ThemedText } from '../../theme'
import { warningSeverity } from '../../utils/prices' import { warningSeverity } from '../../utils/prices'
import { MouseoverTooltip } from '../Tooltip' import { MouseoverTooltip } from '../Tooltip'

@ -11,11 +11,10 @@ import { RedesignVariant, useRedesignFlag } from 'featureFlags/flags/redesign'
import { darken } from 'polished' import { darken } from 'polished'
import { ReactNode, useCallback, useState } from 'react' import { ReactNode, useCallback, useState } from 'react'
import { Lock } from 'react-feather' import { Lock } from 'react-feather'
import styled from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { formatCurrencyAmount } from 'utils/formatCurrencyAmount' import { formatCurrencyAmount } from 'utils/formatCurrencyAmount'
import { ReactComponent as DropDown } from '../../assets/images/dropdown.svg' import { ReactComponent as DropDown } from '../../assets/images/dropdown.svg'
import useTheme from '../../hooks/useTheme'
import { useCurrencyBalance } from '../../state/connection/hooks' import { useCurrencyBalance } from '../../state/connection/hooks'
import { ThemedText } from '../../theme' import { ThemedText } from '../../theme'
import { ButtonGray } from '../Button' import { ButtonGray } from '../Button'

@ -1,5 +1,4 @@
import useTheme from 'hooks/useTheme' import styled, { useTheme } from 'styled-components/macro'
import styled from 'styled-components/macro'
const Balance = styled.div` const Balance = styled.div`
width: 100%; width: 100%;

@ -1,7 +1,6 @@
import useTheme from 'hooks/useTheme'
import { useAtom } from 'jotai' import { useAtom } from 'jotai'
import { Heart } from 'react-feather' import { Heart } from 'react-feather'
import styled from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { SMALL_MEDIA_BREAKPOINT } from '../constants' import { SMALL_MEDIA_BREAKPOINT } from '../constants'
import { showFavoritesAtom } from '../state' import { showFavoritesAtom } from '../state'

@ -6,13 +6,12 @@ import SparklineChart from 'components/Charts/SparklineChart'
import CurrencyLogo from 'components/CurrencyLogo' import CurrencyLogo from 'components/CurrencyLogo'
import { useCurrency, useToken } from 'hooks/Tokens' import { useCurrency, useToken } from 'hooks/Tokens'
import { TimePeriod, TokenData } from 'hooks/useExplorePageQuery' import { TimePeriod, TokenData } from 'hooks/useExplorePageQuery'
import useTheme from 'hooks/useTheme'
import { useAtom } from 'jotai' import { useAtom } from 'jotai'
import { useAtomValue } from 'jotai/utils' import { useAtomValue } from 'jotai/utils'
import { ReactNode } from 'react' import { ReactNode } from 'react'
import { ArrowDown, ArrowDownRight, ArrowUp, ArrowUpRight, Heart } from 'react-feather' import { ArrowDown, ArrowDownRight, ArrowUp, ArrowUpRight, Heart } from 'react-feather'
import { Link } from 'react-router-dom' import { Link } from 'react-router-dom'
import styled from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { formatAmount, formatDollarAmount } from 'utils/formatDollarAmt' import { formatAmount, formatDollarAmount } from 'utils/formatDollarAmt'
import { import {

@ -5,12 +5,11 @@ import { getChainInfo } from 'constants/chainInfo'
import useCurrentBlockTimestamp from 'hooks/useCurrentBlockTimestamp' import useCurrentBlockTimestamp from 'hooks/useCurrentBlockTimestamp'
import useGasPrice from 'hooks/useGasPrice' import useGasPrice from 'hooks/useGasPrice'
import useMachineTimeMs from 'hooks/useMachineTime' import useMachineTimeMs from 'hooks/useMachineTime'
import useTheme from 'hooks/useTheme'
import JSBI from 'jsbi' import JSBI from 'jsbi'
import useBlockNumber from 'lib/hooks/useBlockNumber' import useBlockNumber from 'lib/hooks/useBlockNumber'
import ms from 'ms.macro' import ms from 'ms.macro'
import { useEffect, useState } from 'react' import { useEffect, useState } from 'react'
import styled, { keyframes } from 'styled-components/macro' import styled, { keyframes, useTheme } from 'styled-components/macro'
import { ExternalLink, ThemedText } from 'theme' import { ExternalLink, ThemedText } from 'theme'
import { ExplorerDataType, getExplorerLink } from 'utils/getExplorerLink' import { ExplorerDataType, getExplorerLink } from 'utils/getExplorerLink'

@ -4,7 +4,6 @@ import { useWeb3React } from '@web3-react/core'
import { getChainInfoOrDefault } from 'constants/chainInfo' import { getChainInfoOrDefault } from 'constants/chainInfo'
import { SupportedChainId } from 'constants/chains' import { SupportedChainId } from 'constants/chains'
import { TokensVariant, useTokensFlag } from 'featureFlags/flags/tokens' import { TokensVariant, useTokensFlag } from 'featureFlags/flags/tokens'
import useTheme from 'hooks/useTheme'
import { darken } from 'polished' import { darken } from 'polished'
import { NavLink, useLocation } from 'react-router-dom' import { NavLink, useLocation } from 'react-router-dom'
import { Text } from 'rebass' import { Text } from 'rebass'
@ -13,7 +12,7 @@ import { useUserHasAvailableClaim } from 'state/claim/hooks'
import { useNativeCurrencyBalances } from 'state/connection/hooks' import { useNativeCurrencyBalances } from 'state/connection/hooks'
import { useUserHasSubmittedClaim } from 'state/transactions/hooks' import { useUserHasSubmittedClaim } from 'state/transactions/hooks'
import { useDarkModeManager } from 'state/user/hooks' import { useDarkModeManager } from 'state/user/hooks'
import styled from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { ReactComponent as Logo } from '../../assets/svg/logo.svg' import { ReactComponent as Logo } from '../../assets/svg/logo.svg'
import { ExternalLink, ThemedText } from '../../theme' import { ExternalLink, ThemedText } from '../../theme'

@ -6,13 +6,12 @@ import { AutoColumn, ColumnCenter } from 'components/Column'
import Loader from 'components/Loader' import Loader from 'components/Loader'
import { format } from 'd3' import { format } from 'd3'
import { useColor } from 'hooks/useColor' import { useColor } from 'hooks/useColor'
import useTheme from 'hooks/useTheme'
import { saturate } from 'polished' import { saturate } from 'polished'
import React, { ReactNode, useCallback, useMemo } from 'react' import React, { ReactNode, useCallback, useMemo } from 'react'
import { BarChart2, CloudOff, Inbox } from 'react-feather' import { BarChart2, CloudOff, Inbox } from 'react-feather'
import { batch } from 'react-redux' import { batch } from 'react-redux'
import { Bound } from 'state/mint/v3/actions' import { Bound } from 'state/mint/v3/actions'
import styled from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { ThemedText } from '../../theme' import { ThemedText } from '../../theme'
import { Chart } from './Chart' import { Chart } from './Chart'

@ -1,8 +1,7 @@
import { useState } from 'react' import { useState } from 'react'
import { Slash } from 'react-feather' import { Slash } from 'react-feather'
import { ImageProps } from 'rebass' import { ImageProps } from 'rebass'
import { useTheme } from 'styled-components/macro'
import useTheme from '../../hooks/useTheme'
const BAD_SRCS: { [tokenAddress: string]: true } = {} const BAD_SRCS: { [tokenAddress: string]: true } = {}

@ -1,8 +1,7 @@
import { Trans } from '@lingui/macro' import { Trans } from '@lingui/macro'
import { useWeb3React } from '@web3-react/core' import { useWeb3React } from '@web3-react/core'
import { useContext } from 'react'
import { ArrowUpCircle } from 'react-feather' import { ArrowUpCircle } from 'react-feather'
import styled, { ThemeContext } from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import Circle from '../../assets/images/blue-loader.svg' import Circle from '../../assets/images/blue-loader.svg'
import { CloseIcon, CustomLightSpinner, ThemedText } from '../../theme' import { CloseIcon, CustomLightSpinner, ThemedText } from '../../theme'
@ -49,7 +48,7 @@ export function SubmittedView({
onDismiss: () => void onDismiss: () => void
hash: string | undefined hash: string | undefined
}) { }) {
const theme = useContext(ThemeContext) const theme = useTheme()
const { chainId } = useWeb3React() const { chainId } = useWeb3React()
return ( return (

@ -1,6 +1,5 @@
import { Trans } from '@lingui/macro' import { Trans } from '@lingui/macro'
import { Percent } from '@uniswap/sdk-core' import { Percent } from '@uniswap/sdk-core'
import useTheme from 'hooks/useTheme'
import { ReactNode } from 'react' import { ReactNode } from 'react'
import { ArrowLeft } from 'react-feather' import { ArrowLeft } from 'react-feather'
import { Link as HistoryLink, useLocation } from 'react-router-dom' import { Link as HistoryLink, useLocation } from 'react-router-dom'
@ -8,7 +7,7 @@ import { Box } from 'rebass'
import { useAppDispatch } from 'state/hooks' import { useAppDispatch } from 'state/hooks'
import { resetMintState } from 'state/mint/actions' import { resetMintState } from 'state/mint/actions'
import { resetMintState as resetMintV3State } from 'state/mint/v3/actions' import { resetMintState as resetMintV3State } from 'state/mint/v3/actions'
import styled from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { ThemedText } from 'theme' import { ThemedText } from 'theme'
import Row, { RowBetween } from '../Row' import Row, { RowBetween } from '../Row'

@ -1,9 +1,8 @@
import { Trans } from '@lingui/macro' import { Trans } from '@lingui/macro'
import { getChainInfo } from 'constants/chainInfo' import { getChainInfo } from 'constants/chainInfo'
import { SupportedChainId } from 'constants/chains' import { SupportedChainId } from 'constants/chains'
import { useContext } from 'react'
import { AlertCircle } from 'react-feather' import { AlertCircle } from 'react-feather'
import styled, { ThemeContext } from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { ThemedText } from '../../theme' import { ThemedText } from '../../theme'
import { AutoColumn } from '../Column' import { AutoColumn } from '../Column'
@ -15,7 +14,7 @@ const RowNoFlex = styled(AutoRow)`
export default function FailedNetworkSwitchPopup({ chainId }: { chainId: SupportedChainId }) { export default function FailedNetworkSwitchPopup({ chainId }: { chainId: SupportedChainId }) {
const chainInfo = getChainInfo(chainId) const chainInfo = getChainInfo(chainId)
const theme = useContext(ThemeContext) const theme = useTheme()
return ( return (
<RowNoFlex> <RowNoFlex>

@ -1,8 +1,8 @@
import { useCallback, useContext, useEffect } from 'react' import { useCallback, useEffect } from 'react'
import { X } from 'react-feather' import { X } from 'react-feather'
import { animated } from 'react-spring' import { animated } from 'react-spring'
import { useSpring } from 'react-spring/web' import { useSpring } from 'react-spring/web'
import styled, { ThemeContext } from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { useRemovePopup } from '../../state/application/hooks' import { useRemovePopup } from '../../state/application/hooks'
import { PopupContent } from '../../state/application/reducer' import { PopupContent } from '../../state/application/reducer'
@ -70,7 +70,7 @@ export default function PopupItem({
} }
}, [removeAfterMs, removeThisPopup]) }, [removeAfterMs, removeThisPopup])
const theme = useContext(ThemeContext) const theme = useTheme()
let popupContent let popupContent
if ('txn' in content) { if ('txn' in content) {

@ -6,11 +6,10 @@ import useCurrentBlockTimestamp from 'hooks/useCurrentBlockTimestamp'
import { useEffect } from 'react' import { useEffect } from 'react'
import { MessageCircle, X } from 'react-feather' import { MessageCircle, X } from 'react-feather'
import { useShowSurveyPopup } from 'state/user/hooks' import { useShowSurveyPopup } from 'state/user/hooks'
import styled from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { ExternalLink, ThemedText, Z_INDEX } from 'theme' import { ExternalLink, ThemedText, Z_INDEX } from 'theme'
import BGImage from '../../assets/images/survey-orb.svg' import BGImage from '../../assets/images/survey-orb.svg'
import useTheme from '../../hooks/useTheme'
const Wrapper = styled(AutoColumn)` const Wrapper = styled(AutoColumn)`
background: #edeef2; background: #edeef2;

@ -1,7 +1,6 @@
import { useWeb3React } from '@web3-react/core' import { useWeb3React } from '@web3-react/core'
import { useContext } from 'react'
import { AlertCircle, CheckCircle } from 'react-feather' import { AlertCircle, CheckCircle } from 'react-feather'
import styled, { ThemeContext } from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { useTransaction } from '../../state/transactions/hooks' import { useTransaction } from '../../state/transactions/hooks'
import { ThemedText } from '../../theme' import { ThemedText } from '../../theme'
@ -19,7 +18,7 @@ export default function TransactionPopup({ hash }: { hash: string }) {
const { chainId } = useWeb3React() const { chainId } = useWeb3React()
const tx = useTransaction(hash) const tx = useTransaction(hash)
const theme = useContext(ThemeContext) const theme = useTheme()
if (!tx) return null if (!tx) return null
const success = Boolean(tx.receipt && tx.receipt.status === 1) const success = Boolean(tx.receipt && tx.receipt.status === 1)

@ -10,9 +10,9 @@ import { Break } from 'components/earn/styled'
import RateToggle from 'components/RateToggle' import RateToggle from 'components/RateToggle'
import { RowBetween, RowFixed } from 'components/Row' import { RowBetween, RowFixed } from 'components/Row'
import JSBI from 'jsbi' import JSBI from 'jsbi'
import { ReactNode, useCallback, useContext, useState } from 'react' import { ReactNode, useCallback, useState } from 'react'
import { Bound } from 'state/mint/v3/actions' import { Bound } from 'state/mint/v3/actions'
import { ThemeContext } from 'styled-components/macro' import { useTheme } from 'styled-components/macro'
import { ThemedText } from 'theme' import { ThemedText } from 'theme'
import { formatTickPrice } from 'utils/formatTickPrice' import { formatTickPrice } from 'utils/formatTickPrice'
import { unwrappedToken } from 'utils/unwrappedToken' import { unwrappedToken } from 'utils/unwrappedToken'
@ -30,7 +30,7 @@ export const PositionPreview = ({
baseCurrencyDefault?: Currency | undefined baseCurrencyDefault?: Currency | undefined
ticksAtLimit: { [bound: string]: boolean | undefined } ticksAtLimit: { [bound: string]: boolean | undefined }
}) => { }) => {
const theme = useContext(ThemeContext) const theme = useTheme()
const currency0 = unwrappedToken(position.pool.token0) const currency0 = unwrappedToken(position.pool.token0)
const currency1 = unwrappedToken(position.pool.token1) const currency1 = unwrappedToken(position.pool.token1)

@ -1,6 +1,4 @@
import { useContext } from 'react' import styled, { useTheme } from 'styled-components/macro'
import styled from 'styled-components/macro'
import { ThemeContext } from 'styled-components/macro'
import { ThemedText } from '../../theme' import { ThemedText } from '../../theme'
import { AutoColumn } from '../Column' import { AutoColumn } from '../Column'
@ -54,7 +52,7 @@ interface ProgressCirclesProps {
* @param steps array of booleans where true means step is complete * @param steps array of booleans where true means step is complete
*/ */
export default function ProgressCircles({ steps, disabled = false, ...rest }: ProgressCirclesProps) { export default function ProgressCircles({ steps, disabled = false, ...rest }: ProgressCirclesProps) {
const theme = useContext(ThemeContext) const theme = useTheme()
return ( return (
<Wrapper justify={'center'} {...rest}> <Wrapper justify={'center'} {...rest}>

@ -9,12 +9,11 @@ import TokenSafetyIcon from 'components/TokenSafety/TokenSafetyIcon'
import { checkWarning } from 'constants/tokenSafety' import { checkWarning } from 'constants/tokenSafety'
import { RedesignVariant, useRedesignFlag } from 'featureFlags/flags/redesign' import { RedesignVariant, useRedesignFlag } from 'featureFlags/flags/redesign'
import { TokenSafetyVariant, useTokenSafetyFlag } from 'featureFlags/flags/tokenSafety' import { TokenSafetyVariant, useTokenSafetyFlag } from 'featureFlags/flags/tokenSafety'
import useTheme from 'hooks/useTheme'
import { CSSProperties, MutableRefObject, useCallback, useMemo } from 'react' import { CSSProperties, MutableRefObject, useCallback, useMemo } from 'react'
import { Check } from 'react-feather' import { Check } from 'react-feather'
import { FixedSizeList } from 'react-window' import { FixedSizeList } from 'react-window'
import { Text } from 'rebass' import { Text } from 'rebass'
import styled from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import TokenListLogo from '../../../assets/svg/tokenlist.svg' import TokenListLogo from '../../../assets/svg/tokenlist.svg'
import { useIsUserAddedToken } from '../../../hooks/Tokens' import { useIsUserAddedToken } from '../../../hooks/Tokens'

@ -8,7 +8,6 @@ import { sendEvent } from 'components/analytics'
import { RedesignVariant, useRedesignFlag } from 'featureFlags/flags/redesign' import { RedesignVariant, useRedesignFlag } from 'featureFlags/flags/redesign'
import useDebounce from 'hooks/useDebounce' import useDebounce from 'hooks/useDebounce'
import { useOnClickOutside } from 'hooks/useOnClickOutside' import { useOnClickOutside } from 'hooks/useOnClickOutside'
import useTheme from 'hooks/useTheme'
import useToggle from 'hooks/useToggle' import useToggle from 'hooks/useToggle'
import useNativeCurrency from 'lib/hooks/useNativeCurrency' import useNativeCurrency from 'lib/hooks/useNativeCurrency'
import { getTokenFilter } from 'lib/hooks/useTokenList/filtering' import { getTokenFilter } from 'lib/hooks/useTokenList/filtering'
@ -19,7 +18,7 @@ import AutoSizer from 'react-virtualized-auto-sizer'
import { FixedSizeList } from 'react-window' import { FixedSizeList } from 'react-window'
import { Text } from 'rebass' import { Text } from 'rebass'
import { useAllTokenBalances } from 'state/connection/hooks' import { useAllTokenBalances } from 'state/connection/hooks'
import styled from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { useAllTokens, useIsUserAddedToken, useSearchInactiveTokenLists, useToken } from '../../hooks/Tokens' import { useAllTokens, useIsUserAddedToken, useSearchInactiveTokenLists, useToken } from '../../hooks/Tokens'
import { ButtonText, CloseIcon, IconWrapper, ThemedText } from '../../theme' import { ButtonText, CloseIcon, IconWrapper, ThemedText } from '../../theme'

@ -8,14 +8,13 @@ import ListLogo from 'components/ListLogo'
import { AutoRow, RowBetween, RowFixed } from 'components/Row' import { AutoRow, RowBetween, RowFixed } from 'components/Row'
import { SectionBreak } from 'components/swap/styleds' import { SectionBreak } from 'components/swap/styleds'
import { useFetchListCallback } from 'hooks/useFetchListCallback' import { useFetchListCallback } from 'hooks/useFetchListCallback'
import useTheme from 'hooks/useTheme'
import { transparentize } from 'polished' import { transparentize } from 'polished'
import { useCallback, useState } from 'react' import { useCallback, useState } from 'react'
import { AlertTriangle, ArrowLeft } from 'react-feather' import { AlertTriangle, ArrowLeft } from 'react-feather'
import { useAppDispatch } from 'state/hooks' import { useAppDispatch } from 'state/hooks'
import { enableList, removeList } from 'state/lists/actions' import { enableList, removeList } from 'state/lists/actions'
import { useAllLists } from 'state/lists/hooks' import { useAllLists } from 'state/lists/hooks'
import styled from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { CloseIcon, ThemedText } from 'theme' import { CloseIcon, ThemedText } from 'theme'
import { ExternalLink } from '../../theme' import { ExternalLink } from '../../theme'

@ -6,10 +6,9 @@ import CurrencyLogo from 'components/CurrencyLogo'
import ListLogo from 'components/ListLogo' import ListLogo from 'components/ListLogo'
import { AutoRow, RowFixed } from 'components/Row' import { AutoRow, RowFixed } from 'components/Row'
import { useIsTokenActive, useIsUserAddedToken } from 'hooks/Tokens' import { useIsTokenActive, useIsUserAddedToken } from 'hooks/Tokens'
import useTheme from 'hooks/useTheme'
import { CSSProperties } from 'react' import { CSSProperties } from 'react'
import { CheckCircle } from 'react-feather' import { CheckCircle } from 'react-feather'
import styled from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { ThemedText } from 'theme' import { ThemedText } from 'theme'
import { WrappedTokenInfo } from '../../state/lists/wrappedTokenInfo' import { WrappedTokenInfo } from '../../state/lists/wrappedTokenInfo'

@ -8,10 +8,9 @@ import { AutoColumn } from 'components/Column'
import { RowBetween } from 'components/Row' import { RowBetween } from 'components/Row'
import { SectionBreak } from 'components/swap/styleds' import { SectionBreak } from 'components/swap/styleds'
import { useUnsupportedTokens } from 'hooks/Tokens' import { useUnsupportedTokens } from 'hooks/Tokens'
import useTheme from 'hooks/useTheme'
import { AlertCircle, ArrowLeft } from 'react-feather' import { AlertCircle, ArrowLeft } from 'react-feather'
import { useAddUserToken } from 'state/user/hooks' import { useAddUserToken } from 'state/user/hooks'
import styled from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { CloseIcon, ThemedText } from 'theme' import { CloseIcon, ThemedText } from 'theme'
import BlockedToken from './BlockedToken' import BlockedToken from './BlockedToken'

@ -12,11 +12,10 @@ import { ChangeEvent, memo, useCallback, useEffect, useMemo, useRef, useState }
import { CheckCircle, Settings } from 'react-feather' import { CheckCircle, Settings } from 'react-feather'
import { usePopper } from 'react-popper' import { usePopper } from 'react-popper'
import { useAppDispatch, useAppSelector } from 'state/hooks' import { useAppDispatch, useAppSelector } from 'state/hooks'
import styled from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { useFetchListCallback } from '../../hooks/useFetchListCallback' import { useFetchListCallback } from '../../hooks/useFetchListCallback'
import { useOnClickOutside } from '../../hooks/useOnClickOutside' import { useOnClickOutside } from '../../hooks/useOnClickOutside'
import useTheme from '../../hooks/useTheme'
import useToggle from '../../hooks/useToggle' import useToggle from '../../hooks/useToggle'
import { acceptListUpdate, disableList, enableList, removeList } from '../../state/lists/actions' import { acceptListUpdate, disableList, enableList, removeList } from '../../state/lists/actions'
import { useActiveListUrls, useAllLists, useIsListActive } from '../../state/lists/hooks' import { useActiveListUrls, useAllLists, useIsListActive } from '../../state/lists/hooks'

@ -8,11 +8,10 @@ import Row, { RowBetween, RowFixed } from 'components/Row'
import { useToken } from 'hooks/Tokens' import { useToken } from 'hooks/Tokens'
import { ChangeEvent, RefObject, useCallback, useMemo, useRef, useState } from 'react' import { ChangeEvent, RefObject, useCallback, useMemo, useRef, useState } from 'react'
import { useRemoveUserAddedToken, useUserAddedTokens } from 'state/user/hooks' import { useRemoveUserAddedToken, useUserAddedTokens } from 'state/user/hooks'
import styled from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { ButtonText, ExternalLink, ExternalLinkIcon, ThemedText, TrashIcon } from 'theme' import { ButtonText, ExternalLink, ExternalLinkIcon, ThemedText, TrashIcon } from 'theme'
import { isAddress } from 'utils' import { isAddress } from 'utils'
import useTheme from '../../hooks/useTheme'
import { ExplorerDataType, getExplorerLink } from '../../utils/getExplorerLink' import { ExplorerDataType, getExplorerLink } from '../../utils/getExplorerLink'
import { CurrencyModalView } from './CurrencySearchModal' import { CurrencyModalView } from './CurrencySearchModal'
import ImportRow from './ImportRow' import ImportRow from './ImportRow'

@ -5,10 +5,10 @@ import { useWeb3React } from '@web3-react/core'
import { sendEvent } from 'components/analytics' import { sendEvent } from 'components/analytics'
import { RedesignVariant, useRedesignFlag } from 'featureFlags/flags/redesign' import { RedesignVariant, useRedesignFlag } from 'featureFlags/flags/redesign'
import { isSupportedChainId } from 'lib/hooks/routing/clientSideSmartOrderRouter' import { isSupportedChainId } from 'lib/hooks/routing/clientSideSmartOrderRouter'
import { useContext, useRef, useState } from 'react' import { useRef, useState } from 'react'
import { Settings, X } from 'react-feather' import { Settings, X } from 'react-feather'
import { Text } from 'rebass' import { Text } from 'rebass'
import styled, { ThemeContext } from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { useOnClickOutside } from '../../hooks/useOnClickOutside' import { useOnClickOutside } from '../../hooks/useOnClickOutside'
import { useModalIsOpen, useToggleSettingsMenu } from '../../state/application/hooks' import { useModalIsOpen, useToggleSettingsMenu } from '../../state/application/hooks'
@ -130,7 +130,7 @@ export default function SettingsTab({ placeholderSlippage }: { placeholderSlippa
const open = useModalIsOpen(ApplicationModal.SETTINGS) const open = useModalIsOpen(ApplicationModal.SETTINGS)
const toggle = useToggleSettingsMenu() const toggle = useToggleSettingsMenu()
const theme = useContext(ThemeContext) const theme = useTheme()
const [expertMode, toggleExpertMode] = useExpertModeManager() const [expertMode, toggleExpertMode] = useExpertModeManager()

@ -1,5 +1,4 @@
import useTheme from 'hooks/useTheme' import styled, { keyframes, useTheme } from 'styled-components/macro'
import styled, { keyframes } from 'styled-components/macro'
const Wrapper = styled.div` const Wrapper = styled.div`
height: 90px; height: 90px;

@ -5,11 +5,11 @@ import Badge from 'components/Badge'
import { getChainInfo } from 'constants/chainInfo' import { getChainInfo } from 'constants/chainInfo'
import { SupportedL2ChainId } from 'constants/chains' import { SupportedL2ChainId } from 'constants/chains'
import useCurrencyLogoURIs from 'lib/hooks/useCurrencyLogoURIs' import useCurrencyLogoURIs from 'lib/hooks/useCurrencyLogoURIs'
import { ReactNode, useCallback, useContext, useState } from 'react' import { ReactNode, useCallback, useState } from 'react'
import { AlertCircle, AlertTriangle, ArrowUpCircle, CheckCircle } from 'react-feather' import { AlertCircle, AlertTriangle, ArrowUpCircle, CheckCircle } from 'react-feather'
import { Text } from 'rebass' import { Text } from 'rebass'
import { useIsTransactionConfirmed, useTransaction } from 'state/transactions/hooks' import { useIsTransactionConfirmed, useTransaction } from 'state/transactions/hooks'
import styled, { ThemeContext } from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { isL2ChainId } from 'utils/chains' import { isL2ChainId } from 'utils/chains'
import Circle from '../../assets/images/blue-loader.svg' import Circle from '../../assets/images/blue-loader.svg'
@ -95,7 +95,7 @@ function TransactionSubmittedContent({
currencyToAdd?: Currency | undefined currencyToAdd?: Currency | undefined
inline?: boolean // not in modal inline?: boolean // not in modal
}) { }) {
const theme = useContext(ThemeContext) const theme = useTheme()
const { connector } = useWeb3React() const { connector } = useWeb3React()
@ -193,7 +193,7 @@ export function ConfirmationModalContent({
} }
export function TransactionErrorContent({ message, onDismiss }: { message: ReactNode; onDismiss: () => void }) { export function TransactionErrorContent({ message, onDismiss }: { message: ReactNode; onDismiss: () => void }) {
const theme = useContext(ThemeContext) const theme = useTheme()
return ( return (
<Wrapper> <Wrapper>
<Section> <Section>
@ -238,7 +238,7 @@ function L2Content({
pendingText: ReactNode pendingText: ReactNode
inline?: boolean // not in modal inline?: boolean // not in modal
}) { }) {
const theme = useContext(ThemeContext) const theme = useTheme()
const transaction = useTransaction(hash) const transaction = useTransaction(hash)
const confirmed = useIsTransactionConfirmed(hash) const confirmed = useIsTransactionConfirmed(hash)

@ -6,9 +6,9 @@ import { DEFAULT_DEADLINE_FROM_NOW } from 'constants/misc'
import { RedesignVariant, useRedesignFlag } from 'featureFlags/flags/redesign' import { RedesignVariant, useRedesignFlag } from 'featureFlags/flags/redesign'
import ms from 'ms.macro' import ms from 'ms.macro'
import { darken } from 'polished' import { darken } from 'polished'
import { useContext, useState } from 'react' import { useState } from 'react'
import { useSetUserSlippageTolerance, useUserSlippageTolerance, useUserTransactionTTL } from 'state/user/hooks' import { useSetUserSlippageTolerance, useUserSlippageTolerance, useUserTransactionTTL } from 'state/user/hooks'
import styled, { ThemeContext } from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { ThemedText } from '../../theme' import { ThemedText } from '../../theme'
import { AutoColumn } from '../Column' import { AutoColumn } from '../Column'
@ -104,7 +104,7 @@ const THREE_DAYS_IN_SECONDS = ms`3 days` / 1000
export default function TransactionSettings({ placeholderSlippage }: TransactionSettingsProps) { export default function TransactionSettings({ placeholderSlippage }: TransactionSettingsProps) {
const { chainId } = useWeb3React() const { chainId } = useWeb3React()
const theme = useContext(ThemeContext) const theme = useTheme()
const redesignFlag = useRedesignFlag() const redesignFlag = useRedesignFlag()
const redesignFlagEnabled = redesignFlag === RedesignVariant.Enabled const redesignFlagEnabled = redesignFlag === RedesignVariant.Enabled

@ -6,9 +6,9 @@ import { LoadingRows } from 'components/Loader/styled'
import { SUPPORTED_GAS_ESTIMATE_CHAIN_IDS } from 'constants/chains' import { SUPPORTED_GAS_ESTIMATE_CHAIN_IDS } from 'constants/chains'
import { RedesignVariant, useRedesignFlag } from 'featureFlags/flags/redesign' import { RedesignVariant, useRedesignFlag } from 'featureFlags/flags/redesign'
import useNativeCurrency from 'lib/hooks/useNativeCurrency' import useNativeCurrency from 'lib/hooks/useNativeCurrency'
import { useContext, useMemo } from 'react' import { useMemo } from 'react'
import { InterfaceTrade } from 'state/routing/types' import { InterfaceTrade } from 'state/routing/types'
import styled, { ThemeContext } from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { Separator, ThemedText } from '../../theme' import { Separator, ThemedText } from '../../theme'
import { computeRealizedPriceImpact } from '../../utils/prices' import { computeRealizedPriceImpact } from '../../utils/prices'
@ -52,7 +52,7 @@ export function AdvancedSwapDetails({
syncing = false, syncing = false,
hideInfoTooltips = false, hideInfoTooltips = false,
}: AdvancedSwapDetailsProps) { }: AdvancedSwapDetailsProps) {
const theme = useContext(ThemeContext) const theme = useTheme()
const { chainId } = useWeb3React() const { chainId } = useWeb3React()
const nativeCurrency = useNativeCurrency() const nativeCurrency = useNativeCurrency()
const redesignFlag = useRedesignFlag() const redesignFlag = useRedesignFlag()

@ -1,8 +1,7 @@
import { Trans } from '@lingui/macro' import { Trans } from '@lingui/macro'
import { Percent } from '@uniswap/sdk-core' import { Percent } from '@uniswap/sdk-core'
import { OutlineCard } from 'components/Card' import { OutlineCard } from 'components/Card'
import { useContext } from 'react' import styled, { useTheme } from 'styled-components/macro'
import styled, { ThemeContext } from 'styled-components/macro'
import { opacify } from 'theme/utils' import { opacify } from 'theme/utils'
import { ThemedText } from '../../theme' import { ThemedText } from '../../theme'
@ -21,7 +20,7 @@ interface PriceImpactWarningProps {
} }
export default function PriceImpactWarning({ priceImpact }: PriceImpactWarningProps) { export default function PriceImpactWarning({ priceImpact }: PriceImpactWarningProps) {
const theme = useContext(ThemeContext) const theme = useTheme()
return ( return (
<StyledCard> <StyledCard>

@ -5,11 +5,11 @@ import { sendAnalyticsEvent } from 'components/AmplitudeAnalytics'
import { EventName, SWAP_PRICE_UPDATE_USER_RESPONSE } from 'components/AmplitudeAnalytics/constants' import { EventName, SWAP_PRICE_UPDATE_USER_RESPONSE } from 'components/AmplitudeAnalytics/constants'
import { formatPercentInBasisPointsNumber } from 'components/AmplitudeAnalytics/utils' import { formatPercentInBasisPointsNumber } from 'components/AmplitudeAnalytics/utils'
import { RedesignVariant, useRedesignFlag } from 'featureFlags/flags/redesign' import { RedesignVariant, useRedesignFlag } from 'featureFlags/flags/redesign'
import { useContext, useEffect, useState } from 'react' import { useEffect, useState } from 'react'
import { AlertTriangle, ArrowDown } from 'react-feather' import { AlertTriangle, ArrowDown } from 'react-feather'
import { Text } from 'rebass' import { Text } from 'rebass'
import { InterfaceTrade } from 'state/routing/types' import { InterfaceTrade } from 'state/routing/types'
import styled, { ThemeContext } from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { useStablecoinValue } from '../../hooks/useStablecoinPrice' import { useStablecoinValue } from '../../hooks/useStablecoinPrice'
import { ThemedText } from '../../theme' import { ThemedText } from '../../theme'
@ -84,7 +84,7 @@ export default function SwapModalHeader({
showAcceptChanges: boolean showAcceptChanges: boolean
onAcceptChanges: () => void onAcceptChanges: () => void
}) { }) {
const theme = useContext(ThemeContext) const theme = useTheme()
const redesignFlag = useRedesignFlag() const redesignFlag = useRedesignFlag()
const redesignFlagEnabled = redesignFlag === RedesignVariant.Enabled const redesignFlagEnabled = redesignFlag === RedesignVariant.Enabled

@ -1,9 +1,9 @@
import { Trans } from '@lingui/macro' import { Trans } from '@lingui/macro'
import { Currency, Price } from '@uniswap/sdk-core' import { Currency, Price } from '@uniswap/sdk-core'
import useStablecoinPrice from 'hooks/useStablecoinPrice' import useStablecoinPrice from 'hooks/useStablecoinPrice'
import { useCallback, useContext } from 'react' import { useCallback } from 'react'
import { Text } from 'rebass' import { Text } from 'rebass'
import styled, { ThemeContext } from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { ThemedText } from 'theme' import { ThemedText } from 'theme'
interface TradePriceProps { interface TradePriceProps {
@ -30,7 +30,7 @@ const StyledPriceContainer = styled.button`
` `
export default function TradePrice({ price, showInverted, setShowInverted }: TradePriceProps) { export default function TradePrice({ price, showInverted, setShowInverted }: TradePriceProps) {
const theme = useContext(ThemeContext) const theme = useTheme()
const usdcPrice = useStablecoinPrice(showInverted ? price.baseCurrency : price.quoteCurrency) const usdcPrice = useStablecoinPrice(showInverted ? price.baseCurrency : price.quoteCurrency)
/* /*

@ -1,8 +1,8 @@
import { Trans } from '@lingui/macro' import { Trans } from '@lingui/macro'
import { useWeb3React } from '@web3-react/core' import { useWeb3React } from '@web3-react/core'
import { useContext, useState } from 'react' import { useState } from 'react'
import { ArrowUpCircle, X } from 'react-feather' import { ArrowUpCircle, X } from 'react-feather'
import styled, { ThemeContext } from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import Circle from '../../assets/images/blue-loader.svg' import Circle from '../../assets/images/blue-loader.svg'
import { useExecuteCallback } from '../../state/governance/hooks' import { useExecuteCallback } from '../../state/governance/hooks'
@ -49,7 +49,7 @@ export default function ExecuteModal({ isOpen, onDismiss, proposalId }: ExecuteM
const [attempting, setAttempting] = useState<boolean>(false) const [attempting, setAttempting] = useState<boolean>(false)
// get theme for colors // get theme for colors
const theme = useContext(ThemeContext) const theme = useTheme()
// wrapper to reset state on modal close // wrapper to reset state on modal close
function wrappedOnDismiss() { function wrappedOnDismiss() {

@ -1,8 +1,8 @@
import { Trans } from '@lingui/macro' import { Trans } from '@lingui/macro'
import { useWeb3React } from '@web3-react/core' import { useWeb3React } from '@web3-react/core'
import { useContext, useState } from 'react' import { useState } from 'react'
import { ArrowUpCircle, X } from 'react-feather' import { ArrowUpCircle, X } from 'react-feather'
import styled, { ThemeContext } from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import Circle from '../../assets/images/blue-loader.svg' import Circle from '../../assets/images/blue-loader.svg'
import { useQueueCallback } from '../../state/governance/hooks' import { useQueueCallback } from '../../state/governance/hooks'
@ -49,7 +49,7 @@ export default function QueueModal({ isOpen, onDismiss, proposalId }: QueueModal
const [attempting, setAttempting] = useState<boolean>(false) const [attempting, setAttempting] = useState<boolean>(false)
// get theme for colors // get theme for colors
const theme = useContext(ThemeContext) const theme = useTheme()
// wrapper to reset state on modal close // wrapper to reset state on modal close
function wrappedOnDismiss() { function wrappedOnDismiss() {

@ -1,8 +1,8 @@
import { Trans } from '@lingui/macro' import { Trans } from '@lingui/macro'
import { useWeb3React } from '@web3-react/core' import { useWeb3React } from '@web3-react/core'
import { useContext, useState } from 'react' import { useState } from 'react'
import { ArrowUpCircle, X } from 'react-feather' import { ArrowUpCircle, X } from 'react-feather'
import styled, { ThemeContext } from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { formatCurrencyAmount } from 'utils/formatCurrencyAmount' import { formatCurrencyAmount } from 'utils/formatCurrencyAmount'
import Circle from '../../assets/images/blue-loader.svg' import Circle from '../../assets/images/blue-loader.svg'
@ -53,7 +53,7 @@ export default function VoteModal({ isOpen, onDismiss, proposalId, voteOption }:
const [attempting, setAttempting] = useState<boolean>(false) const [attempting, setAttempting] = useState<boolean>(false)
// get theme for colors // get theme for colors
const theme = useContext(ThemeContext) const theme = useTheme()
// wrapper to reset state on modal close // wrapper to reset state on modal close
function wrappedOnDismiss() { function wrappedOnDismiss() {

@ -1,6 +0,0 @@
import { useContext } from 'react'
import { ThemeContext } from 'styled-components/macro'
export default function useTheme() {
return useContext(ThemeContext)
}

@ -9,7 +9,7 @@ import { TraceEvent } from 'components/AmplitudeAnalytics/TraceEvent'
import { sendEvent } from 'components/analytics' import { sendEvent } from 'components/analytics'
import UnsupportedCurrencyFooter from 'components/swap/UnsupportedCurrencyFooter' import UnsupportedCurrencyFooter from 'components/swap/UnsupportedCurrencyFooter'
import useParsedQueryString from 'hooks/useParsedQueryString' import useParsedQueryString from 'hooks/useParsedQueryString'
import { useCallback, useContext, useEffect, useState } from 'react' import { useCallback, useEffect, useState } from 'react'
import { AlertTriangle } from 'react-feather' import { AlertTriangle } from 'react-feather'
import { useNavigate, useParams } from 'react-router-dom' import { useNavigate, useParams } from 'react-router-dom'
import { Text } from 'rebass' import { Text } from 'rebass'
@ -19,7 +19,7 @@ import {
useV3MintActionHandlers, useV3MintActionHandlers,
useV3MintState, useV3MintState,
} from 'state/mint/v3/hooks' } from 'state/mint/v3/hooks'
import { ThemeContext } from 'styled-components/macro' import { useTheme } from 'styled-components/macro'
import { ButtonError, ButtonLight, ButtonPrimary, ButtonText, ButtonYellow } from '../../components/Button' import { ButtonError, ButtonLight, ButtonPrimary, ButtonText, ButtonYellow } from '../../components/Button'
import { BlueCard, OutlineCard, YellowCard } from '../../components/Card' import { BlueCard, OutlineCard, YellowCard } from '../../components/Card'
@ -86,7 +86,7 @@ export default function AddLiquidity() {
tokenId, tokenId,
} = useParams<{ currencyIdA?: string; currencyIdB?: string; feeAmount?: string; tokenId?: string }>() } = useParams<{ currencyIdA?: string; currencyIdB?: string; feeAmount?: string; tokenId?: string }>()
const { account, chainId, provider } = useWeb3React() const { account, chainId, provider } = useWeb3React()
const theme = useContext(ThemeContext) const theme = useTheme()
const toggleWalletModal = useToggleWalletModal() // toggle wallet when disconnected const toggleWalletModal = useToggleWalletModal() // toggle wallet when disconnected
const expertMode = useIsExpertMode() const expertMode = useIsExpertMode()
const addTransaction = useTransactionAdder() const addTransaction = useTransactionAdder()

@ -1,8 +1,7 @@
import { Trans } from '@lingui/macro' import { Trans } from '@lingui/macro'
import { Currency, Percent, Price } from '@uniswap/sdk-core' import { Currency, Percent, Price } from '@uniswap/sdk-core'
import { useContext } from 'react'
import { Text } from 'rebass' import { Text } from 'rebass'
import { ThemeContext } from 'styled-components/macro' import { useTheme } from 'styled-components/macro'
import { AutoColumn } from '../../components/Column' import { AutoColumn } from '../../components/Column'
import { AutoRow } from '../../components/Row' import { AutoRow } from '../../components/Row'
@ -21,7 +20,7 @@ export function PoolPriceBar({
poolTokenPercentage?: Percent poolTokenPercentage?: Percent
price?: Price<Currency, Currency> price?: Price<Currency, Currency>
}) { }) {
const theme = useContext(ThemeContext) const theme = useTheme()
return ( return (
<AutoColumn gap="md"> <AutoColumn gap="md">
<AutoRow justify="space-around" gap="4px"> <AutoRow justify="space-around" gap="4px">

@ -8,11 +8,11 @@ import { TraceEvent } from 'components/AmplitudeAnalytics/TraceEvent'
import { sendEvent } from 'components/analytics' import { sendEvent } from 'components/analytics'
import UnsupportedCurrencyFooter from 'components/swap/UnsupportedCurrencyFooter' import UnsupportedCurrencyFooter from 'components/swap/UnsupportedCurrencyFooter'
import { SwitchLocaleLink } from 'components/SwitchLocaleLink' import { SwitchLocaleLink } from 'components/SwitchLocaleLink'
import { useCallback, useContext, useState } from 'react' import { useCallback, useState } from 'react'
import { Plus } from 'react-feather' import { Plus } from 'react-feather'
import { useLocation, useNavigate, useParams } from 'react-router-dom' import { useLocation, useNavigate, useParams } from 'react-router-dom'
import { Text } from 'rebass' import { Text } from 'rebass'
import { ThemeContext } from 'styled-components/macro' import { useTheme } from 'styled-components/macro'
import { ButtonError, ButtonLight, ButtonPrimary } from '../../components/Button' import { ButtonError, ButtonLight, ButtonPrimary } from '../../components/Button'
import { BlueCard, LightCard } from '../../components/Card' import { BlueCard, LightCard } from '../../components/Card'
@ -54,7 +54,7 @@ export default function AddLiquidity() {
const navigate = useNavigate() const navigate = useNavigate()
const { account, chainId, provider } = useWeb3React() const { account, chainId, provider } = useWeb3React()
const theme = useContext(ThemeContext) const theme = useTheme()
const currencyA = useCurrency(currencyIdA) const currencyA = useCurrency(currencyIdA)
const currencyB = useCurrency(currencyIdB) const currencyB = useCurrency(currencyIdB)

@ -3,10 +3,9 @@ import { ButtonPrimary } from 'components/Button'
import { AutoColumn } from 'components/Column' import { AutoColumn } from 'components/Column'
import Modal from 'components/Modal' import Modal from 'components/Modal'
import { LoadingView, SubmittedView } from 'components/ModalViews' import { LoadingView, SubmittedView } from 'components/ModalViews'
import React, { useContext } from 'react'
import { Link } from 'react-router-dom' import { Link } from 'react-router-dom'
import { Text } from 'rebass' import { Text } from 'rebass'
import { ThemeContext } from 'styled-components/macro' import { useTheme } from 'styled-components/macro'
import { ExternalLink, ThemedText } from 'theme' import { ExternalLink, ThemedText } from 'theme'
import { ExplorerDataType, getExplorerLink } from 'utils/getExplorerLink' import { ExplorerDataType, getExplorerLink } from 'utils/getExplorerLink'
@ -19,7 +18,7 @@ export const ProposalSubmissionModal = ({
hash: string | undefined hash: string | undefined
onDismiss: () => void onDismiss: () => void
}) => { }) => {
const theme = useContext(ThemeContext) const theme = useTheme()
return ( return (
<Modal isOpen={isOpen} onDismiss={onDismiss}> <Modal isOpen={isOpen} onDismiss={onDismiss}>

@ -1,8 +1,7 @@
import { Trans } from '@lingui/macro' import { Trans } from '@lingui/macro'
import { useWeb3React } from '@web3-react/core' import { useWeb3React } from '@web3-react/core'
import useTheme from 'hooks/useTheme'
import JSBI from 'jsbi' import JSBI from 'jsbi'
import styled from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { OutlineCard } from '../../components/Card' import { OutlineCard } from '../../components/Card'
import { AutoColumn } from '../../components/Column' import { AutoColumn } from '../../components/Column'

@ -17,7 +17,6 @@ import { Dots } from 'components/swap/styleds'
import { ApprovalState, useApproveCallback } from 'hooks/useApproveCallback' import { ApprovalState, useApproveCallback } from 'hooks/useApproveCallback'
import useCurrentBlockTimestamp from 'hooks/useCurrentBlockTimestamp' import useCurrentBlockTimestamp from 'hooks/useCurrentBlockTimestamp'
import { PoolState, usePool } from 'hooks/usePools' import { PoolState, usePool } from 'hooks/usePools'
import useTheme from 'hooks/useTheme'
import useTransactionDeadline from 'hooks/useTransactionDeadline' import useTransactionDeadline from 'hooks/useTransactionDeadline'
import { useV2LiquidityTokenPermit } from 'hooks/useV2LiquidityTokenPermit' import { useV2LiquidityTokenPermit } from 'hooks/useV2LiquidityTokenPermit'
import JSBI from 'jsbi' import JSBI from 'jsbi'
@ -31,6 +30,7 @@ import { Bound, resetMintState } from 'state/mint/v3/actions'
import { useRangeHopCallbacks, useV3DerivedMintInfo, useV3MintActionHandlers } from 'state/mint/v3/hooks' import { useRangeHopCallbacks, useV3DerivedMintInfo, useV3MintActionHandlers } from 'state/mint/v3/hooks'
import { useIsTransactionPending, useTransactionAdder } from 'state/transactions/hooks' import { useIsTransactionPending, useTransactionAdder } from 'state/transactions/hooks'
import { useUserSlippageToleranceWithDefault } from 'state/user/hooks' import { useUserSlippageToleranceWithDefault } from 'state/user/hooks'
import { useTheme } from 'styled-components/macro'
import { formatCurrencyAmount } from 'utils/formatCurrencyAmount' import { formatCurrencyAmount } from 'utils/formatCurrencyAmount'
import { unwrappedToken } from 'utils/unwrappedToken' import { unwrappedToken } from 'utils/unwrappedToken'

@ -8,9 +8,9 @@ import MigrateSushiPositionCard from 'components/PositionCard/Sushi'
import MigrateV2PositionCard from 'components/PositionCard/V2' import MigrateV2PositionCard from 'components/PositionCard/V2'
import { SwitchLocaleLink } from 'components/SwitchLocaleLink' import { SwitchLocaleLink } from 'components/SwitchLocaleLink'
import { PairState, useV2Pairs } from 'hooks/useV2Pairs' import { PairState, useV2Pairs } from 'hooks/useV2Pairs'
import { ReactNode, useContext, useMemo } from 'react' import { ReactNode, useMemo } from 'react'
import { Text } from 'rebass' import { Text } from 'rebass'
import { ThemeContext } from 'styled-components/macro' import { useTheme } from 'styled-components/macro'
import { LightCard } from '../../components/Card' import { LightCard } from '../../components/Card'
import { AutoColumn } from '../../components/Column' import { AutoColumn } from '../../components/Column'
@ -51,7 +51,7 @@ function toSushiLiquidityToken([tokenA, tokenB]: [Token, Token]): Token {
} }
export default function MigrateV2() { export default function MigrateV2() {
const theme = useContext(ThemeContext) const theme = useTheme()
const { account, chainId } = useWeb3React() const { account, chainId } = useWeb3React()
const v2FactoryAddress = chainId ? V2_FACTORY_ADDRESSES[chainId] : undefined const v2FactoryAddress = chainId ? V2_FACTORY_ADDRESSES[chainId] : undefined

@ -31,7 +31,7 @@ import { useCallback, useMemo, useRef, useState } from 'react'
import { Link, useParams } from 'react-router-dom' import { Link, useParams } from 'react-router-dom'
import { Bound } from 'state/mint/v3/actions' import { Bound } from 'state/mint/v3/actions'
import { useIsTransactionPending, useTransactionAdder } from 'state/transactions/hooks' import { useIsTransactionPending, useTransactionAdder } from 'state/transactions/hooks'
import styled from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { ExternalLink, HideExtraSmall, ThemedText } from 'theme' import { ExternalLink, HideExtraSmall, ThemedText } from 'theme'
import { currencyId } from 'utils/currencyId' import { currencyId } from 'utils/currencyId'
import { formatCurrencyAmount } from 'utils/formatCurrencyAmount' import { formatCurrencyAmount } from 'utils/formatCurrencyAmount'
@ -43,7 +43,6 @@ import { getPriceOrderingFromPositionForUI } from '../../components/PositionList
import RateToggle from '../../components/RateToggle' import RateToggle from '../../components/RateToggle'
import { SwitchLocaleLink } from '../../components/SwitchLocaleLink' import { SwitchLocaleLink } from '../../components/SwitchLocaleLink'
import { usePositionTokenURI } from '../../hooks/usePositionTokenURI' import { usePositionTokenURI } from '../../hooks/usePositionTokenURI'
import useTheme from '../../hooks/useTheme'
import { TransactionType } from '../../state/transactions/types' import { TransactionType } from '../../state/transactions/types'
import { calculateGasMargin } from '../../utils/calculateGasMargin' import { calculateGasMargin } from '../../utils/calculateGasMargin'
import { ExplorerDataType, getExplorerLink } from '../../utils/getExplorerLink' import { ExplorerDataType, getExplorerLink } from '../../utils/getExplorerLink'

@ -12,12 +12,11 @@ import { RowBetween, RowFixed } from 'components/Row'
import { SwitchLocaleLink } from 'components/SwitchLocaleLink' import { SwitchLocaleLink } from 'components/SwitchLocaleLink'
import { isSupportedChain } from 'constants/chains' import { isSupportedChain } from 'constants/chains'
import { useV3Positions } from 'hooks/useV3Positions' import { useV3Positions } from 'hooks/useV3Positions'
import { useContext } from 'react'
import { AlertTriangle, BookOpen, ChevronDown, ChevronsRight, Inbox, Layers, PlusCircle } from 'react-feather' import { AlertTriangle, BookOpen, ChevronDown, ChevronsRight, Inbox, Layers, PlusCircle } from 'react-feather'
import { Link } from 'react-router-dom' import { Link } from 'react-router-dom'
import { useToggleWalletModal } from 'state/application/hooks' import { useToggleWalletModal } from 'state/application/hooks'
import { useUserHideClosedPositions } from 'state/user/hooks' import { useUserHideClosedPositions } from 'state/user/hooks'
import styled, { css, ThemeContext } from 'styled-components/macro' import styled, { css, useTheme } from 'styled-components/macro'
import { HideSmall, ThemedText } from 'theme' import { HideSmall, ThemedText } from 'theme'
import { PositionDetails } from 'types/position' import { PositionDetails } from 'types/position'
@ -152,7 +151,7 @@ function PositionsLoadingPlaceholder() {
} }
function WrongNetworkCard() { function WrongNetworkCard() {
const theme = useContext(ThemeContext) const theme = useTheme()
return ( return (
<> <>
<PageWrapper> <PageWrapper>
@ -186,7 +185,7 @@ export default function Pool() {
const { account, chainId } = useWeb3React() const { account, chainId } = useWeb3React()
const toggleWalletModal = useToggleWalletModal() const toggleWalletModal = useToggleWalletModal()
const theme = useContext(ThemeContext) const theme = useTheme()
const [userHideClosedPositions, setUserHideClosedPositions] = useUserHideClosedPositions() const [userHideClosedPositions, setUserHideClosedPositions] = useUserHideClosedPositions()
const { positions, loading: positionsLoading } = useV3Positions(account) const { positions, loading: positionsLoading } = useV3Positions(account)

@ -5,11 +5,11 @@ import { PageName } from 'components/AmplitudeAnalytics/constants'
import { Trace } from 'components/AmplitudeAnalytics/Trace' import { Trace } from 'components/AmplitudeAnalytics/Trace'
import { UNSUPPORTED_V2POOL_CHAIN_IDS } from 'constants/chains' import { UNSUPPORTED_V2POOL_CHAIN_IDS } from 'constants/chains'
import JSBI from 'jsbi' import JSBI from 'jsbi'
import { useContext, useMemo } from 'react' import { useMemo } from 'react'
import { ChevronsRight } from 'react-feather' import { ChevronsRight } from 'react-feather'
import { Link } from 'react-router-dom' import { Link } from 'react-router-dom'
import { Text } from 'rebass' import { Text } from 'rebass'
import styled, { ThemeContext } from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { ButtonOutlined, ButtonPrimary, ButtonSecondary } from '../../components/Button' import { ButtonOutlined, ButtonPrimary, ButtonSecondary } from '../../components/Button'
import Card from '../../components/Card' import Card from '../../components/Card'
@ -84,7 +84,7 @@ const Layer2Prompt = styled(EmptyProposals)`
` `
export default function Pool() { export default function Pool() {
const theme = useContext(ThemeContext) const theme = useTheme()
const { account, chainId } = useWeb3React() const { account, chainId } = useWeb3React()
const unsupportedV2Network = chainId && UNSUPPORTED_V2POOL_CHAIN_IDS.includes(chainId) const unsupportedV2Network = chainId && UNSUPPORTED_V2POOL_CHAIN_IDS.includes(chainId)

@ -20,7 +20,6 @@ import Slider from 'components/Slider'
import Toggle from 'components/Toggle' import Toggle from 'components/Toggle'
import { useV3NFTPositionManagerContract } from 'hooks/useContract' import { useV3NFTPositionManagerContract } from 'hooks/useContract'
import useDebouncedChangeHandler from 'hooks/useDebouncedChangeHandler' import useDebouncedChangeHandler from 'hooks/useDebouncedChangeHandler'
import useTheme from 'hooks/useTheme'
import useTransactionDeadline from 'hooks/useTransactionDeadline' import useTransactionDeadline from 'hooks/useTransactionDeadline'
import { useV3PositionFromTokenId } from 'hooks/useV3Positions' import { useV3PositionFromTokenId } from 'hooks/useV3Positions'
import useNativeCurrency from 'lib/hooks/useNativeCurrency' import useNativeCurrency from 'lib/hooks/useNativeCurrency'
@ -30,6 +29,7 @@ import { Text } from 'rebass'
import { useBurnV3ActionHandlers, useBurnV3State, useDerivedV3BurnInfo } from 'state/burn/v3/hooks' import { useBurnV3ActionHandlers, useBurnV3State, useDerivedV3BurnInfo } from 'state/burn/v3/hooks'
import { useTransactionAdder } from 'state/transactions/hooks' import { useTransactionAdder } from 'state/transactions/hooks'
import { useUserSlippageToleranceWithDefault } from 'state/user/hooks' import { useUserSlippageToleranceWithDefault } from 'state/user/hooks'
import { useTheme } from 'styled-components/macro'
import { ThemedText } from 'theme' import { ThemedText } from 'theme'
import TransactionConfirmationModal, { ConfirmationModalContent } from '../../components/TransactionConfirmationModal' import TransactionConfirmationModal, { ConfirmationModalContent } from '../../components/TransactionConfirmationModal'

@ -8,11 +8,11 @@ import { ElementName, Event, EventName } from 'components/AmplitudeAnalytics/con
import { TraceEvent } from 'components/AmplitudeAnalytics/TraceEvent' import { TraceEvent } from 'components/AmplitudeAnalytics/TraceEvent'
import { sendEvent } from 'components/analytics' import { sendEvent } from 'components/analytics'
import { useV2LiquidityTokenPermit } from 'hooks/useV2LiquidityTokenPermit' import { useV2LiquidityTokenPermit } from 'hooks/useV2LiquidityTokenPermit'
import { useCallback, useContext, useMemo, useState } from 'react' import { useCallback, useMemo, useState } from 'react'
import { ArrowDown, Plus } from 'react-feather' import { ArrowDown, Plus } from 'react-feather'
import { useNavigate, useParams } from 'react-router-dom' import { useNavigate, useParams } from 'react-router-dom'
import { Text } from 'rebass' import { Text } from 'rebass'
import { ThemeContext } from 'styled-components/macro' import { useTheme } from 'styled-components/macro'
import { ButtonConfirmed, ButtonError, ButtonLight, ButtonPrimary } from '../../components/Button' import { ButtonConfirmed, ButtonError, ButtonLight, ButtonPrimary } from '../../components/Button'
import { BlueCard, LightCard } from '../../components/Card' import { BlueCard, LightCard } from '../../components/Card'
@ -54,7 +54,7 @@ export default function RemoveLiquidity() {
const { account, chainId, provider } = useWeb3React() const { account, chainId, provider } = useWeb3React()
const [tokenA, tokenB] = useMemo(() => [currencyA?.wrapped, currencyB?.wrapped], [currencyA, currencyB]) const [tokenA, tokenB] = useMemo(() => [currencyA?.wrapped, currencyB?.wrapped], [currencyA, currencyB])
const theme = useContext(ThemeContext) const theme = useTheme()
// toggle wallet when disconnected // toggle wallet when disconnected
const toggleWalletModal = useToggleWalletModal() const toggleWalletModal = useToggleWalletModal()

@ -24,7 +24,7 @@ import { RedesignVariant, useRedesignFlag } from 'featureFlags/flags/redesign'
import { useSwapCallback } from 'hooks/useSwapCallback' import { useSwapCallback } from 'hooks/useSwapCallback'
import useTransactionDeadline from 'hooks/useTransactionDeadline' import useTransactionDeadline from 'hooks/useTransactionDeadline'
import JSBI from 'jsbi' import JSBI from 'jsbi'
import { Context, useCallback, useContext, useEffect, useMemo, useState } from 'react' import { useCallback, useEffect, useMemo, useState } from 'react'
import { ReactNode } from 'react' import { ReactNode } from 'react'
import { ArrowDown, ArrowUp, CheckCircle, HelpCircle } from 'react-feather' import { ArrowDown, ArrowUp, CheckCircle, HelpCircle } from 'react-feather'
import { useNavigate } from 'react-router-dom' import { useNavigate } from 'react-router-dom'
@ -32,7 +32,7 @@ import { Text } from 'rebass'
import { useToggleWalletModal } from 'state/application/hooks' import { useToggleWalletModal } from 'state/application/hooks'
import { InterfaceTrade } from 'state/routing/types' import { InterfaceTrade } from 'state/routing/types'
import { TradeState } from 'state/routing/types' import { TradeState } from 'state/routing/types'
import styled, { css, DefaultTheme, ThemeContext } from 'styled-components/macro' import styled, { css, useTheme } from 'styled-components/macro'
import AddressInputPanel from '../../components/AddressInputPanel' import AddressInputPanel from '../../components/AddressInputPanel'
import { ButtonConfirmed, ButtonError, ButtonLight, ButtonPrimary } from '../../components/Button' import { ButtonConfirmed, ButtonError, ButtonLight, ButtonPrimary } from '../../components/Button'
@ -197,7 +197,7 @@ export default function Swap() {
[chainId, defaultTokens, urlLoadedTokens] [chainId, defaultTokens, urlLoadedTokens]
) )
const theme = useContext(ThemeContext as Context<DefaultTheme>) const theme = useTheme()
// toggle wallet when disconnected // toggle wallet when disconnected
const toggleWalletModal = useToggleWalletModal() const toggleWalletModal = useToggleWalletModal()

@ -13,7 +13,6 @@ import { SwitchLocaleLink } from 'components/SwitchLocaleLink'
import Toggle from 'components/Toggle' import Toggle from 'components/Toggle'
import DelegateModal from 'components/vote/DelegateModal' import DelegateModal from 'components/vote/DelegateModal'
import ProposalEmptyState from 'components/vote/ProposalEmptyState' import ProposalEmptyState from 'components/vote/ProposalEmptyState'
import useTheme from 'hooks/useTheme'
import JSBI from 'jsbi' import JSBI from 'jsbi'
import { darken } from 'polished' import { darken } from 'polished'
import { useState } from 'react' import { useState } from 'react'
@ -24,7 +23,7 @@ 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'
import { useAllProposalData, useUserDelegatee, useUserVotes } from 'state/governance/hooks' import { useAllProposalData, useUserDelegatee, useUserVotes } from 'state/governance/hooks'
import styled from 'styled-components/macro' import styled, { useTheme } from 'styled-components/macro'
import { ExternalLink, ThemedText } from 'theme' import { ExternalLink, ThemedText } from 'theme'
import { shortenAddress } from 'utils' import { shortenAddress } from 'utils'
import { ExplorerDataType, getExplorerLink } from 'utils/getExplorerLink' import { ExplorerDataType, getExplorerLink } from 'utils/getExplorerLink'