New exclusives straight from the studio into your crates and onto the dance floor. You’ll only find these right here featuring works by Deelan, JEKEY, Isaac Jordan, EwOne!, DJ AndOne, DJ Mighty, Bangarang, DJ Noise, Jay-L, Oio & DJ Schuller.
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.
100% certified hip-hop and R&B anthems to set things off as curated by AND ONE featuring Usher, T-Pain, Wiz Khalifa and so 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.
A playlist of perfect pop tunes to start the night off featuring a balanced selection of new tracks and throwback hits as curated by Jay-L
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.
This summer’s hottest afrobeats ready to turn the party out featuring tunes by Burna Boy, A-Star, Waje and more as selected by our main man in Barcelona: JEKEY
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.
Acapella outs are special edits made for DJs that end with 8 Bars of acapella perfect for creative transitioning, live mashing, Looping and scratching into the next song. HH super editor DJ AndOne picks some of his favorites to get into your rotation featuring edits by Panchino Perez, DJ Sadee, Igorito, DJ Schuller, Isaac Jordan, Fiinest, DJ AndOne 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.
Acapella Ins are special edits made for DJs that begin with 4 or 8 Bars of acapella perfect for creative transitioning, live mashing and scratching into the next song. DJ AND ONE picks some of his favorites to get into your rotation featuring fresh dj friendly productions by JEKEY, EwOne!, Isaac Jordan, DJ Mighty, DJ Sadee, DJ Noise, DJ AndOne and Fiinest.
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.
This week’s top tunes featuring Chris Brown, Post Malone, Afro B, French Montana and more as selected by our man in Washington DC: DJ AndOne
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.
Former Disney Channel star Selena Gomez has established herself as a top tier pop star over the years with 3 top ten albums and over 22 million singles sold to date. Check her top tunes perfect for the top40 crowds, private events and family friendly parties.
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 top 40 singles in the UK according to BBC Radio 1! Week ending July 26th 2019 with some of our favorite tunes across the pond. Get those crates ready for the weekend right here.
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.
Former DMC Champ, Open Format Party Rocker, International Touring DJ, Top tier remixer and super editor: JEKEY is a highly decorated veteran behind the decks with over 20 years experience. He’s played in just about every country on the planet and has shared the stage with some of the best in the music industry including David Guetta, Afrojack, Carl Cox, Steve Aoki, Diplo, Skrillex, A-trak, Grand Master Flash and DJ Jazzy Jeff. We’re proud to have JEKEY as one of our lead editors, check some of our favorites from his deep catalog where you’ll find exclusively on Heavy Hits.
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.