@@ -4,6 +4,7 @@ import axios from 'axios';
44import { H5 } from './Heading' ;
55import { env } from '@/helpers/env-vars' ;
66import { getImageUrl } from '@/helpers/utilities' ;
7+ import Marquee from 'react-fast-marquee' ;
78
89const BACKEND_URL = env ( 'NEXT_PUBLIC_BACKEND_URL' ) ;
910
@@ -70,58 +71,39 @@ const PartnersSection = () => {
7071 </ H5 >
7172 </ div >
7273
73- < div className = "relative flex justify-center overflow-hidden" >
74- < div className = "flex animate-marquee-delayed whitespace-nowrap items-center" >
75- { displayPartners . map ( ( partner , index ) => (
76- < div
77- key = { `set1-${ partner . id } -${ index } ` }
78- className = "inline-flex items-center justify-center h-20 min-w-[170px] max-w-[200px] w-auto mx-4 relative flex-shrink-0"
79- >
80- < div className = "relative w-full h-full" >
81- < Image
82- src = { partner . src }
83- alt = { partner . name }
84- fill
85- className = "object-contain hover:opacity-100 transition-opacity"
86- sizes = "(max-width: 768px) 120px, 200px"
87- onError = { ( e ) => {
88- e . target . src = '/images/placeholder.jpg' ;
89- } }
90- />
74+ < div className = "relative overflow-hidden" >
75+ < div className = "whitespace-nowrap items-center" >
76+ < Marquee
77+ gradient = { false }
78+ speed = { 150 }
79+ pauseOnHover = { true }
80+ pauseOnClick = { true }
81+ delay = { 0 }
82+ play = { true }
83+ direction = "left"
84+ >
85+ { displayPartners . map ( ( partner , index ) => (
86+ < div
87+ key = { `set1-${ partner . id } -${ index } ` }
88+ className = "h-20 min-w-[170px] max-w-[200px] w-auto mx-4 relative flex-shrink-0"
89+ >
90+ < div className = "relative w-full h-full" >
91+ < Image
92+ src = { partner . src }
93+ alt = { partner . name }
94+ fill
95+ className = "object-contain hover:opacity-100 transition-opacity"
96+ sizes = "(max-width: 768px) 120px, 200px"
97+ onError = { ( e ) => {
98+ e . target . src = '/images/placeholder.jpg' ;
99+ } }
100+ />
101+ </ div >
91102 </ div >
92- </ div >
93- ) ) }
103+ ) ) } { ' ' }
104+ </ Marquee >
94105 </ div >
95106 </ div >
96-
97- < style jsx > { `
98- @keyframes marqueeFromCenter {
99- 0% {
100- transform: translateX(0);
101- }
102- 100% {
103- transform: translateX(-100%);
104- }
105- }
106-
107- .animate-marquee-delayed {
108- animation: marqueeFromCenter 25s linear infinite;
109- animation-delay: 2s;
110- transform: translateX(0);
111- }
112-
113- .animate-marquee-delayed:not(:hover) {
114- animation-fill-mode: both;
115- }
116-
117- .relative:hover .animate-marquee-delayed {
118- animation-play-state: paused;
119- }
120-
121- .relative {
122- justify-content: center;
123- }
124- ` } </ style >
125107 </ section >
126108 ) ;
127109} ;
0 commit comments