diff --git a/shopsense_seller/package-lock.json b/shopsense_seller/package-lock.json
index 35a958e..5e9cf01 100644
--- a/shopsense_seller/package-lock.json
+++ b/shopsense_seller/package-lock.json
@@ -8,15 +8,24 @@
"name": "shopsense_seller",
"version": "0.1.0",
"dependencies": {
+ "@emotion/react": "^11.11.4",
+ "@emotion/styled": "^11.11.5",
+ "@mui/icons-material": "^5.15.17",
+ "@mui/material": "^5.15.17",
+ "@mui/x-charts": "^7.4.0",
+ "@ramonak/react-progress-bar": "^5.2.0",
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-flags-select": "^2.2.3",
+ "react-popup": "^0.11.2",
"react-router-dom": "^6.23.0",
"react-scripts": "5.0.1",
"react-select": "^5.8.0",
+ "rechart": "^0.0.1",
+ "recharts": "^2.12.7",
"web-vitals": "^2.1.4"
}
},
@@ -1955,9 +1964,9 @@
"integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA=="
},
"node_modules/@babel/runtime": {
- "version": "7.23.9",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz",
- "integrity": "sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==",
+ "version": "7.24.5",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz",
+ "integrity": "sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==",
"dependencies": {
"regenerator-runtime": "^0.14.0"
},
@@ -2345,6 +2354,14 @@
"resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz",
"integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ=="
},
+ "node_modules/@emotion/is-prop-valid": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz",
+ "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==",
+ "dependencies": {
+ "@emotion/memoize": "^0.8.1"
+ }
+ },
"node_modules/@emotion/memoize": {
"version": "0.8.1",
"resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz",
@@ -2390,6 +2407,28 @@
"resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz",
"integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA=="
},
+ "node_modules/@emotion/styled": {
+ "version": "11.11.5",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.5.tgz",
+ "integrity": "sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.18.3",
+ "@emotion/babel-plugin": "^11.11.0",
+ "@emotion/is-prop-valid": "^1.2.2",
+ "@emotion/serialize": "^1.1.4",
+ "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1",
+ "@emotion/utils": "^1.2.1"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.0.0-rc.0",
+ "react": ">=16.8.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@emotion/unitless": {
"version": "0.8.1",
"resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz",
@@ -2523,6 +2562,18 @@
"@floating-ui/utils": "^0.2.0"
}
},
+ "node_modules/@floating-ui/react-dom": {
+ "version": "2.0.9",
+ "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.9.tgz",
+ "integrity": "sha512-q0umO0+LQK4+p6aGyvzASqKbKOJcAHJ7ycE9CuUvfx3s9zTHWmGJTPOIlM/hmSBfUfg/XfY5YhLBLR/LHwShQQ==",
+ "dependencies": {
+ "@floating-ui/dom": "^1.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8.0",
+ "react-dom": ">=16.8.0"
+ }
+ },
"node_modules/@floating-ui/utils": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.2.tgz",
@@ -3386,6 +3437,299 @@
"resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz",
"integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A=="
},
+ "node_modules/@mui/base": {
+ "version": "5.0.0-beta.40",
+ "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40.tgz",
+ "integrity": "sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.23.9",
+ "@floating-ui/react-dom": "^2.0.8",
+ "@mui/types": "^7.2.14",
+ "@mui/utils": "^5.15.14",
+ "@popperjs/core": "^2.11.8",
+ "clsx": "^2.1.0",
+ "prop-types": "^15.8.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ },
+ "peerDependencies": {
+ "@types/react": "^17.0.0 || ^18.0.0",
+ "react": "^17.0.0 || ^18.0.0",
+ "react-dom": "^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/core-downloads-tracker": {
+ "version": "5.15.17",
+ "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.17.tgz",
+ "integrity": "sha512-DVAejDQkjNnIac7MfP8sLzuo7fyrBPxNdXe+6bYqOqg1z2OPTlfFAejSNzWe7UenRMuFu9/AyFXj/X2vN2w6dA==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ }
+ },
+ "node_modules/@mui/icons-material": {
+ "version": "5.15.17",
+ "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.15.17.tgz",
+ "integrity": "sha512-xVzl2De7IY36s/keHX45YMiCpsIx3mNv2xwDgtBkRSnZQtVk+Gqufwj1ktUxEyjzEhBl0+PiNJqYC31C+n1n6A==",
+ "dependencies": {
+ "@babel/runtime": "^7.23.9"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ },
+ "peerDependencies": {
+ "@mui/material": "^5.0.0",
+ "@types/react": "^17.0.0 || ^18.0.0",
+ "react": "^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/material": {
+ "version": "5.15.17",
+ "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.15.17.tgz",
+ "integrity": "sha512-ru/MLvTkCh0AZXmqwIpqGTOoVBS/sX48zArXq/DvktxXZx4fskiRA2PEc7Rk5ZlFiZhKh4moL4an+l8zZwq49Q==",
+ "dependencies": {
+ "@babel/runtime": "^7.23.9",
+ "@mui/base": "5.0.0-beta.40",
+ "@mui/core-downloads-tracker": "^5.15.17",
+ "@mui/system": "^5.15.15",
+ "@mui/types": "^7.2.14",
+ "@mui/utils": "^5.15.14",
+ "@types/react-transition-group": "^4.4.10",
+ "clsx": "^2.1.0",
+ "csstype": "^3.1.3",
+ "prop-types": "^15.8.1",
+ "react-is": "^18.2.0",
+ "react-transition-group": "^4.4.5"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.5.0",
+ "@emotion/styled": "^11.3.0",
+ "@types/react": "^17.0.0 || ^18.0.0",
+ "react": "^17.0.0 || ^18.0.0",
+ "react-dom": "^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/react": {
+ "optional": true
+ },
+ "@emotion/styled": {
+ "optional": true
+ },
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/material/node_modules/react-is": {
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
+ "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="
+ },
+ "node_modules/@mui/private-theming": {
+ "version": "5.15.14",
+ "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.15.14.tgz",
+ "integrity": "sha512-UH0EiZckOWcxiXLX3Jbb0K7rC8mxTr9L9l6QhOZxYc4r8FHUkefltV9VDGLrzCaWh30SQiJvAEd7djX3XXY6Xw==",
+ "dependencies": {
+ "@babel/runtime": "^7.23.9",
+ "@mui/utils": "^5.15.14",
+ "prop-types": "^15.8.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ },
+ "peerDependencies": {
+ "@types/react": "^17.0.0 || ^18.0.0",
+ "react": "^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/styled-engine": {
+ "version": "5.15.14",
+ "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.15.14.tgz",
+ "integrity": "sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw==",
+ "dependencies": {
+ "@babel/runtime": "^7.23.9",
+ "@emotion/cache": "^11.11.0",
+ "csstype": "^3.1.3",
+ "prop-types": "^15.8.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.4.1",
+ "@emotion/styled": "^11.3.0",
+ "react": "^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/react": {
+ "optional": true
+ },
+ "@emotion/styled": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/system": {
+ "version": "5.15.15",
+ "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.15.15.tgz",
+ "integrity": "sha512-aulox6N1dnu5PABsfxVGOZffDVmlxPOVgj56HrUnJE8MCSh8lOvvkd47cebIVQQYAjpwieXQXiDPj5pwM40jTQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.23.9",
+ "@mui/private-theming": "^5.15.14",
+ "@mui/styled-engine": "^5.15.14",
+ "@mui/types": "^7.2.14",
+ "@mui/utils": "^5.15.14",
+ "clsx": "^2.1.0",
+ "csstype": "^3.1.3",
+ "prop-types": "^15.8.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.5.0",
+ "@emotion/styled": "^11.3.0",
+ "@types/react": "^17.0.0 || ^18.0.0",
+ "react": "^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/react": {
+ "optional": true
+ },
+ "@emotion/styled": {
+ "optional": true
+ },
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/types": {
+ "version": "7.2.14",
+ "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.14.tgz",
+ "integrity": "sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ==",
+ "peerDependencies": {
+ "@types/react": "^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/utils": {
+ "version": "5.15.14",
+ "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.15.14.tgz",
+ "integrity": "sha512-0lF/7Hh/ezDv5X7Pry6enMsbYyGKjADzvHyo3Qrc/SSlTsQ1VkbDMbH0m2t3OR5iIVLwMoxwM7yGd+6FCMtTFA==",
+ "dependencies": {
+ "@babel/runtime": "^7.23.9",
+ "@types/prop-types": "^15.7.11",
+ "prop-types": "^15.8.1",
+ "react-is": "^18.2.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/mui-org"
+ },
+ "peerDependencies": {
+ "@types/react": "^17.0.0 || ^18.0.0",
+ "react": "^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mui/utils/node_modules/react-is": {
+ "version": "18.3.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
+ "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="
+ },
+ "node_modules/@mui/x-charts": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/@mui/x-charts/-/x-charts-7.4.0.tgz",
+ "integrity": "sha512-W6A0ZJmfXLeAtuml0Yi7gvjxS6aW/2h6uO9PQNuE/rpV0iIEMU5bVfcJZGMVlh0WY+43FEicI1/8n6FzMcfZdg==",
+ "dependencies": {
+ "@babel/runtime": "^7.24.0",
+ "@mui/base": "^5.0.0-beta.40",
+ "@mui/system": "^5.15.14",
+ "@mui/utils": "^5.15.14",
+ "@react-spring/rafz": "^9.7.3",
+ "@react-spring/web": "^9.7.3",
+ "clsx": "^2.1.1",
+ "d3-color": "^3.1.0",
+ "d3-delaunay": "^6.0.4",
+ "d3-interpolate": "^3.0.1",
+ "d3-scale": "^4.0.2",
+ "d3-shape": "^3.2.0",
+ "prop-types": "^15.8.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "@emotion/react": "^11.9.0",
+ "@emotion/styled": "^11.8.1",
+ "@mui/material": "^5.15.14",
+ "react": "^17.0.0 || ^18.0.0",
+ "react-dom": "^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@emotion/react": {
+ "optional": true
+ },
+ "@emotion/styled": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@nicolo-ribaudo/eslint-scope-5-internals": {
"version": "5.1.1-v1",
"resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz",
@@ -3504,6 +3848,89 @@
}
}
},
+ "node_modules/@popperjs/core": {
+ "version": "2.11.8",
+ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
+ "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/popperjs"
+ }
+ },
+ "node_modules/@ramonak/react-progress-bar": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/@ramonak/react-progress-bar/-/react-progress-bar-5.2.0.tgz",
+ "integrity": "sha512-hgsn1YSXzDplCVNJ/YiCM0nVbVHKu7+2OHlj3kr2wU9ELPa9A/qj+c+GKGKqzJullsofRJV5yMN/Y/jL9aE4/Q==",
+ "peerDependencies": {
+ "react": "^16.0.0 || ^17 || ^18",
+ "react-dom": "^16.0.0 || ^17 || ^18"
+ }
+ },
+ "node_modules/@react-spring/animated": {
+ "version": "9.7.3",
+ "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.7.3.tgz",
+ "integrity": "sha512-5CWeNJt9pNgyvuSzQH+uy2pvTg8Y4/OisoscZIR8/ZNLIOI+CatFBhGZpDGTF/OzdNFsAoGk3wiUYTwoJ0YIvw==",
+ "dependencies": {
+ "@react-spring/shared": "~9.7.3",
+ "@react-spring/types": "~9.7.3"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-spring/core": {
+ "version": "9.7.3",
+ "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.7.3.tgz",
+ "integrity": "sha512-IqFdPVf3ZOC1Cx7+M0cXf4odNLxDC+n7IN3MDcVCTIOSBfqEcBebSv+vlY5AhM0zw05PDbjKrNmBpzv/AqpjnQ==",
+ "dependencies": {
+ "@react-spring/animated": "~9.7.3",
+ "@react-spring/shared": "~9.7.3",
+ "@react-spring/types": "~9.7.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/react-spring/donate"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-spring/rafz": {
+ "version": "9.7.3",
+ "resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.7.3.tgz",
+ "integrity": "sha512-9vzW1zJPcC4nS3aCV+GgcsK/WLaB520Iyvm55ARHfM5AuyBqycjvh1wbmWmgCyJuX4VPoWigzemq1CaaeRSHhQ=="
+ },
+ "node_modules/@react-spring/shared": {
+ "version": "9.7.3",
+ "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.7.3.tgz",
+ "integrity": "sha512-NEopD+9S5xYyQ0pGtioacLhL2luflh6HACSSDUZOwLHoxA5eku1UPuqcJqjwSD6luKjjLfiLOspxo43FUHKKSA==",
+ "dependencies": {
+ "@react-spring/types": "~9.7.3"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/@react-spring/types": {
+ "version": "9.7.3",
+ "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.7.3.tgz",
+ "integrity": "sha512-Kpx/fQ/ZFX31OtlqVEFfgaD1ACzul4NksrvIgYfIFq9JpDHFwQkMVZ10tbo0FU/grje4rcL4EIrjekl3kYwgWw=="
+ },
+ "node_modules/@react-spring/web": {
+ "version": "9.7.3",
+ "resolved": "https://registry.npmjs.org/@react-spring/web/-/web-9.7.3.tgz",
+ "integrity": "sha512-BXt6BpS9aJL/QdVqEIX9YoUy8CE6TJrU0mNCqSoxdXlIeNcEBWOfIyE6B14ENNsyQKS3wOWkiJfco0tCr/9tUg==",
+ "dependencies": {
+ "@react-spring/animated": "~9.7.3",
+ "@react-spring/core": "~9.7.3",
+ "@react-spring/shared": "~9.7.3",
+ "@react-spring/types": "~9.7.3"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
"node_modules/@remix-run/router": {
"version": "1.16.0",
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.16.0.tgz",
@@ -4224,6 +4651,60 @@
"@types/node": "*"
}
},
+ "node_modules/@types/d3-array": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz",
+ "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg=="
+ },
+ "node_modules/@types/d3-color": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz",
+ "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A=="
+ },
+ "node_modules/@types/d3-ease": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz",
+ "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA=="
+ },
+ "node_modules/@types/d3-interpolate": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz",
+ "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==",
+ "dependencies": {
+ "@types/d3-color": "*"
+ }
+ },
+ "node_modules/@types/d3-path": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.0.tgz",
+ "integrity": "sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ=="
+ },
+ "node_modules/@types/d3-scale": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz",
+ "integrity": "sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==",
+ "dependencies": {
+ "@types/d3-time": "*"
+ }
+ },
+ "node_modules/@types/d3-shape": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.6.tgz",
+ "integrity": "sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==",
+ "dependencies": {
+ "@types/d3-path": "*"
+ }
+ },
+ "node_modules/@types/d3-time": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.3.tgz",
+ "integrity": "sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw=="
+ },
+ "node_modules/@types/d3-timer": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz",
+ "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw=="
+ },
"node_modules/@types/eslint": {
"version": "8.56.2",
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz",
@@ -5263,6 +5744,14 @@
"ajv": "^6.9.1"
}
},
+ "node_modules/amdefine": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==",
+ "engines": {
+ "node": ">=0.4.2"
+ }
+ },
"node_modules/ansi-escapes": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
@@ -5517,6 +6006,14 @@
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
"integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
},
+ "node_modules/ast-types": {
+ "version": "0.9.6",
+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz",
+ "integrity": "sha512-qEdtR2UH78yyHX/AUNfXmJTlM48XoFZKBdwi1nzkI1mJL21cmbu0cvjxjpkXJ5NENMq42H+hNs8VLJcqXLerBQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
"node_modules/ast-types-flow": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz",
@@ -5896,6 +6393,14 @@
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
},
+ "node_modules/base62": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/base62/-/base62-1.2.8.tgz",
+ "integrity": "sha512-V6YHUbjLxN1ymqNLb1DPHoU1CpfdL7d2YTIp5W3U4hhoG4hhxNmsFDs66M9EXxBiSEke5Bt5dwdfMwwZF70iLA==",
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/batch": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
@@ -6306,6 +6811,14 @@
"wrap-ansi": "^7.0.0"
}
},
+ "node_modules/clsx": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
+ "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
@@ -6385,14 +6898,67 @@
"resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz",
"integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==",
"engines": {
- "node": ">=4.0.0"
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/commondir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg=="
+ },
+ "node_modules/commoner": {
+ "version": "0.10.8",
+ "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz",
+ "integrity": "sha512-3/qHkNMM6o/KGXHITA14y78PcfmXh4+AOCJpSoF73h4VY1JpdGv3CHMS5+JW6SwLhfJt4RhNmLAa7+RRX/62EQ==",
+ "dependencies": {
+ "commander": "^2.5.0",
+ "detective": "^4.3.1",
+ "glob": "^5.0.15",
+ "graceful-fs": "^4.1.2",
+ "iconv-lite": "^0.4.5",
+ "mkdirp": "^0.5.0",
+ "private": "^0.1.6",
+ "q": "^1.1.2",
+ "recast": "^0.11.17"
+ },
+ "bin": {
+ "commonize": "bin/commonize"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/commoner/node_modules/commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
+ },
+ "node_modules/commoner/node_modules/glob": {
+ "version": "5.0.15",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==",
+ "dependencies": {
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "2 || 3",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/commoner/node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/commondir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg=="
- },
"node_modules/compressible": {
"version": "2.0.18",
"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
@@ -6971,6 +7537,127 @@
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
},
+ "node_modules/d3-array": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz",
+ "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==",
+ "dependencies": {
+ "internmap": "1 - 2"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-color": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
+ "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-delaunay": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz",
+ "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==",
+ "dependencies": {
+ "delaunator": "5"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-ease": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz",
+ "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-format": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
+ "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-interpolate": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
+ "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
+ "dependencies": {
+ "d3-color": "1 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-path": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz",
+ "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-scale": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
+ "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
+ "dependencies": {
+ "d3-array": "2.10.0 - 3",
+ "d3-format": "1 - 3",
+ "d3-interpolate": "1.2.0 - 3",
+ "d3-time": "2.1.1 - 3",
+ "d3-time-format": "2 - 4"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-shape": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz",
+ "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==",
+ "dependencies": {
+ "d3-path": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-time": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
+ "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==",
+ "dependencies": {
+ "d3-array": "2 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-time-format": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
+ "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
+ "dependencies": {
+ "d3-time": "1 - 3"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/d3-timer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
+ "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/damerau-levenshtein": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
@@ -7010,6 +7697,11 @@
"resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz",
"integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA=="
},
+ "node_modules/decimal.js-light": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz",
+ "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg=="
+ },
"node_modules/dedent": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
@@ -7108,6 +7800,22 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/defined": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz",
+ "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/delaunator": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz",
+ "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==",
+ "dependencies": {
+ "robust-predicates": "^3.0.2"
+ }
+ },
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -7183,6 +7891,26 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
+ "node_modules/detective": {
+ "version": "4.7.1",
+ "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz",
+ "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==",
+ "dependencies": {
+ "acorn": "^5.2.1",
+ "defined": "^1.0.0"
+ }
+ },
+ "node_modules/detective/node_modules/acorn": {
+ "version": "5.7.4",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz",
+ "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
"node_modules/didyoumean": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
@@ -7435,6 +8163,18 @@
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
+ "node_modules/envify": {
+ "version": "3.4.1",
+ "resolved": "https://registry.npmjs.org/envify/-/envify-3.4.1.tgz",
+ "integrity": "sha512-XLiBFsLtNF0MOZl+vWU59yPb3C2JtrQY2CNJn22KH75zPlHWY5ChcAQuf4knJeWT/lLkrx3sqvhP/J349bt4Bw==",
+ "dependencies": {
+ "jstransform": "^11.0.3",
+ "through": "~2.3.4"
+ },
+ "bin": {
+ "envify": "bin/envify"
+ }
+ },
"node_modules/error-ex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -8264,6 +9004,18 @@
"node": ">=4"
}
},
+ "node_modules/esprima-fb": {
+ "version": "15001.1.0-dev-harmony-fb",
+ "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1.0-dev-harmony-fb.tgz",
+ "integrity": "sha512-59dDGQo2b3M/JfKIws0/z8dcXH2mnVHkfSPRhCYS91JNGfGNwr7GsSF6qzWZuOGvw5Ii0w9TtylrX07MGmlOoQ==",
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
"node_modules/esquery": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
@@ -8431,6 +9183,14 @@
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
+ "node_modules/fast-equals": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.0.1.tgz",
+ "integrity": "sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
"node_modules/fast-glob": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
@@ -8494,6 +9254,37 @@
"bser": "2.1.1"
}
},
+ "node_modules/fbjs": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.6.1.tgz",
+ "integrity": "sha512-4KW7tT33ytfazK3Ekvesbsa4A5J79hUrdXONQGZ0wM6i3PFc70YknF9kj1eyx3mDupgJ7Z+ifFhcMJ+ps2eZIw==",
+ "dependencies": {
+ "core-js": "^1.0.0",
+ "loose-envify": "^1.0.0",
+ "promise": "^7.0.3",
+ "ua-parser-js": "^0.7.9",
+ "whatwg-fetch": "^0.9.0"
+ }
+ },
+ "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/fbjs/node_modules/whatwg-fetch": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-0.9.0.tgz",
+ "integrity": "sha512-DIuh7/cloHxHYwS/oRXGgkALYAntijL63nsgMQsNSnBj825AysosAqA2ZbYXGRqpPRiNH7335dTqV364euRpZw=="
+ },
"node_modules/file-entry-cache": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
@@ -9691,6 +10482,22 @@
"node": ">= 0.4"
}
},
+ "node_modules/internmap": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
+ "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "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.1.0",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz",
@@ -12388,6 +13195,43 @@
"node": ">=0.10.0"
}
},
+ "node_modules/jstransform": {
+ "version": "11.0.3",
+ "resolved": "https://registry.npmjs.org/jstransform/-/jstransform-11.0.3.tgz",
+ "integrity": "sha512-LGm87w0A8E92RrcXt94PnNHkFqHmgDy3mKHvNZOG7QepKCTCH/VB6S+IEN+bT4uLN3gVpOT0vvOOVd96osG71g==",
+ "dependencies": {
+ "base62": "^1.1.0",
+ "commoner": "^0.10.1",
+ "esprima-fb": "^15001.1.0-dev-harmony-fb",
+ "object-assign": "^2.0.0",
+ "source-map": "^0.4.2"
+ },
+ "bin": {
+ "jstransform": "bin/jstransform"
+ },
+ "engines": {
+ "node": ">=0.8.8"
+ }
+ },
+ "node_modules/jstransform/node_modules/object-assign": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
+ "integrity": "sha512-CdsOUYIh5wIiozhJ3rLQgmUTgcyzFwZZrqhkKhODMoGtPKM+wt0h0CNIoauJWMsS9822EdzPsF/6mb4nLvPN5g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/jstransform/node_modules/source-map": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "integrity": "sha512-Y8nIfcb1s/7DcobUz1yOO1GSp7gyL+D9zLHDehT7iRESqGSxjJ448Sg7rvfgsRJCnKLdSl11uGf0s9X80cH0/A==",
+ "dependencies": {
+ "amdefine": ">=0.0.4"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
"node_modules/jsx-ast-utils": {
"version": "3.3.5",
"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz",
@@ -12402,6 +13246,11 @@
"node": ">=4.0"
}
},
+ "node_modules/keymaster": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/keymaster/-/keymaster-1.6.2.tgz",
+ "integrity": "sha512-OvA/AALN8IDKKkTk2Z+bDrzs/SQao4lo/QPbwSdDvm+frxfiYiYCSn1aHFUypJY3SruAO1y/c771agBmTXqUtg=="
+ },
"node_modules/keyv": {
"version": "4.5.4",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
@@ -14811,6 +15660,14 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
+ "node_modules/private": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
@@ -15172,6 +16029,19 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
},
+ "node_modules/react-popup": {
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/react-popup/-/react-popup-0.11.2.tgz",
+ "integrity": "sha512-1KzaBI20eqhg0CUYJvkeobvS0NfAz73xpxXNJs6s8XKk13ypYD7VjxS1LMtOIQohkqL5GhkZqC978YvH39qUNw==",
+ "dependencies": {
+ "keymaster": "^1.6.2"
+ },
+ "peerDependencies": {
+ "prop-types": "^15.6.0",
+ "react": "^17.0.2 || ^18.0.0",
+ "react-dom": "^17.0.2 || ^18.0.0"
+ }
+ },
"node_modules/react-refresh": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz",
@@ -15302,6 +16172,20 @@
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
+ "node_modules/react-smooth": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-4.0.1.tgz",
+ "integrity": "sha512-OE4hm7XqR0jNOq3Qmk9mFLyd6p2+j6bvbPJ7qlB7+oo0eNcL2l7WQzG6MBnT3EXY6xzkLMUBec3AfewJdA0J8w==",
+ "dependencies": {
+ "fast-equals": "^5.0.1",
+ "prop-types": "^15.8.1",
+ "react-transition-group": "^4.4.5"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
"node_modules/react-transition-group": {
"version": "4.4.5",
"resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz",
@@ -15349,6 +16233,111 @@
"node": ">=8.10.0"
}
},
+ "node_modules/recast": {
+ "version": "0.11.23",
+ "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz",
+ "integrity": "sha512-+nixG+3NugceyR8O1bLU45qs84JgI3+8EauyRZafLgC9XbdAOIVgwV1Pe2da0YzGo62KzWoZwUpVEQf6qNAXWA==",
+ "dependencies": {
+ "ast-types": "0.9.6",
+ "esprima": "~3.1.0",
+ "private": "~0.1.5",
+ "source-map": "~0.5.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/recast/node_modules/esprima": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
+ "integrity": "sha512-AWwVMNxwhN8+NIPQzAQZCm7RkLC4RbM3B1OobMuyp3i+w73X57KCKaVIxaRZb+DYCojq7rspo+fmuQfAboyhFg==",
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/recast/node_modules/source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rechart": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/rechart/-/rechart-0.0.1.tgz",
+ "integrity": "sha512-xZ5Bc8B+vFjazDCF6hUig1quwzIGAkjy4FNKkdUAkhnXpjAG6rBSa8un72mv8l56nDOoPkUILkKzS3qnReLHfw==",
+ "dependencies": {
+ "invariant": "^2.1.2",
+ "lodash": "^3.10.1",
+ "react": "^0.14.1",
+ "react-dom": "^0.14.1"
+ }
+ },
+ "node_modules/rechart/node_modules/lodash": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+ "integrity": "sha512-9mDDwqVIma6OZX79ZlDACZl8sBm0TEnkf99zV3iMA4GzkIT/9hiqP5mY0HoT1iNLCrKc/R1HByV+yJfRWVJryQ=="
+ },
+ "node_modules/rechart/node_modules/react": {
+ "version": "0.14.10",
+ "resolved": "https://registry.npmjs.org/react/-/react-0.14.10.tgz",
+ "integrity": "sha512-yxMw5aorZG4qsLVBfjae4wGFvd5708DhcxaXLJ3IOTgr1TCs8k9+ZheGgLGr5OfwWMhSahNbGvvoEDzrxVWouA==",
+ "dependencies": {
+ "envify": "^3.0.0",
+ "fbjs": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rechart/node_modules/react-dom": {
+ "version": "0.14.10",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-0.14.10.tgz",
+ "integrity": "sha512-kDs8SWFb8Sry4NAplhpJbZEeAnTPir/m+s9s+lkdqA2a89BzmWGnEgGG/CfmhULjv1ogc4oHrjMfAvFNruT3jQ==",
+ "peerDependencies": {
+ "react": "^0.14.10"
+ }
+ },
+ "node_modules/recharts": {
+ "version": "2.12.7",
+ "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.12.7.tgz",
+ "integrity": "sha512-hlLJMhPQfv4/3NBSAyq3gzGg4h2v69RJh6KU7b3pXYNNAELs9kEoXOjbkxdXpALqKBoVmVptGfLpxdaVYqjmXQ==",
+ "dependencies": {
+ "clsx": "^2.0.0",
+ "eventemitter3": "^4.0.1",
+ "lodash": "^4.17.21",
+ "react-is": "^16.10.2",
+ "react-smooth": "^4.0.0",
+ "recharts-scale": "^0.4.4",
+ "tiny-invariant": "^1.3.1",
+ "victory-vendor": "^36.6.8"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "react": "^16.0.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/recharts-scale": {
+ "version": "0.4.5",
+ "resolved": "https://registry.npmjs.org/recharts-scale/-/recharts-scale-0.4.5.tgz",
+ "integrity": "sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==",
+ "dependencies": {
+ "decimal.js-light": "^2.4.1"
+ }
+ },
+ "node_modules/recharts/node_modules/react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ },
"node_modules/recursive-readdir": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz",
@@ -15653,6 +16642,11 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/robust-predicates": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",
+ "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg=="
+ },
"node_modules/rollup": {
"version": "2.79.1",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz",
@@ -17072,11 +18066,21 @@
"resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz",
"integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ=="
},
+ "node_modules/through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
+ },
"node_modules/thunky": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
"integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA=="
},
+ "node_modules/tiny-invariant": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz",
+ "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg=="
+ },
"node_modules/tmpl": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
@@ -17330,6 +18334,28 @@
"node": ">=4.2.0"
}
},
+ "node_modules/ua-parser-js": {
+ "version": "0.7.37",
+ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.37.tgz",
+ "integrity": "sha512-xV8kqRKM+jhMvcHWUKthV9fNebIzrNy//2O9ZwWcfiBFR5f25XVZPLlEajk/sf3Ra15V92isyQqnIEXRDaZWEA==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/ua-parser-js"
+ },
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/faisalman"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/faisalman"
+ }
+ ],
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/unbox-primitive": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
@@ -17556,6 +18582,27 @@
"node": ">= 0.8"
}
},
+ "node_modules/victory-vendor": {
+ "version": "36.9.2",
+ "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.9.2.tgz",
+ "integrity": "sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==",
+ "dependencies": {
+ "@types/d3-array": "^3.0.3",
+ "@types/d3-ease": "^3.0.0",
+ "@types/d3-interpolate": "^3.0.1",
+ "@types/d3-scale": "^4.0.2",
+ "@types/d3-shape": "^3.1.0",
+ "@types/d3-time": "^3.0.0",
+ "@types/d3-timer": "^3.0.0",
+ "d3-array": "^3.1.6",
+ "d3-ease": "^3.0.1",
+ "d3-interpolate": "^3.0.1",
+ "d3-scale": "^4.0.2",
+ "d3-shape": "^3.1.0",
+ "d3-time": "^3.0.0",
+ "d3-timer": "^3.0.1"
+ }
+ },
"node_modules/w3c-hr-time": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
diff --git a/shopsense_seller/package.json b/shopsense_seller/package.json
index e15833b..18e4372 100644
--- a/shopsense_seller/package.json
+++ b/shopsense_seller/package.json
@@ -3,15 +3,24 @@
"version": "0.1.0",
"private": true,
"dependencies": {
+ "@emotion/react": "^11.11.4",
+ "@emotion/styled": "^11.11.5",
+ "@mui/icons-material": "^5.15.17",
+ "@mui/material": "^5.15.17",
+ "@mui/x-charts": "^7.4.0",
+ "@ramonak/react-progress-bar": "^5.2.0",
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-flags-select": "^2.2.3",
+ "react-popup": "^0.11.2",
"react-router-dom": "^6.23.0",
"react-scripts": "5.0.1",
"react-select": "^5.8.0",
+ "rechart": "^0.0.1",
+ "recharts": "^2.12.7",
"web-vitals": "^2.1.4"
},
"scripts": {
diff --git a/shopsense_seller/public/Invoice.pdf b/shopsense_seller/public/Invoice.pdf
new file mode 100644
index 0000000..3307748
Binary files /dev/null and b/shopsense_seller/public/Invoice.pdf differ
diff --git a/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/Edit/AdminEdit.css b/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/Edit/AdminEdit.css
new file mode 100644
index 0000000..e83c35c
--- /dev/null
+++ b/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/Edit/AdminEdit.css
@@ -0,0 +1,92 @@
+.dashboard-container {
+ display: flex;
+ position: relative;
+ width: 100%;
+ top: 85px;
+ /* height: calc(100vh - 85px); */
+ .left-flex {
+ position: relative;
+ display: flex;
+ width: 250px;
+ justify-content: center;
+ align-items: center;
+ height: calc(100vh - 85px);
+ position: fixed;
+ }
+ .right-flex {
+ display: flex;
+ flex-direction: column;
+ height: auto;
+ width: calc(100vw - 250px);
+ margin-left: 250px;
+ .right-top-flex {
+ display: flex;
+ height: auto;
+
+ margin-left: 20px;
+ margin-right: 20px;
+ flex-direction: column;
+ .rt-txt {
+ display: flex;
+ flex-direction: column;
+ .rt-txt1 {
+ font-size: 1.5rem;
+ font-weight: bold;
+ margin-top: 0px;
+ }
+ .rt-txt2 {
+ font-size: 1.5rem;
+ color: #575757;
+ }
+ }
+ .rt-card-container {
+ display: flex;
+
+ gap: 20px;
+ margin-top: 20px;
+ }
+ }
+ .right-bottom-flex {
+ display: flex;
+ flex-direction: column;
+ .tp-txt {
+ font-size: 1.5rem;
+ font-weight: bold;
+ margin: 20px 0px 0px 20px;
+ }
+ .top-products {
+ margin: 20px;
+ }
+ }
+ }
+}
+
+.TopMenuAdmin {
+ position: fixed;
+ top: 0;
+ width: 100%;
+ z-index: 999;
+ margin-bottom: 10px;
+}
+
+.OrderButtonHolder {
+ margin-top: 40px;
+}
+
+.OrderButtonHolder button {
+ background-color: #575757;
+ margin-right: 10px;
+ width: 140px;
+ height: 32px;
+ background: #dbdbdb;
+ border-radius: 8px;
+ cursor: pointer;
+ border: none;
+}
+
+.rt-txt1 {
+ font-size: 1.5rem;
+ font-weight: bold;
+ margin-top: 30px;
+ margin-top: 0px;
+}
diff --git a/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/Edit/AdminEdit.jsx b/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/Edit/AdminEdit.jsx
new file mode 100644
index 0000000..e8595fa
--- /dev/null
+++ b/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/Edit/AdminEdit.jsx
@@ -0,0 +1,38 @@
+import React from "react";
+import SideNav from "../../../adminComponents/sideNavbar/SideNav";
+import "./AdminEdit.css";
+import FormNavBar from "../../../../Components/FormNavBar/FormNavBar";
+import Card from "../../../adminComponents/card/Card";
+import TableComponent from "../../../adminComponents/tableComponent/TableComponent";
+import BarChartOutlinedIcon from "@mui/icons-material/BarChartOutlined";
+import DescriptionOutlinedIcon from "@mui/icons-material/DescriptionOutlined";
+import SellOutlinedIcon from "@mui/icons-material/SellOutlined";
+import PersonAddOutlinedIcon from "@mui/icons-material/PersonAddOutlined";
+import { Bt } from "react-flags-select";
+import TableComponentOrder from "../../../adminComponents/tableComponentOrder/tableComponentOrder";
+import PopupScreen from "../../../../Components/Popup/Popup";
+import TableComponentProduct from "../../../adminComponents/tableComponentProduct/tableComponentProduct";
+import EditProduct from "../../../../Pages/EditProduct/EditProduct";
+import SignUpNavBar from "../../../../Components/SignUpNavBar/SignUpNavBar";
+const AdminEdit = () => {
+ return (
+
+ );
+};
+
+export default AdminEdit;
diff --git a/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/Orders/AdminOrders.css b/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/Orders/AdminOrders.css
new file mode 100644
index 0000000..568cbd0
--- /dev/null
+++ b/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/Orders/AdminOrders.css
@@ -0,0 +1,85 @@
+.dashboard-container {
+ display: flex;
+ position: relative;
+ width: 100%;
+ top: 85px;
+ /* height: calc(100vh - 85px); */
+ .left-flex {
+ position: relative;
+ display: flex;
+ width: 250px;
+ justify-content: center;
+ align-items: center;
+ height: calc(100vh - 85px);
+ position: fixed;
+ }
+ .right-flex {
+ display: flex;
+ flex-direction: column;
+ height: auto;
+ width: calc(100vw - 250px);
+ margin-left: 250px;
+ .right-top-flex {
+ display: flex;
+ height: auto;
+
+ margin-left: 20px;
+ margin-right: 20px;
+ flex-direction: column;
+ .rt-txt {
+ display: flex;
+ flex-direction: column;
+ .rt-txt1 {
+ font-size: 1.5rem;
+ font-weight: bold;
+ margin-top: 0px;
+ }
+ .rt-txt2 {
+ font-size: 1.5rem;
+ color: #575757;
+ }
+ }
+ .rt-card-container {
+ display: flex;
+
+ gap: 20px;
+ margin-top: 20px;
+ }
+ }
+ .right-bottom-flex {
+ display: flex;
+ flex-direction: column;
+ .tp-txt {
+ font-size: 1.5rem;
+ font-weight: bold;
+ margin: 20px 0px 0px 20px;
+ }
+ .top-products {
+ margin: 20px;
+ }
+ }
+ }
+}
+
+.TopMenuAdmin {
+ position: fixed;
+ top: 0;
+ width: 100%;
+ z-index: 999;
+ margin-bottom: 10px;
+}
+
+.OrderButtonHolder {
+ margin-top: 40px;
+}
+
+.OrderButtonHolder button {
+ background-color: #575757;
+ margin-right: 10px;
+ width: 140px;
+ height: 32px;
+ background: #dbdbdb;
+ border-radius: 8px;
+ cursor: pointer;
+ border: none;
+}
diff --git a/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/Orders/AdminOrders.jsx b/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/Orders/AdminOrders.jsx
new file mode 100644
index 0000000..e176228
--- /dev/null
+++ b/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/Orders/AdminOrders.jsx
@@ -0,0 +1,49 @@
+import React from "react";
+import SideNav from "../../../adminComponents/sideNavbar/SideNav";
+import "./AdminOrders.css";
+import FormNavBar from "../../../../Components/FormNavBar/FormNavBar";
+import Card from "../../../adminComponents/card/Card";
+import TableComponent from "../../../adminComponents/tableComponent/TableComponent";
+import BarChartOutlinedIcon from "@mui/icons-material/BarChartOutlined";
+import DescriptionOutlinedIcon from "@mui/icons-material/DescriptionOutlined";
+import SellOutlinedIcon from "@mui/icons-material/SellOutlined";
+import PersonAddOutlinedIcon from "@mui/icons-material/PersonAddOutlined";
+import { Bt } from "react-flags-select";
+import TableComponentOrder from "../../../adminComponents/tableComponentOrder/tableComponentOrder";
+import PopupScreen from "../../../../Components/Popup/Popup";
+import SignUpNavBar from "../../../../Components/SignUpNavBar/SignUpNavBar";
+
+const AdminOrder = () => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
+
+export default AdminOrder;
diff --git a/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/Products/AdminProduct.css b/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/Products/AdminProduct.css
new file mode 100644
index 0000000..4728542
--- /dev/null
+++ b/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/Products/AdminProduct.css
@@ -0,0 +1,92 @@
+.dashboard-container {
+ display: flex;
+ position: relative;
+ width: 100%;
+ top: 85px;
+ /* height: calc(100vh - 85px); */
+ .left-flex {
+ position: relative;
+ display: flex;
+ width: 250px;
+ justify-content: center;
+ align-items: center;
+ height: calc(100vh - 85px);
+ position: fixed;
+ }
+ .right-flex {
+ display: flex;
+ flex-direction: column;
+ height: auto;
+ width: calc(100vw - 250px);
+ margin-left: 250px;
+ .right-top-flex {
+ display: flex;
+ height: auto;
+
+ margin-left: 20px;
+ margin-right: 20px;
+ flex-direction: column;
+ .rt-txt {
+ display: flex;
+ flex-direction: column;
+ .rt-txt1 {
+ font-size: 1.5rem;
+ font-weight: bold;
+ margin-top: 30px;
+ margin-top: 0px;
+ }
+ .rt-txt2 {
+ font-size: 1.5rem;
+ color: #575757;
+ }
+ }
+ .rt-card-container {
+ display: flex;
+
+ gap: 20px;
+ margin-top: 20px;
+ }
+ }
+ .right-bottom-flex {
+ display: flex;
+ flex-direction: column;
+ .tp-txt {
+ font-size: 1.5rem;
+ font-weight: bold;
+ margin: 20px 0px 0px 20px;
+ }
+ .top-products {
+ margin: 20px;
+ }
+ }
+ }
+}
+
+.TopMenuAdmin {
+ position: fixed;
+ top: 0;
+ width: 100%;
+ z-index: 999;
+ margin-bottom: 10px;
+}
+
+.OrderButtonHolder {
+ margin-top: 40px;
+}
+
+.OrderButtonHolder button {
+ background-color: #575757;
+ margin-right: 10px;
+ width: 140px;
+ height: 32px;
+ background: #dbdbdb;
+ border-radius: 8px;
+ cursor: pointer;
+ border: none;
+}
+
+.rt-txt1 {
+ font-size: 1.5rem;
+ font-weight: bold;
+ margin-top: 0px;
+}
diff --git a/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/Products/AdminProduct.jsx b/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/Products/AdminProduct.jsx
new file mode 100644
index 0000000..8f8182b
--- /dev/null
+++ b/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/Products/AdminProduct.jsx
@@ -0,0 +1,55 @@
+import React from "react";
+import SideNav from "../../../adminComponents/sideNavbar/SideNav";
+import "./AdminProduct.css";
+import FormNavBar from "../../../../Components/FormNavBar/FormNavBar";
+import Card from "../../../adminComponents/card/Card";
+import TableComponent from "../../../adminComponents/tableComponent/TableComponent";
+import BarChartOutlinedIcon from "@mui/icons-material/BarChartOutlined";
+import DescriptionOutlinedIcon from "@mui/icons-material/DescriptionOutlined";
+import SellOutlinedIcon from "@mui/icons-material/SellOutlined";
+import PersonAddOutlinedIcon from "@mui/icons-material/PersonAddOutlined";
+import { Bt } from "react-flags-select";
+import TableComponentOrder from "../../../adminComponents/tableComponentOrder/tableComponentOrder";
+import PopupScreen from "../../../../Components/Popup/Popup";
+import TableComponentProduct from "../../../adminComponents/tableComponentProduct/tableComponentProduct";
+import SignUpNavBar from "../../../../Components/SignUpNavBar/SignUpNavBar";
+import { Link } from "react-router-dom";
+
+const AdminProduct = () => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Product Details
+ {" "}
+
+
+
+
+
+
+
+
+
+
+ );
+};
+
+export default AdminProduct;
diff --git a/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/adminDashboard.css b/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/adminDashboard.css
deleted file mode 100644
index fd98552..0000000
--- a/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/adminDashboard.css
+++ /dev/null
@@ -1,62 +0,0 @@
-.dashboard-container{
- display: flex;
- position: relative;
- width: 100%;
- top: 85px;
- /* height: calc(100vh - 85px); */
- .left-flex{
- position: relative;
- display: flex;
- width: 250px;
- justify-content: center;
- align-items: center;
- height: calc(100vh - 85px);
- position: fixed;
- }
- .right-flex{
- display: flex;
- flex-direction: column;
- height: auto;
- width: calc(100vw - 250px);
- margin-left: 250px;
- .right-top-flex{
- display: flex;
- height: auto;
- margin-top: 60px;
- margin-left: 20px;
- margin-right: 20px;
- flex-direction: column;
- .rt-txt{
- display: flex;
- flex-direction: column;
- .rt-txt1{
- font-size: 1.5rem;
- font-weight: bold;
- }
- .rt-txt2{
- font-size: 1.5rem;
- color: #575757;
- }
- }
- .rt-card-container{
- display: flex;
- height: 250px;
- gap:20px;
- margin-top: 20px;
- }
- }
- .right-bottom-flex{
- display: flex;
- flex-direction: column;
- .tp-txt{
- font-size: 1.5rem;
- font-weight: bold;
- margin: 20px 0px 0px 20px;
- }
- .top-products{
- margin: 20px;
- }
-
- }
- }
-}
diff --git a/shopsense_seller/src/AdminSide/AdminPages/AdminStat/AdminStat.jsx b/shopsense_seller/src/AdminSide/AdminPages/AdminStat/AdminStat.jsx
new file mode 100644
index 0000000..a434a5e
--- /dev/null
+++ b/shopsense_seller/src/AdminSide/AdminPages/AdminStat/AdminStat.jsx
@@ -0,0 +1,74 @@
+import React from "react";
+import AdminNav from "../../adminComponents/adminNavbar/AdminNav";
+import SideNav from "../../adminComponents/sideNavbar/SideNav";
+import "./adminStat.css";
+import {
+ LineChart,
+ Line,
+ XAxis,
+ YAxis,
+ CartesianGrid,
+ Tooltip,
+ Legend,
+ ResponsiveContainer,
+} from "recharts";
+
+const data = [
+ { month: "Jan", Sales: "10" },
+ { month: "Feb", Sales: "15" },
+ { month: "Mar", Sales: "08" },
+ { month: "Apr", Sales: "03" },
+ { month: "May", Sales: "11" },
+ { month: "Jun", Sales: "21" },
+ { month: "Jul", Sales: "05" },
+ { month: "Aug", Sales: "14" },
+ { month: "Sep", Sales: "09" },
+ { month: "Oct", Sales: "19" },
+ { month: "Nov", Sales: "21" },
+ { month: "Dec", Sales: "15" },
+ ];
+
+ const AdminStat = () => {
+ return (
+
+
+
+
+
+
+
+
Sales Stat
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+ };
+
+ export default AdminStat;
\ No newline at end of file
diff --git a/shopsense_seller/src/AdminSide/AdminPages/AdminStat/adminStat.css b/shopsense_seller/src/AdminSide/AdminPages/AdminStat/adminStat.css
new file mode 100644
index 0000000..1b18e34
--- /dev/null
+++ b/shopsense_seller/src/AdminSide/AdminPages/AdminStat/adminStat.css
@@ -0,0 +1,24 @@
+.st-right-flex {
+ display: flex;
+ flex-direction: column;
+ height: auto;
+ width: calc(100vw - 250px);
+ margin-left: 250px;
+ padding-left: 20px;
+ padding-top: 50px;
+ .rf-txt {
+ font-size: 1.5rem;
+ font-weight: bold;
+ }
+
+ .rf-chart {
+ background-color: rgb(255, 255, 255);
+ display: flex;
+ padding: 40px 30px 0px 0px;
+ margin: 10px 20px;
+ border-radius: 20px;
+ box-shadow: 0px 0px 16px -5px rgba(0, 0, 0, 0.13);
+ -webkit-box-shadow: 0px 0px 16px -5px rgba(0, 0, 0, 0.13);
+ -moz-box-shadow: 0px 0px 16px -5px rgba(0, 0, 0, 0.13);
+ }
+}
diff --git a/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/AdminDashboard.jsx b/shopsense_seller/src/AdminSide/AdminPages/Dashboard/AdminDashboard.jsx
similarity index 65%
rename from shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/AdminDashboard.jsx
rename to shopsense_seller/src/AdminSide/AdminPages/Dashboard/AdminDashboard.jsx
index 7315b3b..47c9440 100644
--- a/shopsense_seller/src/AdminSide/AdminPages/AdminDashboard/AdminDashboard.jsx
+++ b/shopsense_seller/src/AdminSide/AdminPages/Dashboard/AdminDashboard.jsx
@@ -1,7 +1,7 @@
import React from "react";
import SideNav from "../../adminComponents/sideNavbar/SideNav";
import "./adminDashboard.css";
-import FormNavBar from "../../../Components/FormNavBar/FormNavBar";
+import AdminNav from "../../adminComponents/adminNavbar/AdminNav";
import Card from "../../adminComponents/card/Card";
import TableComponent from "../../adminComponents/tableComponent/TableComponent";
import BarChartOutlinedIcon from "@mui/icons-material/BarChartOutlined";
@@ -9,10 +9,61 @@ import DescriptionOutlinedIcon from "@mui/icons-material/DescriptionOutlined";
import SellOutlinedIcon from "@mui/icons-material/SellOutlined";
import PersonAddOutlinedIcon from "@mui/icons-material/PersonAddOutlined";
+import LinearProgress, {
+ linearProgressClasses,
+} from "@mui/material/LinearProgress";
+
+import { styled } from "@mui/material/styles";
+
+const BorderLinearProgress = styled(LinearProgress)(({ theme }) => ({
+ height: 10,
+ borderRadius: 5,
+ marginRight: 50,
+ [`&.${linearProgressClasses.colorPrimary}`]: {
+ backgroundColor:
+ theme.palette.grey[theme.palette.mode === "light" ? 200 : 800],
+ },
+ [`& .${linearProgressClasses.bar}`]: {
+ borderRadius: 5,
+ backgroundColor: theme.palette.mode === "light" ? "#1a90ff" : "#308fe8",
+ },
+}));
+
+function createData(No, Name, Popularity, Sales) {
+ return { No, Name, Popularity, Sales };
+}
+
+const rows = [
+ createData(
+ 1,
+ "Midnight Blue Velvet Dress",
+ ,
+ "10%"
+ ),
+ createData(
+ 2,
+ "Classic White Button-Up Shirt",
+ ,
+ "60%"
+ ),
+ createData(
+ 3,
+ "Black Leather Biker Jacket",
+ ,
+ "30%"
+ ),
+ createData(
+ 4,
+ "Red Plaid Flannel Shirt",
+ ,
+ "80%"
+ ),
+];
+
const AdminDashboard = () => {
return (
-
+
@@ -72,7 +123,7 @@ const AdminDashboard = () => {
diff --git a/shopsense_seller/src/AdminSide/AdminPages/Dashboard/adminDashboard.css b/shopsense_seller/src/AdminSide/AdminPages/Dashboard/adminDashboard.css
new file mode 100644
index 0000000..7495799
--- /dev/null
+++ b/shopsense_seller/src/AdminSide/AdminPages/Dashboard/adminDashboard.css
@@ -0,0 +1,66 @@
+.dashboard-container {
+ display: flex;
+ position: relative;
+ width: 100%;
+ top: 85px;
+ /* height: calc(100vh - 85px); */
+ .left-flex {
+ position: relative;
+ display: flex;
+ width: 250px;
+ justify-content: center;
+ align-items: center;
+ height: calc(100vh - 85px);
+ position: fixed;
+ }
+ .right-flex {
+ display: flex;
+ flex-direction: column;
+ height: auto;
+ width: calc(100vw - 250px);
+ margin-left: 250px;
+ .right-top-flex {
+ display: flex;
+ height: auto;
+ margin-top: 60px;
+ margin-left: 20px;
+ margin-right: 20px;
+ flex-direction: column;
+ .rt-txt {
+ display: flex;
+ flex-direction: column;
+ .rt-txt1 {
+ font-size: 1.5rem;
+ font-weight: bold;
+ margin-top: 0px;
+ }
+ .rt-txt2 {
+ font-size: 1.5rem;
+ color: #575757;
+ }
+ }
+ .rt-card-container {
+ display: flex;
+ height: 250px;
+ gap: 20px;
+ margin-top: 20px;
+ }
+ }
+ .right-bottom-flex {
+ display: flex;
+ flex-direction: column;
+ .tp-txt {
+ font-size: 1.5rem;
+ font-weight: bold;
+ margin: 0px 0px 0px 20px;
+ }
+ .top-products {
+ margin: 20px;
+ box-shadow: 0px 0px 16px -5px rgba(0, 0, 0, 0.13);
+ -webkit-box-shadow: 0px 0px 16px -5px rgba(0, 0, 0, 0.13);
+ -moz-box-shadow: 0px 0px 16px -5px rgba(0, 0, 0, 0.13);
+ border-radius: 20px;
+ }
+ }
+ }
+}
diff --git a/shopsense_seller/src/AdminSide/AdminPages/payouts/Payout.jsx b/shopsense_seller/src/AdminSide/AdminPages/payouts/Payout.jsx
new file mode 100644
index 0000000..9d1ebc2
--- /dev/null
+++ b/shopsense_seller/src/AdminSide/AdminPages/payouts/Payout.jsx
@@ -0,0 +1,59 @@
+import React from "react";
+import "./payout.css";
+import SideNav from "../../adminComponents/sideNavbar/SideNav";
+import AdminNav from "../../adminComponents/adminNavbar/AdminNav";
+import { Link } from "react-router-dom";
+import TableComponent2 from "../../adminComponents/tableComponent/tableComponent2";
+
+function createData(No, Payout_Date, Status, Reference_Number) {
+ return { No, Payout_Date, Status, Reference_Number };
+}
+
+const rows = [
+ createData(1, "january 2, 2024", "Processing", "1243135421"),
+ createData(2, "December 15, 2023", "Paid", "5435435113"),
+ createData(3, "November 29, 2023", "Paid", "6431222321"),
+];
+
+const Payout = () => {
+ return (
+
+
+
+
+
+
+
+
+
Payout
+
+
+ Total Payement
+ LKR 2000
+
+
+
+ Available Payement
+ LKR 1200
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
+
+export default Payout;
diff --git a/shopsense_seller/src/AdminSide/AdminPages/payouts/payout.css b/shopsense_seller/src/AdminSide/AdminPages/payouts/payout.css
new file mode 100644
index 0000000..ccf83b7
--- /dev/null
+++ b/shopsense_seller/src/AdminSide/AdminPages/payouts/payout.css
@@ -0,0 +1,118 @@
+.payout-container{
+ display: flex;
+ position: relative;
+ width: 100%;
+ top: 85px;
+ .payout-left-flex{
+ position: relative;
+ display: flex;
+ width: 250px;
+ justify-content: center;
+ align-items: center;
+ height: calc(100vh - 85px);
+ position: fixed;
+ }
+ .payout-right-flex{
+ display: flex;
+ flex-direction: column;
+ height: auto;
+ width: calc(100vw - 250px);
+ margin-left: 250px;
+ .payout-top{
+ display: flex;
+ height: auto;
+ margin-top: 60px;
+ margin-left: 20px;
+ margin-right: 20px;
+ flex-direction: column;
+ .payout-txt{
+ font-size: 1.5rem;
+ font-weight: bold;
+ }
+ .payout-summary{
+ display: flex;
+ height: 200px;
+ gap:30px;
+ margin-top: 20px;
+ .payout-sum-left{
+ flex:1;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ border-radius: 20px;
+ box-shadow: 0px 0px 16px -5px rgba(0,0,0,0.13);
+ -webkit-box-shadow: 0px 0px 16px -5px rgba(0,0,0,0.13);
+ -moz-box-shadow: 0px 0px 16px -5px rgba(0,0,0,0.13);
+
+ }
+ .payout-sum-right{
+ padding-right: 30px;
+ flex:2;
+ display: flex;
+ border-radius: 20px;
+ justify-content: space-between;
+ align-items: center;
+ box-shadow: 0px 0px 16px -5px rgba(0,0,0,0.13);
+ -webkit-box-shadow: 0px 0px 16px -5px rgba(0,0,0,0.13);
+ -moz-box-shadow: 0px 0px 16px -5px rgba(0,0,0,0.13);
+ .payment-txt{
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ }
+ Button {
+ width: 160px;
+ height: 50px;
+ background: #000000;
+ border-radius: 8px;
+ border: none;
+ color: #ffffff;
+ font-size: 20px;
+ font-weight: 500;
+ margin-right: 10px;
+ transition: background-color 0.1s ease;
+ cursor: pointer;
+ &:hover{
+ background-color: rgb(176, 176, 176);
+ color: black;
+ }
+ }
+ }
+ .payment-txt1{
+ padding-left: 30px;
+ font-size: 1rem;
+ color: #575757;
+ font-weight:500;
+ line-height: 2;
+ }
+ .payment-txt2{
+ padding-left: 30px;
+ font-size: 2rem;
+ color: black;
+ font-weight:500;
+ }
+ }
+ }
+ .payout-bottom{
+ display: flex;
+ height: auto;
+ margin-top: 30px;
+ margin-left: 20px;
+ margin-right: 20px;
+ flex-direction: column;
+ .payout-history{
+ font-size: 1.5rem;
+ font-weight: bold;
+
+ }
+ .payout-table{
+ border-radius: 20px;
+ margin-top: 20px;
+ box-shadow: 0px 0px 16px -5px rgba(0,0,0,0.13);
+ -webkit-box-shadow: 0px 0px 16px -5px rgba(0,0,0,0.13);
+ -moz-box-shadow: 0px 0px 16px -5px rgba(0,0,0,0.13);
+
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/shopsense_seller/src/AdminSide/adminComponents/tableComponent/tableComponent.css b/shopsense_seller/src/AdminSide/adminComponents/Place Order/PlaceOrder.css
similarity index 100%
rename from shopsense_seller/src/AdminSide/adminComponents/tableComponent/tableComponent.css
rename to shopsense_seller/src/AdminSide/adminComponents/Place Order/PlaceOrder.css
diff --git a/shopsense_seller/src/AdminSide/adminComponents/Place Order/PlaceOrder.jsx b/shopsense_seller/src/AdminSide/adminComponents/Place Order/PlaceOrder.jsx
new file mode 100644
index 0000000..0209b7b
--- /dev/null
+++ b/shopsense_seller/src/AdminSide/adminComponents/Place Order/PlaceOrder.jsx
@@ -0,0 +1,104 @@
+import React from "react";
+import "./PlaceOrder.css";
+import Table from "@mui/material/Table";
+import TableBody from "@mui/material/TableBody";
+import TableCell from "@mui/material/TableCell";
+import TableContainer from "@mui/material/TableContainer";
+import TableHead from "@mui/material/TableHead";
+import TableRow from "@mui/material/TableRow";
+import Popup from "../../../Components/Popup/Popup";
+import LinearProgress, {
+ linearProgressClasses,
+} from "@mui/material/LinearProgress";
+
+import { styled } from "@mui/material/styles";
+
+const BorderLinearProgress = styled(LinearProgress)(({ theme }) => ({
+ height: 10,
+ borderRadius: 5,
+ marginRight: 50,
+ [`&.${linearProgressClasses.colorPrimary}`]: {
+ backgroundColor:
+ theme.palette.grey[theme.palette.mode === "light" ? 200 : 800],
+ },
+ [`& .${linearProgressClasses.bar}`]: {
+ borderRadius: 5,
+ backgroundColor: theme.palette.mode === "light" ? "#1a90ff" : "#308fe8",
+ },
+}));
+
+function createData(
+ No,
+ Name,
+ Popularity,
+ Sales,
+ Retail,
+ Status,
+ Printed,
+ Action
+) {
+ return { No, Name, Popularity, Sales, Retail, Status, Printed, Action };
+}
+
+const rows = [
+ createData(
+ 234856015,
+
+ "2 Hours",
+ "Card",
+ "690.00",
+
+ "✔️"
+ ),
+];
+
+const PlaceOrder = () => {
+ return (
+
+
+
+
+
+ Order No
+
+
+ Pending
+
+
+ Payment Method
+
+
+ Retail Price
+
+
+
+ Printed
+
+
+
+
+ {rows.map((row) => (
+
+
+ {row.No}
+
+ {row.Name}
+ {row.Popularity}
+ {row.Sales}
+ {row.Retail}
+ {row.Status}
+ {row.Printed}
+ {row.Action}
+
+ ))}
+
+
+
+
+ );
+};
+
+export default PlaceOrder;
diff --git a/shopsense_seller/src/AdminSide/adminComponents/adminNavbar/AdminNav.jsx b/shopsense_seller/src/AdminSide/adminComponents/adminNavbar/AdminNav.jsx
new file mode 100644
index 0000000..dd3421f
--- /dev/null
+++ b/shopsense_seller/src/AdminSide/adminComponents/adminNavbar/AdminNav.jsx
@@ -0,0 +1,20 @@
+import "./adminNav.css";
+import logo from "../../../Components/Assets/logo.png";
+import Bell from "../../../Components/Notification/bell";
+import Profile from "../../../Components/Assets/Profile.jpg";
+
+function AdminNav() {
+ return (
+
+ );
+}
+
+export default AdminNav;
\ No newline at end of file
diff --git a/shopsense_seller/src/AdminSide/adminComponents/adminNavbar/adminNav.css b/shopsense_seller/src/AdminSide/adminComponents/adminNavbar/adminNav.css
new file mode 100644
index 0000000..00960be
--- /dev/null
+++ b/shopsense_seller/src/AdminSide/adminComponents/adminNavbar/adminNav.css
@@ -0,0 +1,44 @@
+.FormNavBar {
+ background-color: #ffbfd0;
+ margin: 0%;
+ max-width: 100%;
+ display: flex;
+ justify-content: space-between;
+ padding: 20px;
+ position: fixed;
+ z-index: 2;
+ }
+
+ .Join_button2 {
+ color: white;
+ font-weight: bold;
+ width: 120px;
+ height: 45px;
+ background: #000000;
+ border-radius: 6px;
+ border: none;
+ font-size: 15px;
+ cursor: pointer;
+ transition: background-color 0.8s ease;
+ margin-right: 60px;
+ }
+
+ .Join_button2:hover {
+ background-color: #fe7a9d;
+ color: #000000;
+ }
+
+ .ProfileImg {
+ width: 40px;
+ height: 40px;
+ margin-left: 10px;
+ border-radius: 5px;
+ cursor: pointer;
+ }
+
+ .profilebar {
+ justify-content: center;
+ display: flex;
+ align-items: center;
+ margin-right: 48px;
+ }
\ No newline at end of file
diff --git a/shopsense_seller/src/AdminSide/adminComponents/card/card.css b/shopsense_seller/src/AdminSide/adminComponents/card/card.css
index d4ab9f8..686290e 100644
--- a/shopsense_seller/src/AdminSide/adminComponents/card/card.css
+++ b/shopsense_seller/src/AdminSide/adminComponents/card/card.css
@@ -1,150 +1,160 @@
-.card1{
- flex:1;
- height: auto;
- background-color: #CDC0FF;
- border-radius: 30px;
- padding: 20px;
+.card1 {
+ flex: 1;
+ height: 200px;
+ background-color: #cdc0ff;
+ border-radius: 20px;
+ padding: 20px;
+ padding-top: 0;
+ padding-bottom: 0;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: start;
+
+ .card-icon {
+ background-color: #12044d;
+ width: 50px;
+ height: 50px;
+ border-radius: 50%;
display: flex;
- flex-direction: column;
justify-content: center;
+ align-items: center;
+ }
+ .card-txt {
+ display: flex;
+ flex-direction: column;
align-items: start;
- .card-icon{
- background-color: #12044D;
- width: 50px;
- height: 50px;
- border-radius: 50%;
- display: flex;
- justify-content: center;
- align-items: center;
+ margin-top: 10px;
+ .card-txt-1 {
+ font-size: 1.5rem;
+ font-weight: bold;
+ line-height: 2;
}
- .card-txt{
- display: flex;
- flex-direction: column;
- align-items: start;
- margin-top: 10px;
- .card-txt-1{
- font-size: 1.5rem;
- font-weight: bold;
- line-height: 2;
- }
- .card-txt-2{
- font-size: 1rem;
- font-weight: bold;
- color: #425166;
- }
+ .card-txt-2 {
+ font-size: 1.4rem;
+ font-weight: bold;
+ color: #425166;
+ font-weight: 500;
}
+ }
}
-.card2{
- flex:1;
- height: auto;
- background-color: #FFDD9A;
- border-radius: 30px;
- padding: 20px;
+.card2 {
+ flex: 1;
+ height: 200px;
+ background-color: #ffdd9a;
+ border-radius: 20px;
+ padding: 20px;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: start;
+ padding-top: 0;
+ padding-bottom: 0;
+ .card-icon {
+ background-color: #ff947a;
+ width: 50px;
+ height: 50px;
+ border-radius: 50%;
display: flex;
- flex-direction: column;
justify-content: center;
+ align-items: center;
+ }
+ .card-txt {
+ display: flex;
+ flex-direction: column;
align-items: start;
- .card-icon{
- background-color: #FF947A;
- width: 50px;
- height: 50px;
- border-radius: 50%;
- display: flex;
- justify-content: center;
- align-items: center;
+ margin-top: 10px;
+ .card-txt-1 {
+ font-size: 1.5rem;
+ font-weight: bold;
+ line-height: 2;
}
- .card-txt{
- display: flex;
- flex-direction: column;
- align-items: start;
- margin-top: 10px;
- .card-txt-1{
- font-size: 1.5rem;
- font-weight: bold;
- line-height: 2;
- }
- .card-txt-2{
- font-size: 1rem;
- font-weight: bold;
- color: #425166;
- }
+ .card-txt-2 {
+ font-size: 1.4rem;
+ font-weight: bold;
+ color: #425166;
+ font-weight: 500;
}
+ }
}
-
-.card3{
- flex:1;
- height: auto;
- background-color: #81FFAC;
- border-radius: 30px;
- padding: 20px;
+.card3 {
+ flex: 1;
+ height: 200px;
+ background-color: #81ffac;
+ border-radius: 20px;
+ padding: 20px;
+ padding-top: 0;
+ padding-bottom: 0;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: start;
+ .card-icon {
+ background-color: #3cd856;
+ width: 50px;
+ height: 50px;
+ border-radius: 50%;
display: flex;
- flex-direction: column;
justify-content: center;
+ align-items: center;
+ }
+ .card-txt {
+ display: flex;
+ flex-direction: column;
align-items: start;
- .card-icon{
- background-color: #3CD856;
- width: 50px;
- height: 50px;
- border-radius: 50%;
- display: flex;
- justify-content: center;
- align-items: center;
+ margin-top: 10px;
+ .card-txt-1 {
+ font-size: 1.5rem;
+ font-weight: bold;
+ line-height: 2;
}
- .card-txt{
- display: flex;
- flex-direction: column;
- align-items: start;
- margin-top: 10px;
- .card-txt-1{
- font-size: 1.5rem;
- font-weight: bold;
- line-height: 2;
- }
- .card-txt-2{
- font-size: 1rem;
- font-weight: bold;
- color: #425166;
-
- }
+ .card-txt-2 {
+ font-size: 1.4rem;
+ font-weight: bold;
+ color: #425166;
+ font-weight: 500;
}
+ }
}
-.card4{
- flex:1;
- height: auto;
- background-color: #D2A9FF;
- border-radius: 30px;
- padding: 20px;
+.card4 {
+ flex: 1;
+ height: 200px;
+ background-color: #d2a9ff;
+ border-radius: 20px;
+ padding: 20px;
+ padding-top: 0;
+ padding-bottom: 0;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: start;
+ .card-icon {
+ background-color: #bf83ff;
+ width: 50px;
+ height: 50px;
+ border-radius: 50%;
display: flex;
- flex-direction: column;
justify-content: center;
+ align-items: center;
+ }
+ .card-txt {
+ display: flex;
+ flex-direction: column;
align-items: start;
- .card-icon{
- background-color: #BF83FF;
- width: 50px;
- height: 50px;
- border-radius: 50%;
- display: flex;
- justify-content: center;
- align-items: center;
+ margin-top: 10px;
+ .card-txt-1 {
+ font-size: 1.5rem;
+ font-weight: bold;
+ line-height: 2;
}
- .card-txt{
- display: flex;
- flex-direction: column;
- align-items: start;
- margin-top: 10px;
- .card-txt-1{
- font-size: 1.5rem;
- font-weight: bold;
- line-height: 2;
- }
- .card-txt-2{
- font-size: 1rem;
- font-weight: bold;
- color: #425166;
-
- }
+ .card-txt-2 {
+ font-size: 1.4rem;
+ font-weight: bold;
+ color: #425166;
+ font-weight: 500;
}
-}
\ No newline at end of file
+ }
+}
diff --git a/shopsense_seller/src/AdminSide/adminComponents/sideNavbar/SideNav.jsx b/shopsense_seller/src/AdminSide/adminComponents/sideNavbar/SideNav.jsx
index 765cf86..59e25cc 100644
--- a/shopsense_seller/src/AdminSide/adminComponents/sideNavbar/SideNav.jsx
+++ b/shopsense_seller/src/AdminSide/adminComponents/sideNavbar/SideNav.jsx
@@ -5,42 +5,59 @@ import ShoppingCartOutlinedIcon from "@mui/icons-material/ShoppingCartOutlined";
import ShoppingBagOutlinedIcon from "@mui/icons-material/ShoppingBagOutlined";
import InsertChartOutlinedIcon from "@mui/icons-material/InsertChartOutlined";
import TextsmsOutlinedIcon from "@mui/icons-material/TextsmsOutlined";
-import SettingsOutlinedIcon from "@mui/icons-material/SettingsOutlined";
+import MonetizationOnOutlinedIcon from "@mui/icons-material/MonetizationOnOutlined";
import LogoutOutlinedIcon from "@mui/icons-material/LogoutOutlined";
+import { Link, NavLink } from "react-router-dom";
+
const SideNav = () => {
+ const menuItem = [
+ {
+ path: "/Dashboard",
+ name: "Dashboard",
+ icon:
,
+ },
+ {
+ path: "/Order",
+ name: "Order",
+ icon:
,
+ },
+ {
+ path: "/Products",
+ name: "Products",
+ icon:
,
+ },
+ {
+ path: "/SalesStat",
+ name: "Sales Stat",
+ icon:
,
+ },
+ {
+ path: "/Payout",
+ name: "Payout",
+ icon:
,
+ },
+ {
+ path: "/",
+ name: "Sign Out",
+ icon:
,
+ },
+ ];
return (
-
- -
-
- Dashboard
-
- -
-
- Orders
-
- -
-
- Products
-
- -
-
- Sales Report
-
- -
-
- Messages
-
- -
-
- Settings
-
- -
-
- Sign Out
-
-
+
+ {menuItem.map((item, index) => (
+
+ {item.icon}
+ {item.name}
+
+ ))}
+
);
};
diff --git a/shopsense_seller/src/AdminSide/adminComponents/sideNavbar/sideNav.css b/shopsense_seller/src/AdminSide/adminComponents/sideNavbar/sideNav.css
index 195be46..33dd05e 100644
--- a/shopsense_seller/src/AdminSide/adminComponents/sideNavbar/sideNav.css
+++ b/shopsense_seller/src/AdminSide/adminComponents/sideNavbar/sideNav.css
@@ -1,36 +1,38 @@
-.sideNav{
- display: flex;
- flex: 1;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- ul{
- list-style: none;
- align-items: center;
- padding: 0px
- }
- li{
- color: black;
- display: flex;
- align-items: center;
- margin: 10px;
- padding: 15px 20px;
- cursor: pointer;
- width: 150px;
- border-radius: 10px;
- &:hover{
- background-color: #d0d0d06f;
- transform: scale(1.01)
- }
- &:focus{
- background-color: #d0d0d06f;
- }
- span{
- padding-left: 8px;
- }
- }
-
+.active {
+ background-color: red;
+}
+.sideNav {
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+}
+.list-text {
+ font-size: 1.2rem;
+}
+
+.link {
+ display: flex;
+ color: #4e4d4d;
+ padding: 15px 35px;
+ margin: 12px;
+ gap: 15px;
+ transition: all 0.5s;
+ border-radius: 10px;
+ align-items: center;
+ justify-content: start;
+ line-height: 0;
+ font-size: 1.2rem;
+ text-decoration: none;
+}
+.link:hover {
+ background: rgb(216, 216, 216);
+ color: #4e4d4d;
+ transition: all 0.5s;
+ /* transform: scale(1.02) */
+}
+.active {
+ background: #ffbfd0;
+ color: #000000;
}
-.list-text{
- font-size: 1.2rem;
-}
\ No newline at end of file
diff --git a/shopsense_seller/src/AdminSide/adminComponents/tableComponent/TableComponent.jsx b/shopsense_seller/src/AdminSide/adminComponents/tableComponent/TableComponent.jsx
index fcb291f..47bfa0d 100644
--- a/shopsense_seller/src/AdminSide/adminComponents/tableComponent/TableComponent.jsx
+++ b/shopsense_seller/src/AdminSide/adminComponents/tableComponent/TableComponent.jsx
@@ -1,63 +1,12 @@
import React from "react";
-import "./tableComponent.css";
import Table from "@mui/material/Table";
import TableBody from "@mui/material/TableBody";
import TableCell from "@mui/material/TableCell";
import TableContainer from "@mui/material/TableContainer";
import TableHead from "@mui/material/TableHead";
import TableRow from "@mui/material/TableRow";
-import LinearProgress, {
- linearProgressClasses,
-} from "@mui/material/LinearProgress";
-import { styled } from "@mui/material/styles";
-
-const BorderLinearProgress = styled(LinearProgress)(({ theme }) => ({
- height: 10,
- borderRadius: 5,
- marginRight: 50,
- [`&.${linearProgressClasses.colorPrimary}`]: {
- backgroundColor:
- theme.palette.grey[theme.palette.mode === "light" ? 200 : 800],
- },
- [`& .${linearProgressClasses.bar}`]: {
- borderRadius: 5,
- backgroundColor: theme.palette.mode === "light" ? "#1a90ff" : "#308fe8",
- },
-}));
-
-function createData(No, Name, Popularity, Sales) {
- return { No, Name, Popularity, Sales };
-}
-
-const rows = [
- createData(
- 1,
- "Midnight Blue Velvet Dress",
-
,
- "45%"
- ),
- createData(
- 2,
- "Classic White Button-Up Shirt",
-
,
- "29%"
- ),
- createData(
- 3,
- "Black Leather Biker Jacket",
-
,
- "18%"
- ),
- createData(
- 4,
- "Red Plaid Flannel Shirt",
-
,
- "25%"
- ),
-];
-
-const TableComponent = () => {
+const TableComponent = (props) => {
return (
@@ -77,7 +26,7 @@ const TableComponent = () => {
- {rows.map((row) => (
+ {props.rows.map((row) => (
{
+ return (
+
+
+
+
+
+ No
+
+ Payout Date
+
+
+ Status
+
+
+ Reference_Number
+
+
+
+
+ {props.rows.map((row) => (
+
+
+ {row.No}
+
+ {row.Payout_Date}
+ {row.Status}
+ {row.Reference_Number}
+
+ ))}
+
+
+
+
+ );
+};
+
+export default TableComponent2;
diff --git a/shopsense_seller/src/AdminSide/adminComponents/tableComponentOrder/tableComponentOrder.css b/shopsense_seller/src/AdminSide/adminComponents/tableComponentOrder/tableComponentOrder.css
new file mode 100644
index 0000000..ffad0e8
--- /dev/null
+++ b/shopsense_seller/src/AdminSide/adminComponents/tableComponentOrder/tableComponentOrder.css
@@ -0,0 +1,3 @@
+.table-container{
+
+}
\ No newline at end of file
diff --git a/shopsense_seller/src/AdminSide/adminComponents/tableComponentOrder/tableComponentOrder.jsx b/shopsense_seller/src/AdminSide/adminComponents/tableComponentOrder/tableComponentOrder.jsx
new file mode 100644
index 0000000..1364572
--- /dev/null
+++ b/shopsense_seller/src/AdminSide/adminComponents/tableComponentOrder/tableComponentOrder.jsx
@@ -0,0 +1,143 @@
+import React from "react";
+import "./tableComponentOrder.css";
+import Table from "@mui/material/Table";
+import TableBody from "@mui/material/TableBody";
+import TableCell from "@mui/material/TableCell";
+import TableContainer from "@mui/material/TableContainer";
+import TableHead from "@mui/material/TableHead";
+import TableRow from "@mui/material/TableRow";
+import Popup from "../../../Components/Popup/Popup";
+import LinearProgress, {
+ linearProgressClasses,
+} from "@mui/material/LinearProgress";
+
+import { styled } from "@mui/material/styles";
+
+const BorderLinearProgress = styled(LinearProgress)(({ theme }) => ({
+ height: 10,
+ borderRadius: 5,
+ marginRight: 50,
+ [`&.${linearProgressClasses.colorPrimary}`]: {
+ backgroundColor:
+ theme.palette.grey[theme.palette.mode === "light" ? 200 : 800],
+ },
+ [`& .${linearProgressClasses.bar}`]: {
+ borderRadius: 5,
+ backgroundColor: theme.palette.mode === "light" ? "#1a90ff" : "#308fe8",
+ },
+}));
+
+function createData(
+ No,
+ Name,
+ Popularity,
+ Sales,
+ Retail,
+ Status,
+ Printed,
+ Action
+) {
+ return { No, Name, Popularity, Sales, Retail, Status, Printed, Action };
+}
+
+const rows = [
+ createData(
+ 234856015,
+ "25 Aug 2024",
+ "2 Hours",
+ "Card",
+ "690.00",
+ "Pending",
+ "✔️",
+
+
+ ),
+ createData(
+ 2780984523,
+ "13 Nov 2024",
+ "14 Hours",
+ "Card",
+ "1500.00",
+ "Completed",
+ "✔️",
+
+ ),
+ createData(
+ 8902345213,
+ "19 Dec 2024",
+ "4 Days",
+ "Cach on Delivery ",
+ "420.00",
+ "Shipped",
+ "❌",
+
+ ),
+ createData(
+ 4120751297,
+ "25 Jan 2025",
+ "45 Second",
+ "Card",
+ "800.00",
+ "Pending",
+ "✔️",
+ "Completed"
+ ),
+];
+
+const TableComponentOrder = () => {
+ return (
+
+
+
+
+
+ Order No
+
+ Order Date
+
+
+ Pending Since
+
+
+ Payment Method
+
+
+ Retail Price
+
+
+ Status
+
+
+ Printed
+
+
+ Action
+
+
+
+
+ {rows.map((row) => (
+
+
+ {row.No}
+
+ {row.Name}
+ {row.Popularity}
+ {row.Sales}
+ {row.Retail}
+ {row.Status}
+ {row.Printed}
+ {row.Action}
+
+ ))}
+
+
+
+
+ );
+};
+
+export default TableComponentOrder;
diff --git a/shopsense_seller/src/AdminSide/adminComponents/tableComponentProduct/tableComponentProduct.css b/shopsense_seller/src/AdminSide/adminComponents/tableComponentProduct/tableComponentProduct.css
new file mode 100644
index 0000000..7bf1920
--- /dev/null
+++ b/shopsense_seller/src/AdminSide/adminComponents/tableComponentProduct/tableComponentProduct.css
@@ -0,0 +1,8 @@
+.table-container {
+}
+
+.editbtn {
+ margin-left: 10px;
+ width: 30px;
+ cursor: pointer;
+}
diff --git a/shopsense_seller/src/AdminSide/adminComponents/tableComponentProduct/tableComponentProduct.jsx b/shopsense_seller/src/AdminSide/adminComponents/tableComponentProduct/tableComponentProduct.jsx
new file mode 100644
index 0000000..a5eea6e
--- /dev/null
+++ b/shopsense_seller/src/AdminSide/adminComponents/tableComponentProduct/tableComponentProduct.jsx
@@ -0,0 +1,169 @@
+import React from "react";
+import "./tableComponentProduct.css";
+import Table from "@mui/material/Table";
+import TableBody from "@mui/material/TableBody";
+import TableCell from "@mui/material/TableCell";
+import TableContainer from "@mui/material/TableContainer";
+import TableHead from "@mui/material/TableHead";
+import TableRow from "@mui/material/TableRow";
+import Popup from "../../../Components/Popup/Popup";
+import { Link } from "react-router-dom";
+import LinearProgress, {
+ linearProgressClasses,
+} from "@mui/material/LinearProgress";
+
+import { styled } from "@mui/material/styles";
+
+const BorderLinearProgress = styled(LinearProgress)(({ theme }) => ({
+ height: 10,
+ borderRadius: 5,
+ marginRight: 50,
+ [`&.${linearProgressClasses.colorPrimary}`]: {
+ backgroundColor:
+ theme.palette.grey[theme.palette.mode === "light" ? 200 : 800],
+ },
+ [`& .${linearProgressClasses.bar}`]: {
+ borderRadius: 5,
+ backgroundColor: theme.palette.mode === "light" ? "#1a90ff" : "#308fe8",
+ },
+}));
+
+function createData(
+ No,
+ Name,
+ Popularity,
+ Sales,
+ Retail,
+ Status,
+ Printed,
+ Action
+) {
+ return { No, Name, Popularity, Sales, Retail, Status, Printed, Action };
+}
+
+const rows = [
+ createData(
+ "#1",
+
+
+ Classic White Button-Up Shirt
+
,
+
+ 690.00
+
,
+
+ 45
+
,
+ "25 Jan 2025",
+
+ "Pending",
+ "✔️",
+
+
+
+ ),
+ createData(
+ "#2",
+
+ Midnight Blue Velvet Dress
+
,
+
+ 950.00
+
,
+
+ 20
+
,
+ "25 Aug 2024",
+
+ "Completed",
+ "✔️",
+
+ ),
+ createData(
+ "#3",
+
+ Black Leather Biker Jacket
+
,
+
+ 420.00
+
,
+
+ 02
+
,
+ "13 Nov 2024",
+
+ "Shipped",
+ "❌",
+
+ ),
+ createData(
+ "#4",
+
+ Red Plaid Flannel Shirt
+
,
+
+
+ 800.00
+
,
+
+ 06
+
,
+ "19 Dec 2024",
+
+ "Pending",
+ "✔️",
+
+ ),
+];
+
+const TableComponentProduct = () => {
+ return (
+
+
+
+
+
+ No
+
+ Product Name
+
+
+ Price
+
+
+ Stock
+
+
+ Created
+
+
+
+ Action
+
+
+
+
+ {rows.map((row) => (
+
+
+ {row.No}
+
+ {row.Name}
+ {row.Popularity}
+ {row.Sales}
+ {row.Retail}
+
+ {row.Action}
+
+ ))}
+
+
+
+
+ );
+};
+
+export default TableComponentProduct;
diff --git a/shopsense_seller/src/App.js b/shopsense_seller/src/App.js
index 3ecd318..69f9965 100644
--- a/shopsense_seller/src/App.js
+++ b/shopsense_seller/src/App.js
@@ -12,13 +12,17 @@ import Form02 from "./Pages/RegistrationForm02/Form02.jsx";
import Form from "./Pages/Form/Form.js";
import ProductAdd1 from "./Pages/ProductAdd01/ProductAdd01.jsx";
import ProductAdd2 from "./Pages/ProductAdd02/ProductAdd02.jsx";
-
+import AdminDashboard from "./AdminSide/AdminPages/Dashboard/AdminDashboard.jsx";
+import AdminStat from "./AdminSide/AdminPages/AdminStat/AdminStat.jsx";
+import Payout from "./AdminSide/AdminPages/payouts/Payout.jsx";
+import AdminProduct from "./AdminSide/AdminPages/AdminDashboard/Products/AdminProduct.jsx";
+import AdminOrder from "./AdminSide/AdminPages/AdminDashboard/Orders/AdminOrders.jsx";
+import AdminEdit from "./AdminSide/AdminPages/AdminDashboard/Edit/AdminEdit.jsx";
function App() {
const Cards = Instructions.map((card) => {
return ;
});
-
return (
@@ -31,15 +35,17 @@ function App() {
} />
} />
} />
-
} />
} />
-
} />
+ } />
+ } />
+ } />
+ } />
+ } />
);
}
-
export default App;
diff --git a/shopsense_seller/src/Components/Assets/dress01.jpg b/shopsense_seller/src/Components/Assets/dress01.jpg
new file mode 100644
index 0000000..84f237b
Binary files /dev/null and b/shopsense_seller/src/Components/Assets/dress01.jpg differ
diff --git a/shopsense_seller/src/Components/Assets/dress02.jpg b/shopsense_seller/src/Components/Assets/dress02.jpg
new file mode 100644
index 0000000..46fa93c
Binary files /dev/null and b/shopsense_seller/src/Components/Assets/dress02.jpg differ
diff --git a/shopsense_seller/src/Components/Assets/dress03.jpg b/shopsense_seller/src/Components/Assets/dress03.jpg
new file mode 100644
index 0000000..3e28630
Binary files /dev/null and b/shopsense_seller/src/Components/Assets/dress03.jpg differ
diff --git a/shopsense_seller/src/Components/Card/card.css b/shopsense_seller/src/Components/Card/card.css
index 8d54f24..f95330e 100644
--- a/shopsense_seller/src/Components/Card/card.css
+++ b/shopsense_seller/src/Components/Card/card.css
@@ -1,9 +1,9 @@
.card {
- width: 250px;
+ width: 242px;
left: 66px;
padding: 40px;
- padding-left: 20px;
- padding-right: 20px;
+ padding-left: 11px;
+ padding-right: 11px;
background: #d8d6d6de;
border-radius: 14px;
text-align: center;
diff --git a/shopsense_seller/src/Components/FileUpload/FileUpload.css b/shopsense_seller/src/Components/FileUpload/FileUpload.css
index 3f34e5e..815deda 100644
--- a/shopsense_seller/src/Components/FileUpload/FileUpload.css
+++ b/shopsense_seller/src/Components/FileUpload/FileUpload.css
@@ -8,6 +8,7 @@
border-radius: 5px;
width: 512px;
margin-top: 10px;
+ margin-right: 10px;
}
.custom-file-upload {
diff --git a/shopsense_seller/src/Components/Hero/hero.css b/shopsense_seller/src/Components/Hero/hero.css
index 4686f4a..7a42afb 100644
--- a/shopsense_seller/src/Components/Hero/hero.css
+++ b/shopsense_seller/src/Components/Hero/hero.css
@@ -32,13 +32,12 @@
.content2 {
position: absolute;
left: 0;
- margin-left: 930px;
+ margin-left: 820px;
top: 450px;
width: 300px;
}
.content2 p {
- text-justify: inter-word;
text-align: justify;
}
diff --git a/shopsense_seller/src/Components/Join_section/join.css b/shopsense_seller/src/Components/Join_section/join.css
index 868058d..581273c 100644
--- a/shopsense_seller/src/Components/Join_section/join.css
+++ b/shopsense_seller/src/Components/Join_section/join.css
@@ -1,15 +1,10 @@
.Header_text {
font-family: "Reforma Grotesk Medium W08 Rg";
- font-size: 100px;
- line-height: 100px;
+ font-size: 88px;
+ line-height: 76px;
font-weight: bolder;
}
-.Join_img {
- width: 400px;
- height: auto;
-}
-
.Join_section {
display: flex;
justify-content: space-between;
@@ -20,9 +15,10 @@
}
.text_box {
- width: 450px;
+ width: 445px;
text-justify: inter-word;
text-align: justify;
+ font-size: 17px;
}
.content_section {
@@ -68,16 +64,16 @@
}
.Join_img {
- width: 700px;
+ width: 596px;
height: auto;
-
+ margin-left: 20px;
border-radius: 26px;
}
.Card_header,
.Highlight {
font-family: "Reforma Grotesk Medium W08 Rg";
- font-size: 85px;
+ font-size: 80px;
line-height: 100px;
font-weight: bolder;
text-align: center;
diff --git a/shopsense_seller/src/Components/Navbar/Navbar.jsx b/shopsense_seller/src/Components/Navbar/Navbar.jsx
index dd65c59..24bbbf0 100644
--- a/shopsense_seller/src/Components/Navbar/Navbar.jsx
+++ b/shopsense_seller/src/Components/Navbar/Navbar.jsx
@@ -26,7 +26,7 @@ function Navbar() {
- Benefit{" "}
+ Benefits{" "}
diff --git a/shopsense_seller/src/Components/Popup/Popup.css b/shopsense_seller/src/Components/Popup/Popup.css
new file mode 100644
index 0000000..d38b4dc
--- /dev/null
+++ b/shopsense_seller/src/Components/Popup/Popup.css
@@ -0,0 +1,55 @@
+body.active-modal {
+ overflow-y: hidden;
+}
+
+.btn-modal {
+ display: block;
+
+ font-size: 14px;
+}
+
+.modal,
+.overlay {
+ width: 100vw;
+ height: 100vh;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ position: fixed;
+}
+
+.overlay {
+ background: rgba(49, 49, 49, 0.8);
+}
+.modal-content {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ line-height: 1.4;
+ background: #ffffff;
+ padding: 14px 28px;
+ border-radius: 3px;
+ max-width: 2000px;
+ min-width: 300px;
+}
+
+.close-modal {
+ position: absolute;
+ top: 10px;
+ right: 10px;
+ padding: 5px 7px;
+ background-color: white;
+ border: none;
+ box-shadow: none;
+}
+
+.ButtonHolderPopUp {
+ margin-top: 20px;
+}
+
+.ButtonHolderPopUp button {
+ margin-right: 10px;
+ cursor: pointer;
+}
diff --git a/shopsense_seller/src/Components/Popup/Popup.jsx b/shopsense_seller/src/Components/Popup/Popup.jsx
new file mode 100644
index 0000000..93fab86
--- /dev/null
+++ b/shopsense_seller/src/Components/Popup/Popup.jsx
@@ -0,0 +1,50 @@
+import React, { useState } from "react";
+import "./Popup.css";
+import PlaceOrder from "../../AdminSide/adminComponents/Place Order/PlaceOrder";
+
+export default function Popup() {
+ const [modal, setModal] = useState(false);
+
+ const toggleModal = () => {
+ setModal(!modal);
+ };
+
+ if (modal) {
+ document.body.classList.add("active-modal");
+ } else {
+ document.body.classList.remove("active-modal");
+ }
+
+ const openPdfInNewTab = () => {
+ const pdfUrl = "./Invoice.pdf";
+
+ window.open(pdfUrl, "_blank");
+ };
+
+ return (
+ <>
+
+
+ {modal && (
+
+
+
+
Place Order
+
+
+
+
+
+
+
+
+
+
+ )}
+ >
+ );
+}
diff --git a/shopsense_seller/src/Pages/EditProduct/EditProduct.css b/shopsense_seller/src/Pages/EditProduct/EditProduct.css
new file mode 100644
index 0000000..f10a54c
--- /dev/null
+++ b/shopsense_seller/src/Pages/EditProduct/EditProduct.css
@@ -0,0 +1,77 @@
+.NextBtnProduct {
+ width: 294px;
+ height: 44px;
+ background: #000000;
+ border-radius: 8px;
+ border: none;
+ color: #ffbfd0;
+ font-size: 17px;
+ font-weight: 500;
+ margin-right: 10px;
+ cursor: pointer;
+
+ margin-bottom: 10px;
+}
+
+.buttonHolderProduct {
+ align-items: center;
+ display: flex;
+ justify-content: center;
+}
+
+.productpage {
+ margin: 140px;
+ margin-top: 43px;
+ margin-bottom: 0px;
+}
+
+.EditBoxHolder {
+ display: flex;
+}
+
+.editbtn2 {
+ margin-left: 10px;
+ width: 60px;
+ cursor: pointer;
+ height: 40px;
+}
+
+.ProductImageHplder {
+ display: flex;
+}
+
+.ProductImageHplder img {
+ width: 150px;
+ height: 150px;
+ border-radius: 10px;
+ margin-right: 10px;
+}
+
+.ImageEditHolder span {
+ position: absolute;
+ top: 10px;
+ left: 110px;
+ background-color: white;
+ padding: 8px;
+ padding-top: 2px;
+ border-radius: 6px;
+ width: 15px;
+ height: 15px;
+ cursor: pointer;
+ text-align: center;
+}
+
+.ImageEditHolder {
+ position: relative;
+ display: inline-block;
+}
+
+.BackProductEdit {
+ margin-right: 10px;
+ color: rgb(0, 0, 0);
+ background-color: rgb(255, 255, 255);
+ border: none;
+ box-shadow: none;
+ font-size: 30px;
+ cursor: pointer;
+}
diff --git a/shopsense_seller/src/Pages/EditProduct/EditProduct.jsx b/shopsense_seller/src/Pages/EditProduct/EditProduct.jsx
new file mode 100644
index 0000000..c7f20ca
--- /dev/null
+++ b/shopsense_seller/src/Pages/EditProduct/EditProduct.jsx
@@ -0,0 +1,106 @@
+import { Link } from "react-router-dom";
+import "./EditProduct.css";
+import OccationDropdown from "../../Components/Occation_DropDown/Occation";
+import Color from "../../Components/Color/Color";
+import FitDropdown from "../../Components/Fit/fit";
+import SizeDropdown from "../../Components/Size/Size";
+import Dress from "../../Components/Assets/dress01.jpg";
+import Dress2 from "../../Components/Assets/dress02.jpg";
+import Dress3 from "../../Components/Assets/dress03.jpg";
+
+function EditProduct() {
+ return (
+
+
+
+ Product Details
+
+
+
+
✎
+

+
+
+
+
✎
+

+
+
+
+
✎
+

+
+
+
+
+
+
+
+ {" "}
+
+
+ );
+}
+
+export default EditProduct;
diff --git a/shopsense_seller/src/Pages/Form/Form.js b/shopsense_seller/src/Pages/Form/Form.js
index 12573c3..6ba3a24 100644
--- a/shopsense_seller/src/Pages/Form/Form.js
+++ b/shopsense_seller/src/Pages/Form/Form.js
@@ -17,6 +17,7 @@ export default function Form() {
+
);
diff --git a/shopsense_seller/src/Pages/Home/Home.css b/shopsense_seller/src/Pages/Home/Home.css
index 5c1c350..aefc568 100644
--- a/shopsense_seller/src/Pages/Home/Home.css
+++ b/shopsense_seller/src/Pages/Home/Home.css
@@ -2,4 +2,6 @@
display: flex;
justify-content: center;
margin: 0%;
+ margin-left: 40px;
+ margin-right: 40px;
}
diff --git a/shopsense_seller/src/Pages/Login/Login.jsx b/shopsense_seller/src/Pages/Login/Login.jsx
index 5d0decf..31b8cbd 100644
--- a/shopsense_seller/src/Pages/Login/Login.jsx
+++ b/shopsense_seller/src/Pages/Login/Login.jsx
@@ -36,7 +36,9 @@ function Login() {
type="password"
>
Forget Password ?
-
+
+
+
Dont have an Account ?{" "}
diff --git a/shopsense_seller/src/Pages/ProductAdd01/ProductAdd01.css b/shopsense_seller/src/Pages/ProductAdd01/ProductAdd01.css
index 97068a6..b664ea8 100644
--- a/shopsense_seller/src/Pages/ProductAdd01/ProductAdd01.css
+++ b/shopsense_seller/src/Pages/ProductAdd01/ProductAdd01.css
@@ -1,3 +1,7 @@
+.pa-wrapper {
+ display: flex;
+ position: relative;
+}
.NextBtnProduct {
width: 294px;
height: 44px;
diff --git a/shopsense_seller/src/Pages/ProductAdd01/ProductAdd01.jsx b/shopsense_seller/src/Pages/ProductAdd01/ProductAdd01.jsx
index 54ddbf1..c8f481c 100644
--- a/shopsense_seller/src/Pages/ProductAdd01/ProductAdd01.jsx
+++ b/shopsense_seller/src/Pages/ProductAdd01/ProductAdd01.jsx
@@ -11,7 +11,7 @@ import SizeDropdown from "../../Components/Size/Size";
function ProductAdd1() {
return (
-
+
diff --git a/shopsense_seller/src/Pages/ProductAdd02/ProductAdd02.css b/shopsense_seller/src/Pages/ProductAdd02/ProductAdd02.css
index 5e40d2b..aaba875 100644
--- a/shopsense_seller/src/Pages/ProductAdd02/ProductAdd02.css
+++ b/shopsense_seller/src/Pages/ProductAdd02/ProductAdd02.css
@@ -19,8 +19,8 @@
justify-content: center;
}
-.productpage {
- margin: 140px;
+.productpage2 {
+ margin: 40px;
margin-top: 43px;
margin-bottom: 0px;
}
@@ -30,7 +30,7 @@
}
.producttextbox {
- width: 100%;
+ width: 95%;
min-height: 200px;
font-size: 16px;
padding: 20px;
diff --git a/shopsense_seller/src/Pages/ProductAdd02/ProductAdd02.jsx b/shopsense_seller/src/Pages/ProductAdd02/ProductAdd02.jsx
index 4b4ee0e..01b2c3d 100644
--- a/shopsense_seller/src/Pages/ProductAdd02/ProductAdd02.jsx
+++ b/shopsense_seller/src/Pages/ProductAdd02/ProductAdd02.jsx
@@ -14,9 +14,9 @@ import Delivery from "../../Components/DeliveryOption/Delivery";
function ProductAdd2() {
return (
-
+
-
+
- Product Information -
Product Images
@@ -80,7 +80,9 @@ function ProductAdd2() {
-
+
+ {" "}
+