Not Found
- We're unable to find the page you're trying to find the page you're accessing.
+ We're unable to find the page you're accessing.
Maybe you want to try search instead?
diff --git a/frontend/scenes/Search/Search.js b/frontend/scenes/Search/Search.js
index f27b40c0f..e2c653820 100644
--- a/frontend/scenes/Search/Search.js
+++ b/frontend/scenes/Search/Search.js
@@ -1,4 +1,4 @@
-import React from 'react';
+import React, { PropTypes } from 'react';
import { observer } from 'mobx-react';
import _ from 'lodash';
@@ -14,13 +14,30 @@ import SearchStore from './SearchStore';
@observer
class Search extends React.Component {
- static store;
+ static propTypes = {
+ route: PropTypes.object.isRequired,
+ routeParams: PropTypes.object.isRequired,
+ }
constructor(props) {
super(props);
this.store = new SearchStore();
}
+ componentDidMount = () => {
+ const { splat } = this.props.routeParams;
+ if (this.viewNotFound) {
+ let searchTerm = _.last(splat.split('/'));
+ searchTerm = searchTerm.split(/[\s-]+/gi).join(' ');
+ this.store.search(searchTerm);
+ }
+ }
+
+ get viewNotFound() {
+ const { sceneType } = this.props.route;
+ return sceneType === 'notFound';
+ }
+
render() {
const search = _.debounce((searchTerm) => {
this.store.search(searchTerm);
@@ -39,6 +56,14 @@ class Search extends React.Component {
loading={ this.store.isFetching }
>