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 ( -
-
Hi
-
- ); +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"