| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>Nitro Generator Tool</title> |
| <script src="https://cdn.tailwindcss.com"></script> |
| <link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet"> |
| <script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script> |
| <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script> |
| <script src="https://unpkg.com/feather-icons"></script> |
| <style> |
| .glow { |
| text-shadow: 0 0 10px rgba(255, 0, 255, 0.7); |
| } |
| .gradient-bg { |
| background: linear-gradient(135deg, #8a2be2 0%, #4b0082 100%); |
| } |
| .code-box { |
| font-family: 'Courier New', monospace; |
| letter-spacing: 1px; |
| } |
| .pulse { |
| animation: pulse 2s infinite; |
| } |
| @keyframes pulse { |
| 0% { transform: scale(1); } |
| 50% { transform: scale(1.05); } |
| 100% { transform: scale(1); } |
| } |
| </style> |
| </head> |
| <body class="min-h-screen bg-gray-900 text-white"> |
| <div class="gradient-bg min-h-screen flex flex-col"> |
| |
| <header class="py-6 px-4 sm:px-6 lg:px-8"> |
| <div class="flex justify-between items-center"> |
| <h1 class="text-2xl font-bold glow">NitroGen Pro</h1> |
| <div class="flex space-x-4"> |
| <button class="flex items-center space-x-1 bg-purple-800 hover:bg-purple-700 px-4 py-2 rounded-lg transition"> |
| <i data-feather="info"></i> |
| <span>About</span> |
| </button> |
| <button class="flex items-center space-x-1 bg-purple-800 hover:bg-purple-700 px-4 py-2 rounded-lg transition"> |
| <i data-feather="settings"></i> |
| <span>Settings</span> |
| </button> |
| </div> |
| </div> |
| </header> |
|
|
| |
| <main class="flex-grow flex flex-col items-center justify-center px-4 sm:px-6 lg:px-8" data-aos="fade-up"> |
| <div class="max-w-2xl w-full bg-gray-800 bg-opacity-50 backdrop-blur-lg rounded-xl p-8 shadow-2xl"> |
| <div class="text-center mb-8"> |
| <h2 class="text-3xl font-bold mb-2 glow">Discord Nitro Generator</h2> |
| <p class="text-gray-300">Generate random Discord Nitro gift codes instantly</p> |
| </div> |
|
|
| <div class="mb-8"> |
| <div class="flex justify-between items-center mb-4"> |
| <label class="text-lg font-medium">Number of codes</label> |
| <div class="flex items-center space-x-2"> |
| <button id="decrease" class="bg-purple-800 hover:bg-purple-700 w-8 h-8 rounded flex items-center justify-center"> |
| <i data-feather="minus"></i> |
| </button> |
| <input id="count" type="number" min="1" max="100" value="5" class="w-16 text-center bg-gray-700 rounded py-1"> |
| <button id="increase" class="bg-purple-800 hover:bg-purple-700 w-8 h-8 rounded flex items-center justify-center"> |
| <i data-feather="plus"></i> |
| </button> |
| </div> |
| </div> |
|
|
| <div class="flex justify-between items-center mb-6"> |
| <label class="text-lg font-medium">Code type</label> |
| <div class="flex space-x-4"> |
| <label class="flex items-center space-x-2"> |
| <input type="radio" name="type" value="classic" checked class="form-radio text-purple-500"> |
| <span>Classic</span> |
| </label> |
| <label class="flex items-center space-x-2"> |
| <input type="radio" name="type" value="boost" class="form-radio text-purple-500"> |
| <span>Boost</span> |
| </label> |
| </div> |
| </div> |
|
|
| <button id="generateBtn" class="w-full py-3 bg-purple-600 hover:bg-purple-500 rounded-lg font-bold text-lg pulse flex items-center justify-center space-x-2 transition"> |
| <i data-feather="zap"></i> |
| <span>Generate Codes</span> |
| </button> |
| </div> |
|
|
| <div id="results" class="hidden"> |
| <div class="flex justify-between items-center mb-4"> |
| <h3 class="text-xl font-medium">Generated Codes</h3> |
| <button id="copyAll" class="flex items-center space-x-1 bg-purple-800 hover:bg-purple-700 px-3 py-1 rounded text-sm"> |
| <i data-feather="copy"></i> |
| <span>Copy All</span> |
| </button> |
| </div> |
| <div id="codeList" class="space-y-2 max-h-64 overflow-y-auto p-2 bg-gray-900 rounded-lg"> |
| |
| </div> |
| <div class="mt-4 text-center text-sm text-gray-400"> |
| <p>These are randomly generated codes. There's no guarantee they will work.</p> |
| </div> |
| </div> |
| </div> |
| </main> |
|
|
| |
| <footer class="py-6 px-4 sm:px-6 lg:px-8 text-center text-gray-400 text-sm"> |
| <p>© 2023 NitroGen Pro. This tool is for educational purposes only.</p> |
| </footer> |
| </div> |
|
|
| <script> |
| document.addEventListener('DOMContentLoaded', () => { |
| feather.replace(); |
| AOS.init(); |
| |
| |
| const countInput = document.getElementById('count'); |
| document.getElementById('increase').addEventListener('click', () => { |
| countInput.value = Math.min(100, parseInt(countInput.value) + 1); |
| }); |
| document.getElementById('decrease').addEventListener('click', () => { |
| countInput.value = Math.max(1, parseInt(countInput.value) - 1); |
| }); |
| |
| |
| document.getElementById('generateBtn').addEventListener('click', () => { |
| const count = parseInt(countInput.value); |
| const type = document.querySelector('input[name="type"]:checked').value; |
| |
| |
| const codeList = document.getElementById('codeList'); |
| codeList.innerHTML = ''; |
| |
| |
| for (let i = 0; i < count; i++) { |
| const code = generateCode(type); |
| const codeElement = document.createElement('div'); |
| codeElement.className = 'flex justify-between items-center bg-gray-700 p-3 rounded code-box'; |
| codeElement.innerHTML = ` |
| <span>${code}</span> |
| <button class="copy-btn flex items-center space-x-1 bg-purple-800 hover:bg-purple-700 px-2 py-1 rounded text-xs" data-code="${code}"> |
| <i data-feather="copy" class="w-3 h-3"></i> |
| <span>Copy</span> |
| </button> |
| `; |
| codeList.appendChild(codeElement); |
| } |
| |
| |
| document.getElementById('results').classList.remove('hidden'); |
| |
| |
| document.getElementById('results').scrollIntoView({ behavior: 'smooth' }); |
| |
| |
| feather.replace(); |
| |
| |
| document.querySelectorAll('.copy-btn').forEach(btn => { |
| btn.addEventListener('click', (e) => { |
| const code = e.currentTarget.getAttribute('data-code'); |
| navigator.clipboard.writeText(code); |
| |
| |
| const icon = e.currentTarget.querySelector('i'); |
| icon.setAttribute('data-feather', 'check'); |
| feather.replace(); |
| |
| setTimeout(() => { |
| icon.setAttribute('data-feather', 'copy'); |
| feather.replace(); |
| }, 1000); |
| }); |
| }); |
| }); |
| |
| |
| document.getElementById('copyAll').addEventListener('click', () => { |
| const codes = Array.from(document.querySelectorAll('.copy-btn')).map(btn => btn.getAttribute('data-code')); |
| navigator.clipboard.writeText(codes.join('\n')); |
| |
| |
| const icon = document.getElementById('copyAll').querySelector('i'); |
| icon.setAttribute('data-feather', 'check'); |
| feather.replace(); |
| |
| setTimeout(() => { |
| icon.setAttribute('data-feather', 'copy'); |
| feather.replace(); |
| }, 1000); |
| }); |
| |
| |
| function generateCode(type) { |
| const prefix = type === 'boost' ? 'https://discord.gift/' : 'https://discord.com/gifts/'; |
| const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; |
| let code = ''; |
| |
| for (let i = 0; i < 16; i++) { |
| code += chars.charAt(Math.floor(Math.random() * chars.length)); |
| } |
| |
| return prefix + code; |
| } |
| }); |
| </script> |
| </body> |
| </html> |
|
|