diff --git a/React/package-lock.json b/React/package-lock.json new file mode 100644 index 00000000..396cb730 --- /dev/null +++ b/React/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "React", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} diff --git a/React/panda-market/package-lock.json b/React/panda-market/package-lock.json index 62ea306a..60b87fe5 100644 --- a/React/panda-market/package-lock.json +++ b/React/panda-market/package-lock.json @@ -19,7 +19,9 @@ }, "devDependencies": { "ajv": "^7.2.4", + "axios": "^1.7.9", "classnames": "^2.5.1", + "lodash.debounce": "^4.0.8", "react-router-dom": "^6.28.1" } }, @@ -5151,6 +5153,34 @@ "node": ">=4" } }, + "node_modules/axios": { + "version": "1.7.9", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", + "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axios/node_modules/form-data": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/axobject-query": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", @@ -14048,6 +14078,13 @@ "node": ">= 0.10" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true, + "license": "MIT" + }, "node_modules/psl": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", diff --git a/React/panda-market/package.json b/React/panda-market/package.json index 081c1958..295a893c 100644 --- a/React/panda-market/package.json +++ b/React/panda-market/package.json @@ -38,7 +38,9 @@ }, "devDependencies": { "ajv": "^7.2.4", + "axios": "^1.7.9", "classnames": "^2.5.1", + "lodash.debounce": "^4.0.8", "react-router-dom": "^6.28.1" } } diff --git a/React/panda-market/src/App.jsx b/React/panda-market/src/App.jsx new file mode 100644 index 00000000..f8a23804 --- /dev/null +++ b/React/panda-market/src/App.jsx @@ -0,0 +1,26 @@ +import { Outlet, useLocation } from "react-router-dom"; +import Header from "./components/Layout/Header"; +import Footer from "./components/Layout/Footer"; +import styles from "./styles/App.module.css"; +import "./styles/App.font.css"; +import "./styles/App.color.css"; + +function App() { + const location = useLocation(); + + return ( + <> + {!["/signin", "/signup"].includes(location.pathname) && ( +
+ )} +
+ +
+ {["/"].includes(location.pathname) && ( +