Fixes: Any route after SidebarHidden not loading correctly
This commit is contained in:
28
frontend/components/RouteSidebarHidden/RouteSidebarHidden.js
Normal file
28
frontend/components/RouteSidebarHidden/RouteSidebarHidden.js
Normal file
@@ -0,0 +1,28 @@
|
||||
// @flow
|
||||
import React, { Component } from 'react';
|
||||
import { inject } from 'mobx-react';
|
||||
import { Route } from 'react-router-dom';
|
||||
import UiStore from 'stores/UiStore';
|
||||
|
||||
class RouteSidebarHidden extends Component {
|
||||
props: {
|
||||
ui: UiStore,
|
||||
component: any,
|
||||
};
|
||||
|
||||
componentDidMount() {
|
||||
this.props.ui.enableEditMode();
|
||||
}
|
||||
|
||||
componentWillUnmount() {
|
||||
this.props.ui.disableEditMode();
|
||||
}
|
||||
|
||||
render() {
|
||||
const { component, ...rest } = this.props;
|
||||
const Component = component;
|
||||
return <Route {...rest} render={props => <Component {...props} />} />;
|
||||
}
|
||||
}
|
||||
|
||||
export default inject('ui')(RouteSidebarHidden);
|
||||
3
frontend/components/RouteSidebarHidden/index.js
Normal file
3
frontend/components/RouteSidebarHidden/index.js
Normal file
@@ -0,0 +1,3 @@
|
||||
// @flow
|
||||
import RouteSidebarHidden from './RouteSidebarHidden';
|
||||
export default RouteSidebarHidden;
|
||||
@@ -1,25 +0,0 @@
|
||||
// @flow
|
||||
import { Component } from 'react';
|
||||
import { inject } from 'mobx-react';
|
||||
import UiStore from 'stores/UiStore';
|
||||
|
||||
class SidebarHidden extends Component {
|
||||
props: {
|
||||
ui: UiStore,
|
||||
children: React$Element<any>,
|
||||
};
|
||||
|
||||
componentDidMount() {
|
||||
this.props.ui.enableEditMode();
|
||||
}
|
||||
|
||||
componentWillUnmount() {
|
||||
this.props.ui.disableEditMode();
|
||||
}
|
||||
|
||||
render() {
|
||||
return this.props.children;
|
||||
}
|
||||
}
|
||||
|
||||
export default inject('ui')(SidebarHidden);
|
||||
@@ -1,3 +0,0 @@
|
||||
// @flow
|
||||
import SidebarHidden from './SidebarHidden';
|
||||
export default SidebarHidden;
|
||||
@@ -35,7 +35,7 @@ import Error404 from 'scenes/Error404';
|
||||
|
||||
import ScrollToTop from 'components/ScrollToTop';
|
||||
import Layout from 'components/Layout';
|
||||
import SidebarHidden from 'components/SidebarHidden';
|
||||
import RouteSidebarHidden from 'components/RouteSidebarHidden';
|
||||
|
||||
import flatpages from 'static/flatpages';
|
||||
|
||||
@@ -122,25 +122,21 @@ render(
|
||||
<Route exact path="/search" component={Search} />
|
||||
<Route exact path="/search/:query" component={Search} />
|
||||
<Route exact path="/settings" component={Settings} />
|
||||
<Route exact path="/developers" component={Api} />
|
||||
|
||||
<Route path="/404" component={Error404} />
|
||||
|
||||
{/* This is a bit busted, break any view after it */}
|
||||
<SidebarHidden>
|
||||
<Switch>
|
||||
<Route
|
||||
exact
|
||||
path={`/doc/${matchDocumentSlug}/:edit`}
|
||||
component={Document}
|
||||
/>
|
||||
<Route
|
||||
exact
|
||||
path="/collections/:id/new"
|
||||
component={DocumentNew}
|
||||
/>
|
||||
</Switch>
|
||||
</SidebarHidden>
|
||||
<RouteSidebarHidden
|
||||
exact
|
||||
path={`/doc/${matchDocumentSlug}/:edit`}
|
||||
component={Document}
|
||||
/>
|
||||
<RouteSidebarHidden
|
||||
exact
|
||||
path="/collections/:id/new"
|
||||
component={DocumentNew}
|
||||
/>
|
||||
|
||||
<Route exact path="/developers" component={Api} />
|
||||
|
||||
<Route component={notFoundSearch} />
|
||||
</Switch>
|
||||
|
||||
Reference in New Issue
Block a user