1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import {actionCreatePlaylist, actionPlaylistFindByOwner, backURL} from "../actions";
- import {connect} from "react-redux";
- import {Link} from "react-router-dom";
- import {call, select, takeEvery} from "redux-saga/effects";
- import {actionPromise, promiseWorker} from "../reducers/promiseReducer";
- import {useState} from "react";
- import {history} from "../App";
- import {store} from "../reducers";
- import {CTrack} from "./track";
- import {CTrackDropZone} from "./trackdropzone";
- const MyTracks = ({playlist:{_id, name, tracks}={}}) =>
- <div className='Category'>
- <h1>{name}</h1>
- {(tracks || []).map(track => <CTrack track={track}/>)}
- </div>
- const CMyTracks = connect(state => ({playlist: state.promise.playlistById?.payload || []}))(MyTracks)
- export const MyPlaylistTracks = ({match:{params:{_id}}}) =>
- <>
- <CTrackDropZone />
- <CMyTracks />
- </>
- const Playlist = ({playlist:{_id, name}={}}) =>
- <li><Link to={`/myplaylist/${_id}`}>{name}</Link></li>
- const MyPlaylists = ({playlists={},onCreatePlaylist}) => {
- const [p, setP] = useState ('')
- return (
- <div>
- <input placeholder='Название' onChange={e => setP(e.target.value)}/>
- <button onClick={() => {onCreatePlaylist(p)}}>Создать плейлист</button>
- <ul className='Users'>
- {playlists.map(playlist => <Playlist playlist={playlist}/> )}
- </ul>
- </div>
- )
- }
- export const CMyPlaylists = connect(state => ({playlists: state.promise.playlistFindByOwner?.payload || []}),{onCreatePlaylist:actionCreatePlaylist})(MyPlaylists)
- store.dispatch(actionPlaylistFindByOwner())
|