import React from "react" import * as antd from "antd" import classnames from "classnames" import { ImageViewer } from "components" import moment from "moment" import { Icons } from "components/Icons" import PlaylistsModel from "models/playlists" import "./index.less" const TrackItem = (props) => { return
} onClick={props.onClick} />
{props.track.title}
{props.track.artist}
} export default (props) => { const play_id = props.params.play_id const [playlist, setPlaylist] = React.useState(null) const loadData = async () => { const response = await PlaylistsModel.getPlaylist(play_id).catch((err) => { console.error(err) app.message.error("Failed to load playlist") return null }) console.log(response) if (response) { setPlaylist(response) } } const handleOnClickTrack = (track) => { // search index of track const index = playlist.list.findIndex((item) => { return item._id === track._id }) if (index === -1) { return } app.cores.player.startPlaylist(playlist.list, index) } React.useEffect(() => { loadData() }, []) if (!playlist) { return } return

{playlist.title}

{playlist.description}

{ app.navigation.goToAccount(playlist.user.username) }} > Publised by {playlist.user.username}

{playlist.list.length} Tracks

Released on {moment(playlist.created_at).format("DD/MM/YYYY")}

Tracks

{ playlist.list.map((item, index) => { return handleOnClickTrack(item)} /> }) }
}