diff --git a/smartsoltech/web/templates/web/portfolio_detail.html b/smartsoltech/web/templates/web/portfolio_detail.html index 2ed6b9a..a7581a7 100644 --- a/smartsoltech/web/templates/web/portfolio_detail.html +++ b/smartsoltech/web/templates/web/portfolio_detail.html @@ -68,14 +68,48 @@ background: #f8f9fa; border-radius: 12px; overflow: hidden; + touch-action: pan-y pinch-zoom; +} + +.gallery-slides-wrapper { + position: relative; + width: 100%; + height: 600px; + overflow: hidden; + cursor: grab; +} + +.gallery-slides-wrapper.dragging { + cursor: grabbing; +} + +.gallery-slides-container { + display: flex; + height: 100%; + transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); + will-change: transform; +} + +.gallery-slides-container.no-transition { + transition: none; +} + +.gallery-slide { + flex: 0 0 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + background: #000; } .gallery-main-image { width: 100%; - height: 600px; + height: 100%; object-fit: contain; cursor: zoom-in; - background: #000; + user-select: none; + pointer-events: none; } /* Navigation Arrows */ @@ -159,7 +193,7 @@ height: 80px; } - .gallery-main-image { + .gallery-slides-wrapper { height: 400px; } @@ -186,6 +220,24 @@ flex-wrap: wrap; margin-bottom: 1rem; } + +/* Drag indicator */ +.gallery-slides-wrapper::after { + content: ''; + position: absolute; + bottom: 20px; + left: 50%; + transform: translateX(-50%); + width: 40px; + height: 4px; + background: rgba(255, 255, 255, 0.3); + border-radius: 2px; + pointer-events: none; +} + +.gallery-slides-wrapper.dragging::after { + background: rgba(255, 255, 255, 0.6); +} {% endblock %} @@ -258,12 +310,31 @@ - - {{ item.title }} + +