diff --git a/package-lock.json b/package-lock.json
index d6bd777..02b5ea1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,6 +8,7 @@
"name": "waiter-react",
"version": "0.1.0",
"dependencies": {
+ "@actbase/react-daum-postcode": "^1.0.4",
"@emotion/react": "^11.10.5",
"@emotion/styled": "^11.10.5",
"@material-ui/core": "^4.12.4",
@@ -22,15 +23,18 @@
"@types/node": "^16.18.11",
"@types/react": "^18.0.26",
"@types/react-dom": "^18.0.10",
- "axios": "^1.2.2",
+ "axios": "^1.2.5",
"classnames": "^2.3.2",
"dayjs": "^1.11.7",
+ "http-proxy-middleware": "^2.0.6",
"include-media": "^1.4.10",
"open-color": "^1.9.1",
"react": "^18.2.0",
"react-datepicker": "^4.8.0",
"react-dom": "^18.2.0",
+ "react-geocode": "^0.2.3",
"react-icons": "^4.7.1",
+ "react-naver-maps": "^0.0.13",
"react-router-dom": "^6.6.1",
"react-scripts": "5.0.1",
"react-table": "^7.8.0",
@@ -45,6 +49,11 @@
"eslint": "^8.32.0"
}
},
+ "node_modules/@actbase/react-daum-postcode": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@actbase/react-daum-postcode/-/react-daum-postcode-1.0.4.tgz",
+ "integrity": "sha512-cTUnwfnKLM9LMh4dBPxbfGeCjpbJQcq/R6oW2aEJO20qz4i8cA7sPf0HkUyYqENfuGFU+vbsSJ8LJwNhTYoFLQ=="
+ },
"node_modules/@adobe/css-tools": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.1.tgz",
@@ -5271,9 +5280,9 @@
}
},
"node_modules/axios": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.2.tgz",
- "integrity": "sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==",
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.5.tgz",
+ "integrity": "sha512-9pU/8mmjSSOb4CXVsvGIevN+MlO/t9OWtKadTaLuN85Gge3HGorUckgp8A/2FH4V4hJ7JuQ3LIeI7KAV9ITZrQ==",
"dependencies": {
"follow-redirects": "^1.15.0",
"form-data": "^4.0.0",
@@ -5838,6 +5847,11 @@
"node": ">=8"
}
},
+ "node_modules/change-emitter": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/change-emitter/-/change-emitter-0.1.6.tgz",
+ "integrity": "sha512-YXzt1cQ4a2jqazhcuSWEOc1K2q8g9H6eWNsyZgi640LDzRWVQ2eDe+Y/kVdftH+vYdPF2rgDb3dLdpxE1jvAxw=="
+ },
"node_modules/char-regex": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
@@ -6264,6 +6278,19 @@
"node": ">=10"
}
},
+ "node_modules/create-react-context": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.3.tgz",
+ "integrity": "sha512-CQBmD0+QGgTaxDL3OX1IDXYqjkp2It4RIbcb99jS6AEg27Ga+a9G3JtK6SIu0HBwPLZlmwt9F7UwWA4Bn92Rag==",
+ "dependencies": {
+ "fbjs": "^0.8.0",
+ "gud": "^1.0.0"
+ },
+ "peerDependencies": {
+ "prop-types": "^15.0.0",
+ "react": "^0.14.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
"node_modules/cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
@@ -7156,6 +7183,14 @@
"node": ">= 0.8"
}
},
+ "node_modules/encoding": {
+ "version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
+ "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
+ "dependencies": {
+ "iconv-lite": "^0.6.2"
+ }
+ },
"node_modules/enhanced-resolve": {
"version": "5.12.0",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
@@ -8153,6 +8188,34 @@
"bser": "2.1.1"
}
},
+ "node_modules/fbjs": {
+ "version": "0.8.18",
+ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.18.tgz",
+ "integrity": "sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA==",
+ "dependencies": {
+ "core-js": "^1.0.0",
+ "isomorphic-fetch": "^2.1.1",
+ "loose-envify": "^1.0.0",
+ "object-assign": "^4.1.0",
+ "promise": "^7.1.1",
+ "setimmediate": "^1.0.5",
+ "ua-parser-js": "^0.7.30"
+ }
+ },
+ "node_modules/fbjs/node_modules/core-js": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
+ "integrity": "sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==",
+ "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js."
+ },
+ "node_modules/fbjs/node_modules/promise": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
+ "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
+ "dependencies": {
+ "asap": "~2.0.3"
+ }
+ },
"node_modules/file-entry-cache": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
@@ -8745,6 +8808,11 @@
"resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
"integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ=="
},
+ "node_modules/gud": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz",
+ "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw=="
+ },
"node_modules/gzip-size": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz",
@@ -9230,6 +9298,14 @@
"node": ">= 0.4"
}
},
+ "node_modules/invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "dependencies": {
+ "loose-envify": "^1.0.0"
+ }
+ },
"node_modules/ipaddr.js": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz",
@@ -9627,6 +9703,15 @@
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
},
+ "node_modules/isomorphic-fetch": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
+ "integrity": "sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==",
+ "dependencies": {
+ "node-fetch": "^1.0.1",
+ "whatwg-fetch": ">=0.10.0"
+ }
+ },
"node_modules/istanbul-lib-coverage": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
@@ -11129,6 +11214,11 @@
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
},
+ "node_modules/load-js": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/load-js/-/load-js-3.1.1.tgz",
+ "integrity": "sha512-yAZcLdKtq/9e3rE8A+c6noD/M++6vryP5A96axcM8NReISX3tzTCHUS8apToXzToaPs9LlApqxfa5uCDBuv+SQ=="
+ },
"node_modules/loader-runner": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
@@ -11169,11 +11259,21 @@
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
+ "node_modules/lodash.camelcase": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
+ "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA=="
+ },
"node_modules/lodash.debounce": {
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
"integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="
},
+ "node_modules/lodash.difference": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz",
+ "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA=="
+ },
"node_modules/lodash.memoize": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
@@ -11189,6 +11289,11 @@
"resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
"integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA=="
},
+ "node_modules/lodash.throttle": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
+ "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ=="
+ },
"node_modules/lodash.uniq": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
@@ -11537,6 +11642,23 @@
"tslib": "^2.0.3"
}
},
+ "node_modules/node-fetch": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
+ "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
+ "dependencies": {
+ "encoding": "^0.1.11",
+ "is-stream": "^1.0.1"
+ }
+ },
+ "node_modules/node-fetch/node_modules/is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/node-forge": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
@@ -13682,6 +13804,14 @@
"resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz",
"integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA=="
},
+ "node_modules/react-geocode": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/react-geocode/-/react-geocode-0.2.3.tgz",
+ "integrity": "sha512-sIpbgmn1IUzAxO4haOZ6jeeFnMD8ya9PC38yiNrmJ9vPWbvAO2D/2yfCBzZjGZVUm4PRzKAc0KghXfaEnug0TQ==",
+ "dependencies": {
+ "regenerator-runtime": "^0.13.3"
+ }
+ },
"node_modules/react-icons": {
"version": "4.7.1",
"resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.7.1.tgz",
@@ -13695,6 +13825,37 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
},
+ "node_modules/react-naver-maps": {
+ "version": "0.0.13",
+ "resolved": "https://registry.npmjs.org/react-naver-maps/-/react-naver-maps-0.0.13.tgz",
+ "integrity": "sha512-d4tagxVILGTzRaIW+GwFjZ9HhoBoODFy/Ly0ClWZ9neIJ7QCzCw/x0OPmZUYki0Kke6KcngQm6/mhx+mVdh3ug==",
+ "dependencies": {
+ "create-react-context": "^0.2.3",
+ "debug": "^3.1.0",
+ "hoist-non-react-statics": "^3.2.0",
+ "invariant": "^2.2.4",
+ "load-js": "^3.0.2",
+ "lodash.camelcase": "^4.3.0",
+ "lodash.debounce": "^4.0.8",
+ "lodash.difference": "^4.5.0",
+ "prop-types": "^15.6.2",
+ "react-resize-detector": "^2.2.0",
+ "recompose": "^0.26.0",
+ "shallowequal": "^1.1.0",
+ "warning": "^4.0.2"
+ },
+ "peerDependencies": {
+ "react": "^0.14.0 || ^15.0.0-0 || ^16.0.0-0"
+ }
+ },
+ "node_modules/react-naver-maps/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
"node_modules/react-onclickoutside": {
"version": "6.12.2",
"resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.12.2.tgz",
@@ -13730,6 +13891,20 @@
"node": ">=0.10.0"
}
},
+ "node_modules/react-resize-detector": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-2.3.0.tgz",
+ "integrity": "sha512-oCAddEWWeFWYH5FAcHdBYcZjAw9fMzRUK9sWSx6WvSSOPVRxcHd5zTIGy/mOus+AhN/u6T4TMiWxvq79PywnJQ==",
+ "dependencies": {
+ "lodash.debounce": "^4.0.8",
+ "lodash.throttle": "^4.1.1",
+ "prop-types": "^15.6.0",
+ "resize-observer-polyfill": "^1.5.0"
+ },
+ "peerDependencies": {
+ "react": "^0.14.7 || ^15.0.0 || ^16.0.0"
+ }
+ },
"node_modules/react-router": {
"version": "6.6.1",
"resolved": "https://registry.npmjs.org/react-router/-/react-router-6.6.1.tgz",
@@ -13891,6 +14066,25 @@
"node": ">=8.10.0"
}
},
+ "node_modules/recompose": {
+ "version": "0.26.0",
+ "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.26.0.tgz",
+ "integrity": "sha512-KwOu6ztO0mN5vy3+zDcc45lgnaUoaQse/a5yLVqtzTK13czSWnFGmXbQVmnoMgDkI5POd1EwIKSbjU1V7xdZog==",
+ "dependencies": {
+ "change-emitter": "^0.1.2",
+ "fbjs": "^0.8.1",
+ "hoist-non-react-statics": "^2.3.1",
+ "symbol-observable": "^1.0.4"
+ },
+ "peerDependencies": {
+ "react": "^0.14.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/recompose/node_modules/hoist-non-react-statics": {
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz",
+ "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw=="
+ },
"node_modules/recursive-readdir": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz",
@@ -14056,6 +14250,11 @@
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="
},
+ "node_modules/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=="
+ },
"node_modules/resolve": {
"version": "1.22.1",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
@@ -14589,6 +14788,11 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="
+ },
"node_modules/setprototypeof": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
@@ -15251,6 +15455,14 @@
"node": ">=4"
}
},
+ "node_modules/symbol-observable": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
+ "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/symbol-tree": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
@@ -15629,6 +15841,24 @@
"node": ">=4.2.0"
}
},
+ "node_modules/ua-parser-js": {
+ "version": "0.7.33",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz",
+ "integrity": "sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/ua-parser-js"
+ },
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/faisalman"
+ }
+ ],
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/unbox-primitive": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
diff --git a/package.json b/package.json
index 950dbab..2ec1742 100644
--- a/package.json
+++ b/package.json
@@ -3,6 +3,7 @@
"version": "0.1.0",
"private": true,
"dependencies": {
+ "@actbase/react-daum-postcode": "^1.0.4",
"@emotion/react": "^11.10.5",
"@emotion/styled": "^11.10.5",
"@material-ui/core": "^4.12.4",
@@ -17,15 +18,18 @@
"@types/node": "^16.18.11",
"@types/react": "^18.0.26",
"@types/react-dom": "^18.0.10",
- "axios": "^1.2.2",
+ "axios": "^1.2.5",
"classnames": "^2.3.2",
"dayjs": "^1.11.7",
+ "http-proxy-middleware": "^2.0.6",
"include-media": "^1.4.10",
"open-color": "^1.9.1",
"react": "^18.2.0",
"react-datepicker": "^4.8.0",
"react-dom": "^18.2.0",
+ "react-geocode": "^0.2.3",
"react-icons": "^4.7.1",
+ "react-naver-maps": "^0.0.13",
"react-router-dom": "^6.6.1",
"react-scripts": "5.0.1",
"react-table": "^7.8.0",
@@ -34,6 +38,7 @@
"typescript": "^4.9.4",
"web-vitals": "^2.1.4"
},
+ "proxy": "https://naveropenapi.apigw.ntruss.com",
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
diff --git a/public/index.html b/public/index.html
index aa069f2..d3c4996 100644
--- a/public/index.html
+++ b/public/index.html
@@ -24,6 +24,7 @@
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
+
React App
diff --git a/src/components/CustomerRegister/RegisterInput.tsx b/src/components/CustomerRegister/RegisterInput.tsx
index 013e768..c77f1f8 100644
--- a/src/components/CustomerRegister/RegisterInput.tsx
+++ b/src/components/CustomerRegister/RegisterInput.tsx
@@ -19,16 +19,6 @@ export default function RegisterInput() {
console.log(token)
}
- //
-// const customerRegister =()=>{
-// //axios.post(url : post가 연결되어야 할 api주소, data : 백엔드에서 정의한 request body).then(앞 코드가 정상작동하면 실행되는 다음 행위)
-// axios.post('http://localhost:8000/api/v1/waitings/',{
-// store_id: localStorage.getItem('store_id'),
-// people: people,
-// token: 'token'})
-// .then((res) => console.log(res)) //(setItem) 로컬스토리지에 res.data.store_id를 "id"로 저장하는 코드,
-// // res는 사용자 마음대로 정의, res.data.store_id는 백엔드에서 받아온 response body
-// }
return (
diff --git a/src/components/StoreRegister/StoreRegisterInput.scss b/src/components/StoreRegister/StoreRegisterInput.scss
index e49498e..5de473b 100644
--- a/src/components/StoreRegister/StoreRegisterInput.scss
+++ b/src/components/StoreRegister/StoreRegisterInput.scss
@@ -22,4 +22,34 @@
color: black;
border-radius: 10px;
+}
+
+/* 모달창을 화면 중앙. 최상단에 노출 */
+.container {
+ /* 모달창 크기 */
+ width: 300px;
+ height: 200px;
+
+ /* 최상단 위치 */
+ z-index: 999;
+
+ /* 중앙 배치 */
+ /* top, bottom, left, right 는 브라우저 기준으로 작동한다. */
+ /* translate는 본인의 크기 기준으로 작동한다. */
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+
+ /* 모달창 디자인 */
+ background-color: gray;
+ border: 1px solid black;
+ border-radius: 8px;
+ }
+
+ /* 모달창 내부 X버튼 */
+ .close {
+ position: absolute;
+ right: 10px;
+ top: 10px;
}
\ No newline at end of file
diff --git a/src/components/StoreRegister/StoreRegisterInput.tsx b/src/components/StoreRegister/StoreRegisterInput.tsx
index 6957d19..f31891e 100644
--- a/src/components/StoreRegister/StoreRegisterInput.tsx
+++ b/src/components/StoreRegister/StoreRegisterInput.tsx
@@ -1,37 +1,54 @@
-import { useState } from 'react';
+import { useEffect, useState } from 'react';
import Box from '@mui/material/Box';
import TextField from '@mui/material/TextField';
import './StoreRegisterInput.scss';
-import {
- Link, useNavigate
-} from "react-router-dom";
+import {Link, useNavigate} from "react-router-dom";
+// import StoreLocation from "./StoreLocation";
import axios from 'axios';
-//가게등록
export default function RegisterInput() {
-
const [name, setName] = useState('')
const [phone_num, setPhone_num] = useState('')
- const [posts, setPosts] = useState(0) //가게 주소
+ const [posts, setPosts] = useState('') //가게 주소
const [email, setEmail] = useState('')
const [password, setPassword] = useState('')
-
const navigate = useNavigate();
+ const [latitude, setlatitude] = useState(0);
+ const [longitude, setLogitude] = useState(0);
+
+
+ const storeSearch =()=>{
+ axios.get(`map-geocode/v2/geocode?query=${posts}`,
+ {
+ headers: {
+ "X-NCP-APIGW-API-KEY-ID": "pg98qmcln0",
+ "X-NCP-APIGW-API-KEY": "ELFgrKAgPdLsxeQDxHBhqv1jQvrpZuVfDJ4Jcmrf"
+ }
+ })
+ .then((response) => {
+ setlatitude(response.data.addresses[0].y)
+ setLogitude(response.data.addresses[0].x)
+ })
+ }
const storeRegister =()=>{
- //axios.post(url : post가 연결되어야 할 api주소, data : 백엔드에서 정의한 request body).then(앞 코드가 정상작동하면 실행되는 다음 행위)
- axios.post('http://localhost:8000/api/v1/stores/signin/',{
+ axios.post('http://15.164.28.246:8000/api/v1/stores/signup/',{
name: name,
phone_num: phone_num,
- latitude: 0,
- longitude: 0,
+ latitude: latitude,
+ longitude: longitude,
email : email,
password: password})
- .then((res) =>localStorage.setItem("token", res.data.token) )
- navigate("/WaitingList") // .then에 넣어야 할듯..!
+ .then((response) => {
+ var str1 = 'Bearer '
+ var token = str1.concat(response.data.access)
+ localStorage.setItem('accessToken', token);
+ console.log(response.data.latitude)
+ console.log(response.data.longitude)
+ navigate("/WaitingList")
+ })
}
- //console.log(localStorage.getItem("id")) 로컬스토리지에서 저장되어있는 값을 꺼내와서 console.log에 출력해서 확인하는 코드(getItem)
return (
@@ -45,12 +62,12 @@ export default function RegisterInput() {
>
{setName(e.target.value)}} id="standard-basic" label="가게명 / 업소명" variant="standard" />
{setPhone_num(e.target.value)}}id="standard-basic" label="가게 번호" variant="standard" />
- {setPosts(Number(e.target.value))}}id="standard-basic" label="가게 주소" variant="standard" />
+ {setPosts((e.target.value))}}id="standard-basic" label="가게 주소" variant="standard" />
{setEmail(e.target.value)}}id="standard-basic" label="이메일 주소" variant="standard" />
- {setPassword(e.target.value)}}id="standard-basic" label="비밀번호" variant="standard" />
+ {setPassword(e.target.value)}}id="standard-basic" label="비밀번호" variant="standard" />
+
-
);
}
\ No newline at end of file
diff --git a/src/components/WaitingList/ListTable.tsx b/src/components/WaitingList/ListTable.tsx
index 2b59ebe..e3517f7 100644
--- a/src/components/WaitingList/ListTable.tsx
+++ b/src/components/WaitingList/ListTable.tsx
@@ -14,8 +14,10 @@ import CheckCircleIcon from '@mui/icons-material/CheckCircle';
import CancelIcon from '@mui/icons-material/Cancel';
import axios from 'axios';
import {waitings, res} from './Waiting';
+import {useEffect,useState} from "react";
import { Console } from 'console';
+import { tokenToString } from 'typescript';
interface Column {
id: 'waiting_id' | 'name' | 'people' | 'phone_num';
@@ -25,15 +27,18 @@ interface Column {
format?: (value: number) => string;
}
+
const columns: readonly Column[] = [
- { id: 'waiting_id', label: '순번', minWidth: 30 },
- { id: 'name', label: '예약자', minWidth: 30 },
+
+ { id: 'waiting_id', label: '순번', minWidth: 30, align: 'center', }, //(count++).toString()
+ { id: 'name', label: '예약자', minWidth: 30, align: 'center' },
{
id: 'people',
label: '인원 수',
minWidth: 30,
align: 'center',
},
+
{
id: 'phone_num',
label: '휴대폰 번호',
@@ -42,46 +47,78 @@ const columns: readonly Column[] = [
},
];
-export default function ListTable({waiting}:{waiting:waitings[]}) {
+export default function ListTable({waiting ,setTemp}:{waiting:waitings[]|undefined; setTemp:React.Dispatch
>}) {
+ let abc: number;
const [page, setPage] = React.useState(0);
- const [rowsPerPage, setRowsPerPage] = React.useState(100);
- const [rows, setRows] = React.useState(waiting);
+ const [rowsPerPage, setRowsPerPage] = React.useState(5);
+
const handleChangePage = (event: unknown, newPage: number) => {
setPage(newPage)
- console.log(rows)
+ console.log(waiting)
};
- function setrowData() {
- setRows(rows)
- }
-
const handleChangeRowsPerPage = (event: React.ChangeEvent) => {
setRowsPerPage(+event.target.value);
setPage(0);
};
-
+
+ //대기목록 MUI 안에 있는 호출 버튼
+ const Call =(index: number)=>{
+ if(waiting !== undefined) {
+ axios.post('http://15.164.28.246:8000/api/v1/stores/notifications/',{
+ waiting_id: waiting[index].waiting_id
+ },
+ {
+ headers : {Authorization: localStorage.getItem('accessToken')}
+ })
+ .then((response) => {
+ console.log('성공')
+ })
+ .catch((error) => {
+ console.log('호출 실패');
+ });
+ }}
+
//대기목록 MUI 안에 있는 입장완료 버튼
const Start = (index: number) => {
- axios.patch('http://localhost:8000/api/v1/stores/waitings/',{
- waiting_id: rows[index].waiting_id
- })
- .then((res) =>setRows(res.data.waiting)) //55행 이용, res로 넘어온 정보저장 해야대, 그렇기에 setRows가
- .catch((error) => {
- console.log('Error!');
- });
- }
-
- //대기목록 MUI 안에 있는 대기취소 버튼
- const waitingCancel = (index: number) => {
- axios.patch('http://localhost:8000/api/v1//stores/cancellations/',{
- waiting_id: rows[index].waiting_id
- })
- .then((res) =>setRows(res.data.waiting))
+ if(waiting !== undefined) {
+ axios.patch('http://15.164.28.246:8000/api/v1/stores/waitings/',{
+ waiting_id: waiting[index].waiting_id
+ },
+ {
+ headers : {Authorization: localStorage.getItem('accessToken')}
+ }
+ )
+ .then((response) => {
+ console.log('[입장완료]' + localStorage.getItem('accessToken'))
+ })
.catch((error) => {
console.log('Error!');
});
- }
-
+ }}
+
+ //대기목록 MUI 안에 있는 대기취소 버튼
+ const waitingCancel = (index: number) => {
+ if(waiting != undefined) {
+ axios.patch('http://15.164.28.246:8000/api/v1/stores/cancellations/',{
+ waiting_id: waiting[index].waiting_id
+ },
+ {
+ headers : {Authorization: localStorage.getItem('accessToken')}
+ }
+ )
+ .then((response) => {
+ //민아) 행 삭제 시도
+ // setTemp(pre => ({...pre,waiting:[...response.data.waiting]}));
+ console.log('[대기강제취소]' + localStorage.getItem('accessToken'))
+ })
+ .catch((error) => {
+ console.log('Error!');
+ });
+ }}
+
+
+
return (
@@ -104,26 +141,33 @@ export default function ListTable({waiting}:{waiting:waitings[]}) {
- {rows
- .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)
- .map((row:any) => {
+
+ {waiting?.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)
+ .map((row:any, index:number) => {
+
+ if(waiting != undefined) {
+ abc = waiting.length
+ }
+
return (
- {columns.map((column:any) => {
- console.log(rows)
+ {columns.map((column:any, i:number) => {
+ //console.log(waiting)
const value = row[column.id];
-
+
return (
- {column.format && typeof value === 'number'
- ? column.format(value)
- : value}
+
+ {column?.id === 'waiting_id'
+ ? (page*rowsPerPage)+(index+1) : value}
+
+
);
})}
-
- Start(row.waiting_id)} align="center">
- waitingCancel(row.waiting_id)} align="center">
+ Call(index)} align="center">
+ Start(index)} align="center">
+ waitingCancel(index)} align="center">
);
})}
@@ -134,7 +178,7 @@ export default function ListTable({waiting}:{waiting:waitings[]}) {
);
-}
\ No newline at end of file
+}
+
+ListTable.defaultProps = {
+ waiting:[]
+}
+
diff --git a/src/components/WaitingList/StoreInformation.tsx b/src/components/WaitingList/StoreInformation.tsx
index 7dd7ba2..c512bb2 100644
--- a/src/components/WaitingList/StoreInformation.tsx
+++ b/src/components/WaitingList/StoreInformation.tsx
@@ -9,19 +9,23 @@ interface Props {
//type Info = {text : string}
function StoreInformation(information: Props) {
- //const [text, setText] = useState({setInformation})
const onChange = (event: any) => (
setInfo(event.target.value)
);
- const [info, setInfo] = useState(information); //useState('information'); 이렇게 작성되면 텍스트 information만 작성되던데 이게 맞는지!
-
+ const [info, setInfo] = useState(information);
+
const storeInformationText = () => {
- axios.patch('http://localhost:8000/api/v1/stores/details/',{
- //store_id: localStorage.getItem("store_id"), //- 우선 임의의 값으로 지정, 로그인 api완료 후 추후 진행
- information: info //information: info = 처음에 가져온 가게설명 초기값 : 변경되는 가게설명수정
+ axios.patch('http://15.164.28.246:8000/api/v1/stores/details/',{
+ information: info
+ },
+ {
+ headers : {Authorization: localStorage.getItem('accessToken')}
+ }
+ )
+ .then((response) => {
+ console.log('[가게설명]' + localStorage.getItem('accessToken'))
})
- .then(res => setInfo(info))
.catch((error) => {
console.log('Error!');
});
diff --git a/src/components/WaitingList/SubButton.tsx b/src/components/WaitingList/SubButton.tsx
index 66e0eca..b259e1f 100644
--- a/src/components/WaitingList/SubButton.tsx
+++ b/src/components/WaitingList/SubButton.tsx
@@ -8,35 +8,30 @@ import axios from "axios";
function SubButton() {
- const [is_waiting, setIs_waiting] = useState(true); // 로그인 하고 받은 스토어 아이디 가지고 조회해서 이즈웨이팅 값 넣기
+ const [is_waiting, setIs_waiting] = useState(true);
const iswaitingChange = () => {
- axios.patch('http://localhost:8000/api/v1/stores/breaktimes/',{
- //store_id: 2 //localStorage.getItem("store_id") //회원가입(가게등록)을 해서 store_id가 생성이 돼야 localStorage에 저장이 되고,
- //이후 getItem을 통해 store_id를 가져올 수 있는데, 아직 그 과정이 선행되지 않아 임의로 2로 지정해주어 확인 작업함
+ axios.patch('http://15.164.28.246:8000/api/v1/stores/breaktimes/',{
+ },
+ {
+ headers : {Authorization: localStorage.getItem('accessToken')}
+ }
+ )
+ .then((response) => {
+ localStorage.getItem('accessToken')
+ console.log(response.data);
+ setIs_waiting(response.data.is_waiting);
+ console.log(is_waiting);
+
})
- .then(res => setIs_waiting(is_waiting)
- )
}
return (
-
-
-
-
- 현장 등록
-
-
- {is_waiting ? '대기 마감' : '대기 시작'}
-
);
diff --git a/src/components/WaitingList/TableTitle.tsx b/src/components/WaitingList/TableTitle.tsx
index b9d4ff2..e3eb15f 100644
--- a/src/components/WaitingList/TableTitle.tsx
+++ b/src/components/WaitingList/TableTitle.tsx
@@ -7,11 +7,8 @@ function TableTitle() {
return (
- {/*
- 대기 목록
-
*/}
-
diff --git a/src/components/WaitingList/Waiting.ts b/src/components/WaitingList/Waiting.ts
index d05b1e4..db3354f 100644
--- a/src/components/WaitingList/Waiting.ts
+++ b/src/components/WaitingList/Waiting.ts
@@ -8,5 +8,5 @@ export interface waitings {
export interface res {
information: string,
is_waiting: boolean,
- waiting : waitings[]
+ data : waitings[]
}
diff --git a/src/components/WaitingList/WaitingList.scss b/src/components/WaitingList/WaitingList.scss
index 2843585..f4134f3 100644
--- a/src/components/WaitingList/WaitingList.scss
+++ b/src/components/WaitingList/WaitingList.scss
@@ -1,42 +1,49 @@
.tableStyle {
- margin-Top: -35em;
- margin-Left: 3.5em;
- width: 75%;
+ margin-Top: -34.8em;
+ margin-Left: 2.5em;
+ width: 89.7%;
height: 500;
overflow: 'hidden';
- //font-family: 'BMJUA';
}
.tableOutline {
margin-top: 1em;
- margin-Left: 2.5em;
- width: 60em;
+ margin-Left: 1.5em;
+ width: 44.2em;
height: 35em;
padding: 0.5em;
background-color: #FBE5AD;
border-radius: 1em;
}
-.tableTime{
- margin-top: 1em;
- margin-Left: 0.5em;
- width: 29.5em;
+.tableTitle{
+ margin-top: 1.5em;
+ margin-bottom: 1em;
+ width: 22.5em;
height: 1em;
- padding: 0.5em;
color: black;
- background-color: #FBE5AD;
+ background-color: #FEFBDC;
+ border-color: #FBE5AD;
+ border-width: 3em;
font-family: 'BMJUA';
font-size: 2em;
border-radius: 0.6em;
}
-.tableTitle{
- margin-top: 2em;
- margin-Left: -2.5em;
- width: 10em;
- color: black;
- font-family: 'BMJUA';
- font-size: 2em;
+.tableTitleLineTop{
+ margin-top: 1em;
+ margin-Left: 19em;
+ width: 7em;
+ height: 0.3em;
+ background-color: #000000;
+}
+
+.tableTitleLineBottom{
+ margin-Left: 19em;
+ margin-bottom: 1em;
+ width: 7em;
+ height: 0.2em;
+ background-color: #000000;
}
.offlineRegisterButton{
@@ -50,10 +57,8 @@
font-family: 'BMJUA';
font-size: 2em;
border-radius: 2em;
- display: flex;
align-items: center;
justify-content: center;
- float: 'left';
}
.offlineRegisterText{
@@ -70,20 +75,16 @@
}
.stopRegisterButton{
- margin-top: 1.1em;
- margin-left: -6.3em;
- width: 1em;
- height: 1em;
- padding: 2em;
+ margin-left: 24em;
+ width: 5em;
+ height: 2em;
+ padding: 0.4em;
color: black;
background-color: #F96F6F;
font-family: 'BMJUA';
- font-size: 2em;
- border-radius: 2em;
- display: flex;
- align-items: center;
+ font-size: 1.5em;
+ border-radius: 10px;
justify-content: center;
- float: 'left';
}
.stopRegisterText{
@@ -104,6 +105,4 @@
}
.openBg{
background-color: rgb(203, 255, 90);
- //background-color: #b3fd43;
-
}
\ No newline at end of file
diff --git a/src/pages/CustomerRegister/CustomerRegister.tsx b/src/pages/CustomerRegister/CustomerRegister.tsx
index 41a3531..e72bba1 100644
--- a/src/pages/CustomerRegister/CustomerRegister.tsx
+++ b/src/pages/CustomerRegister/CustomerRegister.tsx
@@ -12,4 +12,4 @@ function CustomerRegister() {
);
}
- export default CustomerRegister; //import를 하기 위해선 export(내보내기)를 해야 한다
\ No newline at end of file
+ export default CustomerRegister;
\ No newline at end of file
diff --git a/src/pages/Login/Login.tsx b/src/pages/Login/Login.tsx
index 4ec4b6e..9d1b5f7 100644
--- a/src/pages/Login/Login.tsx
+++ b/src/pages/Login/Login.tsx
@@ -5,8 +5,8 @@ import {
Link, useNavigate
} from "react-router-dom";
import axios from "axios";
+import { access } from "fs";
-// 로그인, response body - access, refresh
function Login() {
document.body.style.backgroundColor = "#FFFBD9";
@@ -17,14 +17,25 @@ function Login() {
const navigate = useNavigate();
const storeLogin =()=>{
- //axios.post(url : post가 연결되어야 할 api주소, data : 백엔드에서 정의한 request body).then(앞 코드가 정상작동하면 실행되는 다음 행위)
- axios.post('http://localhost:8000/api/v1/stores/login/',{
+ axios.post('http://15.164.28.246:8000/api/v1/stores/login/',{
email: email,
password: password})
- .then((res) =>localStorage.setItem("token", res.data.token)) // (setItem) 로컬스토리지에 res.data.store_id를 "id"로 저장하는 코드, res는 사용자 마음대로 정의, res.data.store_id는 백엔드에서 받아온 response body
- navigate("/WaitingList") // .then에 넣어야 할듯..!
+ .then((response) => {
+ var str1 = 'Bearer '
+ var token = str1.concat(response.data.access)
+ localStorage.setItem('accessToken', token);
+ console.log('[access]' + token)
+ navigate("/WaitingList")
+ })
}
+ const [hidePassword, setHidePassword] = useState(true);
+
+ const toggleHidePassword =()=>{
+ setHidePassword(!hidePassword);
+ }
+
+
return(
{setEmail(e.target.value)}} id="standard-basic" label="이메일 주소" variant="standard" />
- {setPassword(e.target.value)}}id="standard-basic" label="비밀번호" variant="standard" />
+ {setPassword(e.target.value)}}id="standard-basic" label="비밀번호" variant="standard" />
diff --git a/src/pages/StoreRegister/StoreRegister.tsx b/src/pages/StoreRegister/StoreRegister.tsx
index 12020b4..c623f52 100644
--- a/src/pages/StoreRegister/StoreRegister.tsx
+++ b/src/pages/StoreRegister/StoreRegister.tsx
@@ -12,4 +12,4 @@ function StoreRegister() {
);
}
- export default StoreRegister; //import를 하기 위해선 export(내보내기)를 해야 한다
\ No newline at end of file
+ export default StoreRegister;
\ No newline at end of file
diff --git a/src/pages/WaitingList/WaitingList.tsx b/src/pages/WaitingList/WaitingList.tsx
index 436ba82..649feb4 100644
--- a/src/pages/WaitingList/WaitingList.tsx
+++ b/src/pages/WaitingList/WaitingList.tsx
@@ -10,6 +10,7 @@ import axios from "axios";
import { useRoutes } from "react-router-dom";
import {waitings, res} from '../../components/WaitingList/Waiting';
import ListTableStyle from "../../components/WaitingList/ListTableStyle";
+import { NULL } from "sass";
//대기자조회api 이 페이지에 연결되어야 함(useEffect) - store_id를 보내고 받아와야 함
//store_id를 백엔드로 넘겨주면, 백엔드에서 is_waiting, waiting(리스트), information를 받아오기 때문에, 그리고 이 정보를 대기자 입장, 웨이팅 취소 등에서도 계속 사용하기에 useState 사용
@@ -35,54 +36,68 @@ import ListTableStyle from "../../components/WaitingList/ListTableStyle";
// phone_num: "0101231112",
// name: "string3",
// waiting_id: 3
-// }
-
+// },
+// {
+// people: 3,
+// phone_num: "01011111111",
+// name: "string",
+// waiting_id: 1
+// },
+
+// {
+// people: 2,
+// phone_num: "01011111112",
+// name: "string2",
+// waiting_id: 2
+// },
+
+// {
+// people: 3,
+// phone_num: "0101231112",
+// name: "string3",
+// waiting_id: 3
+// },
+
// ]
function WaitingList() {
document.body.style.backgroundColor = "#FFFBD9";
+ const [temp, setTemp] = useState
();
-
- const [temp, setTemp] = useState({ // 지정을 해줬더라도 덮어지기 때문에 이대로 진행해도 괜찮다!
- information: '',
- is_waiting : true,
- waiting : [{
- waiting_id : 0,
- name: '민아',
- people: 4,
- phone_num: '010-0000-0000'
- }]});
+
+
+ const getList = async() => {
+ axios.get('http://15.164.28.246:8000/api/v1/stores/waitings/',
+ {
+ headers : {Authorization: localStorage.getItem('accessToken')}
+ })
+ .then((response) => {
+ setTemp(response.data);
+ })
+ .catch((error) => {
+ console.log(localStorage.getItem('accessToken'));
+ });
+ }
useEffect(()=>{
- const res = axios.get('http://localhost:8000/api/v1/stores/waitings/')
- .then(res => setTemp(res.data))
- })
-
- // const customerRegister =()=>{
- // //axios.post(url : post가 연결되어야 할 api주소, data : 백엔드에서 정의한 request body).then(앞 코드가 정상작동하면 실행되는 다음 행위)
- // axios.post('http://localhost:8000/api/v1/stores/waitings/',{
- // //store_id: localStorage.getItem('store_id'),
- // })
- // .then((res) => setTemp(res.data)) //(setItem) 로컬스토리지에 res.data.store_id를 "id"로 저장하는 코드,
- // res는 사용자 마음대로 정의, res.data.store_id는 백엔드에서 받아온 response body
-
+ getList()
+ }, [])
+
return (
- {/* axios 받아왔던 information정보들을 StoreInformation컴포넌트 호출할 때 넣어줘야해, 그래야 컴포넌트 값이 넘어가 / 이때 useLocation 사용?*/}
-
+
- {/* ListTable에 test 말고 백엔드에서 받아올 정보 넘겨줘야함 */}
-
+
+
-
);
}
diff --git a/yarn.lock b/yarn.lock
index 7ca6e12..7e5004b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,6 +2,11 @@
# yarn lockfile v1
+"@actbase/react-daum-postcode@^1.0.4":
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/@actbase/react-daum-postcode/-/react-daum-postcode-1.0.4.tgz"
+ integrity sha512-cTUnwfnKLM9LMh4dBPxbfGeCjpbJQcq/R6oW2aEJO20qz4i8cA7sPf0HkUyYqENfuGFU+vbsSJ8LJwNhTYoFLQ==
+
"@adobe/css-tools@^4.0.1":
version "4.0.1"
resolved "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.1.tgz"
@@ -3004,7 +3009,7 @@ array.prototype.tosorted@^1.1.1:
es-shim-unscopables "^1.0.0"
get-intrinsic "^1.1.3"
-asap@~2.0.6:
+asap@~2.0.3, asap@~2.0.6:
version "2.0.6"
resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz"
integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==
@@ -3051,10 +3056,10 @@ axe-core@^4.4.3:
resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.6.1.tgz"
integrity sha512-lCZN5XRuOnpG4bpMq8v0khrWtUOn+i8lZSb6wHZH56ZfbIEv6XwJV84AAueh9/zi7qPVJ/E4yz6fmsiyOmXR4w==
-axios@^1.2.2:
- version "1.2.2"
- resolved "https://registry.npmjs.org/axios/-/axios-1.2.2.tgz"
- integrity sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==
+axios@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.npmjs.org/axios/-/axios-1.2.5.tgz"
+ integrity sha512-9pU/8mmjSSOb4CXVsvGIevN+MlO/t9OWtKadTaLuN85Gge3HGorUckgp8A/2FH4V4hJ7JuQ3LIeI7KAV9ITZrQ==
dependencies:
follow-redirects "^1.15.0"
form-data "^4.0.0"
@@ -3468,6 +3473,11 @@ chalk@^4.1.2:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
+change-emitter@^0.1.2:
+ version "0.1.6"
+ resolved "https://registry.npmjs.org/change-emitter/-/change-emitter-0.1.6.tgz"
+ integrity sha512-YXzt1cQ4a2jqazhcuSWEOc1K2q8g9H6eWNsyZgi640LDzRWVQ2eDe+Y/kVdftH+vYdPF2rgDb3dLdpxE1jvAxw==
+
char-regex@^1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz"
@@ -3703,6 +3713,11 @@ core-js-pure@^3.23.3, core-js-pure@^3.25.1:
resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.27.1.tgz"
integrity sha512-BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw==
+core-js@^1.0.0:
+ version "1.2.7"
+ resolved "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz"
+ integrity sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==
+
core-js@^3.19.2:
version "3.27.1"
resolved "https://registry.npmjs.org/core-js/-/core-js-3.27.1.tgz"
@@ -3735,6 +3750,14 @@ cosmiconfig@^7.0.0:
path-type "^4.0.0"
yaml "^1.10.0"
+create-react-context@^0.2.3:
+ version "0.2.3"
+ resolved "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.3.tgz"
+ integrity sha512-CQBmD0+QGgTaxDL3OX1IDXYqjkp2It4RIbcb99jS6AEg27Ga+a9G3JtK6SIu0HBwPLZlmwt9F7UwWA4Bn92Rag==
+ dependencies:
+ fbjs "^0.8.0"
+ gud "^1.0.0"
+
cross-spawn@^7.0.2, cross-spawn@^7.0.3:
version "7.0.3"
resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"
@@ -4017,6 +4040,13 @@ debug@^2.6.9:
dependencies:
ms "2.0.0"
+debug@^3.1.0:
+ version "3.2.7"
+ resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz"
+ integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
+ dependencies:
+ ms "^2.1.1"
+
debug@^3.2.7:
version "3.2.7"
resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz"
@@ -4347,6 +4377,13 @@ encodeurl@~1.0.2:
resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"
integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
+encoding@^0.1.11:
+ version "0.1.13"
+ resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz"
+ integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==
+ dependencies:
+ iconv-lite "^0.6.2"
+
enhanced-resolve@^5.10.0:
version "5.12.0"
resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz"
@@ -4882,6 +4919,19 @@ fb-watchman@^2.0.0:
dependencies:
bser "2.1.1"
+fbjs@^0.8.0, fbjs@^0.8.1:
+ version "0.8.18"
+ resolved "https://registry.npmjs.org/fbjs/-/fbjs-0.8.18.tgz"
+ integrity sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA==
+ dependencies:
+ core-js "^1.0.0"
+ isomorphic-fetch "^2.1.1"
+ loose-envify "^1.0.0"
+ object-assign "^4.1.0"
+ promise "^7.1.1"
+ setimmediate "^1.0.5"
+ ua-parser-js "^0.7.30"
+
file-entry-cache@^6.0.1:
version "6.0.1"
resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz"
@@ -5252,6 +5302,11 @@ grapheme-splitter@^1.0.4:
resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz"
integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
+gud@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz"
+ integrity sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==
+
gzip-size@^6.0.0:
version "6.0.0"
resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz"
@@ -5315,7 +5370,12 @@ he@^1.2.0:
resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz"
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
-hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2:
+hoist-non-react-statics@^2.3.1:
+ version "2.5.5"
+ resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz"
+ integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==
+
+hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.2.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2:
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==
@@ -5428,7 +5488,7 @@ http-proxy-agent@^4.0.1:
agent-base "6"
debug "4"
-http-proxy-middleware@^2.0.3:
+http-proxy-middleware@^2.0.3, http-proxy-middleware@^2.0.6:
version "2.0.6"
resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz"
integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==
@@ -5466,7 +5526,7 @@ hyphenate-style-name@^1.0.3:
resolved "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz"
integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==
-iconv-lite@^0.6.3:
+iconv-lite@^0.6.2, iconv-lite@^0.6.3:
version "0.6.3"
resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz"
integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
@@ -5575,6 +5635,13 @@ internal-slot@^1.0.3:
has "^1.0.3"
side-channel "^1.0.4"
+invariant@^2.2.4:
+ version "2.2.4"
+ resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz"
+ integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
+ dependencies:
+ loose-envify "^1.0.0"
+
ipaddr.js@^2.0.1:
version "2.0.1"
resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz"
@@ -5748,6 +5815,11 @@ is-shared-array-buffer@^1.0.2:
dependencies:
call-bind "^1.0.2"
+is-stream@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz"
+ integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==
+
is-stream@^2.0.0:
version "2.0.1"
resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz"
@@ -5825,6 +5897,14 @@ isexe@^2.0.0:
resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
+isomorphic-fetch@^2.1.1:
+ version "2.2.1"
+ resolved "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz"
+ integrity sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==
+ dependencies:
+ node-fetch "^1.0.1"
+ whatwg-fetch ">=0.10.0"
+
istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0:
version "3.2.0"
resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz"
@@ -6614,6 +6694,11 @@ lines-and-columns@^1.1.6:
resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz"
integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
+load-js@^3.0.2:
+ version "3.1.1"
+ resolved "https://registry.npmjs.org/load-js/-/load-js-3.1.1.tgz"
+ integrity sha512-yAZcLdKtq/9e3rE8A+c6noD/M++6vryP5A96axcM8NReISX3tzTCHUS8apToXzToaPs9LlApqxfa5uCDBuv+SQ==
+
loader-runner@^4.2.0:
version "4.3.0"
resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz"
@@ -6655,11 +6740,21 @@ locate-path@^6.0.0:
dependencies:
p-locate "^5.0.0"
+lodash.camelcase@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz"
+ integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==
+
lodash.debounce@^4.0.8:
version "4.0.8"
resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz"
integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
+lodash.difference@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz"
+ integrity sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==
+
lodash.memoize@^4.1.2:
version "4.1.2"
resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz"
@@ -6675,6 +6770,11 @@ lodash.sortby@^4.7.0:
resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz"
integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==
+lodash.throttle@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz"
+ integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==
+
lodash.uniq@^4.5.0:
version "4.5.0"
resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz"
@@ -6910,6 +7010,14 @@ no-case@^3.0.4:
lower-case "^2.0.2"
tslib "^2.0.3"
+node-fetch@^1.0.1:
+ version "1.7.3"
+ resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz"
+ integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==
+ dependencies:
+ encoding "^0.1.11"
+ is-stream "^1.0.1"
+
node-forge@^1:
version "1.3.1"
resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz"
@@ -6966,7 +7074,7 @@ nwsapi@^2.2.0:
resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz"
integrity sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==
-object-assign@^4.1.1:
+object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
@@ -7899,6 +8007,13 @@ process-nextick-args@~2.0.0:
resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz"
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+promise@^7.1.1:
+ version "7.3.1"
+ resolved "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz"
+ integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==
+ dependencies:
+ asap "~2.0.3"
+
promise@^8.1.0:
version "8.3.0"
resolved "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz"
@@ -7914,7 +8029,7 @@ prompts@^2.0.1, prompts@^2.4.2:
kleur "^3.0.3"
sisteransi "^1.0.5"
-prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1:
+prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1:
version "15.8.1"
resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz"
integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
@@ -8074,6 +8189,13 @@ react-fast-compare@^3.0.1:
resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz"
integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==
+react-geocode@^0.2.3:
+ version "0.2.3"
+ resolved "https://registry.npmjs.org/react-geocode/-/react-geocode-0.2.3.tgz"
+ integrity sha512-sIpbgmn1IUzAxO4haOZ6jeeFnMD8ya9PC38yiNrmJ9vPWbvAO2D/2yfCBzZjGZVUm4PRzKAc0KghXfaEnug0TQ==
+ dependencies:
+ regenerator-runtime "^0.13.3"
+
react-icons@^4.7.1:
version "4.7.1"
resolved "https://registry.npmjs.org/react-icons/-/react-icons-4.7.1.tgz"
@@ -8104,6 +8226,25 @@ react-is@^18.2.0:
resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz"
integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
+react-naver-maps@^0.0.13:
+ version "0.0.13"
+ resolved "https://registry.npmjs.org/react-naver-maps/-/react-naver-maps-0.0.13.tgz"
+ integrity sha512-d4tagxVILGTzRaIW+GwFjZ9HhoBoODFy/Ly0ClWZ9neIJ7QCzCw/x0OPmZUYki0Kke6KcngQm6/mhx+mVdh3ug==
+ dependencies:
+ create-react-context "^0.2.3"
+ debug "^3.1.0"
+ hoist-non-react-statics "^3.2.0"
+ invariant "^2.2.4"
+ load-js "^3.0.2"
+ lodash.camelcase "^4.3.0"
+ lodash.debounce "^4.0.8"
+ lodash.difference "^4.5.0"
+ prop-types "^15.6.2"
+ react-resize-detector "^2.2.0"
+ recompose "^0.26.0"
+ shallowequal "^1.1.0"
+ warning "^4.0.2"
+
react-onclickoutside@^6.12.0:
version "6.12.2"
resolved "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.12.2.tgz"
@@ -8122,6 +8263,16 @@ react-refresh@^0.11.0:
resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz"
integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==
+react-resize-detector@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-2.3.0.tgz"
+ integrity sha512-oCAddEWWeFWYH5FAcHdBYcZjAw9fMzRUK9sWSx6WvSSOPVRxcHd5zTIGy/mOus+AhN/u6T4TMiWxvq79PywnJQ==
+ dependencies:
+ lodash.debounce "^4.0.8"
+ lodash.throttle "^4.1.1"
+ prop-types "^15.6.0"
+ resize-observer-polyfill "^1.5.0"
+
react-router-dom@^6.6.1:
version "6.6.1"
resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.6.1.tgz"
@@ -8250,6 +8401,16 @@ readdirp@~3.6.0:
dependencies:
picomatch "^2.2.1"
+recompose@^0.26.0:
+ version "0.26.0"
+ resolved "https://registry.npmjs.org/recompose/-/recompose-0.26.0.tgz"
+ integrity sha512-KwOu6ztO0mN5vy3+zDcc45lgnaUoaQse/a5yLVqtzTK13czSWnFGmXbQVmnoMgDkI5POd1EwIKSbjU1V7xdZog==
+ dependencies:
+ change-emitter "^0.1.2"
+ fbjs "^0.8.1"
+ hoist-non-react-statics "^2.3.1"
+ symbol-observable "^1.0.4"
+
recursive-readdir@^2.2.2:
version "2.2.3"
resolved "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz"
@@ -8277,7 +8438,7 @@ regenerate@^1.4.2:
resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz"
integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
-regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.9:
+regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.9:
version "0.13.11"
resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz"
integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
@@ -8363,6 +8524,11 @@ requires-port@^1.0.0:
resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz"
integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
+resize-observer-polyfill@^1.5.0:
+ version "1.5.1"
+ resolved "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz"
+ integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==
+
resolve-cwd@^3.0.0:
version "3.0.0"
resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz"
@@ -8662,6 +8828,11 @@ serve-static@1.15.0:
parseurl "~1.3.3"
send "0.18.0"
+setimmediate@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz"
+ integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==
+
setprototypeof@1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz"
@@ -9099,6 +9270,11 @@ svgo@^2.7.0:
picocolors "^1.0.0"
stable "^0.1.8"
+symbol-observable@^1.0.4:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz"
+ integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
+
symbol-tree@^3.2.4:
version "3.2.4"
resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz"
@@ -9348,6 +9524,11 @@ typescript@^4.9.4:
resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz"
integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==
+ua-parser-js@^0.7.30:
+ version "0.7.33"
+ resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz"
+ integrity sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==
+
unbox-primitive@^1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz"
@@ -9669,7 +9850,7 @@ whatwg-encoding@^1.0.5:
dependencies:
iconv-lite "0.4.24"
-whatwg-fetch@^3.6.2:
+whatwg-fetch@^3.6.2, whatwg-fetch@>=0.10.0:
version "3.6.2"
resolved "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz"
integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==