From 652d58b27ca05729a6c7761dde7ea7b8cf483252 Mon Sep 17 00:00:00 2001 From: Emrie Date: Thu, 9 Mar 2023 16:49:09 -0500 Subject: [PATCH 1/4] halfway done --- src/components/Counter.js | 11 ++++++++--- src/components/Input.js | 16 ++++++++++------ src/components/Moods.js | 13 +++++++++---- 3 files changed, 27 insertions(+), 13 deletions(-) diff --git a/src/components/Counter.js b/src/components/Counter.js index 447a5e849..e2595edcc 100644 --- a/src/components/Counter.js +++ b/src/components/Counter.js @@ -46,32 +46,37 @@ STEP 6: This click handler needs to use 'setCount' to set the 'count' to be zero again. */ +import { useState } from "react"; import React from 'react'; /* STEP 0 */ export default function Counter() { /* STEP 1 */ + let [count, setCount] = useState(0); const increment = () => { /* STEP 4 */ + setCount(count+1) }; const decrement = () => { /* STEP 5 */ + setCount(count-1) }; const reset = () => { - /* STEP 6 */ + setCount(count = 0) }; const style = { fontSize: '1.5em', marginBottom: '0.3em', - color: 'royalblue', /* STEP 2 */ + color: count%2 === 0 ? 'royalblue' : 'crimson', /* STEP 2 */ }; + return (

Counter

- Number 0 is even {/* STEP 3 */} + {count%2 ===0?

Number {count} is even

:

Number {count} is odd

} {/* STEP 3 */}
diff --git a/src/components/Input.js b/src/components/Input.js index 36bf8fe03..e959fc445 100644 --- a/src/components/Input.js +++ b/src/components/Input.js @@ -34,34 +34,38 @@ STEP 6: We need to add an extra prop to the element like so: value={inputValue} */ -import React from 'react'; /* STEP 0 */ +import React , {useState} from 'react'; /* STEP 0 */ export default function Input() { /* STEP 1 */ - +const [inputValue, setInputValue] = useState("") const changeInput = evt => { // When the input changes, its whole value can be found inside the event object. // Log out the synthetic event object 'evt' and see for yourself. const { value } = evt.target; - + setInputValue(value) /* STEP 4 */ }; const reset = () => { + setInputValue("") /* STEP 5 */ }; const style = { fontSize: '1.5em', marginBottom: '0.3em', - color: 'royalblue', /* STEP 2 */ + color: inputValue.length >= 10 ? "crimson" : "royalblue", /* STEP 2 */ }; + return (

Input

-
{/* STEP 3 */} +
+ {inputValue.toUpperCase()} +
{/* STEP 3 */}
- {/* STEP 6 */} + {/* STEP 6 */}
diff --git a/src/components/Moods.js b/src/components/Moods.js index 98b49467f..e09813381 100644 --- a/src/components/Moods.js +++ b/src/components/Moods.js @@ -28,7 +28,7 @@ STEPS 4, 5, 6: Inside these click handlers set the correct mood, using 'setMood' and the variables below the imports. */ -import React from 'react'; /* STEP 0 */ +import React, {useState} from 'react'; /* STEP 0 */ const initialMood = 'Not sure how I feel'; const happyMood = 'Quite happy!'; @@ -36,27 +36,32 @@ const sadMood = 'Rather sad'; export default function Moods() { /* STEP 1 */ - +const [mood, setMood] = useState(initialMood) + const makeHappy = () => { + setMood(happyMood) + /* STEP 4 */ }; const makeSad = () => { + setMood(sadMood) /* STEP 5 */ }; const reset = () => { /* STEP 6 */ + setMood(initialMood) }; const style = { fontSize: '1.5em', marginBottom: '0.3em', - color: 'crimson', /* STEP 2 */ + color: mood === happyMood ? "royalblue" : 'crimson', /* STEP 2 */ }; return (

Moods

-
Not sure how I feel
{/* STEP 3 */} +
{mood}
{/* STEP 3 */}
From 3dc195eb27e9143e652e5d5a18bee8582ff27185 Mon Sep 17 00:00:00 2001 From: Emrie Date: Thu, 9 Mar 2023 17:31:34 -0500 Subject: [PATCH 2/4] two left --- src/components/Programmers.js | 22 +++++++++++++++------- src/components/Spinner.js | 2 +- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/components/Programmers.js b/src/components/Programmers.js index bb4aee6bd..1326a0fed 100644 --- a/src/components/Programmers.js +++ b/src/components/Programmers.js @@ -11,7 +11,7 @@ We can only feature one awesome programmer at a time. Find comments below to help you along. */ -import React from 'react'; +import React, {useState} from 'react'; // Use this variable ONLY to initialize a slice of state! // There is something in the JSX right now breaking this rule... @@ -28,8 +28,16 @@ export const listOfAwesome = [ export default function Programmers() { // We'll have to use the state hook twice, as we need two slices of state. // The programmers list on the one hand, and the id of the featured programmer on the other. - + const [programmers, setProgrammers] = useState(listOfAwesome) + const [featured, setFeatured]= useState(null) const getNameOfFeatured = () => { + + // for (let i = 0 ; i < programmers.length; i++){ + // if(programmers.id === featured){ + // return programmers[i].name + // + const foundDev = programmers.find(dev => dev.id ===featured) + return foundDev.name // Leave this for last! // This is NOT an event handler but a helper function. See its usage inside the JSX. // It's going to utilize both slices of state to return the _name_ of the featured dev. @@ -51,21 +59,21 @@ export default function Programmers() { /* Nasty bug! We should map over a slice of state, instead of 'listOfAwesome'. We might think: "it works, though!" But if the list of programmers is not state, we could never add or edit programmers in the future. The list would be a static thing." */ - listOfAwesome.map(dev => + programmers.map(dev =>
- {dev.name} + {dev.name}
) }
diff --git a/src/components/Spinner.js b/src/components/Spinner.js index d0326fd34..5996cdf9a 100644 --- a/src/components/Spinner.js +++ b/src/components/Spinner.js @@ -37,7 +37,7 @@ STEP 4: Do you remember the operator we use to do "not"? */ -import React from 'react'; /* STEP 0 */ +import React,{useState} from 'react'; /* STEP 0 */ export default function Spinner() { /* STEP 1 */ From e137296caab4bea64a39610d9673635fd05d0e90 Mon Sep 17 00:00:00 2001 From: Emrie Date: Thu, 9 Mar 2023 17:47:51 -0500 Subject: [PATCH 3/4] on to the last one --- cypress/downloads/downloads.html | Bin 0 -> 45138 bytes src/components/Programmers.js | 2 +- src/components/Spinner.js | 7 ++++--- 3 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 cypress/downloads/downloads.html diff --git a/cypress/downloads/downloads.html b/cypress/downloads/downloads.html new file mode 100644 index 0000000000000000000000000000000000000000..8a341e1b428c0b9db1369a8a94b7ad9961079c1c GIT binary patch literal 45138 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 literal 0 HcmV?d00001 diff --git a/src/components/Programmers.js b/src/components/Programmers.js index 1326a0fed..939318100 100644 --- a/src/components/Programmers.js +++ b/src/components/Programmers.js @@ -48,7 +48,7 @@ export default function Programmers() { const style = { fontSize: '1.5em', marginTop: '0.5em', - color: 'royalblue', // 🤔 color turns to gold, when celebrating + color: featured ? "gold" : 'royalblue', // 🤔 color turns to gold, when celebrating }; return ( diff --git a/src/components/Spinner.js b/src/components/Spinner.js index 5996cdf9a..d0d656d00 100644 --- a/src/components/Spinner.js +++ b/src/components/Spinner.js @@ -41,19 +41,20 @@ import React,{useState} from 'react'; /* STEP 0 */ export default function Spinner() { /* STEP 1 */ - +const [spinnerOn, setSpinnerOn] = useState(true) const toggleSpinner = () => { /* STEP 4 */ + {spinnerOn === true ? setSpinnerOn(false) : setSpinnerOn(true)} }; return (

Spinner

{ - true &&
--+--
/* STEP 2 */ + spinnerOn &&
--+--
/* STEP 2 */ }
); From fed4851bf77e31d5c945535a23d455c348b5af0f Mon Sep 17 00:00:00 2001 From: Emrie Date: Thu, 9 Mar 2023 18:05:32 -0500 Subject: [PATCH 4/4] finished all --- src/components/Input.js | 2 +- src/components/Squares.js | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/components/Input.js b/src/components/Input.js index e959fc445..65ba747f8 100644 --- a/src/components/Input.js +++ b/src/components/Input.js @@ -54,7 +54,7 @@ const [inputValue, setInputValue] = useState("") const style = { fontSize: '1.5em', marginBottom: '0.3em', - color: inputValue.length >= 10 ? "crimson" : "royalblue", /* STEP 2 */ + color: inputValue.length > 10 ? "crimson" : "royalblue", /* STEP 2 */ }; diff --git a/src/components/Squares.js b/src/components/Squares.js index 25ab72546..933610044 100644 --- a/src/components/Squares.js +++ b/src/components/Squares.js @@ -14,30 +14,35 @@ Only one square (or none) can be active at any given point. Find comments below to help you along. */ -import React from 'react'; +import React , {useState} from 'react'; // Use this variable ONLY to initialize a slice of state! const listOfSquareIds = ['sqA', 'sqB', 'sqC', 'sqD']; export default function Squares() { +const [squares, setSquares] = useState(listOfSquareIds) +const [activeSquares, setActiveSquares] = useState(null) // Use the state hook twice, as we need two slices of state: 'squares' and // 'activeSquare'. One holds the _array_ of square ids, and the other keeps track // of the currently active square. On page load there's no active square, // so the value of 'activeSquare' should be null. const getClassName = id => { + // This is NOT a click handler but a helper, used inside the JSX (see below). // It should return a string containing the class name of 'active', if the id passed // as the argument matches the active square in state, empty string otherwise. // Right-click and "inspect element" on the square to see its effect. - return '' + return id === activeSquares ? "active" : "" }; const markActive = id => { + // This is a helper used inside an _inlined_ click handler (see below). // Set the id argument to become the active id in state // (unless it already is, in which case we should reset // the currently active square id back to initial state). + id === activeSquares ? setActiveSquares(null) : setActiveSquares(id) }; return ( @@ -48,7 +53,7 @@ export default function Squares() { // Nasty bug! We should map over a slice of state, instead of 'listOfSquareIds'. // We might say: "it works, though!" But if the list of squares is not state, // we could never add squares, change squares or remove squares in the future. Fix! - listOfSquareIds.map(id => + squares.map(id =>