diff --git a/Client/package-lock.json b/Client/package-lock.json index e08c70f..2184e21 100644 --- a/Client/package-lock.json +++ b/Client/package-lock.json @@ -1,18 +1,23 @@ { - "name": "indrivepal", + "name": "client", "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "indrivepal", + "name": "client", "version": "0.1.0", "dependencies": { + "@emotion/react": "^11.11.1", + "@emotion/styled": "^11.11.0", + "@mui/icons-material": "^5.11.16", + "@mui/material": "^5.13.6", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-router-dom": "^5.2.0", "react-scripts": "5.0.1", "web-vitals": "^2.1.4" } @@ -2295,6 +2300,158 @@ "postcss-selector-parser": "^6.0.10" } }, + "node_modules/@emotion/babel-plugin": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", + "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/serialize": "^1.1.2", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@emotion/babel-plugin/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/@emotion/cache": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", + "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", + "dependencies": { + "@emotion/memoize": "^0.8.1", + "@emotion/sheet": "^1.2.2", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.1", + "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.1", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz", + "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==", + "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", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, + "node_modules/@emotion/react": { + "version": "11.11.1", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz", + "integrity": "sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/cache": "^11.11.0", + "@emotion/serialize": "^1.1.2", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz", + "integrity": "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==", + "dependencies": { + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/unitless": "^0.8.1", + "@emotion/utils": "^1.2.1", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.2.2", + "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.0", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz", + "integrity": "sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/is-prop-valid": "^1.2.1", + "@emotion/serialize": "^1.1.2", + "@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", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", + "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", + "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", + "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -3158,6 +3315,262 @@ "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.5", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.5.tgz", + "integrity": "sha512-vy3TWLQYdGNecTaufR4wDNQFV2WEg6wRPi6BVbx6q1vP3K1mbxIn1+XOqOzfYBXjFHvMx0gZAo2TgWbaqfgvAA==", + "dependencies": { + "@babel/runtime": "^7.22.5", + "@emotion/is-prop-valid": "^1.2.1", + "@mui/types": "^7.2.4", + "@mui/utils": "^5.13.6", + "@popperjs/core": "^2.11.8", + "clsx": "^1.2.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "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/base/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/@mui/core-downloads-tracker": { + "version": "5.13.4", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.13.4.tgz", + "integrity": "sha512-yFrMWcrlI0TqRN5jpb6Ma9iI7sGTHpytdzzL33oskFHNQ8UgrtPas33Y1K7sWAMwCrr1qbWDrOHLAQG4tAzuSw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + } + }, + "node_modules/@mui/icons-material": { + "version": "5.11.16", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.11.16.tgz", + "integrity": "sha512-oKkx9z9Kwg40NtcIajF9uOXhxiyTZrrm9nmIJ4UjkU2IdHpd4QVLbCc/5hZN/y0C6qzi2Zlxyr9TGddQx2vx2A==", + "dependencies": { + "@babel/runtime": "^7.21.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "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.13.6", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.13.6.tgz", + "integrity": "sha512-/c2ZApeQm2sTYdQXjqEnldaBMBcUEiyu2VRS6bS39ZeNaAcCLBQbYocLR46R+f0S5dgpBzB0T4AsOABPOFYZ5Q==", + "dependencies": { + "@babel/runtime": "^7.22.5", + "@mui/base": "5.0.0-beta.5", + "@mui/core-downloads-tracker": "^5.13.4", + "@mui/system": "^5.13.6", + "@mui/types": "^7.2.4", + "@mui/utils": "^5.13.6", + "@types/react-transition-group": "^4.4.6", + "clsx": "^1.2.1", + "csstype": "^3.1.2", + "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" + }, + "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.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/@mui/private-theming": { + "version": "5.13.1", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.13.1.tgz", + "integrity": "sha512-HW4npLUD9BAkVppOUZHeO1FOKUJWAwbpy0VQoGe3McUYTlck1HezGHQCfBQ5S/Nszi7EViqiimECVl9xi+/WjQ==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "@mui/utils": "^5.13.1", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "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.13.2", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.13.2.tgz", + "integrity": "sha512-VCYCU6xVtXOrIN8lcbuPmoG+u7FYuOERG++fpY74hPpEWkyFQG97F+/XfTQVYzlR2m7nPjnwVUgATcTCMEaMvw==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "@emotion/cache": "^11.11.0", + "csstype": "^3.1.2", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "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.13.6", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.13.6.tgz", + "integrity": "sha512-G3Xr28uLqU3DyF6r2LQkHGw/ku4P0AHzlKVe7FGXOPl7X1u+hoe2xxj8Vdiq/69II/mh9OP21i38yBWgWb7WgQ==", + "dependencies": { + "@babel/runtime": "^7.22.5", + "@mui/private-theming": "^5.13.1", + "@mui/styled-engine": "^5.13.2", + "@mui/types": "^7.2.4", + "@mui/utils": "^5.13.6", + "clsx": "^1.2.1", + "csstype": "^3.1.2", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "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.4", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.4.tgz", + "integrity": "sha512-LBcwa8rN84bKF+f5sDyku42w1NTxaPgPyYKODsh01U1fVstTClbUoSA96oyRBnSNyEiAVjKm6Gwx9vjR+xyqHA==", + "peerDependencies": { + "@types/react": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils": { + "version": "5.13.6", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.13.6.tgz", + "integrity": "sha512-ggNlxl5NPSbp+kNcQLmSig6WVB0Id+4gOxhx644987v4fsji+CSXc+MFYLocFB/x4oHtzCUlSzbVHlJfP/fXoQ==", + "dependencies": { + "@babel/runtime": "^7.22.5", + "@types/prop-types": "^15.7.5", + "@types/react-is": "^18.2.0", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "react": "^17.0.0 || ^18.0.0" + } + }, + "node_modules/@mui/utils/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, "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", @@ -3267,6 +3680,15 @@ } } }, + "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/@rollup/plugin-babel": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", @@ -4375,6 +4797,22 @@ "@types/react": "*" } }, + "node_modules/@types/react-is": { + "version": "18.2.1", + "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-18.2.1.tgz", + "integrity": "sha512-wyUkmaaSZEzFZivD8F2ftSyAfk6L+DfFliVj/mYdOXbVjRcS87fQJLTnhk6dRZPuJjI+9g6RZJO4PNCngUrmyw==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-transition-group": { + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.6.tgz", + "integrity": "sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew==", + "dependencies": { + "@types/react": "*" + } + }, "node_modules/@types/resolve": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", @@ -5958,6 +6396,14 @@ "wrap-ansi": "^7.0.0" } }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -6877,6 +7323,15 @@ "utila": "~0.4" } }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, "node_modules/dom-serializer": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", @@ -8208,6 +8663,11 @@ "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -8842,6 +9302,32 @@ "he": "bin/he" } }, + "node_modules/history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "dependencies": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/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/hoopy": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", @@ -14512,6 +14998,60 @@ "node": ">=0.10.0" } }, + "node_modules/react-router": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", + "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router-dom": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", + "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.3.4", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/react-router/node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/react-router/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/react-scripts": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", @@ -14584,6 +15124,21 @@ } } }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -14800,6 +15355,11 @@ "node": ">=8" } }, + "node_modules/resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, "node_modules/resolve-url-loader": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", @@ -15724,6 +16284,11 @@ "postcss": "^8.2.15" } }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + }, "node_modules/sucrase": { "version": "3.32.0", "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", @@ -16113,6 +16678,16 @@ "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" }, + "node_modules/tiny-invariant": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", @@ -16508,6 +17083,11 @@ "node": ">=10.12.0" } }, + "node_modules/value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", diff --git a/Client/package.json b/Client/package.json index 741218f..5d292d8 100644 --- a/Client/package.json +++ b/Client/package.json @@ -3,6 +3,10 @@ "version": "0.1.0", "private": true, "dependencies": { + "@emotion/react": "^11.11.1", + "@emotion/styled": "^11.11.0", + "@mui/icons-material": "^5.11.16", + "@mui/material": "^5.13.6", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", diff --git a/Client/src/App.js b/Client/src/App.js index f405c01..761d9fc 100644 --- a/Client/src/App.js +++ b/Client/src/App.js @@ -1,13 +1,12 @@ -import logo from './logo.svg'; -import Login from './components/auth/login.js' -import './App.css'; +import Feature4 from './components/onboarding/feature4.js'; function App() { return (
- +
); } + export default App; diff --git a/Client/src/assets/buttons.css b/Client/src/assets/buttons.css index e69de29..09766b4 100644 --- a/Client/src/assets/buttons.css +++ b/Client/src/assets/buttons.css @@ -0,0 +1,20 @@ +.btn-choice{ + margin-top: 1vh; + border-radius: 1em; + border: 1.015px solid rgba(167, 233, 47, 0.70); + background: rgba(167, 233, 47, 0.20); + width: 80vw; + padding-left: 5%; + text-align: left; + display: flex; + font-weight: 200; + flex-direction: row; +} + +.btn-submit{ + border-radius: 1em; + background-color: #A7E92F; + width: 80vw; + padding: 1%; +} + diff --git a/Client/src/assets/images/feature1.png b/Client/src/assets/images/feature1.png new file mode 100644 index 0000000..72839ed Binary files /dev/null and b/Client/src/assets/images/feature1.png differ diff --git a/Client/src/assets/images/feature2.png b/Client/src/assets/images/feature2.png new file mode 100644 index 0000000..af12bc0 Binary files /dev/null and b/Client/src/assets/images/feature2.png differ diff --git a/Client/src/assets/images/feature3.png b/Client/src/assets/images/feature3.png new file mode 100644 index 0000000..d6ee18f Binary files /dev/null and b/Client/src/assets/images/feature3.png differ diff --git a/Client/src/assets/images/feature4.png b/Client/src/assets/images/feature4.png new file mode 100644 index 0000000..d892ee9 Binary files /dev/null and b/Client/src/assets/images/feature4.png differ diff --git a/Client/src/assets/images/loc-check.png b/Client/src/assets/images/loc-check.png new file mode 100644 index 0000000..3b79ae6 Binary files /dev/null and b/Client/src/assets/images/loc-check.png differ diff --git a/Client/src/assets/images/onboarding3.png b/Client/src/assets/images/onboarding3.png new file mode 100644 index 0000000..2a23744 Binary files /dev/null and b/Client/src/assets/images/onboarding3.png differ diff --git a/Client/src/assets/images/passenger.png b/Client/src/assets/images/passenger.png new file mode 100644 index 0000000..26cbb5a Binary files /dev/null and b/Client/src/assets/images/passenger.png differ diff --git a/Client/src/assets/onboarding.css b/Client/src/assets/onboarding.css new file mode 100644 index 0000000..103c792 --- /dev/null +++ b/Client/src/assets/onboarding.css @@ -0,0 +1,90 @@ +@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@500&display=swap"); + +p { + color: #323844; + font-family: 'Poppins', sans-serif; + font-style: normal; + font-weight: 700; +} + +.onboarding { + display: flex; + flex-direction: column; +} + +.icons { + display: flex; + flex-direction: row; + margin-top: 4vh; + justify-content: space-between; +} + +.arrow-back { + margin-left: 2vw; + align-self: flex-start; +} + +.volume-icon { + margin-right: 2vw; + align-self: flex-end; +} + +.content3 { + margin-left: 5vw; + margin-right: 5vw; + text-justify: inter-word; +} + +.btn { + bottom: 0; + position: absolute; + align-self: center; + margin-bottom: 10px; +} + +.back { + display: flex; + flex-direction: row; + align-items: center; + margin-top: 4vh; + margin-left: 2vw; +} + +.back h3 { + margin-left: 2px; +} + +h3{ + color: grey; + font-weight: 600; +} + +.base-icons{ + margin-top: 5vh; + display: flex; + flex-direction: row; + justify-content: space-between; +} + +.circle { + position: relative; + margin-right: 5%; +} + +.circle::before { + content: ""; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 40px; + height: 40px; + background-color: #A7E92F; + border-radius: 50%; + z-index: -1; +} + +.arrow-icon { + position: relative; + z-index: 1; +} diff --git a/Client/src/components/onboarding/button-choice.js b/Client/src/components/onboarding/button-choice.js new file mode 100644 index 0000000..aa91204 --- /dev/null +++ b/Client/src/components/onboarding/button-choice.js @@ -0,0 +1,26 @@ +import "../../assets/buttons.css"; +import Checkbox from "@mui/material/Checkbox"; + +const label = { inputProps: { "aria-label": "Checkbox demo" } }; + +const ButtonChoice = (props) => { + return ( +
+
+ +

{props.label}

+
+
+ ); +}; + +export default ButtonChoice; diff --git a/Client/src/components/onboarding/button-submit.js b/Client/src/components/onboarding/button-submit.js new file mode 100644 index 0000000..4508589 --- /dev/null +++ b/Client/src/components/onboarding/button-submit.js @@ -0,0 +1,12 @@ +import "../../assets/buttons.css"; +const ButtonSubmit = (props) => { + return ( +
+
+

{props.label}

+
+
+ ); +}; + +export default ButtonSubmit; diff --git a/Client/src/components/onboarding/feature1.js b/Client/src/components/onboarding/feature1.js new file mode 100644 index 0000000..f608861 --- /dev/null +++ b/Client/src/components/onboarding/feature1.js @@ -0,0 +1,22 @@ +import React from "react"; +import feature1 from "../../assets/images/feature1.png"; +import ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos'; +import "../../assets/onboarding.css"; + +const Feature1 = () => { + return ( +
+
+

Offer taxi fair

+

Put forward your own taxi fair. Get the best prices!

+ +
+
+

Skip

+
+
+
+ ); +}; + +export default Feature1; diff --git a/Client/src/components/onboarding/feature2.js b/Client/src/components/onboarding/feature2.js new file mode 100644 index 0000000..fe439c0 --- /dev/null +++ b/Client/src/components/onboarding/feature2.js @@ -0,0 +1,36 @@ +import React from "react"; +import feature2 from "../../assets/images/feature2.png"; +import ArrowForwardIosIcon from "@mui/icons-material/ArrowForwardIos"; +import "../../assets/onboarding.css"; + +const Feature2 = () => { + return ( +
+
+

Added features for specially abled

+

+ With enhanced accessibilty voice-prompts, equipped vehicles, AI chat + assistance, we make sure everyone’s travel requirements are fulfilled. +

+ +
+
+

Skip

+
+ +
+
+
+ ); +}; + +export default Feature2; diff --git a/Client/src/components/onboarding/feature3.js b/Client/src/components/onboarding/feature3.js new file mode 100644 index 0000000..ba8edbb --- /dev/null +++ b/Client/src/components/onboarding/feature3.js @@ -0,0 +1,37 @@ +import React from "react"; +import feature3 from "../../assets/images/feature3.png"; +import ArrowForwardIosIcon from "@mui/icons-material/ArrowForwardIos"; +import "../../assets/onboarding.css"; + +const Feature3 = () => { + return ( +
+
+

Companion friendly

+

+ We make our services companion friendly, especially if you are + visually impaired. Bring along your service-animals and enjoy a safe + ride! +

+ +
+
+

Skip

+
+ +
+
+
+ ); +}; + +export default Feature3; diff --git a/Client/src/components/onboarding/feature4.js b/Client/src/components/onboarding/feature4.js new file mode 100644 index 0000000..9280001 --- /dev/null +++ b/Client/src/components/onboarding/feature4.js @@ -0,0 +1,36 @@ +import React from "react"; +import feature4 from "../../assets/images/feature4.png"; +import ArrowForwardIosIcon from "@mui/icons-material/ArrowForwardIos"; +import "../../assets/onboarding.css"; + +const Feature4 = () => { + return ( +
+
+

Enjoy your ride

+

+ InDrive takes utmost care of your safety. We leave no stone unturned + to assure a safe and comfortable ride for you. +

+ +
+
+

Skip

+
+ +
+
+
+ ); +}; + +export default Feature4; diff --git a/Client/src/components/onboarding/locationCheck.js b/Client/src/components/onboarding/locationCheck.js new file mode 100644 index 0000000..55b4f5a --- /dev/null +++ b/Client/src/components/onboarding/locationCheck.js @@ -0,0 +1,21 @@ +import React from "react"; +import ButtonSubmit from "./button-submit"; +import locationicon from '../../assets/images/loc-check.png'; +import "../../assets/onboarding.css"; + +const LocationCheck = () => { + return ( +
+
+

Are you in this city?

+
+
+

Edit

+
+
+
+
+ ); +}; + +export default LocationCheck; diff --git a/Client/src/components/onboarding/onboarding-name.js b/Client/src/components/onboarding/onboarding-name.js new file mode 100644 index 0000000..2cb9756 --- /dev/null +++ b/Client/src/components/onboarding/onboarding-name.js @@ -0,0 +1,28 @@ +import React from "react"; +// import Form from "muicss/lib/react/form"; +// import Input from "muicss/lib/react/input"; +import ButtonSubmit from "./button-submit"; +import "../../assets/onboarding.css"; +import ArrowBackIosIcon from "@mui/icons-material/ArrowBackIos"; + +const OnboardingName = () => { + return ( +
+
+ +

Back

+
+
+

Welcome to inDrive!

+

Let's get aquainted

+
+
+
+ +
+
+
+ ); +}; + +export default OnboardingName; diff --git a/Client/src/components/onboarding/onboarding1.js b/Client/src/components/onboarding/onboarding1.js new file mode 100644 index 0000000..b17459f --- /dev/null +++ b/Client/src/components/onboarding/onboarding1.js @@ -0,0 +1,97 @@ +import "../../assets/onboarding.css"; +import React, { useState } from "react"; +import ButtonSubmit from "./button-submit"; +import ArrowBackIcon from "@mui/icons-material/ArrowBack"; +import VolumeMuteIcon from "@mui/icons-material/VolumeMute"; +import VolumeOffIcon from "@mui/icons-material/VolumeOff"; +import Radio from "@mui/material/Radio"; + +const Onboarding1 = (props) => { + const [selectedValue, setSelectedValue] = useState("a"); + const [showSoundOn, setShowSoundOn] = useState(true); + const [showSoundOff, setShowSoundOff] = useState(false); + + const handleSoundOn = () => { + setShowSoundOn(false); + setShowSoundOff(true); + }; + + const handleSoundOff = () => { + setShowSoundOn(true); + setShowSoundOff(false); + }; + + const handleChange = (event) => { + setSelectedValue(event.target.value); + }; + + const controlProps = (item) => ({ + checked: selectedValue === item, + onChange: handleChange, + value: item, + name: "color-radio-button-demo", + inputProps: { "aria-label": item }, + }); + + return ( +
+
+
+ +
+
+ {showSoundOn && ( +
+ +
+ )} + {showSoundOff && ( +
+ +
+ )} +
+
+
+

+ Do you need specially abled features? +

+
+
+
+
+ +

Yes

+
+
+ +

No

+
+
+
+
+
+ +
+
+
+ ); +}; + +export default Onboarding1; diff --git a/Client/src/components/onboarding/onboarding2.js b/Client/src/components/onboarding/onboarding2.js new file mode 100644 index 0000000..3643394 --- /dev/null +++ b/Client/src/components/onboarding/onboarding2.js @@ -0,0 +1,57 @@ +import React, { useState } from 'react'; +import ArrowBackIcon from '@mui/icons-material/ArrowBack'; +import VolumeMuteIcon from '@mui/icons-material/VolumeMute'; +import VolumeOffIcon from '@mui/icons-material/VolumeOff'; +import ButtonChoice from './button-choice'; +import ButtonSubmit from './button-submit'; +import '../../assets/onboarding.css'; + +const Onboarding2 = () => { + const [showSoundOn, setShowSoundOn] = useState(true); + const [showSoundOff, setShowSoundOff] = useState(false); + + const handleSoundOn = () => { + setShowSoundOn(false); + setShowSoundOff(true); + }; + + const handleSoundOff = () => { + setShowSoundOn(true); + setShowSoundOff(false); + }; + + return ( +
+
+
+ +
+
+ {showSoundOn && ( +
+ +
+ )} + {showSoundOff && ( +
+ +
+ )}
+
+
+

Select your special need(s)?

+
+
+ + + + +
+
+
+
+
+ ); +}; + +export default Onboarding2; diff --git a/Client/src/components/onboarding/onboarding3.js b/Client/src/components/onboarding/onboarding3.js new file mode 100644 index 0000000..070a504 --- /dev/null +++ b/Client/src/components/onboarding/onboarding3.js @@ -0,0 +1,56 @@ +import React, { useState } from "react"; +import ButtonSubmit from "./button-submit"; +import ArrowBackIcon from '@mui/icons-material/ArrowBack'; +import VolumeMuteIcon from '@mui/icons-material/VolumeMute'; +import VolumeOffIcon from '@mui/icons-material/VolumeOff'; +import onboarding3 from '../../assets/images/onboarding3.png'; +import "../../assets/onboarding.css"; + +const Onboarding3 = () => { + const [showSoundOn, setShowSoundOn] = useState(true); + const [showSoundOff, setShowSoundOff] = useState(false); + + const handleSoundOn = () => { + setShowSoundOn(false); + setShowSoundOff(true); + }; + + const handleSoundOff = () => { + setShowSoundOn(true); + setShowSoundOff(false); + }; + + return ( +
+
+
+ +
+
+ {showSoundOn && ( +
+ +
+ )} + {showSoundOff && ( +
+ +
+ )}
+
+
+
+

We store your personal data securely

+
+
+

To use the app, please allow us to collect info about other installed apps on your device and share it with our service providers.

+

This information will be used for fraud prevention and data analysis.

+
+
+
+
+
+ ); +}; + +export default Onboarding3; diff --git a/Client/src/components/onboarding/passenger-driver.js b/Client/src/components/onboarding/passenger-driver.js new file mode 100644 index 0000000..6c5169c --- /dev/null +++ b/Client/src/components/onboarding/passenger-driver.js @@ -0,0 +1,23 @@ +import React from "react"; +import ButtonSubmit from "./button-submit"; +import "../../assets/onboarding.css"; +import ArrowBackIosIcon from '@mui/icons-material/ArrowBackIos'; +import passengerdriver from '../../assets/images/passenger.png'; +const PassengerDriver = () => { + return ( +
+

Back

+
+

Are you a passenger or a driver?

+

You can change the mode later

+
+
+
+

Passenger

+
+
+
+ ); +}; + +export default PassengerDriver;