| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>i18n Setup | QuantumCode</title> |
| <link rel="icon" type="image/x-icon" href="/static/favicon.ico"> |
| <script src="https://cdn.tailwindcss.com"></script> |
| <script src="https://unpkg.com/feather-icons"></script> |
| <style> |
| @import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap'); |
| |
| body { |
| font-family: 'Space Grotesk', sans-serif; |
| background-color: #0f172a; |
| color: #e2e8f0; |
| } |
| |
| .gradient-text { |
| background: linear-gradient(90deg, #7c3aed 0%, #2563eb 100%); |
| -webkit-background-clip: text; |
| background-clip: text; |
| color: transparent; |
| } |
| |
| .glass-card { |
| background: rgba(15, 23, 42, 0.7); |
| backdrop-filter: blur(10px); |
| border: 1px solid rgba(255, 255, 255, 0.1); |
| border-radius: 1rem; |
| } |
| |
| .language-option { |
| transition: all 0.2s ease; |
| } |
| |
| .language-option:hover { |
| transform: scale(1.05); |
| background: rgba(124, 58, 237, 0.1); |
| } |
| </style> |
| </head> |
| <body class="min-h-screen flex items-center justify-center"> |
| <div class="container mx-auto px-4 py-12"> |
| <div class="max-w-md mx-auto glass-card p-8"> |
| <div class="text-center mb-8"> |
| <div class="flex justify-center mb-4"> |
| <i data-feather="globe" class="text-indigo-500 w-12 h-12"></i> |
| </div> |
| <h1 class="text-3xl font-bold gradient-text mb-2">Select Language</h1> |
| <p class="text-slate-300">Choose your preferred language</p> |
| </div> |
|
|
| <div class="grid grid-cols-2 gap-4 mb-8"> |
| <div class="language-option flex items-center p-4 rounded-lg cursor-pointer border border-slate-700" data-lang="en"> |
| <img src="https://flagcdn.com/w20/gb.png" class="w-6 h-4 mr-3"> |
| <span>English</span> |
| </div> |
| <div class="language-option flex items-center p-4 rounded-lg cursor-pointer border border-slate-700" data-lang="ru"> |
| <img src="https://flagcdn.com/w20/ru.png" class="w-6 h-4 mr-3"> |
| <span>Русский</span> |
| </div> |
| <div class="language-option flex items-center p-4 rounded-lg cursor-pointer border border-slate-700" data-lang="tj"> |
| <img src="https://flagcdn.com/w20/tj.png" class="w-6 h-4 mr-3"> |
| <span>Тоҷикӣ</span> |
| </div> |
| <div class="language-option flex items-center p-4 rounded-lg cursor-pointer border border-slate-700" data-lang="uz"> |
| <img src="https://flagcdn.com/w20/uz.png" class="w-6 h-4 mr-3"> |
| <span>O'zbekcha</span> |
| </div> |
| <div class="language-option flex items-center p-4 rounded-lg cursor-pointer border border-slate-700" data-lang="kg"> |
| <img src="https://flagcdn.com/w20/kg.png" class="w-6 h-4 mr-3"> |
| <span>Кыргызча</span> |
| </div> |
| <div class="language-option flex items-center p-4 rounded-lg cursor-pointer border border-slate-700" data-lang="ua"> |
| <img src="https://flagcdn.com/w20/ua.png" class="w-6 h-4 mr-3"> |
| <span>Українська</span> |
| </div> |
| </div> |
|
|
| <div class="text-center"> |
| <button id="confirmLanguage" class="px-6 py-3 bg-indigo-600 hover:bg-indigo-700 rounded-lg font-medium transition-colors"> |
| Confirm Selection |
| </button> |
| </div> |
| </div> |
| </div> |
|
|
| <script> |
| document.querySelectorAll('.language-option').forEach(option => { |
| option.addEventListener('click', function() { |
| document.querySelectorAll('.language-option').forEach(opt => { |
| opt.classList.remove('border-indigo-500', 'bg-indigo-900/20'); |
| }); |
| this.classList.add('border-indigo-500', 'bg-indigo-900/20'); |
| }); |
| }); |
|
|
| document.getElementById('confirmLanguage').addEventListener('click', function() { |
| const selected = document.querySelector('.language-option.border-indigo-500'); |
| if (selected) { |
| const lang = selected.getAttribute('data-lang'); |
| document.cookie = `NEXT_LOCALE=${lang};path=/;max-age=31536000`; |
| window.location.href = window.location.pathname; |
| } |
| }); |
|
|
| feather.replace(); |
| </script> |
| </body> |
| </html> |