no-playlist-mytracks.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import {store} from "../../reducers";
  2. import {actionFindMyTracks} from "../../actions";
  3. import {CTrackDropZone} from "../tools/trackdropzone";
  4. import {CTrack} from "../track";
  5. import {connect} from "react-redux";
  6. import {useEffect, useState} from "react";
  7. import {arrayMoveImmutable} from "array-move";
  8. import {SortableContainer, SortableElement} from "react-sortable-hoc";
  9. import {CPreloaded} from "../preloader";
  10. const Mytracks = ({tracks={}}) => {
  11. return(
  12. <div>
  13. {tracks.map(track => <CTrack track={track}/> )}
  14. </div>
  15. )
  16. }
  17. export const CMyTracks = connect(state => ({tracks: state.promise.findMyTracks1?.payload || []}))(Mytracks)
  18. export const NoPlaylistMytracks = () =>
  19. <div>
  20. <h1>Моя музыка</h1>
  21. <CTrackDropZone>
  22. <CPreloaded promiseName='findMyTracks1'>
  23. <CMyTracks />
  24. </CPreloaded>
  25. </CTrackDropZone>
  26. </div>
  27. //
  28. // const SortableItem = SortableElement(CTrack);
  29. //
  30. // const MyTracks = ({children}) =>
  31. // <div>
  32. // {children}
  33. // </div>
  34. //
  35. //
  36. // const SortableList = SortableContainer(MyTracks)
  37. // // export const CMyTracks = connect(state => ({tracks: state.promise.findMyTracks1?.payload || []}))(MyTracks)
  38. //
  39. // export const NoPlaylistMytracks = () =>
  40. // <div>
  41. // <h1>Моя музыка</h1>
  42. // <CTrackDropZone>
  43. // <CPreloaded promiseName='findMyTracks1'>
  44. // <CSortableComponent />
  45. // </CPreloaded>
  46. // </CTrackDropZone>
  47. // </div>
  48. //
  49. //
  50. // function SortableComponent({tracks=[]}) {
  51. // const [state, setState] = useState(tracks)
  52. // useEffect(() => {
  53. // setState (tracks)
  54. // },[tracks])
  55. // const onSortEnd = ({oldIndex, newIndex}) => {
  56. // setState((state) => (arrayMoveImmutable(state, oldIndex, newIndex)));
  57. // };
  58. //
  59. // return <SortableList tracks={tracks} onSortEnd={onSortEnd}>
  60. // {state.map((value, index) => <SortableItem key={`item-${value}`} index={index} track={value}/>)}
  61. // </SortableList>;
  62. // }
  63. //
  64. // const CSortableComponent = connect(state => ({tracks: state.promise.findMyTracks1?.payload || []}))(SortableComponent)
  65. //
  66. // store.dispatch(actionFindMyTracks())