{"ast":null,"code":"import React,{useState,useRef,useEffect,useMemo,memo,useCallback}from'react';import{connect}from'react-redux';import{Badge,Button,Modal}from'antd';import GamePlayModals from'./gamePlayModals';import{setGameIntroSteps,selectValueBuddies,handleRestart,setRemainingTime,fetchGameState,setChooseValueModal,setStep,selectToken,setGameState}from'../../reduxStore/actions/action';import CustomBox from\"../../assets/customText-box.png\";import UserInitials from'../components/userInitials';import vbNameTag from\"../../assets/TAg.png\";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";export const ChooseCorrectValue=_ref=>{let{chooseValueModal,setChooseValueModal,correctValueBuddies,fetchGameState,gameAssets,utilAssets}=_ref;return/*#__PURE__*/_jsx(\"div\",{children:/*#__PURE__*/_jsx(Modal,{visible:chooseValueModal,onCancel:()=>{setChooseValueModal(false);},footer:null,maskClosable:false,closeIcon:false,className:\"token-model\",width:1000,style:{overflow:'hidden !important'},centered:true,children:/*#__PURE__*/_jsxs(\"div\",{className:\"r-c-c\",style:{width:\"100%\",height:\"100%\",textAlign:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{className:\"r-c-c letsPlayFrame\",style:{},children:/*#__PURE__*/_jsx(\"img\",{style:{width:\"100%\"},src:utilAssets===null||utilAssets===void 0?void 0:utilAssets.modalBg,alt:\"lets play\"})}),/*#__PURE__*/_jsx(\"div\",{className:\"r-c-c-c\",style:{},children:/*#__PURE__*/_jsxs(\"div\",{className:\"choose-title\",style:{},children:[\"Choose your \",correctValueBuddies===null||correctValueBuddies===void 0?void 0:correctValueBuddies.length,\" value buddies correctly to start the game!\",/*#__PURE__*/_jsx(\"div\",{className:\"r-c-c play-btn  m-t-20\",style:{width:\"100%\"},children:/*#__PURE__*/_jsx(Button,{onClick:()=>{setChooseValueModal(false);fetchGameState(()=>{},()=>{});},children:\"OK\"})})]})})]})})});};const RollDice=/*#__PURE__*/React.memo(_ref2=>{let{diceValue,showDiceBtn,handleRollDice,diceRandom,diceAssets}=_ref2;const handleClick=()=>{handleRollDice();};return/*#__PURE__*/_jsxs(\"div\",{style:{display:'flex',flexDirection:'column',height:'100%',alignItems:'center',position:'relative',width:'100%',height:'100%'},children:[console.log('inside dice roll',diceValue),showDiceBtn?/*#__PURE__*/_jsxs(\"div\",{className:\"r-c-c done-btn\",style:{display:'flex',flexDirection:'column',justifyContent:'center',alignItems:'center',width:'100%',height:'0%'},children:[/*#__PURE__*/_jsx(\"img\",{src:diceAssets[0],onClick:handleClick,style:{width:'25vh',height:'25vh',objectFit:'contain',cursor:'pointer'}}),/*#__PURE__*/_jsx(Button,{onClick:handleClick,children:\"Roll Dice\"})]}):diceValue?/*#__PURE__*/_jsx(\"div\",{style:{position:'absolute',height:'100%',width:'100%',display:'flex',justifyContent:'center',alignItems:'flex-end'},children:/*#__PURE__*/_jsx(\"img\",{src:\"\".concat(diceAssets===null||diceAssets===void 0?void 0:diceAssets[diceValue],\"?\").concat(diceRandom),id:\"gif-animation\",style:{width:'20vw',height:'20vw',display:diceAssets!==null&&diceAssets!==void 0&&diceAssets[diceValue]?'block':'none',objectFit:'contain'}})}):null]});});function debounce(func,wait){let timeout;const debounced=function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}clearTimeout(timeout);timeout=setTimeout(()=>func(...args),wait);};debounced.cancel=()=>{clearTimeout(timeout);};return debounced;}function LeftSidePanel(_ref3){let{tokenCard,valueBuddiesImg,correctValueBuddies,setGameIntroSteps,gameIntroSteps,selectValueBuddies,handleRollDice,diceValue,showDiceBtn,setShowDiceBtn,handleQuestion,optionValue,question,lastReachedPosition,handleRestart,setSelectedOption,selectedOption,karmaFlag,randomIndex,runTimer,setRemainingTime,fetchGameState,setOptionValue,addedKarmas,removedKarmas,setAddedKarmas,setRemovedKarmas,diceRandom,setChooseValueModal,chooseValueModal,isGameOver,setStep,selectToken,userDetails,gameState,setGameState,gameAssets,utilAssets,diceAssets,audioAssets,isCustomModalOpen,setCustomModalOpen,setSelectedBuddy}=_ref3;const memoId=useMemo(()=>true,[addedKarmas,removedKarmas,karmaFlag]);console.log('left side panel params',diceValue,selectedOption,karmaFlag,randomIndex,lastReachedPosition);const[isOpenModal,setIsOpenModal]=useState(false);const title=[\"Identify the correct value buddies\",\"Select Your Token\",\"Karma Badges\",\"The Decision Impact\"];const modalTitle=[\"Oops!\",\"Good Job!\",\"Excellent!\",\"Let's Play\"];const modalSubText=[\"Value buddies that you selected are not correct\",\"You have selected 2 correct values only 1 is left\",\"You have selected all your value buddies\",\"You have selected 1 correct value only 2 is left\"];const modalBtnText=[\"TRY AGAIN\",\"OK\",\"NEXT\",\"PLAY\"];const[selectedItems,setSelectedItems]=useState([]);const maxAllowed=correctValueBuddies===null||correctValueBuddies===void 0?void 0:correctValueBuddies.length;const[isPlayerWin,setIsPlayWin]=useState(false);const[isNextEnabled,setIsNextEnabled]=useState(false);const[isRolled,setIsRolled]=useState(false);console.log(\"gameIntroSteps\",gameIntroSteps);setTimeout(()=>{if(isGameOver){setIsPlayWin(true);// setTimeout(() => {\n//     setStep(4);\n// }, 1500)\n}},1000);const[questionPart,setQuestionPart]=useState(false);const[optionPart,setOptionPart]=useState(false);const[magnusPart,setMagnusPart]=useState(false);// useEffect(() => {\n//     if (selectedOption !== null) {\n//         const resetTimeout = setTimeout(() => {\n//             setSelectedOption(null);\n//         }, 2000);\n//         return () => clearTimeout(resetTimeout);\n//     }\n// }, [selectedOption, setSelectedOption]);\nuseEffect(()=>{if(karmaFlag!=null&&!optionValue){setIsRolled(true);setMagnusPart(true);setTimeout(()=>{setMagnusPart(false);if(question){setQuestionPart(true);setTimeout(()=>{setQuestionPart(false);},2000);}else{setIsRolled(false);}},karmaFlag==1?2000:3000);}},[karmaFlag,question,optionValue]);useEffect(()=>{if(question&&karmaFlag==null){setIsRolled(true);if(sessionStorage.getItem('gateReached')!='true'){sessionStorage.setItem('gateReached',true);setQuestionPart(true);//const audio = document.getElementById(\"audio-tag\");\n//if(!audio.paused){\n// const audioPlayer = new Audio(audioAssets?.gateOpenSound);\n// audioPlayer.play().catch(error => {\n//console.error('Error playing the audio:', error);\n// });\n//}\nsetTimeout(()=>{setQuestionPart(false);},2000);}}},[karmaFlag,question,optionValue]);useEffect(()=>{if(optionValue){setIsRolled(true);setOptionPart(true);const sound1=audioAssets===null||audioAssets===void 0?void 0:audioAssets[optionValue===null||optionValue===void 0?void 0:optionValue.sound];const sound2=optionValue!==null&&optionValue!==void 0&&optionValue.isCorrect?audioAssets===null||audioAssets===void 0?void 0:audioAssets.gateOpenSound:audioAssets===null||audioAssets===void 0?void 0:audioAssets.snakeSound;const audio=document.getElementById(\"audio-tag\");// sessionStorage.setItem(\"isResultOpen\", \"false\");\nif(!audio.paused){const audioPlayer1=new Audio(sound1);audioPlayer1.play().catch(error=>{console.error('finally','Error playing the audio:',error);});if(sound1){audioPlayer1.addEventListener('ended',()=>{console.log('second sound');// const audioPlayer2 = new Audio(sound2);\n// audioPlayer2.play().catch(error => {\n//     console.error('Error playing the audio:', error);\n// });\n});}else{// const audioPlayer2 = new Audio(sound2);\n// audioPlayer2.play().catch(error => {\n//     console.error('Error playing the audio:', error);\n// });\n}}// setTimeout(() => {\n//     sessionStorage.setItem(\"isResultOpen\", \"true\");\n// }, 0)\nsetTimeout(()=>{setOptionPart(false);setOptionValue();if(karmaFlag==null)setIsRolled(false);else{console.log(\"called magnus start\");setMagnusPart(true);setTimeout(()=>{console.log(\"called magnus end\");setMagnusPart(false);if(question){setQuestionPart(true);setTimeout(()=>{setQuestionPart(false);},3000);}else{setIsRolled(false);}//\n},3500);}},3000);}},[karmaFlag,question,optionValue]);const[allAreTrue,setAllAreTrue]=useState(false);const arraysEqual=(a,b)=>{if(a.length!==b.length)return false;a.sort();b.sort();for(let i=0;i<a.length;i++){if(a[i]!==b[i])return false;}return true;};// useEffect(() => {\n//     setIsNextEnabled(selectedItems.length === maxAllowed);\n// }, [selectedItems]);\nuseEffect(()=>{setIsNextEnabled(selectedItems.length===maxAllowed);const selectedIds=selectedItems.map(item=>item.id);setAllAreTrue(arraysEqual(selectedIds,[...correctValueBuddies]));},[selectedItems]);const handleNext=()=>{if(gameIntroSteps===0){if(selectedItems.length===maxAllowed){const params={isChoosenCorrect:allAreTrue};selectValueBuddies(params,()=>{setIsOpenModal(true);},()=>{console.log('Error while selecting value buddies');});}else{setIsOpenModal(true);}}setCustomModalOpen(false);};const isCorrect=id=>{return correctValueBuddies.some(item=>item===id);};const countCorrectSelectedItems=()=>{return selectedItems.filter(item=>isCorrect(item.id)).length;};const countSelected=countCorrectSelectedItems();const totalValueBuddies=correctValueBuddies.length;let countIndex=0;if(countSelected===0){countIndex=0;}else if(countSelected<totalValueBuddies){countIndex=1;}else if(countSelected===totalValueBuddies){countIndex=2;}else if(gameIntroSteps==4){countIndex=3;}const handleCheckboxChange=item=>{const isChecked=selectedItems.some(selected=>selected.id===item.id);if(isChecked){setSelectedItems(selectedItems.filter(selected=>selected.id!==item.id));}else{if(selectedItems.length<maxAllowed){setSelectedItems([...selectedItems,item]);}}};const MagnusBadges=()=>{const triggerAnimation=useCallback((startId,endId,animationClass,id,index)=>{const startElement=document.getElementById(startId);const endElement=document.getElementById(endId);if(!startElement||!endElement||document.getElementById(\"img-\".concat(id)))return;console.log(\"start id came\",startId);const startRect=startElement.getBoundingClientRect();const endRect=endElement.getBoundingClientRect();console.log('karam badge id',id);const newImg=document.createElement('img');newImg.setAttribute('src',badges[id]);// Replace with your image path\nnewImg.setAttribute('id',\"img-\".concat(id));newImg.className=animationClass;newImg.style.width='100%';newImg.style.height='100%';newImg.style.objectFit='contain';newImg.style.position='absolute';newImg.style.left=\"\".concat(0,\"px\");newImg.style.top=\"\".concat(0,\"px\");newImg.style.zIndex='101';newImg.style.setProperty('--end-x',\"\".concat(endRect.left-startRect.left,\"px\"));newImg.style.setProperty('--end-y',\"\".concat(endRect.top-startRect.top,\"px\"));startElement.appendChild(newImg);const sound=karmaFlag==1?audioAssets===null||audioAssets===void 0?void 0:audioAssets.wonPointSound:audioAssets===null||audioAssets===void 0?void 0:audioAssets.lostPointSound;const audio=document.getElementById(\"audio-tag\");if(!audio.paused){const audioPlayer=new Audio(sound);audioPlayer.play().catch(error=>{console.error('Error playing the audio:',error);});}newImg.addEventListener('animationend',()=>{setTimeout(()=>{newImg.remove();setAddedKarmas([]);setRemovedKarmas([]);},karmaFlag==1?1000:500);});},[]);const debouncedActionRef=useRef(null);// useEffect(()=>{\n//     if (addedKarmas.length > 0) {\n//         const debouncedAction = debounce(() => {\n//         addedKarmas.forEach((id, index) => {\n//             triggerAnimation('karma-badge-1', 'badge-' + (4 - id), 'animate-to', 4 - id, index);\n//         });\n//     }, 500);\n//     debouncedAction();\n//     const cleanup = () => {\n//         clearTimeout(debouncedAction);\n//         setAddedKarmas([]);\n//         setRemovedKarmas([]);\n//       };\n//       return cleanup;\n//     } else if (removedKarmas.length > 0) {\n//         const debouncedAction = debounce(() => {\n//         removedKarmas.forEach((id, index) => {\n//             console.log(removedKarmas, 'inside');\n//             triggerAnimation('badge-' + (4 - id), 'karma-badge-1', 'animate-back', 4 - id, index);\n//         });\n//         }, 900);\n//         debouncedAction();\n//         const cleanup = () => {\n//             clearTimeout(debouncedAction);\n//             setAddedKarmas([]);\n//             setRemovedKarmas([]);\n//           };\n//           return cleanup;\n//             }\n//     }, [addedKarmas,removedKarmas,karmaFlag])\nconst createDebouncedAction=useCallback(()=>{if(removedKarmas.length>0){return debounce(()=>{removedKarmas.forEach((id,index)=>{console.log(removedKarmas,'inside');triggerAnimation('badge-'+(4-id),'karma-badge-1','animate-back',4-id,index);});},500);}else if(addedKarmas){return debounce(()=>{addedKarmas.forEach((id,index)=>{triggerAnimation('karma-badge-1','badge-'+(4-id),'animate-to',4-id,index);});},500);}},[removedKarmas,addedKarmas]);useEffect(()=>{// Assign the debounced function to the ref\ndebouncedActionRef.current=createDebouncedAction();// Call the debounced function\ndebouncedActionRef.current();// Cleanup function to clear the timeout\nreturn()=>{if(debouncedActionRef.current){debouncedActionRef.current.cancel();}};},[createDebouncedAction]);// useEffect(() => {\n//     if (addedKarmas.length > 0) {\n//         addedKarmas.forEach((id, index) => {\n//             triggerAnimation('karma-badge-1', 'badge-' + (4 - id), 'animate-to', 4 - id, index);\n//         });\n//     } else if (removedKarmas.length > 0) {\n//         removedKarmas.forEach((id, index) => {\n//             console.log(removedKarmas, 'inside');\n//             triggerAnimation('badge-' + (4 - id), 'karma-badge-1', 'animate-back', 4 - id, index);\n//         });\n//     }\n// }, [addedKarmas, removedKarmas, karmaFlag, triggerAnimation]);\nconst badges=[gameAssets===null||gameAssets===void 0?void 0:gameAssets.badge5,gameAssets===null||gameAssets===void 0?void 0:gameAssets.badge4,gameAssets===null||gameAssets===void 0?void 0:gameAssets.badge3,gameAssets===null||gameAssets===void 0?void 0:gameAssets.badge2,gameAssets===null||gameAssets===void 0?void 0:gameAssets.badge1];let giving=karmaFlag==1?true:karmaFlag==0?false:\"\";// const [positions, setPositions] = useState({});\n// const [direction,setDirection]=useState(true);\n// useEffect(() => {\n//     const badge1 = document.getElementById(direction?'badge-1':'img-reverse-1').getBoundingClientRect();\n//     const karmaBadge1 = document.getElementById('karma-badge-1').getBoundingClientRect();\n//     const from = direction?karmaBadge1:badge1\n//     const to =  direction?badge1:karmaBadge1\n//     setPositions({\n//         fromX: from.left,\n//         fromY: from.top,\n//         toX: to.left,\n//         toY: to.top\n//     });\n//     const img1 = document.getElementById('img-1');\n//     img1.style.setProperty('--from-x', `${from.left}px`);\n//     img1.style.setProperty('--from-y', `${from.top}px`);\n//     img1.style.setProperty('--to-x', `${to.left}px`);\n//     img1.style.setProperty('--to-y', `${to.top}px`);\n// }, [direction]);\n// const handleButtonClick = () => {\n//     if (isAnimatingTo) {\n//         triggerAnimation('badge-4', 'karma-badge-1', 'animate-to');\n//     } else {\n//         triggerAnimation('karma-badge-1', 'badge-4', 'animate-to');\n//     }\n//     setIsAnimatingTo(!isAnimatingTo);\n// };\n// useEffect(() => {\n//     if(giving){\n//         removedIndexes.forEach((id)=>{\n//             triggerAnimation('badge-'+id, 'karma-badge-1', 'animate-to')\n//         })\n//     }else{\n//         newlyAddedIndexes.forEach((id)=>{\n//             triggerAnimation('karma-badge-1', 'badge-'+id, 'animate-to');\n//         })\n//     }\n// }, []);\nreturn/*#__PURE__*/_jsx(\"div\",{className:\"r-c-c\",style:{color:\"#44301E\",fontWeight:\"bolder\",width:\"100%\",position:\"relative\",textAlign:\"center\",height:'100%'},children:giving===true?/*#__PURE__*/_jsxs(\"div\",{style:{height:'100%',width:'100%',display:'flex',flexDirection:'column',alignItems:'center',justifyContent:'center'},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"25px\"},children:\"Well Done!\"}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"16px\"},children:\"Here is a karma badge!\"}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",left:\"0px\",width:\"90%\"},children:[\" \",/*#__PURE__*/_jsx(\"img\",{className:\"full-img\",src:gameAssets===null||gameAssets===void 0?void 0:gameAssets.magnusGivingImg}),\" \"]}),/*#__PURE__*/_jsx(\"div\",{style:{position:'absolute',width:'6vw',height:'6vw',borderRadius:'100%',right:15,top:'36%'},id:\"karma-badge-1\"})]}):giving===false?/*#__PURE__*/_jsxs(\"div\",{style:{height:'100%',width:'100%',position:'relative',display:'flex',flexDirection:'column',alignItems:'center',justifyContent:'center'},children:[/*#__PURE__*/_jsx(\"div\",{className:\"fallen-text-1\",children:\"Oops! You have fallen back.\"}),/*#__PURE__*/_jsx(\"div\",{className:\"fallen-text-2\",children:\"I'm taking the karma badges back!\"}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"90%\"},children:[\" \",/*#__PURE__*/_jsx(\"img\",{className:\"full-img\",src:gameAssets===null||gameAssets===void 0?void 0:gameAssets.magnusTakingImg}),/*#__PURE__*/_jsx(\"div\",{style:{position:'absolute',width:'60px',height:'60px',borderRadius:'100%',left:'3vw',top:'8%'},id:\"karma-badge-1\"})]})]}):null});};const ValueBuddyQuestion=()=>{var _valueBuddiesImg$rand,_valueBuddiesImg$rand2,_question$options;const[selectedQa,setSelectedQa]=useState(null);return/*#__PURE__*/_jsx(_Fragment,{children:questionPart?/*#__PURE__*/_jsxs(_Fragment,{children:[\" \",/*#__PURE__*/_jsx(ValueBuddyQuestionGate,{}),\" \"]}):optionPart?/*#__PURE__*/_jsx(ValueBuddyAnswerGate,{}):magnusPart?/*#__PURE__*/_jsx(MagnusBadges,{}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{className:\"r-c-c-c\",style:{textAlign:\"center\",position:\"relative\",height:'90%',display:'flex',flexDirection:'column',justifyContent:'center',alignItems:'center'},children:/*#__PURE__*/_jsxs(\"div\",{className:\"parent-options \",style:{position:'relative',height:'80%',display:'flex',flexDirection:'column',justifyContent:'center',alignItems:'center',top:'0'},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:'90%',position:'absolute',top:'10%'},children:/*#__PURE__*/_jsx(\"img\",{className:\"full-img\",src:gameAssets===null||gameAssets===void 0?void 0:gameAssets.questionBg,alt:\"Left Question Background\",style:{width:'100%',height:'100%'}})}),/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:'20%',minHeight:'100px',position:'relative'},children:/*#__PURE__*/_jsx(\"img\",{className:\"full-img\",src:valueBuddiesImg===null||valueBuddiesImg===void 0?void 0:(_valueBuddiesImg$rand=valueBuddiesImg[randomIndex])===null||_valueBuddiesImg$rand===void 0?void 0:_valueBuddiesImg$rand.withName,alt:\"Value Buddy\",style:{maxHeight:'fit-content',maxWidth:'40%',position:'absolute',bottom:'0%',left:'50%',transform:'translate(-50%,0%)',minWidth:'100px',minHeight:'100px',objectFit:'cover'}})}),/*#__PURE__*/_jsxs(\"div\",{className:\"r-c-c\",style:{position:\"relative\",width:\"40%\"},children:[/*#__PURE__*/_jsx(\"img\",{className:\"full-img cursor-pointer\",src:vbNameTag}),/*#__PURE__*/_jsx(\"div\",{className:\"r-c-c vb-name\",style:{},children:valueBuddiesImg===null||valueBuddiesImg===void 0?void 0:(_valueBuddiesImg$rand2=valueBuddiesImg[randomIndex])===null||_valueBuddiesImg$rand2===void 0?void 0:_valueBuddiesImg$rand2.name})]}),console.log(\"radom index with name\",randomIndex),/*#__PURE__*/_jsxs(\"div\",{className:\"scroll-bar-universal\",style:{padding:10,maxHeight:'72%'},children:[/*#__PURE__*/_jsx(\"span\",{className:\"question-text  \",style:{},children:question===null||question===void 0?void 0:question.question}),/*#__PURE__*/_jsx(\"div\",{className:\"left-panel-options\",style:{},children:question===null||question===void 0?void 0:(_question$options=question.options)===null||_question$options===void 0?void 0:_question$options.map((option,index)=>/*#__PURE__*/_jsx(\"div\",{className:\"option-text cursor-pointer\",onClick:()=>setSelectedQa(option.id),children:/*#__PURE__*/_jsxs(\"div\",{style:{color:(optionValue===null||optionValue===void 0?void 0:optionValue.optionId)===option.id&&optionValue!==null&&optionValue!==void 0&&optionValue.isCorrect?'green':'black',backgroundColor:selectedQa===option.id?\"#FFDBAA\":\"transparent\",transform:selectedQa===option.id?\"scale(1.03)\":\"scale(1)\",transition:\"background-color 0.3s, transform 0.3s ease, box-shadow 0.3s ease\",borderRadius:10,padding:\"10px\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",position:\"relative\",height:\"100%\",boxShadow:selectedQa===option.id?\"0 0 8px 2px #52FF00\":\"none\"},children:[/*#__PURE__*/_jsx(\"img\",{className:\"full-img\",src:gameAssets===null||gameAssets===void 0?void 0:gameAssets.optionBg,alt:\"Background\",style:{position:'absolute',top:0,left:0,height:'100%',width:'100%',borderRadius:10}}),/*#__PURE__*/_jsx(\"div\",{style:{position:'relative',zIndex:1,width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(\"div\",{style:{whiteSpace:\"normal\",textAlign:\"center\",width:\"100%\"},children:option.option})})]})},option.id))})]})]})}),/*#__PURE__*/_jsx(\"div\",{className:\"r-c-c done-btn \",style:{height:'10%'},children:/*#__PURE__*/_jsx(Button,{disabled:selectedQa==null,onClick:()=>{handleQuestion(selectedQa);},style:{position:'absolute',top:'0%'},children:\"Submit\"})})]})});};const ValueBuddyQuestionGate=()=>{var _valueBuddiesImg$rand3;console.log(\"randomIndex\",randomIndex);// useEffect(() => {\n//     setSelectedBuddy(randomIndex)\n//     setCustomModalOpen(true)\n//     setTimeout(() => {\n//         setCustomModalOpen(false)\n//     }, 2000)\n// }, [])\nreturn/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",top:\"30%\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:\"32%\"},children:/*#__PURE__*/_jsx(\"img\",{className:\"full-img\",src:gameAssets===null||gameAssets===void 0?void 0:gameAssets.goodGateImg})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",width:\"45%\",left:\"56%\",top:\"120px\"},children:/*#__PURE__*/_jsx(\"img\",{className:\"full-img\",src:valueBuddiesImg===null||valueBuddiesImg===void 0?void 0:(_valueBuddiesImg$rand3=valueBuddiesImg[randomIndex])===null||_valueBuddiesImg$rand3===void 0?void 0:_valueBuddiesImg$rand3.happy})}),console.log(\"radom index happy\",randomIndex)]});};const ValueBuddyAnswerGate=()=>{var _valueBuddiesImg$rand4,_valueBuddiesImg$rand5;// const [gifImg, setGifImg] = useState();\n// console.log('component invoked ===>', sessionStorage.getItem(\"isResultOpen\"), typeof sessionStorage.getItem(\"isResultOpen\"));\n// useEffect(() => {\n//     if (sessionStorage.getItem(\"isResultOpen\") != \"true\") {\n//         const gate = optionValue?.isCorrect ? gameAssets?.goodGateImg : gameAssets?.badGateImg;\n//         setGifImg(gate);\n//     } else {\n//         const gateGif = optionValue?.isCorrect ? gameAssets?.goodPathAnimation : gameAssets?.badPathAnimation;\n//         setGifImg(gateGif);\n//     }\n// }, [])\nreturn/*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100dvh\"},children:[/*#__PURE__*/_jsx(\"div\",{className:\"bad-gate-text\",style:{fontSize:'1.5vw'},children:optionValue===null||optionValue===void 0?void 0:optionValue.metaInfo}),/*#__PURE__*/_jsx(\"div\",{className:\"bad-gate-text-bg\",children:/*#__PURE__*/_jsx(\"img\",{className:\"full-img\",src:gameAssets===null||gameAssets===void 0?void 0:gameAssets.metaInfoBg})}),/*#__PURE__*/_jsx(\"div\",{className:\"\",style:{position:\"absolute\",top:\"32%\"},children:/*#__PURE__*/_jsx(\"img\",{className:\"full-img\",src:optionValue!==null&&optionValue!==void 0&&optionValue.isCorrect?gameAssets===null||gameAssets===void 0?void 0:gameAssets.goodPathAnimation:gameAssets===null||gameAssets===void 0?void 0:gameAssets.badPathAnimation})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",width:\"33%\",left:\"56%\",top:\"50%\"},children:/*#__PURE__*/_jsx(\"img\",{className:\"full-img\",src:optionValue!==null&&optionValue!==void 0&&optionValue.isCorrect?valueBuddiesImg===null||valueBuddiesImg===void 0?void 0:(_valueBuddiesImg$rand4=valueBuddiesImg[randomIndex])===null||_valueBuddiesImg$rand4===void 0?void 0:_valueBuddiesImg$rand4.thumbsUp:valueBuddiesImg===null||valueBuddiesImg===void 0?void 0:(_valueBuddiesImg$rand5=valueBuddiesImg[randomIndex])===null||_valueBuddiesImg$rand5===void 0?void 0:_valueBuddiesImg$rand5.sad})}),console.log(\"radom index thumbs up, sad\",randomIndex)]});};const SuccessFullMessage=()=>{const[showMagnus,setMagnus]=useState(true);useEffect(()=>{const audio=document.getElementById(\"audio-tag\");if(!audio.paused){const audioPlayer=new Audio(audioAssets===null||audioAssets===void 0?void 0:audioAssets.gameFinish);audioPlayer.play().catch(error=>{console.error('Error playing the audio:',error);});}setTimeout(()=>{setMagnus(false);setTimeout(()=>{setStep(4);},2000);},2000);},[]);return/*#__PURE__*/_jsx(\"div\",{className:\"r-c-c-c\",style:{width:\"100%\",height:\"100dvh\",textAlign:\"center\"},children:showMagnus?/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",maxWidth:\"80%\"},children:/*#__PURE__*/_jsx(\"img\",{className:\"full-img\",src:gameAssets===null||gameAssets===void 0?void 0:gameAssets.magnusFinalImg})})}):/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{className:\"congo-text-1\",children:\"Congratulations!\"}),/*#__PURE__*/_jsx(\"div\",{className:\"congo-text-2 p-20\",children:\"You have reached the end of your Journey.\"})]})});};const getModalSubText=(countSelected,correctValueBuddies)=>{if(countSelected===0){return\"Value buddies that you selected are not correct\";}else if(countSelected==correctValueBuddies){return\"You have selected all your value buddies\";}else{return\"You have selected \".concat(countSelected,\" correct value\").concat(countSelected>1?'s':'',\" only \").concat(correctValueBuddies-countSelected,\" \").concat(correctValueBuddies-countSelected>1?'are':'is',\" left\");}};const SelectToken=()=>{const[selectedTokenId,setSelectedTokenId]=useState(null);const[storeToken,setStoreToken]=useState(null);const[showToken,setShowToken]=useState(false);console.log(\"seledrtede\",selectedTokenId,isNextEnabled);useEffect(()=>{if(selectedTokenId){setIsNextEnabled(true);}},[selectedTokenId]);const handleTokenClick=token=>{console.log(\"checkidd\",token,token===null||token===void 0?void 0:token.id);setSelectedTokenId(token===null||token===void 0?void 0:token.id);setStoreToken(token);setShowToken(true);};return/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{className:\"left-panel-intros scroll-bar-universal cursor-pointer\",style:{},children:tokenCard===null||tokenCard===void 0?void 0:tokenCard.map((item,index)=>/*#__PURE__*/_jsx(\"div\",{className:\"m-b-20\",onClick:()=>handleTokenClick(item),children:/*#__PURE__*/_jsx(\"img\",{className:\"full-img\",src:item===null||item===void 0?void 0:item.card})},item.id))}),showToken&&/*#__PURE__*/_jsxs(Modal,{open:showToken,closeIcon:false,className:\"r-c-c-c token-model\",footer:null,bodyStyle:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\"},centered:true,style:{},onCancel:()=>setShowToken(false),children:[/*#__PURE__*/_jsxs(\"div\",{className:\"r-c-c-c\",style:{width:\"40%\",position:\"relative\"},children:[/*#__PURE__*/_jsx(\"img\",{className:\"full-img\",src:storeToken===null||storeToken===void 0?void 0:storeToken.image}),/*#__PURE__*/_jsxs(\"span\",{style:{color:storeToken===null||storeToken===void 0?void 0:storeToken.color},children:[\" \",storeToken===null||storeToken===void 0?void 0:storeToken.name]}),/*#__PURE__*/_jsxs(\"div\",{style:{color:\"#FFFFFF\",position:\"absolute\",fontWeight:\"bold\",fontSize:\"80px\",bottom:\"-45px\"},children:[\" \",/*#__PURE__*/_jsx(UserInitials,{fullName:userDetails===null||userDetails===void 0?void 0:userDetails.name})]})]}),/*#__PURE__*/_jsx(\"div\",{className:\"r-c-c done-btn-learning m-t-50\",children:/*#__PURE__*/_jsx(Button,{className:\"r-c-c\",onClick:()=>{const params={selectedToken:selectedTokenId};selectToken(params,()=>{setGameIntroSteps(4);setIsOpenModal(true);setShowToken(false);},()=>{setIsOpenModal(false);setShowToken(false);});},children:\"Done\"})})]})]});};// console.log(\"coreecttt\", selectedItems, countCorrectSelectedItems(), countIndex, countSelected)\nreturn/*#__PURE__*/_jsxs(\"div\",{style:{height:'100%',width:'100%',position:'relative'},children:[/*#__PURE__*/_jsxs(\"div\",{style:{height:'100%',width:'100%'},children:[\" \",/*#__PURE__*/_jsx(\"img\",{className:\"full-img\",src:gameAssets===null||gameAssets===void 0?void 0:gameAssets.leftPanelBg,style:{height:'100%',width:'100%'}})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"left-panel-title\",style:{},children:[title[gameIntroSteps],gameIntroSteps==0?/*#__PURE__*/_jsx(\"div\",{className:\"left-panel-subtitle\",children:\"Click on the top left checkbox to select the right Value Buddy \"}):null]}),gameIntroSteps==0?/*#__PURE__*/_jsx(\"div\",{className:\"left-panel-value-buddies\",style:{height:'80%',width:'100%'},children:/*#__PURE__*/_jsx(\"div\",{className:\"value-buddies-container scroll-bar-universal\",style:{},children:valueBuddiesImg.map((buddy,index)=>/*#__PURE__*/_jsx(\"div\",{className:\"buddy\",children:/*#__PURE__*/_jsxs(\"label\",{onClick:()=>{if(!selectedItems.some(selected=>selected.id===buddy.id)){setCustomModalOpen(true);}else{setCustomModalOpen(false);}setSelectedBuddy(buddy);},children:[/*#__PURE__*/_jsx(\"input\",{type:\"checkbox\",checked:selectedItems.some(selected=>selected.id===buddy.id),onChange:()=>{handleCheckboxChange(buddy);}// style={{\n//     accentColor: selectedItems.some(selected => selected.id === buddy.id)\n//         ? (isCorrect(buddy.id) ? 'green' : 'red')\n//         : '', cursor: \"pointer\"\n// }}\n}),/*#__PURE__*/_jsx(\"img\",{className:\"full-img-vb cursor-pointer\",style:{},src:buddy.image}),/*#__PURE__*/_jsxs(\"div\",{className:\"r-c-c\",style:{position:\"relative\"},children:[/*#__PURE__*/_jsx(\"img\",{className:\"full-img cursor-pointer\",src:vbNameTag}),/*#__PURE__*/_jsx(\"div\",{className:\"r-c-c vb-name\",style:{},children:buddy===null||buddy===void 0?void 0:buddy.name})]})]})},buddy.id))})}):null,gameState!==null&&gameState!==void 0&&gameState.selectedToken||gameIntroSteps==4?/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",bottom:\"8%\",width:\"100%\",height:'100%',top:0},children:isPlayerWin?/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(SuccessFullMessage,{}),\" \"]}):/*#__PURE__*/_jsx(_Fragment,{children:isRolled==true?/*#__PURE__*/_jsx(ValueBuddyQuestion,{}):isRolled==false?/*#__PURE__*/_jsx(RollDice,{diceValue:diceValue,showDiceBtn:showDiceBtn,handleRollDice:handleRollDice,diceRandom:diceRandom,diceAssets:diceAssets}):null})}):gameIntroSteps!==1?/*#__PURE__*/_jsx(\"div\",{className:\"r-c-c done-btn-learning\",style:{position:\"absolute\",width:\"100%\",top:'90vh'},children:/*#__PURE__*/_jsx(Button,{disabled:!isNextEnabled,onClick:handleNext,children:\"NEXT\"})}):null,gameIntroSteps==1?/*#__PURE__*/_jsx(SelectToken,{}):null,isOpenModal&&/*#__PURE__*/_jsx(GamePlayModals,{isOpenModal:isOpenModal,setIsOpenModal:setIsOpenModal,title:gameIntroSteps==4?modalTitle[3]:modalTitle[countIndex],subText:gameIntroSteps==4?null:getModalSubText(countSelected,correctValueBuddies===null||correctValueBuddies===void 0?void 0:correctValueBuddies.length),btnText:gameIntroSteps==4?modalBtnText[3]:modalBtnText[countIndex],triggerValue:gameIntroSteps,setTriggerFunction:setGameIntroSteps,isNextActive:countIndex==2&&gameIntroSteps<=1?true:false,setShowDiceBtn:setShowDiceBtn,runTimer:runTimer,setRemainingTime:setRemainingTime,gameIntroSteps:gameIntroSteps,fetchGameState:fetchGameState,countSelected:countSelected,correctValueBuddies:correctValueBuddies,utilAssets:utilAssets}),chooseValueModal&&/*#__PURE__*/_jsx(ChooseCorrectValue,{chooseValueModal:chooseValueModal,setChooseValueModal:setChooseValueModal,correctValueBuddies:correctValueBuddies,fetchGameState:fetchGameState,gameAssets:gameAssets,utilAssets:utilAssets})]});}const mapStateToProps=state=>{const{tokenCard,valueBuddiesImg,correctValueBuddies,gameIntroSteps,showDiceBtn,valueBuddiesArray,chooseValueModal,userDetails,gameState,gameAssets,utilAssets,diceAssets,audioAssets}=state===null||state===void 0?void 0:state.SeTu;return{tokenCard,valueBuddiesImg,correctValueBuddies,gameIntroSteps,showDiceBtn,valueBuddiesArray,chooseValueModal,userDetails,gameState,gameAssets,utilAssets,diceAssets,audioAssets};};const mapDispatchToProps=dispatch=>({setGameIntroSteps:val=>dispatch(setGameIntroSteps(val)),setChooseValueModal:val=>dispatch(setChooseValueModal(val)),selectValueBuddies:(params,successCallBack,callBack)=>dispatch(selectValueBuddies(params,successCallBack,callBack)),handleRestart:()=>dispatch(handleRestart()),setRemainingTime:val=>dispatch(setRemainingTime(val)),fetchGameState:(successCallBack,callBack)=>dispatch(fetchGameState(successCallBack,callBack)),setStep:val=>dispatch(setStep(val)),selectToken:(params,successCallBack,callBack)=>dispatch(selectToken(params,successCallBack,callBack)),setGameState:val=>dispatch(setGameState(val))});export default/*#__PURE__*/memo(connect(mapStateToProps,mapDispatchToProps)(LeftSidePanel));","map":{"version":3,"names":["React","useState","useRef","useEffect","useMemo","memo","useCallback","connect","Badge","Button","Modal","GamePlayModals","setGameIntroSteps","selectValueBuddies","handleRestart","setRemainingTime","fetchGameState","setChooseValueModal","setStep","selectToken","setGameState","CustomBox","UserInitials","vbNameTag","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ChooseCorrectValue","_ref","chooseValueModal","correctValueBuddies","gameAssets","utilAssets","children","visible","onCancel","footer","maskClosable","closeIcon","className","width","style","overflow","centered","height","textAlign","src","modalBg","alt","length","onClick","RollDice","_ref2","diceValue","showDiceBtn","handleRollDice","diceRandom","diceAssets","handleClick","display","flexDirection","alignItems","position","console","log","justifyContent","objectFit","cursor","concat","id","debounce","func","wait","timeout","debounced","_len","arguments","args","Array","_key","clearTimeout","setTimeout","cancel","LeftSidePanel","_ref3","tokenCard","valueBuddiesImg","gameIntroSteps","setShowDiceBtn","handleQuestion","optionValue","question","lastReachedPosition","setSelectedOption","selectedOption","karmaFlag","randomIndex","runTimer","setOptionValue","addedKarmas","removedKarmas","setAddedKarmas","setRemovedKarmas","isGameOver","userDetails","gameState","audioAssets","isCustomModalOpen","setCustomModalOpen","setSelectedBuddy","memoId","isOpenModal","setIsOpenModal","title","modalTitle","modalSubText","modalBtnText","selectedItems","setSelectedItems","maxAllowed","isPlayerWin","setIsPlayWin","isNextEnabled","setIsNextEnabled","isRolled","setIsRolled","questionPart","setQuestionPart","optionPart","setOptionPart","magnusPart","setMagnusPart","sessionStorage","getItem","setItem","sound1","sound","sound2","isCorrect","gateOpenSound","snakeSound","audio","document","getElementById","paused","audioPlayer1","Audio","play","catch","error","addEventListener","allAreTrue","setAllAreTrue","arraysEqual","a","b","sort","i","selectedIds","map","item","handleNext","params","isChoosenCorrect","some","countCorrectSelectedItems","filter","countSelected","totalValueBuddies","countIndex","handleCheckboxChange","isChecked","selected","MagnusBadges","triggerAnimation","startId","endId","animationClass","index","startElement","endElement","startRect","getBoundingClientRect","endRect","newImg","createElement","setAttribute","badges","left","top","zIndex","setProperty","appendChild","wonPointSound","lostPointSound","audioPlayer","remove","debouncedActionRef","createDebouncedAction","forEach","current","badge5","badge4","badge3","badge2","badge1","giving","color","fontWeight","fontSize","magnusGivingImg","borderRadius","right","magnusTakingImg","ValueBuddyQuestion","_valueBuddiesImg$rand","_valueBuddiesImg$rand2","_question$options","selectedQa","setSelectedQa","ValueBuddyQuestionGate","ValueBuddyAnswerGate","questionBg","minHeight","withName","maxHeight","maxWidth","bottom","transform","minWidth","name","padding","options","option","optionId","backgroundColor","transition","boxShadow","optionBg","whiteSpace","disabled","_valueBuddiesImg$rand3","goodGateImg","happy","_valueBuddiesImg$rand4","_valueBuddiesImg$rand5","metaInfo","metaInfoBg","goodPathAnimation","badPathAnimation","thumbsUp","sad","SuccessFullMessage","showMagnus","setMagnus","gameFinish","magnusFinalImg","getModalSubText","SelectToken","selectedTokenId","setSelectedTokenId","storeToken","setStoreToken","showToken","setShowToken","handleTokenClick","token","card","open","bodyStyle","image","fullName","selectedToken","leftPanelBg","buddy","type","checked","onChange","subText","btnText","triggerValue","setTriggerFunction","isNextActive","mapStateToProps","state","valueBuddiesArray","SeTu","mapDispatchToProps","dispatch","val","successCallBack","callBack"],"sources":["/opt/bitnami/apache/htdocs/setu_beta_game/src/pages/dashboard/leftSidePanel.js"],"sourcesContent":["import React, { useState, useRef, useEffect, useMemo, memo, useCallback } from 'react'\r\n\r\nimport { connect } from 'react-redux'\r\nimport { Badge, Button, Modal } from 'antd'\r\nimport GamePlayModals from './gamePlayModals'\r\nimport { setGameIntroSteps, selectValueBuddies, handleRestart, setRemainingTime, fetchGameState, setChooseValueModal, setStep, selectToken, setGameState } from '../../reduxStore/actions/action'\r\n\r\nimport CustomBox from \"../../assets/customText-box.png\"\r\nimport UserInitials from '../components/userInitials'\r\nimport vbNameTag from \"../../assets/TAg.png\"\r\n\r\n\r\n\r\n\r\nexport const ChooseCorrectValue = ({ chooseValueModal, setChooseValueModal, correctValueBuddies, fetchGameState, gameAssets, utilAssets }) => {\r\n\r\n    return (\r\n        <div>\r\n            <Modal\r\n                visible={chooseValueModal}\r\n                onCancel={() => { setChooseValueModal(false) }}\r\n                footer={null}\r\n                maskClosable={false}\r\n                closeIcon={false}\r\n                className='token-model'\r\n                width={1000}\r\n                style={{ overflow: 'hidden !important' }}\r\n                centered={true}\r\n            >\r\n                <div className=\"r-c-c\" style={{ width: \"100%\", height: \"100%\", textAlign: \"center\" }}>\r\n                    <div className=\"r-c-c letsPlayFrame\" style={{}} ><img style={{ width: \"100%\" }} src={utilAssets?.modalBg} alt=\"lets play\" /></div>\r\n                    <div className='r-c-c-c' style={{}} >\r\n                        <div className=\"choose-title\" style={{}}>\r\n                            Choose your {correctValueBuddies?.length} value buddies correctly to start the game!\r\n                            <div className='r-c-c play-btn  m-t-20' style={{ width: \"100%\" }} >\r\n                                <Button onClick={() => {\r\n                                    setChooseValueModal(false); fetchGameState(() => {\r\n                                    }, () => { })\r\n                                }}>OK</Button>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </Modal>\r\n        </div>\r\n    )\r\n}\r\n\r\nconst RollDice = React.memo(({ diceValue, showDiceBtn, handleRollDice, diceRandom, diceAssets }) => {\r\n\r\n\r\n\r\n    const handleClick = () => {\r\n        handleRollDice();\r\n\r\n    }\r\n\r\n\r\n    return (\r\n        <div style={{ display: 'flex', flexDirection: 'column', height: '100%', alignItems: 'center', position: 'relative', width: '100%', height: '100%' }}>\r\n\r\n            {console.log('inside dice roll', diceValue)}\r\n\r\n            {showDiceBtn ? <div className='r-c-c done-btn' style={{ display: 'flex', flexDirection: 'column', justifyContent: 'center', alignItems: 'center', width: '100%', height: '0%', }} >\r\n                <img src={diceAssets[0]}\r\n                    onClick={handleClick}\r\n                    style={{\r\n                        width: '25vh', height: '25vh',\r\n                        objectFit: 'contain',\r\n                        cursor: 'pointer'\r\n                    }}  >\r\n\r\n                </img>\r\n                <Button onClick={handleClick} >Roll Dice</Button>\r\n            </div>\r\n                :\r\n                diceValue ?\r\n\r\n                    <div style={{ position: 'absolute', height: '100%', width: '100%', display: 'flex', justifyContent: 'center', alignItems: 'flex-end' }}>\r\n                        <img src={`${diceAssets?.[diceValue]}?${diceRandom}`}\r\n                            id=\"gif-animation\"\r\n                            style={{\r\n                                width: '20vw', height: '20vw',\r\n                                display: diceAssets?.[diceValue] ? 'block' : 'none',\r\n                                objectFit: 'contain',\r\n                            }}  >\r\n\r\n                        </img>\r\n                    </div>\r\n                    : null\r\n            }\r\n\r\n        </div>\r\n    )\r\n})\r\n\r\nfunction debounce(func, wait) {\r\n    let timeout;\r\n    const debounced = (...args) => {\r\n        clearTimeout(timeout);\r\n        timeout = setTimeout(() => func(...args), wait);\r\n    };\r\n    debounced.cancel = () => {\r\n        clearTimeout(timeout);\r\n    };\r\n    return debounced;\r\n}\r\n\r\n\r\n\r\nfunction LeftSidePanel({ tokenCard, valueBuddiesImg, correctValueBuddies, setGameIntroSteps,\r\n    gameIntroSteps,\r\n    selectValueBuddies, handleRollDice, diceValue, showDiceBtn, setShowDiceBtn,\r\n    handleQuestion, optionValue, question, lastReachedPosition, handleRestart,\r\n    setSelectedOption, selectedOption, karmaFlag, randomIndex, runTimer,\r\n    setRemainingTime, fetchGameState, setOptionValue, addedKarmas, removedKarmas, setAddedKarmas,\r\n    setRemovedKarmas, diceRandom, setChooseValueModal, chooseValueModal, isGameOver, setStep, selectToken,\r\n    userDetails, gameState, setGameState, gameAssets, utilAssets, diceAssets, audioAssets, isCustomModalOpen, setCustomModalOpen, setSelectedBuddy\r\n}) {\r\n\r\n\r\n    const memoId = useMemo(() => true, [addedKarmas, removedKarmas, karmaFlag]);\r\n    console.log('left side panel params', diceValue, selectedOption, karmaFlag, randomIndex, lastReachedPosition,)\r\n    const [isOpenModal, setIsOpenModal] = useState(false);\r\n    const title = [\"Identify the correct value buddies\", \"Select Your Token\", \"Karma Badges\", \"The Decision Impact\"]\r\n    const modalTitle = [\"Oops!\", \"Good Job!\", \"Excellent!\", \"Let's Play\"]\r\n    const modalSubText = [\"Value buddies that you selected are not correct\", \"You have selected 2 correct values only 1 is left\", \"You have selected all your value buddies\", \"You have selected 1 correct value only 2 is left\",]\r\n    const modalBtnText = [\"TRY AGAIN\", \"OK\", \"NEXT\", \"PLAY\"]\r\n    const [selectedItems, setSelectedItems] = useState([]);\r\n    const maxAllowed = correctValueBuddies?.length;\r\n    const [isPlayerWin, setIsPlayWin] = useState(false);\r\n\r\n    const [isNextEnabled, setIsNextEnabled] = useState(false);\r\n    const [isRolled, setIsRolled] = useState(false);\r\n\r\n    console.log(\"gameIntroSteps\", gameIntroSteps)\r\n\r\n    setTimeout(() => {\r\n        if (isGameOver) {\r\n            setIsPlayWin(true);\r\n\r\n            // setTimeout(() => {\r\n            //     setStep(4);\r\n            // }, 1500)\r\n        }\r\n\r\n    }, 1000)\r\n\r\n    const [questionPart, setQuestionPart] = useState(false);\r\n    const [optionPart, setOptionPart] = useState(false);\r\n    const [magnusPart, setMagnusPart] = useState(false);\r\n\r\n    // useEffect(() => {\r\n    //     if (selectedOption !== null) {\r\n\r\n    //         const resetTimeout = setTimeout(() => {\r\n    //             setSelectedOption(null);\r\n    //         }, 2000);\r\n\r\n    //         return () => clearTimeout(resetTimeout);\r\n    //     }\r\n    // }, [selectedOption, setSelectedOption]);\r\n\r\n\r\n    useEffect(() => {\r\n\r\n        if (karmaFlag != null && !optionValue) {\r\n            setIsRolled(true);\r\n            setMagnusPart(true)\r\n            setTimeout(() => {\r\n                setMagnusPart(false);\r\n                if (question) {\r\n                    setQuestionPart(true);\r\n                    setTimeout(() => {\r\n                        setQuestionPart(false);\r\n                    }, 2000)\r\n                } else {\r\n                    setIsRolled(false);\r\n                }\r\n\r\n            }, karmaFlag == 1 ? 2000 : 3000)\r\n        }\r\n    }, [karmaFlag, question, optionValue])\r\n\r\n    useEffect(() => {\r\n\r\n        if (question && karmaFlag == null) {\r\n            setIsRolled(true);\r\n            if (sessionStorage.getItem('gateReached') != 'true') {\r\n                sessionStorage.setItem('gateReached', true);\r\n                setQuestionPart(true);\r\n                //const audio = document.getElementById(\"audio-tag\");\r\n                //if(!audio.paused){\r\n                // const audioPlayer = new Audio(audioAssets?.gateOpenSound);\r\n                // audioPlayer.play().catch(error => {\r\n                //console.error('Error playing the audio:', error);\r\n                // });\r\n                //}\r\n                setTimeout(() => {\r\n                    setQuestionPart(false);\r\n                }, 2000)\r\n            }\r\n        }\r\n    }, [karmaFlag, question, optionValue])\r\n    useEffect(() => {\r\n\r\n        if (optionValue) {\r\n            setIsRolled(true);\r\n            setOptionPart(true);\r\n            const sound1 = audioAssets?.[optionValue?.sound]\r\n            const sound2 = optionValue?.isCorrect ?\r\n                audioAssets?.gateOpenSound\r\n                : audioAssets?.snakeSound;\r\n\r\n            const audio = document.getElementById(\"audio-tag\");\r\n            // sessionStorage.setItem(\"isResultOpen\", \"false\");\r\n            if (!audio.paused) {\r\n\r\n                const audioPlayer1 = new Audio(sound1);\r\n                audioPlayer1.play().catch(error => {\r\n                    console.error('finally', 'Error playing the audio:', error);\r\n                })\r\n                if (sound1) {\r\n\r\n                    audioPlayer1.addEventListener('ended', () => {\r\n                        console.log('second sound')\r\n                        // const audioPlayer2 = new Audio(sound2);\r\n\r\n                        // audioPlayer2.play().catch(error => {\r\n                        //     console.error('Error playing the audio:', error);\r\n                        // });\r\n                    })\r\n                } else {\r\n\r\n                    // const audioPlayer2 = new Audio(sound2);\r\n                    // audioPlayer2.play().catch(error => {\r\n                    //     console.error('Error playing the audio:', error);\r\n                    // });\r\n                }\r\n\r\n            }\r\n            // setTimeout(() => {\r\n            //     sessionStorage.setItem(\"isResultOpen\", \"true\");\r\n            // }, 0)\r\n\r\n\r\n            setTimeout(() => {\r\n                setOptionPart(false);\r\n                setOptionValue()\r\n                if (karmaFlag == null)\r\n                    setIsRolled(false);\r\n                else {\r\n                    console.log(\"called magnus start\")\r\n                    setMagnusPart(true)\r\n                    setTimeout(() => {\r\n                        console.log(\"called magnus end\")\r\n                        setMagnusPart(false);\r\n                        if (question) {\r\n                            setQuestionPart(true);\r\n                            setTimeout(() => {\r\n                                setQuestionPart(false);\r\n                            }, 3000)\r\n                        } else {\r\n                            setIsRolled(false);\r\n                        }\r\n                        //\r\n\r\n                    }, 3500)\r\n                }\r\n\r\n\r\n            }, 3000)\r\n        }\r\n\r\n\r\n\r\n\r\n\r\n    }, [karmaFlag, question, optionValue]);\r\n\r\n    const [allAreTrue, setAllAreTrue] = useState(false);\r\n    const arraysEqual = (a, b) => {\r\n        if (a.length !== b.length) return false;\r\n        a.sort();\r\n        b.sort();\r\n        for (let i = 0; i < a.length; i++) {\r\n            if (a[i] !== b[i]) return false;\r\n        }\r\n        return true;\r\n    };\r\n\r\n    // useEffect(() => {\r\n    //     setIsNextEnabled(selectedItems.length === maxAllowed);\r\n    // }, [selectedItems]);\r\n\r\n    useEffect(() => {\r\n        setIsNextEnabled(selectedItems.length === maxAllowed);\r\n        const selectedIds = selectedItems.map(item => item.id);\r\n        setAllAreTrue(arraysEqual(selectedIds, [...correctValueBuddies]));\r\n    }, [selectedItems]);\r\n\r\n\r\n    const handleNext = () => {\r\n        if (gameIntroSteps === 0) {\r\n            if (selectedItems.length === maxAllowed) {\r\n                const params = {\r\n                    isChoosenCorrect: allAreTrue\r\n                }\r\n                selectValueBuddies(params, () => {\r\n                    setIsOpenModal(true);\r\n                }, () => {\r\n                    console.log('Error while selecting value buddies');\r\n                });\r\n            } else {\r\n                setIsOpenModal(true);\r\n            }\r\n        }\r\n        setCustomModalOpen(false)\r\n    };\r\n    const isCorrect = (id) => {\r\n        return correctValueBuddies.some(item => item === id);\r\n    };\r\n    const countCorrectSelectedItems = () => {\r\n        return selectedItems.filter(item => isCorrect(item.id)).length;\r\n    };\r\n    const countSelected = countCorrectSelectedItems();\r\n    const totalValueBuddies = correctValueBuddies.length;\r\n\r\n    let countIndex = 0;\r\n    if (countSelected === 0) {\r\n        countIndex = 0;\r\n    } else if (countSelected < totalValueBuddies) {\r\n        countIndex = 1;\r\n    } else if (countSelected === totalValueBuddies) {\r\n        countIndex = 2;\r\n    } else if (gameIntroSteps == 4) {\r\n        countIndex = 3;\r\n    }\r\n\r\n\r\n    const handleCheckboxChange = (item) => {\r\n        const isChecked = selectedItems.some(selected => selected.id === item.id);\r\n\r\n        if (isChecked) {\r\n            setSelectedItems(selectedItems.filter(selected => selected.id !== item.id));\r\n        } else {\r\n            if (selectedItems.length < maxAllowed) {\r\n                setSelectedItems([...selectedItems, item]);\r\n            }\r\n        }\r\n    };\r\n\r\n\r\n\r\n\r\n\r\n    const MagnusBadges = () => {\r\n\r\n\r\n        const triggerAnimation = useCallback((startId, endId, animationClass, id, index) => {\r\n            const startElement = document.getElementById(startId);\r\n            const endElement = document.getElementById(endId);\r\n            if (!startElement || !endElement || document.getElementById(`img-${id}`))\r\n                return\r\n\r\n            console.log(\"start id came\", startId)\r\n            const startRect = startElement.getBoundingClientRect();\r\n            const endRect = endElement.getBoundingClientRect();\r\n            console.log('karam badge id', id)\r\n            const newImg = document.createElement('img');\r\n            newImg.setAttribute('src', badges[id]); // Replace with your image path\r\n            newImg.setAttribute('id', `img-${id}`);\r\n            newImg.className = animationClass;\r\n            newImg.style.width = '100%';\r\n            newImg.style.height = '100%';\r\n            newImg.style.objectFit = 'contain';\r\n            newImg.style.position = 'absolute';\r\n            newImg.style.left = `${0}px`;\r\n            newImg.style.top = `${0}px`;\r\n            newImg.style.zIndex = '101'\r\n\r\n            newImg.style.setProperty('--end-x', `${endRect.left - startRect.left}px`);\r\n            newImg.style.setProperty('--end-y', `${endRect.top - startRect.top}px`);\r\n\r\n            startElement.appendChild(newImg);\r\n            const sound = karmaFlag == 1 ? audioAssets?.wonPointSound : audioAssets?.lostPointSound;\r\n            const audio = document.getElementById(\"audio-tag\");\r\n            if (!audio.paused) {\r\n                const audioPlayer = new Audio(sound)\r\n                audioPlayer.play().catch(error => {\r\n                    console.error('Error playing the audio:', error);\r\n                });\r\n            }\r\n\r\n            newImg.addEventListener('animationend', () => {\r\n\r\n\r\n                setTimeout(() => {\r\n                    newImg.remove();\r\n                    setAddedKarmas([]);\r\n                    setRemovedKarmas([])\r\n                }, karmaFlag == 1 ? 1000 : 500)\r\n\r\n\r\n\r\n\r\n            });\r\n\r\n        }, []);\r\n\r\n        const debouncedActionRef = useRef(null);\r\n\r\n        // useEffect(()=>{\r\n\r\n\r\n        //     if (addedKarmas.length > 0) {\r\n        //         const debouncedAction = debounce(() => {\r\n        //         addedKarmas.forEach((id, index) => {\r\n        //             triggerAnimation('karma-badge-1', 'badge-' + (4 - id), 'animate-to', 4 - id, index);\r\n        //         });\r\n        //     }, 500);\r\n        //     debouncedAction();\r\n        //     const cleanup = () => {\r\n        //         clearTimeout(debouncedAction);\r\n        //         setAddedKarmas([]);\r\n        //         setRemovedKarmas([]);\r\n        //       };\r\n        //       return cleanup;\r\n        //     } else if (removedKarmas.length > 0) {\r\n        //         const debouncedAction = debounce(() => {\r\n        //         removedKarmas.forEach((id, index) => {\r\n        //             console.log(removedKarmas, 'inside');\r\n        //             triggerAnimation('badge-' + (4 - id), 'karma-badge-1', 'animate-back', 4 - id, index);\r\n        //         });\r\n\r\n        //         }, 900);\r\n        //         debouncedAction();\r\n        //         const cleanup = () => {\r\n        //             clearTimeout(debouncedAction);\r\n        //             setAddedKarmas([]);\r\n        //             setRemovedKarmas([]);\r\n        //           };\r\n        //           return cleanup;\r\n        //             }\r\n\r\n\r\n        //     }, [addedKarmas,removedKarmas,karmaFlag])\r\n\r\n\r\n\r\n        const createDebouncedAction = useCallback(() => {\r\n            if (removedKarmas.length > 0) {\r\n                return debounce(() => {\r\n                    removedKarmas.forEach((id, index) => {\r\n                        console.log(removedKarmas, 'inside');\r\n                        triggerAnimation('badge-' + (4 - id), 'karma-badge-1', 'animate-back', 4 - id, index);\r\n                    });\r\n                }, 500);\r\n            } else if (addedKarmas) {\r\n                return debounce(() => {\r\n                    addedKarmas.forEach((id, index) => {\r\n                        triggerAnimation('karma-badge-1', 'badge-' + (4 - id), 'animate-to', 4 - id, index);\r\n                    });\r\n                }, 500);\r\n\r\n            }\r\n        }, [removedKarmas, addedKarmas]);\r\n\r\n\r\n\r\n        useEffect(() => {\r\n            // Assign the debounced function to the ref\r\n            debouncedActionRef.current = createDebouncedAction();\r\n\r\n            // Call the debounced function\r\n            debouncedActionRef.current();\r\n\r\n            // Cleanup function to clear the timeout\r\n            return () => {\r\n                if (debouncedActionRef.current) {\r\n                    debouncedActionRef.current.cancel();\r\n                }\r\n            };\r\n        }, [createDebouncedAction]);\r\n        // useEffect(() => {\r\n        //     if (addedKarmas.length > 0) {\r\n        //         addedKarmas.forEach((id, index) => {\r\n        //             triggerAnimation('karma-badge-1', 'badge-' + (4 - id), 'animate-to', 4 - id, index);\r\n        //         });\r\n        //     } else if (removedKarmas.length > 0) {\r\n        //         removedKarmas.forEach((id, index) => {\r\n        //             console.log(removedKarmas, 'inside');\r\n        //             triggerAnimation('badge-' + (4 - id), 'karma-badge-1', 'animate-back', 4 - id, index);\r\n        //         });\r\n        //     }\r\n        // }, [addedKarmas, removedKarmas, karmaFlag, triggerAnimation]);\r\n\r\n\r\n        const badges = [gameAssets?.badge5, gameAssets?.badge4, gameAssets?.badge3, gameAssets?.badge2, gameAssets?.badge1];\r\n        let giving = karmaFlag == 1 ? true : karmaFlag == 0 ? false : \"\";\r\n\r\n        // const [positions, setPositions] = useState({});\r\n        // const [direction,setDirection]=useState(true);\r\n        // useEffect(() => {\r\n        //     const badge1 = document.getElementById(direction?'badge-1':'img-reverse-1').getBoundingClientRect();\r\n        //     const karmaBadge1 = document.getElementById('karma-badge-1').getBoundingClientRect();\r\n\r\n        //     const from = direction?karmaBadge1:badge1\r\n        //     const to =  direction?badge1:karmaBadge1\r\n\r\n        //     setPositions({\r\n        //         fromX: from.left,\r\n        //         fromY: from.top,\r\n        //         toX: to.left,\r\n        //         toY: to.top\r\n        //     });\r\n\r\n        //     const img1 = document.getElementById('img-1');\r\n        //     img1.style.setProperty('--from-x', `${from.left}px`);\r\n        //     img1.style.setProperty('--from-y', `${from.top}px`);\r\n        //     img1.style.setProperty('--to-x', `${to.left}px`);\r\n        //     img1.style.setProperty('--to-y', `${to.top}px`);\r\n        // }, [direction]);\r\n\r\n\r\n\r\n\r\n\r\n        // const handleButtonClick = () => {\r\n        //     if (isAnimatingTo) {\r\n        //         triggerAnimation('badge-4', 'karma-badge-1', 'animate-to');\r\n        //     } else {\r\n        //         triggerAnimation('karma-badge-1', 'badge-4', 'animate-to');\r\n        //     }\r\n        //     setIsAnimatingTo(!isAnimatingTo);\r\n        // };\r\n\r\n        // useEffect(() => {\r\n\r\n        //     if(giving){\r\n        //         removedIndexes.forEach((id)=>{\r\n        //             triggerAnimation('badge-'+id, 'karma-badge-1', 'animate-to')\r\n        //         })\r\n        //     }else{\r\n        //         newlyAddedIndexes.forEach((id)=>{\r\n        //             triggerAnimation('karma-badge-1', 'badge-'+id, 'animate-to');\r\n        //         })\r\n        //     }\r\n\r\n\r\n\r\n\r\n        // }, []);\r\n\r\n        return (\r\n            <div className='r-c-c' style={{\r\n                color: \"#44301E\", fontWeight: \"bolder\", width: \"100%\",\r\n                position: \"relative\", textAlign: \"center\", height: '100%',\r\n\r\n\r\n            }}>\r\n                {giving === true ? <div style={{ height: '100%', width: '100%', display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'center' }} >\r\n                    <div style={{ fontSize: \"25px\" }} >Well Done!</div>\r\n                    <div style={{ fontSize: \"16px\" }}>Here is a karma badge!</div>\r\n                    <div style={{ position: \"relative\", left: \"0px\", width: \"90%\" }}> <img className='full-img' src={gameAssets?.magnusGivingImg} /> </div>\r\n                    <div style={{ position: 'absolute', width: '6vw', height: '6vw', borderRadius: '100%', right: 15, top: '36%' }} id='karma-badge-1'>\r\n                    </div>\r\n                    {/* <button onClick={handleButtonClick}>click</button> */}\r\n                </div> : giving === false ?\r\n                    <div style={{ height: '100%', width: '100%', position: 'relative', display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'center' }}>\r\n                        <div className='fallen-text-1'  >Oops! You have fallen back.</div>\r\n                        <div className='fallen-text-2' >I'm taking the karma badges back!</div>\r\n                        <div style={{ position: \"relative\", width: \"90%\" }}> <img className='full-img' src={gameAssets?.magnusTakingImg} />\r\n                            <div style={{ position: 'absolute', width: '60px', height: '60px', borderRadius: '100%', left: '3vw', top: '8%' }} id='karma-badge-1'>\r\n                            </div>\r\n                        </div>\r\n\r\n                    </div>\r\n                    : null\r\n                }\r\n            </div>\r\n        );\r\n    }\r\n\r\n    const ValueBuddyQuestion = () => {\r\n        const [selectedQa, setSelectedQa] = useState(null);\r\n\r\n        return (\r\n            <>\r\n                {questionPart ? <> <ValueBuddyQuestionGate /> </> : optionPart ? <ValueBuddyAnswerGate /> :\r\n                    magnusPart ?\r\n                        <MagnusBadges /> :\r\n                        <>\r\n                            <div className='r-c-c-c' style={{ textAlign: \"center\", position: \"relative\", height: '90%', display: 'flex', flexDirection: 'column', justifyContent: 'center', alignItems: 'center' }}>\r\n\r\n\r\n                                <div className=\"parent-options \" style={{ position: 'relative', height: '80%', display: 'flex', flexDirection: 'column', justifyContent: 'center', alignItems: 'center', top: '0' }}>\r\n                                    <div style={{ width: \"100%\", height: '90%', position: 'absolute', top: '10%' }}>\r\n\r\n                                        <img className='full-img' src={gameAssets?.questionBg} alt=\"Left Question Background\" style={{ width: '100%', height: '100%' }} />\r\n                                    </div>\r\n                                    <div style={{ width: \"100%\", height: '20%', minHeight: '100px', position: 'relative' }}>\r\n\r\n\r\n                                        <img className='full-img' src={valueBuddiesImg?.[randomIndex]?.withName} alt=\"Value Buddy\"\r\n                                            style={{ maxHeight: 'fit-content', maxWidth: '40%', position: 'absolute', bottom: '0%', left: '50%', transform: 'translate(-50%,0%)', minWidth: '100px', minHeight: '100px', objectFit: 'cover' }} />\r\n\r\n\r\n                                    </div>\r\n                                    <div className='r-c-c' style={{ position: \"relative\", width: \"40%\" }} >\r\n                                        <img className=\"full-img cursor-pointer\" src={vbNameTag} />\r\n                                        <div className='r-c-c vb-name' style={{}}>{valueBuddiesImg?.[randomIndex]?.name}</div>\r\n                                    </div>\r\n                                    {console.log(\"radom index with name\", randomIndex)}\r\n                                    <div className=\"scroll-bar-universal\" style={{ padding: 10, maxHeight: '72%' }}>\r\n                                        <span className=\"question-text  \" style={{}}>\r\n                                            {question?.question}\r\n                                        </span>\r\n                                        <div className='left-panel-options' style={{}}>\r\n                                            {question?.options?.map((option, index) => (\r\n                                                <div\r\n                                                    key={option.id}\r\n                                                    className='option-text cursor-pointer'\r\n                                                    onClick={() => setSelectedQa(option.id)}\r\n                                                >\r\n                                                    <div style={{\r\n                                                        color: optionValue?.optionId === option.id && optionValue?.isCorrect ? 'green' : 'black',\r\n                                                        backgroundColor: selectedQa === option.id ? \"#FFDBAA\" : \"transparent\",\r\n                                                        transform: selectedQa === option.id ? \"scale(1.03)\" : \"scale(1)\",\r\n                                                        transition: \"background-color 0.3s, transform 0.3s ease, box-shadow 0.3s ease\",\r\n                                                        borderRadius: 10,\r\n                                                        padding: \"10px\",\r\n                                                        display: \"flex\",\r\n                                                        alignItems: \"center\",\r\n                                                        justifyContent: \"center\",\r\n                                                        position: \"relative\",\r\n                                                        height: \"100%\",\r\n                                                        boxShadow: selectedQa === option.id ? \"0 0 8px 2px #52FF00\" : \"none\",\r\n                                                    }}>\r\n                                                        <img\r\n                                                            className='full-img'\r\n                                                            src={gameAssets?.optionBg}\r\n                                                            alt=\"Background\"\r\n                                                            style={{\r\n                                                                position: 'absolute',\r\n                                                                top: 0,\r\n                                                                left: 0,\r\n                                                                height: '100%',\r\n                                                                width: '100%',\r\n                                                                borderRadius: 10\r\n                                                            }}\r\n                                                        />\r\n                                                        <div\r\n                                                            style={{\r\n                                                                position: 'relative',\r\n                                                                zIndex: 1,\r\n                                                                width: \"100%\",\r\n                                                                height: \"100%\",\r\n                                                                display: \"flex\",\r\n                                                                alignItems: \"center\",\r\n                                                                justifyContent: \"center\"\r\n                                                            }}\r\n                                                        >\r\n                                                            <div style={{ whiteSpace: \"normal\", textAlign: \"center\", width: \"100%\" }}>\r\n                                                                {option.option}\r\n                                                            </div>\r\n                                                        </div>\r\n                                                    </div>\r\n                                                </div>\r\n                                            ))}\r\n\r\n\r\n                                        </div>\r\n\r\n                                    </div>\r\n                                </div>\r\n                            </div>\r\n\r\n                            <div className='r-c-c done-btn ' style={{ height: '10%' }}>\r\n                                <Button disabled={selectedQa == null} onClick={() => { handleQuestion(selectedQa); }} style={{ position: 'absolute', top: '0%' }}>Submit</Button>\r\n                            </div>\r\n                        </>\r\n                }\r\n            </>\r\n        )\r\n    }\r\n\r\n    const ValueBuddyQuestionGate = () => {\r\n        console.log(\"randomIndex\", randomIndex)\r\n\r\n        // useEffect(() => {\r\n        //     setSelectedBuddy(randomIndex)\r\n        //     setCustomModalOpen(true)\r\n        //     setTimeout(() => {\r\n        //         setCustomModalOpen(false)\r\n        //     }, 2000)\r\n        // }, [])\r\n        return (\r\n            <div style={{ position: \"relative\", width: \"100%\", top: \"30%\" }}>\r\n                <div style={{ position: \"absolute\", top: \"32%\" }} ><img className='full-img' src={gameAssets?.goodGateImg} /></div>\r\n                <div style={{ position: \"absolute\", width: \"45%\", left: \"56%\", top: \"120px\" }} ><img className='full-img' src={valueBuddiesImg?.[randomIndex]?.happy} /></div>\r\n                {console.log(\"radom index happy\", randomIndex)}\r\n            </div>\r\n        )\r\n    }\r\n    const ValueBuddyAnswerGate = () => {\r\n        // const [gifImg, setGifImg] = useState();\r\n        // console.log('component invoked ===>', sessionStorage.getItem(\"isResultOpen\"), typeof sessionStorage.getItem(\"isResultOpen\"));\r\n        // useEffect(() => {\r\n        //     if (sessionStorage.getItem(\"isResultOpen\") != \"true\") {\r\n\r\n        //         const gate = optionValue?.isCorrect ? gameAssets?.goodGateImg : gameAssets?.badGateImg;\r\n        //         setGifImg(gate);\r\n\r\n        //     } else {\r\n\r\n        //         const gateGif = optionValue?.isCorrect ? gameAssets?.goodPathAnimation : gameAssets?.badPathAnimation;\r\n        //         setGifImg(gateGif);\r\n        //     }\r\n\r\n        // }, [])\r\n\r\n\r\n        return (\r\n            <div style={{ width: \"100%\", height: \"100dvh\" }}>\r\n                <div className='bad-gate-text' style={{ fontSize: '1.5vw' }}>{optionValue?.metaInfo}</div>\r\n                <div className='bad-gate-text-bg' ><img className='full-img' src={gameAssets?.metaInfoBg} />\r\n                </div>\r\n                <div className='' style={{ position: \"absolute\", top: \"32%\" }} >\r\n\r\n                    <img className='full-img' src={optionValue?.isCorrect ? gameAssets?.goodPathAnimation : gameAssets?.badPathAnimation} />\r\n\r\n                </div>\r\n                <div style={{ position: \"absolute\", width: \"33%\", left: \"56%\", top: \"50%\" }} ><img className='full-img' src={optionValue?.isCorrect ? valueBuddiesImg?.[randomIndex]?.thumbsUp : valueBuddiesImg?.[randomIndex]?.sad} /></div>\r\n                {console.log(\"radom index thumbs up, sad\", randomIndex)}\r\n            </div>\r\n        )\r\n    }\r\n    const SuccessFullMessage = () => {\r\n        const [showMagnus, setMagnus] = useState(true);\r\n        useEffect(() => {\r\n            const audio = document.getElementById(\"audio-tag\");\r\n            if (!audio.paused) {\r\n                const audioPlayer = new Audio(audioAssets?.gameFinish);\r\n                audioPlayer.play().catch(error => {\r\n                    console.error('Error playing the audio:', error);\r\n                });\r\n            }\r\n            setTimeout(() => {\r\n                setMagnus(false);\r\n                setTimeout(() => {\r\n                    setStep(4)\r\n                }, 2000)\r\n\r\n            }, 2000)\r\n\r\n        }, [])\r\n\r\n        return (\r\n            <div className='r-c-c-c' style={{ width: \"100%\", height: \"100dvh\", textAlign: \"center\" }}>\r\n                {showMagnus ? <>\r\n                    {/* <div className='final-mag-text' style={{ position: \"relative\", width: \"65%\", top: \"5%\" }}>\r\n                        <img className='full-img' src={CustomBox} />\r\n                        <div style={{ position: \"absolute\", fontSize: \"25px\", fontWeight: \"bold\", top: \"30%\", color: \"#FFFFFF\", alignItems: \"center\", left: \"20%\" }}>Custom Message</div>\r\n                    </div> */}\r\n                    <div style={{ position: \"relative\", maxWidth: \"80%\" }}>\r\n                        <img className='full-img' src={gameAssets?.magnusFinalImg} />\r\n                    </div>\r\n                </> : <>\r\n                    <div className='congo-text-1'>Congratulations!\r\n                    </div>\r\n                    <div className='congo-text-2 p-20'>You have reached the end of your Journey.</div>\r\n                </>}\r\n\r\n            </div>\r\n        )\r\n    }\r\n\r\n    const getModalSubText = (countSelected, correctValueBuddies) => {\r\n        if (countSelected === 0) {\r\n            return \"Value buddies that you selected are not correct\";\r\n        } else if (countSelected == correctValueBuddies) {\r\n            return \"You have selected all your value buddies\";\r\n        } else {\r\n            return `You have selected ${countSelected} correct value${countSelected > 1 ? 's' : ''} only ${correctValueBuddies - countSelected} ${correctValueBuddies - countSelected > 1 ? 'are' : 'is'} left`;\r\n        }\r\n    };\r\n\r\n    const SelectToken = () => {\r\n        const [selectedTokenId, setSelectedTokenId] = useState(null);\r\n        const [storeToken, setStoreToken] = useState(null);\r\n        const [showToken, setShowToken] = useState(false);\r\n        console.log(\"seledrtede\", selectedTokenId, isNextEnabled)\r\n        useEffect(() => { if (selectedTokenId) { setIsNextEnabled(true) } }, [selectedTokenId])\r\n\r\n        const handleTokenClick = (token) => {\r\n            console.log(\"checkidd\", token, token?.id)\r\n            setSelectedTokenId(token?.id);\r\n            setStoreToken(token)\r\n            setShowToken(true);\r\n\r\n        };\r\n        return (\r\n            <>\r\n\r\n\r\n\r\n                <div className='left-panel-intros scroll-bar-universal cursor-pointer' style={{}} >\r\n                    {tokenCard?.map((item, index) => (\r\n                        <div key={item.id} className=\"m-b-20\" onClick={() => handleTokenClick(item)} >\r\n                            <img className='full-img' src={item?.card} />\r\n                        </div>\r\n                    ))}\r\n                </div>\r\n\r\n                {showToken && <Modal open={showToken} closeIcon={false} className='r-c-c-c token-model' footer={null} bodyStyle={{ display: \"flex\", flexDirection: \"column\", alignItems: \"center\", justifyContent: \"center\" }} centered={true} style={{}} onCancel={() => setShowToken(false)}  >\r\n                    <div className='r-c-c-c' style={{ width: \"40%\", position: \"relative\" }}>\r\n                        <img className=\"full-img\" src={storeToken?.image} />\r\n                        <span style={{ color: storeToken?.color }}> {storeToken?.name}</span>\r\n                        <div style={{ color: \"#FFFFFF\", position: \"absolute\", fontWeight: \"bold\", fontSize: \"80px\", bottom: \"-45px\" }}> <UserInitials fullName={userDetails?.name} /></div>\r\n                    </div>\r\n\r\n                    <div className='r-c-c done-btn-learning m-t-50'  ><Button className='r-c-c' onClick={() => {\r\n\r\n                        const params = {\r\n                            selectedToken: selectedTokenId\r\n                        }\r\n                        selectToken(params, () => { setGameIntroSteps(4); setIsOpenModal(true); setShowToken(false); },\r\n                            () => { setIsOpenModal(false); setShowToken(false) })\r\n\r\n                    }} >Done</Button></div>\r\n                </Modal>}\r\n\r\n            </>\r\n\r\n        );\r\n    };\r\n    // console.log(\"coreecttt\", selectedItems, countCorrectSelectedItems(), countIndex, countSelected)\r\n    return (\r\n        <div style={{ height: '100%', width: '100%', position: 'relative' }}>\r\n            <div style={{ height: '100%', width: '100%' }}> <img className=\"full-img\" src={gameAssets?.leftPanelBg} style={{ height: '100%', width: '100%' }} /></div>\r\n            <div className='left-panel-title' style={{}}>{title[gameIntroSteps]}\r\n                {gameIntroSteps == 0 ?\r\n                    <div className='left-panel-subtitle'>Click on the top left checkbox to select the right Value Buddy </div>\r\n                    : null}\r\n            </div>\r\n            {gameIntroSteps == 0 ?\r\n                <div className='left-panel-value-buddies' style={{ height: '80%', width: '100%' }}>\r\n                    <div className=\"value-buddies-container scroll-bar-universal\" style={{}}>\r\n                        {valueBuddiesImg.map((buddy, index) => (\r\n                            <div key={buddy.id} className=\"buddy\">\r\n                                <label onClick={() => {\r\n                                    if (!selectedItems.some(selected => selected.id === buddy.id)) {\r\n                                        setCustomModalOpen(true);\r\n                                    } else {\r\n                                        setCustomModalOpen(false);\r\n                                    }\r\n                                    setSelectedBuddy(buddy);\r\n                                }}\r\n                                >\r\n                                    <input\r\n                                        type=\"checkbox\"\r\n                                        checked={selectedItems.some(selected => selected.id === buddy.id)}\r\n                                        onChange={() => { handleCheckboxChange(buddy) }}\r\n                                    // style={{\r\n                                    //     accentColor: selectedItems.some(selected => selected.id === buddy.id)\r\n                                    //         ? (isCorrect(buddy.id) ? 'green' : 'red')\r\n                                    //         : '', cursor: \"pointer\"\r\n                                    // }}\r\n                                    />\r\n                                    <img className=\"full-img-vb cursor-pointer\" style={{}} src={buddy.image} />\r\n                                    <div className='r-c-c' style={{ position: \"relative\" }} >\r\n                                        <img className=\"full-img cursor-pointer\" src={vbNameTag} />\r\n                                        <div className='r-c-c vb-name' style={{}}>{buddy?.name}</div>\r\n                                    </div>\r\n                                </label>\r\n                            </div>\r\n                        ))}\r\n                    </div>\r\n                </div>\r\n                : null}\r\n            {/* {gameIntroSteps == 2 ?\r\n                <div className='left-panel-intros'> <img className=\"full-img\" src={karmaBadgesMeter} style={{ width: '100%', height: '100%', objectFit: 'contain' }} /></div>\r\n                : null}\r\n            {gameIntroSteps == 3 ?\r\n                <div className='left-panel-intros'> <img className=\"full-img\" src={barometer} style={{ width: '100%', height: '100%', objectFit: 'contain' }} /></div>\r\n                : null} */}\r\n            {gameState?.selectedToken || gameIntroSteps == 4 ? <div style={{ position: \"absolute\", bottom: \"8%\", width: \"100%\", height: '100%', top: 0 }}>\r\n\r\n                {isPlayerWin ?\r\n                    <div><SuccessFullMessage /> </div> :\r\n                    <>\r\n                        {isRolled == true ? <ValueBuddyQuestion /> :\r\n                            isRolled == false ?\r\n\r\n                                <RollDice\r\n                                    diceValue={diceValue}\r\n                                    showDiceBtn={showDiceBtn}\r\n                                    handleRollDice={handleRollDice}\r\n                                    diceRandom={diceRandom}\r\n                                    diceAssets={diceAssets}\r\n                                /> : null\r\n                        }\r\n                    </>\r\n                }\r\n            </div> : gameIntroSteps !== 1 ?\r\n                <div className='r-c-c done-btn-learning' style={{ position: \"absolute\", width: \"100%\", top: '90vh' }}>\r\n                    <Button disabled={!isNextEnabled} onClick={handleNext}>\r\n                        NEXT\r\n                    </Button>\r\n                </div> : null\r\n            }\r\n\r\n            {gameIntroSteps == 1 ? <SelectToken />\r\n\r\n                : null}\r\n\r\n            {isOpenModal &&\r\n                <GamePlayModals\r\n                    isOpenModal={isOpenModal}\r\n                    setIsOpenModal={setIsOpenModal}\r\n                    title={gameIntroSteps == 4 ? modalTitle[3] : modalTitle[countIndex]}\r\n                    subText={gameIntroSteps == 4 ? null : getModalSubText(countSelected, correctValueBuddies?.length)}\r\n                    btnText={gameIntroSteps == 4 ? modalBtnText[3] : modalBtnText[countIndex]}\r\n                    triggerValue={gameIntroSteps}\r\n                    setTriggerFunction={setGameIntroSteps}\r\n                    isNextActive={countIndex == 2 && gameIntroSteps <= 1 ? true : false}\r\n                    setShowDiceBtn={setShowDiceBtn}\r\n                    runTimer={runTimer}\r\n                    setRemainingTime={setRemainingTime}\r\n                    gameIntroSteps={gameIntroSteps}\r\n                    fetchGameState={fetchGameState}\r\n                    countSelected={countSelected}\r\n                    correctValueBuddies={correctValueBuddies}\r\n                    utilAssets={utilAssets}\r\n\r\n                />}\r\n            {chooseValueModal &&\r\n                <ChooseCorrectValue chooseValueModal={chooseValueModal} setChooseValueModal={setChooseValueModal} correctValueBuddies={correctValueBuddies} fetchGameState={fetchGameState} gameAssets={gameAssets} utilAssets={utilAssets} />\r\n            }\r\n        </div>\r\n    )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n    const { tokenCard, valueBuddiesImg, correctValueBuddies, gameIntroSteps,\r\n        showDiceBtn, valueBuddiesArray, chooseValueModal, userDetails,\r\n        gameState, gameAssets, utilAssets, diceAssets, audioAssets } = state?.SeTu;\r\n    return {\r\n        tokenCard, valueBuddiesImg, correctValueBuddies, gameIntroSteps,\r\n        showDiceBtn, valueBuddiesArray, chooseValueModal, userDetails, gameState,\r\n        gameAssets, utilAssets, diceAssets, audioAssets\r\n    }\r\n}\r\n\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n    setGameIntroSteps: (val) => dispatch(setGameIntroSteps(val)),\r\n    setChooseValueModal: (val) => dispatch(setChooseValueModal(val)),\r\n    selectValueBuddies: (params, successCallBack, callBack) => dispatch(selectValueBuddies(params, successCallBack, callBack)),\r\n    handleRestart: () => dispatch(handleRestart()),\r\n    setRemainingTime: (val) => dispatch(setRemainingTime(val)),\r\n    fetchGameState: (successCallBack, callBack) => dispatch(fetchGameState(successCallBack, callBack)),\r\n    setStep: (val) => dispatch(setStep(val)),\r\n    selectToken: (params, successCallBack, callBack) => dispatch(selectToken(params, successCallBack, callBack)),\r\n    setGameState: (val) => dispatch(setGameState(val)),\r\n\r\n})\r\n\r\nexport default memo(connect(mapStateToProps, mapDispatchToProps)(LeftSidePanel))\r\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}