diff --git a/package.json b/package.json
index 8ec23dfb7..cc6bcaef7 100644
--- a/package.json
+++ b/package.json
@@ -95,6 +95,7 @@
"react-dom": "15.1.0",
"react-dropzone": "3.3.2",
"react-helmet": "3.1.0",
+ "react-keydown": "^1.6.1",
"react-router": "2.5.1",
"rebass": "0.2.6",
"safestart": "0.8.0",
diff --git a/src/components/Layout/Layout.js b/src/components/Layout/Layout.js
index f7d5581d8..c4ee19ba9 100644
--- a/src/components/Layout/Layout.js
+++ b/src/components/Layout/Layout.js
@@ -1,7 +1,8 @@
import React from 'react';
-import Link from 'react-router/lib/Link';
+import { browserHistory, Link } from 'react-router';
import Helmet from 'react-helmet';
import { observer } from 'mobx-react';
+import keydown from 'react-keydown';
import DropdownMenu, { MenuItem } from 'components/DropdownMenu';
import Flex from 'components/Flex';
@@ -21,6 +22,17 @@ class Layout extends React.Component {
fixed: React.PropTypes.bool,
loading: React.PropTypes.bool,
user: React.PropTypes.object.isRequired,
+ search: React.PropTypes.bool,
+ }
+
+ static defaultProps = {
+ search: true,
+ }
+
+ @keydown(['/', 't'])
+ search() {
+ if (!this.props.search) return;
+ browserHistory.push('/search');
}
render() {
@@ -50,11 +62,13 @@ class Layout extends React.Component {
{ this.props.actions }
-
-
-

-
-
+ { this.props.search && (
+
+
+

+
+
+ ) }
+
+
diff --git a/src/scenes/DocumentEdit/DocumentEdit.js b/src/scenes/DocumentEdit/DocumentEdit.js
index 4a6b9559b..fb2c4f000 100644
--- a/src/scenes/DocumentEdit/DocumentEdit.js
+++ b/src/scenes/DocumentEdit/DocumentEdit.js
@@ -1,6 +1,7 @@
import React, { Component } from 'react';
import { observer } from 'mobx-react';
import { browserHistory, withRouter } from 'react-router';
+import keydown from 'react-keydown';
import DocumentEditStore, {
DOCUMENT_EDIT_SETTINGS,
@@ -132,6 +133,7 @@ class DocumentEdit extends Component {
titleText={ titleText }
fixed
loading={ this.store.isSaving }
+ search={ false }
>
{ (this.store.isFetching || !('Editor' in this.state)) ? (
diff --git a/src/scenes/Search/Search.js b/src/scenes/Search/Search.js
new file mode 100644
index 000000000..f9c64eaef
--- /dev/null
+++ b/src/scenes/Search/Search.js
@@ -0,0 +1,27 @@
+import React from 'react';
+import { observer } from 'mobx-react';
+
+import Flex from 'components/Flex';
+import Layout from 'components/Layout';
+import CenteredContent from 'components/CenteredContent';
+
+@observer
+class Search extends React.Component {
+ render() {
+ return (
+
+
+
+ TBA
+
+
+
+ );
+ }
+}
+
+export default Search;
diff --git a/src/scenes/Search/Search.scss b/src/scenes/Search/Search.scss
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/scenes/Search/index.js b/src/scenes/Search/index.js
new file mode 100644
index 000000000..ac515625d
--- /dev/null
+++ b/src/scenes/Search/index.js
@@ -0,0 +1,2 @@
+import Search from './Search';
+export default Search;