routeNotFound.tsx 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import {Component} from 'react';
  2. import DocumentTitle from 'react-document-title';
  3. import * as Sentry from '@sentry/react';
  4. import {Location} from 'history';
  5. import NotFound from 'app/components/errors/notFound';
  6. import Footer from 'app/components/footer';
  7. import Sidebar from 'app/components/sidebar';
  8. type Props = {
  9. location: Location;
  10. };
  11. class RouteNotFound extends Component<Props> {
  12. componentDidMount() {
  13. Sentry.withScope(scope => {
  14. scope.setFingerprint(['RouteNotFound']);
  15. Sentry.captureException(new Error('Route not found'));
  16. });
  17. }
  18. getTitle = () => 'Page Not Found';
  19. render() {
  20. // TODO(dcramer): show additional resource links
  21. return (
  22. <DocumentTitle title={this.getTitle()}>
  23. <div className="app">
  24. <Sidebar location={this.props.location} />
  25. <div className="container">
  26. <div className="content">
  27. <section className="body">
  28. <NotFound />
  29. </section>
  30. </div>
  31. </div>
  32. <Footer />
  33. </div>
  34. </DocumentTitle>
  35. );
  36. }
  37. }
  38. export default RouteNotFound;