All files / src/components/common/Error ErrorFallback.tsx

100% Statements 2/2
50% Branches 2/4
100% Functions 1/1
100% Lines 2/2

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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44                    309x           3x                                                      
import { ArrowCounterClockwiseIcon, RefreshIcon } from "@assets/icons";
 
type ErrorFallbackProps<T extends Error = Error> = {
  error: T;
  resetErrorBoundary: () => void;
} & {
  customMessage: string;
  shouldRetry: boolean;
};
 
const ErrorFallback = ({
  error,
  resetErrorBoundary,
  customMessage,
  shouldRetry,
}: ErrorFallbackProps) => {
  return (
    <div
      role="alert"
      style={{
        display: "flex",
        flexDirection: "row",
        alignItems: "center",
        justifyContent: "center",
        gap: 12,
      }}
    >
      <p style={{ color: "inherit" }}>{customMessage || error.message}</p>
      {shouldRetry && (
        <div
          style={{
            cursor: "pointer",
          }}
          onClick={resetErrorBoundary}
        >
          <ArrowCounterClockwiseIcon height={14} width={14} />
        </div>
      )}
    </div>
  );
};
 
export default ErrorFallback;