Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Pet Talk – Make Your Pet the Star</title> | |
| <script src="https://cdn.tailwindcss.com"></script> | |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> | |
| <style> | |
| @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap'); | |
| body { | |
| font-family: 'Poppins', sans-serif; | |
| background-color: #f9f9f9; | |
| } | |
| .gradient-bg { | |
| background: linear-gradient(135deg, #ff9a9e 0%, #fad0c4 100%); | |
| } | |
| .pet-card { | |
| transition: all 0.3s ease; | |
| border-radius: 20px; | |
| overflow: hidden; | |
| box-shadow: 0 10px 20px rgba(0,0,0,0.1); | |
| } | |
| .pet-card:hover { | |
| transform: translateY(-10px); | |
| box-shadow: 0 15px 30px rgba(0,0,0,0.2); | |
| } | |
| .upload-area { | |
| border: 3px dashed #ccc; | |
| transition: all 0.3s ease; | |
| } | |
| .upload-area:hover { | |
| border-color: #ff9a9e; | |
| background-color: rgba(255, 154, 158, 0.05); | |
| } | |
| .tab-content { | |
| display: none; | |
| } | |
| .tab-content.active { | |
| display: block; | |
| animation: fadeIn 0.5s ease; | |
| } | |
| @keyframes fadeIn { | |
| from { opacity: 0; } | |
| to { opacity: 1; } | |
| } | |
| .voice-option { | |
| transition: all 0.3s ease; | |
| } | |
| .voice-option:hover { | |
| transform: scale(1.05); | |
| } | |
| .voice-option.selected { | |
| border: 3px solid #ff9a9e; | |
| box-shadow: 0 5px 15px rgba(255, 154, 158, 0.3); | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <!-- Landing Page --> | |
| <div id="landing-page"> | |
| <!-- Header --> | |
| <header class="bg-white shadow-sm py-4 px-6"> | |
| <div class="container mx-auto flex justify-between items-center"> | |
| <div class="flex items-center"> | |
| <div class="w-12 h-12 rounded-full gradient-bg flex items-center justify-center text-white font-bold text-xl mr-3">PT</div> | |
| <h1 class="text-2xl font-bold text-pink-600">Pet Talk</h1> | |
| </div> | |
| <nav class="hidden md:flex space-x-8"> | |
| <a href="#" class="text-gray-700 hover:text-pink-600 font-medium">Templates</a> | |
| <a href="#" class="text-gray-700 hover:text-pink-600 font-medium">About</a> | |
| <a href="#" class="text-gray-700 hover:text-pink-600 font-medium">Pricing</a> | |
| </nav> | |
| <button onclick="showGeneratorPage()" class="bg-pink-600 hover:bg-pink-700 text-white font-bold py-2 px-6 rounded-full transition-all duration-300 transform hover:scale-105"> | |
| Create Now | |
| </button> | |
| <button class="md:hidden text-gray-700"> | |
| <i class="fas fa-bars text-2xl"></i> | |
| </button> | |
| </div> | |
| </header> | |
| <!-- Hero Section --> | |
| <section class="gradient-bg py-20 px-6"> | |
| <div class="container mx-auto flex flex-col md:flex-row items-center"> | |
| <div class="md:w-1/2 mb-10 md:mb-0"> | |
| <h1 class="text-4xl md:text-5xl font-bold text-white mb-6">Turn Your Pet Into a Star</h1> | |
| <p class="text-xl text-white mb-8">Upload a photo, add a message, and make hilarious videos or heartfelt gifts featuring your pet.</p> | |
| <div class="flex flex-col sm:flex-row space-y-4 sm:space-y-0 sm:space-x-4"> | |
| <button onclick="showGeneratorPage('card')" class="bg-white text-pink-600 hover:bg-gray-100 font-bold py-4 px-8 rounded-full text-lg transition-all duration-300 transform hover:scale-105 flex items-center justify-center"> | |
| <i class="fas fa-palette text-xl mr-2"></i> Make a Card or Print | |
| </button> | |
| <button onclick="showGeneratorPage('video')" class="bg-pink-700 text-white hover:bg-pink-800 font-bold py-4 px-8 rounded-full text-lg transition-all duration-300 transform hover:scale-105 flex items-center justify-center"> | |
| <i class="fas fa-video text-xl mr-2"></i> Create a Video Message | |
| </button> | |
| </div> | |
| </div> | |
| <div class="md:w-1/2 flex justify-center"> | |
| <img src="https://images.unsplash.com/photo-1586671267731-da2cf3ceeb80?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80" alt="Happy dog" class="rounded-3xl shadow-2xl max-w-md w-full h-auto"> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- How It Works Section --> | |
| <section class="py-20 px-6 bg-white"> | |
| <div class="container mx-auto"> | |
| <h2 class="text-3xl font-bold text-center mb-16 text-gray-800">How It Works</h2> | |
| <div class="grid grid-cols-1 md:grid-cols-3 gap-10"> | |
| <div class="text-center"> | |
| <div class="w-24 h-24 gradient-bg rounded-full flex items-center justify-center mx-auto mb-6"> | |
| <i class="fas fa-camera-retro text-white text-3xl"></i> | |
| </div> | |
| <h3 class="text-xl font-bold mb-3 text-gray-800">1. Upload Your Pet Photo</h3> | |
| <p class="text-gray-600">Simply upload a clear photo of your pet. Any pet, any pose!</p> | |
| </div> | |
| <div class="text-center"> | |
| <div class="w-24 h-24 gradient-bg rounded-full flex items-center justify-center mx-auto mb-6"> | |
| <i class="fas fa-comment-dots text-white text-3xl"></i> | |
| </div> | |
| <h3 class="text-xl font-bold mb-3 text-gray-800">2. Add Text or Record a Message</h3> | |
| <p class="text-gray-600">Type your message or record your voice for a personal touch.</p> | |
| </div> | |
| <div class="text-center"> | |
| <div class="w-24 h-24 gradient-bg rounded-full flex items-center justify-center mx-auto mb-6"> | |
| <i class="fas fa-gift text-white text-3xl"></i> | |
| </div> | |
| <h3 class="text-xl font-bold mb-3 text-gray-800">3. Get Your Creation</h3> | |
| <p class="text-gray-600">Receive a personalized video or print to share with loved ones.</p> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Popular Templates Section --> | |
| <section class="py-20 px-6 bg-gray-50"> | |
| <div class="container mx-auto"> | |
| <h2 class="text-3xl font-bold text-center mb-16 text-gray-800">Popular Templates</h2> | |
| <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8"> | |
| <!-- Template 1 --> | |
| <div class="pet-card"> | |
| <div class="relative overflow-hidden rounded-t-2xl"> | |
| <img src="https://images.unsplash.com/photo-1544568100-847a948585b9?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80" alt="Dog in football jersey" class="w-full h-64 object-cover"> | |
| <div class="absolute inset-0 bg-gradient-to-t from-black to-transparent opacity-70"></div> | |
| <div class="absolute bottom-0 left-0 p-6 text-white"> | |
| <h3 class="text-xl font-bold">Premier League Dog Interview</h3> | |
| </div> | |
| </div> | |
| <div class="bg-white p-6 rounded-b-2xl"> | |
| <p class="text-gray-600 mb-4">Your pup as the star player in a post-match interview!</p> | |
| <button onclick="showGeneratorPage('video', 'football')" class="w-full bg-pink-600 hover:bg-pink-700 text-white font-bold py-3 px-6 rounded-full transition-all duration-300"> | |
| Try This Template | |
| </button> | |
| </div> | |
| </div> | |
| <!-- Template 2 --> | |
| <div class="pet-card"> | |
| <div class="relative overflow-hidden rounded-t-2xl"> | |
| <img src="https://images.unsplash.com/photo-1514888286974-6c03e2ca1dba?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80" alt="Cat on red carpet" class="w-full h-64 object-cover"> | |
| <div class="absolute inset-0 bg-gradient-to-t from-black to-transparent opacity-70"></div> | |
| <div class="absolute bottom-0 left-0 p-6 text-white"> | |
| <h3 class="text-xl font-bold">Red Carpet Hamster</h3> | |
| </div> | |
| </div> | |
| <div class="bg-white p-6 rounded-b-2xl"> | |
| <p class="text-gray-600 mb-4">Your tiny pet walking the red carpet at a glamorous event.</p> | |
| <button onclick="showGeneratorPage('video', 'redcarpet')" class="w-full bg-pink-600 hover:bg-pink-700 text-white font-bold py-3 px-6 rounded-full transition-all duration-300"> | |
| Try This Template | |
| </button> | |
| </div> | |
| </div> | |
| <!-- Template 3 --> | |
| <div class="pet-card"> | |
| <div class="relative overflow-hidden rounded-t-2xl"> | |
| <img src="https://images.unsplash.com/photo-1533738363-b7f9aef128ce?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80" alt="Cat with party hat" class="w-full h-64 object-cover"> | |
| <div class="absolute inset-0 bg-gradient-to-t from-black to-transparent opacity-70"></div> | |
| <div class="absolute bottom-0 left-0 p-6 text-white"> | |
| <h3 class="text-xl font-bold">Birthday Cat Rap</h3> | |
| </div> | |
| </div> | |
| <div class="bg-white p-6 rounded-b-2xl"> | |
| <p class="text-gray-600 mb-4">Your cat dropping the hottest birthday rap of the year!</p> | |
| <button onclick="showGeneratorPage('video', 'birthday')" class="w-full bg-pink-600 hover:bg-pink-700 text-white font-bold py-3 px-6 rounded-full transition-all duration-300"> | |
| Try This Template | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Footer --> | |
| <footer class="bg-gray-800 text-white py-12 px-6"> | |
| <div class="container mx-auto"> | |
| <div class="grid grid-cols-1 md:grid-cols-4 gap-8"> | |
| <div> | |
| <div class="flex items-center mb-4"> | |
| <div class="w-10 h-10 rounded-full gradient-bg flex items-center justify-center text-white font-bold text-lg mr-2">PT</div> | |
| <h2 class="text-xl font-bold">Pet Talk</h2> | |
| </div> | |
| <p class="text-gray-400">Making pets the stars they were born to be since 2023.</p> | |
| </div> | |
| <div> | |
| <h3 class="text-lg font-bold mb-4">Quick Links</h3> | |
| <ul class="space-y-2"> | |
| <li><a href="#" class="text-gray-400 hover:text-white">Templates</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white">About Us</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white">Pricing</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white">Blog</a></li> | |
| </ul> | |
| </div> | |
| <div> | |
| <h3 class="text-lg font-bold mb-4">Legal</h3> | |
| <ul class="space-y-2"> | |
| <li><a href="#" class="text-gray-400 hover:text-white">Privacy Policy</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white">Terms of Service</a></li> | |
| <li><a href="#" class="text-gray-400 hover:text-white">Cookie Policy</a></li> | |
| </ul> | |
| </div> | |
| <div> | |
| <h3 class="text-lg font-bold mb-4">Connect With Us</h3> | |
| <div class="flex space-x-4 mb-4"> | |
| <a href="#" class="w-10 h-10 rounded-full bg-gray-700 flex items-center justify-center hover:bg-pink-600"><i class="fab fa-facebook-f"></i></a> | |
| <a href="#" class="w-10 h-10 rounded-full bg-gray-700 flex items-center justify-center hover:bg-pink-600"><i class="fab fa-twitter"></i></a> | |
| <a href="#" class="w-10 h-10 rounded-full bg-gray-700 flex items-center justify-center hover:bg-pink-600"><i class="fab fa-instagram"></i></a> | |
| <a href="#" class="w-10 h-10 rounded-full bg-gray-700 flex items-center justify-center hover:bg-pink-600"><i class="fab fa-tiktok"></i></a> | |
| </div> | |
| <p class="text-gray-400">support@pettalk.com</p> | |
| </div> | |
| </div> | |
| <div class="border-t border-gray-700 mt-10 pt-6 text-center text-gray-400"> | |
| <p>© 2023 Pet Talk. All rights reserved.</p> | |
| </div> | |
| </div> | |
| </footer> | |
| </div> | |
| <!-- Generator Page --> | |
| <div id="generator-page" class="hidden"> | |
| <!-- Generator Header --> | |
| <header class="bg-white shadow-sm py-4 px-6"> | |
| <div class="container mx-auto flex justify-between items-center"> | |
| <div class="flex items-center"> | |
| <button onclick="showLandingPage()" class="mr-4 text-gray-600 hover:text-pink-600"> | |
| <i class="fas fa-arrow-left text-xl"></i> | |
| </button> | |
| <div class="w-10 h-10 rounded-full gradient-bg flex items-center justify-center text-white font-bold text-lg mr-3">PT</div> | |
| <h1 class="text-xl font-bold text-pink-600">Pet Talk Creator</h1> | |
| </div> | |
| <div class="flex items-center space-x-4"> | |
| <button class="text-gray-600 hover:text-pink-600"> | |
| <i class="fas fa-save text-xl"></i> | |
| </button> | |
| <button class="text-gray-600 hover:text-pink-600"> | |
| <i class="fas fa-question-circle text-xl"></i> | |
| </button> | |
| </div> | |
| </div> | |
| </header> | |
| <!-- Progress Steps --> | |
| <div class="bg-gray-100 py-4 px-6"> | |
| <div class="container mx-auto"> | |
| <div class="flex justify-between items-center"> | |
| <div class="step flex flex-col items-center relative w-1/4"> | |
| <div id="step1-indicator" class="w-10 h-10 rounded-full bg-pink-600 text-white flex items-center justify-center font-bold mb-2">1</div> | |
| <span id="step1-text" class="text-sm font-medium text-pink-600">Choose Pet Image</span> | |
| <div class="absolute top-5 left-1/2 transform -translate-x-1/2 h-1 w-full bg-gray-300 -z-10"></div> | |
| </div> | |
| <div class="step flex flex-col items-center relative w-1/4"> | |
| <div id="step2-indicator" class="w-10 h-10 rounded-full bg-gray-300 text-gray-600 flex items-center justify-center font-bold mb-2">2</div> | |
| <span id="step2-text" class="text-sm font-medium text-gray-500">Select Format</span> | |
| <div class="absolute top-5 left-1/2 transform -translate-x-1/2 h-1 w-full bg-gray-300 -z-10"></div> | |
| </div> | |
| <div class="step flex flex-col items-center relative w-1/4"> | |
| <div id="step3-indicator" class="w-10 h-10 rounded-full bg-gray-300 text-gray-600 flex items-center justify-center font-bold mb-2">3</div> | |
| <span id="step3-text" class="text-sm font-medium text-gray-500">Add Message</span> | |
| <div class="absolute top-5 left-1/2 transform -translate-x-1/2 h-1 w-full bg-gray-300 -z-10"></div> | |
| </div> | |
| <div class="step flex flex-col items-center w-1/4"> | |
| <div id="step4-indicator" class="w-10 h-10 rounded-full bg-gray-300 text-gray-600 flex items-center justify-center font-bold mb-2">4</div> | |
| <span id="step4-text" class="text-sm font-medium text-gray-500">Choose Scenario</span> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Generator Content --> | |
| <div class="container mx-auto py-8 px-6"> | |
| <!-- Step 1: Choose Pet Image --> | |
| <div id="step1-content" class="tab-content active"> | |
| <h2 class="text-2xl font-bold mb-6 text-gray-800">Upload Your Pet's Photo</h2> | |
| <div class="grid grid-cols-1 lg:grid-cols-2 gap-8"> | |
| <div> | |
| <div class="upload-area rounded-2xl p-8 text-center cursor-pointer mb-6"> | |
| <input type="file" id="pet-upload" class="hidden" accept="image/*"> | |
| <label for="pet-upload" class="cursor-pointer"> | |
| <div class="w-24 h-24 gradient-bg rounded-full flex items-center justify-center mx-auto mb-4"> | |
| <i class="fas fa-cloud-upload-alt text-white text-3xl"></i> | |
| </div> | |
| <h3 class="text-xl font-bold mb-2 text-gray-800">Drag & Drop or Click to Upload</h3> | |
| <p class="text-gray-500 mb-4">Upload a clear photo of your pet (JPEG, PNG)</p> | |
| <button class="bg-pink-600 hover:bg-pink-700 text-white font-bold py-2 px-6 rounded-full"> | |
| Select File | |
| </button> | |
| </label> | |
| </div> | |
| <div class="bg-white rounded-2xl p-6 shadow-sm"> | |
| <h3 class="font-bold mb-3 text-gray-800">Photo Tips</h3> | |
| <ul class="space-y-2 text-gray-600"> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-pink-600 mt-1 mr-2"></i> | |
| <span>Use a clear, well-lit photo</span> | |
| </li> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-pink-600 mt-1 mr-2"></i> | |
| <span>Try to get your pet looking at the camera</span> | |
| </li> | |
| <li class="flex items-start"> | |
| <i class="fas fa-check-circle text-pink-600 mt-1 mr-2"></i> | |
| <span>Plain backgrounds work best</span> | |
| </li> | |
| </ul> | |
| </div> | |
| </div> | |
| <div> | |
| <div class="bg-white rounded-2xl p-6 shadow-sm h-full"> | |
| <h3 class="font-bold mb-4 text-gray-800">Preview</h3> | |
| <div id="image-preview" class="border-2 border-dashed border-gray-300 rounded-xl flex items-center justify-center h-64 mb-4"> | |
| <p class="text-gray-500">Your pet's image will appear here</p> | |
| </div> | |
| <div class="flex space-x-4"> | |
| <button class="bg-gray-200 hover:bg-gray-300 text-gray-800 font-medium py-2 px-4 rounded-full"> | |
| <i class="fas fa-crop-alt mr-2"></i> Crop | |
| </button> | |
| <button class="bg-gray-200 hover:bg-gray-300 text-gray-800 font-medium py-2 px-4 rounded-full"> | |
| <i class="fas fa-adjust mr-2"></i> Adjust | |
| </button> | |
| <button class="bg-gray-200 hover:bg-gray-300 text-gray-800 font-medium py-2 px-4 rounded-full"> | |
| <i class="fas fa-redo mr-2"></i> Reset | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="flex justify-end mt-8"> | |
| <button onclick="nextStep(2)" class="bg-pink-600 hover:bg-pink-700 text-white font-bold py-3 px-8 rounded-full"> | |
| Next: Select Format <i class="fas fa-arrow-right ml-2"></i> | |
| </button> | |
| </div> | |
| </div> | |
| <!-- Step 2: Select Format --> | |
| <div id="step2-content" class="tab-content"> | |
| <h2 class="text-2xl font-bold mb-6 text-gray-800">Choose Your Format</h2> | |
| <div class="grid grid-cols-1 md:grid-cols-2 gap-8 mb-8"> | |
| <div id="card-format" class="bg-white rounded-2xl p-6 shadow-sm cursor-pointer border-2 border-transparent hover:border-pink-400 transition-all"> | |
| <div class="flex items-start"> | |
| <div class="w-16 h-16 gradient-bg rounded-xl flex items-center justify-center text-white mr-4"> | |
| <i class="fas fa-palette text-2xl"></i> | |
| </div> | |
| <div> | |
| <h3 class="text-xl font-bold mb-2 text-gray-800">Card or Print</h3> | |
| <p class="text-gray-600">Create a beautiful greeting card or printable artwork featuring your pet.</p> | |
| </div> | |
| </div> | |
| <div class="mt-6 grid grid-cols-2 gap-4"> | |
| <div class="bg-gray-100 rounded-lg p-4 text-center"> | |
| <i class="fas fa-birthday-cake text-2xl text-pink-600 mb-2"></i> | |
| <p class="text-sm font-medium">Birthday Cards</p> | |
| </div> | |
| <div class="bg-gray-100 rounded-lg p-4 text-center"> | |
| <i class="fas fa-holiday text-2xl text-pink-600 mb-2"></i> | |
| <p class="text-sm font-medium">Holiday Cards</p> | |
| </div> | |
| <div class="bg-gray-100 rounded-lg p-4 text-center"> | |
| <i class="fas fa-print text-2xl text-pink-600 mb-2"></i> | |
| <p class="text-sm font-medium">Wall Art</p> | |
| </div> | |
| <div class="bg-gray-100 rounded-lg p-4 text-center"> | |
| <i class="fas fa-gift text-2xl text-pink-600 mb-2"></i> | |
| <p class="text-sm font-medium">Gift Tags</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div id="video-format" class="bg-white rounded-2xl p-6 shadow-sm cursor-pointer border-2 border-transparent hover:border-pink-400 transition-all"> | |
| <div class="flex items-start"> | |
| <div class="w-16 h-16 gradient-bg rounded-xl flex items-center justify-center text-white mr-4"> | |
| <i class="fas fa-video text-2xl"></i> | |
| </div> | |
| <div> | |
| <h3 class="text-xl font-bold mb-2 text-gray-800">Video Message</h3> | |
| <p class="text-gray-600">Create a hilarious or heartfelt animated video starring your pet.</p> | |
| </div> | |
| </div> | |
| <div class="mt-6 grid grid-cols-2 gap-4"> | |
| <div class="bg-gray-100 rounded-lg p-4 text-center"> | |
| <i class="fas fa-birthday-cake text-2xl text-pink-600 mb-2"></i> | |
| <p class="text-sm font-medium">Birthday Wishes</p> | |
| </div> | |
| <div class="bg-gray-100 rounded-lg p-4 text-center"> | |
| <i class="fas fa-heart text-2xl text-pink-600 mb-2"></i> | |
| <p class="text-sm font-medium">Love Messages</p> | |
| </div> | |
| <div class="bg-gray-100 rounded-lg p-4 text-center"> | |
| <i class="fas fa-trophy text-2xl text-pink-600 mb-2"></i> | |
| <p class="text-sm font-medium">Congratulations</p> | |
| </div> | |
| <div class="bg-gray-100 rounded-lg p-4 text-center"> | |
| <i class="fas fa-microphone text-2xl text-pink-600 mb-2"></i> | |
| <p class="text-sm font-medium">Voice Messages</p> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="flex justify-between mt-8"> | |
| <button onclick="prevStep(1)" class="bg-gray-200 hover:bg-gray-300 text-gray-800 font-bold py-3 px-6 rounded-full"> | |
| <i class="fas fa-arrow-left mr-2"></i> Back | |
| </button> | |
| <button onclick="nextStep(3)" class="bg-pink-600 hover:bg-pink-700 text-white font-bold py-3 px-8 rounded-full"> | |
| Next: Add Message <i class="fas fa-arrow-right ml-2"></i> | |
| </button> | |
| </div> | |
| </div> | |
| <!-- Step 3: Add Message --> | |
| <div id="step3-content" class="tab-content"> | |
| <h2 class="text-2xl font-bold mb-6 text-gray-800">Add Your Message</h2> | |
| <div class="grid grid-cols-1 lg:grid-cols-2 gap-8"> | |
| <div> | |
| <div class="bg-white rounded-2xl p-6 shadow-sm mb-6"> | |
| <div class="flex border-b border-gray-200 mb-6"> | |
| <button id="text-tab" class="tab-button active py-2 px-4 font-medium text-pink-600 border-b-2 border-pink-600">Text</button> | |
| <button id="voice-tab" class="tab-button py-2 px-4 font-medium text-gray-500 hover:text-pink-600">Voice</button> | |
| </div> | |
| <!-- Text Message Content --> | |
| <div id="text-content" class="tab-content active"> | |
| <div class="mb-4"> | |
| <label for="message-text" class="block text-gray-700 font-medium mb-2">Your Message</label> | |
| <textarea id="message-text" rows="5" class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-pink-500 focus:border-transparent" placeholder="Type your message here..."></textarea> | |
| </div> | |
| <div class="mb-4"> | |
| <label class="block text-gray-700 font-medium mb-2">Text Style</label> | |
| <div class="grid grid-cols-4 gap-2"> | |
| <button class="bg-gray-200 hover:bg-gray-300 py-2 rounded-lg"> | |
| <i class="fas fa-font text-lg"></i> | |
| </button> | |
| <button class="bg-gray-200 hover:bg-gray-300 py-2 rounded-lg"> | |
| <i class="fas fa-bold text-lg"></i> | |
| </button> | |
| <button class="bg-gray-200 hover:bg-gray-300 py-2 rounded-lg"> | |
| <i class="fas fa-italic text-lg"></i> | |
| </button> | |
| <button class="bg-gray-200 hover:bg-gray-300 py-2 rounded-lg"> | |
| <i class="fas fa-underline text-lg"></i> | |
| </button> | |
| </div> | |
| </div> | |
| <div> | |
| <label class="block text-gray-700 font-medium mb-2">Text Color</label> | |
| <div class="flex space-x-2"> | |
| <div class="w-8 h-8 rounded-full bg-black cursor-pointer border-2 border-gray-300"></div> | |
| <div class="w-8 h-8 rounded-full bg-white cursor-pointer border-2 border-gray-300"></div> | |
| <div class="w-8 h-8 rounded-full bg-pink-600 cursor-pointer border-2 border-gray-300"></div> | |
| <div class="w-8 h-8 rounded-full bg-blue-600 cursor-pointer border-2 border-gray-300"></div> | |
| <div class="w-8 h-8 rounded-full bg-green-600 cursor-pointer border-2 border-gray-300"></div> | |
| <div class="w-8 h-8 rounded-full bg-yellow-400 cursor-pointer border-2 border-gray-300"></div> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Voice Message Content --> | |
| <div id="voice-content" class="tab-content"> | |
| <div class="mb-6"> | |
| <div class="flex items-center justify-center w-full h-32 border-2 border-dashed border-gray-300 rounded-lg cursor-pointer hover:bg-gray-50"> | |
| <div class="text-center"> | |
| <i class="fas fa-microphone-alt text-3xl text-pink-600 mb-2"></i> | |
| <p class="text-gray-600">Click to record your message</p> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="mb-6"> | |
| <label class="block text-gray-700 font-medium mb-2">Or upload audio file</label> | |
| <div class="flex"> | |
| <input type="file" id="audio-upload" class="hidden" accept="audio/*"> | |
| <label for="audio-upload" class="bg-gray-200 hover:bg-gray-300 text-gray-800 font-medium py-2 px-4 rounded-l-lg cursor-pointer"> | |
| Choose File | |
| </label> | |
| <div class="bg-gray-100 px-4 py-2 rounded-r-lg text-gray-500 flex-grow"> | |
| No file chosen | |
| </div> | |
| </div> | |
| </div> | |
| <div> | |
| <label class="block text-gray-700 font-medium mb-2">Voice Options</label> | |
| <div class="grid grid-cols-3 gap-3"> | |
| <div class="voice-option bg-white p-3 rounded-lg border-2 border-gray-200 cursor-pointer text-center"> | |
| <i class="fas fa-child text-2xl text-pink-600 mb-1"></i> | |
| <p class="text-sm font-medium">Happy Kid</p> | |
| </div> | |
| <div class="voice-option bg-white p-3 rounded-lg border-2 border-gray-200 cursor-pointer text-center"> | |
| <i class="fas fa-user-tie text-2xl text-pink-600 mb-1"></i> | |
| <p class="text-sm font-medium">Professional</p> | |
| </div> | |
| <div class="voice-option bg-white p-3 rounded-lg border-2 border-gray-200 cursor-pointer text-center"> | |
| <i class="fas fa-robot text-2xl text-pink-600 mb-1"></i> | |
| <p class="text-sm font-medium">Robot</p> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div> | |
| <div class="bg-white rounded-2xl p-6 shadow-sm h-full"> | |
| <h3 class="font-bold mb-4 text-gray-800">Preview</h3> | |
| <div class="border-2 border-dashed border-gray-300 rounded-xl flex items-center justify-center h-64 mb-4"> | |
| <p class="text-gray-500">Your message preview will appear here</p> | |
| </div> | |
| <div class="text-center"> | |
| <button class="bg-gray-200 hover:bg-gray-300 text-gray-800 font-medium py-2 px-6 rounded-full"> | |
| <i class="fas fa-play-circle mr-2"></i> Play Preview | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="flex justify-between mt-8"> | |
| <button onclick="prevStep(2)" class="bg-gray-200 hover:bg-gray-300 text-gray-800 font-bold py-3 px-6 rounded-full"> | |
| <i class="fas fa-arrow-left mr-2"></i> Back | |
| </button> | |
| <button onclick="nextStep(4)" class="bg-pink-600 hover:bg-pink-700 text-white font-bold py-3 px-8 rounded-full"> | |
| Next: Choose Scenario <i class="fas fa-arrow-right ml-2"></i> | |
| </button> | |
| </div> | |
| </div> | |
| <!-- Step 4: Choose Scenario --> | |
| <div id="step4-content" class="tab-content"> | |
| <h2 class="text-2xl font-bold mb-6 text-gray-800">Choose a Scenario</h2> | |
| <div class="mb-8"> | |
| <div class="flex border-b border-gray-200 mb-6"> | |
| <button id="templates-tab" class="tab-button active py-2 px-4 font-medium text-pink-600 border-b-2 border-pink-600">Templates</button> | |
| <button id="custom-tab" class="tab-button py-2 px-4 font-medium text-gray-500 hover:text-pink-600">Custom</button> | |
| </div> | |
| <!-- Templates Content --> | |
| <div id="templates-content" class="tab-content active"> | |
| <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6"> | |
| <!-- Template 1 --> | |
| <div class="pet-card"> | |
| <div class="relative overflow-hidden rounded-xl"> | |
| <img src="https://images.unsplash.com/photo-1544568100-847a948585b9?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80" alt="Football interview" class="w-full h-48 object-cover"> | |
| <div class="absolute inset-0 bg-gradient-to-t from-black to-transparent opacity-70"></div> | |
| <div class="absolute bottom-0 left-0 p-4 text-white"> | |
| <h3 class="font-bold">Football Interview</h3> | |
| </div> | |
| </div> | |
| <div class="bg-white p-4 rounded-b-xl"> | |
| <button class="w-full bg-pink-600 hover:bg-pink-700 text-white font-medium py-2 px-4 rounded-full"> | |
| Use This Template | |
| </button> | |
| </div> | |
| </div> | |
| <!-- Template 2 --> | |
| <div class="pet-card"> | |
| <div class="relative overflow-hidden rounded-xl"> | |
| <img src="https://images.unsplash.com/photo-1514888286974-6c03e2ca1dba?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80" alt="Red carpet" class="w-full h-48 object-cover"> | |
| <div class="absolute inset-0 bg-gradient-to-t from-black to-transparent opacity-70"></div> | |
| <div class="absolute bottom-0 left-0 p-4 text-white"> | |
| <h3 class="font-bold">Red Carpet Event</h3> | |
| </div> | |
| </div> | |
| <div class="bg-white p-4 rounded-b-xl"> | |
| <button class="w-full bg-pink-600 hover:bg-pink-700 text-white font-medium py-2 px-4 rounded-full"> | |
| Use This Template | |
| </button> | |
| </div> | |
| </div> | |
| <!-- Template 3 --> | |
| <div class="pet-card"> | |
| <div class="relative overflow-hidden rounded-xl"> | |
| <img src="https://images.unsplash.com/photo-1533738363-b7f9aef128ce?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80" alt="Birthday rap" class="w-full h-48 object-cover"> | |
| <div class="absolute inset-0 bg-gradient-to-t from-black to-transparent opacity-70"></div> | |
| <div class="absolute bottom-0 left-0 p-4 text-white"> | |
| <h3 class="font-bold">Birthday Rap</h3> | |
| </div> | |
| </div> | |
| <div class="bg-white p-4 rounded-b-xl"> | |
| <button class="w-full bg-pink-600 hover:bg-pink-700 text-white font-medium py-2 px-4 rounded-full"> | |
| Use This Template | |
| </button> | |
| </div> | |
| </div> | |
| <!-- Template 4 --> | |
| <div class="pet-card"> | |
| <div class="relative overflow-hidden rounded-xl"> | |
| <img src="https://images.unsplash.com/photo-1517423738875-5ce310acd3da?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80" alt="News anchor" class="w-full h-48 object-cover"> | |
| <div class="absolute inset-0 bg-gradient-to-t from-black to-transparent opacity-70"></div> | |
| <div class="absolute bottom-0 left-0 p-4 text-white"> | |
| <h3 class="font-bold">News Anchor</h3> | |
| </div> | |
| </div> | |
| <div class="bg-white p-4 rounded-b-xl"> | |
| <button class="w-full bg-pink-600 hover:bg-pink-700 text-white font-medium py-2 px-4 rounded-full"> | |
| Use This Template | |
| </button> | |
| </div> | |
| </div> | |
| <!-- Template 5 --> | |
| <div class="pet-card"> | |
| <div class="relative overflow-hidden rounded-xl"> | |
| <img src="https://images.unsplash.com/photo-1551969014-7d2c4cddf0b6?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80" alt="Superhero" class="w-full h-48 object-cover"> | |
| <div class="absolute inset-0 bg-gradient-to-t from-black to-transparent opacity-70"></div> | |
| <div class="absolute bottom-0 left-0 p-4 text-white"> | |
| <h3 class="font-bold">Superhero</h3> | |
| </div> | |
| </div> | |
| <div class="bg-white p-4 rounded-b-xl"> | |
| <button class="w-full bg-pink-600 hover:bg-pink-700 text-white font-medium py-2 px-4 rounded-full"> | |
| Use This Template | |
| </button> | |
| </div> | |
| </div> | |
| <!-- Template 6 --> | |
| <div class="pet-card"> | |
| <div class="relative overflow-hidden rounded-xl"> | |
| <img src="https://images.unsplash.com/photo-1517423568366-8b83523034fd?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=800&q=80" alt="Rock star" class="w-full h-48 object-cover"> | |
| <div class="absolute inset-0 bg-gradient-to-t from-black to-transparent opacity-70"></div> | |
| <div class="absolute bottom-0 left-0 p-4 text-white"> | |
| <h3 class="font-bold">Rock Star</h3> | |
| </div> | |
| </div> | |
| <div class="bg-white p-4 rounded-b-xl"> | |
| <button class="w-full bg-pink-600 hover:bg-pink-700 text-white font-medium py-2 px-4 rounded-full"> | |
| Use This Template | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Custom Content --> | |
| <div id="custom-content" class="tab-content"> | |
| <div class="bg-white rounded-2xl p-6 shadow-sm mb-6"> | |
| <h3 class="font-bold mb-4 text-gray-800">Create Your Own Scene</h3> | |
| <div class="grid grid-cols-1 md:grid-cols-2 gap-6"> | |
| <div> | |
| <label class="block text-gray-700 font-medium mb-2">Background</label> | |
| <div class="grid grid-cols-3 gap-2"> | |
| <div class="h-20 rounded-lg bg-blue-500 cursor-pointer"></div> | |
| <div class="h-20 rounded-lg bg-green-500 cursor-pointer"></div> | |
| <div class="h-20 rounded-lg bg-yellow-400 cursor-pointer"></div> | |
| <div class="h-20 rounded-lg bg-gradient-to-r from-purple-500 to-pink-500 cursor-pointer"></div> | |
| <div class="h-20 rounded-lg bg-gray-700 cursor-pointer"></div> | |
| <div class="h-20 rounded-lg bg-white border-2 border-gray-300 cursor-pointer flex items-center justify-center"> | |
| <i class="fas fa-plus text-gray-500"></i> | |
| </div> | |
| </div> | |
| </div> | |
| <div> | |
| <label class="block text-gray-700 font-medium mb-2">Props</label> | |
| <div class="grid grid-cols-3 gap-2"> | |
| <div class="h-20 rounded-lg bg-gray-100 cursor-pointer flex flex-col items-center justify-center"> | |
| <i class="fas fa-hat-cowboy text-2xl text-gray-600 mb-1"></i> | |
| <span class="text-xs">Hats</span> | |
| </div> | |
| <div class="h-20 rounded-lg bg-gray-100 cursor-pointer flex flex-col items-center justify-center"> | |
| <i class="fas fa-glasses text-2xl text-gray-600 mb-1"></i> | |
| <span class="text-xs">Glasses</span> | |
| </div> | |
| <div class="h-20 rounded-lg bg-gray-100 cursor-pointer flex flex-col items-center justify-center"> | |
| <i class="fas fa-scarf text-2xl text-gray-600 mb-1"></i> | |
| <span class="text-xs">Clothes</span> | |
| </div> | |
| <div class="h-20 rounded-lg bg-gray-100 cursor-pointer flex flex-col items-center justify-center"> | |
| <i class="fas fa-guitar text-2xl text-gray-600 mb-1"></i> | |
| <span class="text-xs">Instruments</span> | |
| </div> | |
| <div class="h-20 rounded-lg bg-gray-100 cursor-pointer flex flex-col items-center justify-center"> | |
| <i class="fas fa-trophy text-2xl text-gray-600 mb-1"></i> | |
| <span class="text-xs">Trophies</span> | |
| </div> | |
| <div class="h-20 rounded-lg bg-gray-100 cursor-pointer flex flex-col items-center justify-center"> | |
| <i class="fas fa-plus text-gray-500"></i> | |
| <span class="text-xs">More</span> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="flex justify-between mt-8"> | |
| <button onclick="prevStep(3)" class="bg-gray-200 hover:bg-gray-300 text-gray-800 font-bold py-3 px-6 rounded-full"> | |
| <i class="fas fa-arrow-left mr-2"></i> Back | |
| </button> | |
| <button onclick="generatePreview()" class="bg-pink-600 hover:bg-pink-700 text-white font-bold py-3 px-8 rounded-full"> | |
| Generate Preview <i class="fas fa-magic ml-2"></i> | |
| </button> | |
| </div> | |
| </div> | |
| <!-- Preview Modal --> | |
| <div id="preview-modal" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 hidden"> | |
| <div class="bg-white rounded-2xl w-full max-w-4xl max-h-screen overflow-auto"> | |
| <div class="p-6"> | |
| <div class="flex justify-between items-center mb-6"> | |
| <h3 class="text-2xl font-bold text-gray-800">Your Pet Talk Preview</h3> | |
| <button onclick="closePreview()" class="text-gray-500 hover:text-gray-700"> | |
| <i class="fas fa-times text-2xl"></i> | |
| </button> | |
| </div> | |
| <div class="bg-gray-100 rounded-xl flex items-center justify-center h-96 mb-6"> | |
| <p class="text-gray-500">Your generated preview will appear here</p> | |
| </div> | |
| <div class="grid grid-cols-2 md:grid-cols-4 gap-4"> | |
| <button class="bg-pink-600 hover:bg-pink-700 text-white font-bold py-3 px-4 rounded-full flex items-center justify-center"> | |
| <i class="fas fa-download mr-2"></i> Download | |
| </button> | |
| <button class="bg-white hover:bg-gray-100 text-pink-600 font-bold py-3 px-4 rounded-full border-2 border-pink-600 flex items-center justify-center"> | |
| <i class="fas fa-redo mr-2"></i> Regenerate | |
| </button> | |
| <button class="bg-white hover:bg-gray-100 text-pink-600 font-bold py-3 px-4 rounded-full border-2 border-pink-600 flex items-center justify-center"> | |
| <i class="fas fa-share-alt mr-2"></i> Share | |
| </button> | |
| <button class="bg-white hover:bg-gray-100 text-pink-600 font-bold py-3 px-4 rounded-full border-2 border-pink-600 flex items-center justify-center"> | |
| <i class="fas fa-gift mr-2"></i> Add to Gift | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <script> | |
| // Show landing page by default | |
| document.getElementById('landing-page').classList.remove('hidden'); | |
| document.getElementById('generator-page').classList.add('hidden'); | |
| // Function to show generator page | |
| function showGeneratorPage(format = null, template = null) { | |
| document.getElementById('landing-page').classList.add('hidden'); | |
| document.getElementById('generator-page').classList.remove('hidden'); | |
| // Reset to step 1 | |
| resetSteps(); | |
| // If a specific format was requested, simulate clicking it | |
| if (format === 'card') { | |
| document.getElementById('card-format').click(); | |
| } else if (format === 'video') { | |
| document.getElementById('video-format').click(); | |
| } | |
| // If a template was requested, jump to that step | |
| if (template) { | |
| // In a real app, we would load the template data here | |
| nextStep(4); | |
| } | |
| } | |
| // Function to show landing page | |
| function showLandingPage() { | |
| document.getElementById('landing-page').classList.remove('hidden'); | |
| document.getElementById('generator-page').classList.add('hidden'); | |
| } | |
| // Step navigation functions | |
| let currentStep = 1; | |
| function resetSteps() { | |
| currentStep = 1; | |
| updateStepIndicators(); | |
| showCurrentStep(); | |
| } | |
| function nextStep(step) { | |
| if (step > currentStep) { | |
| currentStep = step; | |
| updateStepIndicators(); | |
| showCurrentStep(); | |
| } | |
| } | |
| function prevStep(step) { | |
| if (step < currentStep) { | |
| currentStep = step; | |
| updateStepIndicators(); | |
| showCurrentStep(); | |
| } | |
| } | |
| function updateStepIndicators() { | |
| // Reset all indicators | |
| for (let i = 1; i <= 4; i++) { | |
| document.getElementById(`step${i}-indicator`).classList.remove('bg-pink-600', 'text-white'); | |
| document.getElementById(`step${i}-indicator`).classList.add('bg-gray-300', 'text-gray-600'); | |
| document.getElementById(`step${i}-text`).classList.remove('text-pink-600'); | |
| document.getElementById(`step${i}-text`).classList.add('text-gray-500'); | |
| } | |
| // Update current and completed steps | |
| for (let i = 1; i <= currentStep; i++) { | |
| document.getElementById(`step${i}-indicator`).classList.remove('bg-gray-300', 'text-gray-600'); | |
| document.getElementById(`step${i}-indicator`).classList.add('bg-pink-600', 'text-white'); | |
| document.getElementById(`step${i}-text`).classList.remove('text-gray-500'); | |
| document.getElementById(`step${i}-text`).classList.add('text-pink-600'); | |
| } | |
| } | |
| function showCurrentStep() { | |
| // Hide all step contents | |
| for (let i = 1; i <= 4; i++) { | |
| document.getElementById(`step${i}-content`).classList.remove('active'); | |
| } | |
| // Show current step content | |
| document.getElementById(`step${currentStep}-content`).classList.add('active'); | |
| } | |
| // Tab functionality | |
| document.addEventListener('DOMContentLoaded', function() { | |
| // Message type tabs (Text/Voice) | |
| document.getElementById('text-tab').addEventListener('click', function() { | |
| document.getElementById('text-tab').classList.add('active', 'text-pink-600', 'border-pink-600'); | |
| document.getElementById('voice-tab').classList.remove('active', 'text-pink-600', 'border-pink-600'); | |
| document.getElementById('text-content').classList.add('active'); | |
| document.getElementById('voice-content').classList.remove('active'); | |
| }); | |
| document.getElementById('voice-tab').addEventListener('click', function() { | |
| document.getElementById('voice-tab').classList.add('active', 'text-pink-600', 'border-pink-600'); | |
| document.getElementById('text-tab').classList.remove('active', 'text-pink-600', 'border-pink-600'); | |
| document.getElementById('voice-content').classList.add('active'); | |
| document.getElementById('text-content').classList.remove('active'); | |
| }); | |
| // Scenario type tabs (Templates/Custom) | |
| document.getElementById('templates-tab').addEventListener('click', function() { | |
| document.getElementById('templates-tab').classList.add('active', 'text-pink-600', 'border-pink-600'); | |
| document.getElementById('custom-tab').classList.remove('active', 'text-pink-600', 'border-pink-600'); | |
| document.getElementById('templates-content').classList.add('active'); | |
| document.getElementById('custom-content').classList.remove('active'); | |
| }); | |
| document.getElementById('custom-tab').addEventListener('click', function() { | |
| document.getElementById('custom-tab').classList.add('active', 'text-pink-600', 'border-pink-600'); | |
| document.getElementById('templates-tab').classList.remove('active', 'text-pink-600', 'border-pink-600'); | |
| document.getElementById('custom-content').classList.add('active'); | |
| document.getElementById('templates-content').classList.remove('active'); | |
| }); | |
| // Format selection | |
| document.getElementById('card-format').addEventListener('click', function() { | |
| document.getElementById('card-format').classList.add('border-pink-400'); | |
| document.getElementById('video-format').classList.remove('border-pink-400'); | |
| }); | |
| document.getElementById('video-format').addEventListener('click', function() { | |
| document.getElementById('video-format').classList.add('border-pink-400'); | |
| document.getElementById('card-format').classList.remove('border-pink-400'); | |
| }); | |
| // Voice option selection | |
| const voiceOptions = document.querySelectorAll('.voice-option'); | |
| voiceOptions.forEach(option => { | |
| option.addEventListener('click', function() { | |
| voiceOptions.forEach(opt => opt.classList.remove('selected')); | |
| this.classList.add('selected'); | |
| }); | |
| }); | |
| // Image upload preview | |
| document.getElementById('pet-upload').addEventListener('change', function(e) { | |
| const file = e.target.files[0]; | |
| if (file) { | |
| const reader = new FileReader(); | |
| reader.onload = function(event) { | |
| document.getElementById('image-preview').innerHTML = | |
| `<img src="${event.target.result}" alt="Preview" class="w-full h-full object-contain">`; | |
| }; | |
| reader.readAsDataURL(file); | |
| } | |
| }); | |
| }); | |
| // Preview modal functions | |
| function generatePreview() { | |
| document.getElementById('preview-modal').classList.remove('hidden'); | |
| } | |
| function closePreview() { | |
| document.getElementById('preview-modal').classList.add('hidden'); | |
| } | |
| </script> | |
| <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=Beatwrecka/pet-talk" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> | |
| </html> |