From ea102ba0545a179b67d3f71061aae7f8778c3212 Mon Sep 17 00:00:00 2001 From: Johnty Date: Thu, 14 Feb 2019 17:14:43 +0200 Subject: [PATCH 1/2] added a volunteering functionality --- .idea/jsLinters/eslint.xml | 6 + .vs/ProjectSettings.json | 3 + .vs/slnx.sqlite | Bin 0 -> 86016 bytes .vscode/launch.json | 15 + package-lock.json | 386 +++++++++++++++++- package.json | 12 +- public/index.html | 4 + src/App.js | 29 +- src/App.sass | 19 +- src/index.js | 3 +- src/js/components/Books/Book.sass | 7 + src/js/components/Books/Bookcard/Bookcard.js | 63 +++ .../components/Books/Bookcard/Bookcard.sass | 26 ++ src/js/components/Books/Books.js | 28 ++ .../components/ForgotSignIn/ForgotSignIn.js | 13 + src/js/components/Home/Countries.js | 60 +++ src/js/components/Home/Home.js | 34 +- src/js/components/Home/Home.scss | 3 + src/js/components/Home/Map.js | 70 ++++ src/js/components/Home/MapStyles.sass | 21 + src/js/components/LoginPage/ButtonStyles.css | 9 + src/js/components/LoginPage/Login.js | 146 +++++++ src/js/components/LoginPage/Login.sass | 8 + src/js/components/Navbar/Navbar.js | 31 +- src/js/components/Navbar/Navbar.sass | 16 +- src/js/components/RegisterPage/SignUp.js | 139 +++++++ src/js/components/RegisterPage/SignUp.sass | 6 + src/js/components/Volunteer/Volunteer.js | 55 +++ src/js/components/Volunteer/volunteer.scss | 9 + .../VolunteerEvent/volunteerEvent.js | 61 +++ .../VolunteerEvent/volunteerEvent.scss | 56 +++ src/js/constants/countries.json | 245 +++++++++++ src/js/helpers/history.js | 3 + src/js/helpers/index.js | 1 + src/js/helpers/validator.js | 98 +++++ src/js/services/index.js | 1 + src/js/services/user.service.js | 108 +++++ src/js/store/index.js | 3 - 38 files changed, 1735 insertions(+), 62 deletions(-) create mode 100644 .idea/jsLinters/eslint.xml create mode 100644 .vs/ProjectSettings.json create mode 100644 .vs/slnx.sqlite create mode 100644 .vscode/launch.json create mode 100644 src/js/components/Books/Book.sass create mode 100644 src/js/components/Books/Bookcard/Bookcard.js create mode 100644 src/js/components/Books/Bookcard/Bookcard.sass create mode 100644 src/js/components/Books/Books.js create mode 100644 src/js/components/ForgotSignIn/ForgotSignIn.js create mode 100644 src/js/components/Home/Countries.js create mode 100644 src/js/components/Home/Home.scss create mode 100644 src/js/components/Home/Map.js create mode 100644 src/js/components/Home/MapStyles.sass create mode 100644 src/js/components/LoginPage/ButtonStyles.css create mode 100644 src/js/components/LoginPage/Login.js create mode 100644 src/js/components/LoginPage/Login.sass create mode 100644 src/js/components/RegisterPage/SignUp.js create mode 100644 src/js/components/RegisterPage/SignUp.sass create mode 100644 src/js/components/Volunteer/Volunteer.js create mode 100644 src/js/components/Volunteer/volunteer.scss create mode 100644 src/js/components/VolunteerEvent/volunteerEvent.js create mode 100644 src/js/components/VolunteerEvent/volunteerEvent.scss create mode 100644 src/js/constants/countries.json create mode 100644 src/js/helpers/history.js create mode 100644 src/js/helpers/index.js create mode 100644 src/js/helpers/validator.js create mode 100644 src/js/services/index.js create mode 100644 src/js/services/user.service.js diff --git a/.idea/jsLinters/eslint.xml b/.idea/jsLinters/eslint.xml new file mode 100644 index 0000000..2d2c6e3 --- /dev/null +++ b/.idea/jsLinters/eslint.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.vs/ProjectSettings.json b/.vs/ProjectSettings.json new file mode 100644 index 0000000..f8b4888 --- /dev/null +++ b/.vs/ProjectSettings.json @@ -0,0 +1,3 @@ +{ + "CurrentProjectSetting": null +} \ No newline at end of file diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..c93d862d2ddee30311bd97b71e769e273289326b GIT binary patch literal 86016 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 WMc4!xHb9qFQWvFSrTS{ZM*kn;%S3$u literal 0 HcmV?d00001 diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..f6b35a0 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,15 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "chrome", + "request": "launch", + "name": "Launch Chrome against localhost", + "url": "http://localhost:3000", + "webRoot": "${workspaceFolder}" + } + ] +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index f35a7a9..67a8039 100644 --- a/package-lock.json +++ b/package-lock.json @@ -884,6 +884,31 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" }, + "@react-bootstrap/react-popper": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@react-bootstrap/react-popper/-/react-popper-1.2.1.tgz", + "integrity": "sha512-4l3q7LcZEhrSkI4d3Ie3g4CdrXqqTexXX4PFT45CB0z5z2JUbaxgRwKNq7r5j2bLdVpZm+uvUGqxJw8d9vgbJQ==", + "dev": true, + "requires": { + "babel-runtime": "6.x.x", + "create-react-context": "^0.2.1", + "popper.js": "^1.14.4", + "prop-types": "^15.6.1", + "typed-styles": "^0.0.5", + "warning": "^3.0.0" + }, + "dependencies": { + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, "@svgr/core": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/@svgr/core/-/core-2.4.1.tgz", @@ -3071,6 +3096,12 @@ } } }, + "classnames": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==", + "dev": true + }, "clean-css": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", @@ -3467,6 +3498,16 @@ "sha.js": "^2.4.8" } }, + "create-react-context": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.3.tgz", + "integrity": "sha512-CQBmD0+QGgTaxDL3OX1IDXYqjkp2It4RIbcb99jS6AEg27Ga+a9G3JtK6SIu0HBwPLZlmwt9F7UwWA4Bn92Rag==", + "dev": true, + "requires": { + "fbjs": "^0.8.0", + "gud": "^1.0.0" + } + }, "cross-env": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.0.tgz", @@ -4362,6 +4403,15 @@ "utila": "~0.4" } }, + "dom-helpers": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", + "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.1.2" + } + }, "dom-serializer": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", @@ -4500,6 +4550,15 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, + "encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "dev": true, + "requires": { + "iconv-lite": "~0.4.13" + } + }, "end-of-stream": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", @@ -5521,6 +5580,38 @@ "bser": "^2.0.0" } }, + "fbjs": { + "version": "0.8.17", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", + "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", + "dev": true, + "requires": { + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", + "dev": true + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "requires": { + "asap": "~2.0.3" + } + } + } + }, "figgy-pudding": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", @@ -6106,7 +6197,8 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true + "bundled": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -6124,11 +6216,13 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true + "bundled": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -6146,7 +6240,8 @@ }, "concat-map": { "version": "0.0.1", - "bundled": true + "bundled": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", @@ -6278,6 +6373,7 @@ "minimatch": { "version": "3.0.4", "bundled": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -6467,7 +6563,8 @@ }, "safe-buffer": { "version": "5.1.1", - "bundled": true + "bundled": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -6515,6 +6612,7 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -6553,11 +6651,13 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true + "bundled": true, + "optional": true }, "yallist": { "version": "3.0.2", - "bundled": true + "bundled": true, + "optional": true } } }, @@ -6782,6 +6882,12 @@ "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" }, + "gud": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", + "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==", + "dev": true + }, "gzip-size": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.0.0.tgz", @@ -8019,6 +8125,16 @@ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "dev": true, + "requires": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -8935,6 +9051,12 @@ "topo": "2.x.x" } }, + "jquery": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", + "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==", + "dev": true + }, "js-base64": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", @@ -9085,6 +9207,12 @@ "resolved": "https://registry.npmjs.org/junk/-/junk-1.0.3.tgz", "integrity": "sha1-h75jSIZJy9ym9Tqzm+yczSNH9ZI=" }, + "keycode": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.0.tgz", + "integrity": "sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ=", + "dev": true + }, "killable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", @@ -10798,6 +10926,16 @@ "lower-case": "^1.1.1" } }, + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dev": true, + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, "node-forge": { "version": "0.7.5", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", @@ -11577,6 +11715,12 @@ "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.1.0.tgz", "integrity": "sha512-CPCdcFxx7fEcDMWTDjXe2Wypt4JuMt4q5Q2UrpTcyBBkLiCIyPEh/mCGmUWIcNkKGyXwQ9Y2wVhlKm6ketiBNQ==" }, + "popper.js": { + "version": "1.14.7", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.7.tgz", + "integrity": "sha512-4q1hNvoUre/8srWsH7hnoSJ5xVmIL4qgz+s4qf2TnJIMyZFUFMGH+9vE7mXynAlHSZ/NdTmmow86muD0myUkVQ==", + "dev": true + }, "portfinder": { "version": "1.0.20", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz", @@ -15045,9 +15189,9 @@ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" }, "prettier": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.16.2.tgz", - "integrity": "sha512-vBMdCn1LjrFi2CpBsiWVKOq+WP9poXDTIGPe2sG3eE33LQ3b6IUgmaMjLZKKY+frD/8FqPeEK1qAx9mOV8iruA==" + "version": "1.16.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.16.4.tgz", + "integrity": "sha512-ZzWuos7TI5CKUeQAtFd6Zhm2s6EpAD/ZLApIhsF9pRvRtM1RFo61dM/4MSRUA0SuLugA/zgrZD8m0BaY46Og7g==" }, "pretty-bytes": { "version": "4.0.2", @@ -15138,6 +15282,27 @@ "reflect.ownkeys": "^0.2.0" } }, + "prop-types-extra": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.0.tgz", + "integrity": "sha512-QFyuDxvMipmIVKD2TwxLVPzMnO4e5oOf1vr3tJIomL8E7d0lr6phTHd5nkPhFIzTD1idBLLEPeylL9g+rrTzRg==", + "dev": true, + "requires": { + "react-is": "^16.3.2", + "warning": "^3.0.0" + }, + "dependencies": { + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, "proxy-addr": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", @@ -15349,6 +15514,52 @@ } } }, + "react-bootstrap": { + "version": "1.0.0-beta.5", + "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-1.0.0-beta.5.tgz", + "integrity": "sha512-Osm0OtTbYwfsT1rpu88ESWuAHZxfaHFNKFiW8w3w+6YY9/bLEPHbGRZA6W21fg5yvcuKN9hJKT857TTHgY7SoQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.2.0", + "@react-bootstrap/react-popper": "1.2.1", + "classnames": "^2.2.6", + "dom-helpers": "^3.4.0", + "invariant": "^2.2.3", + "keycode": "^2.1.2", + "popper.js": "^1.14.6", + "prop-types": "^15.6.2", + "prop-types-extra": "^1.1.0", + "react-context-toolbox": "^2.0.2", + "react-overlays": "^1.0.0", + "react-prop-types": "^0.4.0", + "react-transition-group": "^2.5.1", + "uncontrollable": "^6.0.0", + "warning": "^4.0.1" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.1.tgz", + "integrity": "sha512-7jGW8ppV0ant637pIqAcFfQDDH1orEPGJb8aXfUozuCU3QqX7rX4DA8iwrbPrR1hcH0FTTHz47yQnk+bl5xHQA==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.12.0" + } + }, + "regenerator-runtime": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==", + "dev": true + } + } + }, + "react-context-toolbox": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/react-context-toolbox/-/react-context-toolbox-2.0.2.tgz", + "integrity": "sha512-tY4j0imkYC3n5ZlYSgFkaw7fmlCp3IoQQ6DxpqeNHzcD0hf+6V+/HeJxviLUZ1Rv1Yn3N3xyO2EhkkZwHn0m1A==", + "dev": true + }, "react-dev-utils": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-7.0.1.tgz", @@ -15453,11 +15664,115 @@ "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz", "integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==" }, + "react-flags-select": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/react-flags-select/-/react-flags-select-1.1.10.tgz", + "integrity": "sha512-8bGih8XVIXwXpuio0I7MqU3nqh82Hdj28rS21HzNUAVdKGtO3lqY6TLDNSTpanAupXSXGfkajkpFQv5XsRvUfA==", + "requires": { + "prop-types": "^15.5.8" + } + }, + "react-geocode": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/react-geocode/-/react-geocode-0.1.2.tgz", + "integrity": "sha512-XEJkEPmwufeGykul/eqJyA1WduXa3IGxJam5BA0jzYfs/KMjCrtQjJl1FcH9Cybn05oQnRVUsRW8OGwEmTER5g==" + }, "react-is": { "version": "16.7.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.7.0.tgz", "integrity": "sha512-Z0VRQdF4NPDoI0tsXVMLkJLiwEBa+RP66g0xDHxgxysxSoCUccSten4RTF/UFvZF1dZvZ9Zu1sx+MDXwcOR34g==" }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", + "dev": true + }, + "react-motion": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/react-motion/-/react-motion-0.5.2.tgz", + "integrity": "sha512-9q3YAvHoUiWlP3cK0v+w1N5Z23HXMj4IF4YuvjvWegWqNPfLXsOBE/V7UvQGpXxHFKRQQcNcVQE31g9SB/6qgQ==", + "requires": { + "performance-now": "^0.2.0", + "prop-types": "^15.5.8", + "raf": "^3.1.0" + }, + "dependencies": { + "performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=" + } + } + }, + "react-overlays": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/react-overlays/-/react-overlays-1.1.1.tgz", + "integrity": "sha512-acL+HwhD1I/AY1Hz7qWQvnBaXEZt5K+huZ2AySdBtJORKNSxnLrd6j2FL3KOEM3rQQWuzAubCYiinlrm2XxXFA==", + "dev": true, + "requires": { + "classnames": "^2.2.6", + "dom-helpers": "^3.4.0", + "prop-types": "^15.6.2", + "prop-types-extra": "^1.1.0", + "react-context-toolbox": "^2.0.2", + "react-popper": "^1.3.2", + "uncontrollable": "^6.0.0", + "warning": "^4.0.2" + } + }, + "react-popper": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-1.3.3.tgz", + "integrity": "sha512-ynMZBPkXONPc5K4P5yFWgZx5JGAUIP3pGGLNs58cfAPgK67olx7fmLp+AdpZ0+GoQ+ieFDa/z4cdV6u7sioH6w==", + "dev": true, + "requires": { + "@babel/runtime": "^7.1.2", + "create-react-context": "<=0.2.2", + "popper.js": "^1.14.4", + "prop-types": "^15.6.1", + "typed-styles": "^0.0.7", + "warning": "^4.0.2" + }, + "dependencies": { + "create-react-context": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.2.tgz", + "integrity": "sha512-KkpaLARMhsTsgp0d2NA/R94F/eDLbhXERdIq3LvX2biCAXcDvHYoOqHfWCHf1+OLj+HKBotLG3KqaOOf+C1C+A==", + "dev": true, + "requires": { + "fbjs": "^0.8.0", + "gud": "^1.0.0" + } + }, + "typed-styles": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/typed-styles/-/typed-styles-0.0.7.tgz", + "integrity": "sha512-pzP0PWoZUhsECYjABgCGQlRGL1n7tOHsgwYv3oIiEpJwGhFTuty/YNeduxQYzXXa3Ge5BdT6sHYIQYpl4uJ+5Q==", + "dev": true + } + } + }, + "react-prop-types": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/react-prop-types/-/react-prop-types-0.4.0.tgz", + "integrity": "sha1-+ZsL+0AGkpya8gUefBQUpcdbk9A=", + "dev": true, + "requires": { + "warning": "^3.0.0" + }, + "dependencies": { + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, "react-redux": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-6.0.0.tgz", @@ -15606,6 +15921,14 @@ "topojson-client": "2.1.0" } }, + "react-social-login-buttons": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/react-social-login-buttons/-/react-social-login-buttons-2.3.0.tgz", + "integrity": "sha512-5+4jGSXKrC3+rCKTWiP7ETOKd72dLrqsbdbvZOXMcmOdVuBWRzZolbFVtWTC3SGrAKWlTQIXMl0sDpwiVhrf0A==", + "requires": { + "prop-types": "^15.5.10" + } + }, "react-test-renderer": { "version": "16.7.0", "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.7.0.tgz", @@ -15618,6 +15941,18 @@ "scheduler": "^0.12.0" } }, + "react-transition-group": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.5.3.tgz", + "integrity": "sha512-2DGFck6h99kLNr8pOFk+z4Soq3iISydwOFeeEVPjTN6+Y01CmvbWmnN02VuTWyFdnRtIDPe+wy2q6Ui8snBPZg==", + "dev": true, + "requires": { + "dom-helpers": "^3.3.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2", + "react-lifecycles-compat": "^3.0.4" + } + }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", @@ -16027,9 +16362,9 @@ } }, "redux-devtools-extension": { - "version": "2.13.7", - "resolved": "https://registry.npmjs.org/redux-devtools-extension/-/redux-devtools-extension-2.13.7.tgz", - "integrity": "sha512-F2GlWMWxCTJGRjJ+GSZcGDcVAj6Pbf77FKb4C9S8eni5Eah6UBGNwxNj8K1MTtmItdZH1Wx+EvIifHN2KKcQrw==" + "version": "2.13.8", + "resolved": "https://registry.npmjs.org/redux-devtools-extension/-/redux-devtools-extension-2.13.8.tgz", + "integrity": "sha512-8qlpooP2QqPtZHQZRhx3x3OP5skEV1py/zUdMY28WNAocbafxdG2tRD1MWE7sp8obGMNYuLWanhhQ7EQvT1FBg==" }, "reflect.ownkeys": { "version": "0.2.0", @@ -16732,9 +17067,9 @@ } }, "sass": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.16.1.tgz", - "integrity": "sha512-lKoiOI/zsAHrdYAdcWBM0pynYCmK0t7N9OAVjxAoYvo0mDBQmlhM6w+zNuFQYeS6d3VF+7KVWwkX6oWNMJxVag==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.17.0.tgz", + "integrity": "sha512-aFi9RQqrCYkHB2DaLKBBbdUhos1N5o3l1ke9N5JqWzgSPmYwZsdmA+ViPVatUy/RPA21uejgYVUXM7GCh8lcdw==", "requires": { "chokidar": "^2.0.0" } @@ -18279,11 +18614,23 @@ "mime-types": "~2.1.18" } }, + "typed-styles": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/typed-styles/-/typed-styles-0.0.5.tgz", + "integrity": "sha512-ht+rEe5UsdEBAa3gr64+QjUOqjOLJfWLvl5HZR5Ev9uo/OnD3p43wPeFSB1hNFc13GXQF/JU1Bn0YHLUqBRIlw==", + "dev": true + }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, + "ua-parser-js": { + "version": "0.7.19", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.19.tgz", + "integrity": "sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ==", + "dev": true + }, "uglify-js": { "version": "3.4.9", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", @@ -18404,6 +18751,15 @@ } } }, + "uncontrollable": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-6.0.0.tgz", + "integrity": "sha512-gmy2ESW40LGbijSbW5piBGiPv55IgyDbjQcMr7LkDR5icpw/06UgMqULAGDBAcFn2a9d/SRPgcb3oo8hdEUfIw==", + "dev": true, + "requires": { + "invariant": "^2.2.4" + } + }, "unfetch": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-3.0.0.tgz", diff --git a/package.json b/package.json index efb2262..64454e5 100644 --- a/package.json +++ b/package.json @@ -6,16 +6,21 @@ "bootstrap": "^4.2.1", "next": "^7.0.2", "node-sass": "^4.11.0", + "prettier": "^1.16.4", "react": "^16.7.0", "react-dom": "^16.7.0", + "react-flags-select": "^1.1.10", + "react-geocode": "^0.1.2", + "react-motion": "^0.5.2", "react-redux": "^6.0.0", "react-router-dom": "^4.3.1", "react-script": "^2.0.5", "react-scripts": "^2.1.3", "react-simple-maps": "^0.12.1", + "react-social-login-buttons": "^2.3.0", "redux": "^4.0.1", - "redux-devtools-extension": "^2.13.7", - "sass": "^1.16.1", + "redux-devtools-extension": "^2.13.8", + "sass": "^1.17.0", "serve": "^10.1.1", "victory": "^31.2.0" }, @@ -37,9 +42,10 @@ ], "devDependencies": { "cross-env": "^5.2.0", + "jquery": "^3.3.1", + "react-bootstrap": "^1.0.0-beta.5", "react-test-renderer": "^16.7.0", "redux": "^4.0.1", "uuid": "^3.3.2" } } - diff --git a/public/index.html b/public/index.html index ff63965..c8bdd93 100644 --- a/public/index.html +++ b/public/index.html @@ -3,6 +3,7 @@ + + + +