All files / src/shared/HFInputs/HFRichInput/hooks useImageValidation.ts

0% Statements 0/15
0% Branches 0/2
0% Functions 0/5
0% Lines 0/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27                                                     
import { useState, useEffect } from "react";
 
function useImageValidation(url: string | undefined) {
  const [isValid, setIsValid] = useState<boolean | null>(null);
 
  useEffect(() => {
    if (!url) {
      setIsValid(false);
      return;
    }
 
    const img = new Image();
    img.onload = () => setIsValid(true);
    img.onerror = () => setIsValid(false);
    img.src = url;
 
    return () => {
      img.onload = null;
      img.onerror = null;
    };
  }, [url]);
 
  return isValid;
}
 
export default useImageValidation;