| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>Create Character - TapChat</title> |
| <link rel="icon" type="image/x-icon" href="/static/favicon.ico"> |
| <link rel="stylesheet" href="style.css"> |
| <script src="https://cdn.tailwindcss.com"></script> |
| <script src="https://unpkg.com/feather-icons"></script> |
| <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> |
| </head> |
| <body class="bg-gray-900 text-white font-sans"> |
| <custom-navbar></custom-navbar> |
|
|
| |
| <section class="relative py-16 md:py-24 bg-gradient-to-br from-gray-900 to-gray-800"> |
| <div class="absolute inset-0 opacity-10"> |
| <div class="pattern-grid-lg text-gray-700/20 w-full h-full"></div> |
| </div> |
| <div class="container mx-auto px-4 relative z-10"> |
| <div class="max-w-3xl mx-auto text-center"> |
| <h1 class="text-4xl md:text-6xl font-bold mb-6"> |
| Create Your <span class="bg-clip-text text-transparent bg-gradient-to-r from-purple-400 to-indigo-400">Perfect</span> Character |
| </h1> |
| <p class="text-xl text-gray-300 mb-10 max-w-2xl mx-auto"> |
| Design a unique avatar, define personality traits, and bring your character to life with our advanced creation tools. |
| </p> |
| </div> |
| </div> |
| </section> |
|
|
| |
| <section class="py-16 bg-gray-900"> |
| <div class="container mx-auto px-4"> |
| <div class="max-w-4xl mx-auto"> |
| <div class="flex justify-between mb-12"> |
| <div class="text-center"> |
| <div class="w-12 h-12 rounded-full bg-purple-500/20 flex items-center justify-center mx-auto mb-3"> |
| <span class="text-purple-400 font-bold">1</span> |
| </div> |
| <h3 class="font-semibold">Avatar</h3> |
| </div> |
| <div class="text-center"> |
| <div class="w-12 h-12 rounded-full bg-gray-700 flex items-center justify-center mx-auto mb-3"> |
| <span class="text-gray-400 font-bold">2</span> |
| </div> |
| <h3 class="font-semibold text-gray-400">Personality</h3> |
| </div> |
| <div class="text-center"> |
| <div class="w-12 h-12 rounded-full bg-gray-700 flex items-center justify-center mx-auto mb-3"> |
| <span class="text-gray-400 font-bold">3</span> |
| </div> |
| <h3 class="font-semibold text-gray-400">Details</h3> |
| </div> |
| </div> |
| |
| <personality-builder style="display: none;"></personality-builder> |
| |
| |
| <avatar-customizer></avatar-customizer> |
| </div> |
| </div> |
| </section> |
| |
| <section class="py-20 bg-gradient-to-r from-purple-900/30 to-indigo-900/30"> |
| <div class="container mx-auto px-4 text-center"> |
| <h2 class="text-3xl md:text-4xl font-bold mb-6">Need Inspiration?</h2> |
| <p class="text-xl text-gray-300 max-w-2xl mx-auto mb-10"> |
| Browse our character templates to kickstart your creation process. |
| </p> |
| <div class="flex flex-col sm:flex-row justify-center gap-4"> |
| <button class="bg-gradient-to-r from-purple-600 to-indigo-600 hover:from-purple-700 hover:to-indigo-700 text-white px-8 py-4 rounded-full text-lg font-semibold transition-all shadow-lg shadow-purple-500/20"> |
| Browse Templates |
| </button> |
| </div> |
| </div> |
| </section> |
|
|
| <custom-footer></custom-footer> |
| <script src="components/navbar.js"></script> |
| <script src="components/footer.js"></script> |
| <script src="components/avatar-customizer.js"></script> |
| <script src="components/personality-builder.js"></script> |
| <script> |
| document.addEventListener('DOMContentLoaded', function() { |
| feather.replace(); |
| |
| |
| const avatarCustomizer = document.querySelector('avatar-customizer'); |
| const personalityBuilder = document.querySelector('personality-builder'); |
| const steps = document.querySelectorAll('.flex.justify-between.mb-12 > div'); |
| |
| |
| personalityBuilder.addEventListener('step-change', (e) => { |
| if (e.detail.step === 1) { |
| |
| personalityBuilder.style.display = 'none'; |
| avatarCustomizer.style.display = 'block'; |
| |
| |
| steps[0].querySelector('div').className = 'w-12 h-12 rounded-full bg-purple-500/20 flex items-center justify-center mx-auto mb-3'; |
| steps[0].querySelector('span').className = 'text-purple-400 font-bold'; |
| steps[1].querySelector('div').className = 'w-12 h-12 rounded-full bg-gray-700 flex items-center justify-center mx-auto mb-3'; |
| steps[1].querySelector('span').className = 'text-gray-400 font-bold'; |
| } |
| }); |
| |
| avatarCustomizer.addEventListener('step-change', (e) => { |
| if (e.detail.step === 2) { |
| |
| avatarCustomizer.style.display = 'none'; |
| personalityBuilder.style.display = 'block'; |
| |
| |
| steps[0].querySelector('div').className = 'w-12 h-12 rounded-full bg-purple-500/20 flex items-center justify-center mx-auto mb-3'; |
| steps[0].querySelector('span').className = 'text-purple-400 font-bold'; |
| steps[1].querySelector('div').className = 'w-12 h-12 rounded-full bg-purple-500/20 flex items-center justify-center mx-auto mb-3'; |
| steps[1].querySelector('span').className = 'text-purple-400 font-bold'; |
| steps[1].querySelector('h3').className = 'font-semibold'; |
| steps[1].querySelector('h3').classList.remove('text-gray-400'); |
| } |
| }); |
| }); |
| </script> |
| </body> |
| </html> |
|
|