beehive/app/components/landing/Testimonials.vue
2025-10-22 16:05:07 +08:00

43 lines
1.2 KiB
Vue

<script lang="ts" setup>
import type { IndexCollectionItem } from '@nuxt/content'
defineProps<{
page: IndexCollectionItem
}>()
</script>
<template>
<UPageSection
:ui="{
container: 'px-0 !pt-0'
}"
>
<UCarousel
v-slot="{ item }"
:autoplay="{ delay: 4000 }"
:items="page.testimonials"
:ui="{
viewport: '-mx-4 sm:-mx-12 lg:-mx-16 bg-elevated/50 max-w-(--ui-container)'
}"
dots
loop
>
<UPageCTA
:description="item.quote"
:ui="{
container: 'sm:py-12 lg:py-12 sm:gap-8',
description: '!text-base text-balance before:content-[open-quote] before:text-5xl lg:before:text-7xl before:inline-block before:text-dimmed before:absolute before:-ml-6 lg:before:-ml-10 before:-mt-2 lg:before:-mt-4 after:content-[close-quote] after:text-5xl lg:after:text-7xl after:inline-block after:text-dimmed after:absolute after:mt-1 lg:after:mt-0 after:ml-1 lg:after:ml-2'
}"
class="rounded-none"
variant="naked"
>
<UUser
class="justify-center"
size="xl"
v-bind="item.author"
/>
</UPageCTA>
</UCarousel>
</UPageSection>
</template>