rinshad-react-guard
Version:
A robust React error boundary solution developed by [rinshad.com](https://rinshad.com) to elegantly handle runtime errors in React applications. Instead of showing the dreaded white screen of death, this library captures errors and displays a user-friendl
57 lines (51 loc) • 1.54 kB
JSX
import React, { useEffect } from "react";
import "../error.css";
import error500 from "../assets/under_maintenance.svg";
const Error500 = ({ onBackToHome }) => {
useEffect(() => {
window.history.pushState(null, "", window.location.href);
window.onpopstate = function () {
window.history.go(1);
};
}, []);
const errorKey = "rinshadReactGuardAlert";
const errorMessage = sessionStorage.getItem(errorKey);
const containerStyle = {
width:
typeof window !== "undefined"
? window.innerWidth ||
document.documentElement?.clientWidth ||
document.body?.clientWidth ||
"100%"
: "100%",
height:
typeof window !== "undefined"
? window.innerHeight ||
document.documentElement?.clientHeight ||
document.body?.clientHeight ||
"100%"
: "100%",
};
return (
<div className="error-container" style={containerStyle}>
<div className="error-content">
<div className="error-500">
<img
src={error500}
alt="Error 500"
className="error-500-img error-img"
/>
<h1 className="title">500</h1>
</div>
<div className="error-message">
<h4 style={{ margin: 0 }}>Something went Wrong!</h4>
<p>Please contact admin for help.</p>
<a href="/" className="back-home" onClick={onBackToHome}>
Back to home
</a>
</div>
</div>
</div>
);
};
export default Error500;