Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Groovy Vinyl Player</title> | |
| <link rel="icon" type="image/x-icon" href="/static/favicon.ico"> | |
| <link rel="stylesheet" href="style.css"> | |
| <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> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/howler/2.2.3/howler.min.js"></script> | |
| </head> | |
| <body class="bg-gradient-to-br from-gray-900 to-black text-white min-h-screen flex flex-col"> | |
| <custom-navbar></custom-navbar> | |
| <main class="flex-grow flex flex-col items-center justify-center p-4"> | |
| <div class="w-full max-w-md"> | |
| <div class="bg-gray-800 rounded-2xl p-8 shadow-2xl"> | |
| <div class="text-center mb-8"> | |
| <h1 class="text-3xl font-bold mb-2">Groovy Vinyl Player</h1> | |
| <p class="text-gray-400">Experience the nostalgia of vinyl</p> | |
| </div> | |
| <div class="relative mb-8"> | |
| <div class="w-64 h-64 mx-auto rounded-full bg-gradient-to-br from-amber-800 to-amber-900 flex items-center justify-center shadow-lg"> | |
| <div class="w-56 h-56 rounded-full bg-gradient-to-br from-amber-700 to-amber-800 flex items-center justify-center"> | |
| <div class="w-48 h-48 rounded-full bg-gradient-to-br from-amber-600 to-amber-700 flex items-center justify-center"> | |
| <div class="w-16 h-16 rounded-full bg-gray-900 flex items-center justify-center"> | |
| <div class="w-4 h-4 rounded-full bg-amber-400"></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div id="vinyl-needle" class="absolute top-0 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-1 h-24 bg-gray-300 origin-bottom transition-transform duration-300" style="transform: rotate(-30deg);"></div> | |
| </div> | |
| <div class="absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-24 h-24 rounded-full bg-gray-900 flex items-center justify-center"> | |
| <div class="w-16 h-16 rounded-full bg-gradient-to-br from-gray-700 to-gray-800 flex items-center justify-center"> | |
| <div class="w-8 h-8 rounded-full bg-gray-900"></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="text-center mb-6"> | |
| <h2 id="track-title" class="text-xl font-semibold">Select a track</h2> | |
| <p id="track-artist" class="text-gray-400">-</p> | |
| </div> | |
| <div class="mb-6"> | |
| <div class="flex justify-between text-sm text-gray-400 mb-1"> | |
| <span id="current-time">0:00</span> | |
| <span id="total-time">0:00</span> | |
| </div> | |
| <div class="h-2 bg-gray-700 rounded-full overflow-hidden"> | |
| <div id="progress-bar" class="h-full bg-amber-500 w-0 transition-all duration-300"></div> | |
| </div> | |
| </div> | |
| <div class="flex justify-center space-x-6"> | |
| <button id="prev-btn" class="p-3 rounded-full bg-gray-700 hover:bg-gray-600 transition-colors"> | |
| <i data-feather="skip-back" class="w-6 h-6"></i> | |
| </button> | |
| <button id="play-btn" class="p-4 rounded-full bg-amber-600 hover:bg-amber-500 transition-colors"> | |
| <i data-feather="play" class="w-8 h-8"></i> | |
| </button> | |
| <button id="next-btn" class="p-3 rounded-full bg-gray-700 hover:bg-gray-600 transition-colors"> | |
| <i data-feather="skip-forward" class="w-6 h-6"></i> | |
| </button> | |
| </div> | |
| </div> | |
| <div class="mt-8"> | |
| <h3 class="text-xl font-semibold mb-4">Playlist</h3> | |
| <div id="playlist" class="space-y-2"> | |
| <!-- Playlist items will be populated by JavaScript --> | |
| </div> | |
| </div> | |
| </div> | |
| </main> | |
| <custom-footer></custom-footer> | |
| <script src="components/navbar.js"></script> | |
| <script src="components/footer.js"></script> | |
| <script src="script.js"></script> | |
| <script>feather.replace();</script> | |
| <script src="https://huggingface.co/deepsite/deepsite-badge.js"></script> | |
| </body> | |
| </html> |