Files
web/apps/scandic-web/components/Carousel/CarouselContent.tsx
Matilda Landström b3a3933a02 Merged in feat/SW-1790-mobile-city-map (pull request #1497)
Feat/SW-1790 : Mobile city destination map

Approved-by: Christian Andolf
Approved-by: Fredrik Thorsson
2025-03-11 16:26:49 +00:00

35 lines
811 B
TypeScript

"use client"
import { cx } from "class-variance-authority"
import { useEffect, useState } from "react"
import { useCarousel } from "./CarouselContext"
import styles from "./carousel.module.css"
export function CarouselContent({
className,
children,
...props
}: React.HTMLAttributes<HTMLDivElement>) {
const { carouselRef, canScrollNext, canScrollPrev } = useCarousel()
const [isOneItem, setIsOneItem] = useState(false)
useEffect(() => {
setIsOneItem(!canScrollPrev() && !canScrollNext())
}, [canScrollPrev, canScrollNext])
return (
<div ref={carouselRef} className={styles.viewport}>
<div
className={cx(styles.container, className, {
[styles.centerContent]: isOneItem,
})}
{...props}
>
{children}
</div>
</div>
)
}