var React = require('react/addons') var ReactRouter = require('react-router') var Link = ReactRouter.Link var AuthActions = require('../Actions/AuthActions') var AuthStore = require('../Stores/AuthStore') var OnlyGuest = require('../Mixins/OnlyGuest') module.exports = React.createClass({ mixins: [React.addons.LinkedStateMixin, ReactRouter.Navigation, OnlyGuest], getInitialState: function () { return { email: '', password: '', authenticationFailed: false, connectionFailed: false, isSending: false } }, componentDidMount: function () { this.unsubscribe = AuthStore.listen(this.onListen) }, componentWillUnmount: function () { this.unsubscribe() }, onListen: function (res) { if (res.status === 'failedToLogIn') { if (res.data.status === 401) { // Wrong E-mail or Password this.setState({ authenticationFailed: true, connectionFailed: false, isSending: false }) return } // Connection Failed or Whatever this.setState({ authenticationFailed: false, connectionFailed: true, isSending: false }) return } }, handleSubmit: function (e) { this.setState({ authenticationFailed: false, connectionFailed: false, isSending: true }, function () { AuthActions.login({ email: this.state.email, password: this.state.password }) }) e.preventDefault() }, render: function () { return (

Connect with


or
{this.state.isSending ? (

Logging in...

) : null} {this.state.connectionFailed ? (

Please try again.

) : null} {this.state.authenticationFailed ? (

Wrong E-mail or Password.

) : null}
) } })