-var Api = require('./api.js').Api;
-var App = require('./app.js');
-var classNames = require('classnames');
+import Api from './api.js';
+import App from './app.js';
+import classNames from 'classnames';
+import React from 'react';
-var OtpQrCode = React.createClass({
- render: function() {
+class OtpQrCode extends React.Component {
+ render = () => {
return (
<div>
<img src={this.props.img} />
</div>
);
}
-});
+}
-module.exports.OtpEnrollForm = React.createClass({
- getInitialState: function() {
- return {'hideMsg': true, 'msg': '', 'msgOk': false, 'pass': ''};
- },
- handleSubmit: function(e) {
+class OtpEnrollForm extends React.Component {
+ constructor(props) {
+ super(props);
+ this.state = {'hideMsg': true, 'msg': '', 'msgOk': false, 'pass': ''};
+ }
+
+ handleSubmit = (e) => {
Api.Call('OTP_VALIDATE', {'pass': this.state.pass}, function(err, status, data) {
if (err) {
console.error(err, data);
}.bind(this));
e.preventDefault();
- },
- handlePassChange: function(event) {
+ }
+
+ handlePassChange = (event) => {
this.setState({'pass': 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});
var qrCode = null;
if (this.props.img) {
- qrCode = (
- <div className='row justify-content-center'>
+ qrCode =
+ <div className="row justify-content-center">
+ <p>Please setup 2FA (Google Authenticator, Authy)</p>
<OtpQrCode img={this.props.img} secret={this.props.secret} />
- </div>
- );
- }
+ </div>;
+}
return (
- <div className='row otp-enroll justify-content-center'>
- <div className='col-lg-offset-4 col-lg-4 col-md-offset-4 col-md-4 col-sm-offset-4 col-sm-4 col-xs-offset-1 col-xs-10'>
+ <div className="row otp-enroll">
+ <div className="offset-4 col-4 col-xs-offset-1 col-xs-10 text-center">
{qrCode}
- <div className='row justify-content-center'>
- <form role='form' onSubmit={this.handleSubmit}>
- <input className='form-control' type='pass' placeholder='pass' onChange={this.handlePassChange} />
- <input className='form-control submit' type='submit' value='Validate' />
- <div className={cName} ref='message'>{this.state.msg}</div>
+ <div className="row justify-content-center">
+ <form role="form" onSubmit={this.handleSubmit}>
+ <input className="form-control" type="pass" placeholder="code" onChange={this.handlePassChange} />
+ <input className="form-control submit" type="submit" value="Validate" />
+ <div className={cName}>{this.state.msg}</div>
</form>
</div>
</div>
</div>
);
}
-});
+}
+
+export default OtpEnrollForm;