diff --git a/.vscode/settings.json b/.vscode/settings.json index 0adb7af..0489027 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,11 +1,17 @@ { - "files.exclude": { - "**/.git": true, - "**/.svn": true, - "**/.hg": true, - "**/CVS": true, - "**/.DS_Store": true, - "**/node_modules": true - }, - "explorerExclude.backup": null -} \ No newline at end of file + "files.exclude": { + "**/.git": true, + "**/.svn": true, + "**/.hg": true, + "**/CVS": true, + "**/.DS_Store": true, + "**/node_modules": true + }, + "search.exclude": { + "**/.git": true, + "**/node_modules": true, + "**/bower_components": true, + "**/tmp": true + }, + "explorerExclude.backup": null +} diff --git a/package.json b/package.json index 6fc46db..eea545f 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "@testing-library/jest-dom": "^4.2.4", "@testing-library/react": "^9.3.2", "@testing-library/user-event": "^7.1.2", - "axios": "^0.19.2", + "axios": "^0.20.0", "body-parser": "^1.19.0", "class-validator": "^0.12.2", "compression": "^1.7.4", @@ -19,6 +19,8 @@ "helmet": "^4.1.0", "http-errors": "^1.8.0", "lodash": "^4.17.20", + "mobx": "^5.15.6", + "mobx-react": "^6.2.5", "morgan": "^1.10.0", "mssql": "^6.2.1", "node-sspi": "^0.2.8", @@ -30,6 +32,7 @@ "react-router": "^5.2.0", "react-router-dom": "^5.2.0", "react-scripts": "3.4.3", + "recompose": "^0.30.0", "reflect-metadata": "^0.1.13", "rxjs": "^6.6.2", "styled-components": "^5.1.1", @@ -45,6 +48,7 @@ "@types/cookie-parser": "^1.4.2", "@types/cors": "^2.8.7", "@types/express": "^4.17.7", + "@types/lodash": "^4.14.159", "@types/morgan": "^1.9.1", "@types/node": "^14.6.0", "@types/react-router-dom": "^5.1.5", @@ -57,6 +61,7 @@ "test": "react-scripts test", "eject": "react-scripts eject", "dev": "cross-env NODE_ENV=development concurrently -p name -c \"yellow,magenta,blue\" -n \"webpack-server,nodemon-server,CRA\" \"yarn dev:server:webpack\" \"yarn dev:server:nodemon\" \"yarn dev:client\"", + "dev:client:only": "react-scripts start", "dev:client": "wait-on -l tcp:3001 && react-scripts start", "dev:server": "concurrently -p name -c \"yellow,magenta\" -n \"webpack-server,nodemon-server\" \"yarn dev:server:webpack\" \"yarn dev:server:nodemon\"", "dev:server:webpack": "webpack --config webpack.config.server.js --watch", diff --git a/src/client/App.css b/src/client/App.css index 74b5e05..e69de29 100644 --- a/src/client/App.css +++ b/src/client/App.css @@ -1,38 +0,0 @@ -.App { - text-align: center; -} - -.App-logo { - height: 40vmin; - pointer-events: none; -} - -@media (prefers-reduced-motion: no-preference) { - .App-logo { - animation: App-logo-spin infinite 20s linear; - } -} - -.App-header { - background-color: #282c34; - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); - color: white; -} - -.App-link { - color: #61dafb; -} - -@keyframes App-logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} diff --git a/src/client/App.tsx b/src/client/App.tsx index 8df110b..f1374f2 100644 --- a/src/client/App.tsx +++ b/src/client/App.tsx @@ -1,15 +1,20 @@ +import { StoreProvider } from "client/contexts/storeContext"; +import theme from "client/UIKit/theme"; import React from "react"; -import { ThemeProvider } from "styled-components"; import { BrowserRouter } from "react-router-dom"; -import theme from "UIKit/theme"; +import { ThemeProvider } from "styled-components"; +import "./App.css"; +import Layout from "./Layout"; function App() { return (
( + Component: ComponentType
+) => (props: P) => JSX.Element;
+
+export const withStore: TWithStoreHOC = (WrappedComponent) => (props) => {
+ const ComponentWithStore = () => {
+ const store = useStores();
+
+ return