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 = () => {
Top Products
- +
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 +
+
+ + + +
+
+
+
+
+ Payout History +
+ +
+
+
+
+
+ ); +}; + +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 +

    +
    +
    + + +
    + +
    + + +
    + +
    + + +
    +
    + +
    +
    +
    + Product Name +
    + +
    + +
    +
    +
    + +
    + Price +
    + +
    + +
    +
    +
    + +
    + Color(S) + +
    +
    + Occation + +
    + +
    + Brand +
    + +
    + +
    +
    +
    + +
    + Availability +
    + +
    + +
    +
    +
    +
    +
    +
    + + + {" "} +
    +
    + ); +} + +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() { - + + {" "} +