swa07016

랜덤 추천 구현

...@@ -1794,11 +1794,21 @@ ...@@ -1794,11 +1794,21 @@
1794 "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-10.1.0.tgz", 1794 "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-10.1.0.tgz",
1795 "integrity": "sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==" 1795 "integrity": "sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg=="
1796 }, 1796 },
1797 + "@date-io/moment": {
1798 + "version": "1.3.5",
1799 + "resolved": "https://registry.npmjs.org/@date-io/moment/-/moment-1.3.5.tgz",
1800 + "integrity": "sha512-b0JQb10Lie07iW2/9uKCQSrXif262d6zfYBstCLLJUk0JVA+7o/yLDg5p2+GkjgJbmodjHozIXs4Bi34RRhL8Q=="
1801 + },
1797 "@fortawesome/fontawesome-common-types": { 1802 "@fortawesome/fontawesome-common-types": {
1798 "version": "0.2.28", 1803 "version": "0.2.28",
1799 "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.28.tgz", 1804 "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.28.tgz",
1800 "integrity": "sha512-gtis2/5yLdfI6n0ia0jH7NJs5i/Z/8M/ZbQL6jXQhCthEOe5Cr5NcQPhgTvFxNOtURE03/ZqUcEskdn2M+QaBg==" 1805 "integrity": "sha512-gtis2/5yLdfI6n0ia0jH7NJs5i/Z/8M/ZbQL6jXQhCthEOe5Cr5NcQPhgTvFxNOtURE03/ZqUcEskdn2M+QaBg=="
1801 }, 1806 },
1807 + "@fortawesome/fontawesome-free": {
1808 + "version": "5.13.1",
1809 + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.13.1.tgz",
1810 + "integrity": "sha512-D819f34FLHeBN/4xvw0HR0u7U2G7RqjPSggXqf7LktsxWQ48VAfGwvMrhcVuaZV2fF069c/619RdgCCms0DHhw=="
1811 + },
1802 "@fortawesome/fontawesome-svg-core": { 1812 "@fortawesome/fontawesome-svg-core": {
1803 "version": "1.2.28", 1813 "version": "1.2.28",
1804 "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.28.tgz", 1814 "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.28.tgz",
...@@ -2038,6 +2048,61 @@ ...@@ -2038,6 +2048,61 @@
2038 "@types/yargs": "^13.0.0" 2048 "@types/yargs": "^13.0.0"
2039 } 2049 }
2040 }, 2050 },
2051 + "@material-ui/core": {
2052 + "version": "3.9.3",
2053 + "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-3.9.3.tgz",
2054 + "integrity": "sha512-REIj62+zEvTgI/C//YL4fZxrCVIySygmpZglsu/Nl5jPqy3CDjZv1F9ubBYorHqmRgeVPh64EghMMWqk4egmfg==",
2055 + "requires": {
2056 + "@babel/runtime": "^7.2.0",
2057 + "@material-ui/system": "^3.0.0-alpha.0",
2058 + "@material-ui/utils": "^3.0.0-alpha.2",
2059 + "@types/jss": "^9.5.6",
2060 + "@types/react-transition-group": "^2.0.8",
2061 + "brcast": "^3.0.1",
2062 + "classnames": "^2.2.5",
2063 + "csstype": "^2.5.2",
2064 + "debounce": "^1.1.0",
2065 + "deepmerge": "^3.0.0",
2066 + "dom-helpers": "^3.2.1",
2067 + "hoist-non-react-statics": "^3.2.1",
2068 + "is-plain-object": "^2.0.4",
2069 + "jss": "^9.8.7",
2070 + "jss-camel-case": "^6.0.0",
2071 + "jss-default-unit": "^8.0.2",
2072 + "jss-global": "^3.0.0",
2073 + "jss-nested": "^6.0.1",
2074 + "jss-props-sort": "^6.0.0",
2075 + "jss-vendor-prefixer": "^7.0.0",
2076 + "normalize-scroll-left": "^0.1.2",
2077 + "popper.js": "^1.14.1",
2078 + "prop-types": "^15.6.0",
2079 + "react-event-listener": "^0.6.2",
2080 + "react-transition-group": "^2.2.1",
2081 + "recompose": "0.28.0 - 0.30.0",
2082 + "warning": "^4.0.1"
2083 + }
2084 + },
2085 + "@material-ui/system": {
2086 + "version": "3.0.0-alpha.2",
2087 + "resolved": "https://registry.npmjs.org/@material-ui/system/-/system-3.0.0-alpha.2.tgz",
2088 + "integrity": "sha512-odmxQ0peKpP7RQBQ8koly06YhsPzcoVib1vByVPBH4QhwqBXuYoqlCjt02846fYspAqkrWzjxnWUD311EBbxOA==",
2089 + "requires": {
2090 + "@babel/runtime": "^7.2.0",
2091 + "deepmerge": "^3.0.0",
2092 + "prop-types": "^15.6.0",
2093 + "warning": "^4.0.1"
2094 + }
2095 + },
2096 + "@material-ui/utils": {
2097 + "version": "3.0.0-alpha.3",
2098 + "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-3.0.0-alpha.3.tgz",
2099 + "integrity": "sha512-rwMdMZptX0DivkqBuC+Jdq7BYTXwqKai5G5ejPpuEDKpWzi1Oxp+LygGw329FrKpuKeiqpcymlqJTjmy+quWng==",
2100 + "requires": {
2101 + "@babel/runtime": "^7.2.0",
2102 + "prop-types": "^15.6.0",
2103 + "react-is": "^16.6.3"
2104 + }
2105 + },
2041 "@mrmlnc/readdir-enhanced": { 2106 "@mrmlnc/readdir-enhanced": {
2042 "version": "2.2.1", 2107 "version": "2.2.1",
2043 "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", 2108 "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
...@@ -2393,6 +2458,15 @@ ...@@ -2393,6 +2458,15 @@
2393 "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz", 2458 "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz",
2394 "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==" 2459 "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA=="
2395 }, 2460 },
2461 + "@types/jss": {
2462 + "version": "9.5.8",
2463 + "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.5.8.tgz",
2464 + "integrity": "sha512-bBbHvjhm42UKki+wZpR89j73ykSXg99/bhuKuYYePtpma3ZAnmeGnl0WxXiZhPGsIfzKwCUkpPC0jlrVMBfRxA==",
2465 + "requires": {
2466 + "csstype": "^2.0.0",
2467 + "indefinite-observable": "^1.0.1"
2468 + }
2469 + },
2396 "@types/minimatch": { 2470 "@types/minimatch": {
2397 "version": "3.0.3", 2471 "version": "3.0.3",
2398 "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", 2472 "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
...@@ -2435,6 +2509,22 @@ ...@@ -2435,6 +2509,22 @@
2435 "@types/react": "*" 2509 "@types/react": "*"
2436 } 2510 }
2437 }, 2511 },
2512 + "@types/react-text-mask": {
2513 + "version": "5.4.6",
2514 + "resolved": "https://registry.npmjs.org/@types/react-text-mask/-/react-text-mask-5.4.6.tgz",
2515 + "integrity": "sha512-0KkER9oXZY/v1x8aoMTHwANlWnKT5tnmV7Zz+g81gBvcHRtcIHotcpY4KgWRwx0T5JMcsYmEh7wGOz0lwdONew==",
2516 + "requires": {
2517 + "@types/react": "*"
2518 + }
2519 + },
2520 + "@types/react-transition-group": {
2521 + "version": "2.9.2",
2522 + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.9.2.tgz",
2523 + "integrity": "sha512-5Fv2DQNO+GpdPZcxp2x/OQG/H19A01WlmpjVD9cKvVFmoVLOZ9LvBgSWG6pSXIU4og5fgbvGPaCV5+VGkWAEHA==",
2524 + "requires": {
2525 + "@types/react": "*"
2526 + }
2527 + },
2438 "@types/stack-utils": { 2528 "@types/stack-utils": {
2439 "version": "1.0.1", 2529 "version": "1.0.1",
2440 "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", 2530 "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
...@@ -3731,6 +3821,11 @@ ...@@ -3731,6 +3821,11 @@
3731 "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.0.tgz", 3821 "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.0.tgz",
3732 "integrity": "sha512-Z93QoXvodoVslA+PWNdk23Hze4RBYIkpb5h8I2HY2Tu2h7A0LpAgLcyrhrSUyo2/Oxm2l1fRZPs1e5hnxnliXA==" 3822 "integrity": "sha512-Z93QoXvodoVslA+PWNdk23Hze4RBYIkpb5h8I2HY2Tu2h7A0LpAgLcyrhrSUyo2/Oxm2l1fRZPs1e5hnxnliXA=="
3733 }, 3823 },
3824 + "bootstrap-css-only": {
3825 + "version": "4.4.1",
3826 + "resolved": "https://registry.npmjs.org/bootstrap-css-only/-/bootstrap-css-only-4.4.1.tgz",
3827 + "integrity": "sha512-iBgNli7RnedBFwn6sMTQoAZ8WgIwmX4kF1rckfj+pgro5q/Q0DbLtcpfH60XoFnCXzbEJU/khC/B2EQap89mCg=="
3828 + },
3734 "brace-expansion": { 3829 "brace-expansion": {
3735 "version": "1.1.11", 3830 "version": "1.1.11",
3736 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 3831 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
...@@ -3767,6 +3862,11 @@ ...@@ -3767,6 +3862,11 @@
3767 } 3862 }
3768 } 3863 }
3769 }, 3864 },
3865 + "brcast": {
3866 + "version": "3.0.2",
3867 + "resolved": "https://registry.npmjs.org/brcast/-/brcast-3.0.2.tgz",
3868 + "integrity": "sha512-f5XwwFCCuvgqP2nMH/hJ74FqnGmb4X3D+NC//HphxJzzhsZvSZa+Hk/syB7j3ZHpPDLMoYU8oBgviRWfNvEfKA=="
3869 + },
3770 "brorand": { 3870 "brorand": {
3771 "version": "1.1.0", 3871 "version": "1.1.0",
3772 "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", 3872 "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
...@@ -4071,11 +4171,42 @@ ...@@ -4071,11 +4171,42 @@
4071 } 4171 }
4072 } 4172 }
4073 }, 4173 },
4174 + "change-emitter": {
4175 + "version": "0.1.6",
4176 + "resolved": "https://registry.npmjs.org/change-emitter/-/change-emitter-0.1.6.tgz",
4177 + "integrity": "sha1-6LL+PX8at9aaMhma/5HqaTFAlRU="
4178 + },
4074 "chardet": { 4179 "chardet": {
4075 "version": "0.7.0", 4180 "version": "0.7.0",
4076 "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", 4181 "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
4077 "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" 4182 "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
4078 }, 4183 },
4184 + "chart.js": {
4185 + "version": "2.9.3",
4186 + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.3.tgz",
4187 + "integrity": "sha512-+2jlOobSk52c1VU6fzkh3UwqHMdSlgH1xFv9FKMqHiNCpXsGPQa/+81AFa+i3jZ253Mq9aAycPwDjnn1XbRNNw==",
4188 + "requires": {
4189 + "chartjs-color": "^2.1.0",
4190 + "moment": "^2.10.2"
4191 + }
4192 + },
4193 + "chartjs-color": {
4194 + "version": "2.4.1",
4195 + "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz",
4196 + "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==",
4197 + "requires": {
4198 + "chartjs-color-string": "^0.6.0",
4199 + "color-convert": "^1.9.3"
4200 + }
4201 + },
4202 + "chartjs-color-string": {
4203 + "version": "0.6.0",
4204 + "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz",
4205 + "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==",
4206 + "requires": {
4207 + "color-name": "^1.0.0"
4208 + }
4209 + },
4079 "chokidar": { 4210 "chokidar": {
4080 "version": "3.4.0", 4211 "version": "3.4.0",
4081 "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", 4212 "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz",
...@@ -4260,6 +4391,11 @@ ...@@ -4260,6 +4391,11 @@
4260 "shallow-clone": "^0.1.2" 4391 "shallow-clone": "^0.1.2"
4261 } 4392 }
4262 }, 4393 },
4394 + "clsx": {
4395 + "version": "1.1.1",
4396 + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz",
4397 + "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA=="
4398 + },
4263 "co": { 4399 "co": {
4264 "version": "4.6.0", 4400 "version": "4.6.0",
4265 "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", 4401 "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
...@@ -4758,6 +4894,14 @@ ...@@ -4758,6 +4894,14 @@
4758 "source-map": "^0.6.1" 4894 "source-map": "^0.6.1"
4759 } 4895 }
4760 }, 4896 },
4897 + "css-vendor": {
4898 + "version": "0.3.8",
4899 + "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-0.3.8.tgz",
4900 + "integrity": "sha1-ZCHP0wNM5mT+dnOXL9ARn8KJQfo=",
4901 + "requires": {
4902 + "is-in-browser": "^1.0.2"
4903 + }
4904 + },
4761 "css-what": { 4905 "css-what": {
4762 "version": "3.2.1", 4906 "version": "3.2.1",
4763 "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz", 4907 "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz",
...@@ -4940,6 +5084,11 @@ ...@@ -4940,6 +5084,11 @@
4940 } 5084 }
4941 } 5085 }
4942 }, 5086 },
5087 + "debounce": {
5088 + "version": "1.2.0",
5089 + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz",
5090 + "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg=="
5091 + },
4943 "debug": { 5092 "debug": {
4944 "version": "2.6.9", 5093 "version": "2.6.9",
4945 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 5094 "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
...@@ -4983,6 +5132,11 @@ ...@@ -4983,6 +5132,11 @@
4983 "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 5132 "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
4984 "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" 5133 "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
4985 }, 5134 },
5135 + "deepmerge": {
5136 + "version": "3.3.0",
5137 + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz",
5138 + "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA=="
5139 + },
4986 "default-gateway": { 5140 "default-gateway": {
4987 "version": "4.2.0", 5141 "version": "4.2.0",
4988 "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", 5142 "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz",
...@@ -5385,6 +5539,14 @@ ...@@ -5385,6 +5539,14 @@
5385 "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 5539 "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
5386 "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" 5540 "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
5387 }, 5541 },
5542 + "encoding": {
5543 + "version": "0.1.12",
5544 + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
5545 + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
5546 + "requires": {
5547 + "iconv-lite": "~0.4.13"
5548 + }
5549 + },
5388 "end-of-stream": { 5550 "end-of-stream": {
5389 "version": "1.4.4", 5551 "version": "1.4.4",
5390 "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 5552 "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
...@@ -5965,6 +6127,11 @@ ...@@ -5965,6 +6127,11 @@
5965 "strip-eof": "^1.0.0" 6127 "strip-eof": "^1.0.0"
5966 } 6128 }
5967 }, 6129 },
6130 + "exenv": {
6131 + "version": "1.2.2",
6132 + "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz",
6133 + "integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50="
6134 + },
5968 "exit": { 6135 "exit": {
5969 "version": "0.1.2", 6136 "version": "0.1.2",
5970 "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", 6137 "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
...@@ -6252,6 +6419,35 @@ ...@@ -6252,6 +6419,35 @@
6252 "bser": "2.1.1" 6419 "bser": "2.1.1"
6253 } 6420 }
6254 }, 6421 },
6422 + "fbjs": {
6423 + "version": "0.8.17",
6424 + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz",
6425 + "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=",
6426 + "requires": {
6427 + "core-js": "^1.0.0",
6428 + "isomorphic-fetch": "^2.1.1",
6429 + "loose-envify": "^1.0.0",
6430 + "object-assign": "^4.1.0",
6431 + "promise": "^7.1.1",
6432 + "setimmediate": "^1.0.5",
6433 + "ua-parser-js": "^0.7.18"
6434 + },
6435 + "dependencies": {
6436 + "core-js": {
6437 + "version": "1.2.7",
6438 + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
6439 + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
6440 + },
6441 + "promise": {
6442 + "version": "7.3.1",
6443 + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
6444 + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
6445 + "requires": {
6446 + "asap": "~2.0.3"
6447 + }
6448 + }
6449 + }
6450 + },
6255 "figgy-pudding": { 6451 "figgy-pudding": {
6256 "version": "3.5.2", 6452 "version": "3.5.2",
6257 "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", 6453 "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
...@@ -6404,6 +6600,23 @@ ...@@ -6404,6 +6600,23 @@
6404 } 6600 }
6405 } 6601 }
6406 }, 6602 },
6603 + "focus-trap": {
6604 + "version": "4.0.2",
6605 + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-4.0.2.tgz",
6606 + "integrity": "sha512-HtLjfAK7Hp2qbBtLS6wEznID1mPT+48ZnP2nkHzgjpL4kroYHg0CdqJ5cTXk+UO5znAxF5fRUkhdyfgrhh8Lzw==",
6607 + "requires": {
6608 + "tabbable": "^3.1.2",
6609 + "xtend": "^4.0.1"
6610 + }
6611 + },
6612 + "focus-trap-react": {
6613 + "version": "6.0.0",
6614 + "resolved": "https://registry.npmjs.org/focus-trap-react/-/focus-trap-react-6.0.0.tgz",
6615 + "integrity": "sha512-mvEYxmP75PMx0vOqoIAmJHO/qUEvdTAdz6gLlEZyxxODnuKQdnKea2RWTYxghAPrV+ibiIq2o/GTSgQycnAjcw==",
6616 + "requires": {
6617 + "focus-trap": "^4.0.2"
6618 + }
6619 + },
6407 "follow-redirects": { 6620 "follow-redirects": {
6408 "version": "1.11.0", 6621 "version": "1.11.0",
6409 "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.11.0.tgz", 6622 "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.11.0.tgz",
...@@ -7135,6 +7348,11 @@ ...@@ -7135,6 +7348,11 @@
7135 "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", 7348 "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
7136 "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" 7349 "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="
7137 }, 7350 },
7351 + "hyphenate-style-name": {
7352 + "version": "1.0.3",
7353 + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.3.tgz",
7354 + "integrity": "sha512-EcuixamT82oplpoJ2XU4pDtKGWQ7b00CD9f1ug9IaQ3p1bkHMiKCZ9ut9QDI6qsa6cpUuB+A/I+zLtdNK4n2DQ=="
7355 + },
7138 "iconv-lite": { 7356 "iconv-lite": {
7139 "version": "0.4.24", 7357 "version": "0.4.24",
7140 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 7358 "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
...@@ -7218,6 +7436,14 @@ ...@@ -7218,6 +7436,14 @@
7218 "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 7436 "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
7219 "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" 7437 "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
7220 }, 7438 },
7439 + "indefinite-observable": {
7440 + "version": "1.0.2",
7441 + "resolved": "https://registry.npmjs.org/indefinite-observable/-/indefinite-observable-1.0.2.tgz",
7442 + "integrity": "sha512-Mps0898zEduHyPhb7UCgNmfzlqNZknVmaFz5qzr0mm04YQ5FGLhAyK/dJ+NaRxGyR6juQXIxh5Ev0xx+qq0nYA==",
7443 + "requires": {
7444 + "symbol-observable": "1.2.0"
7445 + }
7446 + },
7221 "indent-string": { 7447 "indent-string": {
7222 "version": "4.0.0", 7448 "version": "4.0.0",
7223 "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", 7449 "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
...@@ -7498,6 +7724,11 @@ ...@@ -7498,6 +7724,11 @@
7498 "is-extglob": "^2.1.1" 7724 "is-extglob": "^2.1.1"
7499 } 7725 }
7500 }, 7726 },
7727 + "is-in-browser": {
7728 + "version": "1.1.3",
7729 + "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz",
7730 + "integrity": "sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU="
7731 + },
7501 "is-number": { 7732 "is-number": {
7502 "version": "3.0.0", 7733 "version": "3.0.0",
7503 "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", 7734 "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
...@@ -7624,6 +7855,15 @@ ...@@ -7624,6 +7855,15 @@
7624 "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", 7855 "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
7625 "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" 7856 "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
7626 }, 7857 },
7858 + "isomorphic-fetch": {
7859 + "version": "2.2.1",
7860 + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
7861 + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
7862 + "requires": {
7863 + "node-fetch": "^1.0.1",
7864 + "whatwg-fetch": ">=0.10.0"
7865 + }
7866 + },
7627 "isstream": { 7867 "isstream": {
7628 "version": "0.1.2", 7868 "version": "0.1.2",
7629 "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 7869 "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
...@@ -8328,6 +8568,75 @@ ...@@ -8328,6 +8568,75 @@
8328 "verror": "1.10.0" 8568 "verror": "1.10.0"
8329 } 8569 }
8330 }, 8570 },
8571 + "jss": {
8572 + "version": "9.8.7",
8573 + "resolved": "https://registry.npmjs.org/jss/-/jss-9.8.7.tgz",
8574 + "integrity": "sha512-awj3XRZYxbrmmrx9LUSj5pXSUfm12m8xzi/VKeqI1ZwWBtQ0kVPTs3vYs32t4rFw83CgFDukA8wKzOE9sMQnoQ==",
8575 + "requires": {
8576 + "is-in-browser": "^1.1.3",
8577 + "symbol-observable": "^1.1.0",
8578 + "warning": "^3.0.0"
8579 + },
8580 + "dependencies": {
8581 + "warning": {
8582 + "version": "3.0.0",
8583 + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz",
8584 + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=",
8585 + "requires": {
8586 + "loose-envify": "^1.0.0"
8587 + }
8588 + }
8589 + }
8590 + },
8591 + "jss-camel-case": {
8592 + "version": "6.1.0",
8593 + "resolved": "https://registry.npmjs.org/jss-camel-case/-/jss-camel-case-6.1.0.tgz",
8594 + "integrity": "sha512-HPF2Q7wmNW1t79mCqSeU2vdd/vFFGpkazwvfHMOhPlMgXrJDzdj9viA2SaHk9ZbD5pfL63a8ylp4++irYbbzMQ==",
8595 + "requires": {
8596 + "hyphenate-style-name": "^1.0.2"
8597 + }
8598 + },
8599 + "jss-default-unit": {
8600 + "version": "8.0.2",
8601 + "resolved": "https://registry.npmjs.org/jss-default-unit/-/jss-default-unit-8.0.2.tgz",
8602 + "integrity": "sha512-WxNHrF/18CdoAGw2H0FqOEvJdREXVXLazn7PQYU7V6/BWkCV0GkmWsppNiExdw8dP4TU1ma1dT9zBNJ95feLmg=="
8603 + },
8604 + "jss-global": {
8605 + "version": "3.0.0",
8606 + "resolved": "https://registry.npmjs.org/jss-global/-/jss-global-3.0.0.tgz",
8607 + "integrity": "sha512-wxYn7vL+TImyQYGAfdplg7yaxnPQ9RaXY/cIA8hawaVnmmWxDHzBK32u1y+RAvWboa3lW83ya3nVZ/C+jyjZ5Q=="
8608 + },
8609 + "jss-nested": {
8610 + "version": "6.0.1",
8611 + "resolved": "https://registry.npmjs.org/jss-nested/-/jss-nested-6.0.1.tgz",
8612 + "integrity": "sha512-rn964TralHOZxoyEgeq3hXY8hyuCElnvQoVrQwKHVmu55VRDd6IqExAx9be5HgK0yN/+hQdgAXQl/GUrBbbSTA==",
8613 + "requires": {
8614 + "warning": "^3.0.0"
8615 + },
8616 + "dependencies": {
8617 + "warning": {
8618 + "version": "3.0.0",
8619 + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz",
8620 + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=",
8621 + "requires": {
8622 + "loose-envify": "^1.0.0"
8623 + }
8624 + }
8625 + }
8626 + },
8627 + "jss-props-sort": {
8628 + "version": "6.0.0",
8629 + "resolved": "https://registry.npmjs.org/jss-props-sort/-/jss-props-sort-6.0.0.tgz",
8630 + "integrity": "sha512-E89UDcrphmI0LzmvYk25Hp4aE5ZBsXqMWlkFXS0EtPkunJkRr+WXdCNYbXbksIPnKlBenGB9OxzQY+mVc70S+g=="
8631 + },
8632 + "jss-vendor-prefixer": {
8633 + "version": "7.0.0",
8634 + "resolved": "https://registry.npmjs.org/jss-vendor-prefixer/-/jss-vendor-prefixer-7.0.0.tgz",
8635 + "integrity": "sha512-Agd+FKmvsI0HLcYXkvy8GYOw3AAASBUpsmIRvVQheps+JWaN892uFOInTr0DRydwaD91vSSUCU4NssschvF7MA==",
8636 + "requires": {
8637 + "css-vendor": "^0.3.8"
8638 + }
8639 + },
8331 "jsx-ast-utils": { 8640 "jsx-ast-utils": {
8332 "version": "2.2.3", 8641 "version": "2.2.3",
8333 "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz", 8642 "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz",
...@@ -8542,6 +8851,11 @@ ...@@ -8542,6 +8851,11 @@
8542 "lodash._reinterpolate": "^3.0.0" 8851 "lodash._reinterpolate": "^3.0.0"
8543 } 8852 }
8544 }, 8853 },
8854 + "lodash.throttle": {
8855 + "version": "4.1.1",
8856 + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
8857 + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ="
8858 + },
8545 "lodash.uniq": { 8859 "lodash.uniq": {
8546 "version": "4.5.0", 8860 "version": "4.5.0",
8547 "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", 8861 "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
...@@ -8626,6 +8940,19 @@ ...@@ -8626,6 +8940,19 @@
8626 "object-visit": "^1.0.0" 8940 "object-visit": "^1.0.0"
8627 } 8941 }
8628 }, 8942 },
8943 + "material-ui-pickers": {
8944 + "version": "2.2.4",
8945 + "resolved": "https://registry.npmjs.org/material-ui-pickers/-/material-ui-pickers-2.2.4.tgz",
8946 + "integrity": "sha512-QCQh08Ylmnt+o4laW+rPs92QRAcESv3sPXl50YadLm++rAZAXAOh3K8lreGdynCMYFgZfdyu81Oz9xzTlAZNfw==",
8947 + "requires": {
8948 + "@types/react-text-mask": "^5.4.3",
8949 + "clsx": "^1.0.2",
8950 + "react-event-listener": "^0.6.6",
8951 + "react-text-mask": "^5.4.3",
8952 + "react-transition-group": "^2.5.3",
8953 + "tslib": "^1.9.3"
8954 + }
8955 + },
8629 "md5.js": { 8956 "md5.js": {
8630 "version": "1.3.5", 8957 "version": "1.3.5",
8631 "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", 8958 "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
...@@ -8636,6 +8963,59 @@ ...@@ -8636,6 +8963,59 @@
8636 "safe-buffer": "^5.1.2" 8963 "safe-buffer": "^5.1.2"
8637 } 8964 }
8638 }, 8965 },
8966 + "mdbreact": {
8967 + "version": "4.27.0",
8968 + "resolved": "https://registry.npmjs.org/mdbreact/-/mdbreact-4.27.0.tgz",
8969 + "integrity": "sha512-oKmHqZ058Abjni5lnap4Q6iMSw7KQk5EvG5e1bFXZ5wdhdZRT96/DNU7PCFnCIUfO3OdGo/cTsMg0osfadrHng==",
8970 + "requires": {
8971 + "@date-io/moment": "1.3.5",
8972 + "@fortawesome/fontawesome-free": "^5.12.0",
8973 + "@material-ui/core": "3.9.3",
8974 + "bootstrap-css-only": "4.4.1",
8975 + "chart.js": "2.9.3",
8976 + "classnames": "2.2.6",
8977 + "focus-trap-react": "^6.0.0",
8978 + "material-ui-pickers": "2.2.4",
8979 + "moment": "2.24.0",
8980 + "perfect-scrollbar": "1.5.0",
8981 + "popper.js": "^1.16.0",
8982 + "prop-types": "15.7.2",
8983 + "raf": "3.4.1",
8984 + "react": "^16.12.0",
8985 + "react-chartjs-2": "2.9.0",
8986 + "react-dom": "^16.12.0",
8987 + "react-image-lightbox": "5.1.1",
8988 + "react-numeric-input": "2.2.3",
8989 + "react-popper": "^1.3.7",
8990 + "react-router-dom": "^5.1.2",
8991 + "react-scroll": "1.7.16",
8992 + "react-toastify": "5.5.0",
8993 + "react-transition-group": "4.3.0",
8994 + "sass-loader": "^8.0.2"
8995 + },
8996 + "dependencies": {
8997 + "dom-helpers": {
8998 + "version": "5.1.4",
8999 + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.1.4.tgz",
9000 + "integrity": "sha512-TjMyeVUvNEnOnhzs6uAn9Ya47GmMo3qq7m+Lr/3ON0Rs5kHvb8I+SQYjLUSYn7qhEm0QjW0yrBkvz9yOrwwz1A==",
9001 + "requires": {
9002 + "@babel/runtime": "^7.8.7",
9003 + "csstype": "^2.6.7"
9004 + }
9005 + },
9006 + "react-transition-group": {
9007 + "version": "4.3.0",
9008 + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.3.0.tgz",
9009 + "integrity": "sha512-1qRV1ZuVSdxPlPf4O8t7inxUGpdyO5zG9IoNfJxSO0ImU2A1YWkEQvFPuIPZmMLkg5hYs7vv5mMOyfgSkvAwvw==",
9010 + "requires": {
9011 + "@babel/runtime": "^7.5.5",
9012 + "dom-helpers": "^5.0.1",
9013 + "loose-envify": "^1.4.0",
9014 + "prop-types": "^15.6.2"
9015 + }
9016 + }
9017 + }
9018 + },
8639 "mdn-data": { 9019 "mdn-data": {
8640 "version": "2.0.4", 9020 "version": "2.0.4",
8641 "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", 9021 "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
...@@ -8954,6 +9334,11 @@ ...@@ -8954,6 +9334,11 @@
8954 } 9334 }
8955 } 9335 }
8956 }, 9336 },
9337 + "moment": {
9338 + "version": "2.24.0",
9339 + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz",
9340 + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg=="
9341 + },
8957 "move-concurrently": { 9342 "move-concurrently": {
8958 "version": "1.0.1", 9343 "version": "1.0.1",
8959 "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", 9344 "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
...@@ -9056,6 +9441,15 @@ ...@@ -9056,6 +9441,15 @@
9056 "tslib": "^1.10.0" 9441 "tslib": "^1.10.0"
9057 } 9442 }
9058 }, 9443 },
9444 + "node-fetch": {
9445 + "version": "1.7.3",
9446 + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
9447 + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
9448 + "requires": {
9449 + "encoding": "^0.1.11",
9450 + "is-stream": "^1.0.1"
9451 + }
9452 + },
9059 "node-forge": { 9453 "node-forge": {
9060 "version": "0.9.0", 9454 "version": "0.9.0",
9061 "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", 9455 "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz",
...@@ -9190,6 +9584,11 @@ ...@@ -9190,6 +9584,11 @@
9190 "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 9584 "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
9191 "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" 9585 "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI="
9192 }, 9586 },
9587 + "normalize-scroll-left": {
9588 + "version": "0.1.2",
9589 + "resolved": "https://registry.npmjs.org/normalize-scroll-left/-/normalize-scroll-left-0.1.2.tgz",
9590 + "integrity": "sha512-F9YMRls0zCF6BFIE2YnXDRpHPpfd91nOIaNdDgrx5YMoPLo8Wqj+6jNXHQsYBavJeXP4ww8HCt0xQAKc5qk2Fg=="
9591 + },
9193 "normalize-url": { 9592 "normalize-url": {
9194 "version": "1.9.1", 9593 "version": "1.9.1",
9195 "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", 9594 "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
...@@ -9710,6 +10109,11 @@ ...@@ -9710,6 +10109,11 @@
9710 "sha.js": "^2.4.8" 10109 "sha.js": "^2.4.8"
9711 } 10110 }
9712 }, 10111 },
10112 + "perfect-scrollbar": {
10113 + "version": "1.5.0",
10114 + "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.0.tgz",
10115 + "integrity": "sha512-NrNHJn5mUGupSiheBTy6x+6SXCFbLlm8fVZh9moIzw/LgqElN5q4ncR4pbCBCYuCJ8Kcl9mYM0NgDxvW+b4LxA=="
10116 + },
9713 "performance-now": { 10117 "performance-now": {
9714 "version": "2.1.0", 10118 "version": "2.1.0",
9715 "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 10119 "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
...@@ -11028,6 +11432,15 @@ ...@@ -11028,6 +11432,15 @@
11028 "whatwg-fetch": "^3.0.0" 11432 "whatwg-fetch": "^3.0.0"
11029 } 11433 }
11030 }, 11434 },
11435 + "react-chartjs-2": {
11436 + "version": "2.9.0",
11437 + "resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-2.9.0.tgz",
11438 + "integrity": "sha512-IYwqUUnQRAJ9SNA978vxulHJTcUFTJk2LDVfbAyk0TnJFZZG7+6U/2flsE4MCw6WCbBjTTypy8T82Ch7XrPtRw==",
11439 + "requires": {
11440 + "lodash": "^4.17.4",
11441 + "prop-types": "^15.5.8"
11442 + }
11443 + },
11031 "react-cookies": { 11444 "react-cookies": {
11032 "version": "0.1.1", 11445 "version": "0.1.1",
11033 "resolved": "https://registry.npmjs.org/react-cookies/-/react-cookies-0.1.1.tgz", 11446 "resolved": "https://registry.npmjs.org/react-cookies/-/react-cookies-0.1.1.tgz",
...@@ -11268,6 +11681,25 @@ ...@@ -11268,6 +11681,25 @@
11268 "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.7.tgz", 11681 "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.7.tgz",
11269 "integrity": "sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA==" 11682 "integrity": "sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA=="
11270 }, 11683 },
11684 + "react-event-listener": {
11685 + "version": "0.6.6",
11686 + "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.6.6.tgz",
11687 + "integrity": "sha512-+hCNqfy7o9wvO6UgjqFmBzARJS7qrNoda0VqzvOuioEpoEXKutiKuv92dSz6kP7rYLmyHPyYNLesi5t/aH1gfw==",
11688 + "requires": {
11689 + "@babel/runtime": "^7.2.0",
11690 + "prop-types": "^15.6.0",
11691 + "warning": "^4.0.1"
11692 + }
11693 + },
11694 + "react-image-lightbox": {
11695 + "version": "5.1.1",
11696 + "resolved": "https://registry.npmjs.org/react-image-lightbox/-/react-image-lightbox-5.1.1.tgz",
11697 + "integrity": "sha512-GprldD8AqpRb2hsOdns3sI7Xeo9hJlcybDxuli4RB+ml1J/GaFaUuRkT/7IrTLv2+4vkR74ahz2LD0HOUHI7wA==",
11698 + "requires": {
11699 + "prop-types": "^15.6.2",
11700 + "react-modal": "^3.8.1"
11701 + }
11702 + },
11271 "react-is": { 11703 "react-is": {
11272 "version": "16.12.0", 11704 "version": "16.12.0",
11273 "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.12.0.tgz", 11705 "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.12.0.tgz",
...@@ -11278,6 +11710,22 @@ ...@@ -11278,6 +11710,22 @@
11278 "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", 11710 "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
11279 "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" 11711 "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
11280 }, 11712 },
11713 + "react-modal": {
11714 + "version": "3.11.2",
11715 + "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.11.2.tgz",
11716 + "integrity": "sha512-o8gvvCOFaG1T7W6JUvsYjRjMVToLZgLIsi5kdhFIQCtHxDkA47LznX62j+l6YQkpXDbvQegsDyxe/+JJsFQN7w==",
11717 + "requires": {
11718 + "exenv": "^1.2.0",
11719 + "prop-types": "^15.5.10",
11720 + "react-lifecycles-compat": "^3.0.0",
11721 + "warning": "^4.0.3"
11722 + }
11723 + },
11724 + "react-numeric-input": {
11725 + "version": "2.2.3",
11726 + "resolved": "https://registry.npmjs.org/react-numeric-input/-/react-numeric-input-2.2.3.tgz",
11727 + "integrity": "sha1-S/WRjD6v7YUagN8euZLZQQArtVI="
11728 + },
11281 "react-popper": { 11729 "react-popper": {
11282 "version": "1.3.7", 11730 "version": "1.3.7",
11283 "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-1.3.7.tgz", 11731 "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-1.3.7.tgz",
...@@ -11419,11 +11867,61 @@ ...@@ -11419,11 +11867,61 @@
11419 } 11867 }
11420 } 11868 }
11421 }, 11869 },
11870 + "react-scroll": {
11871 + "version": "1.7.16",
11872 + "resolved": "https://registry.npmjs.org/react-scroll/-/react-scroll-1.7.16.tgz",
11873 + "integrity": "sha512-f4M5AdL+3cw3MJ7c/T0hPMY2iHCeQLDXV13lRanAFQ6JIt9xyAdHCpTH9mLUQt9SQh4pRarD+Qc7KhU6qMx3Yg==",
11874 + "requires": {
11875 + "lodash.throttle": "^4.1.1",
11876 + "prop-types": "^15.5.8"
11877 + }
11878 + },
11422 "react-social-login-buttons": { 11879 "react-social-login-buttons": {
11423 "version": "3.1.0", 11880 "version": "3.1.0",
11424 "resolved": "https://registry.npmjs.org/react-social-login-buttons/-/react-social-login-buttons-3.1.0.tgz", 11881 "resolved": "https://registry.npmjs.org/react-social-login-buttons/-/react-social-login-buttons-3.1.0.tgz",
11425 "integrity": "sha512-3BU+MqWI6XibmSotZ1LFKUYSwBBzb/CYdnemizVsaFfMu6MXzfUCcbpekO1eMPQg/AI3ZUdg3zu4E3r62t80nw==" 11882 "integrity": "sha512-3BU+MqWI6XibmSotZ1LFKUYSwBBzb/CYdnemizVsaFfMu6MXzfUCcbpekO1eMPQg/AI3ZUdg3zu4E3r62t80nw=="
11426 }, 11883 },
11884 + "react-text-mask": {
11885 + "version": "5.4.3",
11886 + "resolved": "https://registry.npmjs.org/react-text-mask/-/react-text-mask-5.4.3.tgz",
11887 + "integrity": "sha1-mR77QpnjDC5sLEbRP2FxaUY+DS0=",
11888 + "requires": {
11889 + "prop-types": "^15.5.6"
11890 + }
11891 + },
11892 + "react-toastify": {
11893 + "version": "5.5.0",
11894 + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-5.5.0.tgz",
11895 + "integrity": "sha512-jsVme7jALIFGRyQsri/g4YTsRuaaGI70T6/ikjwZMB4mwTZaCWqj5NqxhGrRStKlJc5npXKKvKeqTiRGQl78LQ==",
11896 + "requires": {
11897 + "@babel/runtime": "^7.4.2",
11898 + "classnames": "^2.2.6",
11899 + "prop-types": "^15.7.2",
11900 + "react-transition-group": "^4"
11901 + },
11902 + "dependencies": {
11903 + "dom-helpers": {
11904 + "version": "5.1.4",
11905 + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.1.4.tgz",
11906 + "integrity": "sha512-TjMyeVUvNEnOnhzs6uAn9Ya47GmMo3qq7m+Lr/3ON0Rs5kHvb8I+SQYjLUSYn7qhEm0QjW0yrBkvz9yOrwwz1A==",
11907 + "requires": {
11908 + "@babel/runtime": "^7.8.7",
11909 + "csstype": "^2.6.7"
11910 + }
11911 + },
11912 + "react-transition-group": {
11913 + "version": "4.4.1",
11914 + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.1.tgz",
11915 + "integrity": "sha512-Djqr7OQ2aPUiYurhPalTrVy9ddmFCCzwhqQmtN+J3+3DzLO209Fdr70QrN8Z3DsglWql6iY1lDWAfpFiBtuKGw==",
11916 + "requires": {
11917 + "@babel/runtime": "^7.5.5",
11918 + "dom-helpers": "^5.0.1",
11919 + "loose-envify": "^1.4.0",
11920 + "prop-types": "^15.6.2"
11921 + }
11922 + }
11923 + }
11924 + },
11427 "react-transition-group": { 11925 "react-transition-group": {
11428 "version": "2.9.0", 11926 "version": "2.9.0",
11429 "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz", 11927 "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz",
...@@ -11548,6 +12046,26 @@ ...@@ -11548,6 +12046,26 @@
11548 "util.promisify": "^1.0.0" 12046 "util.promisify": "^1.0.0"
11549 } 12047 }
11550 }, 12048 },
12049 + "recompose": {
12050 + "version": "0.30.0",
12051 + "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.30.0.tgz",
12052 + "integrity": "sha512-ZTrzzUDa9AqUIhRk4KmVFihH0rapdCSMFXjhHbNrjAWxBuUD/guYlyysMnuHjlZC/KRiOKRtB4jf96yYSkKE8w==",
12053 + "requires": {
12054 + "@babel/runtime": "^7.0.0",
12055 + "change-emitter": "^0.1.2",
12056 + "fbjs": "^0.8.1",
12057 + "hoist-non-react-statics": "^2.3.1",
12058 + "react-lifecycles-compat": "^3.0.2",
12059 + "symbol-observable": "^1.0.4"
12060 + },
12061 + "dependencies": {
12062 + "hoist-non-react-statics": {
12063 + "version": "2.5.5",
12064 + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz",
12065 + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw=="
12066 + }
12067 + }
12068 + },
11551 "recursive-readdir": { 12069 "recursive-readdir": {
11552 "version": "2.2.2", 12070 "version": "2.2.2",
11553 "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", 12071 "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz",
...@@ -12990,11 +13508,21 @@ ...@@ -12990,11 +13508,21 @@
12990 "util.promisify": "~1.0.0" 13508 "util.promisify": "~1.0.0"
12991 } 13509 }
12992 }, 13510 },
13511 + "symbol-observable": {
13512 + "version": "1.2.0",
13513 + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
13514 + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ=="
13515 + },
12993 "symbol-tree": { 13516 "symbol-tree": {
12994 "version": "3.2.4", 13517 "version": "3.2.4",
12995 "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", 13518 "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
12996 "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" 13519 "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="
12997 }, 13520 },
13521 + "tabbable": {
13522 + "version": "3.1.2",
13523 + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-3.1.2.tgz",
13524 + "integrity": "sha512-wjB6puVXTYO0BSFtCmWQubA/KIn7Xvajw0x0l6eJUudMG/EAiJvIUnyNX6xO4NpGrJ16lbD0eUseB9WxW0vlpQ=="
13525 + },
12998 "table": { 13526 "table": {
12999 "version": "5.4.6", 13527 "version": "5.4.6",
13000 "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", 13528 "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
...@@ -13427,6 +13955,11 @@ ...@@ -13427,6 +13955,11 @@
13427 "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", 13955 "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
13428 "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" 13956 "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
13429 }, 13957 },
13958 + "ua-parser-js": {
13959 + "version": "0.7.21",
13960 + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz",
13961 + "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ=="
13962 + },
13430 "unicode-canonical-property-names-ecmascript": { 13963 "unicode-canonical-property-names-ecmascript": {
13431 "version": "1.0.4", 13964 "version": "1.0.4",
13432 "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", 13965 "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
14 "axios": "^0.19.2", 14 "axios": "^0.19.2",
15 "bootstrap": "^4.5.0", 15 "bootstrap": "^4.5.0",
16 "http-proxy-middleware": "^1.0.4", 16 "http-proxy-middleware": "^1.0.4",
17 + "mdbreact": "^4.27.0",
17 "react": "^16.13.1", 18 "react": "^16.13.1",
18 "react-app-polyfill": "^1.0.6", 19 "react-app-polyfill": "^1.0.6",
19 "react-cookies": "^0.1.1", 20 "react-cookies": "^0.1.1",
......
...@@ -28,6 +28,7 @@ height: 100%; ...@@ -28,6 +28,7 @@ height: 100%;
28 Learn how to configure a non-root public URL by running `npm run build`. 28 Learn how to configure a non-root public URL by running `npm run build`.
29 --> 29 -->
30 <title>MEALKHU</title> 30 <title>MEALKHU</title>
31 +
31 <link href="https://fonts.googleapis.com/css?family=Do+Hyeon:400" rel="stylesheet"> 32 <link href="https://fonts.googleapis.com/css?family=Do+Hyeon:400" rel="stylesheet">
32 <style> 33 <style>
33 #root, .modalClass{font-family: 'Do Hyeon', sans-serif;} 34 #root, .modalClass{font-family: 'Do Hyeon', sans-serif;}
......
1 /*global kakao*/ 1 /*global kakao*/
2 -import React, { useEffect, useState } from "react"; 2 +import React, { useEffect, useState, Fragment } from "react";
3 import { Input, Button, ButtonGroup } from "reactstrap"; 3 import { Input, Button, ButtonGroup } from "reactstrap";
4 import { Label, CustomInput, Row, Col, FormGroup } from "reactstrap"; 4 import { Label, CustomInput, Row, Col, FormGroup } from "reactstrap";
5 import appKey from "../config/appKey.json"; 5 import appKey from "../config/appKey.json";
...@@ -122,7 +122,7 @@ const LandingMap = (props) => { ...@@ -122,7 +122,7 @@ const LandingMap = (props) => {
122 122
123 return ( 123 return (
124 <> 124 <>
125 - 125 + <hr className="my-2" />
126 <Row> 126 <Row>
127 <Col> 127 <Col>
128 <span className="font-weight-bold">MEALKHU MAP</span> 128 <span className="font-weight-bold">MEALKHU MAP</span>
......
...@@ -7,7 +7,7 @@ const Loading = (props) => { ...@@ -7,7 +7,7 @@ const Loading = (props) => {
7 'display':'flex', 'width':'100%', "height":'85%', 'textAlign':'center', 'alignItems':'center' 7 'display':'flex', 'width':'100%', "height":'85%', 'textAlign':'center', 'alignItems':'center'
8 }}><span style={{ 8 }}><span style={{
9 'margin': '0 auto' 9 'margin': '0 auto'
10 - }}><Spinner color="danger" style={{ width: '2rem', height: '2rem', marginRight:'1rem' }}/><h1 style={{'display':'inline'}}>Loading..</h1></span></span> 10 +}}><Spinner color="danger" style={{ width: '2rem', height: '2rem', marginRight:'1rem' }}/><h1 style={{'display':'inline'}}>{props.value}</h1></span></span>
11 ); 11 );
12 } 12 }
13 13
......
...@@ -5,6 +5,9 @@ import * as serviceWorker from './serviceWorker'; ...@@ -5,6 +5,9 @@ import * as serviceWorker from './serviceWorker';
5 import 'bootstrap/dist/css/bootstrap.min.css'; 5 import 'bootstrap/dist/css/bootstrap.min.css';
6 import 'react-app-polyfill/ie11'; 6 import 'react-app-polyfill/ie11';
7 7
8 +// import '@fortawesome/fontawesome-free/css/all.min.css';
9 +// import 'bootstrap-css-only/css/bootstrap.min.css';
10 +// import 'mdbreact/dist/css/mdb.css';
8 11
9 ReactDOM.render( 12 ReactDOM.render(
10 <React.StrictMode> 13 <React.StrictMode>
......
...@@ -8,7 +8,7 @@ const AboutPage = (props) => { ...@@ -8,7 +8,7 @@ const AboutPage = (props) => {
8 <> 8 <>
9 <NavBar/> 9 <NavBar/>
10 <div style={{'display':'flex', 'width':'100%', "height":'100%', 'textAlign':'center', 'alignItems':'center'}}> 10 <div style={{'display':'flex', 'width':'100%', "height":'100%', 'textAlign':'center', 'alignItems':'center'}}>
11 - <Container style={{}}> 11 + <Container>
12 <Jumbotron 12 <Jumbotron
13 style={{'backgroundColor':'#fff'}} 13 style={{'backgroundColor':'#fff'}}
14 > 14 >
......
1 -import React, { useState, useEffect } from 'react'; 1 +import React, { useState, useEffect, Fragment } from 'react';
2 import NavBar from '../components/NavBar'; 2 import NavBar from '../components/NavBar';
3 import LandingMap from '../components/LandingMap'; 3 import LandingMap from '../components/LandingMap';
4 import { CustomInput } from 'reactstrap'; 4 import { CustomInput } from 'reactstrap';
5 -import { Container, Row, Col } from "reactstrap"; 5 +import { Container, Row, Col, Button, Jumbotron } from "reactstrap";
6 import axios from 'axios'; 6 import axios from 'axios';
7 - 7 +import Loading from '../components/Loading';
8 +import MealCard from '../components/MealCard';
8 9
9 const LandingPage = (props) => { 10 const LandingPage = (props) => {
10 const [datas, setDatas] = useState([]); 11 const [datas, setDatas] = useState([]);
11 const [filteredDatas, setFilteredDatas] = useState([]); 12 const [filteredDatas, setFilteredDatas] = useState([]);
13 + const [RandomCards, setRandomCards] = useState([]);
12 const [isLoading, setIsLoading] = useState(false); 14 const [isLoading, setIsLoading] = useState(false);
13 const [all, setAll] = useState(false); 15 const [all, setAll] = useState(false);
14 const [Kfood, setKfood] = useState(false); 16 const [Kfood, setKfood] = useState(false);
...@@ -20,7 +22,7 @@ const LandingPage = (props) => { ...@@ -20,7 +22,7 @@ const LandingPage = (props) => {
20 const [fastfood, setFastfood] = useState(false); 22 const [fastfood, setFastfood] = useState(false);
21 const [cafe, setCafe] = useState(false); 23 const [cafe, setCafe] = useState(false);
22 const [etc, setEtc] = useState(false); 24 const [etc, setEtc] = useState(false);
23 - 25 + const [isRandom, setIsRandom] = useState(0);
24 26
25 useEffect(() => { 27 useEffect(() => {
26 const fetchData = async () => { 28 const fetchData = async () => {
...@@ -33,9 +35,7 @@ const LandingPage = (props) => { ...@@ -33,9 +35,7 @@ const LandingPage = (props) => {
33 }; 35 };
34 fetchData(); 36 fetchData();
35 }, []); 37 }, []);
36 - 38 +
37 - // filtereddatas 처리 + isloading변경
38 -
39 useEffect(() => { 39 useEffect(() => {
40 setIsLoading(false); 40 setIsLoading(false);
41 let result = []; 41 let result = [];
...@@ -82,14 +82,62 @@ const LandingPage = (props) => { ...@@ -82,14 +82,62 @@ const LandingPage = (props) => {
82 } 82 }
83 }, [all]); 83 }, [all]);
84 84
85 + const randomHandler = () => {
86 +
87 + if(filteredDatas.length === 0) {
88 + alert('메뉴를 선택하세요');
89 + return ;
90 + }
91 + else {
92 + console.log(filteredDatas);
93 + setIsRandom(1);
94 + setTimeout(()=>{
95 + let x = getRandomInt(0, filteredDatas.length);
96 + let y = getRandomInt(0, filteredDatas.length);
97 + setRandomCards([filteredDatas[x], filteredDatas[y]]);
98 + setIsRandom(2);
99 + }, 2500);
100 + }
101 + }
102 +
103 + const getRandomInt = (min, max) => {
104 + min = Math.ceil(min);
105 + max = Math.floor(max);
106 + return Math.floor(Math.random() * (max - min)) + min; //최댓값은 제외, 최솟값은 포함
107 + }
108 +
85 return ( 109 return (
86 <> 110 <>
87 <NavBar/> 111 <NavBar/>
88 <Container style={{ 112 <Container style={{
89 paddingTop : '1.5rem' 113 paddingTop : '1.5rem'
90 }}> 114 }}>
115 +
116 + <div style={{'display':'flex', 'width':'100%', "height":'100%'}}>
117 + <Container>
91 118
92 - <Row> 119 + <Jumbotron
120 + style={{
121 + 'backgroundColor':'#fff',
122 + 'paddingTop': '1.5rem',
123 + 'boxShadow': '0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19)'
124 + }}
125 + >
126 + <Row xs="1" sm="2" md="2">
127 + <Col style={{
128 +
129 + }}>
130 + <h3 className="text-center">
131 + <span className="font-weight-bold">랜덤추천 : </span>메뉴를 선택하세요
132 + </h3>
133 + <span style={{
134 + 'paddingLeft' : '0.5rem'
135 + }}>
136 + {/* <Button color="warning">Random!</Button> */}
137 +
138 + </span>
139 + <Container>
140 + <Row>
93 <Col> 141 <Col>
94 <CustomInput type="switch" id="all" label="전체" 142 <CustomInput type="switch" id="all" label="전체"
95 checked={all} 143 checked={all}
...@@ -97,7 +145,7 @@ const LandingPage = (props) => { ...@@ -97,7 +145,7 @@ const LandingPage = (props) => {
97 /> 145 />
98 </Col> 146 </Col>
99 </Row> 147 </Row>
100 - <Row xs="3" sm="3" md="5"> 148 + <Row xs="3" sm="3" md="4">
101 <Col> 149 <Col>
102 <CustomInput type="checkbox" id="Kfood" label="한식" 150 <CustomInput type="checkbox" id="Kfood" label="한식"
103 checked={Kfood} 151 checked={Kfood}
...@@ -153,8 +201,56 @@ const LandingPage = (props) => { ...@@ -153,8 +201,56 @@ const LandingPage = (props) => {
153 onChange={()=>setEtc(!etc)} 201 onChange={()=>setEtc(!etc)}
154 /> 202 />
155 </Col> 203 </Col>
204 + </Row>
205 + <div style={{
206 + 'paddingTop':'1.5rem',
207 + 'alignItems':'center'
208 + ,'display':'flex', 'width':'100%', "height":'100%','textAlign':'center'
209 + }}>
210 + <Button onClick={randomHandler} size="lg" style={{
211 + 'margin':'0 auto'
212 + }} color="danger">Random!</Button>
213 + </div>
214 + </Container>
156 215
157 - </Row> 216 +
217 + </Col>
218 + <Col>
219 + {isRandom === 0 ? ('') : ( (isRandom === 1) ? <span style={{'padding':'1.5rem'}}><Loading value="추첨중.."/></span> :(
220 + <Container>
221 + <Row>
222 + {
223 + RandomCards.map((data, index)=> (
224 + <Col>
225 + <MealCard
226 + key = {index}
227 + id = {data.id}
228 + name = {data.name}
229 + address = {data.address}
230 + latitude = {data.latitude}
231 + longitude = {data.longitude}
232 + type = {data.type}
233 + menu = {data.menu}
234 + img = {data.img}
235 + img_source = {data.img_source}
236 + />
237 + </Col>
238 + ))
239 + }
240 +
241 +
242 + </Row>
243 +</Container>
244 + )
245 +
246 +
247 + )}
248 + </Col>
249 + </Row>
250 + </Jumbotron>
251 + </Container>
252 + </div>
253 +
158 {datas ? <LandingMap 254 {datas ? <LandingMap
159 datas = {datas} 255 datas = {datas}
160 /> : 'loading...'} 256 /> : 'loading...'}
......
...@@ -3,6 +3,9 @@ import NavBar from '../components/NavBar'; ...@@ -3,6 +3,9 @@ import NavBar from '../components/NavBar';
3 import MealCard from '../components/MealCard'; 3 import MealCard from '../components/MealCard';
4 import { CustomInput } from 'reactstrap'; 4 import { CustomInput } from 'reactstrap';
5 import { Container, Row, Col } from "reactstrap"; 5 import { Container, Row, Col } from "reactstrap";
6 +
7 +import { Card, CardText, CardBody, CardTitle, } from "reactstrap";
8 +
6 import axios from 'axios'; 9 import axios from 'axios';
7 import Loading from '../components/Loading'; 10 import Loading from '../components/Loading';
8 11
...@@ -89,8 +92,8 @@ const MenuPage = (props) => { ...@@ -89,8 +92,8 @@ const MenuPage = (props) => {
89 <NavBar/> 92 <NavBar/>
90 <Container style={{ 93 <Container style={{
91 paddingTop : '1.5rem' 94 paddingTop : '1.5rem'
92 - }}> 95 + }}>
93 - 96 +
94 <Row> 97 <Row>
95 <Col> 98 <Col>
96 <CustomInput type="switch" id="all" label="전체" 99 <CustomInput type="switch" id="all" label="전체"
...@@ -155,8 +158,9 @@ const MenuPage = (props) => { ...@@ -155,8 +158,9 @@ const MenuPage = (props) => {
155 onChange={()=>setEtc(!etc)} 158 onChange={()=>setEtc(!etc)}
156 /> 159 />
157 </Col> 160 </Col>
158 -
159 </Row> 161 </Row>
162 +
163 +
160 </Container> 164 </Container>
161 165
162 166
...@@ -184,7 +188,7 @@ const MenuPage = (props) => { ...@@ -184,7 +188,7 @@ const MenuPage = (props) => {
184 } 188 }
185 </Row> 189 </Row>
186 </Container>) 190 </Container>)
187 - : <Loading/> 191 + : <Loading value="Loading.."/>
188 } 192 }
189 193
190 194
......