deepsite-project / index.html
astro-coder's picture
use the uploaded image as background.I want a side bar with animations
53da700 verified
Raw
History Blame Contribute Delete
14.3 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MusiQue - AI-Powered Music Streaming</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://unpkg.com/feather-icons"></script>
<style>
body {
background-image: url('/static/uploaded-background.jpg');
background-size: cover;
background-position: center;
background-attachment: fixed;
}
.glass-effect {
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.2);
}
.music-card:hover {
transform: translateY(-5px);
transition: transform 0.3s ease;
}
.sidebar {
position: fixed;
top: 0;
left: -300px;
width: 300px;
height: 100vh;
background: rgba(139, 92, 246, 0.9);
backdrop-filter: blur(10px);
transition: left 0.4s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 1000;
overflow-y: auto;
}
.sidebar.active {
left: 0;
}
.sidebar-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
z-index: 999;
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
}
.sidebar-overlay.active {
opacity: 1;
visibility: visible;
}
.sidebar-header {
padding: 2rem 1.5rem;
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.sidebar-menu {
padding: 1rem 0;
}
.sidebar-menu a {
display: flex;
align-items: center;
padding: 1rem 1.5rem;
color: white;
text-decoration: none;
transition: background 0.3s ease;
}
.sidebar-menu a:hover {
background: rgba(255, 255, 255, 0.1);
}
.sidebar-menu i {
margin-right: 1rem;
width: 20px;
}
.menu-toggle {
background: none;
border: none;
color: white;
cursor: pointer;
padding: 0.5rem;
}
</style>
</head>
<body class="gradient-bg min-h-screen text-white">
<!-- Sidebar -->
<div class="sidebar-overlay" id="sidebarOverlay"></div>
<aside class="sidebar" id="sidebar">
<div class="sidebar-header">
<div class="flex items-center space-x-2">
<i data-feather="music" class="w-8 h-8"></i>
<h1 class="text-2xl font-bold">MusiQue</h1>
</div>
</div>
<nav class="sidebar-menu">
<a href="#" class="active">
<i data-feather="home"></i>
<span>Home</span>
</a>
<a href="#library">
<i data-feather="headphones"></i>
<span>Library</span>
</a>
<a href="#downloads">
<i data-feather="download"></i>
<span>Downloads</span>
</a>
<a href="#ai">
<i data-feather="cpu"></i>
<span>AI Assistant</span>
</a>
<a href="#">
<i data-feather="heart"></i>
<span>Favorites</span>
</a>
<a href="#">
<i data-feather="clock"></i>
<span>Recently Played</span>
</a>
<a href="#">
<i data-feather="settings"></i>
<span>Settings</span>
</a>
</nav>
</aside>
<!-- Navigation -->
<nav class="glass-effect p-4 sticky top-0 z-50">
<div class="container mx-auto flex justify-between items-center">
<div class="flex items-center space-x-4">
<button class="menu-toggle" id="menuToggle">
<i data-feather="menu" class="w-6 h-6"></i>
</button>
<div class="flex items-center space-x-2">
<i data-feather="music" class="w-8 h-8"></i>
<h1 class="text-2xl font-bold">MusiQue</h1>
</div>
</div>
<div class="hidden md:flex space-x-4">
<a href="#" class="hover:text-pink-200">Home</a>
<a href="#library" class="hover:text-pink-200">Library</a>
<a href="#downloads" class="hover:text-pink-200">Downloads</a>
<a href="#ai" class="hover:text-pink-200">AI Assistant</a>
</div>
</div>
</nav>
<!-- Hero Section -->
<section class="container mx-auto px-4 py-16 text-center">
<h2 class="text-5xl font-bold mb-4">Stream Millions of Songs</h2>
<p class="text-xl mb-8">AI-powered music discovery with offline download capabilities</p>
<div class="max-w-2xl mx-auto">
<div class="relative">
<input type="text"
placeholder="Search for songs, artists, or albums..."
class="w-full p-4 rounded-full bg-white/20 backdrop-blur-md border border-white/30 text-white placeholder-white/70 focus:outline-none focus:ring-2 focus:ring-pink-300">
<button class="absolute right-2 top-2 bg-pink-600 hover:bg-pink-700 p-2 rounded-full">
<i data-feather="search" class="w-5 h-5"></i>
</button>
</div>
</div>
</section>
<!-- Featured Music Section -->
<section id="library" class="container mx-auto px-4 py-12">
<h3 class="text-3xl font-bold mb-8">Featured Music</h3>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
<!-- Music Card 1 -->
<div class="music-card glass-effect rounded-lg p-4">
<img src="http://static.photos/music/320x240/1" alt="Album Cover" class="w-full rounded-lg mb-4">
<h4 class="font-semibold">Chill Vibes</h4>
<p class="text-sm text-gray-300">Various Artists</p>
<div class="flex justify-between items-center mt-4">
<button class="p-2 rounded-full bg-pink-600 hover:bg-pink-700">
<i data-feather="play" class="w-4 h-4"></i>
</button>
<button class="p-2 rounded-full bg-white/20 hover:bg-white/30">
<i data-feather="download" class="w-4 h-4"></i>
</button>
</div>
</div>
<!-- Repeat similar cards 3 more times -->
<div class="music-card glass-effect rounded-lg p-4">
<img src="http://static.photos/music/320x240/2" alt="Album Cover" class="w-full rounded-lg mb-4">
<h4 class="font-semibold">Energy Boost</h4>
<p class="text-sm text-gray-300">Top Hits</p>
<div class="flex justify-between items-center mt-4">
<button class="p-2 rounded-full bg-purple-600 hover:bg-purple-700">
<i data-feather="play" class="w-4 h-4"></i>
</button>
<button class="p-2 rounded-full bg-white/20 hover:bg-white/30">
<i data-feather="download" class="w-4 h-4"></i>
</button>
</div>
</div>
<div class="music-card glass-effect rounded-lg p-4">
<img src="http://static.photos/music/320x240/3" alt="Album Cover" class="w-full rounded-lg mb-4">
<h4 class="font-semibold">Focus Flow</h4>
<p class="text-sm text-gray-300">Study Beats</p>
<div class="flex justify-between items-center mt-4">
<button class="p-2 rounded-full bg-purple-600 hover:bg-purple-700">
<i data-feather="play" class="w-4 h-4"></i>
</button>
<button class="p-2 rounded-full bg-white/20 hover:bg-white/30">
<i data-feather="download" class="w-4 h-4"></i>
</button>
</div>
</div>
<div class="music-card glass-effect rounded-lg p-4">
<img src="http://static.photos/music/320x240/4" alt="Album Cover" class="w-full rounded-lg mb-4">
<h4 class="font-semibold">Relaxation</h4>
<p class="text-sm text-gray-300">Ambient Sounds</p>
<div class="flex justify-between items-center mt-4">
<button class="p-2 rounded-full bg-purple-600 hover:bg-purple-700">
<i data-feather="play" class="w-4 h-4"></i>
</button>
<button class="p-2 rounded-full bg-white/20 hover:bg-white/30">
<i data-feather="download" class="w-4 h-4"></i>
</button>
</div>
</div>
</div>
</section>
<!-- AI Assistant Section -->
<section id="ai" class="container mx-auto px-4 py-12">
<div class="glass-effect rounded-lg p-8">
<h3 class="text-3xl font-bold mb-4">AI Music Assistant</h3>
<p class="mb-6">Describe the music you want to hear and our AI will find the perfect matches</p>
<div class="flex space-x-4">
<input type="text"
placeholder="e.g., upbeat electronic music for working out"
class="flex-1 p-3 rounded-lg bg-white/20 backdrop-blur-md border border-white/30 text-white placeholder-white/70 focus:outline-none">
<button class="bg-pink-600 hover:bg-pink-700 px-6 py-3 rounded-lg font-semibold">
Generate
</button>
</div>
</div>
</section>
<!-- Downloads Section -->
<section id="downloads" class="container mx-auto px-4 py-12">
<h3 class="text-3xl font-bold mb-8">Your Downloads</h3>
<div class="glass-effect rounded-lg p-6">
<p class="text-center text-gray-300">No downloads yet. Start downloading your favorite music!</p>
</div>
</section>
<!-- Footer -->
<footer class="glass-effect mt-12 p-6">
<div class="container mx-auto text-center">
<p>&copy; 2024 MusiQue. Built with Jaclang and Byllm.</p>
</div>
</footer>
<!-- Audio Player (Hidden by default) -->
<div id="audioPlayer" class="fixed bottom-0 left-0 right-0 glass-effect p-4 hidden">
<div class="container mx-auto flex items-center justify-between">
<div class="flex items-center space-x-4">
<img src="http://static.photos/music/64x64/1" alt="Now Playing" class="w-12 h-12 rounded">
<div>
<h4 class="font-semibold">Song Title</h4>
<p class="text-sm text-gray-300">Artist</p>
</div>
</div>
<div class="flex items-center space-x-4">
<button>
<i data-feather="skip-back" class="w-5 h-5"></i>
</button>
<button class="bg-pink-600 rounded-full p-3">
<i data-feather="play" class="w-6 h-6"></i>
</button>
<button>
<i data-feather="skip-forward" class="w-5 h-5"></i>
</button>
</div>
<div class="flex-1 max-w-md">
<div class="flex items-center space-x-2">
<span class="text-sm">0:00</span>
<div class="flex-1 bg-white/20 rounded-full h-1">
<div class="bg-pink-600 h-1 rounded-full w-0"></div>
</div>
<span class="text-sm">0:00</span>
</div>
</div>
</div>
</div>
<script>
// Initialize feather icons
feather.replace();
// Sidebar functionality with animations
document.addEventListener('DOMContentLoaded', function() {
const sidebar = document.getElementById('sidebar');
const sidebarOverlay = document.getElementById('sidebarOverlay');
const menuToggle = document.getElementById('menuToggle');
// Toggle sidebar
function toggleSidebar() {
sidebar.classList.toggle('active');
sidebarOverlay.classList.toggle('active');
}
menuToggle.addEventListener('click', toggleSidebar);
sidebarOverlay.addEventListener('click', toggleSidebar);
// Close sidebar when clicking on a link (for mobile)
const sidebarLinks = document.querySelectorAll('.sidebar-menu a');
sidebarLinks.forEach(link => {
link.addEventListener('click', function() {
if (window.innerWidth < 768) {
toggleSidebar();
}
});
});
// Basic music player functionality
const playButtons = document.querySelectorAll('.music-card button:first-child');
const audioPlayer = document.getElementById('audioPlayer');
playButtons.forEach(button => {
button.addEventListener('click', function() {
audioPlayer.classList.remove('hidden');
// Simulate playing music
const card = this.closest('.music-card');
const title = card.querySelector('h4').textContent;
const artist = card.querySelector('p').textContent;
audioPlayer.querySelector('h4').textContent = title;
audioPlayer.querySelector('p').textContent = artist;
});
});
});
</script>
</body>
</html>