mirror of
https://github.com/stashapp/stash.git
synced 2025-12-10 10:22:18 +01:00
Squashed commits: [e74bbf9] stuff [28476de] stuff [c7efb7b] stuff [2c78f94] stuff [f79338e] stuff [a697876] stuff [85bb60e] stuff [9f108b2] stuff [d8e00c0] stuff [7787ef9] stuff [f7f10b7] stuff [aa266f7] stuff [511ba6b] stuff [7453747] stuff [db55e2d] stuff [b362623] stuff [7288c17] stuff [86638cd] stuff [879dac4] stuff [65a4996] stuff [c6fb361] stuff [d449ce7] stuff [349dffa] stuff [84206ab] stuff [0253c65] stuff [cc0992e] stuff [3289e7d] stuff [d9ab290] stuff [dcc980d] stuff [7787da8] stuff [5bcf7cd] stuff [00e9316] stuff [54c9398] stuff [72b6ee1] stuff [4b4b26c] stuff [4cbdb06] stuff [1a240b3] stuff [650ea08] stuff [37440ef] stuff [9ee66ba] stuff [b430c86] stuff [37159c3] stuff [deba837] stuff [6ac65f6] stuff [a2ca1a1] stuff [c010229] stuff [3fd7306] stuff [cbe6efc] stuff [997a8d0] stuff [d0708a2] stuff [d316aba] stuff [4fe9900] Added initial files
34 lines
769 B
TypeScript
34 lines
769 B
TypeScript
import React from "react";
|
|
|
|
export class ErrorBoundary extends React.Component<any, any> {
|
|
constructor(props: any) {
|
|
super(props);
|
|
this.state = { error: null, errorInfo: null };
|
|
}
|
|
|
|
public componentDidCatch(error: any, errorInfo: any) {
|
|
this.setState({
|
|
error,
|
|
errorInfo,
|
|
});
|
|
}
|
|
|
|
public render() {
|
|
if (this.state.errorInfo) {
|
|
// Error path
|
|
return (
|
|
<div>
|
|
<h2>Something went wrong.</h2>
|
|
<details style={{ whiteSpace: "pre-wrap" }}>
|
|
{this.state.error && this.state.error.toString()}
|
|
<br />
|
|
{this.state.errorInfo.componentStack}
|
|
</details>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
// Normally, just render children
|
|
return this.props.children;
|
|
}
|
|
}
|