Update categories slider slides count problem
This commit is contained in:
@@ -27,12 +27,12 @@ const onSwiper = (swiper: SwiperClass) => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<section class="w-full flex flex-col gap-10 md:gap-[4rem] lg:container">
|
<section class="w-full flex flex-col gap-10 md:gap-16 lg:container">
|
||||||
<div class="w-full flex justify-between items-center max-lg:container">
|
<div class="w-full flex justify-between items-center max-lg:container">
|
||||||
<span class="text-black typo-h-6 md:typo-h-5 lg:typo-h-4">
|
<span class="text-black typo-h-6 md:typo-h-5 lg:typo-h-4">
|
||||||
{{ title }}
|
{{ title }}
|
||||||
</span>
|
</span>
|
||||||
<div class="flex-center gap-[.5rem]">
|
<div class="flex-center gap-2">
|
||||||
<button
|
<button
|
||||||
@click="swiper_instance?.slidePrev()"
|
@click="swiper_instance?.slidePrev()"
|
||||||
:disabled="swiper_instance?.isBeginning"
|
:disabled="swiper_instance?.isBeginning"
|
||||||
@@ -41,7 +41,7 @@ const onSwiper = (swiper: SwiperClass) => {
|
|||||||
? 'border-slate-200 cursor-not-allowed'
|
? 'border-slate-200 cursor-not-allowed'
|
||||||
: 'border-black cursor-pointer'
|
: 'border-black cursor-pointer'
|
||||||
"
|
"
|
||||||
class="size-[30px] md:size-[35px] lg:size-[2.75rem] rounded-full border-[1.5px] click-effect flex-center"
|
class="size-[30px] md:size-[35px] lg:size-11 rounded-full border-[1.5px] click-effect flex-center"
|
||||||
>
|
>
|
||||||
<Icon
|
<Icon
|
||||||
name="ci:chevron-right"
|
name="ci:chevron-right"
|
||||||
@@ -55,7 +55,7 @@ const onSwiper = (swiper: SwiperClass) => {
|
|||||||
:class="
|
:class="
|
||||||
swiper_instance?.isEnd ? 'border-slate-200 cursor-not-allowed' : 'border-black cursor-pointer'
|
swiper_instance?.isEnd ? 'border-slate-200 cursor-not-allowed' : 'border-black cursor-pointer'
|
||||||
"
|
"
|
||||||
class="size-[30px] md:size-[35px] lg:size-[2.75rem] rounded-full border-[1.5px] click-effect flex-center"
|
class="size-[30px] md:size-[35px] lg:size-11 rounded-full border-[1.5px] click-effect flex-center"
|
||||||
>
|
>
|
||||||
<Icon
|
<Icon
|
||||||
name="ci:chevron-left"
|
name="ci:chevron-left"
|
||||||
|
|||||||
@@ -16,6 +16,12 @@ const activeIndex = ref(0);
|
|||||||
const slideElement = ref<HTMLDivElement | null>(null);
|
const slideElement = ref<HTMLDivElement | null>(null);
|
||||||
const { width: slideWidth } = useElementSize(slideElement);
|
const { width: slideWidth } = useElementSize(slideElement);
|
||||||
|
|
||||||
|
// computed
|
||||||
|
|
||||||
|
const slides = computed(() => {
|
||||||
|
return [...homeData.value!.main_categories, ...homeData.value!.main_categories];
|
||||||
|
});
|
||||||
|
|
||||||
// methods
|
// methods
|
||||||
|
|
||||||
const onSwiper = (swiper: SwiperClass) => {
|
const onSwiper = (swiper: SwiperClass) => {
|
||||||
@@ -101,7 +107,7 @@ const onSlideChange = (swiper: SwiperClass) => {
|
|||||||
>
|
>
|
||||||
<SwiperSlide
|
<SwiperSlide
|
||||||
ref="slideElement"
|
ref="slideElement"
|
||||||
v-for="(slide, index) in homeData!.main_categories"
|
v-for="(slide, index) in slides"
|
||||||
:key="slide.id"
|
:key="slide.id"
|
||||||
>
|
>
|
||||||
<CategoryCard
|
<CategoryCard
|
||||||
|
|||||||
@@ -23,14 +23,14 @@ if (response.isError) {
|
|||||||
<template>
|
<template>
|
||||||
<div class="w-full">
|
<div class="w-full">
|
||||||
<!-- <LoadingOverlay /> -->
|
<!-- <LoadingOverlay /> -->
|
||||||
<Hero class="mb-20 max-md:mt-[80px]" />
|
<Hero class="mb-20 max-md:mt-20" />
|
||||||
<Preview />
|
<Preview />
|
||||||
<ProductsShowcase class="lg:mb-12" />
|
<ProductsShowcase class="lg:mb-12" />
|
||||||
<div class="py-[5rem]">
|
<div class="py-20">
|
||||||
<ProductsSlider
|
<ProductsSlider
|
||||||
title="محصولات پرفروش"
|
title="محصولات پرفروش"
|
||||||
:products="homeData!.products"
|
:products="homeData!.products"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<Categories class="mt-12" />
|
<Categories class="mt-12" />
|
||||||
<Brands />
|
<Brands />
|
||||||
|
|||||||
Reference in New Issue
Block a user