// import React, { useEffect, useState, useRef } from 'react' // function CustomSlider({images, speed, indicatorColor, indicatorClass}) { // const imageElement = useRef() // let [sliderCount, setSliderCount] = useState(0) // const sliderStart = (count) => { // imageElement.current.classList.add('sliding-images') // setTimeout(()=>{ // imageElement.current.classList.remove('sliding-images') // }, 1000) // if(count+1 && typeof(count) == 'number'){ // return setSliderCount(count) // } // if(sliderCount >= images.length-1){ // return setSliderCount(0) // } // setSliderCount(prev => prev + 1) // } // useEffect(()=>{ // const sliderInterval = setInterval(()=>{ // sliderStart() // }, speed*1000) // return () => { // clearInterval(sliderInterval) // } // },[sliderCount]) // return ( //
// image //
// {images.map((image, index)=>( //
sliderStart(index)} // className={`custom_indicator ${indicatorClass}`} // style={{backgroundColor:`${sliderCount == index ? `${indicatorColor}` : ''}`, width:'15px', height: '15px', borderRadius: '999px', border: `1px solid ${indicatorColor}`, cursor:'pointer'}} // >
// ))} //
//
// ) // } // export default CustomSlider import React, { useEffect, useState } from 'react' function CustomSlider({images, speed, indicatorColor, indicatorClass}) { let [sliderCount, setSliderCount] = useState(0) const sliderStart = (count) => { if(count+1 && typeof(count) == 'number'){ return setSliderCount(count) } if(sliderCount >= images.length-1){ return setSliderCount(0) } setSliderCount(prev => prev + 1) } useEffect(()=>{ const sliderInterval = setInterval(()=>{ sliderStart() }, speed*1000) return () => { clearInterval(sliderInterval) } },[sliderCount]) return (
{images.map((image, index)=>( image ))}
{images.map((image, index)=>(
sliderStart(index)} className={`custom_indicator ${indicatorClass}`} style={{backgroundColor:`${sliderCount == index ? `${indicatorColor}` : ''}`, width:'15px', height: '15px', borderRadius: '999px', border: `1px solid ${indicatorColor}`, cursor:'pointer'}} >
))}
) } export default CustomSlider // import React, { useEffect, useState } from 'react'; // function CustomSlider({ images, speed, indicatorColor, indicatorClass }) { // const [sliderCount, setSliderCount] = useState(0); // const sliderStart = (count) => { // if (count + 1 && typeof count === 'number') { // return setSliderCount(count); // } // if (sliderCount >= images.length - 1) { // return setSliderCount(0); // } // setSliderCount((prev) => prev + 1); // }; // useEffect(() => { // const sliderInterval = setInterval(() => { // sliderStart(); // }, speed * 1000); // return () => { // clearInterval(sliderInterval); // }; // }, [sliderCount, speed]); // console.log("This is slider count", sliderCount) // return ( //
//
// {images.map((image, index) => ( // image // ))} //
//
// {images.map((image, index) => ( //
sliderStart(index)} // className={`custom_indicator ${indicatorClass}`} // style={{ // backgroundColor: sliderCount === index ? `${indicatorColor}` : '', // width: '15px', // height: '15px', // borderRadius: '999px', // border: `1px solid ${indicatorColor}`, // cursor: 'pointer', // }} // >
// ))} //
//
// ); // } // export default CustomSlider;