diff --git a/package.json b/package.json
index d2f1215..e54e32f 100644
--- a/package.json
+++ b/package.json
@@ -1,51 +1,57 @@
-{
- "name": "demo-app",
- "version": "0.1.0",
- "private": true,
- "dependencies": {
- "@testing-library/jest-dom": "^4.2.4",
- "@testing-library/react": "^9.4.0",
- "@testing-library/user-event": "^7.1.2",
- "@types/istanbul-lib-coverage": "^2.0.1",
- "@types/jest": "^24.9.1",
- "@types/mocha": "^7.0.1",
- "@types/node": "^12.12.26",
- "@types/prop-types": "^15.7.3",
- "@types/react": "^16.9.19",
- "@types/react-dom": "^16.9.5",
- "react": "^16.12.0",
- "react-dom": "^16.12.0",
- "react-scripts": "3.3.1",
- "typescript": "~3.7.2"
- },
- "scripts": {
- "start": "react-scripts start",
- "build": "react-scripts build",
- "test": "react-scripts test",
- "eject": "react-scripts eject"
- },
- "eslintConfig": {
- "extends": "react-app"
- },
- "browserslist": {
- "production": [
- ">0.2%",
- "not dead",
- "not op_mini all"
- ],
- "development": [
- "last 1 chrome version",
- "last 1 firefox version",
- "last 1 safari version"
- ]
- },
- "devDependencies": {
- "@typescript-eslint/eslint-plugin": "^2.19.2",
- "@typescript-eslint/parser": "^2.19.2",
- "eslint": "^6.8.0",
- "eslint-config-prettier": "^6.10.0",
- "eslint-plugin-prettier": "^3.1.2",
- "eslint-plugin-react": "^7.18.3",
- "prettier": "^1.19.1"
- }
-}
+{
+ "name": "demo-app",
+ "version": "0.1.0",
+ "private": true,
+ "dependencies": {
+ "@testing-library/jest-dom": "^4.2.4",
+ "@testing-library/react": "^9.4.0",
+ "@testing-library/user-event": "^7.1.2",
+ "@types/istanbul-lib-coverage": "^2.0.1",
+ "@types/jest": "^24.9.1",
+ "@types/mocha": "^7.0.1",
+ "@types/node": "^12.12.26",
+ "@types/prop-types": "^15.7.3",
+ "@types/react": "^16.9.19",
+ "@types/react-dom": "^16.9.5",
+ "@types/react-router-dom": "^5.1.3",
+ "bootstrap": "^4.4.1",
+ "jquery": "^3.4.1",
+ "popper.js": "^1.16.1",
+ "react": "^16.12.0",
+ "react-bootstrap": "^1.0.0-beta.16",
+ "react-dom": "^16.12.0",
+ "react-router-dom": "^5.1.2",
+ "react-scripts": "3.3.1",
+ "typescript": "~3.7.2"
+ },
+ "scripts": {
+ "start": "react-scripts start",
+ "build": "react-scripts build",
+ "test": "react-scripts test",
+ "eject": "react-scripts eject"
+ },
+ "eslintConfig": {
+ "extends": "react-app"
+ },
+ "browserslist": {
+ "production": [
+ ">0.2%",
+ "not dead",
+ "not op_mini all"
+ ],
+ "development": [
+ "last 1 chrome version",
+ "last 1 firefox version",
+ "last 1 safari version"
+ ]
+ },
+ "devDependencies": {
+ "@typescript-eslint/eslint-plugin": "^2.19.2",
+ "@typescript-eslint/parser": "^2.19.2",
+ "eslint": "^6.8.0",
+ "eslint-config-prettier": "^6.10.0",
+ "eslint-plugin-prettier": "^3.1.2",
+ "eslint-plugin-react": "^7.18.3",
+ "prettier": "^1.19.1"
+ }
+}
\ No newline at end of file
diff --git a/public/index.html b/public/index.html
index aa069f2..22ef106 100644
--- a/public/index.html
+++ b/public/index.html
@@ -1,43 +1,20 @@
-
-
-
-
-
-
-
-
-
-
-
-
- React App
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ Demo App - Jeroen Vijgen
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Components/AppComponent/App.css b/src/Components/AppComponent/App.css
deleted file mode 100644
index 74b5e05..0000000
--- a/src/Components/AppComponent/App.css
+++ /dev/null
@@ -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/Components/AppComponent/App.tsx b/src/Components/AppComponent/App.tsx
index cb19859..b143361 100644
--- a/src/Components/AppComponent/App.tsx
+++ b/src/Components/AppComponent/App.tsx
@@ -1,12 +1,25 @@
+/* eslint-disable @typescript-eslint/no-unused-expressions */
+
import React from 'react';
-import './App.css';
+import { Switch, Route, Redirect } from 'react-router-dom';
+import Login from '../LoginComponent/Login';
+import Dashboard from '../DashboardComponent/Dashboard';
-const App = () => {
- return (
-
-
-
- );
+export default class App extends React.Component {
+ componentDidMount() {
+ if((localStorage.getItem("APILink") !== undefined || localStorage.getItem("APILink") !== '') &&
+ (localStorage.getItem("AccessToken") !== undefined || localStorage.getItem("AccessToken") !== '')) {
+ return
+ };
+ }
+
+ render() {
+ return (
+
+
+
+
+
+ );
+ }
}
-
-export default App;
diff --git a/src/Components/DashboardComponent/Dashboard.tsx b/src/Components/DashboardComponent/Dashboard.tsx
new file mode 100644
index 0000000..023ac63
--- /dev/null
+++ b/src/Components/DashboardComponent/Dashboard.tsx
@@ -0,0 +1,7 @@
+import React from 'react';
+
+export default class Dashboard extends React.Component {
+ render () {
+ return ( This is the dashboard, fuck yeah
)
+ }
+}
diff --git a/src/Components/LoginComponent/Login.tsx b/src/Components/LoginComponent/Login.tsx
new file mode 100644
index 0000000..e04a10e
--- /dev/null
+++ b/src/Components/LoginComponent/Login.tsx
@@ -0,0 +1,44 @@
+import React from 'react';
+import { Card, Button, InputGroup, FormControl } from 'react-bootstrap';
+
+export default class Login extends React.Component {
+ // eslint-disable-next-line
+ constructor(props: any) {
+ super(props);
+ }
+
+ render () {
+ return (
+
+
+
+ Please login to see the dashboard.
+
+ Please fill in the following items:
+
+
+ API url
+
+
+
+
+
+ API token
+
+
+
+
+
+
+ Your last login was X-X-X @ XX:XX
+
+
+ );
+ }
+}
diff --git a/src/index.css b/src/index.css
index ec2585e..a54f038 100644
--- a/src/index.css
+++ b/src/index.css
@@ -1,13 +1,19 @@
+html,
body {
- margin: 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
+ background-color: #282c34;
+ height: 100%;
+ margin: 0;
}
-code {
- font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
- monospace;
+#App {
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
}
diff --git a/src/index.tsx b/src/index.tsx
index 3d6e45f..e6900ee 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -1,12 +1,7 @@
import React from 'react';
import ReactDOM from 'react-dom';
-import './index.css';
+import './index.css';
+import { BrowserRouter as Router } from 'react-router-dom';
import App from './Components/AppComponent/App';
-import * as serviceWorker from './serviceWorker';
-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.
-// Learn more about service workers: https://bit.ly/CRA-PWA
-serviceWorker.unregister();
+ReactDOM.render(, document.getElementById('App'));
diff --git a/src/serviceWorker.ts b/src/serviceWorker.ts
deleted file mode 100644
index d5f0275..0000000
--- a/src/serviceWorker.ts
+++ /dev/null
@@ -1,145 +0,0 @@
-// This optional code is used to register a service worker.
-// register() is not called by default.
-
-// This lets the app load faster on subsequent visits in production, and gives
-// it offline capabilities. However, it also means that developers (and users)
-// will only see deployed updates on subsequent visits to a page, after all the
-// existing tabs open on the page have been closed, since previously cached
-// resources are updated in the background.
-
-// To learn more about the benefits of this model and instructions on how to
-// opt-in, read https://bit.ly/CRA-PWA
-
-const isLocalhost = Boolean(
- window.location.hostname === 'localhost' ||
- // [::1] is the IPv6 localhost address.
- window.location.hostname === '[::1]' ||
- // 127.0.0.0/8 are considered localhost for IPv4.
- window.location.hostname.match(
- /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
- )
-);
-
-type Config = {
- onSuccess?: (registration: ServiceWorkerRegistration) => void;
- onUpdate?: (registration: ServiceWorkerRegistration) => void;
-};
-
-export function register(config?: Config) {
- if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
- // The URL constructor is available in all browsers that support SW.
- const publicUrl = new URL(
- process.env.PUBLIC_URL,
- window.location.href
- );
- if (publicUrl.origin !== window.location.origin) {
- // Our service worker won't work if PUBLIC_URL is on a different origin
- // from what our page is served on. This might happen if a CDN is used to
- // serve assets; see https://github.com/facebook/create-react-app/issues/2374
- return;
- }
-
- window.addEventListener('load', () => {
- const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;
-
- if (isLocalhost) {
- // This is running on localhost. Let's check if a service worker still exists or not.
- checkValidServiceWorker(swUrl, config);
-
- // Add some additional logging to localhost, pointing developers to the
- // service worker/PWA documentation.
- navigator.serviceWorker.ready.then(() => {
- console.log(
- 'This web app is being served cache-first by a service ' +
- 'worker. To learn more, visit https://bit.ly/CRA-PWA'
- );
- });
- } else {
- // Is not localhost. Just register service worker
- registerValidSW(swUrl, config);
- }
- });
- }
-}
-
-function registerValidSW(swUrl: string, config?: Config) {
- navigator.serviceWorker
- .register(swUrl)
- .then(registration => {
- registration.onupdatefound = () => {
- const installingWorker = registration.installing;
- if (installingWorker == null) {
- return;
- }
- installingWorker.onstatechange = () => {
- if (installingWorker.state === 'installed') {
- if (navigator.serviceWorker.controller) {
- // At this point, the updated precached content has been fetched,
- // but the previous service worker will still serve the older
- // content until all client tabs are closed.
- console.log(
- 'New content is available and will be used when all ' +
- 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'
- );
-
- // Execute callback
- if (config && config.onUpdate) {
- config.onUpdate(registration);
- }
- } else {
- // At this point, everything has been precached.
- // It's the perfect time to display a
- // "Content is cached for offline use." message.
- console.log('Content is cached for offline use.');
-
- // Execute callback
- if (config && config.onSuccess) {
- config.onSuccess(registration);
- }
- }
- }
- };
- };
- })
- .catch(error => {
- console.error('Error during service worker registration:', error);
- });
-}
-
-function checkValidServiceWorker(swUrl: string, config?: Config) {
- // Check if the service worker can be found. If it can't reload the page.
- fetch(swUrl, {
- headers: { 'Service-Worker': 'script' }
- })
- .then(response => {
- // Ensure service worker exists, and that we really are getting a JS file.
- const contentType = response.headers.get('content-type');
- if (
- response.status === 404 ||
- (contentType != null && contentType.indexOf('javascript') === -1)
- ) {
- // No service worker found. Probably a different app. Reload the page.
- navigator.serviceWorker.ready.then(registration => {
- registration.unregister().then(() => {
- window.location.reload();
- });
- });
- } else {
- // Service worker found. Proceed as normal.
- registerValidSW(swUrl, config);
- }
- })
- .catch(() => {
- console.log(
- 'No internet connection found. App is running in offline mode.'
- );
- });
-}
-
-export function unregister() {
- if ('serviceWorker' in navigator) {
- navigator.serviceWorker.ready.then(registration => {
- registration.unregister();
- });
- }
-}
diff --git a/yarn.lock b/yarn.lock
index ce43292..ea4589a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1185,7 +1185,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/runtime@npm:7.8.4, @babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.3.4, @babel/runtime@npm:^7.4.5, @babel/runtime@npm:^7.5.1, @babel/runtime@npm:^7.6.2, @babel/runtime@npm:^7.6.3, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.7.4, @babel/runtime@npm:^7.7.6":
+"@babel/runtime@npm:7.8.4, @babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.3.4, @babel/runtime@npm:^7.4.0, @babel/runtime@npm:^7.4.2, @babel/runtime@npm:^7.4.5, @babel/runtime@npm:^7.5.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.2, @babel/runtime@npm:^7.6.3, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.7.4, @babel/runtime@npm:^7.7.6":
version: 7.8.4
resolution: "@babel/runtime@npm:7.8.4"
dependencies:
@@ -1486,6 +1486,24 @@ __metadata:
languageName: node
linkType: hard
+"@restart/context@npm:^2.1.4":
+ version: 2.1.4
+ resolution: "@restart/context@npm:2.1.4"
+ peerDependencies:
+ react: ">=16.3.2"
+ checksum: 93ba4350d87802669c4d4a7248db289991fb15cdde39da551274b9c4b767182e0e69df7d3824d56b4350803d11b96316e0f15654e076dd7f11195e8b87c38906
+ languageName: node
+ linkType: hard
+
+"@restart/hooks@npm:^0.3.11, @restart/hooks@npm:^0.3.12":
+ version: 0.3.20
+ resolution: "@restart/hooks@npm:0.3.20"
+ peerDependencies:
+ react: ^16.8.0
+ checksum: 8e19222ca802f49c991fc34ed76c447d7355055bf1a7741f85a7bc55df54f955cfbb4bfc6928bd71ee3d51270be880537fd8c225ec3ba0750650e7a057812abe
+ languageName: node
+ linkType: hard
+
"@sheerun/mutationobserver-shim@npm:^0.3.2":
version: 0.3.2
resolution: "@sheerun/mutationobserver-shim@npm:0.3.2"
@@ -1751,6 +1769,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/history@npm:*":
+ version: 4.7.5
+ resolution: "@types/history@npm:4.7.5"
+ checksum: 16a19c2b1aee6d0ff055940e4ca29db26aa8b0c8ff69161e70dec2151abb4fe3d5be846577c696a5d870a281e362669707ff43323d435a3d84811e6a238348f1
+ languageName: node
+ linkType: hard
+
"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1":
version: 2.0.1
resolution: "@types/istanbul-lib-coverage@npm:2.0.1"
@@ -1851,7 +1876,28 @@ __metadata:
languageName: node
linkType: hard
-"@types/react@npm:*, @types/react@npm:^16.9.19":
+"@types/react-router-dom@npm:^5.1.3":
+ version: 5.1.3
+ resolution: "@types/react-router-dom@npm:5.1.3"
+ dependencies:
+ "@types/history": "*"
+ "@types/react": "*"
+ "@types/react-router": "*"
+ checksum: d7294469c9106cec64787a3a35fb1d0a0a72b8778a0916aa7ce2235c3819e756c16eccf83d8ef37e0f3b59824796bbb62fdd8fd900928e9ba4e8e0f44c3ffbd8
+ languageName: node
+ linkType: hard
+
+"@types/react-router@npm:*":
+ version: 5.1.4
+ resolution: "@types/react-router@npm:5.1.4"
+ dependencies:
+ "@types/history": "*"
+ "@types/react": "*"
+ checksum: 8444e6bf981a74cbf0e1963c39dcb83f2a4ea0aee9bc5a6ed6f468f41d672afb21b5112e999bc2d3678339307d7865fb408b5965db86f9766de81710801a1dee
+ languageName: node
+ linkType: hard
+
+"@types/react@npm:*, @types/react@npm:^16.8.23, @types/react@npm:^16.9.11, @types/react@npm:^16.9.19":
version: 16.9.19
resolution: "@types/react@npm:16.9.19"
dependencies:
@@ -3105,6 +3151,16 @@ __metadata:
languageName: node
linkType: hard
+"bootstrap@npm:^4.4.1":
+ version: 4.4.1
+ resolution: "bootstrap@npm:4.4.1"
+ peerDependencies:
+ jquery: 1.9.1 - 3
+ popper.js: ^1.16.0
+ checksum: 74215228c5b9c1e4c78dba3dabd4a7dea3e92e2559d98491c3c7ca866d8e38f123279a8ca35fdeff6f6d1f2cb7e34a73e8a1a6101e171a446061e6d3515bfa97
+ languageName: node
+ linkType: hard
+
"brace-expansion@npm:^1.1.7":
version: 1.1.11
resolution: "brace-expansion@npm:1.1.11"
@@ -3610,6 +3666,13 @@ __metadata:
languageName: node
linkType: hard
+"classnames@npm:^2.2.6":
+ version: 2.2.6
+ resolution: "classnames@npm:2.2.6"
+ checksum: f04e8b5b3ee2c7c4deec538752f364c6e61bf4459e011dd12553bcab87d25b4d5778a6e48a2f704b2ae65b1e89b727046c102aa4a3a91e522723f96771286095
+ languageName: node
+ linkType: hard
+
"clean-css@npm:^4.2.1":
version: 4.2.3
resolution: "clean-css@npm:4.2.3"
@@ -4407,7 +4470,7 @@ __metadata:
languageName: node
linkType: hard
-"csstype@npm:^2.2.0":
+"csstype@npm:^2.2.0, csstype@npm:^2.6.7":
version: 2.6.8
resolution: "csstype@npm:2.6.8"
checksum: eb432a104d39690548da78a9064138fee2e33773d1b4b069f79e7e8bd8a38c8267a0b1c4e75c808880e9ba4093997222fd46d33d0cb4820dffa123c06809b87a
@@ -4617,16 +4680,23 @@ __metadata:
"@types/prop-types": ^15.7.3
"@types/react": ^16.9.19
"@types/react-dom": ^16.9.5
+ "@types/react-router-dom": ^5.1.3
"@typescript-eslint/eslint-plugin": ^2.19.2
"@typescript-eslint/parser": ^2.19.2
+ bootstrap: ^4.4.1
eslint: ^6.8.0
eslint-config-prettier: ^6.10.0
eslint-plugin-prettier: ^3.1.2
eslint-plugin-react: ^7.18.3
+ jquery: ^3.4.1
+ popper.js: ^1.16.1
prettier: ^1.19.1
react: ^16.12.0
+ react-bootstrap: ^1.0.0-beta.16
react-dom: ^16.12.0
+ react-router-dom: ^5.1.2
react-scripts: 3.3.1
+ store: ^2.0.12
typescript: ~3.7.2
languageName: unknown
linkType: soft
@@ -4782,6 +4852,16 @@ __metadata:
languageName: node
linkType: hard
+"dom-helpers@npm:^5.0.1, dom-helpers@npm:^5.1.0, dom-helpers@npm:^5.1.2":
+ version: 5.1.3
+ resolution: "dom-helpers@npm:5.1.3"
+ dependencies:
+ "@babel/runtime": ^7.6.3
+ csstype: ^2.6.7
+ checksum: 60610e9e5ab15cffd207a208057683d8600004a93b999baec7672b8d96e78388d6f3ffeda1047e32aca7dac907a451b118b247ec069aac7882381062e5180257
+ languageName: node
+ linkType: hard
+
"dom-serializer@npm:0":
version: 0.2.2
resolution: "dom-serializer@npm:0.2.2"
@@ -6333,6 +6413,13 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"gud@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "gud@npm:1.0.0"
+ checksum: 4206e983e79c58b47d88b82555cae8ff926b690abc382885f6388e69839953da1a9d79fc41532a2f0e3eb636cf998c6eb017cf6c8d26c01f09c9594a029a2f85
+ languageName: node
+ linkType: hard
+
"gzip-size@npm:5.1.1":
version: 5.1.1
resolution: "gzip-size@npm:5.1.1"
@@ -6495,6 +6582,20 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"history@npm:^4.9.0":
+ version: 4.10.1
+ resolution: "history@npm:4.10.1"
+ dependencies:
+ "@babel/runtime": ^7.1.2
+ loose-envify: ^1.2.0
+ resolve-pathname: ^3.0.0
+ tiny-invariant: ^1.0.2
+ tiny-warning: ^1.0.0
+ value-equal: ^1.0.1
+ checksum: b3ede0b2a4e2b0b4f354a41a0e4158b09b1a8acd72a68e0da143a3989e2306fe271f41bfd7d0f7b9c1e8254b0f47c8da95e7433f7d9fda97c3f248fd3bb9839a
+ languageName: node
+ linkType: hard
+
"hmac-drbg@npm:^1.0.0":
version: 1.0.1
resolution: "hmac-drbg@npm:1.0.1"
@@ -6506,6 +6607,15 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"hoist-non-react-statics@npm:^3.1.0":
+ version: 3.3.2
+ resolution: "hoist-non-react-statics@npm:3.3.2"
+ dependencies:
+ react-is: ^16.7.0
+ checksum: 0149f2c7a4ffc9e5d0550ac3dd19592673c1c8f1d0881e8db5641502c5d16900ecbd4b70b50c4086d4cafb05d2b84ba01ac06ad575bdf3ef742c97893b7273d1
+ languageName: node
+ linkType: hard
+
"hosted-git-info@npm:^2.1.4":
version: 2.8.5
resolution: "hosted-git-info@npm:2.8.5"
@@ -7371,6 +7481,13 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"isarray@npm:0.0.1":
+ version: 0.0.1
+ resolution: "isarray@npm:0.0.1"
+ checksum: 86e6b850bfa7b1851b557982f80e35dd4dfe972828b0b1a90ec0e51199d6b4f435953756b03002721f5e43ea4ebc5d6bad05c5c1e158c3ff2cdf749f67e067ee
+ languageName: node
+ linkType: hard
+
"isarray@npm:1.0.0, isarray@npm:^1.0.0, isarray@npm:~1.0.0":
version: 1.0.0
resolution: "isarray@npm:1.0.0"
@@ -7925,6 +8042,13 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"jquery@npm:^3.4.1":
+ version: 3.4.1
+ resolution: "jquery@npm:3.4.1"
+ checksum: 912129f738780ca34c502a4d403b9c79019b49bc254ef4be9e0144b68e2cee5ad1eb2f374bb28ac2499f13eae49fdc1208755080d78cb763e14ca0818cdd3f8f
+ languageName: node
+ linkType: hard
+
"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0":
version: 4.0.0
resolution: "js-tokens@npm:4.0.0"
@@ -8158,6 +8282,13 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"keycode@npm:^2.2.0":
+ version: 2.2.0
+ resolution: "keycode@npm:2.2.0"
+ checksum: f1ea952f138df208b657aa1e5c09e8cf6231c6334c7984f68ead5a7cc42363ba370d4b9ae862f1c45378d19d9581aa3fe0a99bdce62294d1c39cfc6d81702f22
+ languageName: node
+ linkType: hard
+
"killable@npm:^1.0.1":
version: 1.0.1
resolution: "killable@npm:1.0.1"
@@ -8428,7 +8559,7 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
-"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0":
+"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.2.0, loose-envify@npm:^1.3.1, loose-envify@npm:^1.4.0":
version: 1.4.0
resolution: "loose-envify@npm:1.4.0"
dependencies:
@@ -8698,6 +8829,20 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"mini-create-react-context@npm:^0.3.0":
+ version: 0.3.2
+ resolution: "mini-create-react-context@npm:0.3.2"
+ dependencies:
+ "@babel/runtime": ^7.4.0
+ gud: ^1.0.0
+ tiny-warning: ^1.0.2
+ peerDependencies:
+ prop-types: ^15.0.0
+ react: ^0.14.0 || ^15.0.0 || ^16.0.0
+ checksum: 4c6b8b2c5f1ef0d49b721b7e193b66e5de475048a2b0699f3a1ba1af4fd6d8c566cfd2d40d96a8c1bc044ead4b48c74ce9fe02b96281ade39681c36740cf44f9
+ languageName: node
+ linkType: hard
+
"mini-css-extract-plugin@npm:0.9.0":
version: 0.9.0
resolution: "mini-css-extract-plugin@npm:0.9.0"
@@ -9839,6 +9984,15 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"path-to-regexp@npm:^1.7.0":
+ version: 1.8.0
+ resolution: "path-to-regexp@npm:1.8.0"
+ dependencies:
+ isarray: 0.0.1
+ checksum: eda596fc89018b69ba46e7dd6ffbd83b4845dade9946c2a8d47c119e24f1cd3a1a35b13c0f89a4144ac355d2aa9e0bf631069679278cef284338cc00a98eeaa0
+ languageName: node
+ linkType: hard
+
"path-type@npm:^2.0.0":
version: 2.0.0
resolution: "path-type@npm:2.0.0"
@@ -9998,6 +10152,13 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"popper.js@npm:^1.15.0, popper.js@npm:^1.16.0, popper.js@npm:^1.16.1":
+ version: 1.16.1
+ resolution: "popper.js@npm:1.16.1"
+ checksum: 2bee5c5dd2db53b27b540093b292745880b31453d91722e216814f1aa42bb07ec83ae2d0a0b43521b8f47be46a41499b79e6685bdeee43327d445c92b03892ae
+ languageName: node
+ linkType: hard
+
"portfinder@npm:^1.0.25":
version: 1.0.25
resolution: "portfinder@npm:1.0.25"
@@ -10945,6 +11106,18 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"prop-types-extra@npm:^1.1.0":
+ version: 1.1.1
+ resolution: "prop-types-extra@npm:1.1.1"
+ dependencies:
+ react-is: ^16.3.2
+ warning: ^4.0.0
+ peerDependencies:
+ react: ">=0.14.0"
+ checksum: 604b80ff48d006dc2bfdede235cd06eb98a6c0a1396311181ea31ce9fbb5fb901ce9c06097c52cd9fd7d3f127e89e66a1c4009c91195c223d6ef412d47c2590e
+ languageName: node
+ linkType: hard
+
"prop-types@npm:^15.6.2, prop-types@npm:^15.7.2":
version: 15.7.2
resolution: "prop-types@npm:15.7.2"
@@ -11173,6 +11346,32 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"react-bootstrap@npm:^1.0.0-beta.16":
+ version: 1.0.0-beta.16
+ resolution: "react-bootstrap@npm:1.0.0-beta.16"
+ dependencies:
+ "@babel/runtime": ^7.4.2
+ "@restart/context": ^2.1.4
+ "@restart/hooks": ^0.3.11
+ "@types/react": ^16.8.23
+ classnames: ^2.2.6
+ dom-helpers: ^5.1.2
+ invariant: ^2.2.4
+ keycode: ^2.2.0
+ popper.js: ^1.16.0
+ prop-types: ^15.7.2
+ prop-types-extra: ^1.1.0
+ react-overlays: ^2.1.0
+ react-transition-group: ^4.0.0
+ uncontrollable: ^7.0.0
+ warning: ^4.0.3
+ peerDependencies:
+ react: ">=16.8.0"
+ react-dom: ">=16.8.0"
+ checksum: 69225d3dfb6dc02b092c4a4ebe6f274794a430ec4ae40fecbad70ea5c12dc7835f32eacd06affb07e80e9abea8dbcc98db14a5d06485a0636a79edc991c4ea22
+ languageName: node
+ linkType: hard
+
"react-dev-utils@npm:^10.1.0":
version: 10.1.0
resolution: "react-dev-utils@npm:10.1.0"
@@ -11226,13 +11425,75 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
-"react-is@npm:^16.8.1, react-is@npm:^16.8.4":
+"react-is@npm:^16.3.2, react-is@npm:^16.6.0, react-is@npm:^16.7.0, react-is@npm:^16.8.1, react-is@npm:^16.8.4":
version: 16.12.0
resolution: "react-is@npm:16.12.0"
checksum: 1cc13815109812213f5f1e15718551c2c4b3c164b447bd35ceba920dc268c5f0710617f12076d9b8100edd4a7e935f76bf19abe745068e387ff2670b3a3fdb0d
languageName: node
linkType: hard
+"react-lifecycles-compat@npm:^3.0.4":
+ version: 3.0.4
+ resolution: "react-lifecycles-compat@npm:3.0.4"
+ checksum: 5845821224611602cb37ea3947d73efe619666a2f8ad7dbadd82bcdae823c499de214d39b3503e9fbf8da3daa2c2483e21ce01bdd65d6cce99dd2f42e3c838dc
+ languageName: node
+ linkType: hard
+
+"react-overlays@npm:^2.1.0":
+ version: 2.1.1
+ resolution: "react-overlays@npm:2.1.1"
+ dependencies:
+ "@babel/runtime": ^7.4.5
+ "@restart/hooks": ^0.3.12
+ dom-helpers: ^5.1.0
+ popper.js: ^1.15.0
+ prop-types: ^15.7.2
+ uncontrollable: ^7.0.0
+ warning: ^4.0.3
+ peerDependencies:
+ react: ">=16.3.0"
+ react-dom: ">=16.3.0"
+ checksum: 8cbf8770ffd4ea2e4c6cbe227513dce3e8fc5142ea6d0ed9ec94f81f738be36101a0abca10e4d9726b969a2cb2764db79e2051a174df855b9cd3fd4cc6447067
+ languageName: node
+ linkType: hard
+
+"react-router-dom@npm:^5.1.2":
+ version: 5.1.2
+ resolution: "react-router-dom@npm:5.1.2"
+ dependencies:
+ "@babel/runtime": ^7.1.2
+ history: ^4.9.0
+ loose-envify: ^1.3.1
+ prop-types: ^15.6.2
+ react-router: 5.1.2
+ tiny-invariant: ^1.0.2
+ tiny-warning: ^1.0.0
+ peerDependencies:
+ react: ">=15"
+ checksum: 88239aeeadfc9e2e7ae15d11aa6691cc010c8d7d2185720d6636655810922e122aca1a967b60fd6df90e0ec484aac98bf4c3b2d3c3a9e09bb313a19616893a68
+ languageName: node
+ linkType: hard
+
+"react-router@npm:5.1.2":
+ version: 5.1.2
+ resolution: "react-router@npm:5.1.2"
+ dependencies:
+ "@babel/runtime": ^7.1.2
+ history: ^4.9.0
+ hoist-non-react-statics: ^3.1.0
+ loose-envify: ^1.3.1
+ mini-create-react-context: ^0.3.0
+ path-to-regexp: ^1.7.0
+ prop-types: ^15.6.2
+ react-is: ^16.6.0
+ tiny-invariant: ^1.0.2
+ tiny-warning: ^1.0.0
+ peerDependencies:
+ react: ">=15"
+ checksum: 2e8466ade3c7be3a771333c15e8ea3ec736a2c0a0e0b8f42078031f3b99da40ef00fe274e1dc44c556b4b6e9b8e8a248180fe53e98e18ea8d76a631af7461141
+ languageName: node
+ linkType: hard
+
"react-scripts@npm:3.3.1":
version: 3.3.1
resolution: "react-scripts@npm:3.3.1"
@@ -11304,6 +11565,21 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"react-transition-group@npm:^4.0.0":
+ version: 4.3.0
+ resolution: "react-transition-group@npm:4.3.0"
+ dependencies:
+ "@babel/runtime": ^7.5.5
+ dom-helpers: ^5.0.1
+ loose-envify: ^1.4.0
+ prop-types: ^15.6.2
+ peerDependencies:
+ react: ">=16.6.0"
+ react-dom: ">=16.6.0"
+ checksum: 2ce975dfa41b8b15be8980323f551efda758ba1cb45e5b305d25eb230de8272a1fa04469ff7b2846588c6a728030c27f52bce25a7d92956382435352edd3aa37
+ languageName: node
+ linkType: hard
+
"react@npm:^16.12.0":
version: 16.12.0
resolution: "react@npm:16.12.0"
@@ -11687,6 +11963,13 @@ fsevents@^1.2.7:
languageName: node
linkType: hard
+"resolve-pathname@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "resolve-pathname@npm:3.0.0"
+ checksum: df30117fb84505a9b8b059635c524cf48b943b44e288dc488e60c1d2f3781996bfb172b1995a026c4d391acd691564c196bbfc9461eb85463d00165dfdac06d8
+ languageName: node
+ linkType: hard
+
"resolve-url-loader@npm:3.1.1":
version: 3.1.1
resolution: "resolve-url-loader@npm:3.1.1"
@@ -12550,6 +12833,13 @@ resolve@1.1.7:
languageName: node
linkType: hard
+"store@npm:^2.0.12":
+ version: 2.0.12
+ resolution: "store@npm:2.0.12"
+ checksum: 101053f2842b6a186d8556ef5a176feb4494cfe4a182b454c5c7150362c67344abafd8e012c7769ea51745cdff38447c3e0c9d5ef36740bcc65e174adb605309
+ languageName: node
+ linkType: hard
+
"stream-browserify@npm:^2.0.1":
version: 2.0.2
resolution: "stream-browserify@npm:2.0.2"
@@ -13051,6 +13341,20 @@ resolve@1.1.7:
languageName: node
linkType: hard
+"tiny-invariant@npm:^1.0.2":
+ version: 1.1.0
+ resolution: "tiny-invariant@npm:1.1.0"
+ checksum: cefe17857695cf05861e206bef8543e966eed89b89f0a76aaa9d322e2142e2c307a10be0532b4e9194904100972aee30832df995e0c8b83e9694d4ee4f0ab08d
+ languageName: node
+ linkType: hard
+
+"tiny-warning@npm:^1.0.0, tiny-warning@npm:^1.0.2":
+ version: 1.0.3
+ resolution: "tiny-warning@npm:1.0.3"
+ checksum: 568fd064d0f4f2249a3afd5b91fc2a1e09c71378fd96ee437f5524cda976b127a20ee3ccb0d2db224a492c03fd5a077ff052cbd89253d77772cf4fdbfc7cb79b
+ languageName: node
+ linkType: hard
+
"tmp@npm:^0.0.33":
version: 0.0.33
resolution: "tmp@npm:0.0.33"
@@ -13277,6 +13581,20 @@ typescript@~3.7.2:
languageName: node
linkType: hard
+"uncontrollable@npm:^7.0.0":
+ version: 7.1.1
+ resolution: "uncontrollable@npm:7.1.1"
+ dependencies:
+ "@babel/runtime": ^7.6.3
+ "@types/react": ^16.9.11
+ invariant: ^2.2.4
+ react-lifecycles-compat: ^3.0.4
+ peerDependencies:
+ react: ">=15.0.0"
+ checksum: 92d028d8f0ec48e46a8f2cce09178d57287b518610b7c59bf27f090317ef22ce4abdd8a1231622c604bb38ba6936196318017fb4b8c5484dcf3b3c4fd588a25b
+ languageName: node
+ linkType: hard
+
"unicode-canonical-property-names-ecmascript@npm:^1.0.4":
version: 1.0.4
resolution: "unicode-canonical-property-names-ecmascript@npm:1.0.4"
@@ -13544,6 +13862,13 @@ typescript@~3.7.2:
languageName: node
linkType: hard
+"value-equal@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "value-equal@npm:1.0.1"
+ checksum: 0b317308c9904f5315b37da28e4960a18a6081fdc1eb484cab64d655a03149f5c9e0f7f7966b1d2c70c466daabfa32fce496c719fdb5a8e4b0072cbda892b8ab
+ languageName: node
+ linkType: hard
+
"vary@npm:~1.1.2":
version: 1.1.2
resolution: "vary@npm:1.1.2"
@@ -13612,6 +13937,15 @@ typescript@~3.7.2:
languageName: node
linkType: hard
+"warning@npm:^4.0.0, warning@npm:^4.0.3":
+ version: 4.0.3
+ resolution: "warning@npm:4.0.3"
+ dependencies:
+ loose-envify: ^1.0.0
+ checksum: 9247849134865f0fde7c5e0c76f5d12c4c641d2c252b9d707313491705f823c4cba24d383c07b7a32e1511b354c9533a9730239bfef6641e3e0f03da2f7c6a26
+ languageName: node
+ linkType: hard
+
"watchpack@npm:^1.6.0":
version: 1.6.0
resolution: "watchpack@npm:1.6.0"