harmonic-nexus / explore.html
Lonrrr's picture
make the play button 25% smaller.
bb0cdf1 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Harmonic Nexus | Explore</title>
<link rel="icon" type="image/x-icon" href="/static/favicon.ico">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/animejs/lib/anime.iife.min.js"></script>
<script>
tailwind.config = {
theme: {
extend: {
colors: {
primary: '#121212',
secondary: '#7FFFD4',
accent: '#1E1E1E',
neon: {
cyan: '#00FFFF',
magenta: '#FF00FF',
purple: '#9D00FF'
}
},
backdropBlur: {
xs: '4px',
},
fontFamily: {
futura: ['"Orbitron"', 'sans-serif'],
mono: ['"Roboto Mono"', 'monospace']
},
}
}
}
</script>
<style>
.glass-panel {
background: rgba(30, 30, 30, 0.7);
backdrop-filter: blur(12px);
border: 1px solid rgba(127, 255, 212, 0.2);
border-radius: 16px;
}
.glow-effect {
box-shadow: 0 0 15px rgba(127, 255, 212, 0.4);
transition: all 0.3s ease;
}
.waveform {
background: linear-gradient(90deg, #7FFFD4, #7FFFD400);
animation: pulse 2s infinite alternate;
}
.explore-card {
transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.explore-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 25px rgba(0, 255, 255, 0.3);
}
@keyframes pulse {
0% { opacity: 0.8; }
100% { opacity: 1; }
}
.neon-text {
text-shadow: 0 0 5px rgba(127, 255, 212, 0.7);
}
.search-input {
background: rgba(30, 30, 30, 0.5);
border: 1px solid rgba(127, 255, 212, 0.3);
}
.search-input:focus {
outline: none;
border-color: #7FFFD4;
box-shadow: 0 0 0 2px rgba(127, 255, 212, 0.2);
}
</style>
</head>
<body class="bg-primary text-white min-h-screen pb-16 font-mono relative overflow-x-hidden">
<div class="absolute inset-0 opacity-5 pointer-events-none" style="background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHBhdHRlcm4gaWQ9InBhdHRlcm4iIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHBhdGggZD0iTSAwIDEwIEwgMTAgMCBRIDUgNSAwIDEwIiBmaWxsPSJub25lIiBzdHJva2U9IiMwMGZmZmYiIHN0cm9rZS13aWR0aD0iMC4yIi8+PC9wYXR0ZXJuPjwvZGVmcz48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI3BhdHRlcm4pIi8+PC9zdmc+')">
</div>
<div class="container mx-auto px-4">
<header class="py-6 flex justify-between items-center border-b border-accent">
<h1 class="text-3xl font-bold text-secondary font-futura neon-text">AUDELY <span class="text-xs opacity-70">//v0.9.5</span></h1>
<button class="glass-panel p-2 rounded-full hover:glow-effect">
<i data-feather="bell"></i>
</button>
</header>
<main>
<!-- Search Bar -->
<div class="glass-panel rounded-full p-3 my-6 flex items-center search-input">
<i data-feather="search" class="text-secondary mr-3"></i>
<input type="text" placeholder="SEARCH ARTISTS, SONGS, GENRES..." class="bg-transparent flex-1 focus:outline-none placeholder:text-secondary/50">
</div>
<!-- Categories -->
<div class="mb-6">
<h2 class="text-xl font-bold mb-4">Categories</h2>
<div class="flex space-x-3 overflow-x-auto pb-2">
<button class="glass-panel px-4 py-2 rounded-full whitespace-nowrap hover:glow-effect font-futura text-sm tracking-wider">HIP HOP</button>
<button class="glass-panel px-4 py-2 rounded-full whitespace-nowrap hover:glow-effect">Electronic</button>
<button class="glass-panel px-4 py-2 rounded-full whitespace-nowrap hover:glow-effect">R&B</button>
<button class="glass-panel px-4 py-2 rounded-full whitespace-nowrap hover:glow-effect">Pop</button>
<button class="glass-panel px-4 py-2 rounded-full whitespace-nowrap hover:glow-effect">Rock</button>
<button class="glass-panel px-4 py-2 rounded-full whitespace-nowrap hover:glow-effect">Lo-Fi</button>
</div>
</div>
<!-- Recommended Collaborations -->
<div class="mb-8">
<div class="flex justify-between items-center mb-4">
<h2 class="text-xl font-bold">Recommended Collaborations</h2>
<button class="text-secondary text-sm">See All</button>
</div>
<div class="grid grid-cols-2 gap-4">
<!-- Collab Card 1 -->
<div class="glass-panel explore-card rounded-xl p-4 hover:glow-effect">
<div class="relative mb-3">
<img src="http://static.photos/music/320x240/30" class="w-full h-32 rounded-lg object-cover">
<div class="absolute inset-0 bg-gradient-to-t from-primary to-transparent opacity-80 rounded-lg"></div>
<div class="absolute bottom-2 left-2">
<h3 class="font-bold">Producer</h3>
<p class="text-xs">Needs vocalist</p>
</div>
</div>
<button class="w-full bg-secondary text-primary py-2 rounded-full text-sm font-medium">Connect</button>
</div>
<!-- Collab Card 2 -->
<div class="glass-panel explore-card rounded-xl p-4 hover:glow-effect">
<div class="relative mb-3">
<img src="http://static.photos/music/320x240/31" class="w-full h-32 rounded-lg object-cover">
<div class="absolute inset-0 bg-gradient-to-t from-primary to-transparent opacity-80 rounded-lg"></div>
<div class="absolute bottom-2 left-2">
<h3 class="font-bold">Vocalist</h3>
<p class="text-xs">Needs producer</p>
</div>
</div>
<button class="w-full bg-secondary text-primary py-2 rounded-full text-sm font-medium">Connect</button>
</div>
</div>
</div>
<!-- Trending Now -->
<div class="mb-8">
<div class="flex justify-between items-center mb-4">
<h2 class="text-xl font-bold">Trending Now</h2>
<button class="text-secondary text-sm">See All</button>
</div>
<div class="grid grid-cols-2 gap-4">
<!-- Trend Card 1 -->
<div class="glass-panel explore-card rounded-xl overflow-hidden hover:glow-effect">
<img src="http://static.photos/music/320x240/32" class="w-full h-32 object-cover">
<div class="p-3">
<h3 class="font-medium truncate">Midnight Dreams</h3>
<p class="text-xs opacity-70 truncate">ProducerPro</p>
<div class="flex justify-between items-center mt-2">
<div class="flex items-center space-x-1">
<i data-feather="heart" class="w-3 h-3"></i>
<span class="text-xs">1.2K</span>
</div>
<button class="bg-secondary text-primary p-1 rounded-full" style="transform: scale(0.75);">
<i data-feather="play" class="w-3 h-3"></i>
</button>
</div>
</div>
</div>
<!-- Trend Card 2 -->
<div class="glass-panel explore-card rounded-xl overflow-hidden hover:glow-effect">
<img src="http://static.photos/music/320x240/33" class="w-full h-32 object-cover">
<div class="p-3">
<h3 class="font-medium truncate">Electric Feel</h3>
<p class="text-xs opacity-70 truncate">SynthMaster</p>
<div class="flex justify-between items-center mt-2">
<div class="flex items-center space-x-1">
<i data-feather="heart" class="w-3 h-3"></i>
<span class="text-xs">987</span>
</div>
<button class="bg-secondary text-primary p-1 rounded-full">
<i data-feather="play" class="w-3 h-3"></i>
</button>
</div>
</div>
</div>
</div>
</div>
<!-- New Releases -->
<div class="mb-8">
<div class="flex justify-between items-center mb-4">
<h2 class="text-xl font-bold">New Releases</h2>
<button class="text-secondary text-sm">See All</button>
</div>
<div class="space-y-4">
<!-- Release 1 -->
<div class="glass-panel explore-card rounded-lg p-3 flex items-center hover:glow-effect">
<img src="http://static.photos/music/200x200/34" class="w-12 h-12 rounded-lg mr-3">
<div class="flex-1 min-w-0">
<h3 class="font-medium truncate">Ocean Breeze</h3>
<p class="text-xs opacity-70 truncate">WaveMaker • 2 hours ago</p>
</div>
<button class="bg-secondary text-primary p-2 rounded-full">
<i data-feather="play"></i>
</button>
</div>
<!-- Release 2 -->
<div class="glass-panel explore-card rounded-lg p-3 flex items-center hover:glow-effect">
<img src="http://static.photos/music/200x200/35" class="w-12 h-12 rounded-lg mr-3">
<div class="flex-1 min-w-0">
<h3 class="font-medium truncate">City Soul</h3>
<p class="text-xs opacity-70 truncate">UrbanPoet • 5 hours ago</p>
</div>
<button class="bg-secondary text-primary p-2 rounded-full">
<i data-feather="play"></i>
</button>
</div>
</div>
</div>
</main>
</div>
<!-- Bottom Navigation -->
<div class="fixed bottom-0 left-0 right-0 bg-primary/80 border-t border-secondary/20 backdrop-blur-lg z-50">
<div class="container mx-auto px-4 py-3">
<div class="flex justify-around">
<a href="index.html" class="flex flex-col items-center opacity-70 hover:opacity-100">
<i data-feather="home"></i>
<span class="text-xs mt-1">Home</span>
</a>
<a href="charts.html" class="flex flex-col items-center opacity-70 hover:opacity-100">
<i data-feather="trending-up"></i>
<span class="text-xs mt-1">Charts</span>
</a>
<a href="#" class="flex flex-col items-center text-secondary">
<i data-feather="compass"></i>
<span class="text-xs mt-1">Explore</span>
</a>
<a href="profile.html" class="flex flex-col items-center opacity-70 hover:opacity-100">
<i data-feather="user"></i>
<span class="text-xs mt-1">Profile</span>
</a>
</div>
</div>
</div>
<script>
feather.replace();
// Add ripple effect to category buttons
document.querySelectorAll('.flex button').forEach(btn => {
btn.addEventListener('click', (e) => {
const ripple = document.createElement('span');
ripple.classList.add('ripple-effect');
btn.appendChild(ripple);
const x = e.clientX - e.target.getBoundingClientRect().left;
const y = e.clientY - e.target.getBoundingClientRect().top;
ripple.style.left = `${x}px`;
ripple.style.top = `${y}px`;
setTimeout(() => {
ripple.remove();
}, 1000);
});
});
// Animate cards on load
anime({
targets: '.explore-card',
translateY: [20, 0],
opacity: [0, 1],
easing: 'easeOutQuad',
duration: 800,
delay: anime.stagger(100)
});
anime({
targets: '.explore-card',
opacity: [0, 1],
translateY: [20, 0],
easing: 'easeOutQuad',
duration: 800,
delay: anime.stagger(100)
});
</script>
</body>
</html>