webmerchv1 / index.html
yasuser1's picture
what can I do if I want to Upload my images - Initial Deployment
143c393 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Artisan Canvas | Premium Art Supplies</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 animations and effects */
.product-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}
.product-card {
transition: all 0.3s ease;
}
.nav-link {
position: relative;
}
.nav-link::after {
content: '';
position: absolute;
width: 0;
height: 2px;
bottom: -2px;
left: 0;
background-color: #000;
transition: width 0.3s ease;
}
.nav-link:hover::after {
width: 100%;
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in {
animation: fadeIn 0.8s ease forwards;
}
.delay-1 { animation-delay: 0.2s; }
.delay-2 { animation-delay: 0.4s; }
.delay-3 { animation-delay: 0.6s; }
</style>
</head>
<body class="font-sans bg-gray-50">
<!-- Navigation -->
<nav class="bg-white shadow-sm sticky top-0 z-50">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex justify-between h-16">
<div class="flex items-center">
<a href="#" class="flex items-center">
<span class="text-xl font-bold text-gray-900">ARTISAN CANVAS</span>
</a>
</div>
<div class="hidden md:flex items-center space-x-8">
<a href="#" class="nav-link text-gray-900 hover:text-black px-1">Home</a>
<a href="#shop" class="nav-link text-gray-900 hover:text-black px-1">Shop</a>
<a href="#collections" class="nav-link text-gray-900 hover:text-black px-1">Collections</a>
<a href="#about" class="nav-link text-gray-900 hover:text-black px-1">About</a>
<div class="flex items-center space-x-4">
<a href="#" class="text-gray-900 hover:text-black">
<i class="fas fa-search"></i>
</a>
<a href="#" class="text-gray-900 hover:text-black">
<i class="fas fa-user"></i>
</a>
<a href="#" class="text-gray-900 hover:text-black relative">
<i class="fas fa-shopping-cart"></i>
<span class="absolute -top-2 -right-2 bg-red-500 text-white text-xs rounded-full h-5 w-5 flex items-center justify-center">3</span>
</a>
<label for="image-upload" class="text-gray-900 hover:text-black cursor-pointer">
<i class="fas fa-upload"></i>
<input id="image-upload" type="file" accept="image/*" class="hidden">
</label>
</div>
</div>
<div class="md:hidden flex items-center">
<button id="mobile-menu-button" class="text-gray-900">
<i class="fas fa-bars text-xl"></i>
</button>
</div>
</div>
</div>
<!-- Mobile menu -->
<div id="mobile-menu" class="hidden md:hidden bg-white border-t">
<div class="px-2 pt-2 pb-3 space-y-1">
<a href="#" class="block px-3 py-2 rounded-md text-base font-medium text-gray-900 hover:bg-gray-100">Home</a>
<a href="#shop" class="block px-3 py-2 rounded-md text-base font-medium text-gray-900 hover:bg-gray-100">Shop</a>
<a href="#collections" class="block px-3 py-2 rounded-md text-base font-medium text-gray-900 hover:bg-gray-100">Collections</a>
<a href="#about" class="block px-3 py-2 rounded-md text-base font-medium text-gray-900 hover:bg-gray-100">About</a>
<div class="flex space-x-4 px-3 py-2">
<a href="#" class="text-gray-900 hover:text-black">
<i class="fas fa-search"></i>
</a>
<a href="#" class="text-gray-900 hover:text-black">
<i class="fas fa-user"></i>
</a>
<a href="#" class="text-gray-900 hover:text-black relative">
<i class="fas fa-shopping-cart"></i>
<span class="absolute -top-2 -right-2 bg-red-500 text-white text-xs rounded-full h-5 w-5 flex items-center justify-center">3</span>
</a>
</div>
</div>
</div>
</nav>
<!-- Hero Section -->
<section class="relative bg-gradient-to-r from-green-600 to-emerald-800 text-white overflow-hidden">
<div class="max-w-7xl mx-auto">
<div class="relative z-10 pb-8 bg-gray-900 sm:pb-16 md:pb-20 lg:max-w-2xl lg:w-full lg:pb-28 xl:pb-32">
<div class="pt-10 sm:pt-16 lg:pt-8 lg:pb-14 lg:overflow-hidden">
<div class="mt-10 mx-auto max-w-7xl px-4 sm:mt-12 sm:px-6 md:mt-16 lg:mt-20 lg:px-8 xl:mt-28">
<div class="sm:text-center lg:text-left">
<h1 class="text-4xl tracking-tight font-extrabold sm:text-5xl md:text-6xl animate-fade-in">
<span class="block">Art Supplies That</span>
<span class="block text-emerald-200">Inspire Creativity</span>
</h1>
<p class="mt-3 text-base text-gray-100 sm:mt-5 sm:text-lg sm:max-w-xl sm:mx-auto md:mt-5 md:text-xl lg:mx-0 animate-fade-in delay-1">
Premium quality art materials for artists of all levels. Everything you need to bring your vision to life.
</p>
<div class="mt-5 sm:mt-8 sm:flex sm:justify-center lg:justify-start animate-fade-in delay-2">
<div class="rounded-md shadow">
<a href="#shop" class="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-black bg-emerald-100 hover:bg-emerald-200 md:py-4 md:text-lg md:px-10">
Shop Now
</a>
</div>
<div class="mt-3 sm:mt-0 sm:ml-3">
<a href="#collections" class="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-emerald-100 bg-gray-800 hover:bg-gray-700 md:py-4 md:text-lg md:px-10">
View Collections
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="lg:absolute lg:inset-y-0 lg:right-0 lg:w-1/2">
<img class="h-56 w-full object-cover sm:h-72 md:h-96 lg:w-full lg:h-full" src="https://images.unsplash.com/photo-1523381210434-271e8be1f52b?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Model wearing Urban Threads">
</div>
</section>
<!-- Featured Products -->
<section id="shop" class="py-12 bg-white">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-12 animate-fade-in">
<h2 class="text-3xl font-extrabold tracking-tight text-gray-900 sm:text-4xl">
Featured Products
</h2>
<p class="mt-4 max-w-2xl text-xl text-gray-500 mx-auto">
Our most popular items this season
</p>
</div>
<div class="grid grid-cols-1 gap-y-10 gap-x-6 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 xl:gap-x-8">
<!-- Product 1 -->
<div class="group product-card bg-white p-6 rounded-lg shadow-md animate-fade-in delay-1">
<div class="aspect-w-1 aspect-h-1 w-full overflow-hidden rounded-lg bg-gray-200 xl:aspect-w-7 xl:aspect-h-8">
<img src="https://images.unsplash.com/photo-1527719327859-c6ce80353573?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=764&q=80" alt="Graphic T-shirt" class="h-full w-full object-cover object-center group-hover:opacity-75">
<div class="absolute top-2 right-2 bg-red-500 text-white text-xs font-bold px-2 py-1 rounded-full">SALE</div>
</div>
<div class="mt-4 flex justify-between">
<div>
<h3 class="text-lg font-medium text-gray-900">Urban Explorer Tee</h3>
<p class="mt-1 text-sm text-gray-500">Black / XL</p>
</div>
<div class="text-right">
<p class="text-lg font-medium text-gray-900">$29.99</p>
<p class="text-sm text-gray-500 line-through">$39.99</p>
</div>
</div>
<button class="mt-4 w-full bg-black text-white py-2 px-4 rounded hover:bg-gray-800 transition duration-300">
Add to Cart
</button>
</div>
<!-- Product 2 -->
<div class="group product-card bg-white p-6 rounded-lg shadow-md animate-fade-in delay-2">
<div class="aspect-w-1 aspect-h-1 w-full overflow-hidden rounded-lg bg-gray-200 xl:aspect-w-7 xl:aspect-h-8">
<img src="https://images.unsplash.com/photo-1529374255404-311a2a4f1fd9?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1469&q=80" alt="Hoodie" class="h-full w-full object-cover object-center group-hover:opacity-75">
</div>
<div class="mt-4 flex justify-between">
<div>
<h3 class="text-lg font-medium text-gray-900">Streetwise Hoodie</h3>
<p class="mt-1 text-sm text-gray-500">Gray / M</p>
</div>
<p class="text-lg font-medium text-gray-900">$59.99</p>
</div>
<button class="mt-4 w-full bg-black text-white py-2 px-4 rounded hover:bg-gray-800 transition duration-300">
Add to Cart
</button>
</div>
<!-- Product 3 -->
<div class="group product-card bg-white p-6 rounded-lg shadow-md animate-fade-in delay-1">
<div class="aspect-w-1 aspect-h-1 w-full overflow-hidden rounded-lg bg-gray-200 xl:aspect-w-7 xl:aspect-h-8">
<img src="https://images.unsplash.com/photo-1591047139829-d91aecb6caea?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=736&q=80" alt="Cap" class="h-full w-full object-cover object-center group-hover:opacity-75">
</div>
<div class="mt-4 flex justify-between">
<div>
<h3 class="text-lg font-medium text-gray-900">Signature Snapback</h3>
<p class="mt-1 text-sm text-gray-500">Black / One Size</p>
</div>
<p class="text-lg font-medium text-gray-900">$24.99</p>
</div>
<button class="mt-4 w-full bg-black text-white py-2 px-4 rounded hover:bg-gray-800 transition duration-300">
Add to Cart
</button>
</div>
<!-- Product 4 -->
<div class="group product-card bg-white p-6 rounded-lg shadow-md animate-fade-in delay-2">
<div class="aspect-w-1 aspect-h-1 w-full overflow-hidden rounded-lg bg-gray-200 xl:aspect-w-7 xl:aspect-h-8">
<img src="https://images.unsplash.com/photo-1525498128493-380d0430bc7a?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Joggers" class="h-full w-full object-cover object-center group-hover:opacity-75">
<div class="absolute top-2 right-2 bg-green-500 text-white text-xs font-bold px-2 py-1 rounded-full">NEW</div>
</div>
<div class="mt-4 flex justify-between">
<div>
<h3 class="text-lg font-medium text-gray-900">Tech Joggers</h3>
<p class="mt-1 text-sm text-gray-500">Black / L</p>
</div>
<p class="text-lg font-medium text-gray-900">$49.99</p>
</div>
<button class="mt-4 w-full bg-black text-white py-2 px-4 rounded hover:bg-gray-800 transition duration-300">
Add to Cart
</button>
</div>
</div>
<div class="mt-12 text-center">
<a href="#" class="inline-flex items-center px-6 py-3 border border-transparent text-base font-medium rounded-md shadow-sm text-white bg-black hover:bg-gray-800">
View All Products
<i class="fas fa-arrow-right ml-2"></i>
</a>
</div>
</div>
</section>
<!-- Collections -->
<section id="collections" class="py-12 bg-gray-50">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-12">
<h2 class="text-3xl font-extrabold tracking-tight text-gray-900 sm:text-4xl">
Our Collections
</h2>
<p class="mt-4 max-w-2xl text-xl text-gray-500 mx-auto">
Curated styles for every occasion
</p>
</div>
<div class="grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3">
<!-- Collection 1 -->
<div class="group relative rounded-lg overflow-hidden shadow-lg h-96">
<img src="https://images.unsplash.com/photo-1551232864-3f0890e580d9?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=687&q=80" alt="Summer collection" class="w-full h-full object-cover">
<div class="absolute inset-0 bg-black bg-opacity-30 group-hover:bg-opacity-40 transition duration-300 flex items-center justify-center">
<div class="text-center p-6">
<h3 class="text-2xl font-bold text-white">Summer Vibes</h3>
<p class="mt-2 text-white">Lightweight styles for warm days</p>
<a href="#" class="mt-4 inline-block px-4 py-2 border border-white text-white hover:bg-white hover:text-black transition duration-300">
Shop Collection
</a>
</div>
</div>
</div>
<!-- Collection 2 -->
<div class="group relative rounded-lg overflow-hidden shadow-lg h-96">
<img src="https://images.unsplash.com/photo-1600269452121-1f822a60a0d4?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Streetwear collection" class="w-full h-full object-cover">
<div class="absolute inset-0 bg-black bg-opacity-30 group-hover:bg-opacity-40 transition duration-300 flex items-center justify-center">
<div class="text-center p-6">
<h3 class="text-2xl font-bold text-white">Urban Essentials</h3>
<p class="mt-2 text-white">Core pieces for your streetwear wardrobe</p>
<a href="#" class="mt-4 inline-block px-4 py-2 border border-white text-white hover:bg-white hover:text-black transition duration-300">
Shop Collection
</a>
</div>
</div>
</div>
<!-- Collection 3 -->
<div class="group relative rounded-lg overflow-hidden shadow-lg h-96">
<img src="https://images.unsplash.com/photo-1556905055-8f358a7a47b2?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Accessories collection" class="w-full h-full object-cover">
<div class="absolute inset-0 bg-black bg-opacity-30 group-hover:bg-opacity-40 transition duration-300 flex items-center justify-center">
<div class="text-center p-6">
<h3 class="text-2xl font-bold text-white">Finishing Touches</h3>
<p class="mt-2 text-white">Accessories to complete your look</p>
<a href="#" class="mt-4 inline-block px-4 py-2 border border-white text-white hover:bg-white hover:text-black transition duration-300">
Shop Collection
</a>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Testimonials -->
<section class="py-12 bg-white">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-12">
<h2 class="text-3xl font-extrabold tracking-tight text-gray-900 sm:text-4xl">
What Our Customers Say
</h2>
<p class="mt-4 max-w-2xl text-xl text-gray-500 mx-auto">
Don't just take our word for it
</p>
</div>
<div class="grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-3">
<!-- Testimonial 1 -->
<div class="bg-gray-50 p-6 rounded-lg shadow-sm">
<div class="flex items-center mb-4">
<div class="flex-shrink-0">
<img class="h-10 w-10 rounded-full" src="https://randomuser.me/api/portraits/women/32.jpg" alt="Sarah J.">
</div>
<div class="ml-4">
<div class="text-sm font-medium text-gray-900">Sarah J.</div>
<div class="flex text-yellow-400">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
</div>
</div>
</div>
<p class="text-gray-600">
"The quality of the hoodie I bought exceeded my expectations. It's become my go-to piece for casual outings. Will definitely be ordering more!"
</p>
</div>
<!-- Testimonial 2 -->
<div class="bg-gray-50 p-6 rounded-lg shadow-sm">
<div class="flex items-center mb-4">
<div class="flex-shrink-0">
<img class="h-10 w-10 rounded-full" src="https://randomuser.me/api/portraits/men/45.jpg" alt="Marcus T.">
</div>
<div class="ml-4">
<div class="text-sm font-medium text-gray-900">Marcus T.</div>
<div class="flex text-yellow-400">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star-half-alt"></i>
</div>
</div>
</div>
<p class="text-gray-600">
"Fast shipping and great customer service. The t-shirt fits perfectly and the print quality is excellent. Already planning my next purchase."
</p>
</div>
<!-- Testimonial 3 -->
<div class="bg-gray-50 p-6 rounded-lg shadow-sm">
<div class="flex items-center mb-4">
<div class="flex-shrink-0">
<img class="h-10 w-10 rounded-full" src="https://randomuser.me/api/portraits/women/68.jpg" alt="Jamie L.">
</div>
<div class="ml-4">
<div class="text-sm font-medium text-gray-900">Jamie L.</div>
<div class="flex text-yellow-400">
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
</div>
</div>
</div>
<p class="text-gray-600">
"I love how unique the designs are. I get compliments every time I wear my Urban Threads gear. The quality is top-notch too - worth every penny!"
</p>
</div>
</div>
</div>
</section>
<!-- Newsletter -->
<section class="bg-gray-900 text-white py-12">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="md:flex md:items-center md:justify-between">
<div class="md:w-1/2 mb-6 md:mb-0">
<h3 class="text-2xl font-bold">Stay Updated</h3>
<p class="mt-2 text-gray-300">
Subscribe to our newsletter for exclusive offers, new releases, and style tips.
</p>
</div>
<div class="md:w-1/2">
<form class="flex">
<input type="email" placeholder="Your email address" class="flex-grow px-4 py-3 rounded-l-md text-gray-900 focus:outline-none">
<button type="submit" class="bg-emerald-600 hover:bg-emerald-700 text-white px-6 py-3 rounded-r-md transition duration-300">
Subscribe
</button>
</form>
<p class="mt-2 text-sm text-gray-400">
We respect your privacy. Unsubscribe at any time.
</p>
</div>
</div>
</div>
</section>
<!-- About Section -->
<section id="about" class="py-12 bg-white">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="lg:grid lg:grid-cols-2 lg:gap-8 items-center">
<div class="mb-8 lg:mb-0">
<img src="https://images.unsplash.com/photo-1607082348824-0a96f2a4b9da?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80" alt="Our store" class="rounded-lg shadow-lg w-full">
</div>
<div>
<h2 class="text-3xl font-extrabold tracking-tight text-gray-900 sm:text-4xl">
Our Story
</h2>
<p class="mt-4 text-lg text-gray-500">
Founded in 2015, Urban Threads began as a small passion project between friends who shared a love for streetwear culture. What started as designing graphics in a garage has grown into a respected brand known for quality and unique designs.
</p>
<p class="mt-4 text-lg text-gray-500">
We believe fashion should be expressive, comfortable, and accessible. Every piece in our collection is designed with attention to detail and made from premium materials to ensure longevity and comfort.
</p>
<div class="mt-8 grid grid-cols-2 gap-4">
<div class="flex items-center">
<div class="flex-shrink-0 bg-indigo-100 rounded-md p-3">
<i class="fas fa-tshirt text-indigo-600 text-xl"></i>
</div>
<div class="ml-4">
<h3 class="text-lg font-medium text-gray-900">Premium Materials</h3>
<p class="text-gray-500">Only the best fabrics</p>
</div>
</div>
<div class="flex items-center">
<div class="flex-shrink-0 bg-indigo-100 rounded-md p-3">
<i class="fas fa-globe-americas text-indigo-600 text-xl"></i>
</div>
<div class="ml-4">
<h3 class="text-lg font-medium text-gray-900">Ethically Made</h3>
<p class="text-gray-500">Fair wages, safe conditions</p>
</div>
</div>
<div class="flex items-center">
<div class="flex-shrink-0 bg-indigo-100 rounded-md p-3">
<i class="fas fa-truck text-indigo-600 text-xl"></i>
</div>
<div class="ml-4">
<h3 class="text-lg font-medium text-gray-900">Fast Shipping</h3>
<p class="text-gray-500">Usually within 2-3 days</p>
</div>
</div>
<div class="flex items-center">
<div class="flex-shrink-0 bg-indigo-100 rounded-md p-3">
<i class="fas fa-undo-alt text-indigo-600 text-xl"></i>
</div>
<div class="ml-4">
<h3 class="text-lg font-medium text-gray-900">Easy Returns</h3>
<p class="text-gray-500">30-day satisfaction guarantee</p>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Upload Modal -->
<div id="upload-modal" class="fixed inset-0 bg-black bg-opacity-50 z-50 hidden flex items-center justify-center">
<div class="bg-white rounded-lg p-6 max-w-md w-full">
<h3 class="text-xl font-bold mb-4">Upload Image</h3>
<div class="mb-4">
<img id="upload-preview" src="#" alt="Preview" class="hidden max-h-64 mx-auto">
</div>
<div class="mb-4">
<input type="text" id="image-title" placeholder="Image title" class="w-full p-2 border rounded">
</div>
<div class="progress-container hidden mb-4">
<div class="w-full bg-gray-200 rounded-full h-2.5">
<div id="upload-progress" class="bg-emerald-600 h-2.5 rounded-full" style="width: 0%"></div>
</div>
<p class="text-sm text-gray-500 mt-1">Uploading: <span id="progress-percent">0</span>%</p>
</div>
<div class="flex justify-end space-x-2">
<button id="cancel-upload" class="px-4 py-2 border rounded">Cancel</button>
<button id="confirm-upload" class="px-4 py-2 bg-emerald-600 text-white rounded">Upload</button>
</div>
</div>
</div>
<!-- Footer -->
<footer class="bg-gray-900 text-white pt-12 pb-6">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="grid grid-cols-2 md:grid-cols-4 gap-8">
<div>
<h3 class="text-sm font-semibold uppercase tracking-wider">Shop</h3>
<ul class="mt-4 space-y-2">
<li><a href="#" class="text-gray-400 hover:text-white">All Products</a></li>
<li><a href="#" class="text-gray-400 hover:text-white">New Arrivals</a></li>
<li><a href="#" class="text-gray-400 hover:text-white">Best Sellers</a></li>
<li><a href="#" class="text-gray-400 hover:text-white">Sale Items</a></li>
</ul>
</div>
<div>
<h3 class="text-sm font-semibold uppercase tracking-wider">Customer Service</h3>
<ul class="mt-4 space-y-2">
<li><a href="#" class="text-gray-400 hover:text-white">Contact Us</a></li>
<li><a href="#" class="text-gray-400 hover:text-white">FAQs</a></li>
<li><a href="#" class="text-gray-400 hover:text-white">Shipping & Returns</a></li>
<li><a href="#" class="text-gray-400 hover:text-white">Size Guide</a></li>
</ul>
</div>
<div>
<h3 class="text-sm font-semibold uppercase tracking-wider">About</h3>
<ul class="mt-4 space-y-2">
<li><a href="#" class="text-gray-400 hover:text-white">Our Story</a></li>
<li><a href="#" class="text-gray-400 hover:text-white">Sustainability</a></li>
<li><a href="#" class="text-gray-400 hover:text-white">Careers</a></li>
<li><a href="#" class="text-gray-400 hover:text-white">Press</a></li>
</ul>
</div>
<div>
<h3 class="text-sm font-semibold uppercase tracking-wider">Connect</h3>
<div class="mt-4 flex space-x-4">
<a href="#" class="text-gray-400 hover:text-white">
<i class="fab fa-facebook-f"></i>
</a>
<a href="#" class="text-gray-400 hover:text-white">
<i class="fab fa-twitter"></i>
</a>
<a href="#" class="text-gray-400 hover:text-white">
<i class="fab fa-instagram"></i>
</a>
<a href="#" class="text-gray-400 hover:text-white">
<i class="fab fa-pinterest"></i>
</a>
</div>
<div class="mt-4">
<h4 class="text-sm font-semibold">Payment Methods</h4>
<div class="mt-2 flex space-x-2">
<i class="fab fa-cc-visa text-gray-400"></i>
<i class="fab fa-cc-mastercard text-gray-400"></i>
<i class="fab fa-cc-amex text-gray-400"></i>
<i class="fab fa-cc-paypal text-gray-400"></i>
</div>
</div>
</div>
</div>
<div class="mt-12 border-t border-gray-800 pt-6 flex flex-col md:flex-row justify-between items-center">
<p class="text-gray-400 text-sm">
&copy; 2023 Artisan Canvas. All rights reserved.
</p>
<div class="mt-4 md:mt-0">
<a href="#" class="text-gray-400 hover:text-white text-sm mr-4">Privacy Policy</a>
<a href="#" class="text-gray-400 hover:text-white text-sm mr-4">Terms of Service</a>
<a href="#" class="text-gray-400 hover:text-white text-sm">Accessibility</a>
</div>
</div>
</div>
</footer>
<script>
// Mobile menu toggle
document.getElementById('mobile-menu-button').addEventListener('click', function() {
const menu = document.getElementById('mobile-menu');
menu.classList.toggle('hidden');
});
// Smooth scrolling for anchor links
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function (e) {
e.preventDefault();
const targetId = this.getAttribute('href');
if (targetId === '#') return;
const targetElement = document.querySelector(targetId);
if (targetElement) {
targetElement.scrollIntoView({
behavior: 'smooth'
});
// Close mobile menu if open
const mobileMenu = document.getElementById('mobile-menu');
if (!mobileMenu.classList.contains('hidden')) {
mobileMenu.classList.add('hidden');
}
}
});
});
// Add animation class when elements come into view
const observerOptions = {
threshold: 0.1
};
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('animate-fade-in');
observer.unobserve(entry.target);
}
});
}, observerOptions);
document.querySelectorAll('.animate-fade-in').forEach(element => {
observer.observe(element);
});
// Image upload handling
const imageUpload = document.getElementById('image-upload');
const uploadModal = document.getElementById('upload-modal');
const uploadPreview = document.getElementById('upload-preview');
const progressContainer = document.querySelector('.progress-container');
const uploadProgress = document.getElementById('upload-progress');
const progressPercent = document.getElementById('progress-percent');
const cancelUpload = document.getElementById('cancel-upload');
const confirmUpload = document.getElementById('confirm-upload');
const imageTitle = document.getElementById('image-title');
let selectedFile = null;
imageUpload.addEventListener('change', function(e) {
if (e.target.files && e.target.files[0]) {
selectedFile = e.target.files[0];
// Show preview
const reader = new FileReader();
reader.onload = function(event) {
uploadPreview.src = event.target.result;
uploadPreview.classList.remove('hidden');
}
reader.readAsDataURL(selectedFile);
// Show modal
uploadModal.classList.remove('hidden');
}
});
cancelUpload.addEventListener('click', function() {
uploadModal.classList.add('hidden');
imageUpload.value = '';
selectedFile = null;
});
confirmUpload.addEventListener('click', function() {
if (!selectedFile) return;
// Show progress
progressContainer.classList.remove('hidden');
// In a real app, you would upload to a server here
// This is just a simulation
let progress = 0;
const interval = setInterval(() => {
progress += 5;
uploadProgress.style.width = progress + '%';
progressPercent.textContent = progress;
if (progress >= 100) {
clearInterval(interval);
setTimeout(() => {
uploadModal.classList.add('hidden');
progressContainer.classList.add('hidden');
uploadProgress.style.width = '0%';
progressPercent.textContent = '0';
alert('Image uploaded successfully!');
}, 500);
}
}, 100);
});
</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=yasuser1/webmerchv1" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>