Guest User

Untitled

a guest
May 30th, 2018
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.11 KB | None | 0 0
  1. import React from 'react'
  2. import {
  3. BrowserRouter as Router,
  4. Route
  5. } from 'react-router-dom'
  6.  
  7. import Login from './views/Login'
  8. import Index from './views/Index'
  9. import Home from './views/Home'
  10.  
  11. const App = () => {
  12. return(
  13. <Router>
  14. <div>
  15. <Route exact path="/" component={Index}/>
  16. <Route path="/login" component={Login}/>
  17. <Route path="/home" component={Home}/>
  18. </div>
  19. </Router>
  20. )
  21. }
  22.  
  23. export default App
  24.  
  25. import React from 'react'
  26. import Login from './Login'
  27. import Home from './Home'
  28.  
  29. const Index = () => {
  30. if (localStorage.getItem("username")) {
  31. return(
  32. <Home/>
  33. );
  34. } else {
  35. return (
  36. <Login/>
  37. )
  38. }
  39. }
  40.  
  41. export default Index
  42.  
  43. import React from 'react'
  44.  
  45. const Login = () => {
  46. let user, pass
  47.  
  48. const login = e => {
  49. e.preventDefault();
  50. fetch("http://localhost:3000/api/login", {
  51. method: "GET",
  52. headers: {
  53. "user": user.value,
  54. "pass": pass.value
  55. }
  56. })
  57. .then(response => response.json())
  58. .then(function(data) {
  59. if (data.user) {
  60. localStorage.setItem("username", data.user)
  61. this.props.history.push("/");
  62. } else {
  63. console.log("Failed to get user")
  64. }
  65. })
  66. }
  67. return(
  68. <div>
  69. <h1>Login</h1>
  70. <form onSubmit={login}>
  71. <label> Username:
  72. <input type="text" className="form-control col-md-12" ref = {node => user = node}/>
  73. </label>
  74. <label> Password:
  75. <input type="password" className="form-control col-md-12" ref = {node => pass = node}/>
  76. </label>
  77. <br />
  78. <input type="submit" value="Submit" />
  79. </form>
  80. </div>
  81. )
  82. }
  83.  
  84. export default Login
  85.  
  86. import React from 'react'
  87. import { withRouter } from 'react-router-dom'
  88.  
  89. const Login = (props) => {
  90. let user, pass
  91.  
  92. const login = e => {
  93. e.preventDefault();
  94. fetch("http://localhost:3000/api/login", {
  95. method: "GET",
  96. headers: {
  97. "user": user.value,
  98. "pass": pass.value
  99. }
  100. })
  101. .then(response => response.json())
  102. .then(function(data) {
  103. if (data.user) {
  104. localStorage.setItem("username", data.user)
  105. props.history.push("/");
  106. } else {
  107. console.log("Failed to get user")
  108. }
  109. })
  110. }
  111. return(
  112. <div>
  113. <h1>Login</h1>
  114. <form onSubmit={login}>
  115. <label> Username:
  116. <input type="text" className="form-control col-md-12" ref = {node => user = node}/>
  117. </label>
  118. <label> Password:
  119. <input type="password" className="form-control col-md-12" ref = {node => pass = node}/>
  120. </label>
  121. <br />
  122. <input type="submit" value="Submit" />
  123. </form>
  124. </div>
  125. )
  126. }
  127.  
  128. export default withRouter(Login)
Add Comment
Please, Sign In to add comment