| | <!DOCTYPE html> |
| | <html lang="en"> |
| | <head> |
| | <meta charset="UTF-8"> |
| | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| | <title>RetroPlay Giveaways - Winners</title> |
| | <style> |
| | |
| | .winner-card { |
| | background: linear-gradient(135deg, #111827, #1a2332); |
| | border-radius: var(--radius-lg); |
| | padding: 1.5rem; |
| | margin-bottom: 1.5rem; |
| | border-left: 4px solid var(--accent-primary); |
| | box-shadow: var(--shadow-md); |
| | transition: all var(--transition); |
| | } |
| | |
| | .winner-card:hover { |
| | transform: translateY(-5px); |
| | box-shadow: var(--shadow-lg); |
| | } |
| | |
| | .winner-header { |
| | display: flex; |
| | align-items: center; |
| | gap: 1rem; |
| | margin-bottom: 1rem; |
| | } |
| | |
| | .winner-avatar { |
| | width: 60px; |
| | height: 60px; |
| | border-radius: 50%; |
| | object-fit: cover; |
| | border: 3px solid var(--accent-primary); |
| | } |
| | |
| | .winner-info h4 { |
| | font-size: 1.25rem; |
| | margin-bottom: 0.25rem; |
| | } |
| | |
| | .winner-info p { |
| | color: var(--text-secondary); |
| | font-size: 0.9rem; |
| | } |
| | |
| | .winner-game { |
| | display: flex; |
| | align-items: center; |
| | gap: 1rem; |
| | padding: 1rem; |
| | background: rgba(255,255,255,0.05); |
| | border-radius: var(--radius-md); |
| | margin-top: 1rem; |
| | } |
| | |
| | .winner-game img { |
| | width: 80px; |
| | height: 45px; |
| | border-radius: var(--radius-sm); |
| | object-fit: cover; |
| | } |
| | |
| | .winner-game-info h5 { |
| | font-size: 1rem; |
| | margin-bottom: 0.25rem; |
| | } |
| | |
| | .winner-game-info small { |
| | color: var(--text-muted); |
| | font-size: 0.8rem; |
| | } |
| | |
| | .confetti { |
| | position: fixed; |
| | width: 10px; |
| | height: 10px; |
| | background: var(--accent-primary); |
| | opacity: 0; |
| | animation: confetti-fall 5s linear forwards; |
| | z-index: 1000; |
| | } |
| | |
| | @keyframes confetti-fall { |
| | 0% { |
| | transform: translateY(-100vh) rotate(0deg); |
| | opacity: 1; |
| | } |
| | 100% { |
| | transform: translateY(100vh) rotate(360deg); |
| | opacity: 0; |
| | } |
| | } |
| | </style> |
| | </head> |
| | <body> |
| | <nav class="navbar"> |
| | <div class="nav-container"> |
| | <a href="index.html" class="nav-logo"> |
| | <img src="https://linktree.retroplay.ro/images/logo-square.png" alt="RetroPlay"> |
| | <div class="nav-logo-text"> |
| | <h1>RetroPlay</h1> |
| | <p>Winners</p> |
| | </div> |
| | </a> |
| | |
| | <div class="nav-links"> |
| | <a href="index.html" class="nav-link" data-page="home">🎮 Giveaways</a> |
| | <a href="#" class="nav-link" data-page="my-entries">📝 My Entries</a> |
| | <a href="#" class="nav-link active" data-page="winners">🏆 Winners</a> |
| | <a href="#" class="nav-link" data-page="leaderboard">🏅 Leaderboard</a> |
| | </div> |
| |
|
| | <div class="nav-actions"> |
| | <button class="btn-nav btn-secondary" id="btnUserMenu"> |
| | <span>👤</span> |
| | <span id="userName">Login</span> |
| | </button> |
| | </div> |
| | </div> |
| | </nav> |
| |
|
| | <main class="container"> |
| | <section class="hero"> |
| | <div class="hero-content"> |
| | <h2>🏆 Recent Winners</h2> |
| | <p>Celebrate our latest giveaway champions and get inspired to join the next one!</p> |
| | </div> |
| | </section> |
| |
|
| | <div id="winnersContainer"> |
| | |
| | </div> |
| | </main> |
| |
|
| | <script> |
| | |
| | const winnersData = [ |
| | { |
| | id: 1, |
| | name: "GamerPro123", |
| | avatar: "http://static.photos/gaming/200x200/1", |
| | country: "Romania", |
| | game: "Cyberpunk 2077", |
| | gameImage: "https://images.unsplash.com/photo-1542751371-adc38448a05e?w=800&q=80", |
| | platform: "Steam", |
| | date: "2023-05-15", |
| | points: 450 |
| | }, |
| | { |
| | id: 2, |
| | name: "PixelHunter", |
| | avatar: "http://static.photos/gaming/200x200/2", |
| | country: "USA", |
| | game: "Starfield", |
| | gameImage: "https://images.unsplash.com/photo-1614732414444-096e5f1122d5?w=800&q=80", |
| | platform: "Xbox", |
| | date: "2023-05-10", |
| | points: 380 |
| | }, |
| | { |
| | id: 3, |
| | name: "IndieQueen", |
| | avatar: "http://static.photos/gaming/200x200/3", |
| | country: "Germany", |
| | game: "Hades II", |
| | gameImage: "https://images.unsplash.com/photo-1509198397868-475647b2a1e5?w=800&q=80", |
| | platform: "Epic", |
| | date: "2023-05-05", |
| | points: 520 |
| | }, |
| | { |
| | id: 4, |
| | name: "RetroLover", |
| | avatar: "http://static.photos/gaming/200x200/4", |
| | country: "France", |
| | game: "Baldur's Gate 3", |
| | gameImage: "https://images.unsplash.com/photo-1551103782-8ab07afd45c1?w=800&q=80", |
| | platform: "Steam", |
| | date: "2023-04-28", |
| | points: 600 |
| | }, |
| | { |
| | id: 5, |
| | name: "SpeedRunner99", |
| | avatar: "http://static.photos/gaming/200x200/5", |
| | country: "UK", |
| | game: "Elden Ring", |
| | gameImage: "https://images.unsplash.com/photo-1538481199705-c710c4e965fc?w=800&q=80", |
| | platform: "Steam", |
| | date: "2023-04-20", |
| | points: 420 |
| | } |
| | ]; |
| | |
| | document.addEventListener('DOMContentLoaded', () => { |
| | renderWinners(); |
| | createConfetti(); |
| | }); |
| | |
| | function renderWinners() { |
| | const container = document.getElementById('winnersContainer'); |
| | |
| | winnersData.forEach(winner => { |
| | const card = document.createElement('div'); |
| | card.className = 'winner-card'; |
| | |
| | card.innerHTML = ` |
| | <div class="winner-header"> |
| | <img src="${winner.avatar}" alt="${winner.name}" class="winner-avatar"> |
| | <div class="winner-info"> |
| | <h4>${winner.name}</h4> |
| | <p>🇺🇸 ${winner.country} • Won on ${winner.date} with ${winner.points} points</p> |
| | </div> |
| | </div> |
| | <div class="winner-game"> |
| | <img src="${winner.gameImage}" alt="${winner.game}"> |
| | <div class="winner-game-info"> |
| | <h5>${winner.game}</h5> |
| | <small>Platform: ${winner.platform}</small> |
| | </div> |
| | </div> |
| | `; |
| | |
| | container.appendChild(card); |
| | }); |
| | } |
| | |
| | function createConfetti() { |
| | const colors = ['#6366f1', '#8b5cf6', '#ec4899', '#f43f5e', '#f59e0b']; |
| | |
| | for (let i = 0; i < 100; i++) { |
| | const confetti = document.createElement('div'); |
| | confetti.className = 'confetti'; |
| | confetti.style.left = Math.random() * 100 + 'vw'; |
| | confetti.style.backgroundColor = colors[Math.floor(Math.random() * colors.length)]; |
| | confetti.style.width = Math.random() * 10 + 5 + 'px'; |
| | confetti.style.height = Math.random() * 10 + 5 + 'px'; |
| | confetti.style.animationDelay = Math.random() * 5 + 's'; |
| | confetti.style.animationDuration = Math.random() * 3 + 3 + 's'; |
| | |
| | document.body.appendChild(confetti); |
| | } |
| | } |
| | </script> |
| | </body> |
| | </html> |