{"version":3,"sources":["Spinner.js","Categories.js","App.js","index.js"],"names":["Spinner","props","spin","items","length","state","selectedItem","Math","floor","random","setState","setTimeout","update","reset","display","document","querySelector","currItem","updater","undefined","cat","innerHTML","this","wheelVars","spinning","className","style","map","item","index","type","id","onClick","Component","Categories","handleSubmit","e","preventDefault","scroller","category","classList","contains","remove","handleChange","target","value","name","handleResize","body","clientWidth","add","hide","parseInt","delete","window","addEventListener","removeEventListener","onSubmit","placeholder","onChange","wordWrap","width","checked","App","prevState","ary","things","push","localStorage","setItem","JSON","stringify","filtered","filter","displayed","splice","stored","storedThings","parse","getItem","ReactDOM","render","getElementById"],"mappings":"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","file":"static/js/main.1c3ab92d.chunk.js","sourcesContent":["// Robert Leslie\r\n// 2021\r\n// wheel decider\r\n\r\n// https://codesandbox.io/s/github/hadriengerard/spinning-wheel-game-react?file=/src/components/wheel/index.js updated from this source\r\n\r\nimport React, { Component } from 'react';\r\nimport './App.css';\r\n\r\nclass Spinner extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n selectedItem: null\r\n };\r\n }\r\n\r\n // unused see spin and reset\r\n // selectItem = () => {\r\n // if (this.state.selectedItem === null) {\r\n // const selectedItem = Math.floor(Math.random() * this.props.items.length);\r\n // if (this.props.onSelectItem) {\r\n // this.props.onSelectItem(selectedItem);\r\n // }\r\n // this.setState({ selectedItem });\r\n // setTimeout(this.update, 4000);\r\n // } else {\r\n // this.setState({ selectedItem: null });\r\n // setTimeout(this.update, 500);\r\n // setTimeout(this.selectItem, 500);\r\n // }\r\n // }\r\n\r\n\r\n // \"spins\" the wheel only if there are choices to choose from\r\n // it does this by selecting a random number from our array and then updating our state\r\n //this forces a rerender of our component and updates css variables\r\n // also calls update after four seconds to show the result\r\n spin = () => {\r\n if(this.props.items.length === 0){\r\n return\r\n }\r\n if (this.state.selectedItem === null) {\r\n const selectedItem = Math.floor(Math.random() * this.props.items.length);\r\n this.setState({ selectedItem });\r\n setTimeout(this.update, 4000);\r\n }\r\n }\r\n\r\n // resets the button to spin, and the spinner back to the starting position\r\n // as well as updating the current value displayed\r\n reset = () => {\r\n this.setState({ selectedItem: null });\r\n setTimeout(this.update, 500);\r\n }\r\n\r\n // updates the current value displayed\r\n update = () => {\r\n const display = document.querySelector(\"#display\");\r\n let currItem = this.props.items[this.state.selectedItem];\r\n let updater = \"\";\r\n if(currItem !== undefined){\r\n updater = currItem.cat;\r\n }\r\n display.innerHTML = updater;\r\n }\r\n\r\n render() {\r\n const { selectedItem } = this.state;\r\n const items = this.props.items;\r\n\r\n const wheelVars = {\r\n '--nb-item': items.length,\r\n '--selected-item': selectedItem,\r\n };\r\n const spinning = selectedItem !== null ? 'spinning' : '';\r\n\r\n return (\r\n
Current Selection:
\r\n{item.cat}
\r\n