@@ -3,16 +3,13 @@ import { Link } from 'react-router-dom'
33let counter = 0 ;
44
55const Card = ( { post, itemArrLength, isAllCardLoaded} ) => {
6- const [ imageSrc , setImageSrc ] = useState ( "favicon1.ico" ) ;
7- const handleImageLoad = ( ) => {
8- setImageSrc ( post ?. img || "logo512.png" ) ;
9- }
6+ const [ imageSrc , setImageSrc ] = useState ( `${ process . env . PUBLIC_URL } /favicon1.ico` ) ;
107
118 useEffect ( ( ) => {
129 counter = counter + 1 ;
1310 const timer = setTimeout ( ( ) => {
1411 if ( itemArrLength === counter ) {
15- isAllCardLoaded ( true )
12+ isAllCardLoaded ( true ) ;
1613 }
1714 } , 1000 ) ;
1815 return ( ) => {
@@ -21,13 +18,26 @@ const Card = ({post, itemArrLength, isAllCardLoaded}) => {
2118 } ;
2219 } , [ itemArrLength , isAllCardLoaded ] ) ;
2320
21+ const handleImageLoad = ( ) => {
22+ if ( post ?. img && post ?. img !== "" ) {
23+ setImageSrc ( post ?. img ) ;
24+ } else {
25+ setImageSrc ( `${ process . env . PUBLIC_URL } /logo512.png` ) ;
26+ }
27+ }
28+
29+ const handleImageError = ( ) => {
30+ console . error ( "Error loading image." ) ;
31+ setImageSrc ( `${ process . env . PUBLIC_URL } /logo512.png` ) ;
32+ } ;
33+
2434 return (
2535 < div className = 'home-card' >
2636 < Link className = 'link' to = { `/post/${ post ?. id } ` } >
2737 < span className = 'title' > { post ?. title } </ span >
2838 </ Link >
2939 < Link className = 'imgLink' to = { '/dashboard' } >
30- < img src = { imageSrc } alt = "" className = "img" onLoad = { handleImageLoad } />
40+ < img src = { imageSrc } alt = "" className = "img" onLoad = { handleImageLoad } onError = { handleImageError } />
3141 < p className = 'desc' > { post ?. desc } </ p >
3242 < button className = 'cardButton' > Read more</ button >
3343 </ Link >
0 commit comments