Ivankooo1

Login

Mar 21st, 2022
421
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. import Header from './components/Header/Header';
  2. import Footer from './components/Footer/Footer';
  3. import Login from './components/Login/Login';
  4. import ErrorPage from './components/ErrorPage/ErrorPage';
  5. import Register from './components/Register/Register';
  6. import Recipes from './components/Recipes/Recipes';
  7. import User from './components/UserInfo/UseInfo';
  8. import CreateRecipe from './components/CreateRecipe/CreateRecipe';
  9. import DetailsRecipe from './components/DetailsRecipe/DetailsRecipe';
  10. import Users from './components/Users/Users';
  11. import EditRecipe from './components/EditRecipe/EditRecipe';
  12. import Logout from './components/Logout/Logout';
  13. import EditUser from './components/Users/EditUser/EditUser';
  14. import Home from './components/Home/Home';
  15. import Favourites from './components/Favourites/Favourites';
  16.  
  17. import * as storageService from './services/storageService';
  18.  
  19. import './App.css';
  20.  
  21. import { useState, useEffect } from 'react';
  22. import { Routes, Route } from 'react-router-dom';
  23.  
  24. function App() {
  25.  
  26. const [userData, setUserData] = useState({ isAuth: false, username: '' });
  27.  
  28. useEffect(() => {
  29.  
  30. let user = storageService.getLocalStorage()?.username;
  31.  
  32. setUserData({
  33. isAuth: Boolean(user),
  34. username: user
  35. })
  36. }, []);
  37.  
  38.  
  39. const onLogin = (user) => {
  40. setUserData({
  41. isAuth: true,
  42. username: user
  43. })
  44. }
  45.  
  46. const onLogout = () => {
  47. setUserData({
  48. isAuth: false,
  49. username: ''
  50. })
  51. }
  52.  
  53. return (
  54. <div className="App">
  55. <Header {...userData} />
  56. <div className="mainContainer">
  57.  
  58. <Routes>
  59. <Route path='/' element={<Home />} />
  60. <Route path='/login' element={<Login onLogin={onLogin} />} />
  61. <Route path='/register' element={<Register onLogin={onLogin}/>} />
  62. <Route path='/logout' element={<Logout onLogout={onLogout}/>} />
  63. <Route path='/recipes' element={<Recipes />} />
  64. <Route path='/user-info' element={<User />} />
  65. <Route path='/create-recipe' element={<CreateRecipe />} />
  66. <Route path='/favourites' element={<Favourites />} />
  67. <Route path='/details/:productId' element={<DetailsRecipe />} />
  68. <Route path='/users' element={<Users />} />
  69. <Route path='/edit-recipe/:productId' element={<EditRecipe />} />
  70. <Route path='/edit-user/:userId' element={<EditUser />} />
  71. <Route path='*' element={<ErrorPage />} />
  72. </Routes>
  73.  
  74. </div>
  75. <Footer />
  76. </div>
  77. );
  78. }
  79.  
  80. export default App;
  81.  
Advertisement
Add Comment
Please, Sign In to add comment