@@ -3,6 +3,7 @@ import React, { useEffect, useRef, useState } from "react";
33import Image from "next/image" ;
44import gsap from "gsap" ;
55import FadeUpTextScroll from "@/app/animations/FadeUpTextScroll" ;
6+ import FlipOnScroll from "@/app/animations/FlipOnScroll" ;
67
78const techStack = [
89 {
@@ -129,19 +130,21 @@ const TechStack = () => {
129130 onMouseEnter = { ( ) => setActive ( tech . id ) }
130131 className = "h-60 flex flex-1 items-center justify-center p-6 border-r border-b border-t-0 border-gray-300 transition first:border-l-0 last:border-r-0"
131132 >
132- < Image
133- src = { tech . icon }
134- alt = { tech . id }
135- width = { 60 }
136- height = { 60 }
137- quality = { 50 }
138- loading = "lazy"
139- placeholder = "blur"
140- blurDataURL = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
141- className = { `h-18 w-auto object-contain ${
142- active === tech . id ? "filter-invert" : "svg-invert"
143- } `}
144- />
133+ < FlipOnScroll >
134+ < Image
135+ src = { tech . icon }
136+ alt = { tech . id }
137+ width = { 60 }
138+ height = { 60 }
139+ quality = { 50 }
140+ loading = "lazy"
141+ placeholder = "blur"
142+ blurDataURL = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
143+ className = { `h-18 w-auto object-contain ${
144+ active === tech . id ? "filter-invert" : "svg-invert"
145+ } `}
146+ />
147+ </ FlipOnScroll >
145148 </ a >
146149 ) ) }
147150 </ div >
@@ -158,17 +161,19 @@ const TechStack = () => {
158161 onMouseEnter = { ( ) => setActive ( tech . id ) }
159162 className = "h-50 flex flex-1 items-center justify-center p-6 border-r border-gray-300 transition first:border-l-0 last:border-r-0"
160163 >
161- < Image
162- src = { tech . icon }
163- alt = { tech . id }
164- width = { 60 }
165- height = { 60 }
166- quality = { 50 }
167- loading = "lazy"
168- className = { `h-12 w-auto object-contain ${
169- active === tech . id ? "filter-invert" : "svg-invert"
170- } `}
171- />
164+ < FlipOnScroll >
165+ < Image
166+ src = { tech . icon }
167+ alt = { tech . id }
168+ width = { 60 }
169+ height = { 60 }
170+ quality = { 50 }
171+ loading = "lazy"
172+ className = { `h-12 w-auto object-contain ${
173+ active === tech . id ? "filter-invert" : "svg-invert"
174+ } `}
175+ />
176+ </ FlipOnScroll >
172177 </ a >
173178 ) ) }
174179 </ div >
@@ -186,15 +191,17 @@ const TechStack = () => {
186191 onMouseEnter = { ( ) => setActive ( tech . id ) }
187192 className = "h-30 flex flex-1 items-center justify-center p-4 border-r border-b border-gray-300 transition odd:border-l-0 even:border-r-0 last:border-r-0"
188193 >
189- < Image
190- src = { tech . icon }
191- alt = { tech . id }
192- width = { 50 }
193- height = { 50 }
194- quality = { 50 }
195- loading = "lazy"
196- className = { `h-12 w-auto object-contain svg-invert` }
197- />
194+ < FlipOnScroll >
195+ < Image
196+ src = { tech . icon }
197+ alt = { tech . id }
198+ width = { 50 }
199+ height = { 50 }
200+ quality = { 50 }
201+ loading = "lazy"
202+ className = { `h-12 w-auto object-contain svg-invert` }
203+ />
204+ </ FlipOnScroll >
198205 </ a >
199206 ) ) }
200207 </ div >
0 commit comments