diff --git a/RELEASE b/RELEASE index 6ae30f3e92a..49e5c246ade 100644 --- a/RELEASE +++ b/RELEASE @@ -1,6 +1,6 @@ IPFS hash of the deployment: -- CIDv0: `QmREL7zj6bMggt5yrx5mfiWCnWzbP1xAoVTYAd2J3uFgtb` -- CIDv1: `bafybeibk6showu2rchiizehaujrhea6a3ebhhapm3ivjdrhnddgbx2u3tq` +- CIDv0: `QmVMsr8YpWVo2SyEuQwKBNaBDKv7uZcZkN63VTDrMgfsX1` +- CIDv1: `bafybeidiki7lac24gv6xgw65hvxrrqfpk2bdgjsj63rl2uuf5yijufqj6q` The latest release is always mirrored at [app.uniswap.org](https://app.uniswap.org). @@ -10,50 +10,15 @@ You can also access the Uniswap Interface from an IPFS gateway. Your Uniswap settings are never remembered across different URLs. IPFS gateways: -- https://bafybeibk6showu2rchiizehaujrhea6a3ebhhapm3ivjdrhnddgbx2u3tq.ipfs.dweb.link/ -- https://bafybeibk6showu2rchiizehaujrhea6a3ebhhapm3ivjdrhnddgbx2u3tq.ipfs.cf-ipfs.com/ -- [ipfs://QmREL7zj6bMggt5yrx5mfiWCnWzbP1xAoVTYAd2J3uFgtb/](ipfs://QmREL7zj6bMggt5yrx5mfiWCnWzbP1xAoVTYAd2J3uFgtb/) +- https://bafybeidiki7lac24gv6xgw65hvxrrqfpk2bdgjsj63rl2uuf5yijufqj6q.ipfs.dweb.link/ +- https://bafybeidiki7lac24gv6xgw65hvxrrqfpk2bdgjsj63rl2uuf5yijufqj6q.ipfs.cf-ipfs.com/ +- [ipfs://QmVMsr8YpWVo2SyEuQwKBNaBDKv7uZcZkN63VTDrMgfsX1/](ipfs://QmVMsr8YpWVo2SyEuQwKBNaBDKv7uZcZkN63VTDrMgfsX1/) -## 5.61.0 (2024-12-04) - - -### Features - -* **web:** add privacy choices nav and modal (#13703) 87a958d -* **web:** add the range chart into the creation flow (#14008) a0c8c02 -* **web:** reset confirmation modal for positions (#14080) 3485968 -* **web:** support v4 tick data in range input (#14040) 68211cc +### 5.61.1 (2024-12-06) ### Bug Fixes -* **web:** [1/n] remove react-spring usage (AnimatedDropdown) (#13891) 9af3573 -* **web:** [2/n] remove react-spring usage (modal) (#13904) b9a0890 -* **web:** android keyboard issue (#14266) 7b9834c -* **web:** bunch of v4 ui polish (#14117) d724fcb -* **web:** fix newly created v2 pairs (#14061) 5b30b6f -* **web:** fix refetching and caching issues due to the deadline (#14155) 46856f6 -* **web:** handle gql refetch balance for unknown tx types (#14060) 7413d91 -* **web:** hotfixing v4 fixes (#14244) f3c9411 -* **web:** increase size of pointer target for the filter dropdown (#14068) 2b36a2c -* **web:** op usdc sends (#14205) ecfe6df -* **web:** remove nondefault list tokens from common bases (#14203) 42d8203 -* **web:** remove top pools from mweb table (#14053) fa9080a -* **web:** sticky left column create pool (#14122) dcafb2e -* **web:** tiny v4 deposit polish (#14059) 002273a -* **web:** token protection polishes (#14038) fe36c5d -* **web:** update support articles for v4 and lp redesign (#14257) ec4508b -* **web:** v2 loading state (#14050) 79bed9c -* **web:** v4 LP flow cherrypicks (#14196) 0f2dc25 - - -### Continuous Integration - -* **web:** update sitemaps ef443f0 - - -### Tests - -* **web:** fix wallet connection test (#14047) 123862c +* **web): Revert "fix(web:** [2/n] remove react-spring usage (modal) (#13904)" (#14314) 28dfe99 diff --git a/VERSION b/VERSION index bd5bf421e0e..ca64143e268 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -web/5.61.0 \ No newline at end of file +web/5.61.1 \ No newline at end of file diff --git a/apps/web/src/components/AccountDrawer/MiniPortfolio/Activity/CancelOrdersDialog.tsx b/apps/web/src/components/AccountDrawer/MiniPortfolio/Activity/CancelOrdersDialog.tsx index 85b7ad3d20f..d64c1d45a82 100644 --- a/apps/web/src/components/AccountDrawer/MiniPortfolio/Activity/CancelOrdersDialog.tsx +++ b/apps/web/src/components/AccountDrawer/MiniPortfolio/Activity/CancelOrdersDialog.tsx @@ -3,6 +3,7 @@ import { ConfirmedIcon, LogoContainer, SubmittedIcon } from 'components/AccountD import { useCancelOrdersGasEstimate } from 'components/AccountDrawer/MiniPortfolio/Activity/hooks' import { Container, Dialog, DialogButtonType, DialogProps } from 'components/Dialog/Dialog' import { LoaderV3 } from 'components/Icons/LoadingSpinner' +import Modal from 'components/Modal' import { GetHelpHeader } from 'components/Modal/GetHelpHeader' import Column from 'components/deprecated/Column' import Row from 'components/deprecated/Row' @@ -11,7 +12,6 @@ import styled, { useTheme } from 'lib/styled-components' import { Slash } from 'react-feather' import { SignatureType, UniswapXOrderDetails } from 'state/signatures/types' import { ExternalLink, ThemedText } from 'theme/components' -import { AdaptiveWebModal } from 'ui/src' import { nativeOnChain } from 'uniswap/src/constants/tokens' import { UniverseChainId } from 'uniswap/src/features/chains/types' import { useUSDCValue } from 'uniswap/src/features/transactions/swap/hooks/useUSDCPrice' @@ -100,7 +100,7 @@ export function CancelOrdersDialog( (cancelState === CancellationState.CANCELLED || cancelState === CancellationState.PENDING_CONFIRMATION) && cancelTxHash return ( - + {icon} @@ -122,7 +122,7 @@ export function CancelOrdersDialog( )} - + ) } else if (cancelState === CancellationState.REVIEWING_CANCELLATION) { return ( diff --git a/apps/web/src/components/AccountDrawer/MiniPortfolio/Activity/OffchainActivityModal.tsx b/apps/web/src/components/AccountDrawer/MiniPortfolio/Activity/OffchainActivityModal.tsx index 4a6ef87ec47..a80989086a2 100644 --- a/apps/web/src/components/AccountDrawer/MiniPortfolio/Activity/OffchainActivityModal.tsx +++ b/apps/web/src/components/AccountDrawer/MiniPortfolio/Activity/OffchainActivityModal.tsx @@ -17,6 +17,7 @@ import { formatTimestamp } from 'components/AccountDrawer/MiniPortfolio/formatTi import { ButtonEmphasis, ButtonSize, ThemeButton } from 'components/Button/buttons' import { OpacityHoverState } from 'components/Common/styles' import AlertTriangleFilled from 'components/Icons/AlertTriangleFilled' +import Modal from 'components/Modal' import Column, { AutoColumn } from 'components/deprecated/Column' import Row from 'components/deprecated/Row' import { LimitDisclaimer } from 'components/swap/LimitDisclaimer' @@ -32,7 +33,6 @@ import { useOrder } from 'state/signatures/hooks' import { SignatureType, UniswapXOrderDetails } from 'state/signatures/types' import { Divider, ThemedText } from 'theme/components' import { UniswapXOrderStatus } from 'types/uniswapx' -import { AdaptiveWebModal } from 'ui/src' import { UniverseChainId } from 'uniswap/src/features/chains/types' import { InterfaceEventNameLocal } from 'uniswap/src/features/telemetry/constants' import { sendAnalyticsEvent } from 'uniswap/src/features/telemetry/send' @@ -382,11 +382,10 @@ export function OffchainActivityModal() { cancelTxHash={cancelTxHash} /> )} - @@ -405,7 +404,7 @@ export function OffchainActivityModal() { /> )} - + ) } diff --git a/apps/web/src/components/AccountDrawer/MiniPortfolio/Activity/__snapshots__/CancelOrdersDialog.test.tsx.snap b/apps/web/src/components/AccountDrawer/MiniPortfolio/Activity/__snapshots__/CancelOrdersDialog.test.tsx.snap index f18d844fb17..a5a05590a5e 100644 --- a/apps/web/src/components/AccountDrawer/MiniPortfolio/Activity/__snapshots__/CancelOrdersDialog.test.tsx.snap +++ b/apps/web/src/components/AccountDrawer/MiniPortfolio/Activity/__snapshots__/CancelOrdersDialog.test.tsx.snap @@ -1,13 +1,13 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`CancelOrdersDialog should render limit order text 1`] = ` -.c6 { +.c8 { box-sizing: border-box; margin: 0; min-width: 0; } -.c7 { +.c9 { width: 100%; display: -webkit-box; display: -webkit-flex; @@ -25,7 +25,7 @@ exports[`CancelOrdersDialog should render limit order text 1`] = ` gap: 4px; } -.c17 { +.c19 { width: 100%; display: -webkit-box; display: -webkit-flex; @@ -42,7 +42,7 @@ exports[`CancelOrdersDialog should render limit order text 1`] = ` justify-content: flex-start; } -.c22 { +.c24 { width: 100%; display: -webkit-box; display: -webkit-flex; @@ -60,14 +60,14 @@ exports[`CancelOrdersDialog should render limit order text 1`] = ` gap: 12px; } -.c19 { +.c21 { -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; } -.c12 { +.c14 { color: #222222; -webkit-letter-spacing: -0.01em; -moz-letter-spacing: -0.01em; @@ -75,7 +75,7 @@ exports[`CancelOrdersDialog should render limit order text 1`] = ` letter-spacing: -0.01em; } -.c14 { +.c16 { color: #7D7D7D; -webkit-letter-spacing: -0.01em; -moz-letter-spacing: -0.01em; @@ -83,7 +83,7 @@ exports[`CancelOrdersDialog should render limit order text 1`] = ` letter-spacing: -0.01em; } -.c8 { +.c10 { color: #222222; cursor: pointer; -webkit-text-decoration: none; @@ -93,15 +93,15 @@ exports[`CancelOrdersDialog should render limit order text 1`] = ` transition-duration: 125ms; } -.c8:hover { +.c10:hover { opacity: 0.6; } -.c8:active { +.c10:active { opacity: 0.4; } -.c4 { +.c6 { -webkit-text-decoration: none; text-decoration: none; cursor: pointer; @@ -112,15 +112,15 @@ exports[`CancelOrdersDialog should render limit order text 1`] = ` font-weight: 500; } -.c4:hover { +.c6:hover { opacity: 0.6; } -.c4:active { +.c6:active { opacity: 0.4; } -.c26 { +.c28 { background-color: transparent; bottom: 0; border-radius: inherit; @@ -134,7 +134,7 @@ exports[`CancelOrdersDialog should render limit order text 1`] = ` width: 100%; } -.c23 { +.c25 { -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; @@ -169,30 +169,30 @@ exports[`CancelOrdersDialog should render limit order text 1`] = ` user-select: none; } -.c23:active .c25 { +.c25:active .c27 { background-color: #B8C0DC3d; } -.c23:focus .c25 { +.c25:focus .c27 { background-color: #B8C0DC3d; } -.c23:hover .c25 { +.c25:hover .c27 { background-color: #98A1C014; } -.c23:disabled { +.c25:disabled { cursor: default; opacity: 0.6; } -.c23:disabled:active .c25, -.c23:disabled:focus .c25, -.c23:disabled:hover .c25 { +.c25:disabled:active .c27, +.c25:disabled:focus .c27, +.c25:disabled:hover .c27 { background-color: transparent; } -.c27 { +.c29 { -webkit-align-items: center; -webkit-box-align: center; -ms-flex-align: center; @@ -227,30 +227,73 @@ exports[`CancelOrdersDialog should render limit order text 1`] = ` user-select: none; } -.c27:active .c25 { +.c29:active .c27 { background-color: #B8C0DC3d; } -.c27:focus .c25 { +.c29:focus .c27 { background-color: #B8C0DC3d; } -.c27:hover .c25 { +.c29:hover .c27 { background-color: #98A1C014; } -.c27:disabled { +.c29:disabled { cursor: default; opacity: 0.6; } -.c27:disabled:active .c25, -.c27:disabled:focus .c25, -.c27:disabled:hover .c25 { +.c29:disabled:active .c27, +.c29:disabled:focus .c27, +.c29:disabled:hover .c27 { background-color: transparent; } -.c5 { +.c0 { + will-change: transform,opacity; +} + +.c0[data-reach-dialog-overlay] { + z-index: 1040; + background-color: transparent; + overflow: hidden; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-align-items: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + overflow-y: scroll; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + background-color: rgba(0,0,0,0.60); +} + +.c1 { + overflow-y: auto; +} + +.c1[data-reach-dialog-content] { + margin: auto; + background-color: #F9F9F9; + border: 1px solid #22222212; + box-shadow: 8px 12px 20px rgba(51,53,72,0.04),4px 6px 12px rgba(51,53,72,0.02),4px 4px 8px rgba(51,53,72,0.04); + padding: 0px; + width: 50vw; + overflow-y: auto; + overflow-x: hidden; + max-height: 90vh; + max-width: 420px; + display: inline-table; + border-radius: 20px; +} + +.c7 { width: -webkit-fit-content; width: -moz-fit-content; width: fit-content; @@ -264,17 +307,17 @@ exports[`CancelOrdersDialog should render limit order text 1`] = ` stroke: none; } -.c5:hover { +.c7:hover { background: #22222212; color: #222222; opacity: unset; } -.c5:hover path { +.c7:hover path { fill: #222222; } -.c0 { +.c2 { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; @@ -289,7 +332,7 @@ exports[`CancelOrdersDialog should render limit order text 1`] = ` gap: 24px; } -.c9 { +.c11 { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; @@ -304,7 +347,7 @@ exports[`CancelOrdersDialog should render limit order text 1`] = ` gap: 16px; } -.c11 { +.c13 { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; @@ -319,7 +362,7 @@ exports[`CancelOrdersDialog should render limit order text 1`] = ` gap: 8px; } -.c16 { +.c18 { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; @@ -333,7 +376,7 @@ exports[`CancelOrdersDialog should render limit order text 1`] = ` justify-content: flex-start; } -.c1 { +.c3 { width: 100%; -webkit-align-items: center; -webkit-box-align: center; @@ -341,14 +384,15 @@ exports[`CancelOrdersDialog should render limit order text 1`] = ` align-items: center; } -.c2 { +.c4 { background-color: #FFFFFF; - border-radius: 16px; + outline: 1px solid #22222212; + border-radius: 20px; padding: 16px 24px 24px 24px; width: 100%; } -.c10 { +.c12 { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; @@ -367,14 +411,14 @@ exports[`CancelOrdersDialog should render limit order text 1`] = ` border-radius: 12px; } -.c13 { +.c15 { font-size: 24px; line-height: 32px; text-align: center; font-weight: 500; } -.c15 { +.c17 { font-size: 16px; font-weight: 500; line-height: 24px; @@ -385,7 +429,7 @@ exports[`CancelOrdersDialog should render limit order text 1`] = ` text-align: center; } -.c24 { +.c26 { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; @@ -399,7 +443,7 @@ exports[`CancelOrdersDialog should render limit order text 1`] = ` border-radius: 12px; } -.c28 { +.c30 { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; @@ -413,32 +457,56 @@ exports[`CancelOrdersDialog should render limit order text 1`] = ` border-radius: 12px; } -.c3 { +.c5 { padding: 4px 0px; } -.c20 { +.c22 { cursor: auto; color: #7D7D7D; } -.c21 { +.c23 { text-align: right; overflow-wrap: break-word; } -.c18 { +.c20 { border-top: 1px solid #22222212; margin-top: 16px; padding-top: 16px; } +@media screen and (max-width:640px) { + .c0[data-reach-dialog-overlay] { + -webkit-align-items: flex-end; + -webkit-box-align: flex-end; + -ms-flex-align: flex-end; + align-items: flex-end; + } +} + +@media screen and (max-width:768px) { + .c1[data-reach-dialog-content] { + width: 65vw; + } +} + +@media screen and (max-width:640px) { + .c1[data-reach-dialog-content] { + margin: 0; + width: 100vw; + border-radius: 20px; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + } +} +