From f7d69140f954eb8feb92a3c0fd9d80b6e9f0939b Mon Sep 17 00:00:00 2001 From: Oleg Ostapchuk Date: Mon, 3 Aug 2026 02:38:42 +0300 Subject: [PATCH 1/7] fix: hero-section-slider --- src/assets/script/art-slider.js | 20 ++++++++++++++------ src/assets/style/style.scss | 17 +++++++++++++++++ src/index.ejs | 12 ++++++------ 3 files changed, 37 insertions(+), 12 deletions(-) diff --git a/src/assets/script/art-slider.js b/src/assets/script/art-slider.js index b1e7d79..c0d847b 100644 --- a/src/assets/script/art-slider.js +++ b/src/assets/script/art-slider.js @@ -2,7 +2,7 @@ import Swiper from 'https://cdn.jsdelivr.net/npm/swiper@12/swiper-bundle.min.mjs const swiperCss = 'https://cdn.jsdelivr.net/npm/swiper@12/swiper-bundle.min.css'; if (!document.querySelector(`link[href*="swiper-bundle.min.css"]`)) { - const link = document.createElement('link'); + const link = document.createElement("link"); link.rel = 'stylesheet'; link.href = swiperCss; document.head.appendChild(link); @@ -19,19 +19,27 @@ class ArtsSlider extends HTMLElement { this.swiper = new Swiper(swiperContainer, { navigation: { - nextEl: '.next', - prevEl: '.prev' + nextEl: ".next", + prevEl: ".prev", }, loop: true, speed: 300, - effect: 'fade', + effect: "fade", fadeEffect: { crossFade: true }, simulateTouch: false, allowTouchMove: true, autoplay: true, - grabCursor: false + grabCursor: false, }); + + const wrapper = swiperContainer.querySelector('.swiper-wrapper'); + wrapper?.classList.remove("carousel-track"); + const slides = swiperContainer.querySelectorAll('.swiper-slide'); + slides.forEach((slide) => slide.classList.remove("carousel-slide")); + + this.querySelector('.prev')?.classList.remove('O0', 'Vs-h'); + this.querySelector('.next')?.classList.remove('O0', 'Vs-h'); } } -customElements.define('arts-slider', ArtsSlider); \ No newline at end of file +customElements.define("arts-slider", ArtsSlider); diff --git a/src/assets/style/style.scss b/src/assets/style/style.scss index f1a538e..8b32b84 100644 --- a/src/assets/style/style.scss +++ b/src/assets/style/style.scss @@ -291,3 +291,20 @@ art-panel[size], grid-row: var(--masonry-row-xl); } } + +.carousel-track { + display: flex; + gap: 0; + overflow-x: auto; + scroll-snap-type: x mandatory; + scroll-behavior: smooth; + -webkit-overflow-scrolling: touch; + scrollbar-width: none; +} +.carousel-track::-webkit-scrollbar { + display: none; +} +.carousel-slide { + flex: 0 0 100%; + scroll-snap-align: start; +} \ No newline at end of file diff --git a/src/index.ejs b/src/index.ejs index 1483f48..276fa27 100644 --- a/src/index.ejs +++ b/src/index.ejs @@ -59,7 +59,7 @@ area: 'main'
-
-