Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
students
reservation-service
Commits
dd09c53b
Commit
dd09c53b
authored
Oct 30, 2020
by
Ha YeaJin
Browse files
react-bootstrap install
parent
98431c1e
Changes
5
Hide whitespace changes
Inline
Side-by-side
server/client/package-lock.json
View file @
dd09c53b
...
@@ -1423,6 +1423,25 @@
...
@@ -1423,6 +1423,25 @@
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
"integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw=="
"integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw=="
},
},
"@popperjs/core": {
"version": "2.5.3",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.5.3.tgz",
"integrity": "sha512-RFwCobxsvZ6j7twS7dHIZQZituMIDJJNHS/qY6iuthVebxS3zhRY+jaC2roEKiAYaVuTcGmX6Luc6YBcf6zJVg=="
},
"@restart/context": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/@restart/context/-/context-2.1.4.tgz",
"integrity": "sha512-INJYZQJP7g+IoDUh/475NlGiTeMfwTXUEr3tmRneckHIxNolGOW9CTq83S8cxq0CgJwwcMzMJFchxvlwe7Rk8Q=="
},
"@restart/hooks": {
"version": "0.3.25",
"resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.3.25.tgz",
"integrity": "sha512-m2v3N5pxTsIiSH74/sb1yW8D9RxkJidGW+5Mfwn/lHb2QzhZNlaU1su7abSyT9EGf0xS/0waLjrf7/XxQHUk7w==",
"requires": {
"lodash": "^4.17.15",
"lodash-es": "^4.17.15"
}
},
"@sheerun/mutationobserver-shim": {
"@sheerun/mutationobserver-shim": {
"version": "0.3.3",
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/@sheerun/mutationobserver-shim/-/mutationobserver-shim-0.3.3.tgz",
"resolved": "https://registry.npmjs.org/@sheerun/mutationobserver-shim/-/mutationobserver-shim-0.3.3.tgz",
...
@@ -1704,6 +1723,11 @@
...
@@ -1704,6 +1723,11 @@
"@babel/types": "^7.3.0"
"@babel/types": "^7.3.0"
}
}
},
},
"@types/classnames": {
"version": "2.2.11",
"resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.2.11.tgz",
"integrity": "sha512-2koNhpWm3DgWRp5tpkiJ8JGc1xTn2q0l+jUNUE7oMKXUf5NpI9AIdC4kbjGNFBdHtcxBD18LAksoudAVhFKCjw=="
},
"@types/color-name": {
"@types/color-name": {
"version": "1.1.1",
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
"resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
...
@@ -1723,6 +1747,11 @@
...
@@ -1723,6 +1747,11 @@
"@types/node": "*"
"@types/node": "*"
}
}
},
},
"@types/invariant": {
"version": "2.2.34",
"resolved": "https://registry.npmjs.org/@types/invariant/-/invariant-2.2.34.tgz",
"integrity": "sha512-lYUtmJ9BqUN688fGY1U1HZoWT1/Jrmgigx2loq4ZcJpICECm/Om3V314BxdzypO0u5PORKGMM6x0OXaljV1YFg=="
},
"@types/istanbul-lib-coverage": {
"@types/istanbul-lib-coverage": {
"version": "2.0.3",
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
...
@@ -1792,6 +1821,14 @@
...
@@ -1792,6 +1821,14 @@
"@types/react": "*"
"@types/react": "*"
}
}
},
},
"@types/react-transition-group": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.0.tgz",
"integrity": "sha512-/QfLHGpu+2fQOqQaXh8MG9q03bFENooTb/it4jr5kKaZlDQfWvjqWZg48AwzPVMBHlRuTRAY7hRHCEOXz5kV6w==",
"requires": {
"@types/react": "*"
}
},
"@types/stack-utils": {
"@types/stack-utils": {
"version": "1.0.1",
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
...
@@ -1891,6 +1928,11 @@
...
@@ -1891,6 +1928,11 @@
}
}
}
}
},
},
"@types/warning": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@types/warning/-/warning-3.0.0.tgz",
"integrity": "sha1-DSUBJorY+ZYrdA04fEZU9fjiPlI="
},
"@types/yargs": {
"@types/yargs": {
"version": "13.0.10",
"version": "13.0.10",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.10.tgz",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.10.tgz",
...
@@ -3220,9 +3262,9 @@
...
@@ -3220,9 +3262,9 @@
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
},
},
"bootstrap": {
"bootstrap": {
"version": "4.5.
2
",
"version": "4.5.
3
",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.
2
.tgz",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.
3
.tgz",
"integrity": "sha512-
vlGn0bcySYl/iV+BGA544JkkZP5LB3jsmkeKLFQakCOwCM3AOk7VkldBz4jrzSe+Z0Ezn99NVXa1o45cQY4R6A
=="
"integrity": "sha512-
o9ppKQioXGqhw8Z7mah6KdTYpNQY//tipnkxppWhPbiSWdD+1raYsnhwEZjkTHYbGee4cVQ0Rx65EhOY/HNLcQ
=="
},
},
"brace-expansion": {
"brace-expansion": {
"version": "1.1.11",
"version": "1.1.11",
...
@@ -3678,6 +3720,11 @@
...
@@ -3678,6 +3720,11 @@
}
}
}
}
},
},
"classnames": {
"version": "2.2.6",
"resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz",
"integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q=="
},
"clean-css": {
"clean-css": {
"version": "4.2.3",
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz",
...
@@ -4763,6 +4810,15 @@
...
@@ -4763,6 +4810,15 @@
"utila": "~0.4"
"utila": "~0.4"
}
}
},
},
"dom-helpers": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.0.tgz",
"integrity": "sha512-Ru5o9+V8CpunKnz5LGgWXkmrH/20cGKwcHwS4m73zIvs54CN9epEmT/HLqFJW3kXpakAFkEdzgy1hzlJe3E4OQ==",
"requires": {
"@babel/runtime": "^7.8.7",
"csstype": "^3.0.2"
}
},
"dom-serializer": {
"dom-serializer": {
"version": "0.2.2",
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
...
@@ -10876,6 +10932,15 @@
...
@@ -10876,6 +10932,15 @@
"react-is": "^16.8.1"
"react-is": "^16.8.1"
}
}
},
},
"prop-types-extra": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.1.tgz",
"integrity": "sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==",
"requires": {
"react-is": "^16.3.2",
"warning": "^4.0.0"
}
},
"property-expr": {
"property-expr": {
"version": "2.0.4",
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.4.tgz",
"resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.4.tgz",
...
@@ -11078,6 +11143,31 @@
...
@@ -11078,6 +11143,31 @@
"whatwg-fetch": "^3.0.0"
"whatwg-fetch": "^3.0.0"
}
}
},
},
"react-bootstrap": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-1.4.0.tgz",
"integrity": "sha512-0BMzgeUAxH126v7VYDzIXbHxQVHSnniPVKpz9fblumdQpWaiElMnnzk+u8h8DoELX0nCXwPlcUzgXqmpncdc2Q==",
"requires": {
"@babel/runtime": "^7.4.2",
"@restart/context": "^2.1.4",
"@restart/hooks": "^0.3.21",
"@types/classnames": "^2.2.10",
"@types/invariant": "^2.2.33",
"@types/prop-types": "^15.7.3",
"@types/react": "^16.9.35",
"@types/react-transition-group": "^4.4.0",
"@types/warning": "^3.0.0",
"classnames": "^2.2.6",
"dom-helpers": "^5.1.2",
"invariant": "^2.2.4",
"prop-types": "^15.7.2",
"prop-types-extra": "^1.1.0",
"react-overlays": "^4.1.0",
"react-transition-group": "^4.4.1",
"uncontrollable": "^7.0.0",
"warning": "^4.0.3"
}
},
"react-dev-utils": {
"react-dev-utils": {
"version": "10.2.1",
"version": "10.2.1",
"resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-10.2.1.tgz",
"resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-10.2.1.tgz",
...
@@ -11305,6 +11395,36 @@
...
@@ -11305,6 +11395,36 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
},
"react-lifecycles-compat": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
"integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
},
"react-overlays": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/react-overlays/-/react-overlays-4.1.1.tgz",
"integrity": "sha512-WtJifh081e6M24KnvTQoNjQEpz7HoLxqt8TwZM7LOYIkYJ8i/Ly1Xi7RVte87ZVnmqQ4PFaFiNHZhSINPSpdBQ==",
"requires": {
"@babel/runtime": "^7.12.1",
"@popperjs/core": "^2.5.3",
"@restart/hooks": "^0.3.25",
"@types/warning": "^3.0.0",
"dom-helpers": "^5.2.0",
"prop-types": "^15.7.2",
"uncontrollable": "^7.0.0",
"warning": "^4.0.3"
},
"dependencies": {
"@babel/runtime": {
"version": "7.12.1",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.1.tgz",
"integrity": "sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA==",
"requires": {
"regenerator-runtime": "^0.13.4"
}
}
}
},
"react-router": {
"react-router": {
"version": "5.2.0",
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz",
"resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz",
...
@@ -11411,6 +11531,17 @@
...
@@ -11411,6 +11531,17 @@
"workbox-webpack-plugin": "4.3.1"
"workbox-webpack-plugin": "4.3.1"
}
}
},
},
"react-transition-group": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.1.tgz",
"integrity": "sha512-Djqr7OQ2aPUiYurhPalTrVy9ddmFCCzwhqQmtN+J3+3DzLO209Fdr70QrN8Z3DsglWql6iY1lDWAfpFiBtuKGw==",
"requires": {
"@babel/runtime": "^7.5.5",
"dom-helpers": "^5.0.1",
"loose-envify": "^1.4.0",
"prop-types": "^15.6.2"
}
},
"read-pkg": {
"read-pkg": {
"version": "3.0.0",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
...
@@ -13511,6 +13642,17 @@
...
@@ -13511,6 +13642,17 @@
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
},
},
"uncontrollable": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.1.1.tgz",
"integrity": "sha512-EcPYhot3uWTS3w00R32R2+vS8Vr53tttrvMj/yA1uYRhf8hbTG2GyugGqWDY0qIskxn0uTTojVd6wPYW9ZEf8Q==",
"requires": {
"@babel/runtime": "^7.6.3",
"@types/react": "^16.9.11",
"invariant": "^2.2.4",
"react-lifecycles-compat": "^3.0.4"
}
},
"unicode-canonical-property-names-ecmascript": {
"unicode-canonical-property-names-ecmascript": {
"version": "1.0.4",
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
...
@@ -13822,6 +13964,14 @@
...
@@ -13822,6 +13964,14 @@
"makeerror": "1.0.x"
"makeerror": "1.0.x"
}
}
},
},
"warning": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
"integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
"requires": {
"loose-envify": "^1.0.0"
}
},
"watchpack": {
"watchpack": {
"version": "1.7.4",
"version": "1.7.4",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz",
...
...
server/client/package.json
View file @
dd09c53b
...
@@ -8,12 +8,13 @@
...
@@ -8,12 +8,13 @@
"@testing-library/user-event"
:
"^7.2.1"
,
"@testing-library/user-event"
:
"^7.2.1"
,
"axios"
:
"^0.20.0"
,
"axios"
:
"^0.20.0"
,
"bcrypt"
:
"^5.0.0"
,
"bcrypt"
:
"^5.0.0"
,
"bootstrap"
:
"^4.5.
2
"
,
"bootstrap"
:
"^4.5.
3
"
,
"formik"
:
"^2.1.5"
,
"formik"
:
"^2.1.5"
,
"jquery"
:
"^3.5.1"
,
"jquery"
:
"^3.5.1"
,
"mongoose"
:
"^5.10.6"
,
"mongoose"
:
"^5.10.6"
,
"popper.js"
:
"^1.16.1"
,
"popper.js"
:
"^1.16.1"
,
"react"
:
"^16.13.1"
,
"react"
:
"^16.13.1"
,
"react-bootstrap"
:
"^1.4.0"
,
"react-dom"
:
"^16.13.1"
,
"react-dom"
:
"^16.13.1"
,
"react-router-dom"
:
"^5.2.0"
,
"react-router-dom"
:
"^5.2.0"
,
"react-scripts"
:
"3.4.3"
,
"react-scripts"
:
"3.4.3"
,
...
...
server/client/src/Pages/LoginPage.js
View file @
dd09c53b
...
@@ -4,10 +4,10 @@ import { Link, Redirect } from 'react-router-dom';
...
@@ -4,10 +4,10 @@ import { Link, Redirect } from 'react-router-dom';
import
{
Formik
}
from
'
formik
'
;
import
{
Formik
}
from
'
formik
'
;
import
*
as
Yup
from
'
yup
'
;
import
*
as
Yup
from
'
yup
'
;
import
axios
from
'
axios
'
;
import
axios
from
'
axios
'
;
import
'
bootstrap/dist/css/bootstrap.css
'
;
import
Logo
from
'
../icon.png
'
;
import
Logo
from
'
../icon.png
'
;
import
{
Container
,
Row
}
from
'
react-bootstrap
'
;
const
Asd
=
styled
.
div
`
const
Col_1
=
styled
.
div
`
background-color: #7B031D;
background-color: #7B031D;
&.web {
&.web {
...
@@ -35,7 +35,7 @@ const Asd = styled.div`
...
@@ -35,7 +35,7 @@ const Asd = styled.div`
}
}
`
`
const
Asdf
=
styled
.
div
`
const
Col_2
=
styled
.
div
`
background-color: rgb(239, 218, 200);
background-color: rgb(239, 218, 200);
a {
a {
color : #7B031D;
color : #7B031D;
...
@@ -104,88 +104,90 @@ function Login() {
...
@@ -104,88 +104,90 @@ function Login() {
return
<
Redirect
to
=
"
/home
"
/>
;
return
<
Redirect
to
=
"
/home
"
/>
;
}
}
return
(
return
(
<
div
className
=
"
row vw-100 vh-100 m-0
"
>
<
Container
fluid
className
=
"
p-0
"
>
<
Asd
className
=
{
"
col-md-4 col-12
"
+
(
mobile
?
"
mobile
"
:
"
web
"
)}
>
<
Row
className
=
"
vw-100 vh-100 m-0
"
>
<
div
className
=
{
mobile
?
"
mob-head
"
:
""
}
>
<
Col_1
className
=
{
"
col-md-4 col-12
"
+
(
mobile
?
"
mobile
"
:
"
web
"
)}
>
<
img
className
=
{
mobile
?
"
mob-img
"
:
"
img-fluid
"
}
src
=
{
Logo
}
/
>
<
div
className
=
{
mobile
?
"
mob-head
"
:
""
}
>
<
div
className
=
{
"
d-flex
"
+
(
mobile
?
"
align-items-center
"
:
"
justify-content-center
"
)}
>
<
img
className
=
{
mobile
?
"
mob-img
"
:
"
img-fluid
"
}
src
=
{
Logo
}
/
>
<
h1
className
=
"
font-weight-bold text-white text-center
"
>
고려대학교
<
br
/>
대관
서비스
<
/h1
>
<
div
className
=
{
"
d-flex
"
+
(
mobile
?
"
align-items-center
"
:
"
justify-content-center
"
)}
>
<
h1
className
=
"
font-weight-bold text-white text-center
"
>
고려대학교
<
br
/>
대관
서비스
<
/h1
>
<
/div
>
<
/div
>
<
/div
>
<
/
div
>
<
/
Col_1
>
<
/Asd
>
<
Col_2
className
=
{
"
col-md-8 col-12
"
+
(
mobile
?
"
mob-formik p-0
"
:
"
web-formik
"
)}
>
<
Asdf
className
=
{
"
col-md-8 col-12
"
+
(
mobile
?
"
mob-formik p-0
"
:
"
web-f
ormik
"
)}
>
<
F
ormik
<
Formik
initialValues
=
{{
id
:
''
,
password
:
''
}}
initialValues
=
{{
id
:
''
,
password
:
''
}}
validationSchema
=
{
Yup
.
object
({
validationSchema
=
{
Yup
.
object
({
id
:
Yup
.
string
()
id
:
Yup
.
string
()
.
required
(
'
학번을 입력해주세요.
'
),
.
required
(
'
학번을 입력해주세요.
'
),
password
:
Yup
.
string
()
password
:
Yup
.
string
(
)
.
required
(
'
비밀번호를 입력해주세요.
'
)
.
required
(
'
비밀번호를
입력해주세요.
'
)
.
min
(
8
,
'
8자 이상
입력해주세요.
'
)
,
.
min
(
8
,
'
8자 이상 입력해주세요.
'
),
})}
})}
onSubmit
=
{(
values
,
{
setSubmitting
})
=>
{
onSubmit
=
{(
values
,
{
setSubmitting
})
=>
{
axios
(
{
axios
({
method
:
'
post
'
,
method
:
'
post
'
,
url
:
'
/login
'
,
url
:
'
/login
'
,
data
:
values
,
data
:
values
,
}).
then
(
res
=>
{
}).
then
(
res
=>
{
if
(
res
.
status
===
404
)
return
alert
(
res
.
data
.
error
)
if
(
res
.
status
===
404
)
return
alert
(
res
.
data
.
error
)
localStorage
.
setItem
(
'
token
'
,
res
.
data
.
token
);
localStorage
.
setItem
(
'
token
'
,
res
.
data
.
token
);
localStorage
.
setItem
(
'
_id
'
,
res
.
data
.
users
.
_id
);
localStorage
.
setItem
(
'
_id
'
,
res
.
data
.
users
.
_id
);
localStorage
.
setItem
(
'
name
'
,
res
.
data
.
users
.
name
);
localStorage
.
setItem
(
'
name
'
,
res
.
data
.
users
.
nam
e
);
setState
(
tru
e
);
setState
(
true
);
})
})
.
catch
(
err
=>
{
.
catch
(
err
=>
{
alert
(
err
.
error
)
alert
(
err
.
error
)
});
});
setTimeout
(()
=>
{
setTimeout
(()
=>
{
setSubmitting
(
false
);
setSubmitting
(
false
);
},
400
);
// finish the cycle in handler
}
,
400
);
// finish the cycle in handler
}
}
}}
>
>
{({
{({
errors
,
errors
,
touched
,
touched
,
handleSubmit
,
handleSubmit
,
getFieldProps
,
// contain values, handleChange, handleBlur
getFieldProps
,
// contain values, handleChange, handleBlur
isSubmitting
,
isSubmitting
,
})
=>
(
})
=>
(
<
form
onSubmit
=
{
handleSubmit
}
className
=
{
mobile
?
"
w-75 h-50vh
"
:
"
d-flex webb
"
}
>
<
form
onSubmit
=
{
handleSubmit
}
className
=
{
mobile
?
"
w-75 h-50vh
"
:
"
d-flex webb
"
}
>
<
div
className
=
{
mobile
?
"
mobb
"
:
"
qwer
"
}
>
<
div
className
=
{
mobile
?
"
mob
b
"
:
"
q
we
r
"
}
>
<
div
className
=
{
(
mobile
?
"
mob
-
"
:
"
we
b-
"
)
+
"
input-form
"
}
>
<
div
className
=
{(
mobile
?
"
m
o
b-
"
:
"
web-
"
)
+
"
input-form
"
}
>
<
div
className
=
{
"
form-group m-0
"
+
(
mobile
?
"
mb-
2
"
:
""
)
}
>
<
div
className
=
{
"
form-group m-0
"
+
(
mobile
?
"
mb-2
"
:
""
)}
>
<
input
<
input
className
=
{(
touched
.
id
&&
errors
.
id
?
'
form-control is-invalid
'
:
"
form-control
"
)}
className
=
{(
touched
.
id
&&
errors
.
id
?
'
form-control is-invalid
'
:
"
form-control
"
)}
type
=
"
number
"
type
=
"
number
"
name
=
"
id
"
name
=
"
id
"
{...
getFieldProps
(
'
id
'
)}
{...
getFieldProps
(
'
id
'
)}
placeholder
=
"
Input Student Id
"
placeholder
=
"
Input Student Id
"
/>
/
>
<
/div
>
<
/div
>
<
div
className
=
"
form-group m-0
"
>
<
div
className
=
"
form-group m-0
"
>
<
input
<
input
className
=
{(
touched
.
password
&&
errors
.
password
?
'
form-control is-invalid
'
:
"
form-control
"
)}
className
=
{(
touched
.
password
&&
errors
.
password
?
'
form-control is-invalid
'
:
"
form-control
"
)}
type
=
"
password
"
typ
e
=
"
password
"
nam
e
=
"
password
"
name
=
"
password
"
{...
getFieldProps
(
'
password
'
)}
{...
getFieldProps
(
'
p
assword
'
)}
placeholder
=
"
Input P
assword
"
placeholder
=
"
Input Password
"
/>
/
>
<
/div
>
<
/div
>
<
/div
>
<
button
type
=
"
submit
"
className
=
{
"
btn btn-dark
"
+
(
mobile
?
"
w-100
"
:
"
w-20
"
)}
disabled
=
{
isSubmitting
}
>
Login
<
/button
>
<
/div
>
<
/div
>
<
button
type
=
"
submit
"
className
=
{
"
btn btn-dark
"
+
(
mobile
?
"
w-100
"
:
"
w-20
"
)}
disabled
=
{
isSubmitting
}
>
Login
<
/button
>
<
/div
>
<
div
><
Link
to
=
"
/find
"
>
비밀번호를
잊으셨나요
?
<
/Link></
div
>
<
div
><
Link
to
=
"
/find
"
>
비밀번호를
잊으셨나요
?
<
/Link></
div
>
<
div
><
Link
to
=
"
/signup
"
>
회원이
아니신가요
?
<
/Link></
div
>
<
div
><
Link
to
=
"
/signup
"
>
회원이
아니신가요
?
<
/Link></
div
>
<
/form
>
<
/form
>
)}
)}
<
/Formik
>
<
/Col_2
>
<
/Row
>
<
/Container
>
<
/Formik
>
<
/Asdf
>
<
/div
>
)
)
}
}
...
...
server/client/src/index.js
View file @
dd09c53b
...
@@ -2,7 +2,7 @@ import React from 'react';
...
@@ -2,7 +2,7 @@ import React from 'react';
import
ReactDOM
from
'
react-dom
'
;
import
ReactDOM
from
'
react-dom
'
;
import
*
as
serviceWorker
from
'
./serviceWorker
'
;
import
*
as
serviceWorker
from
'
./serviceWorker
'
;
import
{
BrowserRouter
as
Router
,
Route
,
Redirect
,
Switch
}
from
'
react-router-dom
'
;
import
{
BrowserRouter
as
Router
,
Route
,
Redirect
,
Switch
}
from
'
react-router-dom
'
;
import
'
bootstrap
'
;
//
import 'bootstrap';
import
'
bootstrap/dist/css/bootstrap.css
'
;
import
'
bootstrap/dist/css/bootstrap.css
'
;
import
axios
from
'
axios
'
;
import
axios
from
'
axios
'
;
import
{
PrivateRoute
}
from
'
./Components/PrivateRoute
'
;
import
{
PrivateRoute
}
from
'
./Components/PrivateRoute
'
;
...
...
server/schemas/index.js
View file @
dd09c53b
...
@@ -5,7 +5,7 @@ module.exports = () => {
...
@@ -5,7 +5,7 @@ module.exports = () => {
if
(
process
.
env
.
NODE_ENV
!==
'
production
'
)
{
if
(
process
.
env
.
NODE_ENV
!==
'
production
'
)
{
mongoose
.
set
(
'
debug
'
,
true
);
mongoose
.
set
(
'
debug
'
,
true
);
}
}
mongoose
.
connect
(
'
mongodb://
rkyoung7:rkdud12
7@localhost:27017/admin
'
,
{
mongoose
.
connect
(
'
mongodb://
hyj:hyj365
7@localhost:27017/admin
'
,
{
dbName
:
'
ku_rental
'
,
useNewUrlParser
:
true
,
useUnifiedTopology
:
true
,
dbName
:
'
ku_rental
'
,
useNewUrlParser
:
true
,
useUnifiedTopology
:
true
,
},
(
error
)
=>
{
},
(
error
)
=>
{
if
(
error
)
{
if
(
error
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment