Commit 302af21a authored by eddie's avatar eddie Committed by GitHub

fix: widget theme integration (#5880)

* fix: add missing colors to widget theme integration

* feat: upgrade widget version

* fix: conedison in jest tests
parent b61a2d41
...@@ -12,9 +12,10 @@ module.exports = { ...@@ -12,9 +12,10 @@ module.exports = {
jest: { jest: {
configure(jestConfig) { configure(jestConfig) {
return Object.assign({}, jestConfig, { return Object.assign({}, jestConfig, {
transformIgnorePatterns: ['@uniswap/conedison/format'], transformIgnorePatterns: ['@uniswap/conedison/format', '@uniswap/conedison/provider'],
moduleNameMapper: { moduleNameMapper: {
'@uniswap/conedison/format': '@uniswap/conedison/dist/format', '@uniswap/conedison/format': '@uniswap/conedison/dist/format',
'@uniswap/conedison/provider': '@uniswap/conedison/dist/provider',
}, },
}) })
}, },
......
import { Percent } from '@uniswap/sdk-core' import { Percent } from '@uniswap/sdk-core'
import { Slippage, SwapController, SwapEventHandlers } from '@uniswap/widgets' import { RouterPreference, Slippage, SwapController, SwapEventHandlers } from '@uniswap/widgets'
import { DEFAULT_DEADLINE_FROM_NOW } from 'constants/misc' import { DEFAULT_DEADLINE_FROM_NOW } from 'constants/misc'
import { useCallback, useMemo, useState } from 'react' import { useCallback, useMemo, useState } from 'react'
import { useUserSlippageTolerance, useUserTransactionTTL } from 'state/user/hooks' import { useUserSlippageTolerance, useUserTransactionTTL } from 'state/user/hooks'
...@@ -37,6 +37,8 @@ export function useSyncWidgetSettings() { ...@@ -37,6 +37,8 @@ export function useSyncWidgetSettings() {
[setAppSlippage] [setAppSlippage]
) )
const [routerPreference, onRouterPreferenceChange] = useState(RouterPreference.API)
const onSettingsReset = useCallback(() => { const onSettingsReset = useCallback(() => {
setWidgetTtl(undefined) setWidgetTtl(undefined)
setAppTtl(DEFAULT_DEADLINE_FROM_NOW) setAppTtl(DEFAULT_DEADLINE_FROM_NOW)
...@@ -46,11 +48,15 @@ export function useSyncWidgetSettings() { ...@@ -46,11 +48,15 @@ export function useSyncWidgetSettings() {
const settings: SwapController['settings'] = useMemo(() => { const settings: SwapController['settings'] = useMemo(() => {
const auto = appSlippage === 'auto' const auto = appSlippage === 'auto'
return { slippage: { auto, max: widgetSlippage }, transactionTtl: widgetTtl } return {
}, [widgetSlippage, widgetTtl, appSlippage]) slippage: { auto, max: widgetSlippage },
transactionTtl: widgetTtl,
routerPreference,
}
}, [appSlippage, widgetSlippage, widgetTtl, routerPreference])
const settingsHandlers: SwapEventHandlers = useMemo( const settingsHandlers: SwapEventHandlers = useMemo(
() => ({ onSettingsReset, onSlippageChange, onTransactionDeadlineChange }), () => ({ onSettingsReset, onSlippageChange, onTransactionDeadlineChange, onRouterPreferenceChange }),
[onSettingsReset, onSlippageChange, onTransactionDeadlineChange] [onSettingsReset, onSlippageChange, onTransactionDeadlineChange, onRouterPreferenceChange]
) )
return { settings: { settings, ...settingsHandlers } } return { settings: { settings, ...settingsHandlers } }
......
import { Theme } from '@uniswap/widgets'
import { darkTheme, lightTheme } from 'theme/colors' import { darkTheme, lightTheme } from 'theme/colors'
const fonts = { const fonts = {
fontFamily: 'Inter custom', fontFamily: 'Inter custom',
} }
export const LIGHT_THEME = { export const LIGHT_THEME: Theme = {
// surface // surface
accent: lightTheme.accentAction,
accentSoft: lightTheme.accentActionSoft,
container: lightTheme.backgroundSurface, container: lightTheme.backgroundSurface,
interactive: lightTheme.backgroundInteractive,
module: lightTheme.backgroundModule, module: lightTheme.backgroundModule,
accent: lightTheme.accentAction, interactive: lightTheme.backgroundInteractive,
dialog: lightTheme.backgroundBackdrop,
outline: lightTheme.backgroundOutline, outline: lightTheme.backgroundOutline,
dialog: lightTheme.backgroundBackdrop,
scrim: lightTheme.backgroundScrim,
// text // text
onAccent: lightTheme.white,
primary: lightTheme.textPrimary, primary: lightTheme.textPrimary,
secondary: lightTheme.textSecondary, secondary: lightTheme.textSecondary,
hint: lightTheme.textTertiary,
onInteractive: lightTheme.accentTextDarkPrimary, onInteractive: lightTheme.accentTextDarkPrimary,
// shadow
deepShadow: lightTheme.deepShadow,
networkDefaultShadow: lightTheme.networkDefaultShadow,
// state // state
success: lightTheme.accentSuccess, success: lightTheme.accentSuccess,
warning: lightTheme.accentWarning, warning: lightTheme.accentWarning,
...@@ -24,18 +33,25 @@ export const LIGHT_THEME = { ...@@ -24,18 +33,25 @@ export const LIGHT_THEME = {
...fonts, ...fonts,
} }
export const DARK_THEME = { export const DARK_THEME: Theme = {
// surface // surface
accent: darkTheme.accentAction,
accentSoft: darkTheme.accentActionSoft,
container: darkTheme.backgroundSurface, container: darkTheme.backgroundSurface,
interactive: darkTheme.backgroundInteractive,
module: darkTheme.backgroundModule, module: darkTheme.backgroundModule,
accent: darkTheme.accentAction, interactive: darkTheme.backgroundInteractive,
dialog: darkTheme.backgroundBackdrop,
outline: darkTheme.backgroundOutline, outline: darkTheme.backgroundOutline,
dialog: darkTheme.backgroundBackdrop,
scrim: darkTheme.backgroundScrim,
// text // text
onAccent: darkTheme.white,
primary: darkTheme.textPrimary, primary: darkTheme.textPrimary,
secondary: darkTheme.textSecondary, secondary: darkTheme.textSecondary,
hint: darkTheme.textTertiary,
onInteractive: darkTheme.accentTextLightPrimary, onInteractive: darkTheme.accentTextLightPrimary,
// shadow
deepShadow: darkTheme.deepShadow,
networkDefaultShadow: darkTheme.networkDefaultShadow,
// state // state
success: darkTheme.accentSuccess, success: darkTheme.accentSuccess,
warning: darkTheme.accentWarning, warning: darkTheme.accentWarning,
......
...@@ -4945,10 +4945,10 @@ ...@@ -4945,10 +4945,10 @@
react "^18.2.0" react "^18.2.0"
react-dom "^18.2.0" react-dom "^18.2.0"
"@uniswap/conedison@^1.1.1": "@uniswap/conedison@^1.2.1":
version "1.1.1" version "1.2.1"
resolved "https://registry.yarnpkg.com/@uniswap/conedison/-/conedison-1.1.1.tgz#affec246613d1f52da3cdd0571ef8195b7b54d17" resolved "https://registry.yarnpkg.com/@uniswap/conedison/-/conedison-1.2.1.tgz#c3dbfe14f4320fc5c60cde23c4bd70ed8a39c782"
integrity sha512-xFHAcWRrU+/+/BInXy6SRiiNwUG0vxLWsoYgod66wWifUvnjfpItzlvJHUer1OOpLDsz0CL5Fb70vFJOGAGi8w== integrity sha512-ir6j7RQOyREXtW5YlmPjskfl7oDeHWtMFai57snThAkKgrb+8KTX5b0a5nbXeIuaW2RNHAaWTGoSoTneIHCAnQ==
"@uniswap/default-token-list@^2.0.0": "@uniswap/default-token-list@^2.0.0":
version "2.2.0" version "2.2.0"
...@@ -5090,7 +5090,7 @@ ...@@ -5090,7 +5090,7 @@
resolved "https://registry.yarnpkg.com/@uniswap/token-lists/-/token-lists-1.0.0-beta.30.tgz#2103ca23b8007c59ec71718d34cdc97861c409e5" resolved "https://registry.yarnpkg.com/@uniswap/token-lists/-/token-lists-1.0.0-beta.30.tgz#2103ca23b8007c59ec71718d34cdc97861c409e5"
integrity sha512-HwY2VvkQ8lNR6ks5NqQfAtg+4IZqz3KV1T8d2DlI8emIn9uMmaoFbIOg0nzjqAVKKnZSbMTRRtUoAh6mmjRvog== integrity sha512-HwY2VvkQ8lNR6ks5NqQfAtg+4IZqz3KV1T8d2DlI8emIn9uMmaoFbIOg0nzjqAVKKnZSbMTRRtUoAh6mmjRvog==
"@uniswap/universal-router-sdk@1.3.4", "@uniswap/universal-router-sdk@^1.3.0": "@uniswap/universal-router-sdk@1.3.4", "@uniswap/universal-router-sdk@^1.3.4":
version "1.3.4" version "1.3.4"
resolved "https://registry.yarnpkg.com/@uniswap/universal-router-sdk/-/universal-router-sdk-1.3.4.tgz#7b6b8e30d6faff812f224d32a832385378568160" resolved "https://registry.yarnpkg.com/@uniswap/universal-router-sdk/-/universal-router-sdk-1.3.4.tgz#7b6b8e30d6faff812f224d32a832385378568160"
integrity sha512-RIWZm48N/fiAssMOj0nMLoeN5JATKOMfbFwyVnCaFHIVMJmKEZtZLKe3QOkl2LMVnQ/nP4LVCDwHU+mdP68jCQ== integrity sha512-RIWZm48N/fiAssMOj0nMLoeN5JATKOMfbFwyVnCaFHIVMJmKEZtZLKe3QOkl2LMVnQ/nP4LVCDwHU+mdP68jCQ==
...@@ -5194,24 +5194,24 @@ ...@@ -5194,24 +5194,24 @@
"@uniswap/v3-core" "1.0.0" "@uniswap/v3-core" "1.0.0"
"@uniswap/v3-periphery" "^1.0.1" "@uniswap/v3-periphery" "^1.0.1"
"@uniswap/widgets@2.25.1": "@uniswap/widgets@^2.26.0":
version "2.25.1" version "2.26.0"
resolved "https://registry.yarnpkg.com/@uniswap/widgets/-/widgets-2.25.1.tgz#53d03da44587c0851d2f39516d7f9037d0c65b9d" resolved "https://registry.yarnpkg.com/@uniswap/widgets/-/widgets-2.26.0.tgz#ed2d2b0965fc2139874a5eaca44c8070184d9e74"
integrity sha512-Jth8qd7g58W1SVRpSFNiTKjs0HmcOacpxdSKfRSOIJOcYq8vgjZ0k4W3i/bzjf8PDRtLGh4Nn09VLugtIMUVIw== integrity sha512-LIfd3wgJxNiPXduyxXAihOzye5LrayyPDt0/OErSr1hF3BIiQqdVc3KyHDFJ4PC0pCp4+dfE2HPH1FrClO54Uw==
dependencies: dependencies:
"@babel/runtime" ">=7.17.0" "@babel/runtime" ">=7.17.0"
"@fontsource/ibm-plex-mono" "^4.5.1" "@fontsource/ibm-plex-mono" "^4.5.1"
"@fontsource/inter" "^4.5.1" "@fontsource/inter" "^4.5.1"
"@popperjs/core" "^2.4.4" "@popperjs/core" "^2.4.4"
"@reduxjs/toolkit" "^1.6.1" "@reduxjs/toolkit" "^1.6.1"
"@uniswap/conedison" "^1.1.1" "@uniswap/conedison" "^1.2.1"
"@uniswap/permit2-sdk" "^1.2.0" "@uniswap/permit2-sdk" "^1.2.0"
"@uniswap/redux-multicall" "^1.1.8" "@uniswap/redux-multicall" "^1.1.8"
"@uniswap/router-sdk" "^1.3.0" "@uniswap/router-sdk" "^1.3.0"
"@uniswap/sdk-core" "^3.0.1" "@uniswap/sdk-core" "^3.0.1"
"@uniswap/smart-order-router" "^2.10.0" "@uniswap/smart-order-router" "^2.10.0"
"@uniswap/token-lists" "^1.0.0-beta.30" "@uniswap/token-lists" "^1.0.0-beta.30"
"@uniswap/universal-router-sdk" "^1.3.0" "@uniswap/universal-router-sdk" "^1.3.4"
"@uniswap/v2-sdk" "^3.0.1" "@uniswap/v2-sdk" "^3.0.1"
"@uniswap/v3-sdk" "^3.8.2" "@uniswap/v3-sdk" "^3.8.2"
"@web3-react/core" "8.0.35-beta.0" "@web3-react/core" "8.0.35-beta.0"
......
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