Add front page and basic routing
This commit is contained in:
		
							parent
							
								
									94e33f4baa
								
							
						
					
					
						commit
						774e89a3ec
					
				| @ -9,15 +9,18 @@ | |||||||
|     "@material-ui/core": "^4.10.1", |     "@material-ui/core": "^4.10.1", | ||||||
|     "@material-ui/lab": "^4.0.0-alpha.55", |     "@material-ui/lab": "^4.0.0-alpha.55", | ||||||
|     "@material-ui/pickers": "^3.2.10", |     "@material-ui/pickers": "^3.2.10", | ||||||
|  |     "@types/classnames": "^2.2.10", | ||||||
|     "@types/node": "^12.0.0", |     "@types/node": "^12.0.0", | ||||||
|     "@types/react": "^16.9.0", |     "@types/react": "^16.9.0", | ||||||
|     "@types/react-dom": "^16.9.0", |     "@types/react-dom": "^16.9.0", | ||||||
|  |     "@types/react-router-dom": "^5.1.5", | ||||||
|     "@typescript-eslint/eslint-plugin": "^2.10.0", |     "@typescript-eslint/eslint-plugin": "^2.10.0", | ||||||
|     "@typescript-eslint/parser": "^2.10.0", |     "@typescript-eslint/parser": "^2.10.0", | ||||||
|     "babel-core": "^6.26.3", |     "babel-core": "^6.26.3", | ||||||
|     "babel-loader": "^8.1.0", |     "babel-loader": "^8.1.0", | ||||||
|     "babel-plugin-import": "^1.13.0", |     "babel-plugin-import": "^1.13.0", | ||||||
|     "babel-preset-react-app": "^9.1.2", |     "babel-preset-react-app": "^9.1.2", | ||||||
|  |     "classnames": "^2.2.6", | ||||||
|     "clean-webpack-plugin": "^3.0.0", |     "clean-webpack-plugin": "^3.0.0", | ||||||
|     "css-loader": "3.4.2", |     "css-loader": "3.4.2", | ||||||
|     "date-holidays": "^1.5.3", |     "date-holidays": "^1.5.3", | ||||||
| @ -35,6 +38,7 @@ | |||||||
|     "react-app-polyfill": "^1.0.6", |     "react-app-polyfill": "^1.0.6", | ||||||
|     "react-dev-utils": "^10.2.1", |     "react-dev-utils": "^10.2.1", | ||||||
|     "react-dom": "^16.13.1", |     "react-dom": "^16.13.1", | ||||||
|  |     "react-router-dom": "^5.2.0", | ||||||
|     "sass-loader": "8.0.2", |     "sass-loader": "8.0.2", | ||||||
|     "style-loader": "0.23.1", |     "style-loader": "0.23.1", | ||||||
|     "ts-loader": "^7.0.5", |     "ts-loader": "^7.0.5", | ||||||
|  | |||||||
							
								
								
									
										15
									
								
								src/app.tsx
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								src/app.tsx
									
									
									
									
									
								
							| @ -5,12 +5,14 @@ import { studentTheme } from "./ui/theme"; | |||||||
| import { InternshipForm } from "@/forms/Internship"; | import { InternshipForm } from "@/forms/Internship"; | ||||||
| import { MuiPickersUtilsProvider } from "@material-ui/pickers"; | import { MuiPickersUtilsProvider } from "@material-ui/pickers"; | ||||||
| import MomentUtils from "@date-io/moment"; | import MomentUtils from "@date-io/moment"; | ||||||
|  | import { BrowserRouter, Switch, Route } from "react-router-dom" | ||||||
| 
 | 
 | ||||||
| import "moment/locale/pl" | import "moment/locale/pl" | ||||||
| moment.locale("pl") | moment.locale("pl") | ||||||
| 
 | 
 | ||||||
| import '@/styles/overrides.scss' | import '@/styles/overrides.scss' | ||||||
| import moment, { Moment } from "moment"; | import moment, { Moment } from "moment"; | ||||||
|  | import { routes } from "@/routing"; | ||||||
| 
 | 
 | ||||||
| class LocalizedMomentUtils extends MomentUtils { | class LocalizedMomentUtils extends MomentUtils { | ||||||
|     getDatePickerHeaderText(date: Moment): string { |     getDatePickerHeaderText(date: Moment): string { | ||||||
| @ -23,14 +25,11 @@ function App() { | |||||||
|       <StylesProvider injectFirst> |       <StylesProvider injectFirst> | ||||||
|           <MuiPickersUtilsProvider utils={ LocalizedMomentUtils } libInstance={ moment }> |           <MuiPickersUtilsProvider utils={ LocalizedMomentUtils } libInstance={ moment }> | ||||||
|               <ThemeProvider theme={ studentTheme }> |               <ThemeProvider theme={ studentTheme }> | ||||||
|                   <div className="app"> |                   <BrowserRouter> | ||||||
|                       <Container maxWidth={"md"}> |                       <div className="app"> | ||||||
|                           <Typography variant="h3">Zgłoszenie Praktyki</Typography> |                           <Switch>{ routes.map(({ name, content, ...route }) => <Route { ...route } key={ name }>{ content() }</Route>) }</Switch> | ||||||
|                           <Typography variant="subtitle1">UX Demo</Typography> |                       </div> | ||||||
| 
 |                   </BrowserRouter> | ||||||
|                           <InternshipForm /> |  | ||||||
|                       </Container> |  | ||||||
|                   </div> |  | ||||||
|               </ThemeProvider> |               </ThemeProvider> | ||||||
|           </MuiPickersUtilsProvider> |           </MuiPickersUtilsProvider> | ||||||
|       </StylesProvider> |       </StylesProvider> | ||||||
|  | |||||||
							
								
								
									
										16
									
								
								src/pages/base.tsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/pages/base.tsx
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | |||||||
|  | import React, { HTMLProps, useEffect } from "react"; | ||||||
|  | import classNames from "classnames" | ||||||
|  | 
 | ||||||
|  | export type PageProps = { | ||||||
|  |     title?: string; | ||||||
|  | } & HTMLProps<any>; | ||||||
|  | 
 | ||||||
|  | export const Page = ({ title, children, ...props }: PageProps) => { | ||||||
|  |     useEffect(() => { | ||||||
|  |         document.title = title ? title + " | Praktyka Studencka" : "Praktyka Studencka"; | ||||||
|  |     }, [ title ]) | ||||||
|  | 
 | ||||||
|  |     return <main {...props} className={ classNames("page", props.className) }> | ||||||
|  |         { children } | ||||||
|  |     </main> | ||||||
|  | } | ||||||
							
								
								
									
										56
									
								
								src/pages/main.tsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								src/pages/main.tsx
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,56 @@ | |||||||
|  | import React from "react"; | ||||||
|  | import { Page } from "@/pages/base"; | ||||||
|  | import { Container, Typography, Button, Divider, Box, Stepper, Step, StepLabel, StepContent } from "@material-ui/core"; | ||||||
|  | import { InternshipForm } from "@/forms/Internship"; | ||||||
|  | import { Link } from "react-router-dom"; | ||||||
|  | import { route } from "@/routing"; | ||||||
|  | 
 | ||||||
|  | export const MainPage = () => { | ||||||
|  |     return <Page> | ||||||
|  |         <Container> | ||||||
|  |             <Stepper orientation="vertical" nonLinear> | ||||||
|  |                 <Step completed active={false}> | ||||||
|  |                     <StepLabel> | ||||||
|  |                         Uzupełnienie danych w systemie | ||||||
|  |                         <Box> | ||||||
|  |                             <Typography variant="subtitle2" color="textSecondary">do: 05.07.2020</Typography> | ||||||
|  |                         </Box> | ||||||
|  |                     </StepLabel> | ||||||
|  |                     <StepContent>lol</StepContent> | ||||||
|  |                 </Step> | ||||||
|  |                 <Step active> | ||||||
|  |                     <StepLabel>Zgłoszenie praktyki</StepLabel> | ||||||
|  |                     <StepContent> | ||||||
|  |                         <Button to={ route("internship_proposal") } variant="contained" color="primary" component={ Link }>Formularz zgłoszenia praktyki</Button> | ||||||
|  |                     </StepContent> | ||||||
|  |                 </Step> | ||||||
|  |             </Stepper> | ||||||
|  |         </Container> | ||||||
|  |     </Page> | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export const InternshipFormPage = () => { | ||||||
|  |     return <Page title="Zgłoszenie praktyki"> | ||||||
|  |         <Container maxWidth={"md"}> | ||||||
|  |             <Typography variant="h3">Zgłoszenie Praktyki</Typography> | ||||||
|  |             <Typography variant="subtitle1">UX Demo</Typography> | ||||||
|  | 
 | ||||||
|  |             <InternshipForm /> | ||||||
|  |         </Container> | ||||||
|  |     </Page> | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export const NotFoundPage = () => { | ||||||
|  |     return <Page title="Strona nie została znaleziona"> | ||||||
|  |         <Container> | ||||||
|  |             <Typography variant="h1">404</Typography> | ||||||
|  |             <Typography variant="h2">Strona nie została znaleziona</Typography> | ||||||
|  | 
 | ||||||
|  |             <Box my={ 4 }> | ||||||
|  |                 <Divider variant="fullWidth" /> | ||||||
|  |             </Box> | ||||||
|  | 
 | ||||||
|  |             <Button to={ route("home") } color="primary" component={ Link }>strona główna</Button> | ||||||
|  |         </Container> | ||||||
|  |     </Page> | ||||||
|  | } | ||||||
							
								
								
									
										25
									
								
								src/routing.tsx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								src/routing.tsx
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,25 @@ | |||||||
|  | import React, { ReactComponentElement } from "react"; | ||||||
|  | import { InternshipFormPage, MainPage, NotFoundPage } from "@/pages/main"; | ||||||
|  | import { RouteProps } from "react-router-dom"; | ||||||
|  | 
 | ||||||
|  | type Route = { | ||||||
|  |     name?: string; | ||||||
|  |     content: () => ReactComponentElement<any>, | ||||||
|  | } & RouteProps; | ||||||
|  | 
 | ||||||
|  | export const routes: Route[] = [ | ||||||
|  |     { name: "home", path: "/", exact: true, content: () => <MainPage /> }, | ||||||
|  | 
 | ||||||
|  |     { name: "internship_proposal", path: "/internship/proposal", exact: true, content: () => <InternshipFormPage /> }, | ||||||
|  | 
 | ||||||
|  |     // fallback route for 404 pages
 | ||||||
|  |     { path: "*", content: () => <NotFoundPage /> } | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | const routeNameMap = new Map(routes.filter(({name}) => !!name).map(({ name, path }) => [ name, path instanceof Array ? path[0] : path ])) as Map<string, string> | ||||||
|  | 
 | ||||||
|  | export function route(name: string, params: { [param: string]: string } = { }) { | ||||||
|  |     const url = routeNameMap.get(name) || ""; | ||||||
|  | 
 | ||||||
|  |     return Object.entries(params).reduce((url, [name, value]) => url.replace(`:${name}`, value), url); | ||||||
|  | } | ||||||
| @ -6,5 +6,6 @@ export const studentTheme = createMuiTheme({ | |||||||
|             spacing: 3, |             spacing: 3, | ||||||
|             xs: 12, |             xs: 12, | ||||||
|         } |         } | ||||||
|     } |     }, | ||||||
|  |     spacing: 8 | ||||||
| }) | }) | ||||||
|  | |||||||
| @ -48,6 +48,7 @@ const config = { | |||||||
|         port: 3000, |         port: 3000, | ||||||
|         host: 'system-praktyk-front.localhost', |         host: 'system-praktyk-front.localhost', | ||||||
|         disableHostCheck: true, |         disableHostCheck: true, | ||||||
|  |         historyApiFallback: true, | ||||||
|     }, |     }, | ||||||
|     optimization: { |     optimization: { | ||||||
|         usedExports: true |         usedExports: true | ||||||
|  | |||||||
							
								
								
									
										118
									
								
								yarn.lock
									
									
									
									
									
								
							
							
						
						
									
										118
									
								
								yarn.lock
									
									
									
									
									
								
							| @ -919,7 +919,7 @@ | |||||||
|   dependencies: |   dependencies: | ||||||
|     regenerator-runtime "^0.13.4" |     regenerator-runtime "^0.13.4" | ||||||
| 
 | 
 | ||||||
| "@babel/runtime@^7.0.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.0", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": | "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.0", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": | ||||||
|   version "7.10.2" |   version "7.10.2" | ||||||
|   resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.10.2.tgz#d103f21f2602497d38348a32e008637d506db839" |   resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.10.2.tgz#d103f21f2602497d38348a32e008637d506db839" | ||||||
|   integrity sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg== |   integrity sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg== | ||||||
| @ -1123,6 +1123,11 @@ | |||||||
|   resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" |   resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" | ||||||
|   integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== |   integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== | ||||||
| 
 | 
 | ||||||
|  | "@types/classnames@^2.2.10": | ||||||
|  |   version "2.2.10" | ||||||
|  |   resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.2.10.tgz#cc658ca319b6355399efc1f5b9e818f1a24bf999" | ||||||
|  |   integrity sha512-1UzDldn9GfYYEsWWnn/P4wkTlkZDH7lDb0wBMGbtIQc9zXEQq7FlKBdZUn6OBqD8sKZZ2RQO2mAjGpXiDGoRmQ== | ||||||
|  | 
 | ||||||
| "@types/eslint-visitor-keys@^1.0.0": | "@types/eslint-visitor-keys@^1.0.0": | ||||||
|   version "1.0.0" |   version "1.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" |   resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" | ||||||
| @ -1136,6 +1141,11 @@ | |||||||
|     "@types/minimatch" "*" |     "@types/minimatch" "*" | ||||||
|     "@types/node" "*" |     "@types/node" "*" | ||||||
| 
 | 
 | ||||||
|  | "@types/history@*": | ||||||
|  |   version "4.7.6" | ||||||
|  |   resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.6.tgz#ed8fc802c45b8e8f54419c2d054e55c9ea344356" | ||||||
|  |   integrity sha512-GRTZLeLJ8ia00ZH8mxMO8t0aC9M1N9bN461Z2eaRurJo6Fpa+utgCwLzI4jQHcrdzuzp5WPN9jRwpsCQ1VhJ5w== | ||||||
|  | 
 | ||||||
| "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.4": | "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.4": | ||||||
|   version "7.0.5" |   version "7.0.5" | ||||||
|   resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.5.tgz#dcce4430e64b443ba8945f0290fb564ad5bac6dd" |   resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.5.tgz#dcce4430e64b443ba8945f0290fb564ad5bac6dd" | ||||||
| @ -1178,6 +1188,23 @@ | |||||||
|   dependencies: |   dependencies: | ||||||
|     "@types/react" "*" |     "@types/react" "*" | ||||||
| 
 | 
 | ||||||
|  | "@types/react-router-dom@^5.1.5": | ||||||
|  |   version "5.1.5" | ||||||
|  |   resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.5.tgz#7c334a2ea785dbad2b2dcdd83d2cf3d9973da090" | ||||||
|  |   integrity sha512-ArBM4B1g3BWLGbaGvwBGO75GNFbLDUthrDojV2vHLih/Tq8M+tgvY1DSwkuNrPSwdp/GUL93WSEpTZs8nVyJLw== | ||||||
|  |   dependencies: | ||||||
|  |     "@types/history" "*" | ||||||
|  |     "@types/react" "*" | ||||||
|  |     "@types/react-router" "*" | ||||||
|  | 
 | ||||||
|  | "@types/react-router@*": | ||||||
|  |   version "5.1.8" | ||||||
|  |   resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.8.tgz#4614e5ba7559657438e17766bb95ef6ed6acc3fa" | ||||||
|  |   integrity sha512-HzOyJb+wFmyEhyfp4D4NYrumi+LQgQL/68HvJO+q6XtuHSDvw6Aqov7sCAhjbNq3bUPgPqbdvjXC5HeB2oEAPg== | ||||||
|  |   dependencies: | ||||||
|  |     "@types/history" "*" | ||||||
|  |     "@types/react" "*" | ||||||
|  | 
 | ||||||
| "@types/react-transition-group@^4.2.0": | "@types/react-transition-group@^4.2.0": | ||||||
|   version "4.4.0" |   version "4.4.0" | ||||||
|   resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.0.tgz#882839db465df1320e4753e6e9f70ca7e9b4d46d" |   resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.0.tgz#882839db465df1320e4753e6e9f70ca7e9b4d46d" | ||||||
| @ -2407,6 +2434,11 @@ class-utils@^0.3.5: | |||||||
|     isobject "^3.0.0" |     isobject "^3.0.0" | ||||||
|     static-extend "^0.1.1" |     static-extend "^0.1.1" | ||||||
| 
 | 
 | ||||||
|  | classnames@^2.2.6: | ||||||
|  |   version "2.2.6" | ||||||
|  |   resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" | ||||||
|  |   integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== | ||||||
|  | 
 | ||||||
| clean-css@^4.2.3: | clean-css@^4.2.3: | ||||||
|   version "4.2.3" |   version "4.2.3" | ||||||
|   resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" |   resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" | ||||||
| @ -4240,6 +4272,18 @@ hex-color-regex@^1.1.0: | |||||||
|   resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" |   resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" | ||||||
|   integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== |   integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== | ||||||
| 
 | 
 | ||||||
|  | history@^4.9.0: | ||||||
|  |   version "4.10.1" | ||||||
|  |   resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" | ||||||
|  |   integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== | ||||||
|  |   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" | ||||||
|  | 
 | ||||||
| hmac-drbg@^1.0.0: | hmac-drbg@^1.0.0: | ||||||
|   version "1.0.1" |   version "1.0.1" | ||||||
|   resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" |   resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" | ||||||
| @ -4249,7 +4293,7 @@ hmac-drbg@^1.0.0: | |||||||
|     minimalistic-assert "^1.0.0" |     minimalistic-assert "^1.0.0" | ||||||
|     minimalistic-crypto-utils "^1.0.1" |     minimalistic-crypto-utils "^1.0.1" | ||||||
| 
 | 
 | ||||||
| hoist-non-react-statics@^3.3.2: | hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.2: | ||||||
|   version "3.3.2" |   version "3.3.2" | ||||||
|   resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" |   resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" | ||||||
|   integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== |   integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== | ||||||
| @ -4905,6 +4949,11 @@ is-wsl@^2.1.1: | |||||||
|   dependencies: |   dependencies: | ||||||
|     is-docker "^2.0.0" |     is-docker "^2.0.0" | ||||||
| 
 | 
 | ||||||
|  | isarray@0.0.1: | ||||||
|  |   version "0.0.1" | ||||||
|  |   resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" | ||||||
|  |   integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= | ||||||
|  | 
 | ||||||
| isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: | isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: | ||||||
|   version "1.0.0" |   version "1.0.0" | ||||||
|   resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" |   resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" | ||||||
| @ -5301,7 +5350,7 @@ loglevel@^1.6.6: | |||||||
|   resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.8.tgz#8a25fb75d092230ecd4457270d80b54e28011171" |   resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.8.tgz#8a25fb75d092230ecd4457270d80b54e28011171" | ||||||
|   integrity sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA== |   integrity sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA== | ||||||
| 
 | 
 | ||||||
| loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: | loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: | ||||||
|   version "1.4.0" |   version "1.4.0" | ||||||
|   resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" |   resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" | ||||||
|   integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== |   integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== | ||||||
| @ -5522,6 +5571,14 @@ mimic-fn@^2.0.0, mimic-fn@^2.1.0: | |||||||
|   resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" |   resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" | ||||||
|   integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== |   integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== | ||||||
| 
 | 
 | ||||||
|  | mini-create-react-context@^0.4.0: | ||||||
|  |   version "0.4.0" | ||||||
|  |   resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.0.tgz#df60501c83151db69e28eac0ef08b4002efab040" | ||||||
|  |   integrity sha512-b0TytUgFSbgFJGzJqXPKCFCBWigAjpjo+Fl7Vf7ZbKRDptszpppKxXH6DRXEABZ/gcEQczeb0iZ7JvL8e8jjCA== | ||||||
|  |   dependencies: | ||||||
|  |     "@babel/runtime" "^7.5.5" | ||||||
|  |     tiny-warning "^1.0.3" | ||||||
|  | 
 | ||||||
| minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: | minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: | ||||||
|   version "1.0.1" |   version "1.0.1" | ||||||
|   resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" |   resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" | ||||||
| @ -6220,6 +6277,13 @@ path-to-regexp@0.1.7: | |||||||
|   resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" |   resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" | ||||||
|   integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= |   integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= | ||||||
| 
 | 
 | ||||||
|  | path-to-regexp@^1.7.0: | ||||||
|  |   version "1.8.0" | ||||||
|  |   resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" | ||||||
|  |   integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== | ||||||
|  |   dependencies: | ||||||
|  |     isarray "0.0.1" | ||||||
|  | 
 | ||||||
| path-type@^1.0.0: | path-type@^1.0.0: | ||||||
|   version "1.1.0" |   version "1.1.0" | ||||||
|   resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" |   resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" | ||||||
| @ -7234,11 +7298,40 @@ react-error-overlay@^6.0.7: | |||||||
|   resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.7.tgz#1dcfb459ab671d53f660a991513cb2f0a0553108" |   resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.7.tgz#1dcfb459ab671d53f660a991513cb2f0a0553108" | ||||||
|   integrity sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA== |   integrity sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA== | ||||||
| 
 | 
 | ||||||
| react-is@^16.7.0, react-is@^16.8.0, react-is@^16.8.1: | react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.0, react-is@^16.8.1: | ||||||
|   version "16.13.1" |   version "16.13.1" | ||||||
|   resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" |   resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" | ||||||
|   integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== |   integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== | ||||||
| 
 | 
 | ||||||
|  | react-router-dom@^5.2.0: | ||||||
|  |   version "5.2.0" | ||||||
|  |   resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.2.0.tgz#9e65a4d0c45e13289e66c7b17c7e175d0ea15662" | ||||||
|  |   integrity sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA== | ||||||
|  |   dependencies: | ||||||
|  |     "@babel/runtime" "^7.1.2" | ||||||
|  |     history "^4.9.0" | ||||||
|  |     loose-envify "^1.3.1" | ||||||
|  |     prop-types "^15.6.2" | ||||||
|  |     react-router "5.2.0" | ||||||
|  |     tiny-invariant "^1.0.2" | ||||||
|  |     tiny-warning "^1.0.0" | ||||||
|  | 
 | ||||||
|  | react-router@5.2.0: | ||||||
|  |   version "5.2.0" | ||||||
|  |   resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.2.0.tgz#424e75641ca8747fbf76e5ecca69781aa37ea293" | ||||||
|  |   integrity sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw== | ||||||
|  |   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.4.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" | ||||||
|  | 
 | ||||||
| react-transition-group@^4.0.0, react-transition-group@^4.4.0: | react-transition-group@^4.0.0, react-transition-group@^4.4.0: | ||||||
|   version "4.4.1" |   version "4.4.1" | ||||||
|   resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.1.tgz#63868f9325a38ea5ee9535d828327f85773345c9" |   resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.1.tgz#63868f9325a38ea5ee9535d828327f85773345c9" | ||||||
| @ -7512,6 +7605,11 @@ resolve-from@^4.0.0: | |||||||
|   resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" |   resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" | ||||||
|   integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== |   integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== | ||||||
| 
 | 
 | ||||||
|  | resolve-pathname@^3.0.0: | ||||||
|  |   version "3.0.0" | ||||||
|  |   resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" | ||||||
|  |   integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== | ||||||
|  | 
 | ||||||
| resolve-url@^0.2.1: | resolve-url@^0.2.1: | ||||||
|   version "0.2.1" |   version "0.2.1" | ||||||
|   resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" |   resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" | ||||||
| @ -8380,7 +8478,12 @@ timsort@^0.3.0: | |||||||
|   resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" |   resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" | ||||||
|   integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= |   integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= | ||||||
| 
 | 
 | ||||||
| tiny-warning@^1.0.2: | tiny-invariant@^1.0.2: | ||||||
|  |   version "1.1.0" | ||||||
|  |   resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875" | ||||||
|  |   integrity sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw== | ||||||
|  | 
 | ||||||
|  | tiny-warning@^1.0.0, tiny-warning@^1.0.2, tiny-warning@^1.0.3: | ||||||
|   version "1.0.3" |   version "1.0.3" | ||||||
|   resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" |   resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" | ||||||
|   integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== |   integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== | ||||||
| @ -8724,6 +8827,11 @@ validate-npm-package-license@^3.0.1: | |||||||
|     spdx-correct "^3.0.0" |     spdx-correct "^3.0.0" | ||||||
|     spdx-expression-parse "^3.0.0" |     spdx-expression-parse "^3.0.0" | ||||||
| 
 | 
 | ||||||
|  | value-equal@^1.0.1: | ||||||
|  |   version "1.0.1" | ||||||
|  |   resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" | ||||||
|  |   integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== | ||||||
|  | 
 | ||||||
| vary@~1.1.2: | vary@~1.1.2: | ||||||
|   version "1.1.2" |   version "1.1.2" | ||||||
|   resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" |   resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user