App.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import React from 'react';
  2. import './App.scss';
  3. import {Provider} from 'react-redux';
  4. import Footer from './Components/Footer';
  5. import { createBrowserHistory } from "history";
  6. import store from './reducers';
  7. import ConnectLog from './pages/Login';
  8. import { Router,Switch } from "react-router-dom";
  9. import TypeAd from "./pages/Home";
  10. import TypeAdOne from './pages/AdOne';
  11. import ConnectSign from './pages/Sign';
  12. import {Instruction} from "./pages/Instriction";
  13. import {Advertisment} from "./pages/Advertisment";
  14. import RoleRoute from './Components/PrivateRoute';
  15. import ConnectNav from './Components/NaviBar';
  16. import CPost from './pages/PostAd';
  17. import СChange from './pages/EditAd';
  18. import Profile from './pages/Profile';
  19. import AdSearch from './pages/Search';
  20. function App() {
  21. return (
  22. <>
  23. <Provider store={store}>
  24. <Router history = {createBrowserHistory()}>
  25. <ConnectNav />
  26. <Switch>
  27. <RoleRoute path='/' roles ={['user']} component = {TypeAd} exact />
  28. <RoleRoute path='/home/:id' roles={['user']} component={TypeAdOne} exact />
  29. <RoleRoute path='/home/edit/:id' roles={['user']} component={СChange} exact />
  30. <RoleRoute path='/login' roles={['unknown']} component={ConnectLog} />
  31. <RoleRoute path='/sign' roles={['unknown']} component={ConnectSign} />
  32. <RoleRoute path='/search/:searchName' roles={['unknown']} component={AdSearch} />
  33. <RoleRoute path='/profile' roles={['user']} component={Profile} />
  34. <RoleRoute path='/post-ad' roles={['user']} component={CPost} />
  35. <RoleRoute path='/instruction' roles={['unknown']} component={Instruction} />
  36. <RoleRoute path='/advertisment' roles={['unknown']} component={Advertisment} />
  37. </Switch>
  38. <Footer />
  39. </Router>
  40. </Provider>
  41. </>
  42. );
  43. }
  44. export default App;