import { FC, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { IconContext } from 'react-icons'; import { FaExclamationTriangle, FaQuestionCircle, FaUserSlash } from 'react-icons/fa'; export enum FileErrorTypes { FileNotFound, PermissionDenied, Unknown, None, } interface FilePickerErrorProps { error: FileErrorTypes; rawError?: string; } const FilePickerError: FC = ({ error, rawError = null }) => { const [icon, setIcon] = useState(); const [text, setText] = useState(null); const { t } = useTranslation(); useEffect(() => { switch (error) { case FileErrorTypes.FileNotFound: setText(t('FilePickerError.errors.file_not_found')); setIcon(); break; case FileErrorTypes.PermissionDenied: setText(t('FilePickerError.errors.perm_denied')); setIcon(); break; case FileErrorTypes.Unknown: setText(t('FilePickerError.errors.unknown', { raw_error: rawError })); setIcon(); break; case FileErrorTypes.None: setText(null); setIcon(
); break; } }, [error]); return ( <>
{icon}

{text}

); }; export default FilePickerError;