App.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import 'antd/dist/antd.min.css'
  2. import './App.scss';
  3. import { Router, Route, Switch, Redirect } from 'react-router-dom';
  4. import createHistory from "history/createBrowserHistory";
  5. import { connect, Provider } from 'react-redux';
  6. import store from './redux/redux-store';
  7. import { Authorization } from './components/Authorization';
  8. import { Content, Main } from './pages/Content';
  9. import { CProfilePage } from './components/main/Profile';
  10. import { CAdd } from './components/main/Add';
  11. import HeaderComponent from './pages/Header';
  12. import { CMainPostsFeed } from './pages/MainPostsFeed';
  13. export const history = createHistory()
  14. const Aside = () =>
  15. <div>sdfsdgsgsdg</div>
  16. const AppContent = ({ isToken }) =>
  17. <Router history={history}>
  18. {!isToken
  19. ?
  20. <Switch>
  21. <Route path='/auth/:_id'
  22. component={Authorization} />
  23. <Redirect from='/*' to='/auth/login' />
  24. </Switch>
  25. :
  26. <Content>
  27. <HeaderComponent />
  28. <Main>
  29. <Switch>
  30. <Route path='/' component={CMainPostsFeed} exact />
  31. <Route path='/profile/:_id' component={CProfilePage} />
  32. <Route path='/message' component={Aside} />
  33. <Route path='/add' component={CAdd} />
  34. <Redirect from='/*' to='/' />
  35. </Switch>
  36. </Main>
  37. </Content >
  38. // <Switch>
  39. // <Route path='/' component={Content} exact />
  40. // <Redirect from='/auth/*' to='/' />
  41. // </Switch>
  42. }
  43. </Router >
  44. const CAppContent = connect(state => ({ isToken: state.auth?.token }))(AppContent)
  45. store.subscribe(() => console.log(store.getState()))
  46. function App() {
  47. return (
  48. <Provider store={store}>
  49. <CAppContent />
  50. </Provider>
  51. )
  52. }
  53. export default App;