Implement image enlargement modal and enhance product detail functionality
- Replaced static quantity controls with a modal for image enlargement on product detail and catalog pages. - Added event listeners for image clicks to trigger modal display with enlarged images. - Updated product detail page to dynamically load images and descriptions, improving user experience. - Refactored JavaScript to streamline image handling and modal interactions. - Enhanced CSS for modal styling and transitions, ensuring a smooth user experience.
This commit is contained in:
parent
6caa3ee6c4
commit
18cf5c8ed3
7 changed files with 881 additions and 388 deletions
|
|
@ -249,31 +249,6 @@
|
|||
|
||||
<!-- Quantity and Action Buttons -->
|
||||
<div class="flex flex-col md:flex-row gap-4 md:gap-6 mb-8">
|
||||
<!-- Quantity Selector -->
|
||||
<div
|
||||
class="inline-flex items-center justify-between w-[180px] h-[64px] min-h-[64px] bg-white border border-quick-silver rounded-[15px] px-4 box-border shadow-sm hover:shadow-md transition-all duration-200"
|
||||
>
|
||||
<button
|
||||
id="qty-decr"
|
||||
aria-label="Decrease quantity"
|
||||
class="font-playfair font-light text-[20px] leading-none text-black w-8 h-8 flex items-center justify-center rounded-lg hover:bg-light-bg transition-colors cursor-pointer"
|
||||
>
|
||||
-
|
||||
</button>
|
||||
<span
|
||||
id="qty-value"
|
||||
class="font-playfair font-light text-[20px] leading-none text-black"
|
||||
>1</span
|
||||
>
|
||||
<button
|
||||
id="qty-incr"
|
||||
aria-label="Increase quantity"
|
||||
class="font-playfair font-light text-[20px] leading-none text-black w-8 h-8 flex items-center justify-center rounded-lg hover:bg-light-bg transition-colors cursor-pointer"
|
||||
>
|
||||
+
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Action Buttons -->
|
||||
<a
|
||||
href="contact.html"
|
||||
|
|
@ -538,6 +513,45 @@
|
|||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- Image Enlargement Modal -->
|
||||
<div
|
||||
id="image-modal"
|
||||
class="fixed inset-0 bg-black bg-opacity-90 z-50 hidden flex items-center justify-center p-4 transition-opacity duration-300"
|
||||
>
|
||||
<div
|
||||
class="relative max-w-7xl max-h-full w-full h-full flex items-center justify-center"
|
||||
>
|
||||
<!-- Close Button -->
|
||||
<button
|
||||
id="modal-close-btn"
|
||||
class="absolute top-4 right-4 z-10 bg-white bg-opacity-20 hover:bg-opacity-30 text-white rounded-full p-3 transition-all duration-200 backdrop-blur-sm"
|
||||
aria-label="Close modal"
|
||||
>
|
||||
<svg
|
||||
class="w-6 h-6"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
viewBox="0 0 24 24"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
stroke-width="2"
|
||||
d="M6 18L18 6M6 6l12 12"
|
||||
></path>
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
<!-- Enlarged Image -->
|
||||
<img
|
||||
id="modal-image"
|
||||
src=""
|
||||
alt=""
|
||||
class="w-[95vw] h-[95vh] object-contain rounded-lg shadow-2xl transform transition-transform duration-300 scale-95"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="scripts/main.js?v=3.5"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue