pageMain.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import {useCallback,useState,useEffect} from "react";
  2. import {store} from "../reducers";
  3. import {useDropzone} from "react-dropzone";
  4. import {connect} from "react-redux";
  5. import {actionUploadTrack, actionFindMyTracks, backURL} from "../actions";
  6. import {CPreloaded} from "./preloader";
  7. import {CPlayer} from "./player";
  8. import {actionSetTrackToPlaylist} from "../actions";
  9. const defaultTrack = {
  10. "_id": "61dc5a42e9472933a6785f18",
  11. "url": "track/fe15599bbb13c96d70dd5a1591a0b158",
  12. "originalFileName": "cart.png",
  13. "owner": {
  14. "login": "mfdok43"
  15. }
  16. }
  17. export const PageMain = () =>
  18. <div>
  19. <h1>Моя музыка</h1>
  20. <CTrackDropZone />
  21. <CPlayer />
  22. </div>
  23. function TrackDropZone({ onLoad }) {
  24. const onDrop = useCallback((acceptedFiles) => {
  25. // Do something with the files
  26. onLoad(acceptedFiles[0]);
  27. store.dispatch(actionSetTrackToPlaylist(acceptedFiles[0]))
  28. }, []);
  29. const { getRootProps, getInputProps, isDragActive } = useDropzone({ onDrop });
  30. return (
  31. <div {...getRootProps()}>
  32. <input {...getInputProps()} />
  33. {isDragActive ? (
  34. <p>Перетащите файл сюда ...</p>
  35. ) : (
  36. <p>Для добавления трэка перетащите файлы в плейлист</p>
  37. )}
  38. {/*<CPreloaded name='findMyTracks1'>*/}
  39. {/* <CMyTracks />*/}
  40. {/*</CPreloaded>*/}
  41. </div>
  42. );
  43. }
  44. export const CTrackDropZone = connect (null, {onLoad: actionUploadTrack}) (TrackDropZone)
  45. store.dispatch(actionFindMyTracks())