1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-25 11:28:51 +01:00
metamask-extension/ui/pages/swaps/build-quote/index.scss
Daniel c3b79bb358
Show custom tokens in Swaps, add a custom token in Swaps (#11200)
* Show custom tokens in Swaps

* Add messages for adding a custom token in Swaps

* Add the first version of importing custom tokens in swaps

* Fix lint rules

* Create a new component: ImportToken

* Remove a pointer cursor from regular heading

* Fix a CSS issue for tokens with long names

* Update a comment

* Don’t return a custom token if it doesn’t have symbol or decimals

* Only search by contract address if nothing was found

* Track “Token Imported” event

* Fix unit tests

* Import tracking for “Token Imported”, increase token icon font size

* Disable token import for Source Token

* Update logic and content for notifications, update tests

* Do not hide a dropdown placeholder on click, so a user can click on a link

* Update a key name

* Update styling for the “danger” type notification in Swaps

* Show either a warning or danger notification based on token verification occurences

* Remove testnets from SWAPS_CHAINID_DEFAULT_BLOCK_EXPLORER_URL_MAP

* Use the “shouldSearchForImports” prop

* Create a new function for handling token import: “onOpenImportTokenModalClick”

* Filter token duplicities before iterating over tokens

* Use “address” instead of “symbol” for checking uniqueness

* Trigger Build

* Use a new API (/token) to get token data for importing in Swaps

* Temporarily decrese Jest threshold for functions
2021-06-03 13:38:37 -02:30

171 lines
2.8 KiB
SCSS

.build-quote {
display: flex;
flex-flow: column;
align-items: center;
flex: 1;
width: 100%;
padding-top: 4px;
&__content {
display: flex;
height: 100%;
flex-direction: column;
padding-left: 24px;
padding-right: 24px;
}
&__content {
display: flex;
}
&__dropdown-swap-to-header {
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
margin-top: 0;
margin-bottom: 12px;
}
&__dropdown-input-pair-header {
display: flex;
justify-content: space-between;
align-items: flex-end;
width: 100%;
margin-bottom: 12px;
flex: 0.5 1 auto;
max-height: 56px;
}
&__title,
&__input-label {
@include H5;
font-weight: bold;
color: $Black-100;
margin-top: 3px;
}
&__swap-arrows-row {
width: 100%;
display: flex;
justify-content: flex-end;
padding-right: 16px;
padding-top: 12px;
height: 24px;
position: relative;
}
&__swap-arrows {
flex: 0 0 auto;
height: 16px;
width: 12px;
cursor: pointer;
background: unset;
}
&__max-button {
@include H7;
color: $Blue-500;
cursor: pointer;
}
&__balance-message {
@include H7;
width: 100%;
color: $Grey-500;
margin-top: 4px;
display: flex;
flex-flow: column;
height: 18px;
&--error {
div:first-of-type {
font-weight: bold;
color: $Black-100;
}
div:last-of-type {
font-weight: normal;
color: $Grey-500;
}
}
}
&__slippage-buttons-container {
display: flex;
justify-content: center;
align-items: center;
margin-top: 32px;
}
&__open-dropdown,
&__open-to-dropdown {
max-height: 330px;
box-shadow: 0 0 14px rgba(0, 0, 0, 0.18);
position: absolute;
width: 100%;
}
.dropdown-input-pair {
.searchable-item-list {
&__item--add-token {
display: none;
}
}
&__to {
.searchable-item-list {
&__item--add-token {
display: flex;
}
}
}
}
&__open-to-dropdown {
max-height: 194px;
@media screen and (min-width: 576px) {
max-height: 276px;
}
}
&__token-message {
@include H7;
width: 100%;
color: $Grey-500;
margin-top: 4px;
.info-tooltip {
display: inline-block;
}
}
&__token-etherscan-link {
color: $Blue-500;
cursor: pointer;
}
&__token-tooltip-container {
// Needed to override the style property added by the react-tippy library
display: flex !important;
}
&__bold {
font-weight: bold;
}
&__underline {
text-decoration: underline;
}
/* Prevents the swaps "Swap to" field from overflowing */
.dropdown-input-pair__to .dropdown-search-list {
width: 100%;
}
}