design(collectEmail): improve animations and layout

This commit is contained in:
Jason Dreyzehner 2016-10-04 22:21:43 -04:00
parent 3fbb626141
commit 0c0ccbd105
3 changed files with 51 additions and 34 deletions

View File

@ -1,33 +1,25 @@
<ion-view ng-controller="collectEmailController" id="onboarding-collect-email" class="onboarding"> <ion-view ng-controller="collectEmailController" id="onboarding-collect-email" class="onboarding">
<ion-content> <ion-content>
<div class="row"> <div class="success-message">
<img src="img/onboarding-success.svg" class="col col-75" id="success-image" /> <img src="img/onboarding-success.svg" class="col col-75" id="success-image" />
</div> <h3 translate>Wallet Created</h3>
<div class="row text-center">
<h3 translate class="col">Wallet Created</h3>
</div> </div>
<div id="collect-email"> <div id="collect-email">
<div ng-if="!confirmation"> <div ng-if="!confirmation">
<div class="row text-center"> <span translate class="prompt">Where would you like to receive email notifications about payments?</span>
<p translate class="col col-75">Where would you like to receive email notifications about payments?</p> <form id="email-form" name="emailForm" ng-submit="confirm(emailForm)" novalidate>
</div> <label class="item item-input">
<form name="emailForm" ng-submit="confirm(emailForm)" novalidate>
<label class="item item-input col col-75">
<i class="icon ion-arrow-right-c"></i> <i class="icon ion-arrow-right-c"></i>
<input type="email" id="email" name="email" ng-model="email" placeholder="satoshi@example.com" required></input> <input type="email" id="email-input" name="email" ng-model="email" placeholder="satoshi@example.com" required></input>
</label> </label>
</form> </form>
<ion-list id="news-updates" class="row"> <ion-list id="news-updates">
<ion-checkbox ng-model="data.accept" class="col col-80"><span translate>Get news and updates from Bitpay</span></ion-checkbox> <ion-checkbox ng-model="data.accept"><span translate>Get news and updates from BitPay</span></ion-checkbox>
</ion-list> </ion-list>
</div> </div>
<div ng-if="confirmation"> <div ng-if="confirmation">
<div class="row text-center"> <p translate class="confirm">Is this email address correct?</p>
<p translate class="col col-75">Is this email address correct?</p> <p class="user-email">{{email}}</p>
</div>
<div class="row text-center">
<p class="col col-75">{{email}}</p>
</div>
<div class="row"> <div class="row">
<div class="col col-50"> <div class="col col-50">
<button class="button button-block button-stable" ng-click="cancel()"> <button class="button button-block button-stable" ng-click="cancel()">

View File

@ -10,6 +10,7 @@ $mid-gray: #667;
$light-gray: #9b9bab; $light-gray: #9b9bab;
$subtle-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25); $subtle-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
$hovering-box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.3); $hovering-box-shadow: 0px 6px 12px 0px rgba(0, 0, 0, 0.3);
$visible-radius: 6px;
/* Set ionic variables */ /* Set ionic variables */
@ -20,7 +21,7 @@ $font-size-small: 12px;
$font-family-sans-serif: $roboto; $font-family-sans-serif: $roboto;
$font-family-light-sans-serif: $roboto-light; $font-family-light-sans-serif: $roboto-light;
$button-border-radius: 6px; $button-border-radius: $visible-radius;
$button-height: 52px; $button-height: 52px;
$button-padding: 16px; $button-padding: 16px;

View File

@ -1,3 +1,5 @@
$relish-success: 1.3s;
#onboarding-collect-email { #onboarding-collect-email {
background: rgb(17, 209, 166); background: rgb(17, 209, 166);
.overlay { .overlay {
@ -13,33 +15,46 @@
margin-top: 0; margin-top: 0;
height: 101%; height: 101%;
} }
.scroll { .success-message {
height: 100%; top: 30vh;
position: relative;
animation-name: slideUp;
animation-iteration-count: 1;
animation-timing-function: ease-in;
animation-duration: .5s;
animation-delay: $relish-success;
animation-fill-mode: forwards;
} }
#success-image { #success-image {
margin-top: 4rem; width: 8rem;
height: 10rem; margin: 0 auto;
}
.col {
margin-top: 1rem;
margin-bottom: 1rem;
} }
.collect-overlay { .collect-overlay {
animation-name: opacity; animation-name: opacity;
animation-iteration-count: 1; animation-iteration-count: 1;
animation-timing-function: ease-in; animation-timing-function: ease-in;
animation-duration: .2s; animation-duration: .2s;
animation-delay: .8s; animation-delay: $relish-success;
animation-fill-mode: forwards; animation-fill-mode: forwards;
opacity: 0; opacity: 0;
button { button {
position: absolute; position: absolute;
right: 11px; right: 0;
} }
} }
.collect-overlay{ .collect-overlay {
top:-1px; top:-1px;
} }
.prompt {
padding: 2rem 2rem 1rem;
display: block;
}
#email-form {
margin: 0 2rem 1rem;
}
#email-input {
border-radius: $visible-radius;
}
#collect-email { #collect-email {
opacity: 1; opacity: 1;
background: #fff; background: #fff;
@ -49,7 +64,7 @@
animation-iteration-count: 1; animation-iteration-count: 1;
animation-timing-function: ease-in; animation-timing-function: ease-in;
animation-duration: .4s; animation-duration: .4s;
animation-delay: 1s; animation-delay: $relish-success + .2s;
position: absolute; position: absolute;
bottom: -14rem; bottom: -14rem;
animation-fill-mode: forwards; animation-fill-mode: forwards;
@ -176,3 +191,12 @@
opacity: 1; opacity: 1;
} }
} }
@keyframes slideUp {
0% {
top: 30vh;
}
100% {
top: 10vh;
}
}