]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git/blobdiff - cmd/web/js/signup.jsx
Upgrade ReactJS. EC6 import modules.
[perso/Immae/Projets/Cryptomonnaies/Cryptoportfolio/Front.git] / cmd / web / js / signup.jsx
index 404a8281dccd75fefabbb6d1d80a79fd4e84bd26..affa18ea3189a6f849f908736ace7122d32eac8b 100644 (file)
@@ -1,56 +1,68 @@
-var Api                = require('./api.js').Api;
-var App                = require('./app.js');
-var classNames         = require('classnames');
-
-module.exports.SignupForm = React.createClass({
-  getInitialState: function() {
-    return {'hideMsg': true, 'msg': '', 'msgOk': false, 'password': '', 'email': ''};
-  },
-  handleSubmit: function(e) {
-    Api.Call('SIGNUP',
-             {
-            'password': this.state.password,
-            'email': this.state.email
-          },
-      function(err, status, data) {
-        if (err) {
-          console.error(err, data);
-          this.displayMessage(App.errorCodeToMessage(err.code), false);
-          return;
-        }
-
-        this.displayMessage('Thank You. Your account is being confirmed. Check your mailbox soon', true);
-        this.props.onSuccess(data.token);
-
-      }.bind(this));
+import Api from './api.js';
+import App from './app.js';
+import classNames from 'classnames';
+import React from 'react';
+
+class SignupForm extends React.Component {
+  constructor(props) {
+    super(props);
+    this.state = {'hideMsg': true, 'msg': '', 'msgOk': false, 'password': '', 'email': ''};
+  }
+
+  handleSubmit = (e) => {
+    Api.Call(
+    'SIGNUP',
+    {
+      'password': this.state.password,
+      'email': this.state.email
+    },
+    function(err, status, data) {
+      if (err) {
+        console.error(err, data);
+        this.displayMessage(App.errorCodeToMessage(err.code), false);
+        return;
+      }
+
+      this.displayMessage('Thank You. Your account is being confirmed. Check your mailbox soon', true);
+      this.props.onSuccess(data.token);
+
+    }.bind(this)
+);
     e.preventDefault();
-  },
-  handlePasswordChange: function(event) {
+  }
+
+  handlePasswordChange = (event) => {
     this.setState({'password': event.target.value});
-  },
-  handleEmailChange: function(event) {
+  }
+
+  handleEmailChange = (event) => {
     this.setState({'email': event.target.value});
-  },
-  hideMessage: function() {
+  }
+
+  hideMessage = () => {
     this.setState({'hideMsg': true});
-  },
-  displayMessage: function(msg, ok) {
+  }
+
+  displayMessage = (msg, ok) => {
     this.setState({'msg': msg, 'msgOk': ok, 'hideMsg': false});
-  },
-  render: function() {
+  }
+
+  render = () => {
     var cName = classNames('form-message', {'hidden': this.state.hideMsg, 'message-ok': this.state.msgOk});
     return (
-        <div className='row sign-in'>
-          <div className='offset-4 col-4 col-xs-offset-1 col-xs-10 text-center'>
-            <form role='form' onSubmit={this.handleSubmit}>
-              <input className='form-control' type='email' placeholder='email' onChange={this.handleEmailChange} />
-              <input className='form-control' type='password' placeholder='password' onChange={this.handlePasswordChange} />
-              <input className='form-control submit' type='submit' value='Sign Up' />
-              <div className={cName} ref='message'>{this.state.msg}</div>
-              <a href='#' onClick={App.onInternNavigation.bind(this, '/signin')}><u>Sign In</u></a>
+        <div className="row sign-in">
+          <div className="offset-4 col-4 col-xs-offset-1 col-xs-10 text-center">
+            <form role="form" onSubmit={this.handleSubmit}>
+              <input className="form-control" type="email" placeholder="email" onChange={this.handleEmailChange} />
+              <input className="form-control" type="password" placeholder="password" onChange={this.handlePasswordChange} />
+              <input className="form-control submit" type="submit" value="Sign Up" />
+              <div className={cName}>{this.state.msg}</div>
+              <a href="#" onClick={App.onInternNavigation.bind(this, '/signin')}><u>Sign In</u></a>
             </form>
           </div>
         </div>
        );
   }
-});
+}
+
+export default SignupForm;