Advertisement
Guest User

Untitled

a guest
Sep 29th, 2016
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.60 KB | None | 0 0
  1. import React, {Component, PropTypes} from "react";
  2. import Helmet from "react-helmet";
  3. import styles from './Page.scss';
  4. import {Row, Col, Tabs, Tab, Form, FormGroup, InputGroup, Alert} from "react-bootstrap";
  5. import {connect} from "react-redux";
  6. import { authorize } from "redux/modules/AuthorizationModule/postAuthenticateUser";
  7. import { register } from "redux/modules/AuthorizationModule/postRegisterUser";
  8. import { push } from 'react-router-redux';
  9. import cookie from 'react-cookie';
  10.  
  11. @connect(
  12. state => ({
  13. token: state.authorizationPostAuthenticateUser.token,
  14. loginLoading: state.authorizationPostAuthenticateUser.loading,
  15. loginLoaded: state.authorizationPostAuthenticateUser.loaded,
  16. loginError: state.authorizationPostAuthenticateUser.error,
  17.  
  18. response: state.authorizationPostRegisterUser.response,
  19. registerLoading: state.authorizationPostRegisterUser.loading,
  20. registerLoaded: state.authorizationPostRegisterUser.loaded,
  21. registerError: state.authorizationPostRegisterUser.error,
  22. }),
  23. {
  24. authorize, register
  25. }
  26. )
  27.  
  28. export default class AuthorizationContainerIndexPage extends Component
  29. {
  30. handleLogin()
  31. {
  32. const { token } = this.props;
  33.  
  34. this.props.authorize({
  35. username: this.refs.loginUsername.value,
  36. pass: this.refs.loginPass.value,
  37. });
  38.  
  39. if (token.token)
  40. {
  41. //cookie.save('token', token.token, {path: '/'});
  42. push('/');
  43. }
  44. }
  45.  
  46. handleRegister()
  47. {
  48. const { response } = this.props;
  49.  
  50. this.props.register({
  51. phone: this.refs.registerPhone.value,
  52. email: this.refs.registerEmail.value,
  53. first_name: this.refs.registerFirstName.value,
  54. last_name: this.refs.registerLastName.value,
  55. pass: this.refs.registerPass.value,
  56. });
  57.  
  58. if (response.ok)
  59. {
  60. cookie.save('token', response.ok, {path: '/'});
  61. }
  62. }
  63.  
  64. render(){
  65. const { loginLoading, loginError } = this.props;
  66. const { registerLoading, registerError } = this.props;
  67.  
  68. return (
  69. <Row className="authForm">
  70. <Helmet title="ورود به فروشگاه"/>
  71. <Col xs={12}>
  72. {
  73. loginError ? <Alert bsStyle="warning">امکان ورود به سایت در حال حاضر وجود ندارد. لطفا دوباره آزمایش کنید!</Alert> : null
  74. }
  75. {
  76. registerError ? <Alert bsStyle="warning">ثبت‌نام شما با مشکل مواجه شد. لطفا مجددا آزمایش نمایید!</Alert> : null
  77. }
  78. </Col>
  79. <Col xs={12} md={4} mdOffset={4}>
  80. <Tabs defaultActiveKey={1} id="controlled-tab">
  81. <Tab eventKey={1} title="ورود">
  82. <Form horizontal>
  83. <FormGroup>
  84. <div className="col-xs-12">
  85. <InputGroup>
  86. <span className="input-group-addon"><i className="fa fa-phone"/></span>
  87. <input className="form-control" ref={'loginUsername'} type="text" placeholder="شماره تلفن"/>
  88. </InputGroup>
  89. </div>
  90. </FormGroup>
  91. <FormGroup>
  92. <div className="col-xs-12">
  93. <InputGroup>
  94. <span className="input-group-addon"><i className="fa fa-key"/></span>
  95. <input className="form-control" ref={'loginPass'} type="password" placeholder="کلمه عبور"/>
  96. </InputGroup>
  97. </div>
  98. </FormGroup>
  99. <FormGroup>
  100. <div className="text-center">
  101. <button onClick={this.handleLogin.bind(this)} type="button" className="btn btn-primary" disabled={loginLoading}>
  102. {
  103. loginLoading ?
  104. <span><i className="fa fa-circle-o-notch fa-spin fa-fw"/> در حال بررسی...</span>
  105. :
  106. <span>وارد شوید</span>
  107. }
  108. </button>
  109. </div>
  110. </FormGroup>
  111. </Form>
  112. </Tab>
  113. <Tab eventKey={2} title="ثبت نام">
  114. <Form horizontal>
  115. <FormGroup>
  116. <div className="col-xs-12">
  117. <InputGroup>
  118. <span className="input-group-addon"><i className="fa fa-phone"/></span>
  119. <input className="form-control" ref={'registerPhone'} type="text" placeholder="شماره تلفن"/>
  120. </InputGroup>
  121. </div>
  122. </FormGroup>
  123. <FormGroup>
  124. <div className="col-xs-12">
  125. <InputGroup>
  126. <span className="input-group-addon"><i className="fa fa-envelope-o"/></span>
  127. <input className="form-control" ref={'registerEmail'} type="email" placeholder="آدرس ایمیل"/>
  128.  
  129. </InputGroup>
  130. </div>
  131. </FormGroup>
  132. <FormGroup>
  133. <div className="col-xs-12 col-sm-6">
  134. <InputGroup>
  135. <input className="form-control" ref={'registerFirstName'} type="text" placeholder="نام"/>
  136.  
  137. </InputGroup>
  138. </div>
  139. <div className="col-xs-12 col-sm-6">
  140. <InputGroup>
  141. <input className="form-control" ref={'registerLastName'} type="text" placeholder="نام خانوادگی"/>
  142.  
  143. </InputGroup>
  144. </div>
  145. </FormGroup>
  146. <FormGroup>
  147. <div className="col-xs-12">
  148. <InputGroup>
  149. <span className="input-group-addon"><i className="fa fa-key"/></span>
  150. <input className="form-control" ref={'registerPass'} type="password" placeholder="کلمه عبور"/>
  151.  
  152. </InputGroup>
  153. </div>
  154. </FormGroup>
  155. <FormGroup>
  156. <div className="text-center">
  157. <button onClick={this.handleRegister.bind(this)} type="button" className="btn btn-primary" disabled={registerLoading}>
  158. {
  159. registerLoading ?
  160. <span><i className="fa fa-circle-o-notch fa-spin fa-fw"/> در حال بررسی...</span>
  161. :
  162. <span>ثبت‌نام کنید</span>
  163. }
  164. </button>
  165. </div>
  166. </FormGroup>
  167. </Form>
  168. </Tab>
  169. </Tabs>
  170. </Col>
  171. </Row>
  172. )
  173. }
  174. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement