{"version":3,"sources":["assets/musicBar.png","assets/tetris.png","assets/email_icon.png","assets/github_icon.png","assets/linkedin_icon.png","assets/twitter_icon.png","assets/profile2.png","data/projects.js","components/Projects.js","data/socialProfiles.js","components/SocialProfiles.js","components/Title.js","components/App.js","components/Docs.js","components/Header.js","projects/evenoddgame/actions/types.js","projects/evenoddgame/reducers/fetchStates.js","projects/evenoddgame/components/Instructions.js","projects/evenoddgame/actions/settings.js","projects/evenoddgame/components/DrawCard.js","projects/evenoddgame/actions/deck.js","projects/evenoddgame/components/Card.js","projects/evenoddgame/components/Guess.js","projects/evenoddgame/actions/guess.js","projects/evenoddgame/components/GameState.js","projects/evenoddgame/components/App.js","projects/evenoddgame/reducers/settings.js","projects/evenoddgame/reducers/deck.js","projects/evenoddgame/reducers/gameState.js","projects/evenoddgame/reducers/index.js","projects/evenoddgame/index.js","index.js","assets/project1.png","assets/project2.png"],"names":["module","exports","PROJECTS","id","title","description","link","GitHub","image","project1","musicBar","project2","tetris","Project","props","project","style","display","width","margin","src","alt","height","href","target","Projects","map","PROJECT","key","SOCIAL_PROFILES","emailIcon","gitHubIcon","linkedinIcon","twitterIcon","SocialProfile","socialProfile","SocialProfiles","PROFILE","TITLES","Title","state","titleIndex","fadeIn","animateTitles","titleInterval","setInterval","length","setState","timeout","setTimeout","this","clearInterval","className","Component","App","displayBio","toggleDisplay","profilePic","onClick","Docs","doc","fetch","then","response","json","catch","error","alert","message","url","explanation","Header","marginBottom","Link","to","children","DECK","DECK_DRAW","componentConnector","connect","instructionsExpanded","settings","dispatch","expandInstructions","type","collapseInstructions","deck_id","deck","fetchDrawCard","console","log","status","Error","success","cards","remaining","value","suit","guess","gameState","setGuessEven","setGuessOdd","border","correctGuesses","guessText","record","Number","localStorage","getItem","setItem","isNewRecord","checkRecord","recordLabel","startGame","fetchNewDeck","fetchState","fetchStates","gameStarted","cancelGame","deckJson","fetchDeckSuccess","fetchDeckError","DEFAULT_SETTINGS","settingsReducer","action","DEFAULT_DECK","deckReducer","DEFAULT_GAME_STATE","EVENS","ODDS","gameStateReducer","includes","combineReducers","store","createStore","rootReducer","applyMiddleware","thunk","subscribe","getState","EvenOrOdds","ReactDOM","render","Switch","Route","exact","path","document","getElementById"],"mappings":"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","file":"static/js/main.a81add83.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/email_icon.fd99f8e3.png\";","module.exports = __webpack_public_path__ + \"static/media/github_icon.e2a62886.png\";","module.exports = __webpack_public_path__ + \"static/media/linkedin_icon.56ab00e8.png\";","module.exports = __webpack_public_path__ + \"static/media/twitter_icon.512536cb.png\";","module.exports = __webpack_public_path__ + \"static/media/profile2.42e9abe3.png\";","import project1 from \"../assets/project1.png\";\r\nimport project2 from \"../assets/project2.png\";\r\n// import project3 from \"../assets/project3.png\";\r\n// import project4 from \"../assets/project4.png\";\r\nimport musicBar from \"../assets/musicBar.png\";\r\nimport tetris from \"../assets/tetris.png\";\r\n\r\nconst PROJECTS = [\r\n {\r\n id: 1,\r\n title: \"Travel Blog\",\r\n description: \"My First React Application developed in 2018\",\r\n link: \"http://enrichingtravels.com/\",\r\n GitHub: \"Private Repo\",\r\n image: project1,\r\n },\r\n {\r\n id: 32,\r\n title: \"Music Bar\",\r\n description: \"Application built in React only in 2021\",\r\n link: \"http://musicbar.s3-website-us-east-1.amazonaws.com/\",\r\n image: musicBar,\r\n },\r\n\r\n {\r\n id: 3,\r\n title: \"Guess Odd or Even Game\",\r\n description: \"Application built in Redux in 2020\",\r\n link: \"/evenoddgame\",\r\n image: project2,\r\n },\r\n {\r\n id: 4,\r\n title: \"Tetris Game\",\r\n description: \"Tetris Game - React and Custom Hooks in 2020\",\r\n link: \"http://react-tetrisgame.s3-website-us-east-1.amazonaws.com/\",\r\n image: tetris,\r\n },\r\n /* ,\r\n {\r\n id: 3,\r\n title: \"Interactive tic-tac-toe game\",\r\n description: 'React Application built in 2020 - In Progress',\r\n link: \"https://github.com/vanishtachangea/react-portfolio\",\r\n image: project3\r\n },\r\n {\r\n id: 3,\r\n title: \"Musical\",\r\n description: 'App build using React in 2020 - In Progress',\r\n link: \"https://github.com/vanishtachangea/react-portfolio\",\r\n image: project4\r\n } */\r\n];\r\nexport default PROJECTS;\r\n","import React, { Component } from 'react';\r\nimport PROJECTS from '../data/projects';\r\nconst Project = (props) => {\r\n\r\n //console.log('this.proprs', props);\r\n const { id, title, description, link, image } = props.project;\r\n return (\r\n //
{this.props.project.title}
\r\n
\r\n

{title}

\r\n profile\r\n \r\n

{description}

\r\n \r\n
\r\n )\r\n\r\n}\r\n\r\nconst Projects = () => (\r\n
\r\n

Highlighed Projects

\r\n
\r\n {\r\n PROJECTS.map(PROJECT => (\r\n \r\n )\r\n )\r\n }\r\n
\r\n
\r\n)\r\n\r\n\r\nexport default Projects;","import emailIcon from '../assets/email_icon.png';\r\nimport gitHubIcon from '../assets/github_icon.png';\r\nimport linkedinIcon from '../assets/linkedin_icon.png';\r\nimport twitterIcon from '../assets/twitter_icon.png';\r\n\r\nconst SOCIAL_PROFILES = [\r\n {\r\n id:1,\r\n link: 'mailto:vanishta.changea@gmail.com',\r\n image: emailIcon\r\n },\r\n {\r\n id:2,\r\n link: 'https://github.com/vanishtachangea',\r\n image: gitHubIcon\r\n },\r\n {\r\n id:3,\r\n link: 'https://www.linkedin.com/in/vanishtachangea/',\r\n image: linkedinIcon\r\n },\r\n {\r\n id:4,\r\n link: 'https://twitter.com/VanishtaChangea',\r\n image: twitterIcon\r\n }\r\n\r\n];\r\nexport default SOCIAL_PROFILES; \r\n","import React, { Component } from 'react';\r\nimport SOCIAL_PROFILES from '../data/socialProfiles';\r\nimport { blockStatement } from '@babel/types';\r\nconst SocialProfile = props => {\r\n\r\n const { link, image } = props.socialProfile;\r\n return (\r\n \r\n\r\n profile\r\n \r\n )\r\n\r\n}\r\nconst SocialProfiles = () => (\r\n
\r\n

Connect with Me

\r\n
\r\n {\r\n SOCIAL_PROFILES.map(PROFILE => {\r\n return (\r\n \r\n );\r\n })\r\n }\r\n
\r\n
\r\n);\r\n\r\n\r\nexport default SocialProfiles;","import React, { Component } from 'react';\r\nconst url ='https://www.womentech.net/women-tech-conference?join=MTM1Mw==';\r\nconst TITLES = [\r\n 'I am A FullStack Software Developer',\r\n 'I have previously been Project Manager for 5 years',\r\n 'Since 2019, I took a full dive back into coding',\r\n 'I am an Aspiring Solution Architect and DevOps Engineer, ultimately an expert of experts and leader in this industry',\r\n/* 'I am a Nature and Forest Lover',\r\n 'I am Gym Lover',\r\n 'I am DIY Hobbyist',\r\n 'I am Gardening Hobbyist',\r\n 'One day I want to have enough power to change how things work in this world',\r\n 'I want to give some people the push and help they need to reach and exceed their potential', */\r\n 'I believe in KISS - Keep It Short and Simple',\r\n 'I am a Global Ambassador on WomentechNetwork. I personally invite you to join our conference and network by clicking here' \r\n \r\n]\r\nclass Title extends Component {\r\n state = { titleIndex: 0, fadeIn: true };\r\n componentDidMount() {\r\n //console.log('Title Component has mounted');\r\n this.timeout = setTimeout(() => this.setState({ fadeIn: false }), 2000);\r\n this.animateTitles();\r\n }\r\n componentWillUnmount() {\r\n //console.log('Title component will unmount');\r\n clearInterval(this.titleInterval);\r\n clearInterval(this.timeout);\r\n }\r\n animateTitles = () => {\r\n this.titleInterval = setInterval(() => {\r\n const titleIndex = (this.state.titleIndex + 1) % TITLES.length;\r\n //const fadeIn = true;\r\n this.setState({ titleIndex, fadeIn: true });\r\n this.timeout = setTimeout(() => { this.setState({ fadeIn: false }) }, 2000);\r\n }, 4000);\r\n //console.log(this.titleInterval);\r\n }\r\n render() {\r\n\r\n const { titleIndex, fadeIn } = this.state;\r\n const title = TITLES[titleIndex];// const title = TITLES[this.state.titleIndex];\r\n \r\n if(titleIndex == TITLES.length-1)\r\n {\r\n return (

{title}

)\r\n }\r\n\t\t\t\r\n else\r\n {\r\n return (

{title}

)\r\n }\r\n \r\n \r\n }\r\n\r\n}\r\nexport default Title;","import React, { Component } from 'react';\r\nimport Projects from './Projects';\r\nimport SocialProfiles from './SocialProfiles';\r\nimport profilePic from '../assets/profile2.png';\r\nimport Title from './Title';\r\n// import Docs from '../components/Docs';\r\n// import Header from './Header';\r\n\r\nclass App extends Component {\r\n state = { displayBio: false};\r\n\r\n toggleDisplay = () => {\r\n this.setState({ displayBio: !this.state.displayBio });\r\n }\r\n render() {\r\n return (\r\n
\r\n {/*
*/}\r\n profile\r\n

Ich bin Vanishta. Ich wohne in München

\r\n \r\n <p>This is my REACT Portfolio</p>\r\n {\r\n this.state.displayBio ? (<div>\r\n <p>I plan to document my journey towards becoming a developer in React here.</p>\r\n <p>I will tell about the courses which I have followed.</p>\r\n <p>I will showcase live version of those projects in React and React Native which are worth showing. Else the others can stay in GitHub.</p>\r\n <p>I will also try to write small articles or tips based on knowledge gathered on React and React Native.</p>\r\n <p>Maybe I will later extend the small articles or tips on other IT areas too.</p>\r\n <p><button onClick={this.toggleDisplay}>Show Less</button></p>\r\n </div>) : (<div>\r\n <button onClick={this.toggleDisplay}> Read More</button>\r\n </div>)\r\n }\r\n <hr />\r\n <Projects/>\r\n <hr />\r\n <SocialProfiles/>\r\n{/* <hr/>\r\n <Docs/> */}\r\n \r\n </div>\r\n\r\n )\r\n }\r\n}\r\n/* const AppWithHeader=()=>\r\n{\r\n return(<Header Component={App}/>)\r\n} */\r\nexport default App; \r\n","import React, { Component } from 'react';\r\n// import Header from '../components/Header';\r\n\r\nclass Docs extends Component {\r\n state = { doc: {} };\r\n\r\n componentDidMount() {\r\n fetch('https://api.nasa.gov/planetary/apod?api_key=GSdgcdkPaBA5Pj1SWDqoXEVzERt69FvEalMClAqe').then(\r\n response => response.json())\r\n .then(json => this.setState({ doc: json }))\r\n .catch(error => alert(error.message));\r\n\r\n }\r\n render() {\r\n const { title, explanation, url } = this.state.doc;\r\n return (<div>\r\n {/* <Header/> */}\r\n <h2>Concepts Learned</h2>\r\n <div className='docs'>\r\n <h3>React</h3>\r\n <ul>\r\n <li>components</li>\r\n <li>Props</li>\r\n <li>State</li>\r\n <li>Router - BrowserRouter</li>\r\n <li>Header Component - Props.Children</li>\r\n <li>Fetch - API</li>\r\n\t\t\t\t\t<li>React Developer Tool</li>\r\n\t\t\t\t\t\r\n </ul>\r\n <h3>Redux</h3>\r\n <ul>\r\n <li>Store</li>\r\n <li>Reducer</li>\r\n <li>Action</li>\r\n <li>Component</li>\r\n\t\t\t\t\t<li>Provider</li>\r\n\t\t\t\t\t<li>Redux Middleware - Thunk</li>\r\n\t\t\t\t\t<li>Split and Combine Reducers</li>\r\n </ul>\r\n\t\t\t\t<h3>Others</h3>\r\n\t\t\t\t<ul>\r\n\t\t\t\t<li>Javascript Spread Operator</li>\r\n\t\t\t\t</ul>\r\n <hr />\r\n <h2>Resources</h2>\r\n <p><a href=\"https://reacttraining.com/react-router/web/example/basic\" target=\"_blank\">https://reacttraining.com/react-router/web/example/basic</a> </p>\r\n <p><a href=\"https://reactjs.org/docs/render-props.html#gatsby-focus-wrapper\" target=\"_blank\">https://reactjs.org/docs/render-props.html#gatsby-focus-wrapper</a> </p>\r\n <p><a href=\"https://redux.js.org/introduction/getting-started\" target=\"_blank\">https://redux.js.org/introduction/getting-started</a> </p>\r\n <img src={url} alt={title} />\r\n </div>\r\n </div>)\r\n\r\n }\r\n}\r\nexport default Docs;","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nconst Header = props => {\r\n //const { Component } = props;\r\n\r\n const style = {\r\n display: 'inline-block',\r\n margin: 10,\r\n marginBottom: 30\r\n }\r\n return (\r\n <div>\r\n <div>\r\n <h3 style={style}><Link to='/'>Home</Link></h3> \r\n <h3 style={style}><Link to='/evenoddgame'>Even Or Odds</Link></h3>\r\n <h3 style={style}><Link to='/docs'>Docs</Link></h3>\r\n </div>\r\n\r\n {props.children}\r\n </div>\r\n )\r\n}\r\nexport default Header;","export const SET_GAME_STARTED = 'SET_GAME_STARTED';\r\nexport const SET_INSTRUCTIONS_EXPANDED = 'SET_INSTRUCTIONS_EXPANDED';\r\nexport const FETCH_DECK_RESULT='FETCH_DECK_RESULT';\r\nexport const FETCH_DECK_ERROR = 'FETCH_DECK_ERROR';\r\nexport const SET_GUESS ='SET_GUESS';\r\n\r\nexport const DECK = {\r\n FETCH_SUCCESS:'DECK_FETCH_SUCCESS',\r\n FETCH_ERROR: 'DECK_FETCH_ERROR'\r\n};\r\nexport const DECK_DRAW = {\r\n FETCH_SUCCESS: 'DECK_DRAW_FETCH_SUCCESS',\r\n FETCH_ERROR: 'DECK_DRAW_FETCH_ERROR',\r\n FETCH_GAME_END :'FETCH_GAME_END'\r\n}","export default{\r\n success:'success',\r\n error:'error',\r\n gameEnd:'gameEnd'\r\n};","import React, { Component } from 'react';\r\nimport {connect} from 'react-redux';\r\nimport {expandInstructions,collapseInstructions} from '../actions/settings';\r\nconst Instructions = props =>{\r\n const{instructionsExpanded,expandInstructions,collapseInstructions}=props;\r\n if(instructionsExpanded){\r\n return(\r\n <div>\r\n <h3>Instructions</h3>\r\n <div>Welcome to Guess Game. YOu have to guess whether the next card will be even or Odd</div>\r\n <div>Face Cards do not count</div>\r\n <br/>\r\n <button onClick={collapseInstructions}>Show Less</button>\r\n </div>\r\n );\r\n }\r\n return(\r\n <div>\r\n <h3>Instructions</h3>\r\n <div>Welcome to Guess Game...</div>\r\n <br/>\r\n <button onClick={expandInstructions}>Read More</button>\r\n </div>\r\n )\r\n\r\n}\r\nconst mapStateToProps = state=>{\r\n return {instructionsExpanded: state.settings.instructionsExpanded \r\n };\r\n}\r\nconst mapDispatchToProps = dispatch =>{\r\n return {\r\n expandInstructions:()=> dispatch(expandInstructions()),\r\n collapseInstructions:()=>dispatch(collapseInstructions())\r\n }\r\n}\r\nconst componentConnector = connect(mapStateToProps,mapDispatchToProps);\r\n\r\nexport default componentConnector(Instructions);","import {SET_GAME_STARTED,SET_INSTRUCTIONS_EXPANDED} from './types';\r\nexport const startGame = () => {\r\n return { type: SET_GAME_STARTED, gameStarted: true };\r\n}\r\nexport const cancelGame = () => {\r\n return { type: SET_GAME_STARTED, gameStarted: false };\r\n}\r\nexport const expandInstructions = () => {\r\n return { type: SET_INSTRUCTIONS_EXPANDED, instructionsExpanded: true };\r\n}\r\nexport const collapseInstructions = () => {\r\n return { type: SET_INSTRUCTIONS_EXPANDED, instructionsExpanded: false };\r\n}","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport {fetchDrawCard} from '../actions/deck';\r\n\r\nconst DrawCard = ({deck_id,fetchDrawCard}) => {\r\n //console.log('drawcard props', props);\r\n //const {deck_id,fetchDrawCard}=props;\r\n return (\r\n <div>\r\n <button onClick={fetchDrawCard(deck_id)}>Draw the next card!</button>\r\n </div>\r\n )\r\n}\r\nconst mapDispatchToProps= dispatch =>{\r\n return{ fetchDrawCard: deck_id =>() => dispatch(fetchDrawCard(deck_id))};\r\n}\r\nexport default connect(\r\n ({deck: {deck_id}}) =>( {deck_id}),mapDispatchToProps\r\n)(DrawCard);","import {DECK, DECK_DRAW} from './types';\r\n\r\nconst API_ADDRESS ='https://deckofcardsapi.com/api';\r\nexport const fetchDeckSuccess =deckJson=>{\r\n const {remaining, deck_id}=deckJson;\r\n return {type: DECK.FETCH_SUCCESS, remaining, deck_id};\r\n}\r\nexport const fetchDeckError = error =>{\r\n return {type:DECK.FETCH_ERROR, message:error.message};\r\n}\r\n\r\nexport const fetchNewDeck =()=> dispatch=>{\r\n return fetch(`${API_ADDRESS}/deck/new/shuffle/`)\r\n .then(//response => response.json()\r\n response=>{\r\n if(response.status !=200)\r\n {\r\n throw new Error('Unsuccessful request to deckofcardsapi.com');\r\n }\r\n return response.json();\r\n } \r\n )\r\n .then(json =>\r\n {\r\n dispatch(fetchDeckSuccess(json))\r\n })\r\n .catch(error => dispatch(fetchDeckError(error)));\r\n}\r\nexport const fetchDrawCard = deck_id => dispatch=>{\r\n console.log(\"deckid\"+deck_id);\r\n //return fetch('https://deckofcardsapi.com/api/deck/'+deck_id+'/draw/') //https://deckofcardsapi.com/api/deck/v70eqt1fb3tg/draw/\r\n return fetch(`${API_ADDRESS}/deck/${deck_id}/draw/`)\r\n .then (response =>{\r\n if(response.status !=200)\r\n {\r\n throw new Error('Unsuccessful request to deckofcardsapi.com');\r\n }\r\n return response.json();\r\n\r\n })\r\n .then(json => {\r\n if(json.success == true)\r\n {\r\n dispatch({\r\n type:DECK_DRAW.FETCH_SUCCESS,\r\n cards: json.cards,\r\n remaining:json.remaining\r\n })\r\n }\r\n else\r\n {\r\n dispatch({\r\n type:DECK_DRAW.FETCH_GAME_END,\r\n remaining:json.remaining\r\n })\r\n }\r\n\r\n })\r\n .catch(error => dispatch({type:DECK_DRAW.FETCH_ERROR, message:error.message}));\r\n}","import React from 'react';\r\nimport {connect} from 'react-redux';\r\nconst Card =({cards})=>{\r\n if(!cards[0]) return null;\r\n const {value, suit, image} = cards[0];\r\n return (\r\n <div>\r\n <h3>{value} of {suit}</h3>\r\n <img src={image} alt='card-image'/>\r\n </div>\r\n )\r\n}\r\nexport default connect(({deck:{cards}})=>({cards}))(Card)","import React from 'react';\r\nimport {connect} from 'react-redux';\r\nimport {setGuessEven, setGuessOdd} from '../actions/guess';\r\n\r\nconst Guess = ({guess, setGuessEven,setGuessOdd})=>{\r\n return (\r\n <div>\r\n <h3>Will it be even or Odd?</h3>\r\n <div>\r\n <button onClick={setGuessEven}\r\n style={guess==='even'? {border:'2px solid #79d70f'}:null}\r\n >Even</button>\r\n {' '}\r\n <button onClick={setGuessOdd} \r\n style={guess==='odd'? {border:'2px solid #79d70f'}:null}\r\n >Odd</button>\r\n </div>\r\n </div>\r\n )\r\n\r\n}\r\nexport default connect(\r\n ({gameState:{guess}})=>({guess}), \r\n {setGuessEven,setGuessOdd}\r\n)(Guess)","import {SET_GUESS} from './types';\r\nexport const setGuessEven =()=>{\r\n return {type:SET_GUESS, guess : 'even'}\r\n}\r\nexport const setGuessOdd =()=>{\r\n return {type:SET_GUESS, guess : 'odd'}\r\n}","import React from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nconst correctGuessesRecordKey = 'CORRECT_GUESSES_RECORD_VC123';\r\nconst checkRecord = correctGuesses => {\r\n const record = Number(localStorage.getItem(correctGuessesRecordKey));\r\n if (correctGuesses > record) {\r\n localStorage.setItem(correctGuessesRecordKey, correctGuesses);\r\n return { record: correctGuesses, isNewRecord: true };\r\n }\r\n return { record, isNewRecord: false }\r\n\r\n}\r\n\r\nconst GameState = ({ remaining, correctGuesses }) => {\r\n const guessText = correctGuesses === 1 ? 'guess' : 'guesses';\r\n const { record, isNewRecord } = checkRecord(correctGuesses);\r\n const recordLabel = isNewRecord ? ' 🎉 New Record' : 'Record';\r\n return (\r\n <div>\r\n <h3>{recordLabel}: {record}</h3>\r\n <p>{remaining} cards remaining - {correctGuesses} correct {guessText} </p>\r\n </div>\r\n )\r\n}\r\nexport default connect(\r\n (\r\n {\r\n deck: { remaining },\r\n gameState: { correctGuesses }\r\n }\r\n ) => ({ remaining, correctGuesses })\r\n)(GameState);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { startGame, cancelGame } from '../actions/settings';\r\nimport { fetchNewDeck } from '../actions/deck';\r\nimport fetchStates from '../reducers/fetchStates';\r\nimport Instructions from './Instructions';\r\nimport DrawCard from './DrawCard';\r\nimport Card from './Card';\r\nimport Guess from './Guess';\r\nimport GameState from './GameState';\r\n\r\nclass App extends Component {\r\n startGame = () => {\r\n this.props.startGame();\r\n this.props.fetchNewDeck();\r\n\r\n }\r\n render() {\r\n console.log('this!!', this);\r\n if (this.props.fetchState == fetchStates.error) {\r\n return (\r\n <div>\r\n <p>An error has occurred. Please try reloading the app.</p>\r\n <p>{this.props.message}</p>\r\n </div>\r\n )\r\n }\r\n else if (this.props.fetchState == fetchStates.gameEnd) {\r\n\r\n return (<div>\r\n\r\n <div>♣️ ♥️ Guess Even or Odds Cards ♠️ ♦️</div>\r\n <h3>Game is Over!</h3>\r\n <GameState />\r\n <br/>\r\n <button onClick={this.startGame}>Start Game</button>\r\n </div>)\r\n\r\n\r\n }\r\n return (\r\n <div>\r\n <div>♣️ ♥️ Guess Even or Odds Cards ♠️ ♦️</div>{\r\n\r\n this.props.gameStarted ? (\r\n <div>\r\n <h3>Game started!</h3>\r\n <GameState />\r\n {/* <br/> */}\r\n <Guess />\r\n <br />\r\n <DrawCard /><hr />\r\n <Card />\r\n <hr />\r\n <button onClick={this.props.cancelGame}>Cancel Game</button>\r\n </div>) : (\r\n <div>\r\n <h3>New Game!</h3>\r\n <br />\r\n\r\n <hr />\r\n <button onClick={this.startGame}>Start Game</button>\r\n <hr />\r\n <Instructions />\r\n </div>\r\n\r\n )\r\n }\r\n </div>\r\n )\r\n\r\n\r\n\r\n\r\n\r\n\r\n }\r\n}\r\nconst mapStateToProps = state => {\r\n /* console.log('state*: ', state);\r\n const { gameStarted, fetchState, message } = state.settings;\r\n const {fetchState,message} = state.deck;\r\n */\r\n const {\r\n settings: { gameStarted },\r\n deck: { fetchState, message }\r\n } = state;\r\n return { gameStarted, fetchState, message };\r\n}\r\n/* const mapDispatchToProps = dispatch => {\r\n return {\r\n startGame: () => dispatch(startGame()),\r\n cancelGame: () => dispatch(cancelGame()),\r\n fetchNewDeck: () => dispatch(fetchNewDeck())\r\n\r\n };\r\n} */\r\n\r\n//const componentConnector = connect(mapStateToProps, mapDispatchToProps);\r\nconst componentConnector = connect(mapStateToProps, { startGame, cancelGame, fetchNewDeck });\r\n\r\nexport default componentConnector(App);\r\n","import {\r\n SET_GAME_STARTED,\r\n SET_INSTRUCTIONS_EXPANDED} from '../actions/types';\r\n import fetchStates from './fetchStates';\r\n \r\n export const DEFAULT_SETTINGS = {\r\n gameStarted: false,\r\n instructionsExpanded: false\r\n }\r\n \r\n export const settingsReducer = (state = DEFAULT_SETTINGS, action) => {\r\n switch (action.type) {\r\n case SET_GAME_STARTED:\r\n return {\r\n ...state, gameStarted: action.gameStarted \r\n };\r\n \r\n case SET_INSTRUCTIONS_EXPANDED:\r\n return {\r\n ...state, instructionsExpanded: action.instructionsExpanded\r\n }\r\n \r\n default:\r\n return state;\r\n break;\r\n }\r\n \r\n };\r\n export default settingsReducer;","import {DECK, DECK_DRAW} from '../actions/types';\r\n import fetchStates from './fetchStates';\r\n \r\n export const DEFAULT_DECK = {\r\n deck_id: '',\r\n remaining: 0,\r\n fetchState:'',\r\n message:'', \r\n cards : []\r\n }\r\n \r\n export const deckReducer = (state = DEFAULT_DECK, action) => {\r\n let remaining, deck_id, cards; \r\n \r\n switch (action.type) { \r\n case DECK.FETCH_SUCCESS:\r\n //const {remaining, deck_id}=action;\r\n ( {remaining, deck_id}=action);\r\n return{ \r\n ...state,remaining,deck_id, fetchState:fetchStates.success\r\n }\r\n case DECK.FETCH_ERROR:\r\n return {...state,message:action.message, fetchState:fetchStates.error}\r\n\r\n case DECK_DRAW.FETCH_SUCCESS:\r\n //( {cards, remaining}=action);\r\n ( {remaining, cards}=action);\r\n return {...state, cards, remaining,fetchState:fetchStates.success}\r\n case DECK_DRAW.FETCH_ERROR:\r\n return {...state, message:action.message, fetchState:fetchStates.error}\r\n case DECK_DRAW.FETCH_GAME_END:\r\n return {...state, message:action.message, fetchState:fetchStates.gameEnd}\r\n default:\r\n return state;\r\n break;\r\n }\r\n \r\n };\r\n export default deckReducer;","import {SET_GUESS,SET_GAME_STARTED, DECK_DRAW} from '../actions/types';\r\nconst DEFAULT_GAME_STATE ={guess:'', correctGuesses:0};\r\nconst EVENS=['2','4','6','8','0','10'];\r\nconst ODDS=['ACE','3','5','7','9'];\r\nconst gameStateReducer =(state=DEFAULT_GAME_STATE, action)=>{\r\n switch(action.type)\r\n {\r\n case SET_GUESS:\r\n return {...state,guess:action.guess};\r\n case SET_GAME_STARTED:\r\n return DEFAULT_GAME_STATE;\r\n case DECK_DRAW.FETCH_SUCCESS:\r\n const {value} = action.cards[0];\r\n const {guess, correctGuesses}=state;\r\n if(\r\n (guess ==='even' && EVENS.includes(value))||\r\n (guess ==='odd' && ODDS.includes(value))\r\n ){\r\n return {...state,correctGuesses:correctGuesses+1};\r\n }\r\n return state;\r\n default:\r\n return state;\r\n }\r\n}\r\nexport default gameStateReducer;","import {combineReducers} from 'redux';\r\nimport settingsReducer from './settings';\r\nimport deckReducer from './deck';\r\nimport gameStateReducer from './gameState';\r\n\r\nexport default combineReducers({\r\n settings:settingsReducer,\r\n deck:deckReducer,\r\n gameState : gameStateReducer\r\n});","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport App from './components/App';\r\n//import store from './app/store';\r\nimport { Provider } from 'react-redux';\r\nimport thunk from 'redux-thunk';\r\nimport { createStore, applyMiddleware } from 'redux';\r\n\r\nimport rootReducer from './reducers';\r\n//import startGame from './actions/settings';\r\n\r\n\r\nconst store = createStore(rootReducer, applyMiddleware(thunk));\r\nconsole.log('store:',{store}); \r\n//console.log('store state 1:',store.getState()); \r\nstore.subscribe(() => console.log('store.getstate', store.getState()));\r\n\r\nconst EvenOrOdds =()=>{\r\n return(\r\n <Provider store={store}>\r\n <App/>\r\n </Provider>\r\n )\r\n}\r\nexport default EvenOrOdds;\r\n\r\n\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport {BrowserRouter as Router,Switch,Route} from \"react-router-dom\";\r\nimport App from './components/App';\r\nimport Docs from './components/Docs';\r\nimport Header from './components/Header';\r\nimport EvensOrOdds from './projects/evenoddgame';\r\nimport './index.css';\r\n\r\nReactDOM.render(\r\n <Router>\r\n <Switch>\r\n <Route exact path=\"/\" render={()=><Header><App/></Header>}>\r\n </Route>\r\n <Route path=\"/docs\" render={()=><Header><Docs/></Header>}>\r\n </Route>\r\n <Route path=\"/evenoddgame\" render={()=><Header><EvensOrOdds/></Header>}>\r\n </Route>\r\n </Switch>\r\n </Router>,\r\n document.getElementById('root'));\r\n","module.exports = __webpack_public_path__ + \"static/media/project1.bf56edc6.png\";","module.exports = \"data:image/png;base64,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\""],"sourceRoot":""}