import React, { Component } from "react"; import PropTypes from "prop-types"; import { Typography } from "@material-ui/core"; import { logger } from "../services/monitoring"; const reload = () => { window.location.reload(); }; export default class ErrorBoundary extends Component { state = { error: "", errorInfo: "", hasError: false, }; static getDerivedStateFromError(error) { return { hasError: true, error }; } componentDidCatch(error, errorInfo) { this.setState({ errorInfo }); } render() { if (this.state.hasError) { try { logger.error(this.state.error.stack); } catch (e) { logger.error(e); } if (this.state.error && this.state.error.name === "ChunkLoadError") { reload(); return; } return (