fix broken image url after submission on profile page (#42507)
parent
f6455db7b8
commit
4307179d00
|
@ -1,4 +1,4 @@
|
|||
import React from 'react';
|
||||
import React, { useState, useEffect } from 'react';
|
||||
import { Image } from '@freecodecamp/react-bootstrap';
|
||||
import DefaultAvatar from '../../assets/icons/default-avatar';
|
||||
import { defaultUserImage } from '../../../../config/misc';
|
||||
|
@ -19,9 +19,22 @@ function AvatarRenderer({
|
|||
isTopContributor
|
||||
}: AvatarRendererProps): JSX.Element {
|
||||
const { t } = useTranslation();
|
||||
const [isPictureValid, setIsPictureValid] = useState(true);
|
||||
const borderColor: string = borderColorPicker(isDonating, isTopContributor);
|
||||
const onImageLoad = () => setIsPictureValid(true);
|
||||
const onImageError = () => setIsPictureValid(false);
|
||||
|
||||
useEffect(() => {
|
||||
const validationImage = document.createElement('img');
|
||||
validationImage.src = picture;
|
||||
validationImage.onload = onImageLoad;
|
||||
validationImage.onerror = onImageError;
|
||||
}, [picture]);
|
||||
|
||||
const isPlaceHolderImage =
|
||||
/example.com|identicon.org/.test(picture) || picture === defaultUserImage;
|
||||
!isPictureValid ||
|
||||
/example.com|identicon.org/.test(picture) ||
|
||||
picture === defaultUserImage;
|
||||
|
||||
return (
|
||||
<div className={`avatar-container ${borderColor}`}>
|
||||
|
|
Loading…
Reference in New Issue