dashboard skeleton

dashboard_1
yann300 2 years ago
parent 9cfe5bb3ec
commit 7ff7b666e2
  1. 11
      apps/dashboard/.babelrc
  2. 69
      apps/dashboard/project.json
  3. 42
      apps/dashboard/src/app/InjectedProviderConnect.ts
  4. 1
      apps/dashboard/src/app/app.module.css
  5. 18
      apps/dashboard/src/app/app.tsx
  6. 0
      apps/dashboard/src/assets/.gitkeep
  7. 3
      apps/dashboard/src/environments/environment.prod.ts
  8. 6
      apps/dashboard/src/environments/environment.ts
  9. BIN
      apps/dashboard/src/favicon.ico
  10. 14
      apps/dashboard/src/index.html
  11. 13
      apps/dashboard/src/main.tsx
  12. 1
      apps/dashboard/src/styles.css
  13. 23
      apps/dashboard/tsconfig.app.json
  14. 17
      apps/dashboard/tsconfig.json
  15. 9
      apps/dashboard/webpack.config.js
  16. 5
      nx.json
  17. 11
      package.json
  18. 78
      yarn.lock

@ -0,0 +1,11 @@
{
"presets": [
[
"@nrwl/react/babel",
{
"runtime": "automatic"
}
]
],
"plugins": []
}

@ -0,0 +1,69 @@
{
"name": "dashboard",
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"sourceRoot": "apps/dashboard/src",
"projectType": "application",
"targets": {
"build": {
"executor": "@nrwl/webpack:webpack",
"outputs": ["{options.outputPath}"],
"defaultConfiguration": "production",
"options": {
"compiler": "babel",
"outputPath": "dist/apps/dashboard",
"index": "apps/dashboard/src/index.html",
"baseHref": "/",
"main": "apps/dashboard/src/main.tsx",
"tsConfig": "apps/dashboard/tsconfig.app.json",
"assets": [
"apps/dashboard/src/favicon.ico",
"apps/dashboard/src/assets"
],
"styles": ["apps/dashboard/src/styles.css"],
"scripts": [],
"isolatedConfig": true,
"webpackConfig": "apps/dashboard/webpack.config.js"
},
"configurations": {
"development": {
"extractLicenses": false,
"optimization": false,
"sourceMap": true,
"vendorChunk": true
},
"production": {
"fileReplacements": [
{
"replace": "apps/dashboard/src/environments/environment.ts",
"with": "apps/dashboard/src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"namedChunks": false,
"extractLicenses": true,
"vendorChunk": false
}
}
},
"serve": {
"executor": "@nrwl/webpack:dev-server",
"defaultConfiguration": "development",
"options": {
"buildTarget": "dashboard:build",
"hmr": true
},
"configurations": {
"development": {
"buildTarget": "dashboard:build:development"
},
"production": {
"buildTarget": "dashboard:build:production",
"hmr": false
}
}
}
},
"tags": []
}

@ -0,0 +1,42 @@
import { WebsocketPlugin } from '@remixproject/engine-web'
const profile = {
name: 'InjectedProviderConnect',
displayName: 'InjectedProviderConnect',
url: 'ws://127.0.0.1:65530',
methods: ['compile', 'sync'],
description: '',
kind: 'other',
version: '0.0.1'
}
export class InjectedProviderConnect extends WebsocketPlugin {
provider: any
init () {
this.provider = (window as any).ethereum
if (!this.provider) {
console.log('there is no provider')
return // no provider to connect to
}
this.provider.request({ method: "eth_requestAccounts" }) // request login and activate
const url = 'http://127.0.0.1:8081'
const webSocket = new WebSocket(url)
webSocket.onmessage = (event) => {
const msg = JSON.parse(event.data)
this.sendToProvider(msg)
}
}
async sendToProvider(msg: any): Promise<any> {
let resultData
if (this.provider.send) resultData = await this.provider.send(msg.method, msg.params)
else if (this.provider.request) resultData = await this.provider.request({ method: msg.method, params: msg.params})
else {
console.log('provider is not valid')
}
return resultData
}
}

@ -0,0 +1 @@
/* Your styles goes here. */

@ -0,0 +1,18 @@
// eslint-disable-next-line @typescript-eslint/no-unused-vars
import { InjectedProviderConnect } from './InjectedProviderConnect'
export function App() {
const providerConnect = new InjectedProviderConnect()
return (
<>
<h1>
Welcome the Remix dashboard 👋
</h1>
<div />
</>
);
}
export default App

@ -0,0 +1,3 @@
export const environment = {
production: true
};

@ -0,0 +1,6 @@
// This file can be replaced during build by using the `fileReplacements` array.
// When building for production, this file is replaced with `environment.prod.ts`.
export const environment = {
production: false
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@ -0,0 +1,14 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Dashboard</title>
<base href="/" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="icon" type="image/x-icon" href="favicon.ico" />
</head>
<body>
<div id="root"></div>
</body>
</html>

@ -0,0 +1,13 @@
import { StrictMode } from "react";
import * as ReactDOM from "react-dom/client";
import App from "./app/app";
const root = ReactDOM.createRoot(
document.getElementById("root") as HTMLElement
);
root.render(
<StrictMode>
<App />
</StrictMode>
);

@ -0,0 +1 @@
/* You can add global styles to this file, and also import other style files */

@ -0,0 +1,23 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"types": ["node"]
},
"files": [
"../../node_modules/@nrwl/react/typings/cssmodule.d.ts",
"../../node_modules/@nrwl/react/typings/image.d.ts"
],
"exclude": [
"jest.config.ts",
"src/**/*.spec.ts",
"src/**/*.test.ts",
"src/**/*.spec.tsx",
"src/**/*.test.tsx",
"src/**/*.spec.js",
"src/**/*.test.js",
"src/**/*.spec.jsx",
"src/**/*.test.jsx"
],
"include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.ts", "src/**/*.tsx"]
}

@ -0,0 +1,17 @@
{
"compilerOptions": {
"jsx": "react-jsx",
"allowJs": false,
"esModuleInterop": false,
"allowSyntheticDefaultImports": true,
"strict": true
},
"files": [],
"include": [],
"references": [
{
"path": "./tsconfig.app.json"
}
],
"extends": "../../tsconfig.base.json"
}

@ -0,0 +1,9 @@
const { composePlugins, withNx } = require("@nrwl/webpack");
const { withReact } = require("@nrwl/react");
// Nx plugins for webpack.
module.exports = composePlugins(withNx(), withReact(), config => {
// Update the webpack config as needed here.
// e.g. `config.plugins.push(new MyPlugin())`
return config;
});

@ -14,9 +14,7 @@
"default": {
"runner": "nx/tasks-runners/default",
"options": {
"cacheableOperations": [
"build"
]
"cacheableOperations": ["build"]
}
}
},
@ -48,6 +46,7 @@
"application": {
"style": "css",
"linter": "eslint",
"bundler": "webpack",
"babel": true
},
"component": {

@ -183,10 +183,10 @@
"prettier": "^2.8.4",
"prettier-plugin-solidity": "^1.0.0-beta.24",
"raw-loader": "^4.0.2",
"react": "^17.0.2",
"react": "18.2.0",
"react-beautiful-dnd": "^13.1.0",
"react-bootstrap": "^1.6.4",
"react-dom": "^17.0.2",
"react-dom": "18.2.0",
"react-draggable": "^4.4.4",
"react-image-magnifiers": "^1.4.0",
"react-intl": "^6.0.4",
@ -251,9 +251,9 @@
"@types/lodash": "^4.14.172",
"@types/mocha": "^9.1.1",
"@types/node": "18.16.1",
"@types/react": "^17.0.24",
"@types/react": "18.0.25",
"@types/react-beautiful-dnd": "^13.1.2",
"@types/react-dom": "^17.0.9",
"@types/react-dom": "18.0.9",
"@types/react-image-magnifiers": "^1.3.2",
"@types/react-router-dom": "^5.3.0",
"@types/request": "^2.48.7",
@ -339,7 +339,7 @@
"os-browserify": "^0.3.0",
"process": "^0.11.10",
"react-refresh": "^0.14.0",
"react-test-renderer": "^17.0.2",
"react-test-renderer": "18.2.0",
"request": "^2.83.0",
"rimraf": "^2.6.1",
"selenium-standalone": "^8.2.3",
@ -357,6 +357,7 @@
"typescript": "^4.8.4",
"uglify-js": "^2.8.16",
"url": "^0.11.0",
"url-loader": "^4.1.1",
"vm-browserify": "^1.1.2",
"watchify": "^3.9.0",
"webpack": "^5.75.0",

@ -5885,12 +5885,12 @@
dependencies:
"@types/react" "*"
"@types/react-dom@^17.0.9":
version "17.0.18"
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.18.tgz#8f7af38f5d9b42f79162eea7492e5a1caff70dc2"
integrity sha512-rLVtIfbwyur2iFKykP2w0pl/1unw26b5td16d5xMgp7/yjTHomkyxPYChFoCr/FtEX1lN9wY6lFj1qvKdS5kDw==
"@types/react-dom@18.0.9":
version "18.0.9"
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.9.tgz#ffee5e4bfc2a2f8774b15496474f8e7fe8d0b504"
integrity sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==
dependencies:
"@types/react" "^17"
"@types/react" "*"
"@types/react-dom@^18.0.0":
version "18.0.7"
@ -5940,7 +5940,7 @@
dependencies:
"@types/react" "*"
"@types/react@*", "@types/react@16 || 17 || 18", "@types/react@>=16.14.8", "@types/react@>=16.9.11", "@types/react@^17", "@types/react@^17.0.24":
"@types/react@*", "@types/react@16 || 17 || 18", "@types/react@>=16.14.8", "@types/react@>=16.9.11", "@types/react@^17.0.24":
version "17.0.52"
resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.52.tgz#10d8b907b5c563ac014a541f289ae8eaa9bf2e9b"
integrity sha512-vwk8QqVODi0VaZZpDXQCmEmiOuyjEFPY7Ttaw5vjM112LOq37yz1CDJGrRJwA1fYEq4Iitd5rnjd1yWAc/bT+A==
@ -5949,6 +5949,15 @@
"@types/scheduler" "*"
csstype "^3.0.2"
"@types/react@18.0.25":
version "18.0.25"
resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.25.tgz#8b1dcd7e56fe7315535a4af25435e0bb55c8ae44"
integrity sha512-xD6c0KDT4m7n9uD4ZHi02lzskaiqcBxf4zi+tXZY98a04wvc0hi/TcCPC2FOESZi51Nd7tlUeOJY8RofL799/g==
dependencies:
"@types/prop-types" "*"
"@types/scheduler" "*"
csstype "^3.0.2"
"@types/readable-stream@^2.3.11":
version "2.3.13"
resolved "https://registry.yarnpkg.com/@types/readable-stream/-/readable-stream-2.3.13.tgz#46451c1b87cb61010e420ac02a76cfc1b2c2089a"
@ -22805,14 +22814,13 @@ react-bootstrap@^1.6.4:
uncontrollable "^7.2.1"
warning "^4.0.3"
react-dom@^17.0.2:
version "17.0.2"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23"
integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==
react-dom@18.2.0:
version "18.2.0"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
dependencies:
loose-envify "^1.1.0"
object-assign "^4.1.1"
scheduler "^0.20.2"
scheduler "^0.23.0"
react-draggable@^4.4.4:
version "4.4.5"
@ -22858,7 +22866,7 @@ react-intl@^6.0.4:
intl-messageformat "10.1.0"
tslib "2.4.0"
"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0:
"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0, react-is@^18.2.0:
version "18.2.0"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
@ -22965,7 +22973,7 @@ react-router@6.3.0:
dependencies:
history "^5.2.0"
react-shallow-renderer@^16.13.1:
react-shallow-renderer@^16.15.0:
version "16.15.0"
resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz#48fb2cf9b23d23cde96708fe5273a7d3446f4457"
integrity sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==
@ -22981,15 +22989,14 @@ react-tabs@^3.2.2:
clsx "^1.1.0"
prop-types "^15.5.0"
react-test-renderer@^17.0.2:
version "17.0.2"
resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-17.0.2.tgz#4cd4ae5ef1ad5670fc0ef776e8cc7e1231d9866c"
integrity sha512-yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ==
react-test-renderer@18.2.0:
version "18.2.0"
resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-18.2.0.tgz#1dd912bd908ff26da5b9fca4fd1c489b9523d37e"
integrity sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==
dependencies:
object-assign "^4.1.1"
react-is "^17.0.2"
react-shallow-renderer "^16.13.1"
scheduler "^0.20.2"
react-is "^18.2.0"
react-shallow-renderer "^16.15.0"
scheduler "^0.23.0"
react-textarea-autosize@^8.3.2:
version "8.3.4"
@ -23015,13 +23022,12 @@ react-zoom-pan-pinch@^3.0.2:
resolved "https://registry.yarnpkg.com/react-zoom-pan-pinch/-/react-zoom-pan-pinch-3.0.2.tgz#706c67e875e9a30480cdbef8dd4e3d6fdac9921c"
integrity sha512-c8BxPl/zK6RiOYrV/xBQ+ebgZpsMvbz6WOoqv2P/1QWxGCk1+q3xWF+5ub4QYasv4W8+J6vSelOR8H0WCEbL4w==
react@^17.0.2:
version "17.0.2"
resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037"
integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==
react@18.2.0:
version "18.2.0"
resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
dependencies:
loose-envify "^1.1.0"
object-assign "^4.1.1"
read-cache@^1.0.0:
version "1.0.0"
@ -24133,13 +24139,12 @@ sax@>=0.6.0, sax@~1.2.4:
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
scheduler@^0.20.2:
version "0.20.2"
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91"
integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==
scheduler@^0.23.0:
version "0.23.0"
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
dependencies:
loose-envify "^1.1.0"
object-assign "^4.1.1"
schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1:
version "3.1.1"
@ -26787,6 +26792,15 @@ url-join@^4.0.1:
resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7"
integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==
url-loader@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2"
integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==
dependencies:
loader-utils "^2.0.0"
mime-types "^2.1.27"
schema-utils "^3.0.0"
url-parse-lax@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73"

Loading…
Cancel
Save