Our resident party rocker DJ AndOne is back with his picks of dancehall originals, edits and remixes every DJ should have to make the club whine their body.
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.
Philly born Lil Uzi Vert broke into scene with “Bad & Boujee” and has been dropping heat ever since. his debut single “Money Longer”. Since then, he’s blessed us with certified bangers like “XO Tour Life”, “Sauce It Up” and “You Was Right”. Check out Lil Uzi’s best tunes to date. Curated by 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.
Stack your library up with songs every DJ should have for this weekend! Curated by the taco loving super editor 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.
Checking in from Glasgow, Scotland with the 30th edition of the podcast we have former Red Bull champ and all around good guy: DJ Big Al . Al is a longtime resident in all of Glasgow’s top clubs, tours around the world and has opened up for the likes of Snoop Dogg, Mark Ronson, Fatman Scoop and many more. On this mix Al shows off his versatility and seamless mixing skills bouncing around latin, international, hip hop, old school and more with an excellent selection of remixes perfect for the summertime. Thank you Big Al!
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.
K-Pop (Korean Pop) has been popping in South Korea since the 1990s. Over the past 5 years the genre has made international waves gaining fans all over the globe. We share our top K-Pop hits from the past two decades that every DJ should have in their crate.
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.
Los Angeles native Dillon Francis has been a force in the electronic music scene since 2010. He’s released music on top labels such as Dim Mak, Mad Decent, Colombia, Astralwerks, Play Me, Fool’s Gold and many more and he has collaborated with superstar acts like Diplo, Kygo, DJ Snake, G-Eazy and Skrillex for starters. Check out our favorites from his deep discography that span through the subgenres of electro pop, Trap, Moombahton, Twerk, Bass House and beyond.
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.
Hip hop flourished in the 1980s with pioneers like Grandmaster Flash, Public Enemy, Eric B & Rakim, The Beastie Boys and LL Cool J leading the way. We pay homage to the OGs who paved the way for all hip hop artists today with an essential playlist curated by our throwback specialist out of Paris: DJ Noise
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
response.json())
.then(data => {
similarSongs = data.success ? data.data : [];
isLoadingSimilarSongs = false;
});
// Load recommendations
if (currentTrack?.artist && currentTrack?.title) {
const formData = new FormData();
formData.append('action', 'get_spotify_recommendations');
formData.append('artist', currentTrack.artist);
formData.append('title', currentTrack.title);
fetch(hhMusicData.ajaxurl, {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
recommendations = data.success ? data.data.results : [];
isLoadingRecommendations = false;
})
.catch(() => {
isLoadingRecommendations = false;
});
} else {
isLoadingRecommendations = false;
}
} else {
isLoadingSimilarSongs = false;
isLoadingRecommendations = false;
}"
x-bind:id="'menu-' + currentTrack?.id"
:style="`position-anchor1: --result-${currentTrack?.id}`"
class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
No mixable songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
No similar songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
response.json())
.then(data => {
playlists = data.success && Array.isArray(data.data) ? data.data : [];
isLoading = false;
})
.catch(() => { isLoading = false; });
} else {
isLoading = false;
}"
id="release-playlists-panel"
class="release-playlists-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
This track isn't in any playlists yet.
Premium content is available to members only. Please upgrade to access this content.
DJ Dazzle from New Zealand is a young gun slowly making a name for himself in the nightclub and battle scene down under. Last year he placed 3rd at the New Zealand DMC’s and recently placed 1st at the Burgerfuel Cut Class Dj Competition. You can catch him playing at some of the hottest clubs in Auckland nearly every weekend. Dazzle doesn’t say much he lets his hands and skills speak for himself. Check out his podcast mix and download some of your favorite tracks/edits below!
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.
Latin pop curated by our resident editor in the Caribbean 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.
Need something to keep people grooving before primetime? We’ve got you covered. Fresh lounge house picks by our resident editor DJ AndOne featuring remixes and originals by Disclosure, Hayden James, Purple Disco Machine, Hook N Sling 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.