From 8f42222f4794a034889738348a3e286c26055bb5 Mon Sep 17 00:00:00 2001 From: Landon Taylor Date: Thu, 22 Aug 2019 14:28:36 -0500 Subject: [PATCH] Landon Taylor --- package-lock.json | 82 +++++++++++++++++++++-------- src/components/ChangeTemperature.js | 2 + src/components/CityDropDown.js | 3 +- src/components/Counter.js | 17 ++++-- src/components/CounterButton.js | 5 +- src/components/CurrentCity.js | 18 +++++-- src/components/Modal.js | 19 +++++-- src/components/ScaleVideo.js | 3 +- src/components/SearchTextBox.js | 3 +- src/components/ShowModal.js | 3 +- src/components/SortUsers.js | 3 +- src/components/SpecialText.js | 15 ++++-- src/components/SpecialTextBox.js | 3 +- src/components/Thermostat.js | 14 +++-- src/components/UserButtons.js | 5 +- src/components/Users.js | 15 ++++++ src/components/VideoPlayer.js | 19 +++++-- src/components/VideoTextBox.js | 3 +- src/index.js | 4 +- src/reducers/index.js | 69 +++++++++++++++++++++--- 20 files changed, 238 insertions(+), 67 deletions(-) diff --git a/package-lock.json b/package-lock.json index 20071db..2affb7a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3065,7 +3065,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -3086,12 +3087,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3106,17 +3109,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -3233,7 +3239,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -3245,6 +3252,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -3259,6 +3267,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -3266,12 +3275,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -3290,6 +3301,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -3370,7 +3382,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -3382,6 +3395,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -3467,7 +3481,8 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -3503,6 +3518,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -3522,6 +3538,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -3565,12 +3582,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, @@ -7466,7 +7485,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -7487,12 +7507,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -7507,17 +7529,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -7634,7 +7659,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -7646,6 +7672,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -7660,6 +7687,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -7667,12 +7695,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -7691,6 +7721,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -7771,7 +7802,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -7783,6 +7815,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -7868,7 +7901,8 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -7904,6 +7938,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -7923,6 +7958,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -7966,12 +8002,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true } } } diff --git a/src/components/ChangeTemperature.js b/src/components/ChangeTemperature.js index fa894bc..86c1654 100644 --- a/src/components/ChangeTemperature.js +++ b/src/components/ChangeTemperature.js @@ -1,4 +1,5 @@ import React from "react"; +import store from '../store'; function ChangeTemperature(props){ return( @@ -6,6 +7,7 @@ function ChangeTemperature(props){
diff --git a/src/components/CityDropDown.js b/src/components/CityDropDown.js index d43df20..27ad1dd 100644 --- a/src/components/CityDropDown.js +++ b/src/components/CityDropDown.js @@ -1,4 +1,5 @@ import React from 'react'; +import store from '../store'; function CityDropDown(props) { return ( @@ -6,7 +7,7 @@ function CityDropDown(props) { CurrentCity: { - + store.dispatch({type: "SET_VIDEO_SCALE", value: e.target.value}) } } type="range" min="1" max="10" step="1" /> diff --git a/src/components/SearchTextBox.js b/src/components/SearchTextBox.js index 43f3416..83c6c00 100644 --- a/src/components/SearchTextBox.js +++ b/src/components/SearchTextBox.js @@ -1,11 +1,12 @@ import React from 'react'; +import store from '../store'; function SearchTextBox(props) { return (
Search Users on First Name: { - + store.dispatch({type: "SET_SEARCH_TEXT", value: e.target.value}) }} />
); diff --git a/src/components/ShowModal.js b/src/components/ShowModal.js index 1e73950..5587646 100644 --- a/src/components/ShowModal.js +++ b/src/components/ShowModal.js @@ -1,11 +1,12 @@ import React from 'react'; +import store from '../store'; function ShowModal(props) { return (
diff --git a/src/components/SortUsers.js b/src/components/SortUsers.js index fd6cb04..4cb2d1d 100644 --- a/src/components/SortUsers.js +++ b/src/components/SortUsers.js @@ -1,4 +1,5 @@ import React from 'react'; +import store from '../store'; function SortUsers(props) { return ( @@ -6,7 +7,7 @@ function SortUsers(props) { Sort Users On: { - + store.dispatch({type:"SET_SPECIAL_TEXT",value: e.target.value}) }} />
); diff --git a/src/components/Thermostat.js b/src/components/Thermostat.js index 2e43fbe..56614ca 100644 --- a/src/components/Thermostat.js +++ b/src/components/Thermostat.js @@ -1,13 +1,21 @@ import React from "react"; import DonutChart from "./ignore/DonutChart"; +import store from '../store'; class Thermostat extends React.Component { state={temp:""} + componentDidMount(){ + store.subscribe(()=>{ + let currentTemp = store.getState().currentTemp; + this.setState({temp:currentTemp}); + }) + } + render() { - const { - props, - } = this; + // const { + // props, + // } = this; return () } diff --git a/src/components/UserButtons.js b/src/components/UserButtons.js index f857369..f58a692 100644 --- a/src/components/UserButtons.js +++ b/src/components/UserButtons.js @@ -1,4 +1,5 @@ import React from 'react'; +import store from '../store'; function UserButtons(props) { return ( @@ -13,12 +14,12 @@ function UserButtons(props) { "occupation": "father", "avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/calebogden/128.jpg" }; - + store.dispatch({type:"ADD_USER",value: user}) } }>Add User diff --git a/src/components/Users.js b/src/components/Users.js index 79bfbef..2a94419 100644 --- a/src/components/Users.js +++ b/src/components/Users.js @@ -1,4 +1,5 @@ import React from 'react'; +import store from '../store'; class Users extends React.Component { @@ -8,6 +9,20 @@ class Users extends React.Component { firstNameFilter:"" } + componentDidMount() { + let users = store.getState().users + this.setState({users:users}) + // fetch("https://jsonplaceholder.typicode.com/users") + // .then(res=>res.json()) + // .then(users=>this.setState({users})); + store.subscribe(()=>{ + let users = store.getState().users + let searchText = store.getState().searchText + let currentUserSort = store.getState().currentUserSort + this.setState({users:users, sortOn:currentUserSort, firstNameFilter:searchText}) + }) + } + render() { let {users,sortOn,firstNameFilter} = this.state; var usersDivs = null; diff --git a/src/components/VideoPlayer.js b/src/components/VideoPlayer.js index f4fc08b..a37e97c 100644 --- a/src/components/VideoPlayer.js +++ b/src/components/VideoPlayer.js @@ -1,18 +1,27 @@ import React from 'react'; +import store from '../store'; class VideoPlayer extends React.Component { state={scale:0,URL:""} + componentDidMount(){ + store.subscribe(()=>{ + let videoURL = store.getState().videoURL; + let videoScale = store.getState().videoScale; + this.setState({URL:videoURL, scale:videoScale}); + }) + } + render() { - const { - props, - } = this; + // const { + // props, + // } = this; let width = 200; let height = 200; if(this.state.scale){ - width = 200 * props.scale; - height = 200 * props.scale; + width = 200 * this.state.scale; + height = 200 * this.state.scale; } return (