Files
hossein-por-shop/frontend/components/home/MostRecentComments.vue
2025-09-09 10:45:27 +03:30

80 lines
2.8 KiB
Vue

<script setup lang="ts">
// import
import { Swiper, SwiperSlide } from "swiper/vue";
import type { SwiperClass } from "swiper/react";
// types
type Props = {};
// props
const props = defineProps<Props>();
const {} = toRefs(props);
// state
const swiper_instance = ref<SwiperClass | null>(null);
// methods
const onSwiper = (swiper: SwiperClass) => {
swiper_instance.value = swiper;
};
</script>
<template>
<div class="relative max-h-[700px] flex justify-center items-center h-svh w-full">
<NuxtImg
class="absolute size-full object-cover"
src="/img/hero-bg.jpg"
loading="lazy"
fetch-priority="low"
alt=""
/>
<div class="absolute bg-black/60 size-full z-10" />
<div class="w-full relative z-10">
<Swiper
:slides-per-view="1"
:loop="true"
:space-between="40"
:centered-slides="true"
:grab-cursor="true"
@swiper="onSwiper"
>
<SwiperSlide
v-for="i in 6"
:key="i"
>
<div class="flex justify-center items-center">
<div class="max-w-[900px] px-4 text-white flex flex-col items-center gap-4">
<Icon
name="ci:instagram"
size="28"
class="**:stroke-white"
/>
<p
class="text-base xs:text-lg sm:typo-h-6 lg:typo-h-5 !font-normal !leading-[150%] lg:leading-[175%] max-sm:px-4 sm:max-w-[600px] lg:max-w-[800px] text-center"
>
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک
است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم.
</p>
<span class="typo-p-sm md:typo-p-xl text-center"> - منصور مرزبان </span>
</div>
</div>
</SwiperSlide>
</Swiper>
<div class="flex items-center justify-center gap-3 text-white mt-6 relative z-10">
<div
v-for="(i, index) in 6"
:class="swiper_instance?.realIndex === index ? 'bg-white' : 'bg-transparent'"
class="border border-white size-1.5 md:size-2 rounded-full transition-all duration-200"
></div>
</div>
</div>
</div>
</template>