diff --git a/src/assets/images/ajax-loader.gif b/src/assets/images/ajax-loader.gif deleted file mode 100644 index c35c951..0000000 Binary files a/src/assets/images/ajax-loader.gif and /dev/null differ diff --git a/src/js/components/inviteForm.js b/src/js/components/inviteForm.js index 768b235..07317ea 100644 --- a/src/js/components/inviteForm.js +++ b/src/js/components/inviteForm.js @@ -5,7 +5,7 @@ var React = require('react'); var classSet = require('classnames'); var api = require('../api'); - +var Loader = require('./loader'); module.exports = React.createClass({ getInitialState() { return { @@ -99,11 +99,11 @@ module.exports = React.createClass({ disabled={this.state.error || this.state.submitted}> ⏎ - - +
+ +
{feedbackMessage} - ) + ); } }); diff --git a/src/js/components/loader.js b/src/js/components/loader.js new file mode 100644 index 0000000..80f58c2 --- /dev/null +++ b/src/js/components/loader.js @@ -0,0 +1,12 @@ +const React = require('react'); + +module.exports = function Loader() { + return ( +
+
+
+
+
+
+ ); +}; diff --git a/src/js/components/membershipForm.js b/src/js/components/membershipForm.js index 253bfb8..ceb30be 100644 --- a/src/js/components/membershipForm.js +++ b/src/js/components/membershipForm.js @@ -18,6 +18,14 @@ module.exports = React.createClass({ } return (
+ + + +

Maksu ja rekisteröityminen onnistui.

Tervetuloa Koodiklinikka ry:n jäseneksi!

diff --git a/src/js/components/membershipInfoForm.js b/src/js/components/membershipInfoForm.js index 67fe7db..f9774a4 100644 --- a/src/js/components/membershipInfoForm.js +++ b/src/js/components/membershipInfoForm.js @@ -4,9 +4,10 @@ var _ = require('lodash'); var request = require('axios'); var React = require('react'); var classSet = require('classnames'); +var StripeCheckout = require('react-stripe-checkout').default; var api = require('../api'); -var StripeCheckout = require('react-stripe-checkout').default; +var Loader = require('./loader'); var config = require('../../config.js')(); var fieldNameTranslations = { @@ -152,9 +153,16 @@ module.exports = React.createClass({ ); }); - + if (this.state.sending) { + return ( +
+ +
+ ); + } return (
+

Liity jäseneksi

{inputFields} {this.state.error && ( diff --git a/src/styles/_loader.styl b/src/styles/_loader.styl new file mode 100644 index 0000000..71eb8f5 --- /dev/null +++ b/src/styles/_loader.styl @@ -0,0 +1,55 @@ +.sk-folding-cube + margin auto + width 100% + height 100% + position relative + transform rotateZ(45deg) + +.sk-folding-cube .sk-cube + float left + width 50% + height 50% + position relative + transform scale(1.1) + +.sk-folding-cube .sk-cube:before + content '' + position absolute + top 0 + left 0 + width 100% + height 100% + background-color linkColor + animation sk-foldCubeAngle 2.4s infinite linear both + transform-origin 100% 100% + +.sk-folding-cube .sk-cube2 + transform scale(1.1) rotateZ(90deg) + +.sk-folding-cube .sk-cube3 + transform scale(1.1) rotateZ(180deg) + +.sk-folding-cube .sk-cube4 + transform scale(1.1) rotateZ(270deg) + +.sk-folding-cube .sk-cube2:before + animation-delay 0.3s + +.sk-folding-cube .sk-cube3:before + animation-delay 0.6s + +.sk-folding-cube .sk-cube4:before + animation-delay 0.9s + +@keyframes sk-foldCubeAngle + 0%, 10% + transform perspective(140px) rotateX(-180deg) + opacity 0 + 25%, 75% + transform perspective(140px) rotateX(0deg) + opacity 1 + 90%, 100% + transform perspective(140px) rotateY(180deg) + opacity 0 + + diff --git a/src/styles/style.styl b/src/styles/style.styl index d3a67f0..215a882 100644 --- a/src/styles/style.styl +++ b/src/styles/style.styl @@ -6,6 +6,7 @@ footerHeight = 50px @require '_input' @require '_button' @require '_header' +@require '_loader' body, html margin 0 @@ -112,28 +113,16 @@ section:first-child &:first-child margin-top 0 -.loader - background transparent url('../images/ajax-loader.gif') no-repeat center center - width 28px - height 28px - .form .btn background linkColor border-bottom 2px solid #117280 color rgba(255, 255, 255, 0.9) - .loader - display none &.sending .btn display none - .loader + .invite-form__loader display block - margin-left auto - margin-right auto - width 28px - height 28px - .invite-form position relative .btn @@ -146,15 +135,13 @@ section:first-child color rgba(255, 255, 255, 0.5) &:active border-bottom 0 - .loader + .invite-form__loader + display none + width 20px + height 20px position absolute - right 9px - top 9px - &.sending - .loader - display block - width 28px - height 28px + right 14px + top 14px .membership-form .input @@ -162,6 +149,11 @@ section:first-child .btn margin-top 12px +.membership-form__loader + width 70px + height 70px + margin auto + .stripe-form margin 20px 0px .name @@ -353,11 +345,12 @@ footer .bread-img background url('../images/hp3_bw.jpg') - background-size 120% - background-position-y 80% - border-radius 0px + background-size cover + border-radius 160px opacity 0.85 + width 320px height 320px + margin auto @media screen and (max-width: 700px) .bread-img diff --git a/src/yhdistys.jade b/src/yhdistys.jade index bc097a9..f7e441a 100644 --- a/src/yhdistys.jade +++ b/src/yhdistys.jade @@ -32,7 +32,6 @@ block content .row .bread .column.column1-2 - h3 Liity jäseneksi #membership-form.form .column.column1-2