main.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import {Redirect, Switch} from 'react-router-dom';
  2. import {NoPlaylistMytracks} from "./my-tracks";
  3. import {UserTracks} from "./user-tracks";
  4. import {CAllTracks} from "./user-tracks";
  5. import {CAllUsers} from "./user-tracks";
  6. import {CMyPlaylists} from "./my-tracks";
  7. import {CProtectedRoute} from "../reducers";
  8. import {CSearchResult} from "./tools/search";
  9. import {MyPlaylistTracks} from "./my-tracks";
  10. export const Aside = ({children}) =>
  11. <div className='Aside'>
  12. {children}
  13. </div>
  14. export const Content = ({children}) =>
  15. <div className='Content'>
  16. {children}
  17. </div>
  18. export const Main = () =>
  19. <main>
  20. <Aside>
  21. <Switch>
  22. <CProtectedRoute roles={["anon", "user"]} path="/music" component={CAllUsers}/>
  23. <CProtectedRoute roles={["anon", "user"]} path="/user/:_id" component={CAllUsers}/>
  24. <CProtectedRoute roles={["anon", "user"]} path="/mymusic" component={CMyPlaylists}/>
  25. <CProtectedRoute roles={["anon", "user"]} path="/myplaylist/:_id" component={CMyPlaylists}/>
  26. <CProtectedRoute roles={["anon", "user"]} path='/' component={CAllUsers} exact/>
  27. </Switch>
  28. </Aside>
  29. <Content>
  30. <Redirect from='/main' to='/'/>
  31. <Switch>
  32. <CProtectedRoute roles={["anon", "user"]} path="/search" component={CSearchResult}/>
  33. <CProtectedRoute roles={["anon", "user"]} path="/music" component={CAllTracks}/>
  34. <CProtectedRoute roles={["anon", "user"]} path='/' component={NoPlaylistMytracks} exact/>
  35. <CProtectedRoute roles={["anon", "user"]} path="/myPlaylist/:_id" component={MyPlaylistTracks}/>
  36. <CProtectedRoute roles={["anon", "user"]} path="/user/:_id" component={UserTracks}/>
  37. <CProtectedRoute roles={["anon", "user"]} path='/mymusic' component={NoPlaylistMytracks}/>
  38. </Switch>
  39. </Content>
  40. </main>