BetterDiscordApp-rauenzi/src/ui/errorboundary.jsx

25 lines
909 B
React
Raw Normal View History

2020-07-16 07:42:56 +02:00
import {React, Logger} from "modules";
2020-07-23 04:08:17 +02:00
import {remote} from "electron";
2020-07-16 07:42:56 +02:00
export default class ErrorBoundary extends React.Component {
constructor(props) {
super(props);
this.state = {hasError: false};
}
2020-07-23 22:51:58 +02:00
componentDidCatch() {
2020-07-16 07:42:56 +02:00
this.setState({hasError: true});
}
render() {
2020-07-23 04:08:17 +02:00
if (this.state.hasError) return <div onClick={() => remote.getCurrentWindow().openDevTools()} className="react-error">There was an unexpected Error. Click to open console for more details.</div>;
2020-07-16 07:42:56 +02:00
return this.props.children;
}
}
const originalRender = ErrorBoundary.prototype.render;
Object.defineProperty(ErrorBoundary.prototype, "render", {
enumerable: false,
configurable: false,
set: function() {Logger.warn("ErrorBoundary", "Addon policy for plugins #5 https://github.com/rauenzi/BetterDiscordApp/wiki/Addon-Policies#plugins");},
get: () => originalRender
});