import React, {useState, useEffect} from 'react'; import { store } from '../store/store'; import Button from 'react-bootstrap/Button'; import Modal from 'react-bootstrap/Modal'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import {faTrash, faPen, faUserAstronaut, faCompactDisc, faPlus, faAlignCenter, faPlay, faHeart} from '@fortawesome/free-solid-svg-icons'; import { actionFullSetPlaylist, actionFullSetTrack, actionAddPlaylistToQueue} from '../store/playerReducer'; import {connect} from 'react-redux'; import { TracksAll } from './Tracks'; import { LoadTrackModal } from './LoadTrackModal'; import { EditPlaylistModal } from './EditPlaylistModal'; import { Link } from 'react-router-dom'; import { sendForm } from './SendForm'; import { history } from '../App'; import {ButtonGroup, Dropdown} from "react-bootstrap"; import { actionPlaylistById, actionUsersPlaylists } from '../store/promiseReducer'; export const PlaylistById = ({playlist, tracks}) => { let id = window.location.href.split('/')[4]; const getAnswer = () => { store.dispatch(actionPlaylistById(id)); }; useEffect(() => { getAnswer(); }, []); const [modalShow, setModalShow] = React.useState(false); const [deletePllstModal, setDeletePllstModal] = useState(false); const [modalTrackShow, setModalTrackShow] = React.useState(false); return( <>

{playlist.name}

{playlist.user_id === store.getState().auth.user.id? <>
setModalShow(false)} />
{setModalTrackShow(false); setTimeout(() => store.dispatch(actionPlaylistById(playlist?.id)), 100) }}>
setDeletePllstModal(false)} keyboard={false} playlist={playlist}> Delete Playlist? Are you really want to delete playlist "{playlist.name}"? : <> }
{playlist.user_name}

{playlist?.tracks?.length} Tracks

{playlist.description ?? "There could be a description here, but I'm too lazy"}

{ store.dispatch(actionAddPlaylistToQueue(playlist.tracks)) }}>Add to Queue
{playlist.user_id !== store.getState().auth.user.id ?
: <>}
)} export const CPlaylistById = connect(state => ({playlist: state.promise.plstById?.payload || {}, tracks: state.promise.plstById?.payload?.tracks}) || [] )(PlaylistById); const CAllTracks = connect(state => ({tracks: state.promise?.plstById?.payload?.tracks || [], playlist: state.promise.plstById?.payload || {},} ) )(TracksAll);