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 ( +
+
+ + +
+ + + + + + + + + + + + + + + + {Data.map(function (obj) { + return ( + <> + + + + + + + + + + + + + ); + })} + +
List of users
+ # + + Name + + Photo + + Edu Buddy + + PD Buddy + + GitHub + + English Test + + Language Support +
{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( -
-
- -
- - - - - - - - - - - - - - - - - - { - Data.map(function(obj){ - return(<> - - - - - - - - - - - - - ) - }) - } - - - -
List of users
#NamePhotoEdu BuddyPD BuddyGitHubEnglish TestLanguage Support
{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