Merge branch 'feature/integration'

This commit is contained in:
Nikhil Nandagopal 2019-09-02 20:20:25 +05:30
commit 46237873bd
4 changed files with 42 additions and 3 deletions

View File

@ -4,7 +4,8 @@ import { Provider } from "react-redux";
import "./index.css"; import "./index.css";
import App from "./App"; import App from "./App";
import Editor from "./pages/Editor"; import Editor from "./pages/Editor";
import PageNotFound from "./pages/PageNotFound"; import PageNotFound from "./pages/common/PageNotFound";
import LoginPage from "./pages/common/LoginPage";
import * as serviceWorker from "./serviceWorker"; import * as serviceWorker from "./serviceWorker";
import { BrowserRouter, Route, Switch } from "react-router-dom"; import { BrowserRouter, Route, Switch } from "react-router-dom";
import { createStore, applyMiddleware } from "redux"; import { createStore, applyMiddleware } from "redux";
@ -14,6 +15,7 @@ import { ThemeProvider, theme } from "./constants/DefaultTheme";
import createSagaMiddleware from 'redux-saga' import createSagaMiddleware from 'redux-saga'
import { rootSaga } from "./sagas" import { rootSaga } from "./sagas"
import { appInitializer } from "./utils/AppsmithUtils"; import { appInitializer } from "./utils/AppsmithUtils";
import ProtectedRoute from "./pages/common/ProtectedRoute";
appInitializer() appInitializer()
WidgetBuilderRegistry.registerWidgetBuilders(); WidgetBuilderRegistry.registerWidgetBuilders();
@ -26,7 +28,8 @@ ReactDOM.render(
<BrowserRouter> <BrowserRouter>
<Switch> <Switch>
<Route exact path="/" component={App} /> <Route exact path="/" component={App} />
<Route exact path="/builder" component={Editor} /> <ProtectedRoute path="/builder" component={Editor} />
<Route exact path="/login" component={LoginPage} />
<Route component={PageNotFound} /> <Route component={PageNotFound} />
</Switch> </Switch>
</BrowserRouter> </BrowserRouter>

View File

@ -0,0 +1,23 @@
import * as React from "react"
import { Card, Elevation } from "@blueprintjs/core"
import { RouterProps } from "react-router";
class LoginPage extends React.PureComponent<RouterProps> {
componentDidMount() {
let windowDoc: any = window
windowDoc.netlifyIdentity.open();
}
render() {
return (
<div style={{ textAlign: "center" }}>
</div>
)
}
}
export default LoginPage

View File

@ -1,7 +1,6 @@
import * as React from "react" import * as React from "react"
import { NonIdealState, Button, Card, Elevation } from "@blueprintjs/core" import { NonIdealState, Button, Card, Elevation } from "@blueprintjs/core"
import App from "../App";
import { RouterProps } from "react-router"; import { RouterProps } from "react-router";
class PageNotFound extends React.PureComponent<RouterProps> { class PageNotFound extends React.PureComponent<RouterProps> {

View File

@ -0,0 +1,14 @@
import * as React from "react"
import _ from "lodash"
import { Route, Redirect } from "react-router-dom";
const ProtectedRoute = ({ path: path, component: Component, ...rest }: { path: string, component: React.ReactType }) => {
let windowDoc: any = window
return (<Route {...rest} render={(props) => (
!_.isNil(windowDoc.netlifyIdentity.currentUser())
? <Component {...props} />
: <Redirect to={"/login"} />
)} />)
}
export default ProtectedRoute