vitaboytv's picture
https://undress.app/edit
3ed13fb verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Pixel Perfect Wardrobe Wizard</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>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.net.min.js"></script>
<style>
.dropzone {
border: 3px dashed #9CA3AF;
transition: all 0.3s ease;
}
.dropzone-active {
border-color: #6366F1;
background-color: #E0E7FF;
}
.fade-in {
animation: fadeIn 0.5s ease-in;
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
</style>
</head>
<body class="bg-gray-100 font-sans">
<div id="vanta-bg" class="fixed inset-0 -z-10"></div>
<div class="min-h-screen flex flex-col items-center justify-center px-4 py-12">
<div class="w-full max-w-4xl bg-white rounded-xl shadow-2xl overflow-hidden fade-in">
<div class="bg-gradient-to-r from-indigo-500 to-purple-600 p-6 text-white">
<div class="flex items-center justify-between">
<div>
<h1 class="text-3xl font-bold">Pixel Perfect Wardrobe Wizard ✨</h1>
<p class="mt-2 opacity-90">AI-powered clothing editor that works like magic</p>
</div>
<i data-feather="wifi" class="w-8 h-8"></i>
</div>
</div>
<div class="p-8">
<div id="dropzone" class="dropzone rounded-lg p-12 text-center cursor-pointer mb-8">
<div class="mx-auto w-24 h-24 bg-gray-100 rounded-full flex items-center justify-center mb-4">
<i data-feather="upload-cloud" class="w-10 h-10 text-gray-400"></i>
</div>
<h3 class="text-xl font-semibold text-gray-700">Drag & drop your outfit here</h3>
<p class="text-gray-500 mt-2">or click to browse your files</p>
<input type="file" id="fileInput" class="hidden" accept="image/*">
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-8">
<div class="bg-indigo-50 rounded-lg p-4 flex items-center space-x-3">
<div class="bg-indigo-100 p-3 rounded-full">
<i data-feather="zap" class="w-5 h-5 text-indigo-600"></i>
</div>
<div>
<h4 class="font-medium text-gray-800">Lightning Fast</h4>
<p class="text-sm text-gray-500">Edits in seconds</p>
</div>
</div>
<div class="bg-purple-50 rounded-lg p-4 flex items-center space-x-3">
<div class="bg-purple-100 p-3 rounded-full">
<i data-feather="lock" class="w-5 h-5 text-purple-600"></i>
</div>
<div>
<h4 class="font-medium text-gray-800">Private</h4>
<p class="text-sm text-gray-500">Your images stay yours</p>
</div>
</div>
<div class="bg-pink-50 rounded-lg p-4 flex items-center space-x-3">
<div class="bg-pink-100 p-3 rounded-full">
<i data-feather="star" class="w-5 h-5 text-pink-600"></i>
</div>
<div>
<h4 class="font-medium text-gray-800">Premium Quality</h4>
<p class="text-sm text-gray-500">HD results</p>
</div>
</div>
</div>
<div class="bg-gray-50 rounded-lg p-6">
<h3 class="text-lg font-semibold mb-4">Edit Options</h3>
<div class="grid grid-cols-2 md:grid-cols-4 gap-4">
<button class="bg-white rounded-lg p-4 shadow-sm hover:shadow-md transition flex flex-col items-center">
<div class="w-10 h-10 bg-blue-100 rounded-full flex items-center justify-center mb-2">
<i data-feather="edit-3" class="w-5 h-5 text-blue-600"></i>
</div>
<span class="text-sm font-medium">Color Change</span>
</button>
<button class="bg-white rounded-lg p-4 shadow-sm hover:shadow-md transition flex flex-col items-center">
<div class="w-10 h-10 bg-green-100 rounded-full flex items-center justify-center mb-2">
<i data-feather="scissors" class="w-5 h-5 text-green-600"></i>
</div>
<span class="text-sm font-medium">Remove Item</span>
</button>
<button class="bg-white rounded-lg p-4 shadow-sm hover:shadow-md transition flex flex-col items-center">
<div class="w-10 h-10 bg-yellow-100 rounded-full flex items-center justify-center mb-2">
<i data-feather="plus" class="w-5 h-5 text-yellow-600"></i>
</div>
<span class="text-sm font-medium">Add Item</span>
</button>
<button class="bg-white rounded-lg p-4 shadow-sm hover:shadow-md transition flex flex-col items-center">
<div class="w-10 h-10 bg-red-100 rounded-full flex items-center justify-center mb-2">
<i data-feather="refresh-cw" class="w-5 h-5 text-red-600"></i>
</div>
<span class="text-sm font-medium">Restyle</span>
</button>
</div>
</div>
</div>
<div class="bg-gray-50 px-8 py-4 border-t border-gray-200">
<div class="flex items-center justify-between">
<p class="text-sm text-gray-500">Try our premium features for free</p>
<button class="bg-gradient-to-r from-indigo-500 to-purple-600 text-white px-6 py-2 rounded-full font-medium hover:shadow-lg transition">
Get Started
</button>
</div>
</div>
</div>
</div>
<script>
// Initialize Vanta.js background
VANTA.NET({
el: "#vanta-bg",
color: 0x6366f1,
backgroundColor: 0xf1f5f9,
points: 10,
maxDistance: 20,
spacing: 15
});
// Initialize feather icons
feather.replace();
// Dropzone functionality
const dropzone = document.getElementById('dropzone');
const fileInput = document.getElementById('fileInput');
['dragenter', 'dragover', 'dragleave', 'drop'].forEach(eventName => {
dropzone.addEventListener(eventName, preventDefaults, false);
});
function preventDefaults(e) {
e.preventDefault();
e.stopPropagation();
}
['dragenter', 'dragover'].forEach(eventName => {
dropzone.addEventListener(eventName, highlight, false);
});
['dragleave', 'drop'].forEach(eventName => {
dropzone.addEventListener(eventName, unhighlight, false);
});
function highlight() {
dropzone.classList.add('dropzone-active');
}
function unhighlight() {
dropzone.classList.remove('dropzone-active');
}
dropzone.addEventListener('drop', handleDrop, false);
dropzone.addEventListener('click', () => fileInput.click(), false);
fileInput.addEventListener('change', handleFiles, false);
function handleDrop(e) {
const dt = e.dataTransfer;
const files = dt.files;
handleFiles({ target: { files } });
}
function handleFiles(e) {
const files = e.target.files;
if (files.length) {
// Here you would handle the file upload
console.log('File selected:', files[0]);
// For demo purposes, we'll just show a success message
dropzone.innerHTML = `
<div class="flex flex-col items-center">
<div class="w-24 h-24 bg-green-100 rounded-full flex items-center justify-center mb-4">
<i data-feather="check" class="w-10 h-10 text-green-600"></i>
</div>
<h3 class="text-xl font-semibold text-gray-700">Ready to edit!</h3>
<p class="text-gray-500 mt-2">${files[0].name}</p>
</div>
`;
feather.replace();
}
}
</script>
</body>
</html>