|
|
<!DOCTYPE html> |
|
|
<html lang="fa" dir="rtl"> |
|
|
<head> |
|
|
<meta charset="UTF-8"> |
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
|
<title>محصولات - ShopVista</title> |
|
|
<link rel="icon" type="image/x-icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>🛒</text></svg>"> |
|
|
<link rel="stylesheet" href="style.css"> |
|
|
<script src="https://cdn.tailwindcss.com"></script> |
|
|
<script src="https://unpkg.com/feather-icons"></script> |
|
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap" rel="stylesheet"> |
|
|
</head> |
|
|
<body class="bg-gray-50 dark:bg-gray-900"> |
|
|
<script src="components/navbar.js"></script> |
|
|
<script src="components/footer.js"></script> |
|
|
<script src="components/product-card.js"></script> |
|
|
<script src="components/cart-sidebar.js"></script> |
|
|
|
|
|
<shop-navbar></shop-navbar> |
|
|
|
|
|
<main class="pt-20"> |
|
|
<div class="container mx-auto px-4 py-8"> |
|
|
|
|
|
<div class="flex flex-col lg:flex-row gap-8"> |
|
|
|
|
|
<aside class="w-full lg:w-64"> |
|
|
<div class="bg-white dark:bg-gray-800 rounded-xl p-6 shadow-lg"> |
|
|
<h3 class="text-lg font-semibold mb-4 dark:text-white">فیلتر محصولات</h3> |
|
|
|
|
|
|
|
|
<div class="mb-6"> |
|
|
<h4 class="font-medium mb-3 dark:text-white">دستهبندی</h4> |
|
|
<div class="space-y-2"> |
|
|
<label class="flex items-center"> |
|
|
<input type="checkbox" class="ml-2"> |
|
|
<span class="dark:text-gray-300">موبایل</span> |
|
|
</label> |
|
|
<label class="flex items-center"> |
|
|
<input type="checkbox" class="ml-2"> |
|
|
<span class="dark:text-gray-300">لپتاپ</span> |
|
|
</label> |
|
|
<label class="flex items-center"> |
|
|
<input type="checkbox" class="ml-2"> |
|
|
<span class="dark:text-gray-300">لوازم جانبی</span> |
|
|
</label> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="mb-6"> |
|
|
<h4 class="font-medium mb-3 dark:text-white">محدوده قیمت</h4> |
|
|
<div class="space-y-2"> |
|
|
<input type="range" class="w-full" min="0" max="100000000"> |
|
|
<div class="text-sm dark:text-gray-300">تا ۱۰۰ میلیون تومان</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="mb-6"> |
|
|
<h4 class="font-medium mb-3 dark:text-white">برند</h4> |
|
|
<div class="space-y-2"> |
|
|
<label class="flex items-center"> |
|
|
<input type="checkbox" class="ml-2"> |
|
|
<span class="dark:text-gray-300">اپل</span> |
|
|
</label> |
|
|
<label class="flex items-center"> |
|
|
<input type="checkbox" class="ml-2"> |
|
|
<span class="dark:text-gray-300">سامسونگ</span> |
|
|
</label> |
|
|
<label class="flex items-center"> |
|
|
<input type="checkbox" class="ml-2"> |
|
|
<span class="dark:text-gray-300">شیائومی</span> |
|
|
</label> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<button class="w-full bg-primary-600 text-white py-2 rounded-lg hover:bg-primary-700 transition-colors"> |
|
|
اعمال فیلترها |
|
|
</button> |
|
|
</div> |
|
|
</aside> |
|
|
|
|
|
|
|
|
<div class="flex-1"> |
|
|
|
|
|
<div class="bg-white dark:bg-gray-800 rounded-xl p-4 mb-6 shadow-lg flex justify-between items-center"> |
|
|
<div class="flex items-center gap-4"> |
|
|
<span class="dark:text-gray-300">مرتبسازی:</span> |
|
|
<select class="border rounded-lg px-3 py-1 dark:bg-gray-700 dark:border-gray-600 dark:text-white"> |
|
|
<option>پربازدیدترین</option> |
|
|
<option>جدیدترین</option> |
|
|
<option>ارزانترین</option> |
|
|
<option>گرانترین</option> |
|
|
</select> |
|
|
</div> |
|
|
<div class="flex items-center gap-2"> |
|
|
<button class="p-2 rounded hover:bg-gray-100 dark:hover:bg-gray-700"> |
|
|
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> |
|
|
<rect x="3" y="3" width="7" height="7"></rect> |
|
|
<rect x="14" y="3" width="7" height="7"></rect> |
|
|
<rect x="14" y="14" width="7" height="7"></rect> |
|
|
<rect x="3" y="14" width="7" height="7"></rect> |
|
|
</svg> |
|
|
</button> |
|
|
<button class="p-2 rounded hover:bg-gray-100 dark:hover:bg-gray-700"> |
|
|
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> |
|
|
<line x1="8" y1="6" x2="21" y2="6"></line> |
|
|
<line x1="8" y1="12" x2="21" y2="12"></line> |
|
|
<line x1="8" y1="18" x2="21" y2="18"></line> |
|
|
<line x1="3" y1="6" x2="3.01" y2="6"></line> |
|
|
<line x1="3" y1="12" x2="3.01" y2="12"></line> |
|
|
<line x1="3" y1="18" x2="3.01" y2="18"></line> |
|
|
</svg> |
|
|
</button> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"> |
|
|
<product-card |
|
|
data-id="5" |
|
|
data-title="گوشی آیفون 14" |
|
|
data-price="38,000,000 تومان" |
|
|
data-discount="10" |
|
|
data-image="http://static.photos/technology/320x240/105"> |
|
|
</product-card> |
|
|
<product-card |
|
|
data-id="6" |
|
|
data-title="گوشی سامسونگ A54" |
|
|
data-price="15,000,000 تومان" |
|
|
data-discount="15" |
|
|
data-image="http://static.photos/technology/320x240/106"> |
|
|
</product-card> |
|
|
<product-card |
|
|
data-id="7" |
|
|
data-title="گوشی شیائومی 13 پرو" |
|
|
data-price="22,000,000 تومان" |
|
|
data-discount="5" |
|
|
data-image="http://static.photos/technology/320x240/107"> |
|
|
</product-card> |
|
|
<product-card |
|
|
data-id="8" |
|
|
data-title="لپتاپ Dell XPS 13" |
|
|
data-price="55,000,000 تومان" |
|
|
data-discount="8" |
|
|
data-image="http://static.photos/technology/320x240/108"> |
|
|
</product-card> |
|
|
<product-card |
|
|
data-id="9" |
|
|
data-title="لپتاپ Lenovo ThinkPad" |
|
|
data-price="45,000,000 تومان" |
|
|
data-discount="12" |
|
|
data-image="http://static.photos/technology/320x240/109"> |
|
|
</product-card> |
|
|
<product-card |
|
|
data-id="10" |
|
|
data-title="تبلت iPad Air" |
|
|
data-price="25,000,000 تومان" |
|
|
data-discount="10" |
|
|
data-image="http://static.photos/technology/320x240/110"> |
|
|
</product-card> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="flex justify-center mt-8"> |
|
|
<div class="flex gap-2"> |
|
|
<button class="px-4 py-2 rounded-lg bg-primary-600 text-white">1</button> |
|
|
<button class="px-4 py-2 rounded-lg bg-white dark:bg-gray-800 dark:text-white hover:bg-gray-100 dark:hover:bg-gray-700">2</button> |
|
|
<button class="px-4 py-2 rounded-lg bg-white dark:bg-gray-800 dark:text-white hover:bg-gray-100 dark:hover:bg-gray-700">3</button> |
|
|
<button class="px-4 py-2 rounded-lg bg-white dark:bg-gray-800 dark:text-white hover:bg-gray-100 dark:hover:bg-gray-700">4</button> |
|
|
<button class="px-4 py-2 rounded-lg bg-white dark:bg-gray-800 dark:text-white hover:bg-gray-100 dark:hover:bg-gray-700">بعدی</button> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</main> |
|
|
|
|
|
<shop-footer></shop-footer> |
|
|
<cart-sidebar id="cartSidebar"></cart-sidebar> |
|
|
|
|
|
<script> |
|
|
|
|
|
const cartBtn = document.querySelector('#cartBtn'); |
|
|
const cartSidebar = document.getElementById('cartSidebar'); |
|
|
|
|
|
cartBtn.addEventListener('click', () => { |
|
|
cartSidebar.open(); |
|
|
}); |
|
|
|
|
|
|
|
|
document.querySelectorAll('.add-to-cart-btn').forEach(btn => { |
|
|
btn.addEventListener('click', (e) => { |
|
|
e.preventDefault(); |
|
|
const count = parseInt(document.getElementById('cartCount').textContent) + 1; |
|
|
document.getElementById('cartCount').textContent = count; |
|
|
cartSidebar.open(); |
|
|
}); |
|
|
}); |
|
|
</script> |
|
|
</body> |
|
|
</html> |