William O'Beirne 371e6e327c Wallet Decrypt Redesign (#677)
* Reorganize files to better match other components.

* Initial UI for wallet buttons.

* Fix leftover rebase conflict.

* Wallet selection, styling, mobile handling.

* Initial work on animations.

* Adjusted animations.

* Adjust wallet unlock forms to be more uniform. Fix view address saying 'unlock'

* Adjust tooltips.

* Fix embedded decrypt components.

* Cover whole sign msg form with decrypt.

* Give deploy contract a better unlock treatment like sign msg.

* Reset decrypt component on hide / show

* Unused var

* Fix tooltip hover.

* Fix hover lift.

* Make spacing better on mobile.

* Back button mobile handling.

* Redesign mobile button icons. Prevent clicking through when clicking on icons.

* TSCheck fixes.

* Attempt to unlock MetaMask onClick, and provide existing flow with notification when unlock fails.

* Get rid of outline.

* Remove decrypt min height. Make view only textarea.

* Add change wallet buttons to deploy contract and sign msg.

* Standardize
2018-01-01 13:46:28 -06:00

124 lines
1.9 KiB
SCSS

@import 'common/sass/variables';
@import 'common/sass/mixins';
$speed: 500ms;
@keyframes decrypt-enter {
0% {
opacity: 0;
transform: translateY(8px);
}
100% {
opacity: 1;
transform: translateY(0px);
}
}
@mixin decrypt-title {
text-align: center;
line-height: 1;
margin: 0 0 30px;
font-weight: normal;
animation: decrypt-enter $speed ease 1;
}
.WalletDecrypt {
position: relative;
&-wallets {
&-title {
@include decrypt-title;
}
&-row {
display: flex;
justify-content: center;
flex-wrap: wrap;
margin-bottom: 10px;
@media screen and (max-width: $screen-xs) {
margin: 0;
}
&:last-child {
margin: 0;
}
}
}
&-decrypt {
position: relative;
text-align: center;
padding-bottom: $space;
&-back {
@include reset-button;
position: absolute;
top: 0;
left: 0;
line-height: $font-size-large;
opacity: 0.4;
transition: opacity 120ms ease, transform 120ms ease;
@media (max-width: $screen-md) {
top: auto;
bottom: -10px;
left: 50%;
transform: translateX(-50%);
}
&:hover,
&:focus {
opacity: 0.8;
}
&:active {
outline: none;
opacity: 1;
}
.fa {
position: relative;
top: -2px;
font-size: 11px;
}
}
&-title {
@include decrypt-title;
}
&-form {
max-width: 360px;
margin: 0 auto;
}
}
}
// Animation between two slides
.DecryptContent {
&-enter {
opacity: 0;
transition: opacity $speed * .25 ease $speed * .125;
&-active {
opacity: 1;
}
}
&-exit {
position: absolute;
top: 0;
left: 0;
width: 100%;
opacity: 1;
transition: opacity $speed * .25 ease;
pointer-events: none;
&-active {
opacity: 0;
}
}
}