From c0b88072bf2082715f80f44e161381f1b7c4f1a7 Mon Sep 17 00:00:00 2001 From: Ivan Diaz Date: Sat, 10 Oct 2015 17:27:01 -0300 Subject: [PATCH] [Ivan Diaz] - Add widget Animation --- .../main-home/main-home-page-login-widget.js | 81 +++++++++++++++---- src/app/main/main-home/main-home-page.scss | 15 +++- src/core-components/widget.scss | 2 + 3 files changed, 83 insertions(+), 15 deletions(-) diff --git a/src/app/main/main-home/main-home-page-login-widget.js b/src/app/main/main-home/main-home-page-login-widget.js index 70eac3db..56867fe8 100644 --- a/src/app/main/main-home/main-home-page-login-widget.js +++ b/src/app/main/main-home/main-home-page-login-widget.js @@ -11,27 +11,80 @@ import Input from 'core-components/input'; import Button from 'core-components/button'; var MainHomePageLoginWidget = React.createClass({ + + getInitialState() { + return { + showed: 'login' + }; + }, + + getDefaultAnimation() { + return { + rotateY: -90 + }; + }, + render() { return ( - - {({animation}) => ( - -
-
- - -
- -
- -
- )} + + {(animation) => { + return ( +
+ {this.renderLogin(animation)} + {this.renderPasswordRecovery(animation)} +
+ ) + }}
); }, - handleSubmit(formState) { + renderLogin(variants) { + var loginStyle = { + transform: `rotateY(${(variants.rotateY) ? variants.rotateY: 0}deg)` + }; + + return ( + +
+
+ + +
+ +
+ +
+ ); + }, + + renderPasswordRecovery(variants) { + var passwordRecoveryStyle = { + transform: `rotateY(${-180+variants.rotateY}deg)` + }; + + return ( + +
+
+ +
+ +
+
+ ); + }, + + handleLoginFormSubmit(formState) { UserActions.login(formState.email, formState.password); + }, + + handleForgetPasswordClick() { + this.setState({ + showed: 'password' + }); } }); diff --git a/src/app/main/main-home/main-home-page.scss b/src/app/main/main-home/main-home-page.scss index df8c4f56..21bfc9bc 100644 --- a/src/app/main/main-home/main-home-page.scss +++ b/src/app/main/main-home/main-home-page.scss @@ -1,8 +1,21 @@ .main-home-page { - &--widget { + &--widget-container { + position: relative; display: inline-block; margin: 35px auto 0; height: 327px; + width: 324px; + } + + &--widget { + display: inline-block; + backface-visibility: hidden; + position: absolute; + left: 0; + } + + &--password-widget { +// backface-visibility: visible; } } \ No newline at end of file diff --git a/src/core-components/widget.scss b/src/core-components/widget.scss index 6877ca63..6e312f48 100644 --- a/src/core-components/widget.scss +++ b/src/core-components/widget.scss @@ -6,6 +6,8 @@ text-align: center; padding: 20px; width: 324px; + min-height: 327px; + &--title { text-transform: uppercase;