diff --git a/packages/app/src/components/Music/Playlist/index.jsx b/packages/app/src/components/Music/Playlist/index.jsx index 5505ae86..e55e4a93 100755 --- a/packages/app/src/components/Music/Playlist/index.jsx +++ b/packages/app/src/components/Music/Playlist/index.jsx @@ -6,14 +6,6 @@ import { Icons } from "@components/Icons" import "./index.less" -const typeToNavigationType = { - playlist: "playlist", - album: "album", - track: "track", - single: "track", - ep: "album", -} - const Playlist = (props) => { const [coverHover, setCoverHover] = React.useState(false) @@ -28,13 +20,27 @@ const Playlist = (props) => { return props.onClick(playlist) } - return app.location.push(`/music/list/${playlist._id}`) + const params = new URLSearchParams() + + if (playlist.type) { + params.set("type", playlist.type) + } + + if (playlist.service) { + params.set("service", playlist.service) + } + + return app.location.push( + `/music/list/${playlist._id}?${params.toString()}`, + ) } const onClickPlay = (e) => { e.stopPropagation() - app.cores.player.start(playlist.items) + if (playlist.items) { + app.cores.player.start(playlist.items) + } } return ( @@ -68,8 +74,16 @@ const Playlist = (props) => {

{playlist.title}

+ {props.row && (
+ {playlist.service === "tidal" && ( +

+ + Tidal +

+ )} +

{playlist.type ?? "playlist"} diff --git a/packages/app/src/components/Music/Playlist/index.less b/packages/app/src/components/Music/Playlist/index.less index 6ebf2a82..464c2836 100755 --- a/packages/app/src/components/Music/Playlist/index.less +++ b/packages/app/src/components/Music/Playlist/index.less @@ -45,6 +45,13 @@ justify-content: center; .playlist_info_title { + display: flex; + flex-direction: row; + + align-items: center; + + gap: 7px; + h1 { word-break: break-all; white-space: wrap; diff --git a/packages/app/src/components/Music/PlaylistView/header.jsx b/packages/app/src/components/Music/PlaylistView/header.jsx index b24893c4..654e2848 100644 --- a/packages/app/src/components/Music/PlaylistView/header.jsx +++ b/packages/app/src/components/Music/PlaylistView/header.jsx @@ -16,6 +16,7 @@ const typeToKind = { ep: "releases", compilation: "releases", playlist: "playlists", + single: "tracks", } const PlaylistHeader = ({ @@ -77,7 +78,6 @@ const PlaylistHeader = ({

- {playlist.service === "tidal" && }{" "} {typeof playlist.title === "function" ? ( playlist.title() ) : ( @@ -86,19 +86,24 @@ const PlaylistHeader = ({
+ {playlist.service === "tidal" && ( +
+

+ From Tidal +

+
+ )} {PlaylistTypeDecorators[playlistType] && (
{PlaylistTypeDecorators[playlistType]()}
)} -

{playlist.total_items}{" "} Items

- {playlist.total_duration > 0 && (

@@ -107,7 +112,6 @@ const PlaylistHeader = ({

)} - {playlist.publisher && (