From 8b7ab4b7a1e7ff82ba6301025a31ed409df4640b Mon Sep 17 00:00:00 2001 From: Richard Wong Date: Thu, 19 Oct 2023 09:02:09 +0900 Subject: [PATCH] Feat: introduce option to enable/disable shuffling --- src/VerseSampler.jsx | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/src/VerseSampler.jsx b/src/VerseSampler.jsx index b6a6554..de2cd4d 100644 --- a/src/VerseSampler.jsx +++ b/src/VerseSampler.jsx @@ -11,13 +11,13 @@ import _ from 'underscore'; import './VerseSampler.css' import VerseValidator from "./VerseValidator"; -const GenerateTestList = ({ packs, testCount}) => { +const GenerateTestList = ({ packs, testCount, toShuffle}) => { let testList = packs.reduce( // grab all elements included checked in "packs" (accumulator, currentValue) => accumulator.concat(VerseData[currentValue]), new Array() ); - testList = _.sample(testList, testCount); + testList = toShuffle ? _.sample(testList, testCount) : _.first(testList, testCount); return ( ) @@ -128,12 +128,22 @@ function App() { // variables for pack selection const [checked, setChecked] = useState([]) const [expanded, setExpanded] = useState([]) + + + // state for toShuffle + const [toShuffle, setShuffle] = useState(false); + // Function to handle checkbox change + const handleShuffleCheckboxChange = () => { + // Toggle the state when the checkbox is changed + setShuffle(!toShuffle); + }; return (
-

Pick Number of Verses:

+

Scripture Memory Tester

+

Pick Number of Verses:

@@ -145,7 +155,16 @@ function App() { onChange={testCountChange} /> -

Pick Your Packs:

+

+ Set Shuffle: + +

+ +

Pick Your Packs:

Verses:

- +
); }