diff --git a/package-lock.json b/package-lock.json
index 32a244a2c..e062401be 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4,53 +4,6 @@
"lockfileVersion": 1,
"requires": true,
"dependencies": {
- "@ant-design/colors": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-6.0.0.tgz",
- "integrity": "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==",
- "requires": {
- "@ctrl/tinycolor": "^3.4.0"
- }
- },
- "@ant-design/icons": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-4.6.2.tgz",
- "integrity": "sha512-QsBG2BxBYU/rxr2eb8b2cZ4rPKAPBpzAR+0v6rrZLp/lnyvflLH3tw1vregK+M7aJauGWjIGNdFmUfpAOtw25A==",
- "requires": {
- "@ant-design/colors": "^6.0.0",
- "@ant-design/icons-svg": "^4.0.0",
- "@babel/runtime": "^7.11.2",
- "classnames": "^2.2.6",
- "rc-util": "^5.9.4"
- },
- "dependencies": {
- "@babel/runtime": {
- "version": "7.13.10",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz",
- "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==",
- "requires": {
- "regenerator-runtime": "^0.13.4"
- }
- }
- }
- },
- "@ant-design/icons-svg": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.1.0.tgz",
- "integrity": "sha512-Fi03PfuUqRs76aI3UWYpP864lkrfPo0hluwGqh7NJdLhvH4iRDc3jbJqZIvRDLHKbXrvAfPPV3+zjUccfFvWOQ=="
- },
- "@ant-design/react-slick": {
- "version": "0.28.2",
- "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-0.28.2.tgz",
- "integrity": "sha512-nkrvXsO29pLToFaBb3MlJY4McaUFR4UHtXTz6A5HBzYmxH4SwKerX54mWdGc/6tKpHvS3vUwjEOt2T5XqZEo8Q==",
- "requires": {
- "@babel/runtime": "^7.10.4",
- "classnames": "^2.2.5",
- "json2mq": "^0.2.0",
- "lodash": "^4.17.15",
- "resize-observer-polyfill": "^1.5.0"
- }
- },
"@babel/code-frame": {
"version": "7.8.3",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
@@ -3174,11 +3127,6 @@
"resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-10.1.0.tgz",
"integrity": "sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg=="
},
- "@ctrl/tinycolor": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.4.0.tgz",
- "integrity": "sha512-JZButFdZ1+/xAfpguQHoabIXkcqRRKpMrWKBkpEZZyxfY9C1DpADFB8PEqGSTeFr135SaTRfKqGKx5xSCLI7ZQ=="
- },
"@date-io/core": {
"version": "1.3.13",
"resolved": "https://registry.npmjs.org/@date-io/core/-/core-1.3.13.tgz",
@@ -3560,12 +3508,6 @@
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
"integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw=="
},
- "@polka/url": {
- "version": "1.0.0-next.15",
- "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.15.tgz",
- "integrity": "sha512-15spi3V28QdevleWBNXE4pIls3nFZmBbUGrW9IVPwiQczuSb9n76TCB4bsk8TSel+I1OkHEdPhu5QKMfY6rQHA==",
- "dev": true
- },
"@reduxjs/toolkit": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.4.0.tgz",
@@ -4527,70 +4469,6 @@
"color-convert": "^1.9.0"
}
},
- "antd": {
- "version": "4.15.0",
- "resolved": "https://registry.npmjs.org/antd/-/antd-4.15.0.tgz",
- "integrity": "sha512-24HMixmQAhCyqb0ND5wX5DYRTbPactCT36mfVKowqgr77eT7XQ59Uu6aS513mbeiVhXcHrNlrlCKNZBSeEDgPg==",
- "requires": {
- "@ant-design/colors": "^6.0.0",
- "@ant-design/icons": "^4.6.2",
- "@ant-design/react-slick": "~0.28.1",
- "@babel/runtime": "^7.12.5",
- "array-tree-filter": "^2.1.0",
- "classnames": "^2.2.6",
- "copy-to-clipboard": "^3.2.0",
- "lodash": "^4.17.20",
- "moment": "^2.25.3",
- "rc-cascader": "~1.4.0",
- "rc-checkbox": "~2.3.0",
- "rc-collapse": "~3.1.0",
- "rc-dialog": "~8.5.1",
- "rc-drawer": "~4.3.0",
- "rc-dropdown": "~3.2.0",
- "rc-field-form": "~1.20.0",
- "rc-image": "~5.2.4",
- "rc-input-number": "~7.0.1",
- "rc-mentions": "~1.5.0",
- "rc-menu": "~8.10.0",
- "rc-motion": "^2.4.0",
- "rc-notification": "~4.5.2",
- "rc-pagination": "~3.1.6",
- "rc-picker": "~2.5.10",
- "rc-progress": "~3.1.0",
- "rc-rate": "~2.9.0",
- "rc-resize-observer": "^1.0.0",
- "rc-select": "~12.1.6",
- "rc-slider": "~9.7.1",
- "rc-steps": "~4.1.0",
- "rc-switch": "~3.2.0",
- "rc-table": "~7.13.0",
- "rc-tabs": "~11.7.0",
- "rc-textarea": "~0.3.0",
- "rc-tooltip": "~5.1.0",
- "rc-tree": "~4.1.0",
- "rc-tree-select": "~4.3.0",
- "rc-trigger": "^5.2.1",
- "rc-upload": "~4.2.0-alpha.0",
- "rc-util": "^5.9.4",
- "scroll-into-view-if-needed": "^2.2.25",
- "warning": "^4.0.3"
- },
- "dependencies": {
- "@babel/runtime": {
- "version": "7.13.10",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz",
- "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==",
- "requires": {
- "regenerator-runtime": "^0.13.4"
- }
- },
- "lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
- }
- }
- },
"anymatch": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
@@ -4672,11 +4550,6 @@
"is-string": "^1.0.5"
}
},
- "array-tree-filter": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz",
- "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw=="
- },
"array-union": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
@@ -4785,11 +4658,6 @@
"resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
"integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="
},
- "async-validator": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-3.5.1.tgz",
- "integrity": "sha512-DDmKA7sdSAJtTVeNZHrnr2yojfFaoeW8MfQN8CeuXg8DDQHTqKk9Fdv38dSvnesHoO8MUwMI2HphOeSyIF+wmQ=="
- },
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
@@ -4805,6 +4673,14 @@
"resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.1.0.tgz",
"integrity": "sha512-sLzVM3zCCmmDtDNhI0i96k6PUztkotSOXqE4kDGQt/6iDi5M+H0srjeF+QC6jN581l4X/Zq3Zu/tgcErEssavg=="
},
+ "auto-bind": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-2.1.1.tgz",
+ "integrity": "sha512-NUwV1i9D3vxxY1KnfZgSZ716d6ovY7o8LfOwLhGIPFBowIb6Ln6DBW64+jCqPzUznel2hRSkQnYQqvh7/ldw8A==",
+ "requires": {
+ "@types/react": "^16.8.12"
+ }
+ },
"autoprefixer": {
"version": "9.8.4",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.4.tgz",
@@ -6128,11 +6004,6 @@
}
}
},
- "compute-scroll-into-view": {
- "version": "1.0.17",
- "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.17.tgz",
- "integrity": "sha512-j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg=="
- },
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -6266,14 +6137,6 @@
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
},
- "copy-to-clipboard": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz",
- "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==",
- "requires": {
- "toggle-selection": "^1.0.6"
- }
- },
"core-js": {
"version": "3.6.5",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz",
@@ -7020,11 +6883,6 @@
"resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.3.0.tgz",
"integrity": "sha512-PzwHEmsRP3IGY4gv/Ug+rMeaTIyTJvadCb+ujYXYeIylbHJezIyNToe8KfEgHTCEYyC+/bUghYOGg8yMGlZ6vA=="
},
- "dom-align": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.0.tgz",
- "integrity": "sha512-YkoezQuhp3SLFGdOlr5xkqZ640iXrnHAwVYcDg8ZKRUtO7mSzSC2BA5V0VuyAwPSJA4CLIc6EDDJh4bEsD2+zA=="
- },
"dom-converter": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
@@ -10101,14 +9959,6 @@
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
},
- "json2mq": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz",
- "integrity": "sha1-tje9O6nqvhIsg+lyBIOusQ0skEo=",
- "requires": {
- "string-convert": "^0.2.0"
- }
- },
"json3": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz",
@@ -10746,15 +10596,6 @@
}
}
},
- "mini-store": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/mini-store/-/mini-store-3.0.6.tgz",
- "integrity": "sha512-YzffKHbYsMQGUWQRKdsearR79QsMzzJcDDmZKlJBqt5JNkqpyJHYlK6gP61O36X+sLf76sO9G6mhKBe83gIZIQ==",
- "requires": {
- "hoist-non-react-statics": "^3.3.2",
- "shallowequal": "^1.0.2"
- }
- },
"minimalistic-assert": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
@@ -10870,11 +10711,6 @@
"minimist": "^1.2.5"
}
},
- "moment": {
- "version": "2.27.0",
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.27.0.tgz",
- "integrity": "sha512-al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ=="
- },
"move-concurrently": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
@@ -13020,463 +12856,6 @@
}
}
},
- "rc-align": {
- "version": "4.0.9",
- "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-4.0.9.tgz",
- "integrity": "sha512-myAM2R4qoB6LqBul0leaqY8gFaiECDJ3MtQDmzDo9xM9NRT/04TvWOYd2YHU9zvGzqk9QXF6S9/MifzSKDZeMw==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "2.x",
- "dom-align": "^1.7.0",
- "rc-util": "^5.3.0",
- "resize-observer-polyfill": "^1.5.1"
- }
- },
- "rc-cascader": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-1.4.2.tgz",
- "integrity": "sha512-JVuLGrSi+3G8DZyPvlKlGVWJjhoi9NTz6REHIgRspa5WnznRkKGm2ejb0jJtz0m2IL8Q9BG4ZA2sXuqAu71ltQ==",
- "requires": {
- "@babel/runtime": "^7.12.5",
- "array-tree-filter": "^2.1.0",
- "rc-trigger": "^5.0.4",
- "rc-util": "^5.0.1",
- "warning": "^4.0.1"
- },
- "dependencies": {
- "@babel/runtime": {
- "version": "7.13.10",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz",
- "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==",
- "requires": {
- "regenerator-runtime": "^0.13.4"
- }
- }
- }
- },
- "rc-checkbox": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-2.3.2.tgz",
- "integrity": "sha512-afVi1FYiGv1U0JlpNH/UaEXdh6WUJjcWokj/nUN2TgG80bfG+MDdbfHKlLcNNba94mbjy2/SXJ1HDgrOkXGAjg==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.1"
- }
- },
- "rc-collapse": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.1.0.tgz",
- "integrity": "sha512-EwpNPJcLe7b+5JfyaxM9ZNnkCgqArt3QQO0Cr5p5plwz/C9h8liAmjYY5I4+hl9lAjBqb7ZwLu94+z+rt5g1WQ==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "2.x",
- "rc-motion": "^2.3.4",
- "rc-util": "^5.2.1",
- "shallowequal": "^1.1.0"
- }
- },
- "rc-dialog": {
- "version": "8.5.2",
- "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-8.5.2.tgz",
- "integrity": "sha512-3n4taFcjqhTE9uNuzjB+nPDeqgRBTEGBfe46mb1e7r88DgDo0lL4NnxY/PZ6PJKd2tsCt+RrgF/+YeTvJ/Thsw==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.6",
- "rc-motion": "^2.3.0",
- "rc-util": "^5.6.1"
- }
- },
- "rc-drawer": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-4.3.1.tgz",
- "integrity": "sha512-GMfFy4maqxS9faYXEhQ+0cA1xtkddEQzraf6SAdzWbn444DrrLogwYPk1NXSpdXjLCLxgxOj9MYtyYG42JsfXg==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.6",
- "rc-util": "^5.7.0"
- }
- },
- "rc-dropdown": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-3.2.0.tgz",
- "integrity": "sha512-j1HSw+/QqlhxyTEF6BArVZnTmezw2LnSmRk6I9W7BCqNCKaRwleRmMMs1PHbuaG8dKHVqP6e21RQ7vPBLVnnNw==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.6",
- "rc-trigger": "^5.0.4"
- }
- },
- "rc-field-form": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.20.0.tgz",
- "integrity": "sha512-jkzsIfXR7ywEYdeAtktt1aLff88wxIPDLpq7KShHNl4wlsWrCE+TzkXBfjvVzYOVZt5GGrD8YDqNO/q6eaR/eA==",
- "requires": {
- "@babel/runtime": "^7.8.4",
- "async-validator": "^3.0.3",
- "rc-util": "^5.8.0"
- }
- },
- "rc-image": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-5.2.4.tgz",
- "integrity": "sha512-kWOjhZC1OoGKfvWqtDoO9r8WUNswBwnjcstI6rf7HMudz0usmbGvewcWqsOhyaBRJL9+I4eeG+xiAoxV1xi75Q==",
- "requires": {
- "@babel/runtime": "^7.11.2",
- "classnames": "^2.2.6",
- "rc-dialog": "~8.5.0",
- "rc-util": "^5.0.6"
- },
- "dependencies": {
- "@babel/runtime": {
- "version": "7.13.10",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz",
- "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==",
- "requires": {
- "regenerator-runtime": "^0.13.4"
- }
- }
- }
- },
- "rc-input-number": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-7.0.3.tgz",
- "integrity": "sha512-y0nVqVANWyxQbm/vdhz1p5E1V5Y6Yd2+3MGKntSzCxrYgw0F7/COXkbRdcTECnXwiDv8ZrbYQ1pTP3u43PqE4Q==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.5",
- "rc-util": "^5.0.1"
- }
- },
- "rc-mentions": {
- "version": "1.5.3",
- "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-1.5.3.tgz",
- "integrity": "sha512-NG/KB8YiKBCJPHHvr/QapAb4f9YzLJn7kDHtmI1K6t7ZMM5YgrjIxNNhoRKKP9zJvb9PdPts69Hbg4ZMvLVIFQ==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.6",
- "rc-menu": "^8.0.1",
- "rc-textarea": "^0.3.0",
- "rc-trigger": "^5.0.4",
- "rc-util": "^5.0.1"
- }
- },
- "rc-menu": {
- "version": "8.10.7",
- "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-8.10.7.tgz",
- "integrity": "sha512-m/ypV7OjkkUsMdutzMUxEI8tWyi0Y1TQ5YkSDk7k2uv2aCKkHYEoDKsDAfcPeejo3HMo2z5unWE+jD+dCphraw==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "2.x",
- "mini-store": "^3.0.1",
- "rc-motion": "^2.0.1",
- "rc-trigger": "^5.1.2",
- "rc-util": "^5.7.0",
- "resize-observer-polyfill": "^1.5.0",
- "shallowequal": "^1.1.0"
- }
- },
- "rc-motion": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.4.1.tgz",
- "integrity": "sha512-TWLvymfMu8SngPx5MDH8dQ0D2RYbluNTfam4hY/dNNx9RQ3WtGuZ/GXHi2ymLMzH+UNd6EEFYkOuR5JTTtm8Xg==",
- "requires": {
- "@babel/runtime": "^7.11.1",
- "classnames": "^2.2.1",
- "rc-util": "^5.2.1"
- },
- "dependencies": {
- "@babel/runtime": {
- "version": "7.13.10",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz",
- "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==",
- "requires": {
- "regenerator-runtime": "^0.13.4"
- }
- }
- }
- },
- "rc-notification": {
- "version": "4.5.5",
- "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-4.5.5.tgz",
- "integrity": "sha512-YIfhTSw+h5GsSdgMnuMx24wqiPlg3FeamuOlkh9RkyHx+SeZVAKzQ0juy2NGvPEF2hDWi5xTqxUqLdo0L2AmGg==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "2.x",
- "rc-motion": "^2.2.0",
- "rc-util": "^5.0.1"
- }
- },
- "rc-overflow": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.0.2.tgz",
- "integrity": "sha512-GXj4DAyNxm4f57LvXLwhJaZoJHzSge2l2lQq64MZP7NJAfLpQqOLD+v9JMV9ONTvDPZe8kdzR+UMmkAn7qlzFA==",
- "requires": {
- "@babel/runtime": "^7.11.1",
- "classnames": "^2.2.1",
- "rc-resize-observer": "^1.0.0",
- "rc-util": "^5.5.1"
- },
- "dependencies": {
- "@babel/runtime": {
- "version": "7.13.10",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz",
- "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==",
- "requires": {
- "regenerator-runtime": "^0.13.4"
- }
- }
- }
- },
- "rc-pagination": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-3.1.6.tgz",
- "integrity": "sha512-Pb2zJEt8uxXzYCWx/2qwsYZ3vSS9Eqdw0cJBli6C58/iYhmvutSBqrBJh51Z5UzYc5ZcW5CMeP5LbbKE1J3rpw==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.1"
- }
- },
- "rc-picker": {
- "version": "2.5.10",
- "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-2.5.10.tgz",
- "integrity": "sha512-d2or2jql9SSY8CaRPybpbKkXBq3bZ6g88UKyWQZBLTCrc92Xm87RfRC/P3UEQo/CLmia3jVF7IXVi1HmNe2DZA==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.1",
- "date-fns": "^2.15.0",
- "moment": "^2.24.0",
- "rc-trigger": "^5.0.4",
- "rc-util": "^5.4.0",
- "shallowequal": "^1.1.0"
- }
- },
- "rc-progress": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.1.3.tgz",
- "integrity": "sha512-Jl4fzbBExHYMoC6HBPzel0a9VmhcSXx24LVt/mdhDM90MuzoMCJjXZAlhA0V0CJi+SKjMhfBoIQ6Lla1nD4QNw==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.6"
- }
- },
- "rc-rate": {
- "version": "2.9.1",
- "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.9.1.tgz",
- "integrity": "sha512-MmIU7FT8W4LYRRHJD1sgG366qKtSaKb67D0/vVvJYR0lrCuRrCiVQ5qhfT5ghVO4wuVIORGpZs7ZKaYu+KMUzA==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.5",
- "rc-util": "^5.0.1"
- }
- },
- "rc-resize-observer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.0.0.tgz",
- "integrity": "sha512-RgKGukg1mlzyGdvzF7o/LGFC8AeoMH9aGzXTUdp6m+OApvmRdUuOscq/Y2O45cJA+rXt1ApWlpFoOIioXL3AGg==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.1",
- "rc-util": "^5.0.0",
- "resize-observer-polyfill": "^1.5.1"
- }
- },
- "rc-select": {
- "version": "12.1.7",
- "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-12.1.7.tgz",
- "integrity": "sha512-sLZlfp+U7Typ+jPM5gTi8I4/oJalRw8kyhxZZ9Q4mEfO2p+otd1Chmzhh+wPraBY3IwE0RZM2/x1Leg/kQKk/w==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "2.x",
- "rc-motion": "^2.0.1",
- "rc-overflow": "^1.0.0",
- "rc-trigger": "^5.0.4",
- "rc-util": "^5.0.1",
- "rc-virtual-list": "^3.2.0"
- }
- },
- "rc-slider": {
- "version": "9.7.2",
- "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-9.7.2.tgz",
- "integrity": "sha512-mVaLRpDo6otasBs6yVnG02ykI3K6hIrLTNfT5eyaqduFv95UODI9PDS6fWuVVehVpdS4ENgOSwsTjrPVun+k9g==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.5",
- "rc-tooltip": "^5.0.1",
- "rc-util": "^5.0.0",
- "shallowequal": "^1.1.0"
- }
- },
- "rc-steps": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-4.1.3.tgz",
- "integrity": "sha512-GXrMfWQOhN3sVze3JnzNboHpQdNHcdFubOETUHyDpa/U3HEKBZC3xJ8XK4paBgF4OJ3bdUVLC+uBPc6dCxvDYA==",
- "requires": {
- "@babel/runtime": "^7.10.2",
- "classnames": "^2.2.3",
- "rc-util": "^5.0.1"
- }
- },
- "rc-switch": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-3.2.2.tgz",
- "integrity": "sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.1",
- "rc-util": "^5.0.1"
- }
- },
- "rc-table": {
- "version": "7.13.3",
- "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.13.3.tgz",
- "integrity": "sha512-oP4fknjvKCZAaiDnvj+yzBaWcg+JYjkASbeWonU1BbrLcomkpKvMUgPODNEzg0QdXA9OGW0PO86h4goDSW06Kg==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.5",
- "rc-resize-observer": "^1.0.0",
- "rc-util": "^5.4.0",
- "shallowequal": "^1.1.0"
- }
- },
- "rc-tabs": {
- "version": "11.7.3",
- "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-11.7.3.tgz",
- "integrity": "sha512-5nd2NVss9TprPRV9r8N05SjQyAE7zDrLejxFLcbJ+BdLxSwnGnk3ws/Iq0smqKZUnPQC0XEvnpF3+zlllUUT2w==",
- "requires": {
- "@babel/runtime": "^7.11.2",
- "classnames": "2.x",
- "rc-dropdown": "^3.1.3",
- "rc-menu": "^8.6.1",
- "rc-resize-observer": "^1.0.0",
- "rc-util": "^5.5.0"
- },
- "dependencies": {
- "@babel/runtime": {
- "version": "7.13.10",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz",
- "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==",
- "requires": {
- "regenerator-runtime": "^0.13.4"
- }
- }
- }
- },
- "rc-textarea": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-0.3.4.tgz",
- "integrity": "sha512-ILUYx831ZukQPv3m7R4RGRtVVWmL1LV4ME03L22mvT56US0DGCJJaRTHs4vmpcSjFHItph5OTmhodY4BOwy81A==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.1",
- "rc-resize-observer": "^1.0.0",
- "rc-util": "^5.7.0"
- }
- },
- "rc-tooltip": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-5.1.0.tgz",
- "integrity": "sha512-pFqD1JZwNIpbdcefB7k5xREoHAWM/k3yQwYF0iminbmDXERgq4rvBfUwIvlCqqZSM7HDr9hYeYr6ZsVNaKtvCQ==",
- "requires": {
- "@babel/runtime": "^7.11.2",
- "rc-trigger": "^5.0.0"
- },
- "dependencies": {
- "@babel/runtime": {
- "version": "7.13.10",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz",
- "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==",
- "requires": {
- "regenerator-runtime": "^0.13.4"
- }
- }
- }
- },
- "rc-tree": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-4.1.5.tgz",
- "integrity": "sha512-q2vjcmnBDylGZ9/ZW4F9oZMKMJdbFWC7um+DAQhZG1nqyg1iwoowbBggUDUaUOEryJP+08bpliEAYnzJXbI5xQ==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "2.x",
- "rc-motion": "^2.0.1",
- "rc-util": "^5.0.0",
- "rc-virtual-list": "^3.0.1"
- }
- },
- "rc-tree-select": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-4.3.1.tgz",
- "integrity": "sha512-OeV8u5kBEJ8MbatP04Rh8T3boOHGjdGBTEm1a0bubBbB2GNNhlMOr4ZxezkHYtXf02JdBS/WyydmI/RMjXgtJA==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "2.x",
- "rc-select": "^12.0.0",
- "rc-tree": "^4.0.0",
- "rc-util": "^5.0.5"
- }
- },
- "rc-trigger": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-5.2.3.tgz",
- "integrity": "sha512-6Fokao07HUbqKIDkDRFEM0AGZvsvK0Fbp8A/KFgl1ngaqfO1nY037cISCG1Jm5fxImVsXp9awdkP7Vu5cxjjog==",
- "requires": {
- "@babel/runtime": "^7.11.2",
- "classnames": "^2.2.6",
- "rc-align": "^4.0.0",
- "rc-motion": "^2.0.0",
- "rc-util": "^5.5.0"
- },
- "dependencies": {
- "@babel/runtime": {
- "version": "7.13.10",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz",
- "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==",
- "requires": {
- "regenerator-runtime": "^0.13.4"
- }
- }
- }
- },
- "rc-upload": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.2.0.tgz",
- "integrity": "sha512-BXtvBs1PnwLjaUzBBU5z4yb9NMSaxc6mUIoPmS9LUAzaTz12L3TLrwu+8dnopYUiyLmYFS3LEO7aUfEWBqJfSA==",
- "requires": {
- "@babel/runtime": "^7.10.1",
- "classnames": "^2.2.5",
- "rc-util": "^5.2.0"
- }
- },
- "rc-util": {
- "version": "5.9.8",
- "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.9.8.tgz",
- "integrity": "sha512-typLSHYGf5irvGLYQshs0Ra3aze086h0FhzsAkyirMunYZ7b3Te8gKa5PVaanoHaZa9sS6qx98BxgysoRP+6Tw==",
- "requires": {
- "@babel/runtime": "^7.12.5",
- "react-is": "^16.12.0",
- "shallowequal": "^1.1.0"
- },
- "dependencies": {
- "@babel/runtime": {
- "version": "7.13.10",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz",
- "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==",
- "requires": {
- "regenerator-runtime": "^0.13.4"
- }
- }
- }
- },
- "rc-virtual-list": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.2.6.tgz",
- "integrity": "sha512-8FiQLDzm3c/tMX0d62SQtKDhLH7zFlSI6pWBAPt+TUntEqd3Lz9zFAmpvTu8gkvUom/HCsDSZs4wfV4wDPWC0Q==",
- "requires": {
- "classnames": "^2.2.6",
- "rc-resize-observer": "^1.0.0",
- "rc-util": "^5.0.7"
- }
- },
"react": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz",
@@ -13736,6 +13115,15 @@
"xtend": "^4.0.1"
}
},
+ "react-material-ui-carousel": {
+ "version": "2.2.7",
+ "resolved": "https://registry.npmjs.org/react-material-ui-carousel/-/react-material-ui-carousel-2.2.7.tgz",
+ "integrity": "sha512-aO42C4oupmIxmJwYaTWrlWaXvVVspKcpEu/5efZ9slteATEsqqPtNAeVaE40Vimw2hZeIh2e8vpRwjq7fSsLxw==",
+ "requires": {
+ "auto-bind": "^2.1.1",
+ "react-swipeable": "^6.1.0"
+ }
+ },
"react-popper": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/react-popper/-/react-popper-1.3.7.tgz",
@@ -13977,6 +13365,11 @@
}
}
},
+ "react-swipeable": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/react-swipeable/-/react-swipeable-6.1.2.tgz",
+ "integrity": "sha512-vfZtOZNivwd/aI+ZZH1Grx0eQBdbV1UI3pB9p65jbW5guHHdSIPpKsND6XmaiZXP5REOOc9Ckfr36ChswPqwsA=="
+ },
"react-transition-group": {
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz",
@@ -14382,11 +13775,6 @@
"resolved": "https://registry.npmjs.org/reselect/-/reselect-4.0.0.tgz",
"integrity": "sha512-qUgANli03jjAyGlnbYVAV5vvnOmJnODyABz51RdBN7M4WaVu8mecZWgyQNkG8Yqe3KRGRt0l4K4B3XVEULC4CA=="
},
- "resize-observer-polyfill": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
- "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
- },
"resolve": {
"version": "1.15.1",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz",
@@ -14676,14 +14064,6 @@
"ajv-keywords": "^3.4.1"
}
},
- "scroll-into-view-if-needed": {
- "version": "2.2.28",
- "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.28.tgz",
- "integrity": "sha512-8LuxJSuFVc92+0AdNv4QOxRL4Abeo1DgLnGNkn1XlaujPH/3cCFz3QI60r2VNu4obJJROzgnIUw5TKQkZvZI1w==",
- "requires": {
- "compute-scroll-into-view": "^1.0.17"
- }
- },
"select-hose": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
@@ -14858,11 +14238,6 @@
}
}
},
- "shallowequal": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
- "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="
- },
"shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
@@ -14915,17 +14290,6 @@
}
}
},
- "sirv": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.12.tgz",
- "integrity": "sha512-+jQoCxndz7L2tqQL4ZyzfDhky0W/4ZJip3XoOuxyQWnAwMxindLl3Xv1qT4x1YX/re0leShvTm8Uk0kQspGhBg==",
- "dev": true,
- "requires": {
- "@polka/url": "^1.0.0-next.15",
- "mime": "^2.3.1",
- "totalist": "^1.0.0"
- }
- },
"sisteransi": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
@@ -15387,11 +14751,6 @@
"resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
"integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM="
},
- "string-convert": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz",
- "integrity": "sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c="
- },
"string-length": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz",
@@ -16086,22 +15445,11 @@
"repeat-string": "^1.6.1"
}
},
- "toggle-selection": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
- "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI="
- },
"toidentifier": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
"integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
},
- "totalist": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz",
- "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==",
- "dev": true
- },
"tough-cookie": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
@@ -16856,113 +16204,6 @@
}
}
},
- "webpack-bundle-analyzer": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz",
- "integrity": "sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ==",
- "dev": true,
- "requires": {
- "acorn": "^8.0.4",
- "acorn-walk": "^8.0.0",
- "chalk": "^4.1.0",
- "commander": "^6.2.0",
- "gzip-size": "^6.0.0",
- "lodash": "^4.17.20",
- "opener": "^1.5.2",
- "sirv": "^1.0.7",
- "ws": "^7.3.1"
- },
- "dependencies": {
- "acorn": {
- "version": "8.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz",
- "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==",
- "dev": true
- },
- "acorn-walk": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.1.1.tgz",
- "integrity": "sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w==",
- "dev": true
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
- "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "commander": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
- "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
- "dev": true
- },
- "duplexer": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
- "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
- "dev": true
- },
- "gzip-size": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz",
- "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==",
- "dev": true,
- "requires": {
- "duplexer": "^0.1.2"
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "ws": {
- "version": "7.5.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz",
- "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==",
- "dev": true
- }
- }
- },
"webpack-dev-middleware": {
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz",
diff --git a/package.json b/package.json
index 74c488f7e..b9a1273f7 100644
--- a/package.json
+++ b/package.json
@@ -14,7 +14,6 @@
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.3.2",
"@testing-library/user-event": "^7.1.2",
- "antd": "^4.15.0",
"axios": "^0.19.2",
"bootstrap": "^4.5.0",
"date-fns": "^2.15.0",
@@ -25,6 +24,7 @@
"react-dom": "^16.13.1",
"react-dropzone": "^11.0.2",
"react-markdown": "^4.3.1",
+ "react-material-ui-carousel": "^2.2.7",
"react-redux": "^7.2.0",
"react-router-dom": "^5.2.0",
"react-script": "^2.0.5",
@@ -71,7 +71,6 @@
"@types/react-redux": "^7.1.15",
"@types/react-router-dom": "^5.1.7",
"@types/reactstrap": "^8.7.2",
- "cra-bundle-analyzer": "^0.1.0",
- "webpack-bundle-analyzer": "^4.4.2"
+ "cra-bundle-analyzer": "^0.1.0"
}
}
diff --git a/src/App.css b/src/App.css
deleted file mode 100644
index e69de29bb..000000000
diff --git a/src/App.js b/src/App.js
index d0ac5a7cc..bf6f69aeb 100644
--- a/src/App.js
+++ b/src/App.js
@@ -1,19 +1,7 @@
import React, { Suspense, lazy } from "react";
import { BrowserRouter as Router, Switch, Route } from "react-router-dom";
-// import {
-// Root,
-// ProjectList,
-// Profile,
-// ProjectDetail,
-// ProjectCreate,
-// ProjectUpdate,
-// PeopleList,
-// LoginPage,
-// RegisterPage,
-// } from "./pages";
import { AlertModal } from "./components";
import { useLoginAuth } from "./hook/auth/useLogin";
-import "antd/dist/antd.css";
const Root = lazy(() => import("./pages/rootTs"));
const ProjectList = lazy(() => import("./pages/project/projectListTs"));
diff --git a/src/components/Bar/Bar.css b/src/components/Bar/Bar.css
deleted file mode 100644
index 618bf1791..000000000
--- a/src/components/Bar/Bar.css
+++ /dev/null
@@ -1,9 +0,0 @@
-#subtitleheader {
- width: 100%;
- text-align: left;
- color: black;
- text-decoration: none;
- padding: 2px;
- margin: 10px 0px 0px 0px;
- font-size: 23px;
-}
diff --git a/src/components/Bar/subtitlebar.js b/src/components/Bar/subtitlebar.js
deleted file mode 100644
index 344598b87..000000000
--- a/src/components/Bar/subtitlebar.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import React from "react";
-import { Button } from "reactstrap";
-import "./Bar.css";
-const SubtitleHeader = (props) => {
- return (
-
- );
-};
-export default SubtitleHeader;
diff --git a/src/components/Drawer/drawer.jsx b/src/components/Drawer/drawer.jsx
deleted file mode 100644
index b26a9345f..000000000
--- a/src/components/Drawer/drawer.jsx
+++ /dev/null
@@ -1,90 +0,0 @@
-import React from "react";
-import clsx from "clsx";
-import { makeStyles, useTheme } from "@material-ui/core/styles";
-import Drawer from "@material-ui/core/Drawer";
-import AppBar from "@material-ui/core/AppBar";
-import Toolbar from "@material-ui/core/Toolbar";
-import CssBaseline from "@material-ui/core/CssBaseline";
-import List from "@material-ui/core/List";
-import Typography from "@material-ui/core/Typography";
-import Divider from "@material-ui/core/Divider";
-import IconButton from "@material-ui/core/IconButton";
-import MenuIcon from "@material-ui/icons/Menu";
-import ChevronLeftIcon from "@material-ui/icons/ChevronLeft";
-import ChevronRightIcon from "@material-ui/icons/ChevronRight";
-import ListItem from "@material-ui/core/ListItem";
-import ListItemIcon from "@material-ui/core/ListItemIcon";
-import ListItemText from "@material-ui/core/ListItemText";
-import InboxIcon from "@material-ui/icons/MoveToInbox";
-import MailIcon from "@material-ui/icons/Mail";
-import Button from "@material-ui/core/Button";
-
-const drawerWidth = 240;
-
-const useStyles = makeStyles((theme) => ({
- root: {
- display: "flex",
- },
- appBar: {
- width: `calc(100% - ${drawerWidth}px)`,
- marginLeft: drawerWidth,
- },
- drawer: {
- width: drawerWidth,
- flexShrink: 0,
- },
- drawerPaper: {
- width: "20%",
- },
- // necessary for content to be below app bar
- toolbar: theme.mixins.toolbar,
- content: {
- flexGrow: 1,
- backgroundColor: theme.palette.background.default,
- padding: theme.spacing(3),
- },
-}));
-
-export default function HalfDrawer(props) {
- const classes = useStyles();
- const theme = useTheme();
- const { anchor, buttonName } = props;
- const [open, setOpen] = React.useState(false);
-
- const handleDrawerOpen = () => {
- setOpen(true);
- };
-
- const handleDrawerClose = () => {
- setOpen(false);
- };
- return (
-
-
-
-
-
-
- {theme.direction === "rtl" ? (
-
- ) : (
-
- )}
-
-
- {props.children}
-
-
-
- );
-}
diff --git a/src/components/Dropdown/dropdown.jsx b/src/components/Dropdown/dropdown.jsx
index 89f103873..a2a7ce3c2 100644
--- a/src/components/Dropdown/dropdown.jsx
+++ b/src/components/Dropdown/dropdown.jsx
@@ -1,65 +1,100 @@
-import React, { useState, useEffect } from "react";
-import {
- Dropdown,
- DropdownToggle,
- DropdownMenu,
- DropdownItem,
-} from "reactstrap";
+import React, {useState, useEffect} from "react";
+import Button from "@material-ui/core/Button";
+import Menu from "@material-ui/core/Menu";
+import MenuItem from "@material-ui/core/MenuItem";
const role = ["DEVELOPER", "DESIGNER", "PLANNER", "ETC"];
const DropdownRole = (props) => {
- const { dropdownCaret, dropdownHeader, action, pick } = props;
- const [dropdownOpen, setDropdownOpen] = useState(false);
+ const { dropdownCaret, action, pick } = props;
+ const [dropdownOpen, setDropdownOpen] = useState(null);
const [caret, setCaret] = useState(dropdownCaret);
+ const handleClick = (event) => {
+ setDropdownOpen(event.currentTarget);
+ };
+ const handleClose = () => {
+ setDropdownOpen(null);
+ };
+ const handleClickItem = (menu) => {
+ action(menu);
+ setDropdownOpen(null);
+ }
useEffect(() => {
if (pick !== "") setCaret(pick);
}, [pick]);
- const toggle = () => setDropdownOpen((prevState) => !prevState);
return (
-
-
+
+
+
+
);
};
const DropdownField = (props) => {
- const { dropdownCaret, dropdownHeader, action, pick } = props;
- const [dropdownOpen, setDropdownOpen] = useState(false);
+ const { dropdownCaret, action, pick } = props;
+ const [dropdownOpen, setDropdownOpen] = useState(null);
const [caret, setCaret] = useState(dropdownCaret);
+ const handleClick = (event) => {
+ setDropdownOpen(event.currentTarget);
+ };
+ const handleClose = () => {
+ setDropdownOpen(null);
+ };
+ const handleClickItem = (menu) => {
+ action(menu);
+ setDropdownOpen(null);
+ };
useEffect(() => {
if (pick !== "") setCaret(pick);
}, [pick]);
- const toggle = () => setDropdownOpen((prevState) => !prevState);
return (
-
-
+
+
+
+
);
};
export { DropdownRole, DropdownField };
diff --git a/src/components/Image/inputImage.jsx b/src/components/Image/inputImage.jsx
index a91718d36..15dfe398b 100644
--- a/src/components/Image/inputImage.jsx
+++ b/src/components/Image/inputImage.jsx
@@ -1,20 +1,6 @@
-/* eslint-disable react/jsx-props-no-spreading */
-import React, { useEffect, useRef, useCallback } from "react";
+import React from "react";
import { useDropzone } from "react-dropzone";
-const params = {
- pagination: {
- el: ".swiper-pagination",
- type: "bullets",
- clickable: true,
- },
- observer: true,
- spaceBetween: 30,
- lazy: {
- loadPrevNext: true,
- },
-};
-
function ImgInput({ img, saveImg }) {
const { getRootProps, getInputProps } = useDropzone({
accept: [".png", ".jpeg", ".jpg"],
diff --git a/src/components/Input/Input.jsx b/src/components/Input/Input.jsx
index aba42244e..025f0af2b 100644
--- a/src/components/Input/Input.jsx
+++ b/src/components/Input/Input.jsx
@@ -1,11 +1,8 @@
-import React, { useState, useEffect } from "react";
+import React from "react";
import InputBase from "@material-ui/core/InputBase";
import {
fade,
- ThemeProvider,
withStyles,
- makeStyles,
- createMuiTheme,
} from "@material-ui/core/styles";
const BootstrapInputUI = withStyles((theme) => ({
diff --git a/src/components/Layout.js b/src/components/Layout.js
index ce60d8526..a2117da41 100644
--- a/src/components/Layout.js
+++ b/src/components/Layout.js
@@ -1,9 +1,7 @@
import React, { useState } from "react";
import { Link, useHistory } from "react-router-dom";
import { useSelector, useDispatch } from "react-redux";
-import { useLogoutAuth } from "../hook/auth/useLogin";
import { setToken } from "../reducers/login";
-
import {
Collapse,
Navbar,
@@ -12,7 +10,6 @@ import {
Nav,
NavItem,
NavLink,
- NavbarText,
Button,
} from "reactstrap";
import "./Layout.css";
diff --git a/src/components/List/Sort.js b/src/components/List/Sort.jsx
similarity index 100%
rename from src/components/List/Sort.js
rename to src/components/List/Sort.jsx
diff --git a/src/components/Main/Jumbotron.js b/src/components/Main/Jumbotron.js
deleted file mode 100644
index c352aecf0..000000000
--- a/src/components/Main/Jumbotron.js
+++ /dev/null
@@ -1,30 +0,0 @@
-import React from "react";
-import { UncontrolledCarousel } from "reactstrap";
-const items = [
- {
- src:
- "data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%22800%22%20height%3D%22400%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20800%20400%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%23holder_15ba800aa1d%20text%20%7B%20fill%3A%23555%3Bfont-weight%3Anormal%3Bfont-family%3AHelvetica%2C%20monospace%3Bfont-size%3A40pt%20%7D%20%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22holder_15ba800aa1d%22%3E%3Crect%20width%3D%22800%22%20height%3D%22400%22%20fill%3D%22%23777%22%3E%3C%2Frect%3E%3Cg%3E%3Ctext%20x%3D%22285.921875%22%20y%3D%22218.3%22%3EFirst%20slide%3C%2Ftext%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E",
- altText: "Slide 1",
- caption: "Slide 1",
- header: "Slide 1 Header",
- key: "1"
- },
- {
- src:
- "data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%22800%22%20height%3D%22400%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20800%20400%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%23holder_15ba800aa20%20text%20%7B%20fill%3A%23444%3Bfont-weight%3Anormal%3Bfont-family%3AHelvetica%2C%20monospace%3Bfont-size%3A40pt%20%7D%20%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22holder_15ba800aa20%22%3E%3Crect%20width%3D%22800%22%20height%3D%22400%22%20fill%3D%22%23666%22%3E%3C%2Frect%3E%3Cg%3E%3Ctext%20x%3D%22247.3203125%22%20y%3D%22218.3%22%3ESecond%20slide%3C%2Ftext%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E",
- altText: "Slide 2",
- caption: "Slide 2",
- header: "Slide 2 Header",
- key: "2"
- },
- {
- src:
- "data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%22800%22%20height%3D%22400%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20800%20400%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%23holder_15ba800aa21%20text%20%7B%20fill%3A%23333%3Bfont-weight%3Anormal%3Bfont-family%3AHelvetica%2C%20monospace%3Bfont-size%3A40pt%20%7D%20%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22holder_15ba800aa21%22%3E%3Crect%20width%3D%22800%22%20height%3D%22400%22%20fill%3D%22%23555%22%3E%3C%2Frect%3E%3Cg%3E%3Ctext%20x%3D%22277%22%20y%3D%22218.3%22%3EThird%20slide%3C%2Ftext%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E",
- altText: "Slide 3",
- caption: "Slide 3",
- header: "Slide 3 Header",
- key: "3"
- }
-];
-const Jumbotron = () => ;
-export default Jumbotron;
\ No newline at end of file
diff --git a/src/components/Main/Jumbotron.jsx b/src/components/Main/Jumbotron.jsx
new file mode 100644
index 000000000..55a7a880b
--- /dev/null
+++ b/src/components/Main/Jumbotron.jsx
@@ -0,0 +1,63 @@
+import React from "react";
+import Carousel from "react-material-ui-carousel";
+import { Paper } from "@material-ui/core";
+
+function Jumbotron() {
+ const items = [
+ {
+ src: "https://picsum.photos/id/1/1000/480",
+ altText: "Slide 1",
+ caption: "Slide 1",
+ header: "Slide 1 Header",
+ key: "1",
+ },
+ {
+ src: "https://picsum.photos/id/2/1000/480",
+ altText: "Slide 2",
+ caption: "Slide 2",
+ header: "Slide 2 Header",
+ key: "2",
+ },
+ {
+ src: "https://picsum.photos/id/3/1000/480",
+ altText: "Slide 3",
+ caption: "Slide 3",
+ header: "Slide 3 Header",
+ key: "3",
+ },
+ {
+ src: "https://picsum.photos/id/4/1000/480",
+ altText: "Slide 4",
+ caption: "Slide 4",
+ header: "Slide 4 Header",
+ key: "4",
+ },
+ ];
+
+ return (
+
+ {items.map((item, i) => (
+
+ ))}
+
+ );
+}
+
+function Item(props) {
+ return (
+
+
+
+ );
+}
+export default Jumbotron;
diff --git a/src/components/Modal/Modal.js b/src/components/Modal/Modal.js
deleted file mode 100644
index 9fdafce12..000000000
--- a/src/components/Modal/Modal.js
+++ /dev/null
@@ -1,76 +0,0 @@
-import React, { useState, useEffect } from "react";
-import { Button, Modal, ModalHeader, ModalBody, ModalFooter } from "reactstrap";
-import IconButton from "@material-ui/core/IconButton";
-import CloseIcon from "@material-ui/icons/Close";
-import { useAlert } from "../../hook";
-
-const CenterModal = (props) => {
- const { modalFlag, close } = props;
-
- return (
-
-
-
-
-
{props.header}
-
-
-
-
-
-
-
- {props.children}
- {props.footer}
-
-
- );
-};
-
-const AlertModal = (props) => {
- const { alertState, alertAction } = useAlert();
-
- return (
-
-
-
-
-
- {alertState.sentence}
-
-
- );
-};
-
-export { CenterModal, AlertModal };
diff --git a/src/components/Modal/Modal.jsx b/src/components/Modal/Modal.jsx
new file mode 100644
index 000000000..87269fb74
--- /dev/null
+++ b/src/components/Modal/Modal.jsx
@@ -0,0 +1,93 @@
+import React from "react";
+import IconButton from "@material-ui/core/IconButton";
+import CloseIcon from "@material-ui/icons/Close";
+import Modal from "@material-ui/core/Modal";
+import { makeStyles } from "@material-ui/core/styles";
+import { useAlert } from "../../hook";
+
+const useStyles = makeStyles((theme) => ({
+ modal: {
+ display: "flex",
+ alignItems: "center",
+ justifyContent: "center",
+ },
+ paper: {
+ backgroundColor: theme.palette.background.paper,
+ border: "2px solid #000",
+ boxShadow: theme.shadows[5],
+ padding: theme.spacing(2, 4, 3),
+ },
+ header: {
+ "&::after": {
+ display: "block",
+ clear: "both",
+ content: '""',
+ },
+ },
+ headerText: { float: "left", lineHeight: "30px" },
+ headerBtn: { float: "right" },
+ closeBtn: {
+ width: "30px",
+ height: "30px",
+ },
+}));
+
+const CenterModal = (props) => {
+ const { modalFlag, close } = props;
+ const classes = useStyles();
+
+ return (
+
+
+
+
{props.header}
+
+
+
+
+
+
+
{props.children}
+
{props.footer}
+
+
+ );
+};
+
+const AlertModal = (props) => {
+ const { alertState, alertAction } = useAlert();
+ const classes = useStyles();
+
+ return (
+
+
+
+
{alertState.sentence}
+
+
+ );
+};
+
+export { CenterModal, AlertModal };
diff --git a/src/components/People/PeopleBox.js b/src/components/People/PeopleBox.js
index 7fb04b26e..9eb3cedd7 100644
--- a/src/components/People/PeopleBox.js
+++ b/src/components/People/PeopleBox.js
@@ -1,29 +1,18 @@
import React, { useState } from "react";
-import {
- Card,
- CardImg,
- CardText,
- CardBody,
- CardTitle,
- CardSubtitle,
- Col,
- Row,
- Button
-} from "reactstrap";
+import { Card, CardText, CardBody, CardTitle } from "reactstrap";
import { makeStyles } from "@material-ui/core/styles";
import { Badge as Stack } from "reactstrap";
import Badge from "@material-ui/core/Badge";
-import Level from "./Level";
import "./People.css";
import { Link } from "react-router-dom";
import { useImage } from "../../hook/profile/useImage";
-const useStyles = makeStyles(theme => ({
+const useStyles = makeStyles((theme) => ({
root: {
display: "flex",
flexDirection: "column",
"& > *": {
- marginBottom: theme.spacing(2)
+ marginBottom: theme.spacing(2),
},
"& .MuiBadge-badge": {
height: "30px",
@@ -31,9 +20,9 @@ const useStyles = makeStyles(theme => ({
fontSize: "1rem",
borderRadius: "15px",
color: "#ffffff",
- backgroundColor: "#007bff"
- }
- }
+ backgroundColor: "#007bff",
+ },
+ },
}));
export default function PeopleBox(props) {
@@ -45,7 +34,7 @@ export default function PeopleBox(props) {
diff --git a/src/components/People/Profile/Invitation/DetailModal.js b/src/components/People/Profile/Invitation/DetailModal.js
index 4cb2301da..2db1f6e43 100644
--- a/src/components/People/Profile/Invitation/DetailModal.js
+++ b/src/components/People/Profile/Invitation/DetailModal.js
@@ -9,7 +9,7 @@ import {
Col,
Badge,
Card,
- CardText
+ CardText,
} from "reactstrap";
import { useInvitationDetailEffect } from "../../../../hook/profile/useInvitation";
@@ -28,7 +28,7 @@ const DetailModal = ({ pid, userId, modal, toggle }) => {
const [
{ invitaionDetail, activityName },
- { handleAccept, handleReject }
+ { handleAccept, handleReject },
] = useInvitationDetailEffect(userId, pid, toggleNested);
return (
diff --git a/src/components/People/Profile/Invitation/InvitationBox.js b/src/components/People/Profile/Invitation/InvitationBox.js
index 77bf1960b..42af14d2d 100644
--- a/src/components/People/Profile/Invitation/InvitationBox.js
+++ b/src/components/People/Profile/Invitation/InvitationBox.js
@@ -1,5 +1,5 @@
import React, { useState } from "react";
-import { Card, Button, CardTitle, CardText, Row, Col, Badge } from "reactstrap";
+import { Card, CardTitle, CardText, Row, Col, Badge } from "reactstrap";
import DetailModal from "./DetailModal";
const InvitationBox = ({ data, userId }) => {
const [detailModal, setDetailModal] = useState(false);
diff --git a/src/components/People/Profile/ProfileImage/Image.js b/src/components/People/Profile/ProfileImage/Image.js
deleted file mode 100644
index 9f5e7d892..000000000
--- a/src/components/People/Profile/ProfileImage/Image.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// import React from "react";
-// import ImageApi from "../../hook/api/imgApi";
-// import useRequest from "../../../../hook/useRequest";
-
-// const Image = ({ purpose, userId }) => {
-// const { getImage } = ImageApi();
-// const [
-// {
-// data: resImage,
-// fulfilled: getImageFulfilled,
-// pending: getImagePending,
-// rejected: getImageRejected,
-// error: getImageError
-// },
-// { run: getImageApi }
-// ] = useRequest(getImage);
-
-// const [imageState] = useImage(
-// resImage,
-// getImageFulfilled,
-// getImagePending,
-// getImageRejected,
-// getImageError,
-// getImageApi,
-// purpose,
-// userId
-// );
-
-// return
;
-// };
-
-// export default Image;
diff --git a/src/components/People/Profile/ProfileImage/ImageModify.js b/src/components/People/Profile/ProfileImage/ImageModify.js
index b4498ab82..9ad7da367 100644
--- a/src/components/People/Profile/ProfileImage/ImageModify.js
+++ b/src/components/People/Profile/ProfileImage/ImageModify.js
@@ -1,27 +1,27 @@
import React from "react";
-import { Button, Form, FormGroup, Label, Input, FormText } from "reactstrap";
+import { Form, FormGroup, Label, Input, FormText } from "reactstrap";
import { useDropzone } from "react-dropzone";
const ImageModify = ({ state, setState }) => {
const { getRootProps, getInputProps } = useDropzone({
accept: "image/*",
- onDrop: acceptedFiles => {
- const imgFile = acceptedFiles.map(file =>
+ onDrop: (acceptedFiles) => {
+ const imgFile = acceptedFiles.map((file) =>
Object.assign(file, {
- url: URL.createObjectURL(file)
- })
+ url: URL.createObjectURL(file),
+ }),
);
setState({ imgUrl: imgFile[0], isImgChange: true });
- }
+ },
});
const params = {
pagination: {
el: ".swiper-pagination",
type: "bullets",
- clickable: true
+ clickable: true,
},
observer: true,
- spaceBetween: 30
+ spaceBetween: 30,
};
return (
diff --git a/src/components/People/Profile/ProfileInfo/ProfileInfoModify.js b/src/components/People/Profile/ProfileInfo/ProfileInfoModify.js
index 4e18fa959..b0ce5952d 100644
--- a/src/components/People/Profile/ProfileInfo/ProfileInfoModify.js
+++ b/src/components/People/Profile/ProfileInfo/ProfileInfoModify.js
@@ -1,8 +1,6 @@
-import React, { useState } from "react";
-import { Button, Form, FormGroup, Label, Input, FormText } from "reactstrap";
+import React from "react";
+import { Button, Form, FormGroup, Label, Input } from "reactstrap";
import ImageModify from "../ProfileImage/ImageModify";
-import { infoApi, imgApi } from "../../../../hook/api";
-import { useRequest } from "../../../../hook/useRequest";
import useProfileInfoModify from "../../../../hook/profile/useProfileInfoModify";
const ProfileInfoModify = ({
diff --git a/src/components/People/Profile/RecruitModal.js b/src/components/People/Profile/RecruitModal.js
index 9ee306fa0..5866fcf0f 100644
--- a/src/components/People/Profile/RecruitModal.js
+++ b/src/components/People/Profile/RecruitModal.js
@@ -3,7 +3,6 @@ import { Button, Modal, ModalHeader, ModalBody, ModalFooter } from "reactstrap";
import { planProjectApi, sendRecruitPeopleApi } from "../../../hook/api";
import InputLabel from "@material-ui/core/InputLabel";
import MenuItem from "@material-ui/core/MenuItem";
-import FormHelperText from "@material-ui/core/FormHelperText";
import FormControl from "@material-ui/core/FormControl";
import Select from "@material-ui/core/Select";
import TextField from "@material-ui/core/TextField";
diff --git a/src/components/Project/ProjectBox.js b/src/components/Project/ProjectBox.js
index 78000975f..0c4db408a 100644
--- a/src/components/Project/ProjectBox.js
+++ b/src/components/Project/ProjectBox.js
@@ -1,4 +1,4 @@
-import React, { useState } from "react";
+import React from "react";
import { Link } from "react-router-dom";
import {
Card,
diff --git a/src/components/Switch/switch.js b/src/components/Switch/switch.js
index 5e2b3751e..604f8a11c 100644
--- a/src/components/Switch/switch.js
+++ b/src/components/Switch/switch.js
@@ -1,90 +1,90 @@
-import React from 'react';
-import { withStyles } from '@material-ui/core/styles';
-import Switch from '@material-ui/core/Switch';
+import React from "react";
+import { withStyles } from "@material-ui/core/styles";
+import Switch from "@material-ui/core/Switch";
-export const IOSSwitch = withStyles(theme => ({
- root: {
- width: 42,
- height: 26,
- padding: 0,
- margin: theme.spacing(1),
- },
- switchBase: {
- padding: 1,
- '&$checked': {
- transform: 'translateX(16px)',
- color: theme.palette.common.white,
- '& + $track': {
- backgroundColor: '#52d869',
- opacity: 1,
- border: 'none',
- },
- },
- '&$focusVisible $thumb': {
- color: '#52d869',
- border: '6px solid #fff',
- },
- },
- thumb: {
- width: 24,
- height: 24,
- },
- track: {
- borderRadius: 26 / 2,
- border: `1px solid ${theme.palette.grey[400]}`,
- backgroundColor: theme.palette.grey[50],
+export const IOSSwitch = withStyles((theme) => ({
+ root: {
+ width: 42,
+ height: 26,
+ padding: 0,
+ margin: theme.spacing(1),
+ },
+ switchBase: {
+ padding: 1,
+ "&$checked": {
+ transform: "translateX(16px)",
+ color: theme.palette.common.white,
+ "& + $track": {
+ backgroundColor: "#52d869",
opacity: 1,
- transition: theme.transitions.create(['background-color', 'border']),
+ border: "none",
+ },
+ },
+ "&$focusVisible $thumb": {
+ color: "#52d869",
+ border: "6px solid #fff",
},
- checked: {},
- focusVisible: {},
+ },
+ thumb: {
+ width: 24,
+ height: 24,
+ },
+ track: {
+ borderRadius: 26 / 2,
+ border: `1px solid ${theme.palette.grey[400]}`,
+ backgroundColor: theme.palette.grey[50],
+ opacity: 1,
+ transition: theme.transitions.create(["background-color", "border"]),
+ },
+ checked: {},
+ focusVisible: {},
}))(({ classes, ...props }) => {
- return (
-
- );
+ return (
+
+ );
});
-export const AntSwitch = withStyles(theme => ({
- root: {
- width: 28,
- height: 16,
- padding: 0,
- display: 'flex',
- },
- switchBase: {
- padding: 2,
- color: theme.palette.grey[500],
- '&$checked': {
- transform: 'translateX(12px)',
- color: theme.palette.common.white,
- '& + $track': {
- opacity: 1,
- backgroundColor: theme.palette.primary.main,
- borderColor: theme.palette.primary.main,
- },
- },
- },
- thumb: {
- width: 12,
- height: 12,
- boxShadow: 'none',
- },
- track: {
- border: `1px solid ${theme.palette.grey[500]}`,
- borderRadius: 16 / 2,
+export const AntSwitch = withStyles((theme) => ({
+ root: {
+ width: 28,
+ height: 16,
+ padding: 0,
+ display: "flex",
+ },
+ switchBase: {
+ padding: 2,
+ color: theme.palette.grey[500],
+ "&$checked": {
+ transform: "translateX(12px)",
+ color: theme.palette.common.white,
+ "& + $track": {
opacity: 1,
- backgroundColor: theme.palette.common.white,
+ backgroundColor: theme.palette.primary.main,
+ borderColor: theme.palette.primary.main,
+ },
},
- checked: {},
+ },
+ thumb: {
+ width: 12,
+ height: 12,
+ boxShadow: "none",
+ },
+ track: {
+ border: `1px solid ${theme.palette.grey[500]}`,
+ borderRadius: 16 / 2,
+ opacity: 1,
+ backgroundColor: theme.palette.common.white,
+ },
+ checked: {},
}))(Switch);
diff --git a/src/components/icon/111.gif b/src/components/icon/111.gif
deleted file mode 100644
index 2dc865898..000000000
Binary files a/src/components/icon/111.gif and /dev/null differ
diff --git a/src/components/icon/222.gif b/src/components/icon/222.gif
deleted file mode 100644
index d4636b9d3..000000000
Binary files a/src/components/icon/222.gif and /dev/null differ
diff --git a/src/components/icon/333.gif b/src/components/icon/333.gif
deleted file mode 100644
index 288027ad9..000000000
Binary files a/src/components/icon/333.gif and /dev/null differ
diff --git a/src/components/icon/444.gif b/src/components/icon/444.gif
deleted file mode 100644
index c28a4f66a..000000000
Binary files a/src/components/icon/444.gif and /dev/null differ
diff --git a/src/components/icon/555.gif b/src/components/icon/555.gif
deleted file mode 100644
index ac2ffacbf..000000000
Binary files a/src/components/icon/555.gif and /dev/null differ
diff --git a/src/components/icon/NAVER_D2_logo.png b/src/components/icon/NAVER_D2_logo.png
deleted file mode 100644
index cf82de910..000000000
Binary files a/src/components/icon/NAVER_D2_logo.png and /dev/null differ
diff --git a/src/components/icon/baseImg.png b/src/components/icon/baseImg.png
deleted file mode 100644
index a3d5be19d..000000000
Binary files a/src/components/icon/baseImg.png and /dev/null differ
diff --git a/src/components/icon/chipmunk.jpeg b/src/components/icon/chipmunk.jpeg
deleted file mode 100644
index 331033da0..000000000
Binary files a/src/components/icon/chipmunk.jpeg and /dev/null differ
diff --git a/src/components/icon/forwardNeck.JPG b/src/components/icon/forwardNeck.JPG
deleted file mode 100644
index c3f7c44ed..000000000
Binary files a/src/components/icon/forwardNeck.JPG and /dev/null differ
diff --git a/src/components/icon/forwardNeck.jpeg b/src/components/icon/forwardNeck.jpeg
deleted file mode 100644
index 5f01962d5..000000000
Binary files a/src/components/icon/forwardNeck.jpeg and /dev/null differ
diff --git a/src/components/icon/igo.JPG b/src/components/icon/igo.JPG
deleted file mode 100644
index 85d88e29d..000000000
Binary files a/src/components/icon/igo.JPG and /dev/null differ
diff --git a/src/components/icon/kakao_running.png b/src/components/icon/kakao_running.png
deleted file mode 100644
index d037042f4..000000000
Binary files a/src/components/icon/kakao_running.png and /dev/null differ
diff --git a/src/components/icon/menubar_close.png b/src/components/icon/menubar_close.png
deleted file mode 100644
index 351e994fa..000000000
Binary files a/src/components/icon/menubar_close.png and /dev/null differ
diff --git a/src/components/icon/menubar_hamburger.png b/src/components/icon/menubar_hamburger.png
deleted file mode 100644
index 38d22d65a..000000000
Binary files a/src/components/icon/menubar_hamburger.png and /dev/null differ
diff --git a/src/components/icon/move.gif b/src/components/icon/move.gif
deleted file mode 100644
index 54b1ee333..000000000
Binary files a/src/components/icon/move.gif and /dev/null differ
diff --git a/src/components/icon/yoga.jpg b/src/components/icon/yoga.jpg
deleted file mode 100644
index 357326a5d..000000000
Binary files a/src/components/icon/yoga.jpg and /dev/null differ
diff --git a/src/components/index.js b/src/components/index.js
index a2b1e1abb..499cc34c6 100644
--- a/src/components/index.js
+++ b/src/components/index.js
@@ -1,14 +1,11 @@
-export { default as Button } from "./tempButton";
export { default as Layout } from "./Layout";
export { default as Jumbotron } from "./Main/Jumbotron";
-// export { default as SubtitleHeader } from "./Bar/subtitlebar";
export { default as ProjectBox } from "./Project/ProjectBox";
export { default as PeopleBox } from "./People/PeopleBox";
export { default as Level } from "./People/Level";
export { IOSSwitch, AntSwitch } from "./Switch";
export { ImgInput2, ImgInput } from "./Image";
export { DropdownRole, DropdownField } from "./Dropdown/dropdown";
-export { default as HalfDrawer } from "./Drawer/drawer";
export { default as ProfileInfo } from "./People/Profile/ProfileInfo/ProfileInfo";
export { default as ProfileInfoModify } from "./People/Profile/ProfileInfo/ProfileInfoModify";
export { AlertModal, CenterModal } from "./Modal/Modal";
diff --git a/src/components/tempButton.jsx b/src/components/tempButton.jsx
deleted file mode 100644
index 70aaad25e..000000000
--- a/src/components/tempButton.jsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import React from "react";
-
-export default function Button(props) {
- return (
-
- );
-}
diff --git a/src/hook/api/peopleApi.ts b/src/hook/api/peopleApi.ts
index 2a8637479..04aa57ab9 100644
--- a/src/hook/api/peopleApi.ts
+++ b/src/hook/api/peopleApi.ts
@@ -1,5 +1,4 @@
import axios from "axios";
-import { loginApi } from "./";
type info = {
userId: String;
diff --git a/src/hook/auth/useLogin.ts b/src/hook/auth/useLogin.ts
index 86e586e87..0bc576ba1 100644
--- a/src/hook/auth/useLogin.ts
+++ b/src/hook/auth/useLogin.ts
@@ -1,35 +1,56 @@
-import { useEffect, useRef } from "react";
+import { useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { setToken } from "../../reducers/login";
import { useAlert, useMove, useRequest } from "..";
import { loginApi } from "../../hook/api";
+type userType = {
+ userId: string;
+ password: string;
+};
+
type LoginType = {
loading: boolean;
+ user: userType;
onFinish: (values: any) => void;
onFinishFailed: (errorInfo: any) => void;
+ handleInput: (e: React.ChangeEvent
) => void;
};
+
export function useLoginEffect(): LoginType {
const dispatch = useDispatch();
const isToken = useSelector((state: any) => state.login.isToken);
-
- const userId = useRef("");
const { alertAction } = useAlert();
const [login, { run: postLoginApi }] = useRequest(loginApi().postLogin);
+ const [user, setUser] = useState({
+ userId: "",
+ password: "",
+ });
useMove(isToken && login.fulfilled, "");
- const onFinish = (values: any) => {
- console.log("Success:", values);
- userId.current = values.userId;
- postLoginApi(values);
+ const onFinish = (e: React.ChangeEvent) => {
+ e.preventDefault();
+ console.log("Success:", user);
+ postLoginApi(user);
+ return false;
};
const onFinishFailed = (errorInfo: any) => {
console.log("Failed:", errorInfo);
};
+ const handleInput = (e: React.ChangeEvent) => {
+ e.persist();
+ setUser((value) => {
+ return {
+ ...value,
+ [e.target.name]: e.target.value,
+ };
+ });
+ };
+
// 로그인 성공 시 useEffect
useEffect(() => {
if (login.fulfilled) {
@@ -37,7 +58,7 @@ export function useLoginEffect(): LoginType {
const accessToken = login.data.accessToken;
const refreshToken = login.data.refreshToken;
// 세션스토리지에 아이디와 토큰 저장
- window.sessionStorage.setItem("id", userId.current);
+ window.sessionStorage.setItem("id", user.userId);
window.sessionStorage.setItem("accessToken", accessToken);
window.sessionStorage.setItem("refreshToken", refreshToken);
alertAction.open("로그인 성공");
@@ -45,7 +66,7 @@ export function useLoginEffect(): LoginType {
// 리덕스에 디스패치
const reduxData = {
isToken: true,
- userId: userId.current,
+ userId: user.userId,
};
dispatch(setToken(reduxData));
}
@@ -61,7 +82,13 @@ export function useLoginEffect(): LoginType {
}
}, [login.rejected]);
- return { loading: login.pending, onFinish, onFinishFailed };
+ return {
+ loading: login.pending,
+ user,
+ onFinish,
+ onFinishFailed,
+ handleInput,
+ };
}
// 세션 스토리지에 아이디와 토큰이 있을 때, 리덕스에 토큰유무와 아이디를 저장
diff --git a/src/hook/auth/useRegister.ts b/src/hook/auth/useRegister.ts
index a9a27949a..20cc5a47b 100644
--- a/src/hook/auth/useRegister.ts
+++ b/src/hook/auth/useRegister.ts
@@ -1,12 +1,21 @@
-import { useEffect } from "react";
+import { useEffect, useState } from "react";
import { useAlert, useMove } from "..";
import { useRequest } from "../";
import { registerApi } from "../api";
+type registerType = {
+ userId: string;
+ userEmail: string;
+ name: string;
+ password: string;
+};
+
type RegisterType = {
loading: boolean;
+ register: registerType;
onFinish: (values: any) => void;
onFinishFailed: (errorInfo: any) => void;
+ handleInput: (e: React.ChangeEvent) => void;
};
export function useRegisterEffect(): RegisterType {
@@ -14,16 +23,33 @@ export function useRegisterEffect(): RegisterType {
const [registerPromiseState, { run: postRegisterFetch }] = useRequest(
registerApi().postRegister,
);
+ const [register, setRegister] = useState({
+ userId: "",
+ userEmail: '',
+ name: '',
+ password: ''
+ });
- const onFinish = (values: any) => {
- console.log("Success:", values);
- postRegisterFetch(values);
+ const onFinish = (e: React.ChangeEvent) => {
+ e.preventDefault();
+ console.log("Success:", register);
+ postRegisterFetch(register);
};
const onFinishFailed = (errorInfo: any) => {
console.log("Failed:", errorInfo);
};
+ const handleInput = (e: React.ChangeEvent) => {
+ e.persist();
+ setRegister((value) => {
+ return {
+ ...value,
+ [e.target.name]: e.target.value,
+ };
+ });
+ };
+
useMove(registerPromiseState.fulfilled, "login");
useEffect(() => {
@@ -40,5 +66,11 @@ export function useRegisterEffect(): RegisterType {
}
}, [registerPromiseState.rejected]);
- return { loading: registerPromiseState.pending, onFinish, onFinishFailed };
+ return {
+ loading: registerPromiseState.pending,
+ register,
+ onFinish,
+ onFinishFailed,
+ handleInput,
+ };
}
diff --git a/src/hook/profile/useProfileProject.js b/src/hook/profile/useProfileProject.js
index 28b701f04..96e8e56c8 100644
--- a/src/hook/profile/useProfileProject.js
+++ b/src/hook/profile/useProfileProject.js
@@ -11,9 +11,9 @@ const useProfileProject = (
setList,
hiding,
- userId
+ userId,
) => {
- const check = useSelector(state => state.profile.isHideChange);
+ const check = useSelector((state) => state.profile.isHideChange);
// hide 변경사항이 있으면 다시 get요청
useEffect(() => {
diff --git a/src/hook/profile/useProfileProjectModify.js b/src/hook/profile/useProfileProjectModify.js
index 6c0892984..97967ae4b 100644
--- a/src/hook/profile/useProfileProjectModify.js
+++ b/src/hook/profile/useProfileProjectModify.js
@@ -23,7 +23,7 @@ const useProfileProjectModify = (
setList,
hideList,
- setHideList
+ setHideList,
) => {
// 처음 로딩 시 숨겨진 프로젝트 목록 불러오기
useEffect(() => {
@@ -45,17 +45,17 @@ const useProfileProjectModify = (
let moveData = {};
// 일반 state list에서 선택한 project 제거
setList(
- list.filter(a => {
+ list.filter((a) => {
if (a.projectId === resHideProject.projectId) {
moveData = a;
return false;
}
return true;
- })
+ }),
);
// 숨김 state list에서 위에서 선택된 project 추가
- setHideList(hideList => {
+ setHideList((hideList) => {
const newList = hideList.concat(moveData);
return newList;
});
@@ -68,16 +68,16 @@ const useProfileProjectModify = (
let moveData = {};
// 숨김 state list에서 선택한 project 제거
setHideList(
- hideList.filter(a => {
+ hideList.filter((a) => {
if (a.projectId === resDisplayProject.projectId) {
moveData = a;
return false;
}
return true;
- })
+ }),
);
// 일반 state list에 선택된 프로젝트 추가
- setList(list => {
+ setList((list) => {
const newList = list.concat(moveData);
return newList;
});
diff --git a/src/hook/projectTs/useProjectApplyTs.ts b/src/hook/projectTs/useProjectApplyTs.ts
index 27f849c89..32cd03028 100644
--- a/src/hook/projectTs/useProjectApplyTs.ts
+++ b/src/hook/projectTs/useProjectApplyTs.ts
@@ -1,5 +1,4 @@
import { Dispatch, SetStateAction, useEffect, useState } from "react";
-import { useSelector, useDispatch } from "react-redux";
import { useHistory } from "react-router-dom";
import { useRequest } from "../";
import { loginApi } from "../api";
diff --git a/src/hook/projectTs/useProjectCreateTs.ts b/src/hook/projectTs/useProjectCreateTs.ts
index 0e810ff29..b5b5d2403 100644
--- a/src/hook/projectTs/useProjectCreateTs.ts
+++ b/src/hook/projectTs/useProjectCreateTs.ts
@@ -206,15 +206,17 @@ const useProjectCreateStateTS = (): CreateType => {
};
const inputProjectMember = (name: string, memberValue: string): void => {
- setProject((value) => {
- return {
- ...value,
- needMember: {
- ...value.needMember,
- [name]: memberValue,
- },
- };
- });
+ if(parseInt(memberValue) >= 0){
+ setProject((value) => {
+ return {
+ ...value,
+ needMember: {
+ ...value.needMember,
+ [name]: memberValue,
+ },
+ };
+ });
+ }
};
const createState: CreateStateType = {
diff --git a/src/hook/projectTs/useProjectDetailTs.ts b/src/hook/projectTs/useProjectDetailTs.ts
index 3c428caed..28697b3d4 100644
--- a/src/hook/projectTs/useProjectDetailTs.ts
+++ b/src/hook/projectTs/useProjectDetailTs.ts
@@ -1,5 +1,4 @@
import { Dispatch, SetStateAction, useEffect, useState } from "react";
-import { useSelector, useDispatch } from "react-redux";
import { useAlert, useRequest } from "../";
import { useHistory } from "react-router-dom";
import { loginApi } from "../api";
@@ -400,30 +399,6 @@ const useProjectDetailEffectTs = (
}, [project.getProject.rejected]);
};
-// const useProjectRecruitEffect = (
-// data,
-// fulfilled,
-// rejected,
-// error,
-// inputState,
-// ) => {
-// // const [alertData, alertAction] = useAlert();
-
-// useEffect(() => {
-// if (fulfilled) {
-// // inputDetail(data);
-// inputState(recruitDtoList);
-// }
-// }, [fulfilled]);
-
-// useEffect(() => {
-// if (rejected) {
-// // alertAction.open(error.response.data.message);
-// console.log(error);
-// }
-// }, [rejected]);
-// };
-
export {
useProjectDetailStateTs,
useProjectDetailEffectTs,
diff --git a/src/hook/projectTs/useProjectUpdateTs.ts b/src/hook/projectTs/useProjectUpdateTs.ts
index 55cbdf5d8..029bef157 100644
--- a/src/hook/projectTs/useProjectUpdateTs.ts
+++ b/src/hook/projectTs/useProjectUpdateTs.ts
@@ -3,7 +3,6 @@ import { useSelector, useDispatch } from "react-redux";
import { useHistory } from "react-router-dom";
import { loginApi } from "../api";
import { useAlert, useRequest } from "../";
-import { AxiosError } from "axios";
import { RequestState } from "../useRequest";
const axios = require("axios");
diff --git a/src/hook/useAlert.ts b/src/hook/useAlert.ts
index bf8c0d587..45a1640b5 100644
--- a/src/hook/useAlert.ts
+++ b/src/hook/useAlert.ts
@@ -1,4 +1,3 @@
-import { useEffect, useState } from "react";
import { useSelector, useDispatch } from "react-redux";
import { openAlert, closeAlert } from "../reducers/alert";
import { RootState } from '../reducers';
diff --git a/src/hook/useHook.js b/src/hook/useHook.js
index e598f075b..496c9ee2e 100644
--- a/src/hook/useHook.js
+++ b/src/hook/useHook.js
@@ -1,9 +1,8 @@
-import { useEffect, useState } from "react";
import { useSelector, useDispatch } from "react-redux";
const axios = require("axios");
export function useTemporaryApi() {
- const { temporary } = useSelector(state => state.temproray);
+ const { temporary } = useSelector((state) => state.temproray);
const getProjectList = async () => {
const res = await axios.get(`https://apis.tracker.delivery/carriers`);
return res.data;
@@ -12,10 +11,10 @@ export function useTemporaryApi() {
const res = await axios.get(`https://apis.tracker.delivery/carriers`);
return res.data;
};
- const postProjectList = async data => {
+ const postProjectList = async (data) => {
await axios.post(`https://apis.tracker.delivery/carriers`, { data: data });
};
- const postPeopletList = async data => {
+ const postPeopletList = async (data) => {
await axios.post(`https://apis.tracker.delivery/carriers`, { data: data });
};
@@ -25,7 +24,7 @@ export function useTemporaryApi() {
getProjectList,
getPeopleList,
postProjectList,
- postPeopletList
- }
+ postPeopletList,
+ },
];
}
diff --git a/src/hook/usePageMove.js b/src/hook/usePageMove.js
index ecde77b59..921c068c2 100644
--- a/src/hook/usePageMove.js
+++ b/src/hook/usePageMove.js
@@ -1,5 +1,5 @@
-import { useEffect } from 'react';
-import { useHistory } from 'react-router-dom';
+import { useEffect } from "react";
+import { useHistory } from "react-router-dom";
export default function useMove(condition, destination) {
const history = useHistory();
@@ -12,5 +12,5 @@ export default function useMove(condition, destination) {
if (condition) {
history.push(`./${destination}`);
}
- }, [condition])
+ }, [condition]);
}
diff --git a/src/pages/auth/Login.css b/src/pages/auth/Login.css
deleted file mode 100644
index e472b0206..000000000
--- a/src/pages/auth/Login.css
+++ /dev/null
@@ -1,17 +0,0 @@
-.login_title {
- text-align: center;
-}
-
-.login_box {
- max-width: 380px;
- margin: auto;
- margin-top: 50px;
-}
-
-.login_input {
- width: 100%;
-}
-
-.login_submit {
- margin-top: 10px;
-}
\ No newline at end of file
diff --git a/src/pages/auth/LoginTs.tsx b/src/pages/auth/LoginTs.tsx
index 74b6f60cf..199c11e53 100644
--- a/src/pages/auth/LoginTs.tsx
+++ b/src/pages/auth/LoginTs.tsx
@@ -1,54 +1,78 @@
-import { Button, Form, Input, Typography } from "antd";
import React from "react";
+import Typography from "@material-ui/core/Typography";
+import Button from "@material-ui/core/Button";
+import { makeStyles } from "@material-ui/core/styles";
+import InputLabel from "@material-ui/core/InputLabel";
+import Input from "@material-ui/core/Input";
+import FormControl from "@material-ui/core/FormControl";
import { Layout } from "../../components";
-import "./Login.css";
import { useLoginEffect } from "../../hook/auth";
-const { Title } = Typography;
-
-const layout = {
- labelCol: { span: 8 },
- wrapperCol: { span: 16 },
-};
-const tailLayout = {
- wrapperCol: { offset: 8, span: 16 },
-};
+const useStyles = makeStyles((theme) => ({
+ root: {
+ "& > *": {
+ margin: theme.spacing(1),
+ },
+ },
+ title: {
+ textAlign: "center",
+ },
+ formWrap: {
+ maxWidth: "280px",
+ margin: "auto",
+ marginTop: "50px",
+ },
+ registInput: {
+ width: "100%",
+ },
+}));
function LoginPage() {
- const {loading, onFinish, onFinishFailed} = useLoginEffect();
+ const classes = useStyles();
+ const {loading, user, onFinish, onFinishFailed, handleInput} = useLoginEffect();
+
return (
-
+
Login
-
-
-
-
-
-
-
-
-
-