| <!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> |