Spaces:
Running
Running
| <html lang="en" class="dark"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>QR Wizardry Portal</title> | |
| <script src="https://cdn.tailwindcss.com"></script> | |
| <script src="https://unpkg.com/feather-icons"></script> | |
| <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script> | |
| <script> | |
| tailwind.config = { | |
| darkMode: 'class', | |
| theme: { | |
| extend: { | |
| colors: { | |
| primary: { | |
| 50: '#eff6ff', | |
| 100: '#dbeafe', | |
| 200: '#bfdbfe', | |
| 300: '#93c5fd', | |
| 400: '#60a5fa', | |
| 500: '#3b82f6', | |
| 600: '#2563eb', | |
| 700: '#1d4ed8', | |
| 800: '#1e40af', | |
| 900: '#1e3a8a', | |
| } | |
| } | |
| } | |
| } | |
| } | |
| </script> | |
| <style> | |
| @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap'); | |
| body { | |
| font-family: 'Inter', sans-serif; | |
| background-color: #0f172a; | |
| color: #e2e8f0; | |
| } | |
| .gradient-text { | |
| background: linear-gradient(90deg, #3b82f6 0%, #93c5fd 100%); | |
| -webkit-background-clip: text; | |
| background-clip: text; | |
| color: transparent; | |
| } | |
| </style> | |
| </head> | |
| <body class="min-h-screen"> | |
| <div class="relative overflow-hidden"> | |
| <!-- Animated background --> | |
| <div class="absolute inset-0 bg-gradient-to-br from-gray-900 to-blue-900 opacity-50"></div> | |
| <div class="absolute inset-0 bg-[url('https://static.photos/abstract/1200x630/42')] bg-cover bg-center opacity-10"></div> | |
| <!-- Main content --> | |
| <div class="relative z-10 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16"> | |
| <!-- Header --> | |
| <header class="flex flex-col items-center text-center mb-16"> | |
| <div class="flex items-center justify-center mb-6"> | |
| <div class="w-16 h-16 rounded-full bg-primary-500 flex items-center justify-center shadow-lg shadow-primary-500/20"> | |
| <i data-feather="maximize-2" class="text-white w-8 h-8"></i> | |
| </div> | |
| </div> | |
| <h1 class="text-4xl md:text-6xl font-bold mb-4"> | |
| <span class="gradient-text">QR Wizardry</span> Portal | |
| </h1> | |
| <p class="text-xl text-gray-400 max-w-2xl"> | |
| Magically transform your QR codes with our powerful template processing system | |
| </p> | |
| <div class="mt-8 flex gap-4"> | |
| <a href="/templates" class="px-6 py-3 bg-primary-600 hover:bg-primary-700 text-white font-medium rounded-lg shadow-md transition-all duration-300 transform hover:-translate-y-1"> | |
| Start Crafting | |
| </a> | |
| <a href="#features" class="px-6 py-3 bg-gray-800 hover:bg-gray-700 text-gray-200 font-medium rounded-lg transition-all"> | |
| Learn More | |
| </a> | |
| </div> | |
| </header> | |
| <!-- Features --> | |
| <section id="features" class="mb-24"> | |
| <h2 class="text-3xl font-bold text-center mb-12 gradient-text">Magical Features</h2> | |
| <div class="grid grid-cols-1 md:grid-cols-3 gap-8"> | |
| <!-- Feature 1 --> | |
| <div class="bg-gray-800/50 backdrop-blur-sm p-6 rounded-xl border border-gray-700 hover:border-primary-500 transition-all"> | |
| <div class="w-12 h-12 rounded-lg bg-primary-500/20 flex items-center justify-center mb-4"> | |
| <i data-feather="edit-3" class="text-primary-400"></i> | |
| </div> | |
| <h3 class="text-xl font-semibold mb-2">Template Designer</h3> | |
| <p class="text-gray-400">Create beautiful QR code templates with precise positioning and sizing controls.</p> | |
| </div> | |
| <!-- Feature 2 --> | |
| <div class="bg-gray-800/50 backdrop-blur-sm p-6 rounded-xl border border-gray-700 hover:border-primary-500 transition-all"> | |
| <div class="w-12 h-12 rounded-lg bg-primary-500/20 flex items-center justify-center mb-4"> | |
| <i data-feather="upload-cloud" class="text-primary-400"></i> | |
| </div> | |
| <h3 class="text-xl font-semibold mb-2">Bulk Processing</h3> | |
| <p class="text-gray-400">Upload multiple QR codes at once and process them with your template automatically.</p> | |
| </div> | |
| <!-- Feature 3 --> | |
| <div class="bg-gray-800/50 backdrop-blur-sm p-6 rounded-xl border border-gray-700 hover:border-primary-500 transition-all"> | |
| <div class="w-12 h-12 rounded-lg bg-primary-500/20 flex items-center justify-center mb-4"> | |
| <i data-feather="download" class="text-primary-400"></i> | |
| </div> | |
| <h3 class="text-xl font-semibold mb-2">Instant Download</h3> | |
| <p class="text-gray-400">Get your processed QR codes delivered in a neat ZIP file ready for use.</p> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Preview --> | |
| <section class="mb-24"> | |
| <div class="bg-gradient-to-r from-primary-900/20 to-blue-900/20 p-1 rounded-xl"> | |
| <div class="bg-gray-900 rounded-lg p-8"> | |
| <div class="flex flex-col md:flex-row gap-8 items-center"> | |
| <div class="flex-1"> | |
| <h2 class="text-3xl font-bold mb-4 gradient-text">See It in Action</h2> | |
| <p class="text-gray-400 mb-6">Watch how we transform a basic QR code into a beautifully designed template.</p> | |
| <ul class="space-y-3 text-gray-300"> | |
| <li class="flex items-start"> | |
| <i data-feather="check" class="text-primary-500 mr-2 mt-1 w-4 h-4"></i> | |
| <span>Pixel-perfect positioning</span> | |
| </li> | |
| <li class="flex items-start"> | |
| <i data-feather="check" class="text-primary-500 mr-2 mt-1 w-4 h-4"></i> | |
| <span>High-resolution output</span> | |
| </li> | |
| <li class="flex items-start"> | |
| <i data-feather="check" class="text-primary-500 mr-2 mt-1 w-4 h-4"></i> | |
| <span>Batch processing</span> | |
| </li> | |
| </ul> | |
| </div> | |
| <div class="flex-1"> | |
| <div class="relative"> | |
| <div class="absolute -inset-4 bg-gradient-to-r from-primary-500 to-blue-400 rounded-xl blur opacity-20"></div> | |
| <div class="relative bg-gray-800 rounded-lg overflow-hidden border border-gray-700"> | |
| <div class="aspect-video bg-gray-900/50 flex items-center justify-center"> | |
| <div class="text-center p-6"> | |
| <i data-feather="play" class="w-16 h-16 text-primary-500 mx-auto"></i> | |
| <p class="mt-2 text-gray-400">Template Preview</p> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| </div> | |
| <!-- Footer --> | |
| <footer class="border-t border-gray-800 py-8"> | |
| <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> | |
| <div class="flex flex-col md:flex-row justify-between items-center"> | |
| <div class="flex items-center space-x-2 mb-4 md:mb-0"> | |
| <div class="w-8 h-8 rounded-full bg-primary-500 flex items-center justify-center"> | |
| <i data-feather="maximize-2" class="text-white w-4 h-4"></i> | |
| </div> | |
| <span class="text-xl font-bold">QR Wizardry</span> | |
| </div> | |
| <div class="flex space-x-6"> | |
| <a href="#" class="text-gray-400 hover:text-primary-400 transition-colors"> | |
| <i data-feather="github"></i> | |
| </a> | |
| <a href="#" class="text-gray-400 hover:text-primary-400 transition-colors"> | |
| <i data-feather="twitter"></i> | |
| </a> | |
| <a href="#" class="text-gray-400 hover:text-primary-400 transition-colors"> | |
| <i data-feather="linkedin"></i> | |
| </a> | |
| </div> | |
| </div> | |
| <div class="mt-8 text-center text-gray-500 text-sm"> | |
| © 2023 QR Wizardry Portal. All rights reserved. | |
| </div> | |
| </div> | |
| </footer> | |
| </div> | |
| <script> | |
| feather.replace(); | |
| // Simple animation for cards on scroll | |
| document.addEventListener('DOMContentLoaded', () => { | |
| const cards = document.querySelectorAll('.bg-gray-800\\/50'); | |
| const observer = new IntersectionObserver((entries) => { | |
| entries.forEach(entry => { | |
| if (entry.isIntersecting) { | |
| entry.target.classList.add('animate-fadeIn'); | |
| } | |
| }); | |
| }, { threshold: 0.1 }); | |
| cards.forEach(card => { | |
| observer.observe(card); | |
| }); | |
| }); | |
| </script> | |
| <style> | |
| @keyframes fadeIn { | |
| from { opacity: 0; transform: translateY(20px); } | |
| to { opacity: 1; transform: translateY(0); } | |
| } | |
| .animate-fadeIn { | |
| animation: fadeIn 0.6s ease-out forwards; | |
| } | |
| </style> | |
| </body> | |
| </html> | |