Spaces:
Running
Running
Download index.html from hackerGamer5/twitch: direct link, hf CLI and curl.
- Browser
- Download file 8.1 kB
-
https://huggingface.co/spaces/hackerGamer5/twitch/resolve/main/index.html
- Command line
-
hf download hf://spaces/hackerGamer5/twitch/index.html
-
curl -L -o index.html https://huggingface.co/spaces/hackerGamer5/twitch/resolve/main/index.html
8.1 kB
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Volto Ja Twitch Banner</title> | |
| <script src="https://cdn.tailwindcss.com"></script> | |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> | |
| <style> | |
| @keyframes float { | |
| 0%, 100% { transform: translateY(0) rotate(-1deg); } | |
| 50% { transform: translateY(-15px) rotate(1deg); } | |
| } | |
| @keyframes pulse { | |
| 0%, 100% { transform: scale(1); } | |
| 50% { transform: scale(1.05); } | |
| } | |
| @keyframes shine { | |
| 0% { background-position: -200% 0; } | |
| 100% { background-position: 200% 0; } | |
| } | |
| @keyframes border-glow { | |
| 0%, 100% { box-shadow: 0 0 15px 5px rgba(0, 122, 255, 0.5); } | |
| 50% { box-shadow: 0 0 25px 8px rgba(0, 122, 255, 0.8); } | |
| } | |
| @keyframes text-float { | |
| 0%, 100% { | |
| transform: translateY(0) rotate(-1deg) scale(1); | |
| text-shadow: 0 0 10px rgba(255, 255, 255, 0.5); | |
| } | |
| 25% { | |
| transform: translateY(-15px) rotate(2deg) scale(1.05); | |
| text-shadow: 0 5px 20px rgba(255, 255, 255, 0.8); | |
| } | |
| 50% { | |
| transform: translateY(0) rotate(3deg) scale(1); | |
| text-shadow: 0 0 15px rgba(255, 255, 255, 0.6); | |
| } | |
| 75% { | |
| transform: translateY(10px) rotate(-2deg) scale(1.03); | |
| text-shadow: 0 -5px 20px rgba(255, 255, 255, 0.8); | |
| } | |
| } | |
| @keyframes letter-wobble { | |
| 0%, 100% { transform: translateY(0) rotate(0deg); } | |
| 25% { transform: translateY(-10px) rotate(5deg); } | |
| 50% { transform: translateY(0) rotate(-5deg); } | |
| 75% { transform: translateY(5px) rotate(3deg); } | |
| } | |
| @keyframes color-shift { | |
| 0% { color: #ffffff; } | |
| 25% { color: #a5d8ff; } | |
| 50% { color: #ffffff; } | |
| 75% { color: #74c0fc; } | |
| 100% { color: #ffffff; } | |
| } | |
| .streamer-name { | |
| background: linear-gradient(90deg, #fff, #f0f0f0, #fff); | |
| background-size: 200% auto; | |
| background-clip: text; | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| animation: shine 3s linear infinite, text-float 4s ease-in-out infinite; | |
| display: inline-block; | |
| transform-origin: center; | |
| } | |
| .letter-animation { | |
| display: inline-block; | |
| animation: letter-wobble 3s ease-in-out infinite, color-shift 5s linear infinite; | |
| } | |
| .twitch-blue { | |
| background-color: #007aff; | |
| } | |
| .neon-border { | |
| border: 3px solid #007aff; | |
| box-shadow: 0 0 10px #007aff, inset 0 0 10px #007aff; | |
| } | |
| .follow-btn { | |
| transition: all 0.3s ease; | |
| } | |
| .follow-btn:hover { | |
| transform: translateY(-2px); | |
| box-shadow: 0 5px 15px rgba(0, 122, 255, 0.4); | |
| } | |
| .twitch-logo { | |
| filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.7)); | |
| } | |
| .sparkle { | |
| position: absolute; | |
| background: white; | |
| border-radius: 50%; | |
| pointer-events: none; | |
| transform: translate(-50%, -50%); | |
| animation: sparkle-fade 1s forwards; | |
| } | |
| @keyframes sparkle-fade { | |
| 0% { transform: translate(-50%, -50%) scale(0); opacity: 1; } | |
| 100% { transform: translate(-50%, -50%) scale(1); opacity: 0; } | |
| } | |
| </style> | |
| </head> | |
| <body class="bg-gray-900 min-h-screen flex items-center justify-center p-4"> | |
| <!-- Main banner container --> | |
| <div class="relative w-full max-w-4xl h-64 bg-gradient-to-br from-blue-800 via-blue-900 to-blue-800 rounded-xl overflow-hidden border-2 border-blue-700 shadow-2xl banner-container" style="animation: border-glow 3s ease-in-out infinite;"> | |
| <!-- Background pattern --> | |
| <div class="absolute inset-0 opacity-10" style="background-image: radial-gradient(circle, #007aff 1px, transparent 1px); background-size: 20px 20px;"></div> | |
| <!-- Floating elements --> | |
| <div class="absolute top-1/4 left-1/4 w-8 h-8 bg-blue-400 rounded-full opacity-30" style="animation: float 6s ease-in-out infinite;"></div> | |
| <div class="absolute bottom-1/3 right-1/4 w-6 h-6 bg-cyan-400 rounded-full opacity-30" style="animation: float 7s ease-in-out infinite 1s;"></div> | |
| <!-- Content container --> | |
| <div class="relative h-full flex flex-col justify-between p-6"> | |
| <!-- Top section with Twitch logo --> | |
| <div class="flex justify-between items-start"> | |
| <!-- Twitch logo box --> | |
| <div class="flex items-center bg-black bg-opacity-70 px-4 py-2 rounded-lg neon-border"> | |
| <i class="fab fa-twitch text-white text-2xl mr-2 twitch-logo"></i> | |
| <span class="text-white font-bold">Twitch</span> | |
| </div> | |
| </div> | |
| <!-- Center section with streamer name --> | |
| <div class="flex-grow flex items-center justify-center"> | |
| <div class="text-center"> | |
| <h1 class="text-7xl font-bold mb-2" id="streamer-name"> | |
| <span class="letter-animation" style="animation-delay: 0s">V</span> | |
| <span class="letter-animation" style="animation-delay: 0.1s">O</span> | |
| <span class="letter-animation" style="animation-delay: 0.2s">L</span> | |
| <span class="letter-animation" style="animation-delay: 0.3s">T</span> | |
| <span class="letter-animation" style="animation-delay: 0.4s">O</span> | |
| <span class="letter-animation" style="animation-delay: 0.5s"> </span> | |
| <span class="letter-animation" style="animation-delay: 0.6s">J</span> | |
| <span class="letter-animation" style="animation-delay: 0.7s">A</span> | |
| </h1> | |
| </div> | |
| </div> | |
| <!-- Bottom section with follow button --> | |
| <div class="flex justify-center"> | |
| <!-- Follow button --> | |
| <button class="follow-btn bg-blue-600 hover:bg-blue-700 text-white font-bold py-3 px-8 rounded-full flex items-center transition-all duration-300" style="animation: pulse 2s ease-in-out infinite;"> | |
| <i class="fas fa-heart mr-2"></i> | |
| Follow | |
| </button> | |
| </div> | |
| </div> | |
| <!-- Interactive sparkles (added with JavaScript) --> | |
| <div id="sparkle-container" class="absolute inset-0 pointer-events-none"></div> | |
| </div> | |
| <script> | |
| // Add sparkle effect on click | |
| document.querySelector('.banner-container').addEventListener('click', function(e) { | |
| const sparkle = document.createElement('div'); | |
| sparkle.className = 'sparkle'; | |
| sparkle.style.left = (e.pageX - this.getBoundingClientRect().left) + 'px'; | |
| sparkle.style.top = (e.pageY - this.getBoundingClientRect().top) + 'px'; | |
| sparkle.style.width = sparkle.style.height = Math.random() * 20 + 5 + 'px'; | |
| document.getElementById('sparkle-container').appendChild(sparkle); | |
| // Remove sparkle after animation | |
| setTimeout(() => { | |
| sparkle.remove(); | |
| }, 1000); | |
| }); | |
| // Follow button animation | |
| const followBtn = document.querySelector('.follow-btn'); | |
| followBtn.addEventListener('mouseenter', () => { | |
| followBtn.style.animation = 'none'; | |
| setTimeout(() => { | |
| followBtn.style.animation = 'pulse 2s ease-in-out infinite'; | |
| </html> |