diff --git a/craco.config.js b/craco.config.js
new file mode 100644
index 0000000..a030e66
--- /dev/null
+++ b/craco.config.js
@@ -0,0 +1,33 @@
+const CracoLessPlugin = require("craco-less");
+
+module.exports = {
+ plugins: [
+ {
+ plugin: CracoLessPlugin,
+ options: {
+ lessLoaderOptions: {
+ lessOptions: {
+ modifyVars: {
+ "@primary-color": "#f5222d",
+ "@success-color": "#fa541c",
+ "@info-color": "#d67375",
+ "@warning-color": "#722ed1",
+ "@error-color": "#fa541c",
+ "@text-color": "#241d1d",
+ "@layout-header-background": "#cf1322",
+ "@layout-header-height": "70px",
+ "@layout-trigger-height": "60px",
+ "@layout-trigger-background": "#f02b3c",
+ "@font-size-base": "16px",
+ "@font-size-sm": "14px",
+ "@menu-item-height": "69px",
+ "@menu-dark-submenu-bg": "#5c0011",
+ "@menu-dark-item-active-bg": "#ff7875",
+ },
+ javascriptEnabled: true,
+ },
+ },
+ },
+ },
+ ],
+};
diff --git a/package-lock.json b/package-lock.json
index b5a9ca1..53ec6db 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4,6 +4,49 @@
"lockfileVersion": 1,
"requires": true,
"dependencies": {
+ "@ant-design/colors": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-5.0.0.tgz",
+ "integrity": "sha512-Pe1rYorgVC1v4f+InDXvIlQH715pO1g7BsOhy/ehX/U6ebPKqojmkYJKU3lF+84Zmvyar7ngZ28hesAa1nWjLg==",
+ "requires": {
+ "@ctrl/tinycolor": "^3.1.6"
+ }
+ },
+ "@ant-design/css-animation": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/@ant-design/css-animation/-/css-animation-1.7.3.tgz",
+ "integrity": "sha512-LrX0OGZtW+W6iLnTAqnTaoIsRelYeuLZWsrmBJFUXDALQphPsN8cE5DCsmoSlL0QYb94BQxINiuS70Ar/8BNgA=="
+ },
+ "@ant-design/icons": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-4.3.0.tgz",
+ "integrity": "sha512-UoIbw4oz/L/msbkgqs2nls2KP7XNKScOxVR54wRrWwnXOzJaGNwwSdYjHQz+5ETf8C53YPpzMOnRX99LFCdeIQ==",
+ "requires": {
+ "@ant-design/colors": "^5.0.0",
+ "@ant-design/icons-svg": "^4.0.0",
+ "@babel/runtime": "^7.11.2",
+ "classnames": "^2.2.6",
+ "insert-css": "^2.0.0",
+ "rc-util": "^5.0.1"
+ }
+ },
+ "@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.27.14",
+ "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-0.27.14.tgz",
+ "integrity": "sha512-s6JVexqFmU5rs5Pm828ojtm5rCp8jDXyrc5OxEtCE2z58SIyQlkpnU9BJh98LEeBZyj02WFkGN8CWpSaD+G4PA==",
+ "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.10.4",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
@@ -1158,6 +1201,54 @@
"minimist": "^1.2.0"
}
},
+ "@craco/craco": {
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@craco/craco/-/craco-5.8.0.tgz",
+ "integrity": "sha512-4rhusETLD7rJ195GxOK9VmVdv/VD4jawFxc9hcQ9TrZ3/9ny+qwc0uW+08qu9GYwEF9Eb9meSeSvpWjaqdDr1Q==",
+ "requires": {
+ "cross-spawn": "^7.0.0",
+ "lodash": "^4.17.15",
+ "webpack-merge": "^4.2.2"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
"@csstools/convert-colors": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz",
@@ -1168,6 +1259,11 @@
"resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-10.1.0.tgz",
"integrity": "sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg=="
},
+ "@ctrl/tinycolor": {
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.1.7.tgz",
+ "integrity": "sha512-/0C6fjXbCwu22k8mMsKRSAo9zgu61d2p75Or9IuIC0Vu5CWN88t2QHK93LhNnxnqHWf5SFwFU28w9cKfTmnfvg=="
+ },
"@eslint/eslintrc": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.1.tgz",
@@ -2701,6 +2797,14 @@
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
"integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA=="
},
+ "add-dom-event-listener": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz",
+ "integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==",
+ "requires": {
+ "object-assign": "4.x"
+ }
+ },
"address": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz",
@@ -2788,6 +2892,58 @@
"color-convert": "^1.9.0"
}
},
+ "antd": {
+ "version": "4.8.4",
+ "resolved": "https://registry.npmjs.org/antd/-/antd-4.8.4.tgz",
+ "integrity": "sha512-7GlxN/WxJ3cE32echN+6cNgLkwtgU5/4UB1YSzhtENWH1cO8PHIJ+t1/Ba3tfa/BwWUHvA7ku/sKACwptqtw1g==",
+ "requires": {
+ "@ant-design/colors": "^5.0.0",
+ "@ant-design/css-animation": "^1.7.2",
+ "@ant-design/icons": "^4.3.0",
+ "@ant-design/react-slick": "~0.27.0",
+ "@babel/runtime": "^7.11.2",
+ "array-tree-filter": "^2.1.0",
+ "classnames": "^2.2.6",
+ "copy-to-clipboard": "^3.2.0",
+ "lodash": "^4.17.20",
+ "moment": "^2.25.3",
+ "omit.js": "^2.0.2",
+ "raf": "^3.4.1",
+ "rc-animate": "~3.1.0",
+ "rc-cascader": "~1.4.0",
+ "rc-checkbox": "~2.3.0",
+ "rc-collapse": "~2.0.0",
+ "rc-dialog": "~8.4.0",
+ "rc-drawer": "~4.1.0",
+ "rc-dropdown": "~3.2.0",
+ "rc-field-form": "~1.15.0",
+ "rc-image": "~4.0.0",
+ "rc-input-number": "~6.1.0",
+ "rc-mentions": "~1.5.0",
+ "rc-menu": "~8.10.0",
+ "rc-motion": "^2.2.0",
+ "rc-notification": "~4.5.2",
+ "rc-pagination": "~3.1.0",
+ "rc-picker": "~2.3.0",
+ "rc-progress": "~3.1.0",
+ "rc-rate": "~2.9.0",
+ "rc-resize-observer": "^0.2.3",
+ "rc-select": "~11.4.0",
+ "rc-slider": "~9.6.1",
+ "rc-steps": "~4.1.0",
+ "rc-switch": "~3.2.0",
+ "rc-table": "~7.11.0",
+ "rc-tabs": "~11.7.0",
+ "rc-textarea": "~0.3.0",
+ "rc-tooltip": "~5.0.0",
+ "rc-tree": "~3.11.0",
+ "rc-tree-select": "~4.1.1",
+ "rc-upload": "~3.3.1",
+ "rc-util": "^5.1.0",
+ "scroll-into-view-if-needed": "^2.2.25",
+ "warning": "^4.0.3"
+ }
+ },
"anymatch": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
@@ -2854,6 +3010,11 @@
"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": "2.1.0",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
@@ -3030,6 +3191,11 @@
"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",
@@ -3955,6 +4121,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": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz",
@@ -4020,6 +4191,11 @@
}
}
},
+ "clone": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18="
+ },
"clone-deep": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
@@ -4168,6 +4344,11 @@
}
}
},
+ "compute-scroll-into-view": {
+ "version": "1.0.16",
+ "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.16.tgz",
+ "integrity": "sha512-a85LHKY81oQnikatZYA90pufpZ6sQx++BoCxOEMsjpZx+ZnaKGQnCyCehTRr/1p9GBIAHTjcU9k71kSYWloLiQ=="
+ },
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -4282,6 +4463,14 @@
"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.7.0",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.7.0.tgz",
@@ -4325,6 +4514,15 @@
"yaml": "^1.10.0"
}
},
+ "craco-less": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/craco-less/-/craco-less-1.17.0.tgz",
+ "integrity": "sha512-G+GPEKPPKiSvYDsnQWuj1C4CIuaY8w+iHvULHkNf5QWLE0LkPfSRf3frhRDJjFxtkThpLPSLjWndD9kx8bCWzw==",
+ "requires": {
+ "less": "^3.11.1",
+ "less-loader": "^6.1.0"
+ }
+ },
"create-ecdh": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
@@ -4746,6 +4944,16 @@
"whatwg-url": "^8.0.0"
}
},
+ "date-fns": {
+ "version": "2.16.1",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.16.1.tgz",
+ "integrity": "sha512-sAJVKx/FqrLYHAQeN7VpJrPhagZc9R4ImZIWYRFZaaohR3KzmuK88touwsSwSVT8Qcbd4zoDsnGfX4GFB4imyQ=="
+ },
+ "dayjs": {
+ "version": "1.9.6",
+ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.9.6.tgz",
+ "integrity": "sha512-HngNLtPEBWRo8EFVmHFmSXAjtCX8rGNqeXQI0Gh7wCTSqwaKgPIDqu9m07wABVopNwzvOeCb+2711vQhDlcIXw=="
+ },
"debug": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
@@ -5022,6 +5230,11 @@
"resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz",
"integrity": "sha512-TvrjBckDy2c6v6RLxPv5QXOnU+SmF9nBII5621Ve5fu6Z/BDrENurBEvlC1f44lKEUVqOpK4w9E5Idc5/EgkLQ=="
},
+ "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",
@@ -7013,6 +7226,19 @@
"resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz",
"integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ=="
},
+ "history": {
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz",
+ "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==",
+ "requires": {
+ "@babel/runtime": "^7.1.2",
+ "loose-envify": "^1.2.0",
+ "resolve-pathname": "^3.0.0",
+ "tiny-invariant": "^1.0.2",
+ "tiny-warning": "^1.0.0",
+ "value-equal": "^1.0.1"
+ }
+ },
"hmac-drbg": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
@@ -7023,6 +7249,14 @@
"minimalistic-crypto-utils": "^1.0.1"
}
},
+ "hoist-non-react-statics": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
+ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+ "requires": {
+ "react-is": "^16.7.0"
+ }
+ },
"hoopy": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz",
@@ -7381,6 +7615,12 @@
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
"integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw=="
},
+ "image-size": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
+ "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
+ "optional": true
+ },
"immer": {
"version": "7.0.9",
"resolved": "https://registry.npmjs.org/immer/-/immer-7.0.9.tgz",
@@ -7561,6 +7801,11 @@
}
}
},
+ "insert-css": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/insert-css/-/insert-css-2.0.0.tgz",
+ "integrity": "sha1-610Ql7dUL0x56jBg067gfQU4gPQ="
+ },
"internal-ip": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz",
@@ -9528,6 +9773,14 @@
"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",
@@ -9614,6 +9867,40 @@
"webpack-sources": "^1.1.0"
}
},
+ "less": {
+ "version": "3.12.2",
+ "resolved": "https://registry.npmjs.org/less/-/less-3.12.2.tgz",
+ "integrity": "sha512-+1V2PCMFkL+OIj2/HrtrvZw0BC0sYLMICJfbQjuj/K8CEnlrFX6R5cKKgzzttsZDHyxQNL1jqMREjKN3ja/E3Q==",
+ "requires": {
+ "errno": "^0.1.1",
+ "graceful-fs": "^4.1.2",
+ "image-size": "~0.5.0",
+ "make-dir": "^2.1.0",
+ "mime": "^1.4.1",
+ "native-request": "^1.0.5",
+ "source-map": "~0.6.0",
+ "tslib": "^1.10.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "optional": true
+ }
+ }
+ },
+ "less-loader": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-6.2.0.tgz",
+ "integrity": "sha512-Cl5h95/Pz/PWub/tCBgT1oNMFeH1WTD33piG80jn5jr12T4XbxZcjThwNXDQ7AG649WEynuIzO4b0+2Tn9Qolg==",
+ "requires": {
+ "clone": "^2.1.2",
+ "less": "^3.11.3",
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^2.7.0"
+ }
+ },
"leven": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
@@ -9953,6 +10240,15 @@
"resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
"integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg=="
},
+ "mini-create-react-context": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz",
+ "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==",
+ "requires": {
+ "@babel/runtime": "^7.12.1",
+ "tiny-warning": "^1.0.3"
+ }
+ },
"mini-css-extract-plugin": {
"version": "0.11.3",
"resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.11.3.tgz",
@@ -9994,6 +10290,15 @@
}
}
},
+ "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",
@@ -10102,6 +10407,11 @@
"minimist": "^1.2.5"
}
},
+ "moment": {
+ "version": "2.29.1",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz",
+ "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ=="
+ },
"move-concurrently": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
@@ -10162,6 +10472,12 @@
"to-regex": "^3.0.1"
}
},
+ "native-request": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/native-request/-/native-request-1.0.8.tgz",
+ "integrity": "sha512-vU2JojJVelUGp6jRcLwToPoWGxSx23z/0iX+I77J3Ht17rf2INGjrhOoQnjVo60nQd8wVsgzKkPfRXBiVdD2ag==",
+ "optional": true
+ },
"native-url": {
"version": "0.2.6",
"resolved": "https://registry.npmjs.org/native-url/-/native-url-0.2.6.tgz",
@@ -10526,6 +10842,11 @@
"resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
"integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg=="
},
+ "omit.js": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-2.0.2.tgz",
+ "integrity": "sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg=="
+ },
"on-finished": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
@@ -12239,6 +12560,399 @@
}
}
},
+ "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-animate": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/rc-animate/-/rc-animate-3.1.1.tgz",
+ "integrity": "sha512-8wg2Zg3EETy0k/9kYuis30NJNQg1D6/WSQwnCiz6SvyxQXNet/rVraRz3bPngwY6rcU2nlRvoShiYOorXyF7Sg==",
+ "requires": {
+ "@ant-design/css-animation": "^1.7.2",
+ "classnames": "^2.2.6",
+ "raf": "^3.4.0",
+ "rc-util": "^4.15.3"
+ },
+ "dependencies": {
+ "rc-util": {
+ "version": "4.21.1",
+ "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.21.1.tgz",
+ "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==",
+ "requires": {
+ "add-dom-event-listener": "^1.1.0",
+ "prop-types": "^15.5.10",
+ "react-is": "^16.12.0",
+ "react-lifecycles-compat": "^3.0.4",
+ "shallowequal": "^1.1.0"
+ }
+ }
+ }
+ },
+ "rc-cascader": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-1.4.0.tgz",
+ "integrity": "sha512-6kgQljDQEKjVAVRkZtvvoi+2qv4u42M6oLuvt4ZDBa16r3X9ZN8TAq3atVyC840ivbGKlHT50OcdVx/iwiHc1w==",
+ "requires": {
+ "array-tree-filter": "^2.1.0",
+ "rc-trigger": "^5.0.4",
+ "rc-util": "^5.0.1",
+ "warning": "^4.0.1"
+ }
+ },
+ "rc-checkbox": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-2.3.1.tgz",
+ "integrity": "sha512-i290/iTqmZ0WtI2UPIryqT9rW6O99+an4KeZIyZDH3r+Jbb6YdddaWNdzq7g5m9zaNhJvgjf//wJtC4fvve2Tg==",
+ "requires": {
+ "@babel/runtime": "^7.10.1",
+ "classnames": "^2.2.1"
+ }
+ },
+ "rc-collapse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-2.0.1.tgz",
+ "integrity": "sha512-sRNqwQovzQoptTh7dCwj3kfxrdor2oNXrGSBz+QJxSFS7N3Ujgf8X/KlN2ElCkwBKf7nNv36t9dwH0HEku4wJg==",
+ "requires": {
+ "@ant-design/css-animation": "^1.7.2",
+ "classnames": "2.x",
+ "rc-animate": "3.x",
+ "rc-util": "^5.2.1",
+ "shallowequal": "^1.1.0"
+ }
+ },
+ "rc-dialog": {
+ "version": "8.4.3",
+ "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-8.4.3.tgz",
+ "integrity": "sha512-LHsWXb+2Cy4vEOeJcPvk9M0WSr80Gi438ov5rXt3E6XB4j+53Z+vMFRr+TagnVuOVQRCLmmzT4qutfm2U1OK6w==",
+ "requires": {
+ "@babel/runtime": "^7.10.1",
+ "classnames": "^2.2.6",
+ "rc-motion": "^2.3.0",
+ "rc-util": "^5.0.1"
+ }
+ },
+ "rc-drawer": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-4.1.0.tgz",
+ "integrity": "sha512-kjeQFngPjdzAFahNIV0EvEBoIKMOnvUsAxpkSPELoD/1DuR4nLafom5ryma+TIxGwkFJ92W6yjsMi1U9aiOTeQ==",
+ "requires": {
+ "@babel/runtime": "^7.10.1",
+ "classnames": "^2.2.6",
+ "rc-util": "^5.0.1"
+ }
+ },
+ "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.15.1",
+ "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.15.1.tgz",
+ "integrity": "sha512-V3Kfryynig7JJichGq/L8yFHpBzmWybWBtI2KjLPCX5S7nibIQPa0J8JNiHmN5kS73apjhKx1do6L7E0EILJ6Q==",
+ "requires": {
+ "@babel/runtime": "^7.8.4",
+ "async-validator": "^3.0.3",
+ "rc-util": "^5.0.0"
+ }
+ },
+ "rc-image": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-4.0.1.tgz",
+ "integrity": "sha512-1GxjwgtONtJjlvd7sM9VSLTAlDQhkqHI0wl72YSDpdm24w5zmDsTYLgTNh/vToFa9qAml10Gaidy03qpkTAQ+A==",
+ "requires": {
+ "@ant-design/icons": "^4.2.2",
+ "@babel/runtime": "^7.11.2",
+ "classnames": "^2.2.6",
+ "rc-dialog": "~8.4.0",
+ "rc-util": "^5.0.6"
+ }
+ },
+ "rc-input-number": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-6.1.1.tgz",
+ "integrity": "sha512-9t2xf1G0YEism7FAXAvF1huBk7ZNABPBf6NL+3/aDL123WiT/vhhod4cldiDWTM1Yb2EDKR//ZIa546ScdsUaA==",
+ "requires": {
+ "@babel/runtime": "^7.10.1",
+ "classnames": "^2.2.5",
+ "rc-util": "^5.0.1"
+ }
+ },
+ "rc-mentions": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-1.5.2.tgz",
+ "integrity": "sha512-GqV0tOtHY3pLpOsFCxJ2i6Ad8AVfxFmz0NlD/8rb8IG8pMpthJKcdfnXlNZRx3Fa9O4YEgJpdSY1WEbmlx2DWQ==",
+ "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.0",
+ "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-8.10.0.tgz",
+ "integrity": "sha512-mafcLoKtVlH9HDW52NmwenQ9vjvgxtR46NfYAexJEIUTZ9Ze2veZUkEKjhOJlzrUHEYtCoNslpqyy4iVN08Glw==",
+ "requires": {
+ "@babel/runtime": "^7.10.1",
+ "classnames": "2.x",
+ "mini-store": "^3.0.1",
+ "omit.js": "^2.0.0",
+ "rc-motion": "^2.0.1",
+ "rc-trigger": "^5.1.2",
+ "rc-util": "^5.0.1",
+ "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"
+ }
+ },
+ "rc-notification": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-4.5.4.tgz",
+ "integrity": "sha512-VsN0ouF4uglE5g3C9oDsXLNYX0Sz++ZNUFYCswkxhpImYJ9u6nJOpyA71uOYDVCu6bAF54Y5Hi/b+EcnMzkepg==",
+ "requires": {
+ "@babel/runtime": "^7.10.1",
+ "classnames": "2.x",
+ "rc-motion": "^2.2.0",
+ "rc-util": "^5.0.1"
+ }
+ },
+ "rc-pagination": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-3.1.2.tgz",
+ "integrity": "sha512-KbJvkTvRiD51vTIAi0oTARPUHNb0iV6njbDBe8yLkc3PWYDJaszASfuss6YJ98EIxEeGzuEk6xsUAEKWRJgz2g==",
+ "requires": {
+ "@babel/runtime": "^7.10.1",
+ "classnames": "^2.2.1"
+ }
+ },
+ "rc-picker": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-2.3.4.tgz",
+ "integrity": "sha512-UdeqTzR9E5KHOGMjWfsMpE3VU+3VR3J5/wMrwuIRmL8orv9Tm+Gew3NPfs7djcuTrfnu+hL+lwCWp7VftZcSng==",
+ "requires": {
+ "@babel/runtime": "^7.10.1",
+ "classnames": "^2.2.1",
+ "date-fns": "^2.15.0",
+ "dayjs": "^1.8.30",
+ "moment": "^2.24.0",
+ "rc-trigger": "^5.0.4",
+ "rc-util": "^5.4.0",
+ "shallowequal": "^1.1.0"
+ }
+ },
+ "rc-progress": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.1.1.tgz",
+ "integrity": "sha512-1ns3pW7ll9bHfdXtlVLF+vngdvlxiCDtiqwXnZFEdurst11JTiPxVdeqnCNbhWx5hP4kCKkAPqG1N0FVfTSUGA==",
+ "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": "0.2.6",
+ "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-0.2.6.tgz",
+ "integrity": "sha512-YX6nYnd6fk7zbuvT6oSDMKiZjyngjHoy+fz+vL3Tez38d/G5iGdaDJa2yE7345G6sc4Mm1IGRUIwclvltddhmA==",
+ "requires": {
+ "@babel/runtime": "^7.10.1",
+ "classnames": "^2.2.1",
+ "rc-util": "^5.0.0",
+ "resize-observer-polyfill": "^1.5.1"
+ }
+ },
+ "rc-select": {
+ "version": "11.4.2",
+ "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-11.4.2.tgz",
+ "integrity": "sha512-DQHYwMcvAajnnlahKkYIW47AVTXgxpGj9CWbe+juXgvxawQRFUdd8T8L2Q05aOkMy02UTG0Qrs7EZfHmn5QHbA==",
+ "requires": {
+ "@babel/runtime": "^7.10.1",
+ "classnames": "2.x",
+ "rc-motion": "^2.0.1",
+ "rc-trigger": "^5.0.4",
+ "rc-util": "^5.0.1",
+ "rc-virtual-list": "^3.2.0",
+ "warning": "^4.0.3"
+ }
+ },
+ "rc-slider": {
+ "version": "9.6.3",
+ "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-9.6.3.tgz",
+ "integrity": "sha512-qLEDQ6FKPDmzWgF7WQ8otf41z53YKSgiSeoec50H1IMz7xLwwXX9+luDYI08br3x8i6u8jIZtggN5RD1ftKnhw==",
+ "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.11.2",
+ "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.11.2.tgz",
+ "integrity": "sha512-srOWkqgDQU6OA+gpc4MsaZXFw6TRC9NizbytvFCAg+Ra06cOVnD+MVYimAnjM9GeTPHgU+yc17xr/VkUYCRbYQ==",
+ "requires": {
+ "@babel/runtime": "^7.10.1",
+ "classnames": "^2.2.5",
+ "rc-resize-observer": "^0.2.0",
+ "rc-util": "^5.4.0",
+ "shallowequal": "^1.1.0"
+ }
+ },
+ "rc-tabs": {
+ "version": "11.7.1",
+ "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-11.7.1.tgz",
+ "integrity": "sha512-ZLQ5ou70j32GKcOKRZvd5JQZOJhcDy62dr9kqiWDvt6g5v8LkpxIGAc0dWtCWOEWkO/QezwuNqWufMborkfrnQ==",
+ "requires": {
+ "@babel/runtime": "^7.11.2",
+ "classnames": "2.x",
+ "raf": "^3.4.1",
+ "rc-dropdown": "^3.1.3",
+ "rc-menu": "^8.6.1",
+ "rc-resize-observer": "^0.2.1",
+ "rc-util": "^5.5.0"
+ }
+ },
+ "rc-textarea": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-0.3.1.tgz",
+ "integrity": "sha512-bO5Ol5uD6A++aWI6BJ0Pa/8OZcGeacP9LxIGkUqkCwPyOG3kaLOsWb8ya4xCfrsC2P4vDTsHsJmmmG5wuXGFRg==",
+ "requires": {
+ "@babel/runtime": "^7.10.1",
+ "classnames": "^2.2.1",
+ "omit.js": "^2.0.0",
+ "rc-resize-observer": "^0.2.3"
+ }
+ },
+ "rc-tooltip": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-5.0.1.tgz",
+ "integrity": "sha512-3AnxhUS0j74xAV3khrKw8o6rg+Ima3nw09DJBezMPnX3ImQUAnayWsPSlN1mEnihjA43rcFkGM1emiKE+CXyMQ==",
+ "requires": {
+ "@babel/runtime": "^7.11.2",
+ "rc-trigger": "^5.0.0"
+ }
+ },
+ "rc-tree": {
+ "version": "3.11.0",
+ "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-3.11.0.tgz",
+ "integrity": "sha512-3RxA6fckbzX7WOk7g4gvO6AOad0znc8QW2nsv1IXSiljQaIMiyx1AK0zhzIEtABgWKbIs9QkhnBvIAHS4Rn9LA==",
+ "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.1.3",
+ "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-4.1.3.tgz",
+ "integrity": "sha512-vk/T1vHNvuBZyoq8CvOF6iaiyVe6Y8QmQflTYFgabVsTJ1d/obkO9tAXOvJELZgKJ9ljduDVaAZAgcq0Yap+mg==",
+ "requires": {
+ "@babel/runtime": "^7.10.1",
+ "classnames": "2.x",
+ "rc-select": "^11.1.1",
+ "rc-tree": "^3.8.0",
+ "rc-util": "^5.0.5"
+ }
+ },
+ "rc-trigger": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-5.1.2.tgz",
+ "integrity": "sha512-A6UdDy95masAEIaNmazPtqHW1EOFDWi2C2bJGDpr9OYpmObDpWKdxyNijVbFb6l1viTkAU9d3FyStgNPddgFzw==",
+ "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"
+ }
+ },
+ "rc-upload": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-3.3.1.tgz",
+ "integrity": "sha512-KWkJbVM9BwU8qi/2jZwmZpAcdRzDkuyfn/yAOLu+nm47dyd6//MtxzQD3XZDFkC6jQ6D5FmlKn6DhmOfV3v43w==",
+ "requires": {
+ "@babel/runtime": "^7.10.1",
+ "classnames": "^2.2.5",
+ "rc-util": "^5.2.0"
+ }
+ },
+ "rc-util": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.5.0.tgz",
+ "integrity": "sha512-YJB+zZGvCll/bhxXRVLAekr7lOvTgqMlRIhgINoINfUek7wQvi5sft46NOi3yYUYhocpuW4k8+5okW46sBsZAQ==",
+ "requires": {
+ "react-is": "^16.12.0",
+ "shallowequal": "^1.1.0"
+ }
+ },
+ "rc-virtual-list": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.2.2.tgz",
+ "integrity": "sha512-OepvZDQGUbQQBFk5m2Ds32rfO/tSj9gZkLbzwaIw/hwGgvatDmW+j97YQvFkUQp/XDgdSGcfFfj/6XTKpz0J4g==",
+ "requires": {
+ "classnames": "^2.2.6",
+ "rc-resize-observer": "^0.2.3",
+ "rc-util": "^5.0.7"
+ }
+ },
"react": {
"version": "17.0.1",
"resolved": "https://registry.npmjs.org/react/-/react-17.0.1.tgz",
@@ -12366,11 +13080,62 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"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-refresh": {
"version": "0.8.3",
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz",
"integrity": "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg=="
},
+ "react-router": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz",
+ "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==",
+ "requires": {
+ "@babel/runtime": "^7.1.2",
+ "history": "^4.9.0",
+ "hoist-non-react-statics": "^3.1.0",
+ "loose-envify": "^1.3.1",
+ "mini-create-react-context": "^0.4.0",
+ "path-to-regexp": "^1.7.0",
+ "prop-types": "^15.6.2",
+ "react-is": "^16.6.0",
+ "tiny-invariant": "^1.0.2",
+ "tiny-warning": "^1.0.0"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
+ },
+ "path-to-regexp": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
+ "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
+ "requires": {
+ "isarray": "0.0.1"
+ }
+ }
+ }
+ },
+ "react-router-dom": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz",
+ "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==",
+ "requires": {
+ "@babel/runtime": "^7.1.2",
+ "history": "^4.9.0",
+ "loose-envify": "^1.3.1",
+ "prop-types": "^15.6.2",
+ "react-router": "5.2.0",
+ "tiny-invariant": "^1.0.2",
+ "tiny-warning": "^1.0.0"
+ }
+ },
"react-scripts": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-4.0.0.tgz",
@@ -12797,6 +13562,11 @@
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
},
+ "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.18.1",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz",
@@ -12826,6 +13596,11 @@
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
},
+ "resolve-pathname": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz",
+ "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng=="
+ },
"resolve-url": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
@@ -13299,6 +14074,14 @@
"ajv-keywords": "^3.5.2"
}
},
+ "scroll-into-view-if-needed": {
+ "version": "2.2.26",
+ "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.26.tgz",
+ "integrity": "sha512-SQ6AOKfABaSchokAmmaxVnL9IArxEnLEX9j4wAZw+x4iUTb40q7irtHG3z4GtAWz5veVZcCnubXDBRyLVQaohw==",
+ "requires": {
+ "compute-scroll-into-view": "^1.0.16"
+ }
+ },
"select-hose": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
@@ -13481,6 +14264,11 @@
"kind-of": "^6.0.2"
}
},
+ "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",
@@ -14021,6 +14809,11 @@
"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": "4.0.1",
"resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz",
@@ -14562,6 +15355,16 @@
"resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
"integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q="
},
+ "tiny-invariant": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz",
+ "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw=="
+ },
+ "tiny-warning": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
+ "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
+ },
"tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
@@ -14622,6 +15425,11 @@
"is-number": "^7.0.0"
}
},
+ "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",
@@ -15020,6 +15828,11 @@
"spdx-expression-parse": "^3.0.0"
}
},
+ "value-equal": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz",
+ "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw=="
+ },
"vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
@@ -15069,6 +15882,14 @@
"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": {
"version": "1.7.5",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz",
@@ -16084,6 +16905,14 @@
}
}
},
+ "webpack-merge": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz",
+ "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==",
+ "requires": {
+ "lodash": "^4.17.15"
+ }
+ },
"webpack-sources": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
diff --git a/package.json b/package.json
index a5dc1ff..112d9be 100644
--- a/package.json
+++ b/package.json
@@ -3,19 +3,23 @@
"version": "0.1.0",
"private": true,
"dependencies": {
+ "@craco/craco": "^5.8.0",
"@testing-library/jest-dom": "^5.11.6",
"@testing-library/react": "^11.2.0",
"@testing-library/user-event": "^12.2.2",
+ "antd": "^4.8.4",
+ "craco-less": "^1.17.0",
"react": "^17.0.1",
"react-dom": "^17.0.1",
+ "react-router-dom": "^5.2.0",
"react-scripts": "4.0.0",
"web-vitals": "^0.2.4"
},
"scripts": {
- "start": "react-scripts start",
- "build": "react-scripts build",
- "test": "react-scripts test",
- "eject": "react-scripts eject"
+ "eject": "react-scripts eject",
+ "start": "craco start",
+ "build": "craco build",
+ "test": "craco test"
},
"eslintConfig": {
"extends": [
diff --git a/src/App.css b/src/App.css
index 74b5e05..de4b8f8 100644
--- a/src/App.css
+++ b/src/App.css
@@ -1,3 +1,5 @@
+@import "~antd/dist/antd.less";
+
.App {
text-align: center;
}
diff --git a/src/App.less b/src/App.less
new file mode 100644
index 0000000..8f882a3
--- /dev/null
+++ b/src/App.less
@@ -0,0 +1 @@
+@import '~antd/dist/antd.less';
\ No newline at end of file
diff --git a/src/component/PDtracker.js b/src/component/PDtracker.js
new file mode 100644
index 0000000..e87b2b5
--- /dev/null
+++ b/src/component/PDtracker.js
@@ -0,0 +1,98 @@
+import React, { useState } from "react";
+import { Table, Tag, Space } from "antd";
+import "../App.less";
+import useStudentsData from "./useStudentsData";
+// import pd-fake-data.json from "./pd-fake-data.json"
+
+const PDtracker = () => {
+ const [students] = useStudentsData();
+ const [data, setStudents] = useState([students]);
+ const [searchValue, setSearchValue] = useState("");
+
+ const SearchNameInput = (
+ {
+ const searchTerm = e.target.value;
+ setSearchValue(searchTerm);
+ const results = data.filter((student) =>
+ student.name.includes(searchTerm),
+ );
+ setStudents(results);
+ }}
+ />
+ );
+
+ const columns = [
+ {
+ title: "#",
+ dataIndex: "student_id",
+ key: "student_id",
+ // render: (text) => {text},
+ },
+ {
+ title: "Name",
+ dataIndex: "name",
+ key: "name",
+ render: (text) => {text},
+ },
+ {
+ title: "Communication",
+ dataIndex: "Communication",
+ key: "Communication",
+ },
+ {
+ title: "Resilience",
+ dataIndex: "Resilience",
+ key: "Resilience",
+ },
+ {
+ title: "Growth",
+ dataIndex: "Growth",
+ key: "Growth",
+ },
+ {
+ title: "Homework Handed In",
+ dataIndex: "homework_submitted",
+ key: "homework_submitted",
+ // render: (text) => {text},
+
+ render: (homework_submitted) => (
+ <>
+ {homework_submitted.map((hwk) => {
+ let color = hwk === "yes" ? "geekblue" : "green";
+ if (hwk === "no") {
+ color = "red";
+ }
+ return (
+
+ {hwk.toUpperCase()}
+
+ );
+ })}
+ >
+ ),
+ },
+
+ {
+ title: "Action",
+ key: "action",
+ render: (email, record) => (
+
+ Send {record.name} email
+ {/* Delete */}
+
+ ),
+ },
+ {
+ title: SearchNameInput,
+ dataIndex: "name",
+ key: "1",
+ },
+ ];
+
+ return
;
+};
+
+export default PDtracker;
diff --git a/src/component/main.jsx b/src/component/main.jsx
new file mode 100644
index 0000000..4b45c84
--- /dev/null
+++ b/src/component/main.jsx
@@ -0,0 +1,207 @@
+import React from "react";
+import Data from "../Data.json";
+import "../main.css";
+import "antd/dist/antd.css";
+import "../index.css";
+import PDtracker from "./PDtracker";
+import { BrowserRouter as Router, Switch, Route, Link } from "react-router-dom";
+// import Layout from "antd/lib/layout/layout";
+
+function main() {
+ return (
+ //
+
+
+
+ //
+ );
+}
+function Footer() {
+ return (
+
+ );
+}
+function Main() {
+ return (
+
+
+
+ List of users
+
+
+ |
+ #
+ |
+
+ Name
+ |
+
+ Photo
+ |
+
+ Edu Buddy
+ |
+
+ PD Buddy
+ |
+
+ GitHub
+ |
+
+ English Test
+ |
+
+ Language Support
+ |
+ |
+
+
+
+ {Data.map(function (obj) {
+ return (
+ <>
+
+ | {obj.id} |
+ {obj.name} |
+ {obj.photo} |
+ {obj.pdBuddy} |
+ {obj.eduBuddy} |
+ {obj.gitHub} |
+ {obj.englishTest} |
+ {obj.languageSupport} |
+
+
+ |
+
+ >
+ );
+ })}
+
+
+
+ );
+}
+// function Header() {
+// return (
+
+// );
+// }
+export default main;
diff --git a/src/component/pd-fake-data.json b/src/component/pd-fake-data.json
new file mode 100644
index 0000000..0b59001
--- /dev/null
+++ b/src/component/pd-fake-data.json
@@ -0,0 +1,481 @@
+[{
+ "student_id": 1,
+ "name": "student 1",
+ "Communication": 3,
+ "Motivation": 3,
+ "Collaboration & Team Work": 2,
+ "Resilience": 5,
+ "Growth Mindset": 1,
+ "Organisation": 5,
+ "Attention to detail": 4,
+ "Punctuality": 1,
+ "Focus": 4,
+ "Language Proficiency": 3,
+ "Self-confidence": 4,
+ "Pro-active Learning": 4
+},
+{
+ "student_id": 2,
+ "name": "student 2",
+ "Communication": 4,
+ "Motivation": 1,
+ "Collaboration & Team Work": 1,
+ "Resilience": 5,
+ "Growth Mindset": 5,
+ "Organisation": 1,
+ "Attention to detail": 2,
+ "Punctuality": 2,
+ "Focus": 2,
+ "Language Proficiency": 1,
+ "Self-confidence": 5,
+ "Pro-active Learning": 2
+},
+{
+ "student_id": 3,
+ "name": "student 3",
+ "Communication": 1,
+ "Motivation": 2,
+ "Collaboration & Team Work": 1,
+ "Resilience": 3,
+ "Growth Mindset": 5,
+ "Organisation": 2,
+ "Attention to detail": 4,
+ "Punctuality": 3,
+ "Focus": 2,
+ "Language Proficiency": 1,
+ "Self-confidence": 2,
+ "Pro-active Learning": 2
+},
+{
+ "student_id": 4,
+ "name": "student 4",
+ "Communication": 2,
+ "Motivation": 4,
+ "Collaboration & Team Work": 1,
+ "Resilience": 5,
+ "Growth Mindset": 5,
+ "Organisation": 3,
+ "Attention to detail": 5,
+ "Punctuality": 1,
+ "Focus": 3,
+ "Language Proficiency": 5,
+ "Self-confidence": 1,
+ "Pro-active Learning": 5
+},
+{
+ "student_id": 5,
+ "name": "student 5",
+ "Communication": 4,
+ "Motivation": 4,
+ "Collaboration & Team Work": 4,
+ "Resilience": 3,
+ "Growth Mindset": 2,
+ "Organisation": 4,
+ "Attention to detail": 4,
+ "Punctuality": 5,
+ "Focus": 4,
+ "Language Proficiency": 4,
+ "Self-confidence": 3,
+ "Pro-active Learning": 1
+},
+{
+ "student_id": 6,
+ "name": "student 6",
+ "Communication": 3,
+ "Motivation": 2,
+ "Collaboration & Team Work": 1,
+ "Resilience": 1,
+ "Growth Mindset": 5,
+ "Organisation": 2,
+ "Attention to detail": 4,
+ "Punctuality": 4,
+ "Focus": 3,
+ "Language Proficiency": 2,
+ "Self-confidence": 3,
+ "Pro-active Learning": 4
+},
+{
+ "student_id": 7,
+ "name": "student 7",
+ "Communication": 2,
+ "Motivation": 1,
+ "Collaboration & Team Work": 2,
+ "Resilience": 1,
+ "Growth Mindset": 1,
+ "Organisation": 5,
+ "Attention to detail": 2,
+ "Punctuality": 2,
+ "Focus": 1,
+ "Language Proficiency": 1,
+ "Self-confidence": 1,
+ "Pro-active Learning": 3
+},
+{
+ "student_id": 8,
+ "name": "student 8",
+ "Communication": 5,
+ "Motivation": 5,
+ "Collaboration & Team Work": 1,
+ "Resilience": 4,
+ "Growth Mindset": 3,
+ "Organisation": 1,
+ "Attention to detail": 4,
+ "Punctuality": 3,
+ "Focus": 3,
+ "Language Proficiency": 3,
+ "Self-confidence": 1,
+ "Pro-active Learning": 1
+},
+{
+ "student_id": 9,
+ "name": "student 9",
+ "Communication": 3,
+ "Motivation": 5,
+ "Collaboration & Team Work": 2,
+ "Resilience": 4,
+ "Growth Mindset": 3,
+ "Organisation": 2,
+ "Attention to detail": 3,
+ "Punctuality": 1,
+ "Focus": 3,
+ "Language Proficiency": 2,
+ "Self-confidence": 2,
+ "Pro-active Learning": 5
+},
+{
+ "student_id": 10,
+ "name": "student 10",
+ "Communication": 2,
+ "Motivation": 1,
+ "Collaboration & Team Work": 1,
+ "Resilience": 5,
+ "Growth Mindset": 2,
+ "Organisation": 3,
+ "Attention to detail": 2,
+ "Punctuality": 2,
+ "Focus": 3,
+ "Language Proficiency": 5,
+ "Self-confidence": 5,
+ "Pro-active Learning": 5
+},
+{
+ "student_id": 11,
+ "name": "student 11",
+ "Communication": 3,
+ "Motivation": 5,
+ "Collaboration & Team Work": 4,
+ "Resilience": 5,
+ "Growth Mindset": 2,
+ "Organisation": 5,
+ "Attention to detail": 2,
+ "Punctuality": 5,
+ "Focus": 4,
+ "Language Proficiency": 1,
+ "Self-confidence": 2,
+ "Pro-active Learning": 5
+},
+{
+ "student_id": 12,
+ "name": "student 12",
+ "Communication": 5,
+ "Motivation": 4,
+ "Collaboration & Team Work": 3,
+ "Resilience": 5,
+ "Growth Mindset": 5,
+ "Organisation": 2,
+ "Attention to detail": 3,
+ "Punctuality": 2,
+ "Focus": 1,
+ "Language Proficiency": 2,
+ "Self-confidence": 3,
+ "Pro-active Learning": 3
+},
+{
+ "student_id": 13,
+ "name": "student 13",
+ "Communication": 1,
+ "Motivation": 1,
+ "Collaboration & Team Work": 5,
+ "Resilience": 1,
+ "Growth Mindset": 4,
+ "Organisation": 4,
+ "Attention to detail": 1,
+ "Punctuality": 2,
+ "Focus": 5,
+ "Language Proficiency": 4,
+ "Self-confidence": 3,
+ "Pro-active Learning": 4
+},
+{
+ "student_id": 14,
+ "name": "student 14",
+ "Communication": 2,
+ "Motivation": 4,
+ "Collaboration & Team Work": 2,
+ "Resilience": 1,
+ "Growth Mindset": 3,
+ "Organisation": 2,
+ "Attention to detail": 2,
+ "Punctuality": 2,
+ "Focus": 5,
+ "Language Proficiency": 3,
+ "Self-confidence": 3,
+ "Pro-active Learning": 3
+},
+{
+ "student_id": 15,
+ "name": "student 15",
+ "Communication": 5,
+ "Motivation": 4,
+ "Collaboration & Team Work": 1,
+ "Resilience": 3,
+ "Growth Mindset": 3,
+ "Organisation": 4,
+ "Attention to detail": 5,
+ "Punctuality": 2,
+ "Focus": 1,
+ "Language Proficiency": 3,
+ "Self-confidence": 3,
+ "Pro-active Learning": 5
+},
+{
+ "student_id": 16,
+ "name": "student 16",
+ "Communication": 5,
+ "Motivation": 5,
+ "Collaboration & Team Work": 2,
+ "Resilience": 1,
+ "Growth Mindset": 4,
+ "Organisation": 2,
+ "Attention to detail": 2,
+ "Punctuality": 3,
+ "Focus": 1,
+ "Language Proficiency": 1,
+ "Self-confidence": 2,
+ "Pro-active Learning": 2
+},
+{
+ "student_id": 17,
+ "name": "student 17",
+ "Communication": 1,
+ "Motivation": 4,
+ "Collaboration & Team Work": 3,
+ "Resilience": 5,
+ "Growth Mindset": 5,
+ "Organisation": 4,
+ "Attention to detail": 1,
+ "Punctuality": 4,
+ "Focus": 3,
+ "Language Proficiency": 1,
+ "Self-confidence": 4,
+ "Pro-active Learning": 3
+},
+{
+ "student_id": 18,
+ "name": "student 18",
+ "Communication": 3,
+ "Motivation": 3,
+ "Collaboration & Team Work": 4,
+ "Resilience": 2,
+ "Growth Mindset": 1,
+ "Organisation": 5,
+ "Attention to detail": 5,
+ "Punctuality": 1,
+ "Focus": 4,
+ "Language Proficiency": 5,
+ "Self-confidence": 5,
+ "Pro-active Learning": 1
+},
+{
+ "student_id": 19,
+ "name": "student 19",
+ "Communication": 3,
+ "Motivation": 3,
+ "Collaboration & Team Work": 4,
+ "Resilience": 4,
+ "Growth Mindset": 3,
+ "Organisation": 4,
+ "Attention to detail": 5,
+ "Punctuality": 1,
+ "Focus": 1,
+ "Language Proficiency": 4,
+ "Self-confidence": 3,
+ "Pro-active Learning": 1
+},
+{
+ "student_id": 20,
+ "name": "student 20",
+ "Communication": 2,
+ "Motivation": 2,
+ "Collaboration & Team Work": 4,
+ "Resilience": 1,
+ "Growth Mindset": 1,
+ "Organisation": 3,
+ "Attention to detail": 4,
+ "Punctuality": 1,
+ "Focus": 5,
+ "Language Proficiency": 2,
+ "Self-confidence": 3,
+ "Pro-active Learning": 5
+},
+{
+ "student_id": 21,
+ "name": "student 21",
+ "Communication": 4,
+ "Motivation": 2,
+ "Collaboration & Team Work": 4,
+ "Resilience": 3,
+ "Growth Mindset": 1,
+ "Organisation": 3,
+ "Attention to detail": 5,
+ "Punctuality": 4,
+ "Focus": 5,
+ "Language Proficiency": 1,
+ "Self-confidence": 3,
+ "Pro-active Learning": 1
+},
+{
+ "student_id": 22,
+ "name": "student 22",
+ "Communication": 3,
+ "Motivation": 3,
+ "Collaboration & Team Work": 3,
+ "Resilience": 3,
+ "Growth Mindset": 5,
+ "Organisation": 5,
+ "Attention to detail": 3,
+ "Punctuality": 1,
+ "Focus": 2,
+ "Language Proficiency": 5,
+ "Self-confidence": 4,
+ "Pro-active Learning": 5
+},
+{
+ "student_id": 23,
+ "name": "student 23",
+ "Communication": 1,
+ "Motivation": 5,
+ "Collaboration & Team Work": 2,
+ "Resilience": 2,
+ "Growth Mindset": 2,
+ "Organisation": 5,
+ "Attention to detail": 3,
+ "Punctuality": 4,
+ "Focus": 4,
+ "Language Proficiency": 1,
+ "Self-confidence": 5,
+ "Pro-active Learning": 1
+},
+{
+ "student_id": 24,
+ "name": "student 24",
+ "Communication": 3,
+ "Motivation": 2,
+ "Collaboration & Team Work": 1,
+ "Resilience": 4,
+ "Growth Mindset": 3,
+ "Organisation": 2,
+ "Attention to detail": 3,
+ "Punctuality": 2,
+ "Focus": 2,
+ "Language Proficiency": 3,
+ "Self-confidence": 1,
+ "Pro-active Learning": 2
+},
+{
+ "student_id": 25,
+ "name": "student 25",
+ "Communication": 2,
+ "Motivation": 4,
+ "Collaboration & Team Work": 1,
+ "Resilience": 3,
+ "Growth Mindset": 2,
+ "Organisation": 3,
+ "Attention to detail": 3,
+ "Punctuality": 2,
+ "Focus": 3,
+ "Language Proficiency": 1,
+ "Self-confidence": 2,
+ "Pro-active Learning": 3
+},
+{
+ "student_id": 26,
+ "name": "student 26",
+ "Communication": 3,
+ "Motivation": 4,
+ "Collaboration & Team Work": 3,
+ "Resilience": 2,
+ "Growth Mindset": 5,
+ "Organisation": 2,
+ "Attention to detail": 4,
+ "Punctuality": 1,
+ "Focus": 3,
+ "Language Proficiency": 2,
+ "Self-confidence": 2,
+ "Pro-active Learning": 1
+},
+{
+ "student_id": 27,
+ "name": "student 27",
+ "Communication": 4,
+ "Motivation": 3,
+ "Collaboration & Team Work": 5,
+ "Resilience": 1,
+ "Growth Mindset": 5,
+ "Organisation": 2,
+ "Attention to detail": 3,
+ "Punctuality": 5,
+ "Focus": 5,
+ "Language Proficiency": 1,
+ "Self-confidence": 3,
+ "Pro-active Learning": 2
+},
+{
+ "student_id": 28,
+ "name": "student 28",
+ "Communication": 3,
+ "Motivation": 2,
+ "Collaboration & Team Work": 4,
+ "Resilience": 4,
+ "Growth Mindset": 4,
+ "Organisation": 5,
+ "Attention to detail": 5,
+ "Punctuality": 1,
+ "Focus": 1,
+ "Language Proficiency": 4,
+ "Self-confidence": 3,
+ "Pro-active Learning": 3
+},
+{
+ "student_id": 29,
+ "name": "student 29",
+ "Communication": 5,
+ "Motivation": 2,
+ "Collaboration & Team Work": 3,
+ "Resilience": 4,
+ "Growth Mindset": 2,
+ "Organisation": 2,
+ "Attention to detail": 5,
+ "Punctuality": 1,
+ "Focus": 5,
+ "Language Proficiency": 1,
+ "Self-confidence": 3,
+ "Pro-active Learning": 1
+},
+{
+ "student_id": 30,
+ "name": "student 30",
+ "Communication": 2,
+ "Motivation": 4,
+ "Collaboration & Team Work": 3,
+ "Resilience": 2,
+ "Growth Mindset": 5,
+ "Organisation": 5,
+ "Attention to detail": 4,
+ "Punctuality": 3,
+ "Focus": 2,
+ "Language Proficiency": 1,
+ "Self-confidence": 3,
+ "Pro-active Learning": 2
+}
+]
\ No newline at end of file
diff --git a/src/component/useStudentsData.js b/src/component/useStudentsData.js
new file mode 100644
index 0000000..7907218
--- /dev/null
+++ b/src/component/useStudentsData.js
@@ -0,0 +1,21 @@
+// eslint-disable-next-line
+import React, { useState, useEffect } from "react";
+
+const useStudentsdData = () => {
+ // const [hasError, setErrors] = useState(false);
+ const [students, setStudents] = useState([]);
+
+ //Fetch Data
+ async function fetchStudents() {
+ const res = await fetch("https://ontrack-team3.herokuapp.com/pd/students/");
+ res.json().then((res) => setStudents(res));
+ // .catch((err) => setErrors(err));
+ }
+ useEffect(() => {
+ fetchStudents();
+ }, []);
+ return [students];
+ // console.log(country);
+};
+
+export default useStudentsdData;
diff --git a/src/index.css b/src/index.css
index ec2585e..dde20c6 100644
--- a/src/index.css
+++ b/src/index.css
@@ -1,13 +1,24 @@
body {
- margin: 0;
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
- 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
- sans-serif;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
+ font-size: 20px;
+ line-height: 1.0;
}
-code {
- font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
- monospace;
+.logo {
+ float: left;
+ width: 120px;
+ height: 31px;
+ margin: 16px 24px 16px 0;
+ background: rgba(255, 255, 255, 0.3);
+}
+
+.ant-row-rtl .logo {
+ float: right;
+ margin: 16px 0 16px 24px;
+}
+
+.site-layout-background {
+ background: #fff;
+}
+.header-color {
+ background-color: #cf1322;
}
diff --git a/src/index.js b/src/index.js
index c12b8d3..e3bac00 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,5 +1,5 @@
import React from 'react';
-import Main from './main'
+import Main from './component/main'
import ReactDOM from 'react-dom';
import './index.css';
diff --git a/src/main.jsx b/src/main.jsx
deleted file mode 100644
index e5781bf..0000000
--- a/src/main.jsx
+++ /dev/null
@@ -1,130 +0,0 @@
-import React from 'react'
-import Data from './Data.json'
-import './main.css'
-function main(){
- return(
-
-
-
-
-
-
-
- )
-}
-function Footer(){
- return(
- )
-}
-function Main(){
-return(
-
-
-
- List of users
-
-
- | # |
- Name |
- Photo |
- Edu Buddy |
- PD Buddy |
- GitHub |
- English Test |
- Language Support |
- |
-
-
-
-
- {
- Data.map(function(obj){
- return(<>
-
- | {obj.id} |
- {obj.name} |
- {obj.photo} |
- {obj.pdBuddy} |
- {obj.eduBuddy} |
- {obj.gitHub} |
- {obj.englishTest} |
- {obj.languageSupport} |
-
-
- |
-
-
- >)
- })
- }
-
-
-
-
-
-)
-}
-function Header(){
-return(
-
-)
-
-}
-export default main;
\ No newline at end of file