Showing
4 changed files
with
528 additions
and
17 deletions
... | @@ -1487,6 +1487,25 @@ | ... | @@ -1487,6 +1487,25 @@ |
1487 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", | 1487 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", |
1488 | "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" | 1488 | "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" |
1489 | }, | 1489 | }, |
1490 | + "@popperjs/core": { | ||
1491 | + "version": "2.4.0", | ||
1492 | + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.4.0.tgz", | ||
1493 | + "integrity": "sha512-NMrDy6EWh9TPdSRiHmHH2ye1v5U0gBD7pRYwSwJvomx7Bm4GG04vu63dYiVzebLOx2obPpJugew06xVP0Nk7hA==" | ||
1494 | + }, | ||
1495 | + "@restart/context": { | ||
1496 | + "version": "2.1.4", | ||
1497 | + "resolved": "https://registry.npmjs.org/@restart/context/-/context-2.1.4.tgz", | ||
1498 | + "integrity": "sha512-INJYZQJP7g+IoDUh/475NlGiTeMfwTXUEr3tmRneckHIxNolGOW9CTq83S8cxq0CgJwwcMzMJFchxvlwe7Rk8Q==" | ||
1499 | + }, | ||
1500 | + "@restart/hooks": { | ||
1501 | + "version": "0.3.25", | ||
1502 | + "resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.3.25.tgz", | ||
1503 | + "integrity": "sha512-m2v3N5pxTsIiSH74/sb1yW8D9RxkJidGW+5Mfwn/lHb2QzhZNlaU1su7abSyT9EGf0xS/0waLjrf7/XxQHUk7w==", | ||
1504 | + "requires": { | ||
1505 | + "lodash": "^4.17.15", | ||
1506 | + "lodash-es": "^4.17.15" | ||
1507 | + } | ||
1508 | + }, | ||
1490 | "@sheerun/mutationobserver-shim": { | 1509 | "@sheerun/mutationobserver-shim": { |
1491 | "version": "0.3.3", | 1510 | "version": "0.3.3", |
1492 | "resolved": "https://registry.npmjs.org/@sheerun/mutationobserver-shim/-/mutationobserver-shim-0.3.3.tgz", | 1511 | "resolved": "https://registry.npmjs.org/@sheerun/mutationobserver-shim/-/mutationobserver-shim-0.3.3.tgz", |
... | @@ -1702,6 +1721,8 @@ | ... | @@ -1702,6 +1721,8 @@ |
1702 | }, | 1721 | }, |
1703 | "@testing-library/jest-dom": { | 1722 | "@testing-library/jest-dom": { |
1704 | "version": "4.2.4", | 1723 | "version": "4.2.4", |
1724 | + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-4.2.4.tgz", | ||
1725 | + "integrity": "sha512-j31Bn0rQo12fhCWOUWy9fl7wtqkp7In/YP2p5ZFyRuiiB9Qs3g+hS4gAmDWONbAHcRmVooNJ5eOHQDCOmUFXHg==", | ||
1705 | "requires": { | 1726 | "requires": { |
1706 | "@babel/runtime": "^7.5.1", | 1727 | "@babel/runtime": "^7.5.1", |
1707 | "chalk": "^2.4.1", | 1728 | "chalk": "^2.4.1", |
... | @@ -1726,6 +1747,8 @@ | ... | @@ -1726,6 +1747,8 @@ |
1726 | }, | 1747 | }, |
1727 | "@testing-library/react": { | 1748 | "@testing-library/react": { |
1728 | "version": "9.5.0", | 1749 | "version": "9.5.0", |
1750 | + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-9.5.0.tgz", | ||
1751 | + "integrity": "sha512-di1b+D0p+rfeboHO5W7gTVeZDIK5+maEgstrZbWZSSvxDyfDRkkyBE1AJR5Psd6doNldluXlCWqXriUfqu/9Qg==", | ||
1729 | "requires": { | 1752 | "requires": { |
1730 | "@babel/runtime": "^7.8.4", | 1753 | "@babel/runtime": "^7.8.4", |
1731 | "@testing-library/dom": "^6.15.0", | 1754 | "@testing-library/dom": "^6.15.0", |
... | @@ -1733,7 +1756,9 @@ | ... | @@ -1733,7 +1756,9 @@ |
1733 | } | 1756 | } |
1734 | }, | 1757 | }, |
1735 | "@testing-library/user-event": { | 1758 | "@testing-library/user-event": { |
1736 | - "version": "7.2.1" | 1759 | + "version": "7.2.1", |
1760 | + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-7.2.1.tgz", | ||
1761 | + "integrity": "sha512-oZ0Ib5I4Z2pUEcoo95cT1cr6slco9WY7yiPpG+RGNkj8YcYgJnM7pXmYmorNOReh8MIGcKSqXyeGjxnr8YiZbA==" | ||
1737 | }, | 1762 | }, |
1738 | "@types/babel__core": { | 1763 | "@types/babel__core": { |
1739 | "version": "7.1.7", | 1764 | "version": "7.1.7", |
... | @@ -1965,6 +1990,11 @@ | ... | @@ -1965,6 +1990,11 @@ |
1965 | } | 1990 | } |
1966 | } | 1991 | } |
1967 | }, | 1992 | }, |
1993 | + "@types/warning": { | ||
1994 | + "version": "3.0.0", | ||
1995 | + "resolved": "https://registry.npmjs.org/@types/warning/-/warning-3.0.0.tgz", | ||
1996 | + "integrity": "sha1-DSUBJorY+ZYrdA04fEZU9fjiPlI=" | ||
1997 | + }, | ||
1968 | "@types/yargs": { | 1998 | "@types/yargs": { |
1969 | "version": "13.0.9", | 1999 | "version": "13.0.9", |
1970 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.9.tgz", | 2000 | "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.9.tgz", |
... | @@ -3585,6 +3615,11 @@ | ... | @@ -3585,6 +3615,11 @@ |
3585 | } | 3615 | } |
3586 | } | 3616 | } |
3587 | }, | 3617 | }, |
3618 | + "classnames": { | ||
3619 | + "version": "2.2.6", | ||
3620 | + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", | ||
3621 | + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" | ||
3622 | + }, | ||
3588 | "clean-css": { | 3623 | "clean-css": { |
3589 | "version": "4.2.3", | 3624 | "version": "4.2.3", |
3590 | "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", | 3625 | "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", |
... | @@ -4585,6 +4620,15 @@ | ... | @@ -4585,6 +4620,15 @@ |
4585 | "utila": "~0.4" | 4620 | "utila": "~0.4" |
4586 | } | 4621 | } |
4587 | }, | 4622 | }, |
4623 | + "dom-helpers": { | ||
4624 | + "version": "5.1.4", | ||
4625 | + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.1.4.tgz", | ||
4626 | + "integrity": "sha512-TjMyeVUvNEnOnhzs6uAn9Ya47GmMo3qq7m+Lr/3ON0Rs5kHvb8I+SQYjLUSYn7qhEm0QjW0yrBkvz9yOrwwz1A==", | ||
4627 | + "requires": { | ||
4628 | + "@babel/runtime": "^7.8.7", | ||
4629 | + "csstype": "^2.6.7" | ||
4630 | + } | ||
4631 | + }, | ||
4588 | "dom-serializer": { | 4632 | "dom-serializer": { |
4589 | "version": "0.2.2", | 4633 | "version": "0.2.2", |
4590 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", | 4634 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", |
... | @@ -8258,6 +8302,11 @@ | ... | @@ -8258,6 +8302,11 @@ |
8258 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", | 8302 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", |
8259 | "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" | 8303 | "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" |
8260 | }, | 8304 | }, |
8305 | + "lodash-es": { | ||
8306 | + "version": "4.17.15", | ||
8307 | + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.15.tgz", | ||
8308 | + "integrity": "sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ==" | ||
8309 | + }, | ||
8261 | "lodash._reinterpolate": { | 8310 | "lodash._reinterpolate": { |
8262 | "version": "3.0.0", | 8311 | "version": "3.0.0", |
8263 | "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", | 8312 | "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", |
... | @@ -10624,6 +10673,15 @@ | ... | @@ -10624,6 +10673,15 @@ |
10624 | "react-is": "^16.8.1" | 10673 | "react-is": "^16.8.1" |
10625 | } | 10674 | } |
10626 | }, | 10675 | }, |
10676 | + "prop-types-extra": { | ||
10677 | + "version": "1.1.1", | ||
10678 | + "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.1.tgz", | ||
10679 | + "integrity": "sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==", | ||
10680 | + "requires": { | ||
10681 | + "react-is": "^16.3.2", | ||
10682 | + "warning": "^4.0.0" | ||
10683 | + } | ||
10684 | + }, | ||
10627 | "proxy-addr": { | 10685 | "proxy-addr": { |
10628 | "version": "2.0.6", | 10686 | "version": "2.0.6", |
10629 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", | 10687 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", |
... | @@ -10782,6 +10840,8 @@ | ... | @@ -10782,6 +10840,8 @@ |
10782 | }, | 10840 | }, |
10783 | "react": { | 10841 | "react": { |
10784 | "version": "16.13.1", | 10842 | "version": "16.13.1", |
10843 | + "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", | ||
10844 | + "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", | ||
10785 | "requires": { | 10845 | "requires": { |
10786 | "loose-envify": "^1.1.0", | 10846 | "loose-envify": "^1.1.0", |
10787 | "object-assign": "^4.1.1", | 10847 | "object-assign": "^4.1.1", |
... | @@ -10801,6 +10861,26 @@ | ... | @@ -10801,6 +10861,26 @@ |
10801 | "whatwg-fetch": "^3.0.0" | 10861 | "whatwg-fetch": "^3.0.0" |
10802 | } | 10862 | } |
10803 | }, | 10863 | }, |
10864 | + "react-bootstrap": { | ||
10865 | + "version": "1.0.1", | ||
10866 | + "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-1.0.1.tgz", | ||
10867 | + "integrity": "sha512-xMHwsvDN7sIv26P9wWiosWjITZije2dRCjEJHVfV2KFoSJY+8uv2zttEw0XMB7xviQcW3zuIGLJXuj8vf6lYEg==", | ||
10868 | + "requires": { | ||
10869 | + "@babel/runtime": "^7.4.2", | ||
10870 | + "@restart/context": "^2.1.4", | ||
10871 | + "@restart/hooks": "^0.3.21", | ||
10872 | + "@types/react": "^16.9.23", | ||
10873 | + "classnames": "^2.2.6", | ||
10874 | + "dom-helpers": "^5.1.2", | ||
10875 | + "invariant": "^2.2.4", | ||
10876 | + "prop-types": "^15.7.2", | ||
10877 | + "prop-types-extra": "^1.1.0", | ||
10878 | + "react-overlays": "^3.1.2", | ||
10879 | + "react-transition-group": "^4.0.0", | ||
10880 | + "uncontrollable": "^7.0.0", | ||
10881 | + "warning": "^4.0.3" | ||
10882 | + } | ||
10883 | + }, | ||
10804 | "react-dev-utils": { | 10884 | "react-dev-utils": { |
10805 | "version": "10.2.1", | 10885 | "version": "10.2.1", |
10806 | "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-10.2.1.tgz", | 10886 | "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-10.2.1.tgz", |
... | @@ -11033,6 +11113,8 @@ | ... | @@ -11033,6 +11113,8 @@ |
11033 | }, | 11113 | }, |
11034 | "react-dom": { | 11114 | "react-dom": { |
11035 | "version": "16.13.1", | 11115 | "version": "16.13.1", |
11116 | + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz", | ||
11117 | + "integrity": "sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==", | ||
11036 | "requires": { | 11118 | "requires": { |
11037 | "loose-envify": "^1.1.0", | 11119 | "loose-envify": "^1.1.0", |
11038 | "object-assign": "^4.1.1", | 11120 | "object-assign": "^4.1.1", |
... | @@ -11050,6 +11132,26 @@ | ... | @@ -11050,6 +11132,26 @@ |
11050 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", | 11132 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", |
11051 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" | 11133 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" |
11052 | }, | 11134 | }, |
11135 | + "react-lifecycles-compat": { | ||
11136 | + "version": "3.0.4", | ||
11137 | + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", | ||
11138 | + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" | ||
11139 | + }, | ||
11140 | + "react-overlays": { | ||
11141 | + "version": "3.2.0", | ||
11142 | + "resolved": "https://registry.npmjs.org/react-overlays/-/react-overlays-3.2.0.tgz", | ||
11143 | + "integrity": "sha512-YTgCmw6l4uBOYylSnc3V8WLX+A0EoGnzDrqkYz0K7MUKbMBZFpaxLXH4EF9eZbspd+syZHQ5XAABI7n/zak1EA==", | ||
11144 | + "requires": { | ||
11145 | + "@babel/runtime": "^7.4.5", | ||
11146 | + "@popperjs/core": "^2.0.0", | ||
11147 | + "@restart/hooks": "^0.3.12", | ||
11148 | + "@types/warning": "^3.0.0", | ||
11149 | + "dom-helpers": "^5.1.0", | ||
11150 | + "prop-types": "^15.7.2", | ||
11151 | + "uncontrollable": "^7.0.0", | ||
11152 | + "warning": "^4.0.3" | ||
11153 | + } | ||
11154 | + }, | ||
11053 | "react-router": { | 11155 | "react-router": { |
11054 | "version": "5.2.0", | 11156 | "version": "5.2.0", |
11055 | "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", | 11157 | "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", |
... | @@ -11098,6 +11200,8 @@ | ... | @@ -11098,6 +11200,8 @@ |
11098 | }, | 11200 | }, |
11099 | "react-scripts": { | 11201 | "react-scripts": { |
11100 | "version": "3.4.1", | 11202 | "version": "3.4.1", |
11203 | + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-3.4.1.tgz", | ||
11204 | + "integrity": "sha512-JpTdi/0Sfd31mZA6Ukx+lq5j1JoKItX7qqEK4OiACjVQletM1P38g49d9/D0yTxp9FrSF+xpJFStkGgKEIRjlQ==", | ||
11101 | "requires": { | 11205 | "requires": { |
11102 | "@babel/core": "7.9.0", | 11206 | "@babel/core": "7.9.0", |
11103 | "@svgr/webpack": "4.3.3", | 11207 | "@svgr/webpack": "4.3.3", |
... | @@ -11175,6 +11279,17 @@ | ... | @@ -11175,6 +11279,17 @@ |
11175 | } | 11279 | } |
11176 | } | 11280 | } |
11177 | }, | 11281 | }, |
11282 | + "react-transition-group": { | ||
11283 | + "version": "4.4.1", | ||
11284 | + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.1.tgz", | ||
11285 | + "integrity": "sha512-Djqr7OQ2aPUiYurhPalTrVy9ddmFCCzwhqQmtN+J3+3DzLO209Fdr70QrN8Z3DsglWql6iY1lDWAfpFiBtuKGw==", | ||
11286 | + "requires": { | ||
11287 | + "@babel/runtime": "^7.5.5", | ||
11288 | + "dom-helpers": "^5.0.1", | ||
11289 | + "loose-envify": "^1.4.0", | ||
11290 | + "prop-types": "^15.6.2" | ||
11291 | + } | ||
11292 | + }, | ||
11178 | "read-pkg": { | 11293 | "read-pkg": { |
11179 | "version": "2.0.0", | 11294 | "version": "2.0.0", |
11180 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", | 11295 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", |
... | @@ -13232,6 +13347,17 @@ | ... | @@ -13232,6 +13347,17 @@ |
13232 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", | 13347 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", |
13233 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" | 13348 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" |
13234 | }, | 13349 | }, |
13350 | + "uncontrollable": { | ||
13351 | + "version": "7.1.1", | ||
13352 | + "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.1.1.tgz", | ||
13353 | + "integrity": "sha512-EcPYhot3uWTS3w00R32R2+vS8Vr53tttrvMj/yA1uYRhf8hbTG2GyugGqWDY0qIskxn0uTTojVd6wPYW9ZEf8Q==", | ||
13354 | + "requires": { | ||
13355 | + "@babel/runtime": "^7.6.3", | ||
13356 | + "@types/react": "^16.9.11", | ||
13357 | + "invariant": "^2.2.4", | ||
13358 | + "react-lifecycles-compat": "^3.0.4" | ||
13359 | + } | ||
13360 | + }, | ||
13235 | "unicode-canonical-property-names-ecmascript": { | 13361 | "unicode-canonical-property-names-ecmascript": { |
13236 | "version": "1.0.4", | 13362 | "version": "1.0.4", |
13237 | "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", | 13363 | "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", |
... | @@ -13523,6 +13649,14 @@ | ... | @@ -13523,6 +13649,14 @@ |
13523 | "makeerror": "1.0.x" | 13649 | "makeerror": "1.0.x" |
13524 | } | 13650 | } |
13525 | }, | 13651 | }, |
13652 | + "warning": { | ||
13653 | + "version": "4.0.3", | ||
13654 | + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", | ||
13655 | + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", | ||
13656 | + "requires": { | ||
13657 | + "loose-envify": "^1.0.0" | ||
13658 | + } | ||
13659 | + }, | ||
13526 | "watchpack": { | 13660 | "watchpack": { |
13527 | "version": "1.7.2", | 13661 | "version": "1.7.2", |
13528 | "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz", | 13662 | "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz", | ... | ... |
... | @@ -7,6 +7,7 @@ | ... | @@ -7,6 +7,7 @@ |
7 | "@testing-library/react": "^9.3.2", | 7 | "@testing-library/react": "^9.3.2", |
8 | "@testing-library/user-event": "^7.1.2", | 8 | "@testing-library/user-event": "^7.1.2", |
9 | "react": "^16.13.1", | 9 | "react": "^16.13.1", |
10 | + "react-bootstrap": "^1.0.1", | ||
10 | "react-dom": "^16.13.1", | 11 | "react-dom": "^16.13.1", |
11 | "react-router-dom": "^5.2.0", | 12 | "react-router-dom": "^5.2.0", |
12 | "react-scripts": "3.4.1" | 13 | "react-scripts": "3.4.1" | ... | ... |
frontend/src/home.css
0 → 100644
1 | +.Home { | ||
2 | + text-align: center; | ||
3 | +} | ||
4 | + | ||
5 | +.Home-logo { | ||
6 | + height: 40vmin; | ||
7 | + pointer-events: none; | ||
8 | +} | ||
9 | + | ||
10 | +@media (prefers-reduced-motion: no-preference) { | ||
11 | + .Home-logo { | ||
12 | + animation: Home-logo-spin infinite 20s linear; | ||
13 | + } | ||
14 | +} | ||
15 | + | ||
16 | +.Home-header { | ||
17 | + background-color: #282c34; | ||
18 | + min-height: 13vh; | ||
19 | + display: flex; | ||
20 | + flex-direction: column; | ||
21 | + align-items: center; | ||
22 | + justify-content: center; | ||
23 | + font-size: calc(10px + 2vmin); | ||
24 | + color: white; | ||
25 | + font-weight: bold; | ||
26 | +} | ||
27 | + | ||
28 | +.Home-link { | ||
29 | + color: #61dafb; | ||
30 | +} | ||
31 | + | ||
32 | +@keyframes Home-logo-spin { | ||
33 | + from { | ||
34 | + transform: rotate(0deg); | ||
35 | + } | ||
36 | + to { | ||
37 | + transform: rotate(360deg); | ||
38 | + } | ||
39 | +} | ||
40 | + | ||
41 | +.strong { | ||
42 | + font-size: calc(10px + 1vmin); | ||
43 | + font-weight: bold; | ||
44 | +} | ||
45 | +.map_wrap, | ||
46 | +.map_wrap * { | ||
47 | + margin: 0; | ||
48 | + padding: 0; | ||
49 | + font-family: "Malgun Gothic", dotum, "돋움", sans-serif; | ||
50 | + font-size: 12px; | ||
51 | +} | ||
52 | +.map_wrap a, | ||
53 | +.map_wrap a:hover, | ||
54 | +.map_wrap a:active { | ||
55 | + color: #000; | ||
56 | + text-decoration: none; | ||
57 | +} | ||
58 | +.map_wrap { | ||
59 | + position: relative; | ||
60 | + width: 100%; | ||
61 | + height: 500px; | ||
62 | +} | ||
63 | + | ||
64 | +#menu_wrap { | ||
65 | + position: absolute; | ||
66 | + top: 0; | ||
67 | + left: 0; | ||
68 | + bottom: 0; | ||
69 | + width: 250px; | ||
70 | + margin: 10px 0 30px 10px; | ||
71 | + padding: 5px; | ||
72 | + overflow-y: auto; | ||
73 | + background: rgba(53, 53, 53, 0.8); | ||
74 | + z-index: 1; | ||
75 | + font-size: 12px; | ||
76 | + border-radius: 10px; | ||
77 | +} | ||
78 | +.bg_white { | ||
79 | + background: #fff; | ||
80 | +} | ||
81 | +x #menu_wrap hr { | ||
82 | + display: block; | ||
83 | + height: 1px; | ||
84 | + border: 0; | ||
85 | + border-top: 2px solid #5f5f5f; | ||
86 | + margin: 3px 0; | ||
87 | +} | ||
88 | +#menu_wrap .option { | ||
89 | + text-align: center; | ||
90 | + color: #ffffff; | ||
91 | + font-weight: bold; | ||
92 | +} | ||
93 | +#menu_wrap .option p { | ||
94 | + margin: 10px 0; | ||
95 | +} | ||
96 | +#menu_wrap .option button { | ||
97 | + margin-left: 5px; | ||
98 | +} | ||
99 | + | ||
100 | +#placesList li { | ||
101 | + list-style: none; | ||
102 | +} | ||
103 | +#placesList .item { | ||
104 | + position: relative; | ||
105 | + border-bottom: 1px solid #888; | ||
106 | + overflow: hidden; | ||
107 | + cursor: pointer; | ||
108 | + min-height: 65px; | ||
109 | +} | ||
110 | +#placesList .item span { | ||
111 | + display: block; | ||
112 | + margin-top: 4px; | ||
113 | +} | ||
114 | +#placesList .item h5, | ||
115 | +#placesList .item .info { | ||
116 | + text-overflow: ellipsis; | ||
117 | + overflow: hidden; | ||
118 | + white-space: nowrap; | ||
119 | +} | ||
120 | +#placesList .item .info { | ||
121 | + padding: 10px 0 10px 55px; | ||
122 | + color: #ffffff; | ||
123 | +} | ||
124 | +#placesList .info .gray { | ||
125 | + color: #eaeaea; | ||
126 | +} | ||
127 | +#placesList .info .jibun { | ||
128 | + padding-left: 26px; | ||
129 | + background: url(http://t1.daumcdn.net/localimg/localimages/07/mapapidoc/places_jibun.png) | ||
130 | + no-repeat; | ||
131 | +} | ||
132 | +#placesList .info .tel { | ||
133 | + color: #ffbb00; | ||
134 | + font-weight: bold; | ||
135 | +} | ||
136 | +#placesList .item .markerbg { | ||
137 | + float: left; | ||
138 | + position: absolute; | ||
139 | + width: 36px; | ||
140 | + height: 37px; | ||
141 | + margin: 10px 0 0 10px; | ||
142 | + background: url(http://t1.daumcdn.net/localimg/localimages/07/mapapidoc/marker_number_blue.png) | ||
143 | + no-repeat; | ||
144 | +} | ||
145 | +#placesList .item .marker_1 { | ||
146 | + background-position: 0 -10px; | ||
147 | +} | ||
148 | +#placesList .item .marker_2 { | ||
149 | + background-position: 0 -56px; | ||
150 | +} | ||
151 | +#placesList .item .marker_3 { | ||
152 | + background-position: 0 -102px; | ||
153 | +} | ||
154 | +#placesList .item .marker_4 { | ||
155 | + background-position: 0 -148px; | ||
156 | +} | ||
157 | +#placesList .item .marker_5 { | ||
158 | + background-position: 0 -194px; | ||
159 | +} | ||
160 | +#placesList .item .marker_6 { | ||
161 | + background-position: 0 -240px; | ||
162 | +} | ||
163 | +#placesList .item .marker_7 { | ||
164 | + background-position: 0 -286px; | ||
165 | +} | ||
166 | +#placesList .item .marker_8 { | ||
167 | + background-position: 0 -332px; | ||
168 | +} | ||
169 | +#placesList .item .marker_9 { | ||
170 | + background-position: 0 -378px; | ||
171 | +} | ||
172 | +#placesList .item .marker_10 { | ||
173 | + background-position: 0 -423px; | ||
174 | +} | ||
175 | +#placesList .item .marker_11 { | ||
176 | + background-position: 0 -470px; | ||
177 | +} | ||
178 | +#placesList .item .marker_12 { | ||
179 | + background-position: 0 -516px; | ||
180 | +} | ||
181 | +#placesList .item .marker_13 { | ||
182 | + background-position: 0 -562px; | ||
183 | +} | ||
184 | +#placesList .item .marker_14 { | ||
185 | + background-position: 0 -608px; | ||
186 | +} | ||
187 | +#placesList .item .marker_15 { | ||
188 | + background-position: 0 -654px; | ||
189 | +} | ||
190 | +#pagination { | ||
191 | + margin: 10px auto; | ||
192 | + text-align: center; | ||
193 | +} | ||
194 | +#pagination a { | ||
195 | + display: inline-block; | ||
196 | + margin-right: 10px; | ||
197 | +} | ||
198 | +#pagination .on { | ||
199 | + font-weight: bold; | ||
200 | + cursor: default; | ||
201 | + color: #777; | ||
202 | +} | ||
203 | + | ||
204 | +.wraps { | ||
205 | + position: absolute; | ||
206 | + left: 0; | ||
207 | + bottom: 40px; | ||
208 | + width: 288px; | ||
209 | + height: 132px; | ||
210 | + margin-left: -144px; | ||
211 | + text-align: left; | ||
212 | + overflow: hidden; | ||
213 | + font-size: 12px; | ||
214 | + font-family: "Malgun Gothic", dotum, "돋움", sans-serif; | ||
215 | + line-height: 1.5; | ||
216 | +} | ||
217 | +.wraps * { | ||
218 | + padding: 0; | ||
219 | + margin: 0; | ||
220 | +} | ||
221 | +.wraps .infos { | ||
222 | + width: 286px; | ||
223 | + height: 120px; | ||
224 | + border-radius: 5px; | ||
225 | + border-bottom: 2px solid #ccc; | ||
226 | + border-right: 1px solid #ccc; | ||
227 | + overflow: hidden; | ||
228 | + background: #fff; | ||
229 | +} | ||
230 | +.wraps .infos:nth-child(1) { | ||
231 | + border: 0; | ||
232 | + box-shadow: 0px 1px 2px #888; | ||
233 | +} | ||
234 | +.infos .title { | ||
235 | + padding: 5px 0 0 10px; | ||
236 | + height: 30px; | ||
237 | + background: #eee; | ||
238 | + border-bottom: 1px solid #ddd; | ||
239 | + font-size: 18px; | ||
240 | + font-weight: bold; | ||
241 | +} | ||
242 | +.infos .close { | ||
243 | + position: absolute; | ||
244 | + top: 10px; | ||
245 | + right: 10px; | ||
246 | + color: #888; | ||
247 | + width: 17px; | ||
248 | + height: 17px; | ||
249 | + background: url("http://t1.daumcdn.net/localimg/localimages/07/mapapidoc/overlay_close.png"); | ||
250 | +} | ||
251 | +.infos .close:hover { | ||
252 | + cursor: pointer; | ||
253 | +} | ||
254 | +.infos .body { | ||
255 | + position: relative; | ||
256 | + overflow: hidden; | ||
257 | +} | ||
258 | +.infos .desc { | ||
259 | + position: relative; | ||
260 | + margin: 13px 0 0 90px; | ||
261 | + height: 75px; | ||
262 | +} | ||
263 | +.desc .ellipsis { | ||
264 | + overflow: hidden; | ||
265 | + text-overflow: ellipsis; | ||
266 | + white-space: nowrap; | ||
267 | +} | ||
268 | +.desc .jibun { | ||
269 | + font-size: 11px; | ||
270 | + color: #888; | ||
271 | + margin-top: -2px; | ||
272 | +} | ||
273 | +.infos .img { | ||
274 | + position: absolute; | ||
275 | + top: 6px; | ||
276 | + left: 5px; | ||
277 | + width: 73px; | ||
278 | + height: 71px; | ||
279 | + border: 1px solid #ddd; | ||
280 | + color: #888; | ||
281 | + overflow: hidden; | ||
282 | +} | ||
283 | +.infos:after { | ||
284 | + content: ""; | ||
285 | + position: absolute; | ||
286 | + margin-left: -12px; | ||
287 | + left: 50%; | ||
288 | + bottom: 0; | ||
289 | + width: 22px; | ||
290 | + height: 12px; | ||
291 | + background: url("http://t1.daumcdn.net/localimg/localimages/07/mapapidoc/vertex_white.png"); | ||
292 | +} | ||
293 | +.infos .link { | ||
294 | + color: #5085bb; | ||
295 | +} | ||
296 | + | ||
297 | +#footer { | ||
298 | + position: absolute; | ||
299 | + bottom: 0; | ||
300 | + width: 100%; | ||
301 | + height: 100px; | ||
302 | + background: #ccc; | ||
303 | +} | ||
304 | + | ||
305 | +.left-box { | ||
306 | + float: left; | ||
307 | + width: 20%; | ||
308 | +} | ||
309 | +.left-box h5 { | ||
310 | + font-size: 1rem; | ||
311 | + font-style: italic; | ||
312 | + padding-left: 10px; | ||
313 | +} | ||
314 | +.right-box { | ||
315 | + float: right; | ||
316 | + width: 80%; | ||
317 | +} | ||
318 | +.right-box h5 { | ||
319 | + font-size: 1rem; | ||
320 | + font-style: italic; | ||
321 | + padding-left: 10px; | ||
322 | +} | ||
323 | +#middle { | ||
324 | + text-align: center; | ||
325 | +} | ||
326 | +.info-button { | ||
327 | + border-radius: 4px; | ||
328 | + background-color: #4641d9; | ||
329 | + width: 100px; | ||
330 | + color: white; | ||
331 | +} |
1 | import React, { Component } from "react"; | 1 | import React, { Component } from "react"; |
2 | import logo from "./logo.svg"; | 2 | import logo from "./logo.svg"; |
3 | import "./App.css"; | 3 | import "./App.css"; |
4 | +import Button from "react-bootstrap/Button"; | ||
5 | +import "./home.css"; | ||
6 | + | ||
4 | export default class Home extends Component { | 7 | export default class Home extends Component { |
5 | constructor(props) { | 8 | constructor(props) { |
6 | super(props); | 9 | super(props); |
7 | - this.state = {}; | 10 | + this.state = { |
11 | + map: null, | ||
12 | + markers: [], | ||
13 | + | ||
14 | + curAirCondition: null, | ||
15 | + routeInformation: null, | ||
16 | + }; | ||
8 | } | 17 | } |
9 | 18 | ||
10 | render() { | 19 | render() { |
20 | + let currentAirCondition = null; | ||
21 | + let routeAirCondition = null; | ||
22 | + | ||
11 | return ( | 23 | return ( |
12 | - <div className="App"> | 24 | + <section id="home"> |
13 | - <header className="App-header"> | 25 | + <div className="cover"> |
14 | - <img src={logo} className="App-logo" alt="logo" /> | 26 | + <div className="Home-header">How's the Weather?!</div> |
15 | - <p> | 27 | + </div> |
16 | - Edit <code>src/App.js</code> and save to reload. | 28 | + <div className="map_wrap"> |
17 | - </p> | 29 | + <div |
18 | - <a | 30 | + id="map" |
19 | - className="App-link" | 31 | + style={{ width: "1000px", height: "600px", align: "middle" }} |
20 | - href="https://reactjs.org" | 32 | + ></div> |
21 | - target="_blank" | 33 | + <div id="menu_wrap" className="bg_white"> |
22 | - rel="noopener noreferrer" | 34 | + <div className="option"> |
23 | - > | 35 | + 지역 검색 :{" "} |
24 | - Learn React | 36 | + <input |
25 | - </a> | 37 | + type="text" |
26 | - </header> | 38 | + value={this.state.region} |
39 | + id="keyword" | ||
40 | + size="15" | ||
41 | + onChange={(e) => this.setState({ region: e.target.value })} | ||
42 | + /> | ||
43 | + <Button variant="light" type="submit" onClick={this.searchPlaces}> | ||
44 | + 검색하기 | ||
45 | + </Button> | ||
46 | + </div> | ||
47 | + <ul id="placesList"></ul> | ||
48 | + <div id="pagination"></div> | ||
49 | + </div> | ||
50 | + <ul id="placesList"></ul> | ||
51 | + <div id="pagination"></div> | ||
52 | + </div> | ||
53 | + <div id="footer"> | ||
54 | + <div className="left-box"> | ||
55 | + <h5> 현재위치 : {this.state.region} </h5> | ||
56 | + <br /> | ||
57 | + <div id="middle">{currentAirCondition}</div> | ||
58 | + </div> | ||
59 | + <div className="right-box"> | ||
60 | + <h5> | ||
61 | + 출발지 : {this.state.departureTitle} <br /> | ||
62 | + 도착지 : {this.state.arrivalTitle} <br /> | ||
63 | + <Button variant="secondary" onClick={this.getRouteAirCondition}> | ||
64 | + {" "} | ||
65 | + 경로별 미세먼지 정보 알아보기{" "} | ||
66 | + </Button>{" "} | ||
67 | + <br /> <br /> | ||
68 | + </h5> | ||
69 | + <div id="middle">{routeAirCondition}</div> | ||
70 | + </div> | ||
27 | </div> | 71 | </div> |
72 | + </section> | ||
28 | ); | 73 | ); |
29 | } | 74 | } |
30 | } | 75 | } | ... | ... |
-
Please register or login to post a comment