@@ -27,6 +27,26 @@ const integrations: Integration[] = [
2727 } ,
2828] ;
2929
30+ function IntegrationCard ( { integration, index } : { integration : Integration ; index : number } ) : React . ReactElement {
31+ const logoSrc = useBaseUrl ( integration . logo ) ;
32+ return (
33+ < div
34+ className = { `${ styles . card } ${ styles . animateIn } ` }
35+ style = { { transitionDelay : `${ 0.2 + index * 0.1 } s` } }
36+ >
37+ < img
38+ src = { logoSrc }
39+ alt = { integration . name }
40+ className = { styles . cardLogo }
41+ />
42+ < div className = { styles . cardInfo } >
43+ < h3 className = { styles . cardName } > { integration . name } </ h3 >
44+ < p className = { styles . cardDescription } > { integration . description } </ p >
45+ </ div >
46+ </ div >
47+ ) ;
48+ }
49+
3050export default function IntegrationShowcase ( ) : React . ReactElement {
3151 const [ isVisible , setIsVisible ] = useState ( false ) ;
3252 const sectionRef = useRef < HTMLElement > ( null ) ;
@@ -63,21 +83,7 @@ export default function IntegrationShowcase(): React.ReactElement {
6383
6484 < div className = { styles . grid } >
6585 { integrations . map ( ( integration , index ) => (
66- < div
67- key = { integration . name }
68- className = { `${ styles . card } ${ styles . animateIn } ` }
69- style = { { transitionDelay : `${ 0.2 + index * 0.1 } s` } }
70- >
71- < img
72- src = { useBaseUrl ( integration . logo ) }
73- alt = { integration . name }
74- className = { styles . cardLogo }
75- />
76- < div className = { styles . cardInfo } >
77- < h3 className = { styles . cardName } > { integration . name } </ h3 >
78- < p className = { styles . cardDescription } > { integration . description } </ p >
79- </ div >
80- </ div >
86+ < IntegrationCard key = { integration . name } integration = { integration } index = { index } />
8187 ) ) }
8288 </ div >
8389
0 commit comments