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 45 46 47 48 49 50 51 52 | import React from 'react'; import ControlButtons from '@/components/ControlButtons'; import SEO from '@/components/SEO'; import Dialog from '@/components/Dialog'; import Layout from '@/components/Layout'; class ErrorBoundary extends React.Component<React.PropsWithChildren<unknown>, { hasError: boolean; error?: any }> { constructor(props: any) { super(props); this.state = { hasError: false, }; } static getDerivedStateFromError(error: any) { return { hasError: true, error }; } render() { Iif (this.state.hasError) { return ( <Layout> <> <SEO meta={{ title: 'Error | Oh! sorry, an error has occurred', description: 'Oh! sorry, an error has occurred', noindex: true, }} /> <Dialog open modalMode withPadding header={<ControlButtons disabled />} body={ <div style={{ display: 'grid', placeContent: 'center', height: 'inherit' }}> {JSON.stringify(this.state.error.message)} </div> } /> </> </Layout> ); } return <>{this.props.children}</>; } } export default ErrorBoundary; |