diff --git a/client/.gitignore b/client/.gitignore index 4d29575..f21726c 100644 --- a/client/.gitignore +++ b/client/.gitignore @@ -17,6 +17,7 @@ .env.development.local .env.test.local .env.production.local +.env npm-debug.log* yarn-debug.log* diff --git a/client/package.json b/client/package.json index 56c3d66..1e50034 100644 --- a/client/package.json +++ b/client/package.json @@ -7,8 +7,10 @@ "@testing-library/react": "^9.3.2", "@testing-library/user-event": "^7.1.2", "axios": "^0.19.0", + "dotenv": "^8.2.0", "react": "^16.12.0", "react-dom": "^16.12.0", + "react-router-dom": "^5.1.2", "react-scripts": "3.3.0" }, "scripts": { diff --git a/client/public/index.html b/client/public/index.html index e734044..181b888 100644 --- a/client/public/index.html +++ b/client/public/index.html @@ -1,22 +1,25 @@ - - - - - - - - - - - - React App - - - -
- - + --> diff --git a/client/src/App.js b/client/src/App.js index b2fddb5..c3d7179 100644 --- a/client/src/App.js +++ b/client/src/App.js @@ -2,18 +2,10 @@ import React from 'react'; import axios from 'axios'; import CardsContainer from './components/main/cardsContainer'; import Sidebar from './components/sidebar/sidebar'; +import { Route } from 'react-router-dom'; +import About from './components/main/about.js'; import './styles/index.css'; - -/* -App --Sidebar ---Logo (not a component) ---Tract Selection Filter...thing ---Navigation (About, Airtable, Slack) --Main Card Thing ---Cards Component (house all the cards/introduce pagination) ----Individual card component -*/ +require('dotenv').config(); class App extends React.Component { constructor() { @@ -26,13 +18,14 @@ class App extends React.Component { componentDidMount() { axios - .get( - 'https://api.airtable.com/v0/appaTBcrHMzJR6ZnS/lecache?api_key=keyXAJzv0BQkXWbI8' - ) + .get(process.env.REACT_APP_APIKEY) .then(res => { console.log(res.data.records); - this.setState({ users: res.data.records }); - // console.log(res.data.records[0].fields['First Name']); + this.setState({ + users: res.data.records.filter( + record => record.fields['Approved'] + ) + }); }) .catch(error => console.log(error)); } @@ -49,30 +42,69 @@ class App extends React.Component { }); }; + removeFromFilter = program => { + this.setState({ + filters: this.state.filters.filter(item => { + return item !== program; + }) + }); + }; + render() { - if (this.state.users !== '') { - return ( -
- - { - const program = 'Which program are you in?'; - return this.state.filters.length > 0 - ? this.state.filters.includes( - user.fields[program] - ) - : user; - })} - handlesChanges={this.handlesChanges} - /> -
- ); - } else { - return

Loading..

; - } + return ( + <> + {this.state.users !== '' ? ( +
+ + ( + { + const program = + 'Which program are you in?'; + return this.state.filters.length > 0 + ? this.state.filters.includes( + user.fields[program] + ) + : user; + })} + handlesChanges={this.handlesChanges} + removeFromFilter={this.removeFromFilter} + /> + )} + /> + +
+ ) : ( +
+ + ( + + )} + /> +
+ )} + + ); } } diff --git a/client/src/components/main/about.js b/client/src/components/main/about.js new file mode 100644 index 0000000..0f16b20 --- /dev/null +++ b/client/src/components/main/about.js @@ -0,0 +1,109 @@ +import React from 'react'; + +const About = () => { + return ( +
+

What is Le Cache?

+
+

+ LeCache is a directory where you can find contact details + for Lambda students and alumni.{' '} +

+

+ What students can do: +

+ +

+ For Recruiters and Hiring Managers: +

+ +

+ For Non-Lambda Students: +

+

+ See what Lambda grads and students have built over their + time while enrolled within their program.{' '} +

+

+ Inspired by Latinx Who Design by Pablo + Stanley{' '} +

+
+
+

+ The Team +

+

+ Le Cache was created during a Hackathon hosted by Lambda on + January 2, 2020. +

+
+ +
+
+
+ +

+ + Back to Directory + +

+
+
+
+
+ ); +}; + +export default About; diff --git a/client/src/components/main/cardsContainer.js b/client/src/components/main/cardsContainer.js index 22bd445..989d6ff 100644 --- a/client/src/components/main/cardsContainer.js +++ b/client/src/components/main/cardsContainer.js @@ -6,17 +6,76 @@ const CardsContainer = props => { return (
-

✗ Dummy Tag

+ {props.filters.includes('Android Development') ? ( + ✗ Android Developer + ) : ( + <> + )} + {props.filters.includes('Data Science') ? ( + ✗ Data Science + ) : ( + <> + )} + {props.filters.includes('iOS Development') ? ( + ✗ iOS Developer + ) : ( + <> + )} + {props.filters.includes('Web Development') ? ( + ✗ Web Developer + ) : ( + <> + )} +
+ ✗ UX Design +
- {props.users.map((user, index) => ( - - ))} + {props.users.map((user, index) => ( + + ))}
); } else { - return
Loading...
; + return ( +
+
+ {props.filters.includes('Android Development') ? ( + ✗ Android Developer + ) : ( + <> + )} + {props.filters.includes('Data Science') ? ( + ✗ Data Science + ) : ( + <> + )} + {props.filters.includes('iOS Development') ? ( + ✗ iOS Developer + ) : ( + <> + )} + {props.filters.includes('Web Development') ? ( + ✗ Web Developer + ) : ( + <> + )} + {props.filters.includes('UX Design') ? ( + ✗ UX Design + ) : ( + <> + )} +
+
+
+ ); } }; diff --git a/client/src/index.js b/client/src/index.js index b597a44..2c4207d 100644 --- a/client/src/index.js +++ b/client/src/index.js @@ -1,5 +1,11 @@ import React from 'react'; import ReactDOM from 'react-dom'; import App from './App'; +import { BrowserRouter as Router } from 'react-router-dom'; -ReactDOM.render(, document.getElementById('root')); +ReactDOM.render( + + + , + document.getElementById('root') +); diff --git a/client/src/styles/index.css b/client/src/styles/index.css index 0869305..0df6bf8 100644 --- a/client/src/styles/index.css +++ b/client/src/styles/index.css @@ -6,69 +6,148 @@ License: none (public domain) */ -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; } /* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { - display: block; +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; } body { - line-height: 1; + line-height: 1; } -ol, ul { - list-style: none; +ol, +ul { + list-style: none; } -blockquote, q { - quotes: none; +blockquote, +q { + quotes: none; } -blockquote:before, blockquote:after, -q:before, q:after { - content: ''; - content: none; +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ''; + content: none; } table { - border-collapse: collapse; - border-spacing: 0; + border-collapse: collapse; + border-spacing: 0; } - /* Styling Begins Here */ body { background-color: #f2f2f2; - font-family: 'Nunito', Arial, Helvetica, sans-serif; + font-family: 'Lato', Arial, Helvetica, sans-serif; } .app { - display:flex; + display: flex; flex-direction: row; justify-content: flex-start; } - /* Left Column */ aside { width: 260px; - background-color:#f9f9f9; + background-color: #f9f9f9; height: 100vh; position: fixed; } @@ -91,7 +170,7 @@ form { } .check > span { - color: #34495E; + color: #34495e; padding: 0.5rem 0.25rem; } @@ -102,39 +181,39 @@ form { -moz-appearance: none; -o-appearance: none; appearance: none; - border: 2px solid #D0D1D8; + border: 2px solid #d0d1d8; border-radius: 4px; outline: none; transition-duration: 0.3s; - background-color: #FFF; + background-color: #fff; cursor: pointer; - } +} .check > input:checked { - border: 1px solid #55596D; - background-color: #55596D; + border: 1px solid #55596d; + background-color: #55596d; } .check > input:checked + span::before { content: '\2714'; - font-family: "Times", "Times New Roman", "serif"; + font-family: 'Times', 'Times New Roman', 'serif'; font-weight: bold; font-size: 24px; display: block; text-align: center; - color: #FFF; + color: #fff; position: absolute; left: 6px; top: 4px; } .check > input:active { - border: 2px solid #34495E; + border: 2px solid #34495e; } label { display: block; font-size: 18px; - color: #55596D; + color: #55596d; margin-bottom: 18px; } nav { @@ -144,7 +223,7 @@ nav { } nav > a { text-decoration: none; - color: #0C3C78; + color: #0c3c78; font-weight: 500; font-size: 18px; line-height: 30px; @@ -159,13 +238,13 @@ main { } .top { height: 72px; - background: #FAFAFA; + background: #fafafa; box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.1); line-height: 72px; padding-left: 20px; } .cards { - padding:24px; + padding: 24px; display: flex; flex-direction: row; flex-wrap: wrap; @@ -178,8 +257,8 @@ main { width: 330px; height: 400px; background-color: white; - color:black; - margin:24px; + color: black; + margin: 24px; border-radius: 3px; text-align: center; box-shadow: 0px 12px 20px rgba(0, 0, 0, 0.15); @@ -190,7 +269,7 @@ main { } .frame { position: absolute; - top:0px; + top: 0px; height: 235px; width: 330px; border-top-left-radius: 5px; @@ -207,7 +286,7 @@ main { .card-content { position: absolute; top: 240px; - margin:8px; + margin: 8px; } .row { width: 314px; @@ -220,7 +299,7 @@ h2 { font-size: 24px; } .icon { - margin:3px; + margin: 3px; } .bio { text-align: left; @@ -229,23 +308,100 @@ h2 { } .btn { text-decoration: none; - color:white; + color: white; font-size: 14px; text-align: center; padding: 10px 16px; - background-color:#55596D; + background-color: #55596d; border-radius: 5px; margin-right: 8px; } .btn:hover { - background-color:#7B81A0 ; + background-color: #7b81a0; } .btn:active { - background-color: #2C2E38; + background-color: #2c2e38; } .last { position: absolute; bottom: 8px; margin: 0 8px; justify-content: flex-start; -} \ No newline at end of file +} + +.inactive { + display: none; +} + +.about-page { + margin: 48px; + color: #55596d; +} + +.about-header { + color: #bb1333; + font-size: 48px; + line-height: 58px; +} + +.about-info { + padding: 25px 0px 44px 0px; +} + +.about-info p, +.about-info h3, +.about-info ul li { + font-size: 18px; + line-height: 25px; + letter-spacing: 0.02em; +} + +.about-info p { + margin-bottom: 25px; +} + +.about-info h3 { + font-weight: bold; +} + +.about-info ul { + margin-bottom: 15px; +} + +.about-info ul li { + list-style-position: inside; + list-style-type: '\2010 '; +} + +.divider { + margin-top: 56px; +} + +.about-second-div h3 { + margin-bottom: 17px; +} + +.about-second-div ul { + margin-top: 32px; + display: flex; +} + +.about-second-div ul li { + list-style-type: none; + margin: 10px 22px 10px 0; +} + +.about-info a { + color: #1a61b0; + cursor: pointer; + text-decoration: underline; +} + +.footer { + margin-top: 50px; +} + +.footer span { + font-size: 30px; + vertical-align: 2.5px; +} diff --git a/client/yarn.lock b/client/yarn.lock index 6a19ca6..df9e9cc 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -828,7 +828,7 @@ dependencies: regenerator-runtime "^0.13.2" -"@babel/runtime@^7.5.1", "@babel/runtime@^7.6.2", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6": +"@babel/runtime@^7.1.2", "@babel/runtime@^7.4.0", "@babel/runtime@^7.5.1", "@babel/runtime@^7.6.2", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6": version "7.7.7" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.7.7.tgz#194769ca8d6d7790ec23605af9ee3e42a0aa79cf" integrity sha512-uCnC2JEVAu8AKB5do1WRIsvrdJ0flYx/A/9f/6chdacnEZ7LmavjdsDXr5ksYBegxtuTPR5Va9/+13QF/kFkCA== @@ -3532,7 +3532,7 @@ dotenv-expand@5.1.0: resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== -dotenv@8.2.0: +dotenv@8.2.0, dotenv@^8.2.0: version "8.2.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== @@ -4596,6 +4596,11 @@ growly@^1.3.0: resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= +gud@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0" + integrity sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw== + gzip-size@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" @@ -4724,6 +4729,18 @@ hex-color-regex@^1.1.0: resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== +history@^4.9.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" + 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" + hmac-drbg@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -4733,6 +4750,13 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" +hoist-non-react-statics@^3.1.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#101685d3aff3b23ea213163f6e8e12f4f111e19f" + integrity sha512-wbg3bpgA/ZqWrZuMOeJi8+SKMhr7X9TesL/rXMjTzh0p0JUBo3II8DHboYbuIXWRlttrUFxwcu/5kygrCw8fJw== + dependencies: + react-is "^16.7.0" + hosted-git-info@^2.1.4: version "2.8.5" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c" @@ -5388,6 +5412,11 @@ is-wsl@^2.1.0: resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.1.1.tgz#4a1c152d429df3d441669498e2486d3596ebaf1d" integrity sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog== +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -6223,7 +6252,7 @@ loglevel@^1.6.4: resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.6.tgz#0ee6300cc058db6b3551fa1c4bf73b83bb771312" integrity sha512-Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ== -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -6430,6 +6459,15 @@ min-indent@^1.0.0: resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.0.tgz#cfc45c37e9ec0d8f0a0ec3dd4ef7f7c3abe39256" integrity sha1-z8RcN+nsDY8KDsPdTvf3w6vjklY= +mini-create-react-context@^0.3.0: + version "0.3.2" + resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.3.2.tgz#79fc598f283dd623da8e088b05db8cddab250189" + integrity sha512-2v+OeetEyliMt5VHMXsBhABoJ0/M4RCe7fatd/fBy6SMiKazUSEt3gxxypfnk2SHMkdBYvorHRoQxuGoiwbzAw== + dependencies: + "@babel/runtime" "^7.4.0" + gud "^1.0.0" + tiny-warning "^1.0.2" + mini-css-extract-plugin@0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz#81d41ec4fe58c713a96ad7c723cdb2d0bd4d70e1" @@ -7307,6 +7345,13 @@ path-to-regexp@0.1.7: resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= +path-to-regexp@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + dependencies: + isarray "0.0.1" + path-type@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" @@ -8393,11 +8438,40 @@ react-error-overlay@^6.0.4: resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.4.tgz#0d165d6d27488e660bc08e57bdabaad741366f7a" integrity sha512-ueZzLmHltszTshDMwyfELDq8zOA803wQ1ZuzCccXa1m57k1PxSHfflPD5W9YIiTXLs0JTLzoj6o1LuM5N6zzNA== -react-is@^16.8.1, react-is@^16.8.4: +react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4: version "16.12.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" integrity sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q== +react-router-dom@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.1.2.tgz#06701b834352f44d37fbb6311f870f84c76b9c18" + integrity sha512-7BPHAaIwWpZS074UKaw1FjVdZBSVWEk8IuDXdB+OkLb8vd/WRQIpA4ag9WQk61aEfQs47wHyjWUoUGGZxpQXew== + dependencies: + "@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-router@5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.1.2.tgz#6ea51d789cb36a6be1ba5f7c0d48dd9e817d3418" + integrity sha512-yjEuMFy1ONK246B+rsa0cUam5OeAQ8pyclRDgpxuSCrAlJ1qN9uZ5IgyKC7gQg0w8OM50NXHEegPh/ks9YuR2A== + dependencies: + "@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" + react-scripts@3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.3.0.tgz#f26a21f208f20bd04770f43e50b5bbc151920c2a" @@ -8747,6 +8821,11 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== +resolve-pathname@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" + integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== + resolve-url-loader@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.1.tgz#28931895fa1eab9be0647d3b2958c100ae3c0bf0" @@ -9752,6 +9831,16 @@ timsort@^0.3.0: resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= +tiny-invariant@^1.0.2: + version "1.0.6" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.0.6.tgz#b3f9b38835e36a41c843a3b0907a5a7b3755de73" + integrity sha512-FOyLWWVjG+aC0UqG76V53yAWdXfH8bO6FNmyZOuUrzDzK8DI3/JRY25UD7+g49JWM1LXwymsKERB+DzI0dTEQA== + +tiny-warning@^1.0.0, tiny-warning@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" + integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== + tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -10099,6 +10188,11 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +value-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" + integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== + vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"