Keep up with the hottest tracks trending on the social media giant TikTok with one of the most popular DJs on the platform DJ PRECISE with his 16th installment of the series featuring Cat Janice, Chef Boy, Benson Boone and many more:
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
response.json())
.then(data => {
similarSongs = data.success ? data.data : [];
isLoadingSimilarSongs = false;
});
// Load recommendations
if (currentTrack?.artist && currentTrack?.title) {
const formData = new FormData();
formData.append('action', 'get_spotify_recommendations');
formData.append('artist', currentTrack.artist);
formData.append('title', currentTrack.title);
fetch(hhMusicData.ajaxurl, {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
recommendations = data.success ? data.data.results : [];
isLoadingRecommendations = false;
})
.catch(() => {
isLoadingRecommendations = false;
});
} else {
isLoadingRecommendations = false;
}
} else {
isLoadingSimilarSongs = false;
isLoadingRecommendations = false;
}"
x-bind:id="'menu-' + currentTrack?.id"
:style="`position-anchor1: --result-${currentTrack?.id}`"
class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
No mixable songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
No similar songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
response.json())
.then(data => {
playlists = data.success && Array.isArray(data.data) ? data.data : [];
isLoading = false;
})
.catch(() => { isLoading = false; });
} else {
isLoading = false;
}"
id="release-playlists-panel"
class="release-playlists-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
This track isn't in any playlists yet.
Premium content is available to members only. Please upgrade to access this content.
DJ James Jaxin coming back strong with another list of some of the best of the best from the golden age of hip hop featuring some of the greatest rappers to ever pick up the mic. Featuring classics by Public Enemy, N.W.A., Snoop Dogg, DMX and many more:
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
response.json())
.then(data => {
similarSongs = data.success ? data.data : [];
isLoadingSimilarSongs = false;
});
// Load recommendations
if (currentTrack?.artist && currentTrack?.title) {
const formData = new FormData();
formData.append('action', 'get_spotify_recommendations');
formData.append('artist', currentTrack.artist);
formData.append('title', currentTrack.title);
fetch(hhMusicData.ajaxurl, {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
recommendations = data.success ? data.data.results : [];
isLoadingRecommendations = false;
})
.catch(() => {
isLoadingRecommendations = false;
});
} else {
isLoadingRecommendations = false;
}
} else {
isLoadingSimilarSongs = false;
isLoadingRecommendations = false;
}"
x-bind:id="'menu-' + currentTrack?.id"
:style="`position-anchor1: --result-${currentTrack?.id}`"
class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
No mixable songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
No similar songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
response.json())
.then(data => {
playlists = data.success && Array.isArray(data.data) ? data.data : [];
isLoading = false;
})
.catch(() => { isLoading = false; });
} else {
isLoading = false;
}"
id="release-playlists-panel"
class="release-playlists-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
This track isn't in any playlists yet.
Premium content is available to members only. Please upgrade to access this content.
Volume 6 of some of the most iconic wedding music known to man curated by super producer Patrick Zurn featuring tracks by Lady Gaga, Rihanna, Bruno Mars, Chic and more:
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
response.json())
.then(data => {
similarSongs = data.success ? data.data : [];
isLoadingSimilarSongs = false;
});
// Load recommendations
if (currentTrack?.artist && currentTrack?.title) {
const formData = new FormData();
formData.append('action', 'get_spotify_recommendations');
formData.append('artist', currentTrack.artist);
formData.append('title', currentTrack.title);
fetch(hhMusicData.ajaxurl, {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
recommendations = data.success ? data.data.results : [];
isLoadingRecommendations = false;
})
.catch(() => {
isLoadingRecommendations = false;
});
} else {
isLoadingRecommendations = false;
}
} else {
isLoadingSimilarSongs = false;
isLoadingRecommendations = false;
}"
x-bind:id="'menu-' + currentTrack?.id"
:style="`position-anchor1: --result-${currentTrack?.id}`"
class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
No mixable songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
No similar songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
response.json())
.then(data => {
playlists = data.success && Array.isArray(data.data) ? data.data : [];
isLoading = false;
})
.catch(() => { isLoading = false; });
} else {
isLoading = false;
}"
id="release-playlists-panel"
class="release-playlists-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
This track isn't in any playlists yet.
Premium content is available to members only. Please upgrade to access this content.
The hottest future house ready to rock the party as selected by DJ PRINCESS JASMINE featuring new music from Don Diablo, Crunkz, David Guetta and more:
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
response.json())
.then(data => {
similarSongs = data.success ? data.data : [];
isLoadingSimilarSongs = false;
});
// Load recommendations
if (currentTrack?.artist && currentTrack?.title) {
const formData = new FormData();
formData.append('action', 'get_spotify_recommendations');
formData.append('artist', currentTrack.artist);
formData.append('title', currentTrack.title);
fetch(hhMusicData.ajaxurl, {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
recommendations = data.success ? data.data.results : [];
isLoadingRecommendations = false;
})
.catch(() => {
isLoadingRecommendations = false;
});
} else {
isLoadingRecommendations = false;
}
} else {
isLoadingSimilarSongs = false;
isLoadingRecommendations = false;
}"
x-bind:id="'menu-' + currentTrack?.id"
:style="`position-anchor1: --result-${currentTrack?.id}`"
class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
No mixable songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
No similar songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
response.json())
.then(data => {
playlists = data.success && Array.isArray(data.data) ? data.data : [];
isLoading = false;
})
.catch(() => { isLoading = false; });
} else {
isLoading = false;
}"
id="release-playlists-panel"
class="release-playlists-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
This track isn't in any playlists yet.
Premium content is available to members only. Please upgrade to access this content.
Here is a new alternative pop playlist selected by our very own DJ PRINCESS JASMINE featuring new music by Ariana Grande, Imagine Dragons, Lorde and more:
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
response.json())
.then(data => {
similarSongs = data.success ? data.data : [];
isLoadingSimilarSongs = false;
});
// Load recommendations
if (currentTrack?.artist && currentTrack?.title) {
const formData = new FormData();
formData.append('action', 'get_spotify_recommendations');
formData.append('artist', currentTrack.artist);
formData.append('title', currentTrack.title);
fetch(hhMusicData.ajaxurl, {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
recommendations = data.success ? data.data.results : [];
isLoadingRecommendations = false;
})
.catch(() => {
isLoadingRecommendations = false;
});
} else {
isLoadingRecommendations = false;
}
} else {
isLoadingSimilarSongs = false;
isLoadingRecommendations = false;
}"
x-bind:id="'menu-' + currentTrack?.id"
:style="`position-anchor1: --result-${currentTrack?.id}`"
class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
No mixable songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
No similar songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
response.json())
.then(data => {
playlists = data.success && Array.isArray(data.data) ? data.data : [];
isLoading = false;
})
.catch(() => { isLoading = false; });
} else {
isLoading = false;
}"
id="release-playlists-panel"
class="release-playlists-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
This track isn't in any playlists yet.
Premium content is available to members only. Please upgrade to access this content.
Another great list of the hottest dancehall as selected by our number one selecta DJ Chemics featuring new music by Valiant, Teejay, Masicka, and more:
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
response.json())
.then(data => {
similarSongs = data.success ? data.data : [];
isLoadingSimilarSongs = false;
});
// Load recommendations
if (currentTrack?.artist && currentTrack?.title) {
const formData = new FormData();
formData.append('action', 'get_spotify_recommendations');
formData.append('artist', currentTrack.artist);
formData.append('title', currentTrack.title);
fetch(hhMusicData.ajaxurl, {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
recommendations = data.success ? data.data.results : [];
isLoadingRecommendations = false;
})
.catch(() => {
isLoadingRecommendations = false;
});
} else {
isLoadingRecommendations = false;
}
} else {
isLoadingSimilarSongs = false;
isLoadingRecommendations = false;
}"
x-bind:id="'menu-' + currentTrack?.id"
:style="`position-anchor1: --result-${currentTrack?.id}`"
class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
No mixable songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
No similar songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
response.json())
.then(data => {
playlists = data.success && Array.isArray(data.data) ? data.data : [];
isLoading = false;
})
.catch(() => { isLoading = false; });
} else {
isLoading = false;
}"
id="release-playlists-panel"
class="release-playlists-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
This track isn't in any playlists yet.
Premium content is available to members only. Please upgrade to access this content.
DJ PAPI CRUZ is one of our latest editors has joined the team and has quickly become an essential contributor to Heavy Hits. His collection of energetic edits is sure to make the dancefloor move nonstop. We have curated a playlist featuring some of our favorite tracks from his extensive catalog that you can add to your crates. Check them out and get them in the rotation today:
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
response.json())
.then(data => {
similarSongs = data.success ? data.data : [];
isLoadingSimilarSongs = false;
});
// Load recommendations
if (currentTrack?.artist && currentTrack?.title) {
const formData = new FormData();
formData.append('action', 'get_spotify_recommendations');
formData.append('artist', currentTrack.artist);
formData.append('title', currentTrack.title);
fetch(hhMusicData.ajaxurl, {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
recommendations = data.success ? data.data.results : [];
isLoadingRecommendations = false;
})
.catch(() => {
isLoadingRecommendations = false;
});
} else {
isLoadingRecommendations = false;
}
} else {
isLoadingSimilarSongs = false;
isLoadingRecommendations = false;
}"
x-bind:id="'menu-' + currentTrack?.id"
:style="`position-anchor1: --result-${currentTrack?.id}`"
class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
No mixable songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
No similar songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
response.json())
.then(data => {
playlists = data.success && Array.isArray(data.data) ? data.data : [];
isLoading = false;
})
.catch(() => { isLoading = false; });
} else {
isLoading = false;
}"
id="release-playlists-panel"
class="release-playlists-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
This track isn't in any playlists yet.
Premium content is available to members only. Please upgrade to access this content.
Valeria Pashkova who is also known as DJ LERIKA is originally from Kharkov, Ukraine but now resides in Montreal. She’s rocked dancefloors in Ukraine, Mexico and currently doing so in Canada. Check out her brand new single “GOLOSA ” on all streaming servcies and her first entry in the HHP Podcast featuring high energy tracks ready to rock the dancefloor including music by Emmanuel Top, Soulside, Boca and of course her own tracks:
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
response.json())
.then(data => {
similarSongs = data.success ? data.data : [];
isLoadingSimilarSongs = false;
});
// Load recommendations
if (currentTrack?.artist && currentTrack?.title) {
const formData = new FormData();
formData.append('action', 'get_spotify_recommendations');
formData.append('artist', currentTrack.artist);
formData.append('title', currentTrack.title);
fetch(hhMusicData.ajaxurl, {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
recommendations = data.success ? data.data.results : [];
isLoadingRecommendations = false;
})
.catch(() => {
isLoadingRecommendations = false;
});
} else {
isLoadingRecommendations = false;
}
} else {
isLoadingSimilarSongs = false;
isLoadingRecommendations = false;
}"
x-bind:id="'menu-' + currentTrack?.id"
:style="`position-anchor1: --result-${currentTrack?.id}`"
class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
No mixable songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
No similar songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
response.json())
.then(data => {
playlists = data.success && Array.isArray(data.data) ? data.data : [];
isLoading = false;
})
.catch(() => { isLoading = false; });
} else {
isLoading = false;
}"
id="release-playlists-panel"
class="release-playlists-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
This track isn't in any playlists yet.
Premium content is available to members only. Please upgrade to access this content.
More absolute soca bangers guaranteed to keep the dance floor on fire from our one and only DJ Chemics
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
response.json())
.then(data => {
similarSongs = data.success ? data.data : [];
isLoadingSimilarSongs = false;
});
// Load recommendations
if (currentTrack?.artist && currentTrack?.title) {
const formData = new FormData();
formData.append('action', 'get_spotify_recommendations');
formData.append('artist', currentTrack.artist);
formData.append('title', currentTrack.title);
fetch(hhMusicData.ajaxurl, {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
recommendations = data.success ? data.data.results : [];
isLoadingRecommendations = false;
})
.catch(() => {
isLoadingRecommendations = false;
});
} else {
isLoadingRecommendations = false;
}
} else {
isLoadingSimilarSongs = false;
isLoadingRecommendations = false;
}"
x-bind:id="'menu-' + currentTrack?.id"
:style="`position-anchor1: --result-${currentTrack?.id}`"
class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
No mixable songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
No similar songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
response.json())
.then(data => {
playlists = data.success && Array.isArray(data.data) ? data.data : [];
isLoading = false;
})
.catch(() => { isLoading = false; });
} else {
isLoading = false;
}"
id="release-playlists-panel"
class="release-playlists-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
This track isn't in any playlists yet.
Premium content is available to members only. Please upgrade to access this content.
Netherlands has been one of the top countries to carry the torch of rap and hip hop since it’s inception 50 years ago. Our very own Princess Jasmine provides V3 of the series:
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
response.json())
.then(data => {
similarSongs = data.success ? data.data : [];
isLoadingSimilarSongs = false;
});
// Load recommendations
if (currentTrack?.artist && currentTrack?.title) {
const formData = new FormData();
formData.append('action', 'get_spotify_recommendations');
formData.append('artist', currentTrack.artist);
formData.append('title', currentTrack.title);
fetch(hhMusicData.ajaxurl, {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
recommendations = data.success ? data.data.results : [];
isLoadingRecommendations = false;
})
.catch(() => {
isLoadingRecommendations = false;
});
} else {
isLoadingRecommendations = false;
}
} else {
isLoadingSimilarSongs = false;
isLoadingRecommendations = false;
}"
x-bind:id="'menu-' + currentTrack?.id"
:style="`position-anchor1: --result-${currentTrack?.id}`"
class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
No mixable songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
No similar songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
response.json())
.then(data => {
playlists = data.success && Array.isArray(data.data) ? data.data : [];
isLoading = false;
})
.catch(() => { isLoading = false; });
} else {
isLoading = false;
}"
id="release-playlists-panel"
class="release-playlists-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
This track isn't in any playlists yet.
Premium content is available to members only. Please upgrade to access this content.