From dd0abc8a8b58fb47a99e597c5e9e7ceae757fae4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Salgado?= Date: Wed, 3 Mar 2021 17:05:26 +0000 Subject: [PATCH] refactor: AppContext and App entrypoints --- new-lamassu-admin/.env | 3 ++- new-lamassu-admin/package.json | 4 +++- new-lamassu-admin/src/App.js | 6 ++---- new-lamassu-admin/src/AppContext.js | 3 +++ new-lamassu-admin/src/index.js | 22 ++++++++++++++++++-- new-lamassu-admin/src/pages/Wizard/Wizard.js | 2 +- new-lamassu-admin/src/routing/routes.js | 2 +- 7 files changed, 32 insertions(+), 10 deletions(-) create mode 100644 new-lamassu-admin/src/AppContext.js diff --git a/new-lamassu-admin/.env b/new-lamassu-admin/.env index 41d5d5c2..074e97a8 100644 --- a/new-lamassu-admin/.env +++ b/new-lamassu-admin/.env @@ -1,4 +1,5 @@ SKIP_PREFLIGHT_CHECK=true HTTPS=true REACT_APP_TYPE_CHECK_SANCTUARY=false -PORT=3001 \ No newline at end of file +PORT=3001 +REACT_APP_BUILD_TARGET=LAMASSU \ No newline at end of file diff --git a/new-lamassu-admin/package.json b/new-lamassu-admin/package.json index ac01df1c..315b0762 100644 --- a/new-lamassu-admin/package.json +++ b/new-lamassu-admin/package.json @@ -88,7 +88,9 @@ "eject": "react-scripts eject", "storybook": "start-storybook -p 9009 -s public", "postinstall": "patch-package", - "build-storybook": "build-storybook -s public" + "build-storybook": "build-storybook -s public", + "start-lamassu": "REACT_APP_BUILD_TARGET=LAMASSU react-scripts start", + "start-pazuz": "REACT_APP_BUILD_TARGET=PAZUZ react-scripts start" }, "browserslist": { "production": [ diff --git a/new-lamassu-admin/src/App.js b/new-lamassu-admin/src/App.js index a0a085bc..095f2771 100644 --- a/new-lamassu-admin/src/App.js +++ b/new-lamassu-admin/src/App.js @@ -9,13 +9,14 @@ import { } from '@material-ui/core/styles' import { create } from 'jss' import extendJss from 'jss-plugin-extend' -import React, { createContext, useContext, useState } from 'react' +import React, { useContext, useState } from 'react' import { useLocation, useHistory, BrowserRouter as Router } from 'react-router-dom' +import AppContext from 'src/AppContext' import Sidebar from 'src/components/layout/Sidebar' import TitleSection from 'src/components/layout/TitleSection' import ApolloProvider from 'src/utils/apollo' @@ -69,8 +70,6 @@ const useStyles = makeStyles({ } }) -const AppContext = createContext() - const Main = () => { const classes = useStyles() const location = useLocation() @@ -148,4 +147,3 @@ const App = () => { } export default App -export { AppContext } diff --git a/new-lamassu-admin/src/AppContext.js b/new-lamassu-admin/src/AppContext.js new file mode 100644 index 00000000..f54c8c4d --- /dev/null +++ b/new-lamassu-admin/src/AppContext.js @@ -0,0 +1,3 @@ +import React from 'react' + +export default React.createContext() diff --git a/new-lamassu-admin/src/index.js b/new-lamassu-admin/src/index.js index 0a0746d5..5e5f04ee 100644 --- a/new-lamassu-admin/src/index.js +++ b/new-lamassu-admin/src/index.js @@ -1,10 +1,28 @@ import React from 'react' import ReactDOM from 'react-dom' -import App from './App' import * as serviceWorker from './serviceWorker' -ReactDOM.render(, document.getElementById('root')) +function importBuildTarget() { + if (process.env.REACT_APP_BUILD_TARGET === 'LAMASSU') { + return import('./App') + } else if (process.env.REACT_APP_BUILD_TARGET === 'PAZUZ') { + return import('./pazuz/App') + } else { + return Promise.reject( + new Error('No such build target: ' + process.env.REACT_APP_BUILD_TARGET) + ) + } +} + +importBuildTarget().then(({ default: Environment }) => + ReactDOM.render( + + + , + document.getElementById('root') + ) +) // If you want your app to work offline and load faster, you can change // unregister() to register() below. Note this comes with some pitfalls. diff --git a/new-lamassu-admin/src/pages/Wizard/Wizard.js b/new-lamassu-admin/src/pages/Wizard/Wizard.js index 11be3993..b9ee1bb6 100644 --- a/new-lamassu-admin/src/pages/Wizard/Wizard.js +++ b/new-lamassu-admin/src/pages/Wizard/Wizard.js @@ -5,7 +5,7 @@ import gql from 'graphql-tag' import React, { useState, useContext } from 'react' import { useHistory } from 'react-router-dom' -import { AppContext } from 'src/App' +import AppContext from 'src/AppContext' import { getWizardStep, STEPS } from 'src/pages/Wizard/helper' import { backgroundColor } from 'src/styling/variables' diff --git a/new-lamassu-admin/src/routing/routes.js b/new-lamassu-admin/src/routing/routes.js index 8d8285ac..e0c845e6 100644 --- a/new-lamassu-admin/src/routing/routes.js +++ b/new-lamassu-admin/src/routing/routes.js @@ -12,7 +12,7 @@ import { useLocation } from 'react-router-dom' -import { AppContext } from 'src/App' +import AppContext from 'src/AppContext' import AuthRegister from 'src/pages/AuthRegister' import Blacklist from 'src/pages/Blacklist' import Cashout from 'src/pages/Cashout'