@@ -31,6 +31,7 @@ const getImageWidth = () => {
3131const Gallery = ( ) => {
3232 const controls = useAnimation ( ) ;
3333 const [ isPaused , setIsPaused ] = useState ( false ) ;
34+ < < << << < HEAD
3435 const [ offset , setOffset ] = useState ( 0 ) ;
3536 const [ imageWidth , setImageWidth ] = useState ( getImageWidth ( ) ) ;
3637
@@ -40,6 +41,9 @@ const Gallery = () => {
4041 window . addEventListener ( "resize" , handleResize ) ;
4142 return ( ) => window . removeEventListener ( "resize" , handleResize ) ;
4243 } , [ ] ) ;
44+ = === ===
45+ const [ offset , setOffset ] = useState ( 0 ) ; // offset in px
46+ > >>> >>> f44a310707bb1d1606c8f6f0471ed10d89ff7476
4347
4448 // Start animation
4549 useEffect ( ( ) => {
@@ -62,19 +66,27 @@ const Gallery = () => {
6266 // When hover/tap, set offset so hovered image is first
6367 const handleMouseEnter = ( idx : number ) => {
6468 setIsPaused ( true ) ;
69+ < < << << < HEAD
6570 setOffset ( - idx * imageWidth ) ;
6671 controls . set ( { x : - idx * imageWidth } ) ;
72+ = === ===
73+ setOffset ( - idx * IMAGE_WIDTH ) ;
74+ controls . set ( { x : - idx * IMAGE_WIDTH } ) ;
75+ > >>> >>> f44a310707bb1d1606c8f6f0471ed10d89ff7476
6776 } ;
6877
6978 // On leave, resume animation from current offset
7079 const handleMouseLeave = ( ) => {
7180 setIsPaused ( false ) ;
81+ < < << << < HEAD
7282 } ;
7383
7484 // For mobile: handle tap to pause and focus image
7585 const handleTouch = ( idx : number ) => {
7686 handleMouseEnter ( idx ) ;
7787 setTimeout ( ( ) => setIsPaused ( false ) , 2000 ) ; // Resume after 2s
88+ = === ===
89+ >>> >>> > f44a310707bb1d1606c8f6f0471ed10d89ff7476
7890 } ;
7991
8092 return (
0 commit comments