minepage / index.html
logicaldata's picture
Add 3 files
e0eaf70 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Interactive UI Showcase</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>
/* Custom CSS for elements that need more precise styling */
.gradient-bg {
background: linear-gradient(135deg, #6e8efb, #a777e3);
}
.card-hover {
transition: all 0.3s ease;
}
.card-hover:hover {
transform: translateY(-5px);
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.animated-button {
position: relative;
overflow: hidden;
}
.animated-button::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 5px;
height: 5px;
background: rgba(255, 255, 255, 0.5);
opacity: 0;
border-radius: 100%;
transform: scale(1, 1) translate(-50%);
transform-origin: 50% 50%;
}
.animated-button:focus:not(:active)::after {
animation: ripple 1s ease-out;
}
@keyframes ripple {
0% {
transform: scale(0, 0);
opacity: 0.5;
}
100% {
transform: scale(20, 20);
opacity: 0;
}
}
.floating {
animation: floating 3s ease-in-out infinite;
}
@keyframes floating {
0% { transform: translateY(0px); }
50% { transform: translateY(-15px); }
100% { transform: translateY(0px); }
}
</style>
</head>
<body class="bg-gray-50 min-h-screen">
<!-- Navigation -->
<nav class="bg-white shadow-lg">
<div class="max-w-6xl mx-auto px-4">
<div class="flex justify-between">
<div class="flex space-x-7">
<div>
<a href="#" class="flex items-center py-4 px-2">
<i class="fas fa-cube text-purple-600 text-2xl mr-2"></i>
<span class="font-semibold text-gray-500 text-lg">CubeUI</span>
</a>
</div>
<div class="hidden md:flex items-center space-x-1">
<a href="#" class="py-4 px-2 text-purple-600 border-b-4 border-purple-600 font-semibold">Home</a>
<a href="#" class="py-4 px-2 text-gray-500 font-semibold hover:text-purple-600 transition duration-300">Services</a>
<a href="#" class="py-4 px-2 text-gray-500 font-semibold hover:text-purple-600 transition duration-300">About</a>
<a href="#" class="py-4 px-2 text-gray-500 font-semibold hover:text-purple-600 transition duration-300">Contact</a>
</div>
</div>
<div class="hidden md:flex items-center space-x-3">
<a href="#" class="py-2 px-2 font-medium text-gray-500 rounded hover:bg-purple-600 hover:text-white transition duration-300">Log In</a>
<a href="#" class="py-2 px-3 font-medium text-white bg-purple-600 rounded hover:bg-purple-700 transition duration-300">Sign Up</a>
</div>
<div class="md:hidden flex items-center">
<button class="outline-none mobile-menu-button">
<i class="fas fa-bars text-gray-500 text-xl"></i>
</button>
</div>
</div>
</div>
<div class="hidden mobile-menu">
<ul>
<li class="active"><a href="#" class="block text-sm px-2 py-4 text-white bg-purple-600 font-semibold">Home</a></li>
<li><a href="#" class="block text-sm px-2 py-4 hover:bg-purple-600 hover:text-white transition duration-300">Services</a></li>
<li><a href="#" class="block text-sm px-2 py-4 hover:bg-purple-600 hover:text-white transition duration-300">About</a></li>
<li><a href="#" class="block text-sm px-2 py-4 hover:bg-purple-600 hover:text-white transition duration-300">Contact</a></li>
</ul>
</div>
</nav>
<!-- Hero Section -->
<div class="gradient-bg text-white py-20">
<div class="container mx-auto px-6 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-6xl font-bold mb-4">Build Amazing UIs</h1>
<p class="text-xl mb-8">With the power of HTML, CSS, and JavaScript, create stunning interfaces that captivate your users.</p>
<div class="flex flex-col sm:flex-row space-y-4 sm:space-y-0 sm:space-x-4">
<button class="animated-button bg-white text-purple-600 font-bold py-3 px-6 rounded-full hover:bg-gray-100 transition duration-300 focus:outline-none">
Get Started
</button>
<button class="animated-button bg-transparent border-2 border-white text-white font-bold py-3 px-6 rounded-full hover:bg-white hover:text-purple-600 transition duration-300 focus:outline-none">
Learn More
</button>
</div>
</div>
<div class="md:w-1/2 flex justify-center">
<div class="relative w-64 h-64 md:w-80 md:h-80">
<div class="absolute inset-0 bg-white bg-opacity-20 rounded-full filter blur-xl"></div>
<div class="relative flex items-center justify-center w-full h-full">
<img src="https://cdn-icons-png.flaticon.com/512/1063/1063249.png" alt="UI Illustration" class="w-3/4 floating">
</div>
</div>
</div>
</div>
</div>
<!-- Features Section -->
<section class="py-20 bg-white">
<div class="container mx-auto px-6">
<h2 class="text-3xl font-bold text-center text-gray-800 mb-12">Key Features</h2>
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
<!-- Feature 1 -->
<div class="bg-gray-50 p-8 rounded-lg card-hover">
<div class="w-16 h-16 bg-purple-100 rounded-full flex items-center justify-center mb-6">
<i class="fas fa-bolt text-purple-600 text-2xl"></i>
</div>
<h3 class="text-xl font-semibold text-gray-800 mb-3">Lightning Fast</h3>
<p class="text-gray-600">Optimized for performance with minimal dependencies and efficient code.</p>
</div>
<!-- Feature 2 -->
<div class="bg-gray-50 p-8 rounded-lg card-hover">
<div class="w-16 h-16 bg-purple-100 rounded-full flex items-center justify-center mb-6">
<i class="fas fa-mobile-alt text-purple-600 text-2xl"></i>
</div>
<h3 class="text-xl font-semibold text-gray-800 mb-3">Responsive Design</h3>
<p class="text-gray-600">Looks great on any device, from mobile phones to large desktop screens.</p>
</div>
<!-- Feature 3 -->
<div class="bg-gray-50 p-8 rounded-lg card-hover">
<div class="w-16 h-16 bg-purple-100 rounded-full flex items-center justify-center mb-6">
<i class="fas fa-paint-brush text-purple-600 text-2xl"></i>
</div>
<h3 class="text-xl font-semibold text-gray-800 mb-3">Customizable</h3>
<p class="text-gray-600">Easily modify colors, spacing, and components to match your brand.</p>
</div>
</div>
</div>
</section>
<!-- Interactive Demo Section -->
<section class="py-20 bg-gray-100">
<div class="container mx-auto px-6">
<h2 class="text-3xl font-bold text-center text-gray-800 mb-12">Interactive Demo</h2>
<div class="flex flex-col md:flex-row items-center">
<div class="md:w-1/2 mb-10 md:mb-0">
<div class="bg-white p-6 rounded-lg shadow-lg">
<div class="flex justify-between items-center mb-4">
<h3 class="text-xl font-semibold">Theme Customizer</h3>
<button id="reset-btn" class="text-sm text-purple-600 hover:text-purple-800">Reset</button>
</div>
<div class="space-y-4">
<div>
<label class="block text-sm font-medium text-gray-700 mb-1">Primary Color</label>
<div class="flex space-x-2">
<button data-color="purple" class="color-btn w-8 h-8 rounded-full bg-purple-600 border-2 border-white shadow"></button>
<button data-color="blue" class="color-btn w-8 h-8 rounded-full bg-blue-600 border-2 border-white shadow"></button>
<button data-color="green" class="color-btn w-8 h-8 rounded-full bg-green-600 border-2 border-white shadow"></button>
<button data-color="red" class="color-btn w-8 h-8 rounded-full bg-red-600 border-2 border-white shadow"></button>
</div>
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-1">Dark Mode</label>
<label class="relative inline-flex items-center cursor-pointer">
<input type="checkbox" id="dark-mode-toggle" class="sr-only peer">
<div class="w-11 h-6 bg-gray-200 peer-focus:outline-none peer-focus:ring-4 peer-focus:ring-purple-300 rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-purple-600"></div>
<span class="ml-3 text-sm font-medium text-gray-700">Toggle</span>
</label>
</div>
</div>
</div>
</div>
<div class="md:w-1/2">
<div id="demo-card" class="bg-white p-6 rounded-lg shadow-lg transition-all duration-300">
<div class="flex items-center mb-4">
<div class="w-12 h-12 rounded-full bg-purple-100 flex items-center justify-center mr-4">
<i class="fas fa-user text-purple-600 text-xl"></i>
</div>
<div>
<h3 class="font-semibold">John Doe</h3>
<p class="text-sm text-gray-600">UI Designer</p>
</div>
</div>
<p class="text-gray-700 mb-4">This is a preview card that changes based on your selections. Try customizing the theme!</p>
<div class="flex space-x-2">
<button class="bg-purple-600 text-white px-4 py-2 rounded hover:bg-purple-700 transition duration-300">Follow</button>
<button class="border border-gray-300 px-4 py-2 rounded hover:bg-gray-100 transition duration-300">Message</button>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Newsletter Section -->
<section class="py-16 gradient-bg text-white">
<div class="container mx-auto px-6 text-center">
<h2 class="text-3xl font-bold mb-6">Stay Updated</h2>
<p class="text-xl mb-8 max-w-2xl mx-auto">Subscribe to our newsletter for the latest updates and tips on UI development.</p>
<div class="flex flex-col sm:flex-row justify-center max-w-md mx-auto">
<input type="email" placeholder="Enter your email" class="flex-grow px-4 py-3 rounded-l-full sm:rounded-r-none rounded-r-full mb-2 sm:mb-0 focus:outline-none text-gray-800">
<button class="animated-button bg-white text-purple-600 font-bold px-6 py-3 rounded-r-full sm:rounded-l-none rounded-l-full hover:bg-gray-100 transition duration-300 focus:outline-none">
Subscribe
</button>
</div>
</div>
</section>
<!-- Footer -->
<footer class="bg-gray-800 text-white py-12">
<div class="container mx-auto px-6">
<div class="grid grid-cols-1 md:grid-cols-4 gap-8">
<div>
<h3 class="text-xl font-semibold mb-4">CubeUI</h3>
<p class="text-gray-400">Creating beautiful, functional user interfaces with pure web technologies.</p>
</div>
<div>
<h4 class="font-semibold mb-4">Quick Links</h4>
<ul class="space-y-2">
<li><a href="#" class="text-gray-400 hover:text-white transition duration-300">Home</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition duration-300">Features</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition duration-300">Pricing</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition duration-300">Blog</a></li>
</ul>
</div>
<div>
<h4 class="font-semibold mb-4">Resources</h4>
<ul class="space-y-2">
<li><a href="#" class="text-gray-400 hover:text-white transition duration-300">Documentation</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition duration-300">Tutorials</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition duration-300">Support</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition duration-300">API Reference</a></li>
</ul>
</div>
<div>
<h4 class="font-semibold mb-4">Connect</h4>
<div class="flex space-x-4">
<a href="#" class="text-gray-400 hover:text-white transition duration-300"><i class="fab fa-twitter text-xl"></i></a>
<a href="#" class="text-gray-400 hover:text-white transition duration-300"><i class="fab fa-facebook text-xl"></i></a>
<a href="#" class="text-gray-400 hover:text-white transition duration-300"><i class="fab fa-instagram text-xl"></i></a>
<a href="#" class="text-gray-400 hover:text-white transition duration-300"><i class="fab fa-github text-xl"></i></a>
</div>
</div>
</div>
<div class="border-t border-gray-700 mt-8 pt-8 text-center text-gray-400">
<p>&copy; 2023 CubeUI. All rights reserved.</p>
</div>
</div>
</footer>
<script>
// Mobile menu toggle
const mobileMenuButton = document.querySelector('.mobile-menu-button');
const mobileMenu = document.querySelector('.mobile-menu');
mobileMenuButton.addEventListener('click', () => {
mobileMenu.classList.toggle('hidden');
});
// Theme customization
const colorButtons = document.querySelectorAll('.color-btn');
const darkModeToggle = document.getElementById('dark-mode-toggle');
const demoCard = document.getElementById('demo-card');
const resetBtn = document.getElementById('reset-btn');
colorButtons.forEach(button => {
button.addEventListener('click', () => {
const color = button.getAttribute('data-color');
// Update all elements with primary color
document.querySelectorAll('.gradient-bg').forEach(el => {
el.classList.remove('gradient-bg');
el.classList.add(`bg-${color}-600`);
});
document.querySelectorAll('.text-purple-600').forEach(el => {
el.classList.remove('text-purple-600');
el.classList.add(`text-${color}-600`);
});
document.querySelectorAll('.bg-purple-600').forEach(el => {
el.classList.remove('bg-purple-600');
el.classList.add(`bg-${color}-600`);
});
document.querySelectorAll('.bg-purple-100').forEach(el => {
el.classList.remove('bg-purple-100');
el.classList.add(`bg-${color}-100`);
});
document.querySelectorAll('.border-purple-600').forEach(el => {
el.classList.remove('border-purple-600');
el.classList.add(`border-${color}-600`);
});
document.querySelectorAll('.peer-focus:ring-purple-300').forEach(el => {
el.classList.remove('peer-focus:ring-purple-300');
el.classList.add(`peer-focus:ring-${color}-300`);
});
document.querySelectorAll('.peer-checked:bg-purple-600').forEach(el => {
el.classList.remove('peer-checked:bg-purple-600');
el.classList.add(`peer-checked:bg-${color}-600`);
});
});
});
darkModeToggle.addEventListener('change', () => {
document.body.classList.toggle('bg-gray-900');
document.body.classList.toggle('bg-gray-50');
if (darkModeToggle.checked) {
demoCard.classList.remove('bg-white');
demoCard.classList.add('bg-gray-800');
document.querySelectorAll('.text-gray-800').forEach(el => {
el.classList.remove('text-gray-800');
el.classList.add('text-white');
});
document.querySelectorAll('.bg-white').forEach(el => {
el.classList.remove('bg-white');
el.classList.add('bg-gray-800');
});
document.querySelectorAll('.bg-gray-50').forEach(el => {
el.classList.remove('bg-gray-50');
el.classList.add('bg-gray-700');
});
} else {
demoCard.classList.remove('bg-gray-800');
demoCard.classList.add('bg-white');
document.querySelectorAll('.text-white').forEach(el => {
if (el.closest('footer') || el.closest('.gradient-bg')) return;
el.classList.remove('text-white');
el.classList.add('text-gray-800');
});
document.querySelectorAll('.bg-gray-800').forEach(el => {
if (el.closest('footer')) return;
el.classList.remove('bg-gray-800');
el.classList.add('bg-white');
});
document.querySelectorAll('.bg-gray-700').forEach(el => {
el.classList.remove('bg-gray-700');
el.classList.add('bg-gray-50');
});
}
});
resetBtn.addEventListener('click', () => {
// Reset colors to purple
document.querySelectorAll('[class*="bg-"]').forEach(el => {
if (el.classList.contains('gradient-bg')) return;
if (el.classList.contains('bg-white') || el.classList.contains('bg-gray-50') ||
el.classList.contains('bg-gray-800') || el.classList.contains('bg-gray-700') ||
el.classList.contains('bg-gray-100') || el.classList.contains('bg-gray-900')) return;
el.classList.remove(el.classList[1]);
el.classList.add('bg-purple-600');
});
document.querySelectorAll('.text-purple-600').forEach(el => {
el.classList.remove('text-purple-600');
el.classList.add('text-purple-600');
});
document.querySelectorAll('.bg-purple-100').forEach(el => {
el.classList.remove('bg-purple-100');
el.classList.add('bg-purple-100');
});
document.querySelectorAll('.border-purple-600').forEach(el => {
el.classList.remove('border-purple-600');
el.classList.add('border-purple-600');
});
document.querySelectorAll('.peer-focus:ring-purple-300').forEach(el => {
el.classList.remove('peer-focus:ring-purple-300');
el.classList.add('peer-focus:ring-purple-300');
});
document.querySelectorAll('.peer-checked:bg-purple-600').forEach(el => {
el.classList.remove('peer-checked:bg-purple-600');
el.classList.add('peer-checked:bg-purple-600');
});
// Reset gradient background
document.querySelectorAll('.gradient-bg').forEach(el => {
el.classList.remove('bg-purple-600');
el.classList.add('gradient-bg');
});
// Reset dark mode
darkModeToggle.checked = false;
document.body.classList.remove('bg-gray-900');
document.body.classList.add('bg-gray-50');
demoCard.classList.remove('bg-gray-800');
demoCard.classList.add('bg-white');
document.querySelectorAll('.text-white').forEach(el => {
if (el.closest('footer') || el.closest('.gradient-bg')) return;
el.classList.remove('text-white');
el.classList.add('text-gray-800');
});
document.querySelectorAll('.bg-gray-800').forEach(el => {
if (el.closest('footer')) return;
el.classList.remove('bg-gray-800');
el.classList.add('bg-white');
});
document.querySelectorAll('.bg-gray-700').forEach(el => {
el.classList.remove('bg-gray-700');
el.classList.add('bg-gray-50');
});
});
// Animate elements when they come into view
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('animate-fadeIn');
}
});
}, { threshold: 0.1 });
document.querySelectorAll('.card-hover').forEach(card => {
observer.observe(card);
});
</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=logicaldata/minepage" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>