import tw from '../../tw'; import { Tooltip } from '@prisme.ai/design-system'; import { ArrowLeftOutlined, ArrowRightOutlined } from '@ant-design/icons'; import { useTranslation } from 'react-i18next'; import React, { RefObject, useEffect, useState } from 'react'; interface CarouselNavigationProps { scrollable: boolean | null; scroll: (step: number) => () => void; children: React.ReactElement; scrollableRef: RefObject; } const CarouselNavigation = ({ scrollable, scroll, children, scrollableRef, }: CarouselNavigationProps) => { const { t } = useTranslation(); const [displayedArrows, setDisplayedArrows] = useState({ left: false, right: true, }); useEffect(() => { scrollableRef?.current?.addEventListener('scroll', () => { if (!scrollableRef?.current?.scrollLeft) return; if (scrollableRef.current.scrollLeft > 100) { setDisplayedArrows({ ...displayedArrows, left: true }); } else { setDisplayedArrows({ ...displayedArrows, left: false }); } }); }, []); return ( <> {children} {scrollable && (
)} ); }; export default CarouselNavigation;