App.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import React, { useEffect, useState } from "react";
  2. import {
  3. BrowserRouter as Router,
  4. Route,
  5. Redirect,
  6. Switch,
  7. } from "react-router-dom";
  8. import { connect } from "react-redux";
  9. import { Provider } from "react-redux";
  10. import store from "./store";
  11. import history from "./utils/history";
  12. // import {ConnectedRouter} from 'react-router-redux';
  13. import "./styles/Reset.css";
  14. import "./styles/App.css";
  15. import Header from "./components/Header";
  16. import RegisterForm from "./components/RegisterForm";
  17. import LoginForm from "./components/LoginForm";
  18. import Lib from "./components/Library";
  19. import Playlist from "./components/Playlist";//проверить правильные пути, поменять пути на соответствующие
  20. import MyPlaylists from "./components/MyPlaylists";
  21. import Search from "./components/Search";
  22. const PrivateRoute = (props) => {
  23. console.log(props);
  24. const { children, ...rest } = props;
  25. return (
  26. <Route
  27. {...rest}
  28. render={({ location }) => {
  29. return localStorage.authToken ? (
  30. children
  31. ) : (
  32. <Redirect
  33. to={{
  34. // pathname: "/",
  35. // pathname: "/login",
  36. state: { from: location },
  37. }}
  38. />
  39. );
  40. }}
  41. />
  42. );
  43. };
  44. export default () => {
  45. return (
  46. <Provider store={store}>
  47. <div className="App">
  48. <Router history={history}>
  49. <Switch>
  50. <Route exact path="/" component={LoginForm} />
  51. <Route exact path="/registration" component={RegisterForm} />
  52. {/* <Route exact path="/" component={RegisterForm} />
  53. <Route exact path="/login" component={LoginForm} /> */}
  54. <Route exact path="/all_playlists" component={Playlist} />
  55. <Route exact path="/private" component={Lib} />
  56. <Route exact path="/my_playlists" component={MyPlaylists} />
  57. <Route exact path="/search" component={Search} />
  58. {/* <PrivateRoute path="/private">
  59. <Lib />
  60. </PrivateRoute> */}
  61. </Switch>
  62. </Router>
  63. </div>
  64. </Provider>
  65. );
  66. };