From 8d6338f66a11daa89deddd799e118431d7ff5af2 Mon Sep 17 00:00:00 2001 From: Tess Lameyer Date: Thu, 20 Feb 2020 16:21:56 -0800 Subject: [PATCH 01/11] Tess and JBJ boiler plate config and scaffolding --- .eslintrc | 3 + package-lock.json | 146 ++++++++++++++++++ package.json | 6 +- src/components/adminHome/AdminHome.js | 0 .../adminHome/groupDetail/GroupDetail.js | 0 .../adminHome/groupDetail/devList/DevList.js | 0 .../adminHome/groupDetail/devList/dev/Dev.js | 0 .../adminHome/groupList/GroupList.js | 0 .../adminHome/groupList/group/Group.js | 0 src/components/auth/AuthPage.js | 1 + src/components/auth/authForm/AuthForm.js | 1 + src/components/auth/authForm/Login.js | 0 src/components/auth/authForm/Signup.js | 0 src/components/header/Header.js | 0 src/components/loading/Loading.js | 0 src/store.js | 0 16 files changed, 156 insertions(+), 1 deletion(-) create mode 100644 src/components/adminHome/AdminHome.js create mode 100644 src/components/adminHome/groupDetail/GroupDetail.js create mode 100644 src/components/adminHome/groupDetail/devList/DevList.js create mode 100644 src/components/adminHome/groupDetail/devList/dev/Dev.js create mode 100644 src/components/adminHome/groupList/GroupList.js create mode 100644 src/components/adminHome/groupList/group/Group.js create mode 100644 src/components/auth/AuthPage.js create mode 100644 src/components/auth/authForm/AuthForm.js create mode 100644 src/components/auth/authForm/Login.js create mode 100644 src/components/auth/authForm/Signup.js create mode 100644 src/components/header/Header.js create mode 100644 src/components/loading/Loading.js create mode 100644 src/store.js diff --git a/.eslintrc b/.eslintrc index 8caffa3..aafeef2 100644 --- a/.eslintrc +++ b/.eslintrc @@ -9,6 +9,9 @@ "browser": true, "jest": true }, + "globals": { + "process": true + }, "plugins": [ "babel", "react" diff --git a/package-lock.json b/package-lock.json index 5accd92..71ce9b3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -932,6 +932,14 @@ "@babel/plugin-transform-react-jsx-source": "^7.8.3" } }, + "@babel/runtime": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.4.tgz", + "integrity": "sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, "@babel/template": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz", @@ -5950,6 +5958,11 @@ "dev": true, "optional": true }, + "gud": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", + "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" + }, "handle-thing": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", @@ -6077,6 +6090,19 @@ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true }, + "history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "requires": { + "@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" + } + }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -6088,6 +6114,14 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "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==", + "requires": { + "react-is": "^16.7.0" + } + }, "homedir-polyfill": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", @@ -8765,6 +8799,16 @@ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, + "mini-create-react-context": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.3.2.tgz", + "integrity": "sha512-2v+OeetEyliMt5VHMXsBhABoJ0/M4RCe7fatd/fBy6SMiKazUSEt3gxxypfnk2SHMkdBYvorHRoQxuGoiwbzAw==", + "requires": { + "@babel/runtime": "^7.4.0", + "gud": "^1.0.0", + "tiny-warning": "^1.0.2" + } + }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -10121,6 +10165,64 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.12.0.tgz", "integrity": "sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q==" }, + "react-redux": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.0.tgz", + "integrity": "sha512-EvCAZYGfOLqwV7gh849xy9/pt55rJXPwmYvI4lilPM5rUT/1NxuuN59ipdBksRVSvz0KInbPnp4IfoXJXCqiDA==", + "requires": { + "@babel/runtime": "^7.5.5", + "hoist-non-react-statics": "^3.3.0", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2", + "react-is": "^16.9.0" + } + }, + "react-router": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.1.2.tgz", + "integrity": "sha512-yjEuMFy1ONK246B+rsa0cUam5OeAQ8pyclRDgpxuSCrAlJ1qN9uZ5IgyKC7gQg0w8OM50NXHEegPh/ks9YuR2A==", + "requires": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "mini-create-react-context": "^0.3.0", + "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" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "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==", + "requires": { + "isarray": "0.0.1" + } + } + } + }, + "react-router-dom": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.1.2.tgz", + "integrity": "sha512-7BPHAaIwWpZS074UKaw1FjVdZBSVWEk8IuDXdB+OkLb8vd/WRQIpA4ag9WQk61aEfQs47wHyjWUoUGGZxpQXew==", + "requires": { + "@babel/runtime": "^7.1.2", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.1.2", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + } + }, "react-test-renderer": { "version": "16.12.0", "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.12.0.tgz", @@ -10290,6 +10392,20 @@ "util.promisify": "^1.0.0" } }, + "redux": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.5.tgz", + "integrity": "sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==", + "requires": { + "loose-envify": "^1.4.0", + "symbol-observable": "^1.2.0" + } + }, + "redux-thunk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz", + "integrity": "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==" + }, "reflect.ownkeys": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz", @@ -10311,6 +10427,11 @@ "regenerate": "^1.4.0" } }, + "regenerator-runtime": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==" + }, "regenerator-transform": { "version": "0.14.1", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz", @@ -10582,6 +10703,11 @@ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, + "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==" + }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", @@ -11689,6 +11815,11 @@ } } }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" + }, "symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", @@ -11852,6 +11983,16 @@ "setimmediate": "^1.0.4" } }, + "tiny-invariant": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz", + "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==" + }, + "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==" + }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -12319,6 +12460,11 @@ } } }, + "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==" + }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", diff --git a/package.json b/package.json index 3e29e2b..b5c405a 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,11 @@ "license": "ISC", "dependencies": { "react": "^16.12.0", - "react-dom": "^16.12.0" + "react-dom": "^16.12.0", + "react-redux": "^7.2.0", + "react-router-dom": "^5.1.2", + "redux": "^4.0.5", + "redux-thunk": "^2.3.0" }, "devDependencies": { "@babel/core": "^7.8.4", diff --git a/src/components/adminHome/AdminHome.js b/src/components/adminHome/AdminHome.js new file mode 100644 index 0000000..e69de29 diff --git a/src/components/adminHome/groupDetail/GroupDetail.js b/src/components/adminHome/groupDetail/GroupDetail.js new file mode 100644 index 0000000..e69de29 diff --git a/src/components/adminHome/groupDetail/devList/DevList.js b/src/components/adminHome/groupDetail/devList/DevList.js new file mode 100644 index 0000000..e69de29 diff --git a/src/components/adminHome/groupDetail/devList/dev/Dev.js b/src/components/adminHome/groupDetail/devList/dev/Dev.js new file mode 100644 index 0000000..e69de29 diff --git a/src/components/adminHome/groupList/GroupList.js b/src/components/adminHome/groupList/GroupList.js new file mode 100644 index 0000000..e69de29 diff --git a/src/components/adminHome/groupList/group/Group.js b/src/components/adminHome/groupList/group/Group.js new file mode 100644 index 0000000..e69de29 diff --git a/src/components/auth/AuthPage.js b/src/components/auth/AuthPage.js new file mode 100644 index 0000000..fd30eec --- /dev/null +++ b/src/components/auth/AuthPage.js @@ -0,0 +1 @@ +//container for both signup and login \ No newline at end of file diff --git a/src/components/auth/authForm/AuthForm.js b/src/components/auth/authForm/AuthForm.js new file mode 100644 index 0000000..feaee31 --- /dev/null +++ b/src/components/auth/authForm/AuthForm.js @@ -0,0 +1 @@ +//HOC \ No newline at end of file diff --git a/src/components/auth/authForm/Login.js b/src/components/auth/authForm/Login.js new file mode 100644 index 0000000..e69de29 diff --git a/src/components/auth/authForm/Signup.js b/src/components/auth/authForm/Signup.js new file mode 100644 index 0000000..e69de29 diff --git a/src/components/header/Header.js b/src/components/header/Header.js new file mode 100644 index 0000000..e69de29 diff --git a/src/components/loading/Loading.js b/src/components/loading/Loading.js new file mode 100644 index 0000000..e69de29 diff --git a/src/store.js b/src/store.js new file mode 100644 index 0000000..e69de29 From ef23afc67740a94de7d45082c889ba69f8173dc3 Mon Sep 17 00:00:00 2001 From: Tess Lameyer Date: Thu, 20 Feb 2020 16:24:59 -0800 Subject: [PATCH 02/11] Tess and JBJ Header component draft --- src/components/header/Header.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/components/header/Header.js b/src/components/header/Header.js index e69de29..600f30f 100644 --- a/src/components/header/Header.js +++ b/src/components/header/Header.js @@ -0,0 +1,12 @@ +import React from 'react'; + +const Header = () => { + + return ( + <> +

Commit Kitty

+ + ); +}; + +export default Header; From bbf8e1e3299d0a42ba4f6168a0c7a7d2a8f8344a Mon Sep 17 00:00:00 2001 From: Tess Lameyer Date: Thu, 20 Feb 2020 16:29:15 -0800 Subject: [PATCH 03/11] Tess and JBJ Loading component drafted --- src/assets/loading.gif | Bin 0 -> 39680 bytes src/components/loading/Loading.js | 8 ++++++++ 2 files changed, 8 insertions(+) create mode 100644 src/assets/loading.gif diff --git a/src/assets/loading.gif b/src/assets/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..eeb838377ab8a23ab2efe2c4363d70ee98aed825 GIT binary patch literal 39680 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 ( + +); + +export default Loading; From 7aeb23b7a16d9d31c125b570090c3b23c24decd7 Mon Sep 17 00:00:00 2001 From: Tess Lameyer Date: Thu, 20 Feb 2020 16:39:14 -0800 Subject: [PATCH 04/11] Tess JBJ Dev and DevList drafts --- .../adminHome/groupDetail/devList/DevList.js | 25 +++++++++++++++++++ .../adminHome/groupDetail/devList/dev/Dev.js | 18 +++++++++++++ src/components/auth/AuthPage.js | 16 +++++++++++- src/components/auth/authForm/AuthForm.js | 3 ++- 4 files changed, 60 insertions(+), 2 deletions(-) diff --git a/src/components/adminHome/groupDetail/devList/DevList.js b/src/components/adminHome/groupDetail/devList/DevList.js index e69de29..fa7177a 100644 --- a/src/components/adminHome/groupDetail/devList/DevList.js +++ b/src/components/adminHome/groupDetail/devList/DevList.js @@ -0,0 +1,25 @@ +import React from 'react'; +import Dev from './dev/Dev'; + +const DevList = () => { + + const array = [ + + ]; + + const listOfDevElements = array.map(dev => ( +
  • + +
  • + )); + + + return ( +
      + {listOfDevElements} +
    + ); + +}; + +export default DevList; diff --git a/src/components/adminHome/groupDetail/devList/dev/Dev.js b/src/components/adminHome/groupDetail/devList/dev/Dev.js index e69de29..2b55ad2 100644 --- a/src/components/adminHome/groupDetail/devList/dev/Dev.js +++ b/src/components/adminHome/groupDetail/devList/dev/Dev.js @@ -0,0 +1,18 @@ +import React from 'react'; + +const Dev = () => { + + return ( + <> + {/* */} +

    displayName

    +

    repo name

    +

    commit message

    +

    timestamp

    + + + ); + +}; + +export default Dev; diff --git a/src/components/auth/AuthPage.js b/src/components/auth/AuthPage.js index fd30eec..2570820 100644 --- a/src/components/auth/AuthPage.js +++ b/src/components/auth/AuthPage.js @@ -1 +1,15 @@ -//container for both signup and login \ No newline at end of file +//container for both signup and login +import React from 'react'; + +const AuthPage = () => { + + return ( + <> + + + + ); + +}; + +export default AuthPage; diff --git a/src/components/auth/authForm/AuthForm.js b/src/components/auth/authForm/AuthForm.js index feaee31..d6625aa 100644 --- a/src/components/auth/authForm/AuthForm.js +++ b/src/components/auth/authForm/AuthForm.js @@ -1 +1,2 @@ -//HOC \ No newline at end of file +//HOC + From 5b0ba9253257d39de7ce1a061779ccfcdbca8f52 Mon Sep 17 00:00:00 2001 From: Tess Lameyer Date: Thu, 20 Feb 2020 16:46:08 -0800 Subject: [PATCH 05/11] Tess JBJ hardcoded data for devlist --- .../adminHome/groupDetail/devList/DevList.js | 17 ++++++++++++--- .../adminHome/groupDetail/devList/dev/Dev.js | 21 ++++++++++++------- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/src/components/adminHome/groupDetail/devList/DevList.js b/src/components/adminHome/groupDetail/devList/DevList.js index fa7177a..47b8c67 100644 --- a/src/components/adminHome/groupDetail/devList/DevList.js +++ b/src/components/adminHome/groupDetail/devList/DevList.js @@ -4,7 +4,20 @@ import Dev from './dev/Dev'; const DevList = () => { const array = [ - + { + imageURL: 'https://placebear.com/100/100', + timestamp: '9249359', + displayName: 'dev display name 1', + repoName: 'repo1', + commitMessage: 'hello this is my commit' + }, + { + imageURL: 'https://placebear.com/101/100', + timestamp: '92493654', + displayName: 'dev display name 2', + repoName: 'repo2', + commitMessage: 'hello this is my commit2' + } ]; const listOfDevElements = array.map(dev => ( @@ -13,13 +26,11 @@ const DevList = () => { )); - return (
      {listOfDevElements}
    ); - }; export default DevList; diff --git a/src/components/adminHome/groupDetail/devList/dev/Dev.js b/src/components/adminHome/groupDetail/devList/dev/Dev.js index 2b55ad2..854d4e6 100644 --- a/src/components/adminHome/groupDetail/devList/dev/Dev.js +++ b/src/components/adminHome/groupDetail/devList/dev/Dev.js @@ -1,18 +1,25 @@ import React from 'react'; +import PropTypes from 'prop-types'; -const Dev = () => { +const Dev = ({ imageURL, timestamp, displayName, commitMessage, repoName }) => { return ( <> - {/* */} -

    displayName

    -

    repo name

    -

    commit message

    -

    timestamp

    + +

    {displayName}

    +

    {repoName}

    +

    {commitMessage}

    +

    {timestamp}

    - ); +}; +Dev.propTypes = { + imageURL: PropTypes.string.isRequired, + timestamp: PropTypes.string.isRequired, + displayName: PropTypes.string.isRequired, + commitMessage: PropTypes.string.isRequired, + repoName: PropTypes.string.isRequired }; export default Dev; From 5fe71fea051487f98b5e582c77360bfd26234a70 Mon Sep 17 00:00:00 2001 From: Tess Lameyer Date: Tue, 25 Feb 2020 09:25:22 -0800 Subject: [PATCH 06/11] prepping for pull --- src/components/App.test.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/App.test.js b/src/components/App.test.js index 765b31d..9565346 100644 --- a/src/components/App.test.js +++ b/src/components/App.test.js @@ -8,4 +8,3 @@ describe('App component', () => { expect(wrapper).toMatchSnapshot(); }); }); - \ No newline at end of file From 843b83c8b4b95bbe9026dc3efc05df432750564f Mon Sep 17 00:00:00 2001 From: Tess Lameyer Date: Thu, 27 Feb 2020 16:01:19 -0800 Subject: [PATCH 07/11] prepping to pull fresh dev --- package-lock.json | 35 +++++++++++++++++-- package.json | 1 + .../adminDataView/ChartNumberOfCommits.js | 16 +++++++++ src/hooks/useGetCommits.js | 2 +- 4 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 src/components/adminDataView/ChartNumberOfCommits.js diff --git a/package-lock.json b/package-lock.json index 71ce9b3..9f40961 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2958,6 +2958,32 @@ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, + "chart.js": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.3.tgz", + "integrity": "sha512-+2jlOobSk52c1VU6fzkh3UwqHMdSlgH1xFv9FKMqHiNCpXsGPQa/+81AFa+i3jZ253Mq9aAycPwDjnn1XbRNNw==", + "requires": { + "chartjs-color": "^2.1.0", + "moment": "^2.10.2" + } + }, + "chartjs-color": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz", + "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==", + "requires": { + "chartjs-color-string": "^0.6.0", + "color-convert": "^1.9.3" + } + }, + "chartjs-color-string": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz", + "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==", + "requires": { + "color-name": "^1.0.0" + } + }, "cheerio": { "version": "1.0.0-rc.3", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", @@ -3826,7 +3852,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -3834,8 +3859,7 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "combined-stream": { "version": "1.0.8", @@ -8892,6 +8916,11 @@ } } }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" + }, "moo": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.1.tgz", diff --git a/package.json b/package.json index 5c7fdbf..55cb6e5 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "author": "", "license": "ISC", "dependencies": { + "chart.js": "^2.9.3", "react": "^16.12.0", "react-dom": "^16.12.0", "react-redux": "^7.2.0", diff --git a/src/components/adminDataView/ChartNumberOfCommits.js b/src/components/adminDataView/ChartNumberOfCommits.js new file mode 100644 index 0000000..8d2fb56 --- /dev/null +++ b/src/components/adminDataView/ChartNumberOfCommits.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { useGetCommits } from '../../hooks/useGetCommits'; + +export const ChartNumberOfCommits = () => { + const { handleGetCommits, groupCommits } = useGetCommits(); + + console.log(handleGetCommits, 'this is handle get commits'); + console.log(groupCommits, 'this is group commits'); + + + return ( + <> + {/* where the chart will go */} + + ); +}; diff --git a/src/hooks/useGetCommits.js b/src/hooks/useGetCommits.js index b8214b5..9ca1643 100644 --- a/src/hooks/useGetCommits.js +++ b/src/hooks/useGetCommits.js @@ -19,7 +19,7 @@ export const useGetCommits = () => { }; const handleGetCommits = () => { - if (currentGroup) { + if(currentGroup) { const groupNames = currentGroup.map(dev => ( { name: dev.devName, From e56f3fbf1718c73e4b433c34dc8c8fe48395c8a5 Mon Sep 17 00:00:00 2001 From: Tess Lameyer Date: Thu, 27 Feb 2020 16:44:32 -0800 Subject: [PATCH 08/11] prepping to pull fresh dev --- src/components/adminGroupForm/addDev/AddDev.js | 2 +- src/hooks/usePreview.js | 5 ++++- src/services/gitHubUserServices.js | 7 ++++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/components/adminGroupForm/addDev/AddDev.js b/src/components/adminGroupForm/addDev/AddDev.js index 2a152ea..843ea35 100644 --- a/src/components/adminGroupForm/addDev/AddDev.js +++ b/src/components/adminGroupForm/addDev/AddDev.js @@ -48,7 +48,7 @@ export const AddDevForm = () => { }; const buttonRender = () => { - if (nameElements.length === 0 && handleElements.length === 0 && devName && handle) { + if(nameElements.length === 0 && handleElements.length === 0 && devName && handle) { return (