trackdropzone.js 916 B

1234567891011121314151617181920212223242526272829
  1. import {useCallback} from "react";
  2. import {store} from "../reducers";
  3. import {actionFullUploadTracks} from "../actions";
  4. import {useDropzone} from "react-dropzone";
  5. import {connect} from "react-redux";
  6. function TrackDropZone({ onLoad }) {
  7. const onDrop = useCallback((acceptedFiles) => {
  8. // Do something with the files
  9. onLoad(acceptedFiles[0]);
  10. }, []);
  11. const { getRootProps, getInputProps, isDragActive } = useDropzone({ onDrop });
  12. return (
  13. <div {...getRootProps()}>
  14. <input {...getInputProps()} />
  15. {isDragActive ? (
  16. <p>Перетащите файл сюда ...</p>
  17. ) : (
  18. <p>Для добавления трэка перетащите файлы в плейлист</p>
  19. )}
  20. </div>
  21. );
  22. }
  23. export const CTrackDropZone = connect (null, {onLoad: actionFullUploadTracks}) (TrackDropZone)