diff --git a/js/src/config/dappsViews.json b/js/src/config/dappsViews.json index 8fcc06d30..487a92341 100644 --- a/js/src/config/dappsViews.json +++ b/js/src/config/dappsViews.json @@ -90,6 +90,18 @@ "visible": true, "secure": true }, + { + "id": "playground", + "url": "playground", + "src": "Playground", + "name": "Playground", + "description": "Playground for Parity UI components", + "author": "Parity Team ", + "version": "2.0.0", + "visible": true, + "secure": true, + "noselect": true + }, { "id": "requests", "url": "requests", @@ -145,5 +157,17 @@ "visible": true, "secure": true, "noselect": true + }, + { + "id": "web", + "url": "web", + "src": "Web", + "name": "Web", + "description": "Embed dapps loaded from the web into the Parity shell", + "author": "Parity Team ", + "version": "2.0.0", + "visible": true, + "secure": true, + "noselect": true } ] diff --git a/js/src/config.js b/js/src/config/index.js similarity index 100% rename from js/src/config.js rename to js/src/config/index.js diff --git a/js/src/redux/providers/requestsActions.js b/js/src/redux/providers/requestsActions.js index aa6e39eb3..6a011a0b0 100644 --- a/js/src/redux/providers/requestsActions.js +++ b/js/src/redux/providers/requestsActions.js @@ -19,7 +19,7 @@ import BigNumber from 'bignumber.js'; import { outTransaction } from '@parity/api/format/output'; import { trackRequest as trackRequestUtil, parseTransactionReceipt } from '~/util/tx'; -import SavedRequests from '~/views/Application/Requests/savedRequests'; +import SavedRequests from '~/shell/Application/Requests/savedRequests'; const savedRequests = new SavedRequests(); diff --git a/js/src/routes.js b/js/src/routes.js deleted file mode 100644 index 742424497..000000000 --- a/js/src/routes.js +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright 2015-2017 Parity Technologies (UK) Ltd. -// This file is part of Parity. - -// Parity is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// Parity is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with Parity. If not, see . - -import HistoryStore from '~/mobx/historyStore'; -import { Application, Dapp, Dapps, Web } from '~/views'; -import builtinDapps from '~/config/dappsBuiltin.json'; -import viewsDapps from '~/config/dappsViews.json'; - -const dapps = [].concat(viewsDapps, builtinDapps); - -// const accountsHistory = HistoryStore.get('accounts'); -const dappsHistory = HistoryStore.get('dapps'); - -function redirectTo (path) { - return (nextState, replace) => { - replace(path); - }; -} - -const routes = [ - { path: '/', onEnter: redirectTo('/apps') }, - { path: '/auth', onEnter: redirectTo('/apps') } -]; - -const childRoutes = [ - { - path: 'app/:id', - component: Dapp, - onEnter: ({ params }) => { - if (!dapps[params.id] || !dapps[params.id].skipHistory) { - dappsHistory.add(params.id); - } - } - }, - { - path: 'app/:id/:details', - component: Dapp, - onEnter: ({ params }) => { - if (!dapps[params.id] || !dapps[params.id].skipHistory) { - dappsHistory.add(params.id); - } - } - }, - { path: 'apps', component: Dapps }, - { path: 'web', component: Web }, - { path: 'web/:url', component: Web } -]; - -// TODO: use ES6 imports when supported -if (process.env.NODE_ENV !== 'production') { - const Playground = require('./views/Playground').default; - - childRoutes.push({ - path: 'playground', - component: Playground - }); -} - -routes.push({ - path: '/', - component: Application, - childRoutes -}); - -export default routes; diff --git a/js/src/views/Application/Container/container.js b/js/src/shell/Application/Container/container.js similarity index 100% rename from js/src/views/Application/Container/container.js rename to js/src/shell/Application/Container/container.js diff --git a/js/src/views/Application/Container/index.js b/js/src/shell/Application/Container/index.js similarity index 100% rename from js/src/views/Application/Container/index.js rename to js/src/shell/Application/Container/index.js diff --git a/js/src/views/Application/DappContainer/dappContainer.js b/js/src/shell/Application/DappContainer/dappContainer.js similarity index 100% rename from js/src/views/Application/DappContainer/dappContainer.js rename to js/src/shell/Application/DappContainer/dappContainer.js diff --git a/js/src/views/Application/DappContainer/index.js b/js/src/shell/Application/DappContainer/index.js similarity index 100% rename from js/src/views/Application/DappContainer/index.js rename to js/src/shell/Application/DappContainer/index.js diff --git a/js/src/views/Application/Extension/extension.css b/js/src/shell/Application/Extension/extension.css similarity index 100% rename from js/src/views/Application/Extension/extension.css rename to js/src/shell/Application/Extension/extension.css diff --git a/js/src/views/Application/Extension/extension.js b/js/src/shell/Application/Extension/extension.js similarity index 100% rename from js/src/views/Application/Extension/extension.js rename to js/src/shell/Application/Extension/extension.js diff --git a/js/src/views/Application/Extension/index.js b/js/src/shell/Application/Extension/index.js similarity index 100% rename from js/src/views/Application/Extension/index.js rename to js/src/shell/Application/Extension/index.js diff --git a/js/src/views/Application/Extension/store.js b/js/src/shell/Application/Extension/store.js similarity index 100% rename from js/src/views/Application/Extension/store.js rename to js/src/shell/Application/Extension/store.js diff --git a/js/src/views/Application/FrameError/frameError.css b/js/src/shell/Application/FrameError/frameError.css similarity index 100% rename from js/src/views/Application/FrameError/frameError.css rename to js/src/shell/Application/FrameError/frameError.css diff --git a/js/src/views/Application/FrameError/frameError.js b/js/src/shell/Application/FrameError/frameError.js similarity index 100% rename from js/src/views/Application/FrameError/frameError.js rename to js/src/shell/Application/FrameError/frameError.js diff --git a/js/src/views/Application/FrameError/index.js b/js/src/shell/Application/FrameError/index.js similarity index 100% rename from js/src/views/Application/FrameError/index.js rename to js/src/shell/Application/FrameError/index.js diff --git a/js/src/views/Application/Requests/index.js b/js/src/shell/Application/Requests/index.js similarity index 100% rename from js/src/views/Application/Requests/index.js rename to js/src/shell/Application/Requests/index.js diff --git a/js/src/views/Application/Requests/requests.css b/js/src/shell/Application/Requests/requests.css similarity index 100% rename from js/src/views/Application/Requests/requests.css rename to js/src/shell/Application/Requests/requests.css diff --git a/js/src/views/Application/Requests/requests.js b/js/src/shell/Application/Requests/requests.js similarity index 100% rename from js/src/views/Application/Requests/requests.js rename to js/src/shell/Application/Requests/requests.js diff --git a/js/src/views/Application/Requests/savedRequests.js b/js/src/shell/Application/Requests/savedRequests.js similarity index 100% rename from js/src/views/Application/Requests/savedRequests.js rename to js/src/shell/Application/Requests/savedRequests.js diff --git a/js/src/views/Application/Requests/savedRequests.spec.js b/js/src/shell/Application/Requests/savedRequests.spec.js similarity index 100% rename from js/src/views/Application/Requests/savedRequests.spec.js rename to js/src/shell/Application/Requests/savedRequests.spec.js diff --git a/js/src/views/Application/Snackbar/index.js b/js/src/shell/Application/Snackbar/index.js similarity index 100% rename from js/src/views/Application/Snackbar/index.js rename to js/src/shell/Application/Snackbar/index.js diff --git a/js/src/views/Application/Snackbar/snackbar.js b/js/src/shell/Application/Snackbar/snackbar.js similarity index 100% rename from js/src/views/Application/Snackbar/snackbar.js rename to js/src/shell/Application/Snackbar/snackbar.js diff --git a/js/src/views/Application/Status/index.js b/js/src/shell/Application/Status/index.js similarity index 100% rename from js/src/views/Application/Status/index.js rename to js/src/shell/Application/Status/index.js diff --git a/js/src/views/Application/Status/status.css b/js/src/shell/Application/Status/status.css similarity index 100% rename from js/src/views/Application/Status/status.css rename to js/src/shell/Application/Status/status.css diff --git a/js/src/views/Application/Status/status.js b/js/src/shell/Application/Status/status.js similarity index 100% rename from js/src/views/Application/Status/status.js rename to js/src/shell/Application/Status/status.js diff --git a/js/src/views/Application/application.css b/js/src/shell/Application/application.css similarity index 100% rename from js/src/views/Application/application.css rename to js/src/shell/Application/application.css diff --git a/js/src/views/Application/application.js b/js/src/shell/Application/application.js similarity index 100% rename from js/src/views/Application/application.js rename to js/src/shell/Application/application.js diff --git a/js/src/views/Application/index.js b/js/src/shell/Application/index.js similarity index 100% rename from js/src/views/Application/index.js rename to js/src/shell/Application/index.js diff --git a/js/src/views/Application/store.js b/js/src/shell/Application/store.js similarity index 100% rename from js/src/views/Application/store.js rename to js/src/shell/Application/store.js diff --git a/js/src/views/Connection/connection.css b/js/src/shell/Connection/connection.css similarity index 100% rename from js/src/views/Connection/connection.css rename to js/src/shell/Connection/connection.css diff --git a/js/src/views/Connection/connection.js b/js/src/shell/Connection/connection.js similarity index 100% rename from js/src/views/Connection/connection.js rename to js/src/shell/Connection/connection.js diff --git a/js/src/views/Connection/connection.spec.js b/js/src/shell/Connection/connection.spec.js similarity index 100% rename from js/src/views/Connection/connection.spec.js rename to js/src/shell/Connection/connection.spec.js diff --git a/js/src/views/Connection/index.js b/js/src/shell/Connection/index.js similarity index 100% rename from js/src/views/Connection/index.js rename to js/src/shell/Connection/index.js diff --git a/js/src/views/Dapp/dapp.css b/js/src/shell/Dapp/dapp.css similarity index 100% rename from js/src/views/Dapp/dapp.css rename to js/src/shell/Dapp/dapp.css diff --git a/js/src/views/Dapp/dapp.js b/js/src/shell/Dapp/dapp.js similarity index 100% rename from js/src/views/Dapp/dapp.js rename to js/src/shell/Dapp/dapp.js diff --git a/js/src/views/Dapp/index.js b/js/src/shell/Dapp/index.js similarity index 100% rename from js/src/views/Dapp/index.js rename to js/src/shell/Dapp/index.js diff --git a/js/src/views/Dapps/dappStore.spec.js b/js/src/shell/Dapps/dappStore.spec.js similarity index 100% rename from js/src/views/Dapps/dappStore.spec.js rename to js/src/shell/Dapps/dappStore.spec.js diff --git a/js/src/views/Dapps/dapps.css b/js/src/shell/Dapps/dapps.css similarity index 100% rename from js/src/views/Dapps/dapps.css rename to js/src/shell/Dapps/dapps.css diff --git a/js/src/views/Dapps/dapps.js b/js/src/shell/Dapps/dapps.js similarity index 100% rename from js/src/views/Dapps/dapps.js rename to js/src/shell/Dapps/dapps.js diff --git a/js/src/views/Dapps/dappsStore.js b/js/src/shell/Dapps/dappsStore.js similarity index 100% rename from js/src/views/Dapps/dappsStore.js rename to js/src/shell/Dapps/dappsStore.js diff --git a/js/src/views/Dapps/index.js b/js/src/shell/Dapps/index.js similarity index 100% rename from js/src/views/Dapps/index.js rename to js/src/shell/Dapps/index.js diff --git a/js/src/views/ParityBar/accountStore.js b/js/src/shell/ParityBar/accountStore.js similarity index 100% rename from js/src/views/ParityBar/accountStore.js rename to js/src/shell/ParityBar/accountStore.js diff --git a/js/src/views/ParityBar/accountStore.spec.js b/js/src/shell/ParityBar/accountStore.spec.js similarity index 100% rename from js/src/views/ParityBar/accountStore.spec.js rename to js/src/shell/ParityBar/accountStore.spec.js diff --git a/js/src/views/ParityBar/index.js b/js/src/shell/ParityBar/index.js similarity index 100% rename from js/src/views/ParityBar/index.js rename to js/src/shell/ParityBar/index.js diff --git a/js/src/views/ParityBar/parityBar.css b/js/src/shell/ParityBar/parityBar.css similarity index 100% rename from js/src/views/ParityBar/parityBar.css rename to js/src/shell/ParityBar/parityBar.css diff --git a/js/src/views/ParityBar/parityBar.js b/js/src/shell/ParityBar/parityBar.js similarity index 99% rename from js/src/views/ParityBar/parityBar.js rename to js/src/shell/ParityBar/parityBar.js index 1cc750fac..cef8bc4e3 100644 --- a/js/src/views/ParityBar/parityBar.js +++ b/js/src/shell/ParityBar/parityBar.js @@ -26,8 +26,9 @@ import store from 'store'; import imagesEthcoreBlock from '~/../assets/images/parity-logo-white-no-text.svg'; import { AccountCard, Badge, Button, ContainerTitle, IdentityIcon, SelectionList } from '~/ui'; import { CancelIcon, FingerprintIcon } from '~/ui/Icons'; -import DappsStore from '~/views/Dapps/dappsStore'; -import Signer from '~/views/Signer/Embedded'; + +import DappsStore from '~/shell/Dapps/dappsStore'; +import Signer from '~/shell/Signer/Embedded'; import AccountStore from './accountStore'; import styles from './parityBar.css'; diff --git a/js/src/views/ParityBar/parityBar.spec.js b/js/src/shell/ParityBar/parityBar.spec.js similarity index 100% rename from js/src/views/ParityBar/parityBar.spec.js rename to js/src/shell/ParityBar/parityBar.spec.js diff --git a/js/src/views/ParityBar/parityBar.test.js b/js/src/shell/ParityBar/parityBar.test.js similarity index 100% rename from js/src/views/ParityBar/parityBar.test.js rename to js/src/shell/ParityBar/parityBar.test.js diff --git a/js/src/views/Signer/Embedded/embedded.css b/js/src/shell/Signer/Embedded/embedded.css similarity index 100% rename from js/src/views/Signer/Embedded/embedded.css rename to js/src/shell/Signer/Embedded/embedded.css diff --git a/js/src/views/Signer/Embedded/embedded.js b/js/src/shell/Signer/Embedded/embedded.js similarity index 100% rename from js/src/views/Signer/Embedded/embedded.js rename to js/src/shell/Signer/Embedded/embedded.js diff --git a/js/src/views/Signer/Embedded/index.js b/js/src/shell/Signer/Embedded/index.js similarity index 100% rename from js/src/views/Signer/Embedded/index.js rename to js/src/shell/Signer/Embedded/index.js diff --git a/js/src/views/Signer/_layout.css b/js/src/shell/Signer/_layout.css similarity index 100% rename from js/src/views/Signer/_layout.css rename to js/src/shell/Signer/_layout.css diff --git a/js/src/views/Signer/components/Account/AccountLink/accountLink.css b/js/src/shell/Signer/components/Account/AccountLink/accountLink.css similarity index 100% rename from js/src/views/Signer/components/Account/AccountLink/accountLink.css rename to js/src/shell/Signer/components/Account/AccountLink/accountLink.css diff --git a/js/src/views/Signer/components/Account/AccountLink/accountLink.js b/js/src/shell/Signer/components/Account/AccountLink/accountLink.js similarity index 100% rename from js/src/views/Signer/components/Account/AccountLink/accountLink.js rename to js/src/shell/Signer/components/Account/AccountLink/accountLink.js diff --git a/js/src/views/Signer/components/Account/AccountLink/index.js b/js/src/shell/Signer/components/Account/AccountLink/index.js similarity index 100% rename from js/src/views/Signer/components/Account/AccountLink/index.js rename to js/src/shell/Signer/components/Account/AccountLink/index.js diff --git a/js/src/views/Signer/components/Account/account.css b/js/src/shell/Signer/components/Account/account.css similarity index 100% rename from js/src/views/Signer/components/Account/account.css rename to js/src/shell/Signer/components/Account/account.css diff --git a/js/src/views/Signer/components/Account/account.js b/js/src/shell/Signer/components/Account/account.js similarity index 100% rename from js/src/views/Signer/components/Account/account.js rename to js/src/shell/Signer/components/Account/account.js diff --git a/js/src/views/Signer/components/Account/index.js b/js/src/shell/Signer/components/Account/index.js similarity index 100% rename from js/src/views/Signer/components/Account/index.js rename to js/src/shell/Signer/components/Account/index.js diff --git a/js/src/views/Signer/components/DecryptRequest/decryptRequest.js b/js/src/shell/Signer/components/DecryptRequest/decryptRequest.js similarity index 100% rename from js/src/views/Signer/components/DecryptRequest/decryptRequest.js rename to js/src/shell/Signer/components/DecryptRequest/decryptRequest.js diff --git a/js/src/views/Signer/components/DecryptRequest/index.js b/js/src/shell/Signer/components/DecryptRequest/index.js similarity index 100% rename from js/src/views/Signer/components/DecryptRequest/index.js rename to js/src/shell/Signer/components/DecryptRequest/index.js diff --git a/js/src/views/Signer/components/RequestOrigin/index.js b/js/src/shell/Signer/components/RequestOrigin/index.js similarity index 100% rename from js/src/views/Signer/components/RequestOrigin/index.js rename to js/src/shell/Signer/components/RequestOrigin/index.js diff --git a/js/src/views/Signer/components/RequestOrigin/requestOrigin.css b/js/src/shell/Signer/components/RequestOrigin/requestOrigin.css similarity index 100% rename from js/src/views/Signer/components/RequestOrigin/requestOrigin.css rename to js/src/shell/Signer/components/RequestOrigin/requestOrigin.css diff --git a/js/src/views/Signer/components/RequestOrigin/requestOrigin.js b/js/src/shell/Signer/components/RequestOrigin/requestOrigin.js similarity index 100% rename from js/src/views/Signer/components/RequestOrigin/requestOrigin.js rename to js/src/shell/Signer/components/RequestOrigin/requestOrigin.js diff --git a/js/src/views/Signer/components/RequestOrigin/requestOrigin.spec.js b/js/src/shell/Signer/components/RequestOrigin/requestOrigin.spec.js similarity index 100% rename from js/src/views/Signer/components/RequestOrigin/requestOrigin.spec.js rename to js/src/shell/Signer/components/RequestOrigin/requestOrigin.spec.js diff --git a/js/src/views/Signer/components/RequestPending/index.js b/js/src/shell/Signer/components/RequestPending/index.js similarity index 100% rename from js/src/views/Signer/components/RequestPending/index.js rename to js/src/shell/Signer/components/RequestPending/index.js diff --git a/js/src/views/Signer/components/RequestPending/requestPending.js b/js/src/shell/Signer/components/RequestPending/requestPending.js similarity index 100% rename from js/src/views/Signer/components/RequestPending/requestPending.js rename to js/src/shell/Signer/components/RequestPending/requestPending.js diff --git a/js/src/views/Signer/components/RequestPending/requestPending.spec.js b/js/src/shell/Signer/components/RequestPending/requestPending.spec.js similarity index 100% rename from js/src/views/Signer/components/RequestPending/requestPending.spec.js rename to js/src/shell/Signer/components/RequestPending/requestPending.spec.js diff --git a/js/src/views/Signer/components/SignRequest/index.js b/js/src/shell/Signer/components/SignRequest/index.js similarity index 100% rename from js/src/views/Signer/components/SignRequest/index.js rename to js/src/shell/Signer/components/SignRequest/index.js diff --git a/js/src/views/Signer/components/SignRequest/signRequest.css b/js/src/shell/Signer/components/SignRequest/signRequest.css similarity index 100% rename from js/src/views/Signer/components/SignRequest/signRequest.css rename to js/src/shell/Signer/components/SignRequest/signRequest.css diff --git a/js/src/views/Signer/components/SignRequest/signRequest.js b/js/src/shell/Signer/components/SignRequest/signRequest.js similarity index 100% rename from js/src/views/Signer/components/SignRequest/signRequest.js rename to js/src/shell/Signer/components/SignRequest/signRequest.js diff --git a/js/src/views/Signer/components/SignRequest/signRequest.spec.js b/js/src/shell/Signer/components/SignRequest/signRequest.spec.js similarity index 100% rename from js/src/views/Signer/components/SignRequest/signRequest.spec.js rename to js/src/shell/Signer/components/SignRequest/signRequest.spec.js diff --git a/js/src/views/Signer/components/TransactionMainDetails/index.js b/js/src/shell/Signer/components/TransactionMainDetails/index.js similarity index 100% rename from js/src/views/Signer/components/TransactionMainDetails/index.js rename to js/src/shell/Signer/components/TransactionMainDetails/index.js diff --git a/js/src/views/Signer/components/TransactionMainDetails/transactionMainDetails.css b/js/src/shell/Signer/components/TransactionMainDetails/transactionMainDetails.css similarity index 100% rename from js/src/views/Signer/components/TransactionMainDetails/transactionMainDetails.css rename to js/src/shell/Signer/components/TransactionMainDetails/transactionMainDetails.css diff --git a/js/src/views/Signer/components/TransactionMainDetails/transactionMainDetails.js b/js/src/shell/Signer/components/TransactionMainDetails/transactionMainDetails.js similarity index 100% rename from js/src/views/Signer/components/TransactionMainDetails/transactionMainDetails.js rename to js/src/shell/Signer/components/TransactionMainDetails/transactionMainDetails.js diff --git a/js/src/views/Signer/components/TransactionPending/index.js b/js/src/shell/Signer/components/TransactionPending/index.js similarity index 100% rename from js/src/views/Signer/components/TransactionPending/index.js rename to js/src/shell/Signer/components/TransactionPending/index.js diff --git a/js/src/views/Signer/components/TransactionPending/transactionPending.css b/js/src/shell/Signer/components/TransactionPending/transactionPending.css similarity index 100% rename from js/src/views/Signer/components/TransactionPending/transactionPending.css rename to js/src/shell/Signer/components/TransactionPending/transactionPending.css diff --git a/js/src/views/Signer/components/TransactionPending/transactionPending.js b/js/src/shell/Signer/components/TransactionPending/transactionPending.js similarity index 100% rename from js/src/views/Signer/components/TransactionPending/transactionPending.js rename to js/src/shell/Signer/components/TransactionPending/transactionPending.js diff --git a/js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormConfirm/index.js b/js/src/shell/Signer/components/TransactionPendingForm/TransactionPendingFormConfirm/index.js similarity index 100% rename from js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormConfirm/index.js rename to js/src/shell/Signer/components/TransactionPendingForm/TransactionPendingFormConfirm/index.js diff --git a/js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormConfirm/transactionPendingFormConfirm.css b/js/src/shell/Signer/components/TransactionPendingForm/TransactionPendingFormConfirm/transactionPendingFormConfirm.css similarity index 100% rename from js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormConfirm/transactionPendingFormConfirm.css rename to js/src/shell/Signer/components/TransactionPendingForm/TransactionPendingFormConfirm/transactionPendingFormConfirm.css diff --git a/js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormConfirm/transactionPendingFormConfirm.js b/js/src/shell/Signer/components/TransactionPendingForm/TransactionPendingFormConfirm/transactionPendingFormConfirm.js similarity index 100% rename from js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormConfirm/transactionPendingFormConfirm.js rename to js/src/shell/Signer/components/TransactionPendingForm/TransactionPendingFormConfirm/transactionPendingFormConfirm.js diff --git a/js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormConfirm/transactionPendingFormConfirm.spec.js b/js/src/shell/Signer/components/TransactionPendingForm/TransactionPendingFormConfirm/transactionPendingFormConfirm.spec.js similarity index 100% rename from js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormConfirm/transactionPendingFormConfirm.spec.js rename to js/src/shell/Signer/components/TransactionPendingForm/TransactionPendingFormConfirm/transactionPendingFormConfirm.spec.js diff --git a/js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormReject/index.js b/js/src/shell/Signer/components/TransactionPendingForm/TransactionPendingFormReject/index.js similarity index 100% rename from js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormReject/index.js rename to js/src/shell/Signer/components/TransactionPendingForm/TransactionPendingFormReject/index.js diff --git a/js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormReject/transactionPendingFormReject.css b/js/src/shell/Signer/components/TransactionPendingForm/TransactionPendingFormReject/transactionPendingFormReject.css similarity index 100% rename from js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormReject/transactionPendingFormReject.css rename to js/src/shell/Signer/components/TransactionPendingForm/TransactionPendingFormReject/transactionPendingFormReject.css diff --git a/js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormReject/transactionPendingFormReject.js b/js/src/shell/Signer/components/TransactionPendingForm/TransactionPendingFormReject/transactionPendingFormReject.js similarity index 100% rename from js/src/views/Signer/components/TransactionPendingForm/TransactionPendingFormReject/transactionPendingFormReject.js rename to js/src/shell/Signer/components/TransactionPendingForm/TransactionPendingFormReject/transactionPendingFormReject.js diff --git a/js/src/views/Signer/components/TransactionPendingForm/index.js b/js/src/shell/Signer/components/TransactionPendingForm/index.js similarity index 100% rename from js/src/views/Signer/components/TransactionPendingForm/index.js rename to js/src/shell/Signer/components/TransactionPendingForm/index.js diff --git a/js/src/views/Signer/components/TransactionPendingForm/transactionPendingForm.css b/js/src/shell/Signer/components/TransactionPendingForm/transactionPendingForm.css similarity index 100% rename from js/src/views/Signer/components/TransactionPendingForm/transactionPendingForm.css rename to js/src/shell/Signer/components/TransactionPendingForm/transactionPendingForm.css diff --git a/js/src/views/Signer/components/TransactionPendingForm/transactionPendingForm.js b/js/src/shell/Signer/components/TransactionPendingForm/transactionPendingForm.js similarity index 100% rename from js/src/views/Signer/components/TransactionPendingForm/transactionPendingForm.js rename to js/src/shell/Signer/components/TransactionPendingForm/transactionPendingForm.js diff --git a/js/src/views/Signer/components/TxHashLink/index.js b/js/src/shell/Signer/components/TxHashLink/index.js similarity index 100% rename from js/src/views/Signer/components/TxHashLink/index.js rename to js/src/shell/Signer/components/TxHashLink/index.js diff --git a/js/src/views/Signer/components/TxHashLink/txHashLink.js b/js/src/shell/Signer/components/TxHashLink/txHashLink.js similarity index 100% rename from js/src/views/Signer/components/TxHashLink/txHashLink.js rename to js/src/shell/Signer/components/TxHashLink/txHashLink.js diff --git a/js/src/views/Signer/components/util/logger.js b/js/src/shell/Signer/components/util/logger.js similarity index 100% rename from js/src/views/Signer/components/util/logger.js rename to js/src/shell/Signer/components/util/logger.js diff --git a/js/src/views/Signer/components/util/react.js b/js/src/shell/Signer/components/util/react.js similarity index 100% rename from js/src/views/Signer/components/util/react.js rename to js/src/shell/Signer/components/util/react.js diff --git a/js/src/views/Signer/components/util/transaction.js b/js/src/shell/Signer/components/util/transaction.js similarity index 100% rename from js/src/views/Signer/components/util/transaction.js rename to js/src/shell/Signer/components/util/transaction.js diff --git a/js/src/views/Signer/components/util/transaction.spec.js b/js/src/shell/Signer/components/util/transaction.spec.js similarity index 100% rename from js/src/views/Signer/components/util/transaction.spec.js rename to js/src/shell/Signer/components/util/transaction.spec.js diff --git a/js/src/views/Signer/components/util/util.js b/js/src/shell/Signer/components/util/util.js similarity index 100% rename from js/src/views/Signer/components/util/util.js rename to js/src/shell/Signer/components/util/util.js diff --git a/js/src/views/Signer/store.js b/js/src/shell/Signer/store.js similarity index 100% rename from js/src/views/Signer/store.js rename to js/src/shell/Signer/store.js diff --git a/js/src/views/Signer/utils/extension.js b/js/src/shell/Signer/utils/extension.js similarity index 100% rename from js/src/views/Signer/utils/extension.js rename to js/src/shell/Signer/utils/extension.js diff --git a/js/src/views/Signer/utils/utils.js b/js/src/shell/Signer/utils/utils.js similarity index 100% rename from js/src/views/Signer/utils/utils.js rename to js/src/shell/Signer/utils/utils.js diff --git a/js/src/embed.js b/js/src/shell/embed.js similarity index 78% rename from js/src/embed.js rename to js/src/shell/embed.js index 4e7f8d6ed..2543f6ad2 100644 --- a/js/src/embed.js +++ b/js/src/shell/embed.js @@ -22,7 +22,6 @@ es6Promise.polyfill(); import React from 'react'; import ReactDOM from 'react-dom'; -import { AppContainer } from 'react-hot-loader'; import injectTapEventPlugin from 'react-tap-event-plugin'; @@ -34,16 +33,15 @@ import ContextProvider from '~/ui/ContextProvider'; import muiTheme from '~/ui/Theme'; import { patchApi } from '~/util/tx'; -import { setApi } from '~/redux/providers/apiActions'; import '~/environment'; -import '../assets/fonts/Roboto/font.css'; -import '../assets/fonts/RobotoMono/font.css'; +import '~/../assets/fonts/Roboto/font.css'; +import '~/../assets/fonts/RobotoMono/font.css'; injectTapEventPlugin(); -import ParityBar from '~/views/ParityBar'; +import ParityBar from '~/shell/ParityBar'; // Test transport (std transport should be provided as global object) class FakeTransport { @@ -96,25 +94,15 @@ ContractInstances.get(api); const store = initStore(api, null, true); -store.dispatch({ type: 'initAll', api }); -store.dispatch(setApi(api)); - window.secureApi = api; -const app = ( - -); -const container = document.querySelector('#container'); - ReactDOM.render( - - - { app } - - , - container + + + , + document.querySelector('#container') ); diff --git a/js/src/index.ejs b/js/src/shell/index.ejs similarity index 100% rename from js/src/index.ejs rename to js/src/shell/index.ejs diff --git a/js/src/index.js b/js/src/shell/index.js similarity index 60% rename from js/src/index.js rename to js/src/shell/index.js index bf6a3e8cf..a54b94fbd 100644 --- a/js/src/index.js +++ b/js/src/shell/index.js @@ -22,26 +22,29 @@ es6Promise.polyfill(); import React from 'react'; import ReactDOM from 'react-dom'; -import { AppContainer } from 'react-hot-loader'; import injectTapEventPlugin from 'react-tap-event-plugin'; -import { hashHistory } from 'react-router'; +import { IndexRoute, Redirect, Route, Router, hashHistory } from 'react-router'; import qs from 'querystring'; -import SecureApi from './secureApi'; +import SecureApi from '~/secureApi'; import ContractInstances from '~/contracts'; -import { initStore } from './redux'; +import { initStore } from '~/redux'; import ContextProvider from '~/ui/ContextProvider'; import muiTheme from '~/ui/Theme'; -import MainApplication from './main'; - import { patchApi } from '~/util/tx'; -import './environment'; +import Application from './Application'; +import Dapp from './Dapp'; +import Dapps from './Dapps'; -import '../assets/fonts/Roboto/font.css'; -import '../assets/fonts/RobotoMono/font.css'; +import styles from '~/reset.css'; + +import '~/environment'; + +import '~/../assets/fonts/Roboto/font.css'; +import '~/../assets/fonts/RobotoMono/font.css'; injectTapEventPlugin(); @@ -71,26 +74,30 @@ const store = initStore(api, hashHistory); window.secureApi = api; +import HistoryStore from '~/mobx/historyStore'; +import builtinDapps from '~/config/dappsBuiltin.json'; +import viewsDapps from '~/config/dappsViews.json'; + +const dapps = [].concat(viewsDapps, builtinDapps); + +const dappsHistory = HistoryStore.get('dapps'); + +function onEnterDapp ({ params }) { + if (!dapps[params.id] || !dapps[params.id].skipHistory) { + dappsHistory.add(params.id); + } +} + ReactDOM.render( - - - - - , + + + + + + + + + + , document.querySelector('#container') ); - -if (module.hot) { - module.hot.accept('./main.js', () => { - require('./main.js'); - - ReactDOM.render( - - - - - , - document.querySelector('#container') - ); - }); -} diff --git a/js/src/shell/package.json b/js/src/shell/package.json new file mode 100644 index 000000000..0a110d81c --- /dev/null +++ b/js/src/shell/package.json @@ -0,0 +1,19 @@ +{ + "name": "@parity/shell", + "description": "Parity UI shell", + "version": "0.0.0", + "main": "index.js", + "author": "Parity Team ", + "maintainers": [], + "contributors": [], + "license": "GPL-3.0", + "repository": { + "type": "git", + "url": "git+https://github.com/paritytech/parity.git" + }, + "keywords": [], + "scripts": {}, + "devDependencies": {}, + "dependencies": {}, + "peerDependencies": {} +} diff --git a/js/src/ui/DappCard/dappCard.js b/js/src/ui/DappCard/dappCard.js index cc0faf47d..cd02333c2 100644 --- a/js/src/ui/DappCard/dappCard.js +++ b/js/src/ui/DappCard/dappCard.js @@ -94,6 +94,6 @@ export default class DappCard extends Component { return app.url === 'web' ? '/web' - : `/app/${app.id}`; + : `/${app.id}`; } } diff --git a/js/src/views/Home/home.js b/js/src/views/Home/home.js index 8db45baf4..8079ce0a8 100644 --- a/js/src/views/Home/home.js +++ b/js/src/views/Home/home.js @@ -20,10 +20,10 @@ import { FormattedMessage } from 'react-intl'; import HistoryStore from '~/mobx/historyStore'; import { Page } from '~/ui'; +import WebStore from '~/views/Web/store'; -import DappsStore from '../Dapps/dappsStore'; -import ExtensionStore from '../Application/Extension/store'; -import WebStore from '../Web/store'; +import DappsStore from '~/shell/Dapps/dappsStore'; +import ExtensionStore from '~/shell/Application/Extension/store'; import Accounts from './Accounts'; import Dapps from './Dapps'; diff --git a/js/src/views/Playground/index.js b/js/src/views/Playground/index.js index 04d43a76b..cfcd3c513 100644 --- a/js/src/views/Playground/index.js +++ b/js/src/views/Playground/index.js @@ -14,4 +14,33 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . -export default from './playground'; +import ReactDOM from 'react-dom'; +import React from 'react'; +import { Route, Router, hashHistory } from 'react-router'; + +import injectTapEventPlugin from 'react-tap-event-plugin'; +injectTapEventPlugin(); + +import { api } from './parity'; + +import { initStore } from '~/redux'; +import ContextProvider from '~/ui/ContextProvider'; +import muiTheme from '~/ui/Theme'; + +import Playground from './playground'; + +import '~/../assets/fonts/Roboto/font.css'; +import '~/../assets/fonts/RobotoMono/font.css'; + +import './playground.css'; + +const store = initStore(api, hashHistory); + +ReactDOM.render( + + + + + , + document.querySelector('#container') +); diff --git a/js/src/views/Playground/package.json b/js/src/views/Playground/package.json new file mode 100644 index 000000000..f6c2301a8 --- /dev/null +++ b/js/src/views/Playground/package.json @@ -0,0 +1,19 @@ +{ + "name": "@parity/view-playground", + "description": "Parity component playground", + "version": "0.0.0", + "main": "index.js", + "author": "Parity Team ", + "maintainers": [], + "contributors": [], + "license": "GPL-3.0", + "repository": { + "type": "git", + "url": "git+https://github.com/paritytech/parity.git" + }, + "keywords": [], + "scripts": {}, + "devDependencies": {}, + "dependencies": {}, + "peerDependencies": {} +} diff --git a/js/src/views/index.js b/js/src/views/Playground/parity.js similarity index 81% rename from js/src/views/index.js rename to js/src/views/Playground/parity.js index 74c75c23a..7118ce087 100644 --- a/js/src/views/index.js +++ b/js/src/views/Playground/parity.js @@ -14,8 +14,8 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . -export Application from './Application'; -export Dapp from './Dapp'; -export Dapps from './Dapps'; -export ParityBar from './ParityBar'; -export Web from './Web'; +const api = window.parent.secureApi; + +export { + api +}; diff --git a/js/src/views/Signer/RequestsPage/requestsPage.js b/js/src/views/Signer/RequestsPage/requestsPage.js index 02da9868a..4d0bf8180 100644 --- a/js/src/views/Signer/RequestsPage/requestsPage.js +++ b/js/src/views/Signer/RequestsPage/requestsPage.js @@ -21,12 +21,12 @@ import { FormattedMessage } from 'react-intl'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; -import Store from '../store'; import { newError } from '~/redux/actions'; import { startConfirmRequest, startRejectRequest } from '~/redux/providers/signerActions'; import { Container, Page, TxList } from '~/ui'; -import RequestPending from '../components/RequestPending'; +import Store from '~/shell/Signer/store'; +import RequestPending from '~/shell/Signer/components/RequestPending'; import styles from './requestsPage.css'; diff --git a/js/src/views/Web/index.js b/js/src/views/Web/index.js index c09be4ac1..41d554b43 100644 --- a/js/src/views/Web/index.js +++ b/js/src/views/Web/index.js @@ -14,4 +14,33 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . -export default from './web'; +import ReactDOM from 'react-dom'; +import React from 'react'; +import { Route, Router, hashHistory } from 'react-router'; + +import injectTapEventPlugin from 'react-tap-event-plugin'; +injectTapEventPlugin(); + +import { api } from './parity'; + +import { initStore } from '~/redux'; +import ContextProvider from '~/ui/ContextProvider'; +import muiTheme from '~/ui/Theme'; + +import Web from './web'; + +import '~/../assets/fonts/Roboto/font.css'; +import '~/../assets/fonts/RobotoMono/font.css'; + +import './web.css'; + +const store = initStore(api, hashHistory); + +ReactDOM.render( + + + + + , + document.querySelector('#container') +); diff --git a/js/src/views/Web/package.json b/js/src/views/Web/package.json new file mode 100644 index 000000000..3d9625860 --- /dev/null +++ b/js/src/views/Web/package.json @@ -0,0 +1,19 @@ +{ + "name": "@parity/view-web", + "description": "Parity web application view", + "version": "0.0.0", + "main": "index.js", + "author": "Parity Team ", + "maintainers": [], + "contributors": [], + "license": "GPL-3.0", + "repository": { + "type": "git", + "url": "git+https://github.com/paritytech/parity.git" + }, + "keywords": [], + "scripts": {}, + "devDependencies": {}, + "dependencies": {}, + "peerDependencies": {} +} diff --git a/js/src/main.js b/js/src/views/Web/parity.js similarity index 60% rename from js/src/main.js rename to js/src/views/Web/parity.js index c28eddd02..7118ce087 100644 --- a/js/src/main.js +++ b/js/src/views/Web/parity.js @@ -14,22 +14,8 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . -import React, { Component, PropTypes } from 'react'; -import { Router } from 'react-router'; +const api = window.parent.secureApi; -import routes from './routes'; -import styles from './reset.css'; - -export default class MainApplication extends Component { - static propTypes = { - routerHistory: PropTypes.any.isRequired - }; - - render () { - const { routerHistory } = this.props; - - return ( - - ); - } -} +export { + api +}; diff --git a/js/webpack/app.js b/js/webpack/app.js index 88e2366df..67d11264e 100644 --- a/js/webpack/app.js +++ b/js/webpack/app.js @@ -51,10 +51,10 @@ const isAnalize = process.env.WPANALIZE === '1'; const entry = isEmbed ? { - embed: './embed.js' + embed: './shell/embed.js' } : Object.assign({}, Shared.dappsEntry, { - index: './index.js' + index: './shell/index.js' }); module.exports = { @@ -183,7 +183,7 @@ module.exports = { new HtmlWebpackPlugin({ title: 'Parity', filename: 'index.html', - template: './index.ejs', + template: './shell/index.ejs', favicon: FAVICON, chunks: [ isProd ? null : 'commons', @@ -219,7 +219,7 @@ module.exports = { new HtmlWebpackPlugin({ title: 'Parity Bar', filename: 'embed.html', - template: './index.ejs', + template: './shell/index.ejs', favicon: FAVICON, chunks: [ isProd ? null : 'commons',