"use client" import { AnimatePresence, motion } from "motion/react" import { useState } from "react" import { useIntl } from "react-intl" import Image from "../../Image" import { IconButton } from "../../IconButton" import { Typography } from "../../Typography" import { LightboxImage } from "../index" import styles from "./fullView.module.css" import { cx } from "class-variance-authority" import { ImageCounter } from "../../ImageCounter" import { animationVariants, useKeyboardNavigation } from "../util" type FullViewProps = { image: LightboxImage onClose: () => void onNext: () => void onPrev: () => void currentIndex: number totalImages: number hideLabel?: boolean } export function FullView({ image, onClose, onNext, onPrev, currentIndex, totalImages, hideLabel, }: FullViewProps) { const intl = useIntl() const [slideDirection, setSlideDirection] = useState<"left" | "right">("left") function handleSwipe(offset: number) { if (offset > 30) { setSlideDirection("right") onPrev() } if (offset < -30) { setSlideDirection("left") onNext() } } function handleNext() { setSlideDirection("left") onNext() } function handlePrev() { setSlideDirection("right") onPrev() } useKeyboardNavigation(handlePrev, handleNext) return (
{image.caption}