Guest User

Untitled

a guest
Mar 8th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.36 KB | None | 0 0
  1. import * as React from 'react';
  2. import { State, Props, PassedProps } from '../types/Register.d';
  3. import '../styles/Header.css';
  4. const fetch = require('isomorphic-fetch');
  5. class Register extends React.Component<PassedProps, State> {
  6. constructor(props: Props) {
  7. super(props);
  8. this.state = {
  9. firstName: 'firstName',
  10. lastName: 'firstName',
  11. email: 'email',
  12. password: 'password',
  13. username: 'username'
  14. };
  15. }
  16.  
  17. public handleFirstNameChange(e: React.FormEvent<HTMLInputElement>): void {
  18. this.setState({ firstName: e.currentTarget.value });
  19. }
  20.  
  21. public handleLastNameChange(e: React.FormEvent<HTMLInputElement>): void {
  22. this.setState({ lastName: e.currentTarget.value });
  23. }
  24.  
  25. public handleUsernameChange(e: React.FormEvent<HTMLInputElement>): void {
  26. this.setState({ username: e.currentTarget.value });
  27. }
  28.  
  29. public handleEmailChange(e: React.FormEvent<HTMLInputElement>): void {
  30. this.setState({ email: e.currentTarget.value });
  31. }
  32.  
  33. public handlePasswordChange(e: React.FormEvent<HTMLInputElement>): void {
  34. this.setState({ password: e.currentTarget.value });
  35. }
  36.  
  37. public handleSubmit(e: React.FormEvent<HTMLButtonElement>): void {
  38. const url = 'localhost:8080/api/v1/user/';
  39.  
  40. let bodyData = {
  41. firstName: this.state.firstName,
  42. lastName: this.state.lastName,
  43. username: this.state.username,
  44. email: this.state.email,
  45. password: this.state.password,
  46. };
  47.  
  48. let data = {
  49. method: 'POST',
  50. body: bodyData,
  51. headers: new Headers()
  52. };
  53.  
  54. fetch(url, data)
  55. /* tslint:disable-next-line */
  56. .then(function (res: any) {
  57. if (res.status === 409) {
  58. alert('User already exists in database');
  59. } else if (res.status === 200) {
  60. alert('User added to database');
  61. } else {
  62. alert('Error ' + res.status + '; ' + res);
  63. }
  64. });
  65.  
  66. }
  67. render() {
  68. return (
  69. <div className="register-page">
  70. <form className="register-form">
  71. <div className="register-title">project match</div>
  72. <label className="register-form-label">First Name</label>
  73. <input
  74. type="text"
  75. placeholder="First Name"
  76. name="firstName"
  77. required={true}
  78. onChange={e => this.handleFirstNameChange(e)}
  79. />
  80.  
  81. <label className="register-form-label">Last Name</label>
  82. <input
  83. type="text"
  84. placeholder="Last Name"
  85. name="lastName"
  86. required={true}
  87. onChange={e => this.handleLastNameChange(e)}
  88. />
  89.  
  90. <br />
  91.  
  92. <label className="register-form-label">Username</label>
  93. <input
  94. type="text"
  95. placeholder="Username"
  96. name="username"
  97. required={true}
  98. onChange={e => this.handleUsernameChange(e)}
  99. />
  100.  
  101. <br />
  102.  
  103. <label className="register-form-label">Your Email</label>
  104. <input
  105. type="email"
  106. placeholder="Email Address"
  107. name="email"
  108. required={true}
  109. onChange={e => this.handleEmailChange(e)}
  110. />
  111.  
  112. <br />
  113.  
  114. <label className="register-form-label">Password</label>
  115. <input
  116. type="password"
  117. placeholder="Password"
  118. name="password"
  119. required={true}
  120. onChange={e => this.handlePasswordChange(e)}
  121. />
  122.  
  123. <br />
  124.  
  125. <button type="submit" className="signUpBtn" name="registerBtn">Sign Up For Free</button>
  126. </form>
  127. </div>
  128. );
  129. }
  130. }
  131.  
  132. export default Register;
Add Comment
Please, Sign In to add comment