Add router and login part

This commit is contained in:
2020-02-15 14:00:15 +01:00
parent 47f0edb8e6
commit eed63b2bbc
10 changed files with 502 additions and 303 deletions
+55 -49
View File
@@ -1,51 +1,57 @@
{ {
"name": "demo-app", "name": "demo-app",
"version": "0.1.0", "version": "0.1.0",
"private": true, "private": true,
"dependencies": { "dependencies": {
"@testing-library/jest-dom": "^4.2.4", "@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.4.0", "@testing-library/react": "^9.4.0",
"@testing-library/user-event": "^7.1.2", "@testing-library/user-event": "^7.1.2",
"@types/istanbul-lib-coverage": "^2.0.1", "@types/istanbul-lib-coverage": "^2.0.1",
"@types/jest": "^24.9.1", "@types/jest": "^24.9.1",
"@types/mocha": "^7.0.1", "@types/mocha": "^7.0.1",
"@types/node": "^12.12.26", "@types/node": "^12.12.26",
"@types/prop-types": "^15.7.3", "@types/prop-types": "^15.7.3",
"@types/react": "^16.9.19", "@types/react": "^16.9.19",
"@types/react-dom": "^16.9.5", "@types/react-dom": "^16.9.5",
"react": "^16.12.0", "@types/react-router-dom": "^5.1.3",
"react-dom": "^16.12.0", "bootstrap": "^4.4.1",
"react-scripts": "3.3.1", "jquery": "^3.4.1",
"typescript": "~3.7.2" "popper.js": "^1.16.1",
}, "react": "^16.12.0",
"scripts": { "react-bootstrap": "^1.0.0-beta.16",
"start": "react-scripts start", "react-dom": "^16.12.0",
"build": "react-scripts build", "react-router-dom": "^5.1.2",
"test": "react-scripts test", "react-scripts": "3.3.1",
"eject": "react-scripts eject" "typescript": "~3.7.2"
}, },
"eslintConfig": { "scripts": {
"extends": "react-app" "start": "react-scripts start",
}, "build": "react-scripts build",
"browserslist": { "test": "react-scripts test",
"production": [ "eject": "react-scripts eject"
">0.2%", },
"not dead", "eslintConfig": {
"not op_mini all" "extends": "react-app"
], },
"development": [ "browserslist": {
"last 1 chrome version", "production": [
"last 1 firefox version", ">0.2%",
"last 1 safari version" "not dead",
] "not op_mini all"
}, ],
"devDependencies": { "development": [
"@typescript-eslint/eslint-plugin": "^2.19.2", "last 1 chrome version",
"@typescript-eslint/parser": "^2.19.2", "last 1 firefox version",
"eslint": "^6.8.0", "last 1 safari version"
"eslint-config-prettier": "^6.10.0", ]
"eslint-plugin-prettier": "^3.1.2", },
"eslint-plugin-react": "^7.18.3", "devDependencies": {
"prettier": "^1.19.1" "@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"
}
} }
+14 -37
View File
@@ -1,43 +1,20 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<!--
manifest.json provides metadata used when your web app is installed on a
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
-->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<!--
Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build.
Only files inside the `public` folder can be referenced from the HTML.
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will <head>
work correctly both with client-side routing and a non-root public URL. <meta charset="utf-8" />
Learn how to configure a non-root public URL by running `npm run build`. <meta name="viewport" content="width=device-width, initial-scale=1" />
--> <meta name="theme-color" content="#000000" />
<title>React App</title> <meta name="description" content="Web site created using create-react-app" />
</head> <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<body> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous" />
<noscript>You need to enable JavaScript to run this app.</noscript> <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<div id="root"></div> <title>Demo App - Jeroen Vijgen</title>
<!-- </head>
This HTML file is a template.
If you open it directly in the browser, you will see an empty page.
You can add webfonts, meta tags, or analytics to this file. <body>
The build step will place the bundled scripts into the <body> tag. <noscript>You need to enable JavaScript to run this app.</noscript>
<div id="App"></div>
</body>
To begin the development, run `npm start` or `yarn start`.
To create a production bundle, use `npm run build` or `yarn build`.
-->
</body>
</html> </html>
-38
View File
@@ -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);
}
}
+22 -9
View File
@@ -1,12 +1,25 @@
/* eslint-disable @typescript-eslint/no-unused-expressions */
import React from 'react'; 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 = () => { export default class App extends React.Component {
return ( componentDidMount() {
<div className="App"> if((localStorage.getItem("APILink") !== undefined || localStorage.getItem("APILink") !== '') &&
<header className="App-header">Hi</header> (localStorage.getItem("AccessToken") !== undefined || localStorage.getItem("AccessToken") !== '')) {
</div> return <Redirect to="/dashboard" />
); };
}
render() {
return (
<Switch>
<Route exact path="/" component={Login} />
<Route path="/dashboard" component={Dashboard} />
<Redirect to="/" />
</Switch>
);
}
} }
export default App;
@@ -0,0 +1,7 @@
import React from 'react';
export default class Dashboard extends React.Component {
render () {
return (<h1> This is the dashboard, fuck yeah </h1>)
}
}
+44
View File
@@ -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 (
<div className="LoginComponent">
<Card className="text-center">
<Card.Body>
<Card.Title>Please login to see the dashboard.</Card.Title>
<Card.Text>
Please fill in the following items: <br /><br />
<InputGroup className="mb-3">
<InputGroup.Prepend>
<InputGroup.Text id="inputGroup-sizing-default">API url</InputGroup.Text>
</InputGroup.Prepend>
<FormControl
aria-label="Default"
aria-describedby="inputGroup-sizing-default"
/>
</InputGroup>
<InputGroup className="mb-3">
<InputGroup.Prepend>
<InputGroup.Text id="inputGroup-sizing-default">API token</InputGroup.Text>
</InputGroup.Prepend>
<FormControl
aria-label="Default"
aria-describedby="inputGroup-sizing-default"
/>
</InputGroup>
</Card.Text>
<Button variant="primary">Login</Button>
</Card.Body>
<Card.Footer className="text-muted">Your last login was X-X-X @ XX:XX</Card.Footer>
</Card>
</div>
);
}
}
+10 -4
View File
@@ -1,13 +1,19 @@
html,
body { body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
sans-serif; sans-serif;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
background-color: #282c34;
height: 100%;
margin: 0;
} }
code { #App {
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', height: 100%;
monospace; display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
} }
+2 -7
View File
@@ -1,12 +1,7 @@
import React from 'react'; import React from 'react';
import ReactDOM from 'react-dom'; 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 App from './Components/AppComponent/App';
import * as serviceWorker from './serviceWorker';
ReactDOM.render(<App />, document.getElementById('root')); ReactDOM.render(<Router><App /></Router>, document.getElementById('App'));
// 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();
-145
View File
@@ -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();
});
}
}
+339 -5
View File
@@ -1185,7 +1185,7 @@ __metadata:
languageName: node languageName: node
linkType: hard 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 version: 7.8.4
resolution: "@babel/runtime@npm:7.8.4" resolution: "@babel/runtime@npm:7.8.4"
dependencies: dependencies:
@@ -1486,6 +1486,24 @@ __metadata:
languageName: node languageName: node
linkType: hard 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": "@sheerun/mutationobserver-shim@npm:^0.3.2":
version: 0.3.2 version: 0.3.2
resolution: "@sheerun/mutationobserver-shim@npm:0.3.2" resolution: "@sheerun/mutationobserver-shim@npm:0.3.2"
@@ -1751,6 +1769,13 @@ __metadata:
languageName: node languageName: node
linkType: hard 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": "@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 version: 2.0.1
resolution: "@types/istanbul-lib-coverage@npm:2.0.1" resolution: "@types/istanbul-lib-coverage@npm:2.0.1"
@@ -1851,7 +1876,28 @@ __metadata:
languageName: node languageName: node
linkType: hard 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 version: 16.9.19
resolution: "@types/react@npm:16.9.19" resolution: "@types/react@npm:16.9.19"
dependencies: dependencies:
@@ -3105,6 +3151,16 @@ __metadata:
languageName: node languageName: node
linkType: hard 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": "brace-expansion@npm:^1.1.7":
version: 1.1.11 version: 1.1.11
resolution: "brace-expansion@npm:1.1.11" resolution: "brace-expansion@npm:1.1.11"
@@ -3610,6 +3666,13 @@ __metadata:
languageName: node languageName: node
linkType: hard 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": "clean-css@npm:^4.2.1":
version: 4.2.3 version: 4.2.3
resolution: "clean-css@npm:4.2.3" resolution: "clean-css@npm:4.2.3"
@@ -4407,7 +4470,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"csstype@npm:^2.2.0": "csstype@npm:^2.2.0, csstype@npm:^2.6.7":
version: 2.6.8 version: 2.6.8
resolution: "csstype@npm:2.6.8" resolution: "csstype@npm:2.6.8"
checksum: eb432a104d39690548da78a9064138fee2e33773d1b4b069f79e7e8bd8a38c8267a0b1c4e75c808880e9ba4093997222fd46d33d0cb4820dffa123c06809b87a checksum: eb432a104d39690548da78a9064138fee2e33773d1b4b069f79e7e8bd8a38c8267a0b1c4e75c808880e9ba4093997222fd46d33d0cb4820dffa123c06809b87a
@@ -4617,16 +4680,23 @@ __metadata:
"@types/prop-types": ^15.7.3 "@types/prop-types": ^15.7.3
"@types/react": ^16.9.19 "@types/react": ^16.9.19
"@types/react-dom": ^16.9.5 "@types/react-dom": ^16.9.5
"@types/react-router-dom": ^5.1.3
"@typescript-eslint/eslint-plugin": ^2.19.2 "@typescript-eslint/eslint-plugin": ^2.19.2
"@typescript-eslint/parser": ^2.19.2 "@typescript-eslint/parser": ^2.19.2
bootstrap: ^4.4.1
eslint: ^6.8.0 eslint: ^6.8.0
eslint-config-prettier: ^6.10.0 eslint-config-prettier: ^6.10.0
eslint-plugin-prettier: ^3.1.2 eslint-plugin-prettier: ^3.1.2
eslint-plugin-react: ^7.18.3 eslint-plugin-react: ^7.18.3
jquery: ^3.4.1
popper.js: ^1.16.1
prettier: ^1.19.1 prettier: ^1.19.1
react: ^16.12.0 react: ^16.12.0
react-bootstrap: ^1.0.0-beta.16
react-dom: ^16.12.0 react-dom: ^16.12.0
react-router-dom: ^5.1.2
react-scripts: 3.3.1 react-scripts: 3.3.1
store: ^2.0.12
typescript: ~3.7.2 typescript: ~3.7.2
languageName: unknown languageName: unknown
linkType: soft linkType: soft
@@ -4782,6 +4852,16 @@ __metadata:
languageName: node languageName: node
linkType: hard 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": "dom-serializer@npm:0":
version: 0.2.2 version: 0.2.2
resolution: "dom-serializer@npm:0.2.2" resolution: "dom-serializer@npm:0.2.2"
@@ -6333,6 +6413,13 @@ fsevents@^1.2.7:
languageName: node languageName: node
linkType: hard 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": "gzip-size@npm:5.1.1":
version: 5.1.1 version: 5.1.1
resolution: "gzip-size@npm:5.1.1" resolution: "gzip-size@npm:5.1.1"
@@ -6495,6 +6582,20 @@ fsevents@^1.2.7:
languageName: node languageName: node
linkType: hard 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": "hmac-drbg@npm:^1.0.0":
version: 1.0.1 version: 1.0.1
resolution: "hmac-drbg@npm:1.0.1" resolution: "hmac-drbg@npm:1.0.1"
@@ -6506,6 +6607,15 @@ fsevents@^1.2.7:
languageName: node languageName: node
linkType: hard 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": "hosted-git-info@npm:^2.1.4":
version: 2.8.5 version: 2.8.5
resolution: "hosted-git-info@npm:2.8.5" resolution: "hosted-git-info@npm:2.8.5"
@@ -7371,6 +7481,13 @@ fsevents@^1.2.7:
languageName: node languageName: node
linkType: hard 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": "isarray@npm:1.0.0, isarray@npm:^1.0.0, isarray@npm:~1.0.0":
version: 1.0.0 version: 1.0.0
resolution: "isarray@npm:1.0.0" resolution: "isarray@npm:1.0.0"
@@ -7925,6 +8042,13 @@ fsevents@^1.2.7:
languageName: node languageName: node
linkType: hard 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": "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0":
version: 4.0.0 version: 4.0.0
resolution: "js-tokens@npm:4.0.0" resolution: "js-tokens@npm:4.0.0"
@@ -8158,6 +8282,13 @@ fsevents@^1.2.7:
languageName: node languageName: node
linkType: hard 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": "killable@npm:^1.0.1":
version: 1.0.1 version: 1.0.1
resolution: "killable@npm:1.0.1" resolution: "killable@npm:1.0.1"
@@ -8428,7 +8559,7 @@ fsevents@^1.2.7:
languageName: node languageName: node
linkType: hard 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 version: 1.4.0
resolution: "loose-envify@npm:1.4.0" resolution: "loose-envify@npm:1.4.0"
dependencies: dependencies:
@@ -8698,6 +8829,20 @@ fsevents@^1.2.7:
languageName: node languageName: node
linkType: hard 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": "mini-css-extract-plugin@npm:0.9.0":
version: 0.9.0 version: 0.9.0
resolution: "mini-css-extract-plugin@npm:0.9.0" resolution: "mini-css-extract-plugin@npm:0.9.0"
@@ -9839,6 +9984,15 @@ fsevents@^1.2.7:
languageName: node languageName: node
linkType: hard 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": "path-type@npm:^2.0.0":
version: 2.0.0 version: 2.0.0
resolution: "path-type@npm:2.0.0" resolution: "path-type@npm:2.0.0"
@@ -9998,6 +10152,13 @@ fsevents@^1.2.7:
languageName: node languageName: node
linkType: hard 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": "portfinder@npm:^1.0.25":
version: 1.0.25 version: 1.0.25
resolution: "portfinder@npm:1.0.25" resolution: "portfinder@npm:1.0.25"
@@ -10945,6 +11106,18 @@ fsevents@^1.2.7:
languageName: node languageName: node
linkType: hard 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": "prop-types@npm:^15.6.2, prop-types@npm:^15.7.2":
version: 15.7.2 version: 15.7.2
resolution: "prop-types@npm:15.7.2" resolution: "prop-types@npm:15.7.2"
@@ -11173,6 +11346,32 @@ fsevents@^1.2.7:
languageName: node languageName: node
linkType: hard 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": "react-dev-utils@npm:^10.1.0":
version: 10.1.0 version: 10.1.0
resolution: "react-dev-utils@npm:10.1.0" resolution: "react-dev-utils@npm:10.1.0"
@@ -11226,13 +11425,75 @@ fsevents@^1.2.7:
languageName: node languageName: node
linkType: hard 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 version: 16.12.0
resolution: "react-is@npm:16.12.0" resolution: "react-is@npm:16.12.0"
checksum: 1cc13815109812213f5f1e15718551c2c4b3c164b447bd35ceba920dc268c5f0710617f12076d9b8100edd4a7e935f76bf19abe745068e387ff2670b3a3fdb0d checksum: 1cc13815109812213f5f1e15718551c2c4b3c164b447bd35ceba920dc268c5f0710617f12076d9b8100edd4a7e935f76bf19abe745068e387ff2670b3a3fdb0d
languageName: node languageName: node
linkType: hard 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": "react-scripts@npm:3.3.1":
version: 3.3.1 version: 3.3.1
resolution: "react-scripts@npm:3.3.1" resolution: "react-scripts@npm:3.3.1"
@@ -11304,6 +11565,21 @@ fsevents@^1.2.7:
languageName: node languageName: node
linkType: hard 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": "react@npm:^16.12.0":
version: 16.12.0 version: 16.12.0
resolution: "react@npm:16.12.0" resolution: "react@npm:16.12.0"
@@ -11687,6 +11963,13 @@ fsevents@^1.2.7:
languageName: node languageName: node
linkType: hard 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": "resolve-url-loader@npm:3.1.1":
version: 3.1.1 version: 3.1.1
resolution: "resolve-url-loader@npm:3.1.1" resolution: "resolve-url-loader@npm:3.1.1"
@@ -12550,6 +12833,13 @@ resolve@1.1.7:
languageName: node languageName: node
linkType: hard 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": "stream-browserify@npm:^2.0.1":
version: 2.0.2 version: 2.0.2
resolution: "stream-browserify@npm:2.0.2" resolution: "stream-browserify@npm:2.0.2"
@@ -13051,6 +13341,20 @@ resolve@1.1.7:
languageName: node languageName: node
linkType: hard 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": "tmp@npm:^0.0.33":
version: 0.0.33 version: 0.0.33
resolution: "tmp@npm:0.0.33" resolution: "tmp@npm:0.0.33"
@@ -13277,6 +13581,20 @@ typescript@~3.7.2:
languageName: node languageName: node
linkType: hard 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": "unicode-canonical-property-names-ecmascript@npm:^1.0.4":
version: 1.0.4 version: 1.0.4
resolution: "unicode-canonical-property-names-ecmascript@npm:1.0.4" resolution: "unicode-canonical-property-names-ecmascript@npm:1.0.4"
@@ -13544,6 +13862,13 @@ typescript@~3.7.2:
languageName: node languageName: node
linkType: hard 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": "vary@npm:~1.1.2":
version: 1.1.2 version: 1.1.2
resolution: "vary@npm:1.1.2" resolution: "vary@npm:1.1.2"
@@ -13612,6 +13937,15 @@ typescript@~3.7.2:
languageName: node languageName: node
linkType: hard 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": "watchpack@npm:^1.6.0":
version: 1.6.0 version: 1.6.0
resolution: "watchpack@npm:1.6.0" resolution: "watchpack@npm:1.6.0"