import React, { useEffect, useState } from "react"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faUser } from "@fortawesome/free-solid-svg-icons"; import Image from "next/image"; import avatarExists from "@/lib/client/avatarExists"; type Props = { src: string; className?: string; emptyImage?: boolean; status?: Function; priority?: boolean; }; export default function ProfilePhoto({ src, className, emptyImage, status, priority, }: Props) { const [error, setError] = useState(emptyImage || true); const checkAvatarExistence = async () => { const canPass = await avatarExists(src); setError(!canPass); }; useEffect(() => { if (src) checkAvatarExistence(); status && status(error || !src); }, [src, error]); return error || !src ? (
) : ( ); }