import { useCallback, useEffect } from 'react' const ANIMATION_OFFSET = 300 export const animationVariants = { initial: (animateLeft: boolean) => ({ opacity: 0, x: animateLeft ? ANIMATION_OFFSET : -ANIMATION_OFFSET, }), animate: { opacity: 1, x: 0 }, exit: (animateLeft: boolean) => ({ opacity: 0, x: animateLeft ? -ANIMATION_OFFSET : ANIMATION_OFFSET, }), } as const export function useKeyboardNavigation(onPrev: () => void, onNext: () => void) { const handleKeyDown = useCallback( (e: KeyboardEvent) => { if (e.key === 'ArrowLeft') onPrev() if (e.key === 'ArrowRight') onNext() }, [onPrev, onNext] ) useEffect(() => { window.addEventListener('keydown', handleKeyDown) return () => window.removeEventListener('keydown', handleKeyDown) }, [handleKeyDown]) }