{"version":3,"sources":["util/enums/CardType.ts","util/enums/NotificationType.ts","util/enums/WheelFieldsValue.ts","util/enums/Phase.ts","components/atoms/Card/FrontSide/FrontSide.tsx","assets/backgrounds/backgroundCornerCircle/blueCornerCircle.svg","assets/backgrounds/backgroundCornerCircle/pinkCornerCircle.svg","assets/backgrounds/backgroundCornerCircle/greenCornerCircle.svg","assets/backgrounds/backgroundCornerCircle/yellowCornerCircle.svg","components/atoms/CornerCirclesBackground/CornerCirclesBackground.tsx","context/BoardContext.tsx","context/helpers/mapTeamPlayers.ts","context/helpers/setUserInitialAngles.ts","context/helpers/setNewAnglesForEachUser.ts","context/helpers/solutionCardsInitialVisibility.ts","context/helpers/setPlayersInTheNewOrder.ts","context/helpers/getUrlTokenExtracted.tsx","context/UserContext.tsx","context/TableContext.tsx","context/FabricContext.tsx","context/SocketContext.tsx","util/helpers/mapLanguage.ts","context/TeamContext.tsx","context/PhaseContext.tsx","context/CardContext.tsx","context/SlotMachineContext.tsx","context/GlobalContextProvider.tsx","hooks/useSound.ts","hooks/useWindowDimensions.tsx","assets/icons/placeholder.png","hooks/useCreateUser.ts","hooks/useCreatePayloadAndJoinLobby.ts","hooks/usePageVisibility.ts","components/molecules/Board/helpers/setDilemaCard.ts","components/molecules/Board/helpers/useShowDrawnStrengthCard.ts","hooks/useBoardDisplayView.ts","hooks/useHandsState.ts","hooks/useProposedSolutionCards.ts","hooks/useIsAnyUserLoggedOut.ts","hooks/useStrengthCards.ts","hooks/useCard.ts","components/atoms/Notification/PinkNotification.tsx","components/atoms/Card/FrontSide/SolutionCard/SolutionCard.tsx","components/atoms/Card/FrontSide/StrengthCard/StrengthCard.tsx","components/atoms/Card/FrontSide/ChallengeCards/ChallengeCards.tsx","assets/cards/action.svg","components/molecules/AlertBox/AlertBox.tsx","assets/icons/upTokenCoin.svg","components/molecules/Player/helpers/generateLeftAndRightPositionDistance.ts","assets/icons/dilemmaOwnerCrowns/blueExclamationCrownToRight.svg","assets/icons/dilemmaOwnerCrowns/greenExclamationCrownToRight.svg","assets/icons/dilemmaOwnerCrowns/yellowExclamationCrownToRight.svg","assets/icons/dilemmaOwnerCrowns/pinkExclamationCrownToRight.svg","assets/icons/dilemmaOwnerCrowns/blueExclamationCrownToLeft.svg","assets/icons/dilemmaOwnerCrowns/greenExclamationCrownToLeft.svg","assets/icons/dilemmaOwnerCrowns/yellowExclamationCrownToLeft.svg","assets/icons/dilemmaOwnerCrowns/pinkExclamationCrownToLeft.svg","assets/icons/dilemmaOwnerCrowns/blueQuestionCrownToRight.svg","assets/icons/dilemmaOwnerCrowns/greenQuestionCrownToRight.svg","assets/icons/dilemmaOwnerCrowns/yellowQuestionCrownToRight.svg","assets/icons/dilemmaOwnerCrowns/pinkQuestionCrownToRight.svg","assets/icons/dilemmaOwnerCrowns/blueQuestionCrownToLeft.svg","assets/icons/dilemmaOwnerCrowns/greenQuestionCrownToLeft.svg","assets/icons/dilemmaOwnerCrowns/yellowQuestionCrownToLeft.svg","assets/icons/dilemmaOwnerCrowns/pinkQuestionCrownToLeft.svg","assets/icons/dilemmaOwnerCrowns/blueSquareCrownToRight.svg","assets/icons/dilemmaOwnerCrowns/greenSquareCrownToRight.svg","assets/icons/dilemmaOwnerCrowns/yellowSquareCrownToRight.svg","assets/icons/dilemmaOwnerCrowns/pinkSquareCrownToRight.svg","assets/icons/dilemmaOwnerCrowns/blueSquareCrownToLeft.svg","assets/icons/dilemmaOwnerCrowns/greenSquareCrownToLeft.svg","assets/icons/dilemmaOwnerCrowns/yellowSquareCrownToLeft.svg","assets/icons/dilemmaOwnerCrowns/pinkSquareCrownToLeft.svg","components/molecules/Player/helpers/getDilemmaOwnerCrownImage.ts","components/molecules/Player/TablePlayerMiniProfile.tsx","components/molecules/AvatarBoxHolder/helpers/adjustEllipseTangentAngle.ts","components/molecules/AvatarBoxHolder/AvatarPosition.tsx","components/molecules/AvatarBoxHolder/AvatarBoxHolder.tsx","assets/avatars/avatarsHoldingCards/YellowPlayerIdleMin.png","assets/avatars/avatarsHoldingCards/PinkPlayerIdleMin.png","assets/avatars/avatarsHoldingCards/BluePlayerIdleMin.png","assets/avatars/avatarsHoldingCards/GreenPlayerIdleMin.png","assets/avatars/avatarsHandsUp/YellowPlayerTransitionMin.png","assets/avatars/avatarsHandsUp/PinkPlayerTransitionMin.png","assets/avatars/avatarsHandsUp/BluePlayerTransitionMin.png","assets/avatars/avatarsHandsUp/GreenPlayerTransitionMin.png","components/molecules/AvatarBoxHolder/AvatarHoldingCards.tsx","assets/avatars/avatarsCheering/YellowPlayerCheeringMin.png","assets/avatars/avatarsCheering/PinkPlayerCheeringMin.png","assets/avatars/avatarsCheering/BluePlayerCheeringMin.png","assets/avatars/avatarsCheering/GreenPlayerCheeringMin.png","components/molecules/AvatarBoxHolder/AvatarCheering.tsx","components/molecules/ChallengeCardOnTheTable/ChallengeCardOnTheTable.tsx","components/molecules/ChallengeCardOnTheTable/QuestionCardOnTheTable.tsx","components/molecules/Card/CardMolecule.tsx","assets/cards/str_card.svg","components/molecules/CardsReadOnly/StrengthCardReadOnly.tsx","assets/cards/joker.svg","assets/cards/emotional.svg","assets/cards/social.svg","assets/cards/mental.svg","assets/cards/physical.svg","components/molecules/CardsReadOnly/SolutionCardReadOnly.tsx","assets/cards/question.svg","components/molecules/CardsReadOnly/ChallengeCardReadOnly.tsx","components/molecules/MyBoard/subMyBoardComponents/RenderJokerSolutionCardType.tsx","components/molecules/MyBoard/subMyBoardComponents/RenderEmotionalCardType.tsx","components/molecules/MyBoard/subMyBoardComponents/RenderSocialCardType.tsx","components/molecules/MyBoard/subMyBoardComponents/RenderMentalCardType.tsx","components/molecules/MyBoard/subMyBoardComponents/RenderPhysicalCardType.tsx","components/molecules/CardsInHand/CardsInHandMolecule.tsx","assets/avatars/avatarsHands/handsPlayerPink.png","assets/avatars/avatarsHands/handsPlayerYellow.png","assets/avatars/avatarsHands/handsPlayerBlue.png","assets/avatars/avatarsHands/handsPlayerGreen.png","components/molecules/StrengthCardsHolder/subStrengthCardsHolderComponents/RenderStrengthCardType.tsx","components/molecules/StrengthCardsHolder/StrengthCardsHolder.tsx","components/molecules/StrengthCardsHolder/StrengthCardsToggleArrow.tsx","assets/cards/emotional_deck.svg","assets/cards/social_deck.svg","assets/cards/mental_deck.svg","assets/cards/physical_deck.svg","components/molecules/Deck/DeckMolecule.tsx","components/molecules/Deck/InitialDeck.tsx","components/molecules/Deck/InitialDeckScreen.tsx","components/molecules/SolutionDecksHolder/SolutionDecksHolder.tsx","components/molecules/Board/BoardMolecule.tsx","components/molecules/Board/subBoardComponents/RenderActionDisplay.tsx","assets/icons/tokenIcon.png","assets/icons/questionCrown.svg","assets/icons/instructionArrow.svg","components/molecules/DilemmaOwnerAnouncement/DilemmaOwnerAnouncementText.tsx","components/molecules/Board/subBoardComponents/RenderInitialDisplay.tsx","components/molecules/Board/subBoardComponents/ChosenDilemmaCard.tsx","components/molecules/Board/subBoardComponents/RenderQuestionToDisplay.tsx","components/molecules/SlotMachine/SlotMachineChosenCardHolder.tsx","components/molecules/SlotMachine/SlotMachineNotifications.tsx","components/molecules/SlotMachine/helpers/setTopOfHtmlElementThroughStyle.ts","components/molecules/SlotMachine/helpers/animateSpinningOfTheOnlyOneCard.ts","components/molecules/SlotMachine/helpers/checkCardVerticalPositionBeforeAnimating.ts","assets/images/slotMachineLeverSpring.png","assets/images/slotmachineLeverWithGlow.png","components/molecules/SlotMachine/SlotMachineSpinButton.tsx","components/molecules/SlotMachine/SlotMachineSpinner.tsx","assets/icons/logoUppiness.svg","components/molecules/SlotMachine/SlotMachineHeader.tsx","components/molecules/SwapCardButton/SwapCardButton.tsx","components/molecules/Chat/ChatMolecule.tsx","components/molecules/Chat/BoardChat.tsx","components/molecules/Chat/InitialChatMessages/InitalChatMessage.tsx","components/molecules/Chat/CallTheFacilitatorOption.tsx","assets/icons/deleteStrengthCard.svg","components/molecules/Modal/Modal.tsx","components/molecules/PlayersList/PlayersListMolecule.tsx","components/molecules/PlayersSolutionCards/PlayersSolutionCardsMolecule.tsx","components/molecules/Player/PlayerMiniProfile.tsx","components/molecules/Player/CelebrationMiniProfile.tsx","components/molecules/Player/DilemmaOwnerCrown.tsx","components/molecules/Player/DilemmaOwnerFirstPersonViewCrown.tsx","components/molecules/LogIn/LogInMolecule/LogInMolecule.tsx","components/molecules/LogIn/LogInMolecule/ReJoinTheGame.tsx","components/molecules/LogIn/LogInMolecule/ForceRejoinTheGame.tsx","components/molecules/LogIn/helpers/validateEmail.ts","components/molecules/LogIn/CreateUserMolecule/JoinNewPlayer.tsx","components/molecules/LogIn/CreateUserMolecule/JoinInsteadOfPlayer.tsx","components/molecules/LogIn/CreateUserMolecule/JoiningInitially.tsx","components/molecules/LogIn/CreateUserMolecule/CreateUserInputGeneric.tsx","components/molecules/LogIn/CreateUserMolecule/CreateUserMolecule.tsx","assets/images/spinWheel.png","assets/images/spinWheelPin.png","components/molecules/WheelOfFortune/WheelOfFortuneHelper.tsx","assets/coins/goldenCoinForCelebration.svg","components/organisms/CelebrationTemplate/DilemmaOwnerCoinCelebration.tsx","assets/icons/white_arrow.svg","components/organisms/CelebrationTemplate/RenderSelectedCardsCelebration.tsx","components/organisms/CelebrationTemplate/GrandCoinCelebratoin.tsx","assets/icons/focusButton.svg","components/organisms/FullScreens/MySolutionCardsFullScreen.tsx","components/organisms/FullScreens/ChoosingProposedSolutionCardsFullScreen.tsx","assets/icons/crownPink.svg","components/organisms/FullScreens/DilemmaAndPickedSolutionCards.tsx","components/organisms/FullScreens/StrengthCardsAreShownFullScreen.tsx","components/organisms/FullScreens/ChosenActionFullScreen.tsx","assets/icons/questionLock.svg","assets/cards/question_card_back.svg","assets/icons/heartWithCoin.svg","assets/cards/questionAndAction.svg","assets/icons/cheer/cheer_btn-normal.svg","components/organisms/FullScreens/RoundsTransitionFullScreen.tsx","components/organisms/FullScreens/TippingSecionAnoncement.tsx","components/atoms/Display/ProgressBar/ProgressBar.tsx","components/organisms/Board/Board.tsx","components/organisms/BoardTableEllipse/BoardTableEllipse.tsx","components/organisms/LogIn/LogIn.tsx","assets/icons/edit_pen.svg","components/organisms/Lobby/LobbyHeader/LobbyHeaderTeamName.tsx","components/organisms/Lobby/LobbyHeader/LobbyHeaderUserProfile.tsx","components/organisms/Lobby/LobbyHeader/LobbyHeader.tsx","components/molecules/Lobby/LobbyMain.tsx","components/organisms/Lobby/Lobby.tsx","components/organisms/SlotMachine/SlotMachine.tsx","components/organisms/SlotMachineDemo/MidGameWaitingRoom.tsx","components/molecules/Statistics/Pdf/StrengthsDemoPdf.tsx","assets/cards/mental.png","assets/diploma/diploma.png","assets/fonts/Roboto-Regular.ttf","components/molecules/Statistics/Pdf/GamePdf.tsx","assets/cards/physical.png","assets/cards/social.png","assets/cards/emotional.png","components/molecules/Statistics/Pdf/PdfIndex.tsx","components/organisms/SlotMachineDemo/SlotMachineChosenCardHolderDemo.tsx","components/organisms/SlotMachineDemo/SlotMachineSpinnerDemo.tsx","components/organisms/SlotMachineDemo/SlotMachineDemo.tsx","components/organisms/SlotMachineDemoData/SlotMachineChosenCardHolderDemoData.tsx","components/organisms/SlotMachineDemoData/useStrengthCardsDemoData.ts","components/organisms/SlotMachineDemoData/SlotMachineSpinnerDemoData.tsx","components/organisms/SlotMachineDemoData/SlotMachineDemoData.tsx","components/organisms/PostMatchSurvey/PostMatchSurvey.tsx","components/organisms/Statistics/Statistics.tsx","components/organisms/Lobby/LobbyHeader/LobbyHeaderuserProfilePicture.tsx","assets/images/blue.png","assets/images/green.png","assets/images/pink.png","components/organisms/InitialScreen/InitialScreen.tsx","assets/images/yellow.png","assets/avatars/avatarsDancing/PinkPlayerDanceMin.png","assets/avatars/avatarsDancing/YellowPlayerDanceMin.png","assets/avatars/avatarsDancing/BluePlayerDanceMin.png","assets/avatars/avatarsDancing/GreenPlayerDanceMin.png","components/organisms/CelebrationTemplate/CelebrationAvatar.tsx","components/organisms/FullScreens/ChosenDilemmaFullScreen.tsx","components/organisms/FullScreens/ProposedSolutionCardsFullScreen.tsx","components/organisms/FullScreens/SolutionSelectedByDilemmaOwner.tsx","components/molecules/WheelOfFortune/WheelOfFortune.constants.ts","components/molecules/WheelOfFortune/helpers/getFieldsWithValue.ts","components/molecules/WheelOfFortune/helpers/calculateAngleFromPrize.ts","components/molecules/WheelOfFortune/helpers/calculateAngleFromField.ts","assets/images/spinWheel.svg","assets/images/spinWheelPin.svg","components/molecules/WheelOfFortune/WheelOfFortuneMolecule.tsx","components/molecules/Statistics/StatisticsMolecule.tsx","assets/avatars/avatarsDancingPodium/Blue_Player_Podium_min.png","assets/avatars/avatarsDancingPodium/Green_Player_Podium_min.png","assets/avatars/avatarsDancingPodium/Pink_Player_Podium_min.png","assets/avatars/avatarsDancingPodium/Yellow_Player_Podium_min.png","components/molecules/DancingAvatar/DancingAvatar.tsx","assets/icons/Krown.svg","assets/icons/Star.svg","components/molecules/Statistics/FinalPage/Avatars/Avatars.tsx","components/molecules/Statistics/FinalPage/PlayerImageAndUpScore/PlayerImageAndUpScore.tsx","components/molecules/Statistics/FinalPage/Scoreboard/Tableitem/TableItem.tsx","components/molecules/Statistics/FinalPage/Scoreboard/Scoreboard.tsx","components/molecules/Statistics/FinalPage/StrengthCardsStatistics/StrengthStatisticsCard/StrengthStatisticsCard.tsx","assets/icons/solvedDilemmas.svg","components/molecules/Statistics/FinalPage/StrengthCardsStatistics/StrengthStatisticsTable.tsx","components/molecules/Statistics/FinalPage/StrengthCardsStatistics/StrengthStatisticsUsage/StrengthStatisticsUsage.tsx","components/molecules/Statistics/FinalPage/StrengthCardsStatistics/StrengthCardStatistics.tsx","components/molecules/Statistics/FinalPage/SolutionCardsStatistics/SolutionCardsStatistics.tsx","components/molecules/Statistics/FinalPage/ChoosenSolutionCardsStatistics/ChoosenSolutionCardsStatistics.tsx","components/molecules/Statistics/FinalPage/SolutionCardsStatistics/MySolutionCards/MySolutionCards.tsx","components/molecules/PostMatchSummary/PostMatchSummaryMolecule.tsx","components/molecules/PostMatchSurvey/PostMatchSurveyMolecule.tsx","components/molecules/GameWinnersPodium/GameWinnersPodium.tsx","components/atoms/DilemmaRoundsCounter/DilemmaRoundsCounter.tsx","components/molecules/GameBoardHeader/GameBoardHeader.tsx","components/molecules/CelebrationDialog/ActionCelebration/ActionCelebration.tsx","assets/images/dashed.svg","assets/icons/UppinessLogoBlueLetters.png","assets/images/hsaLogo.png","assets/images/lineDeco.png","components/molecules/InitialScreen/InitialScreenMolecule.tsx","components/molecules/StartIntroductionOrSkip/StartIntroductionOrSkip.tsx","assets/avatars/avatarsHandsUp/pinkAvatarHandsUp.png","assets/avatars/avatarsHandsUp/yellowAvatarHandsUp.png","assets/avatars/avatarsHandsUp/blueAvatarHandsUp.png","assets/avatars/avatarsHandsUp/greenAvatarHandsUp.png","components/molecules/DilemmaOwnerAnouncement/DilemmaOwnerAnouncement.tsx","components/molecules/Tipping/Tipping.tsx","components/molecules/SideOptionFacilitator/SendEmailToUser.tsx","components/molecules/SideOptionFacilitator/SideBarPlayersList.tsx","components/molecules/SideOptionFacilitator/SideOptionFacilitator.tsx","components/atoms/Card/FrontSide/ChallengeCards/ActionCard.tsx","components/atoms/Card/CardSlot/CardSlot.tsx","components/atoms/CardSlot/CardSlotMachine.tsx","components/atoms/BluredBlueModal/BluredBlueModal.tsx","components/atoms/ConnectionFailed/ConnectionFailedPage.tsx","components/atoms/Buttons/MainButton/MainButton.tsx","components/atoms/Buttons/UploadProfileImage/UploadProfileImage.tsx","components/atoms/Buttons/ReadyButton/ReadyButton.tsx","components/atoms/Buttons/CheerButton/CheerButton.tsx","components/atoms/Buttons/InfoButton/InfoButton.tsx","components/atoms/Buttons/SwapButton/SwapButton.tsx","components/atoms/Buttons/ArrowButton/ArrowButton.tsx","components/atoms/Buttons/WheelHandle/WheelHandle.tsx","components/atoms/Buttons/MuteButton/MuteButton.tsx","components/atoms/Buttons/FocusButton/FocusButton.tsx","components/atoms/Buttons/NextButton/NextButton.tsx","components/atoms/Counter/UpperTokensBar/UpperTokensBar.tsx","components/atoms/Counter/Timer/CountdownTimer.tsx","components/atoms/Input/RegularInput/RegularInput.tsx","components/atoms/Notification/Notification.tsx","components/atoms/Notification/AlertMessage.tsx","components/atoms/Notification/SpinWheelNotification/SpinWheelNotification.tsx","assets/icons/whiteArrowDown.svg","components/atoms/Notification/ArrowJumpingInStraightLine.tsx","components/atoms/Display/ArrowNotification/ArrowNotification.tsx","assets/icons/ReadyCheckIcon.svg","components/atoms/User/User.tsx","components/atoms/Loader/Loader.tsx","components/atoms/FirstPersonViewUserImage/FirstPersonViewUserImage.tsx","components/atoms/Goodbye/Goodbye.tsx","pages/InitialPage/InitialPage.tsx","pages/Board/BoardPage.tsx","pages/LogIn/LogInPage.tsx","pages/Lobby/LobbyPage.tsx","pages/SlotMachine/SlotMachinePage.tsx","pages/PostMatchSurvey/PostMatchSurveyPage.tsx","pages/Statistics/StatisticsPage.tsx","pages/Goodbye/GoodbyePage.tsx","router/InitialRoute.tsx","router/LoginRoute.tsx","router/LobbyRoute.tsx","router/BoardRoute.tsx","router/SurveyRoute.tsx","router/SummaryRoute.tsx","router/StatisticsRoute.tsx","router/SlotmachineRoute.tsx","router/GoodbyeRoute.tsx","hooks/useGameData.ts","router/DiplomaRoute.tsx","router/ForceRoute.tsx","router/SpectatorRoute.tsx","App.tsx","reportWebVitals.ts","i18n/i18n.ts","index.tsx"],"names":["CardType","NotificationTypes","WheelValue","Phase","FrontSide","cardData","isForceHoverOn","solutionCardsInHands","fullScreenIsOn","Fragment","type","STRENGTH","ACTION","QUESTION","displayExchangeButton","renderCardType","CornerCirclesBackground","children","className","style","width","height","src","blueCornerCircle","alt","pinkCornerCircle","greenCornerCircle","yellowCornerCircle","BoardContext","createContext","BoardContextProvider","props","useState","isSurveyShown","setIsSurveyShown","isStatisticsShown","setIsStatisticsShown","isGameInPostGamePhase","setisGameInPostGamePhase","isGoodbyePageShown","setIsGoodbyePageShown","chatMessages","setChatMessages","isSpinClicked","setIsSpinClicked","jokerClicked","setJokerClicked","isUserInPhaseSeven","setIsUserInPhaseSeven","didUserRejoinTheGame","setDidUserRejoinTheGame","isWheelSpinningDone","setIsWheelSpinningDone","isInitialSolutionDecksModalOpen","setIsInitialSolutionDecksModalOpen","isAvatarCheering","setIsAvatarCheering","renderDilemmaCardsInThisPhase","setRenderDilemmaCardsInThisPhase","renderInitialCoins","setRenderInitialCoins","undefined","displayModalData","setDisplayModalData","areSolutionCardsDrawnContext","setAreSolutionCardsDrawnContext","isStrengthCardsComponentShown","setIsStrengthCardsComponentShown","isWinnersPodiumShown","setIsWinnersPodiumShown","soundVolume","setSoundVolume","instructionTutorial","setInstructionTutorial","isDilemmaOwnerAnouncementDone","setIsDilemmaOwnerAnouncementDone","isCurrentlyPhase16","setIsCurrentlyPhase16","areStrengthsShownFullScreen","setAreStrengthsShownFullScreen","isBoxActive","pendingFunctionName","message","areYouSureBoxRendered","setAreYouSureBoxRendered","selectedUserEmail","isMessageBoxOpen","providerValue","sendMessageToTheUser","showStatistics","setSendMessageToTheUser","Provider","value","mapTeamPlayers","players","playersGameInfo","map","player","color","fullName","nickname","email","profileIcon","image","isReady","status","setUserInitialAngles","game","userData","numberOfPlayers","length","userAnglesOfTheirInitialPositions","0","1","2","3","4","5","setNewAnglesForEachUser","selectedUserIndex","userAngles","Object","keys","newUserAngles","indexOfAvatarOnThe270Position","index","parseInt","updateTheIndexBasedOnTheOldOne","oldIndex","updatedIndex","gap","Math","abs","String","solutionCardsInitialVisibility","phase","CHOOSING_SOLUTION_CARDS","gameInfo","hasDrawnSolutionCards","setPlayersInTheNewOrder","playersOrderedInGameObject","theUserFromUserData","playersInTheNewOrder","forEach","push","getUrlTokenExtracted","urlPathChunks","window","location","href","split","UserContext","UserContextProvider","socket","useContext","SocketContext","TeamContext","setUserData","notificationAlert","setNotificationAlert","activateAlert","setActivateAlert","currentlyInputedUserData","setCurrentlyInputedUserData","emailOfSelectedPlayerBoard","setEmailOfSelectedPlayerBoard","playersInNewOrder","setPlayersInNewOrder","mailExists","setMailExists","useEffect","createUser","notificationSendEmail","userEmail","matchId","axios","method","url","process","data","playerEmail","text","then","res","console","log","catch","err","error","doesEmailExist","isAlreadyUsed","setUserStatus","joinLobby","payload","emit","changePlayerStatusSocketEvent","joinTeamLobby","changeTeamNickNameSocketEmit","newTeamName","changePlayerNickNameSocketEmit","newPlayerNickName","setUserDataWhenUserRejoinsTheGame","find","item","lobbyPlayer","inGameLobby","TableContext","TableContextProvider","areAnimatedHandsShown","setAreAnimatedHandsShown","isEmotionalCardVisible","setIsEmotionalCardVisible","isSocialCardVisible","setIsSocialCardVisible","isMentalCardVisible","setIsMentalCardVisible","isPhysicalCardVisible","setIsPhysicalCardVisible","isUpdatingStatesDisabled","setIsUpdatingStatesDisabled","setUserAngles","oldUserAngles","setOldUserAngles","isLogoOnTheTableBlured","setIsLogoOnTheTableBlured","theIndexOfTheUserPositionedAt270Degrees","setTheIndexOfTheUserPositionedAt270Degrees","tableNotification","setTableNotification","areAvatarsCurentlyResting","setAreAvatarsCurentlyResting","strengthCardsAnimationDuringAvatarRotation","setStrengthCardsAnimationDuringAvatarRotation","isJokerButtonHovered","setIsJokerButtonHovered","isDilemmaChosen","setIsDilemmaChosen","toggleMySolutionFullScreen","setToggleMySolutionFullScreen","didTheCurrentUserProposedSolution","setDidTheCurrentUserProposedSolution","solutionCardExchanged","setSolutionCardExchanged","updateUserAngles","newUserAnglesValues","FabricContext","FabricContextProvider","activeObject","setActiveObject","canvas","setCanvas","initCanvas","newCanvas","setCanvasToUndefined","SocketContextProvider","setSocket","newRandomStrengthCard","setNewRandomStrengthCard","spinNumberData","setSpinNumberData","isProfilePictureUpdated","setIsProfilePictureUpdated","theSolutionCardSelectedByDilemmaOwner","setTheSolutionCardSelectedByDilemmaOwner","isActionDoneButtonRevealed","setIsActionDoneButtonRevealed","newSocket","io","registerDisconnection","registerAlleEvents","initialiseSocket","on","result","reload","timeParser","a","toString","playCheeringSound","sound","startSpinSocketEvent","generateRandomStrengthCardsSocketEvent","callFacilitatorEmit","gameId","finishChoosingCardsSocketEvent","openNewSolutionCardSocketEvent","changeSoultionCardSocketEvent","drawDilemmaCardSocketEvent","finishActionCardSocketEvent","nextPhaseConffeti","delay","dropStrengthCardSocketEvent","id","saveStrengthImagesSocketEvent","chooseOneOfProposedCardsSocketEvent","strengthId","finishIntroductionSocketEvent","dilemmaOwnerPickedASolutionSocketEvent","cardId","proposeSolutionCardSocketEvent","_id","withdrawCardSocketEvent","skipDillemaCardSocketEvent","activateJokerButtonSocketEvent","refreshTimerSocket","revealDoneButtonSocketOn","profilePicturesNeedUpdateSocketOn","setAreSolutionCardsDrawn","areSolutionCardsDrawn","randomOneStrengthCardSocketOn","finishedChoosingDilemmaCardSocketEmit","solutionCardSelectedSocketOn","tipPlayerSocketEmit","tippedPlayerEmail","spinNumberSocketOn","setTimeout","off","chatSocketOn","hasListeners","recievedDate","Date","date","recievedData","getHours","getMinutes","name","float","forceRefreshPlayer","localStorage","chatSocketOff","triggerConfetti","mapLanguage","language","isGamePhaseIsNine","markAction","TeamContextProvider","urlTokenExtracted","setGame","teamNumber","setTeamNumber","setPlayers","activateAction","setActivateAction","isTheButtonClickedToJoinTheGame","setIsTheButtonClickedToJoinTheGame","allTeamNames","setAllTeamNames","urlToken","setUrlToken","setGameId","isLoaderHidden","setisLoaderHidden","gameCount","setGameCount","userDataHelper","setUserDataHelper","selectedLanguage","setSelectedLanguage","setItem","enterTheTeam","roomUsers","useCallback","dataId","indexOfSlashCharacter","indexOf","teamNumberFromTheLink","slice","mapUserDataHelper","gameObject","currentPlayerEmailFromLocalStorage","getItem","currentPlayer","setGameState","sendMessage","insertedMessage","getGameLanguage","gameLanguage","reConnectToServer","PhaseContext","PhaseContextProvider","renderChosenSolutionToQuestion","setRenderChosenSolutionToQuestion","dilemmaOwnerCoinCelebration","setRenderDilemmaOwnerCoinCelebration","renderWheelOfFortune","setRenderWheelOfFortune","CardContext","CardContextProvider","solutionCards","setSolutionCards","draggableCard","setDraggableCard","isDragging","setIsDragging","isStrengthCardCurrentlyDragged","setIsStrengthCardCurrentlyDragged","currentSolutionCardWidth","setCurrentSolutionCardWidth","currentlyChoosenCard","setCurrentlyChoosenCard","emotional","social","mental","physical","solutionCardThatNeedsToFlip","setSolutionCardThatNeedsToFlip","currentlyHoveredStrengthCard","setCurrentlyHoveredStrengthCard","isStrengthCardHoveredWhileSolutionIsDragged","setIsStrengthCardHoveredWhileSolutionIsDragged","isExchangeButtonOnActionHovered","setIsExchangeButtonOnActionHovered","dataOfDoubleClickedSolutionCard","setDataOfDoubleClickedSolutionCard","first","second","third","threeActions","setThreeActions","drawSolutionCard","card","flipSolutionCardBySelectedType","solutionCardTypeThatNeedsToFlip","QUESTION_CARD","SlotMachineContext","SlotMachineContextProvider","confirmSelectionDisabled","setConfirmSelectionDisabled","isConfirmSelectionClicked","setIsConfirmSelectionClicked","showIt","setShowIt","lastDroppedCard","setLastDroppedCard","verticalCardIdsAndTheirIndexes","setVerticalCardIdsAndTheirIndexes","isIntroModalInSlotMachineOpen","setIsIntroModalInSlotMachineOpen","generateFiveNewStrengthCardsManually","setGenerateFiveNewStrengthCardsManually","description","addStrengthCardDemo","setAddStrengthCardDemo","deleteStrengthCardDemoById","setDeleteStrengthCardDemoById","chosenStrengthCardsDemo","setChosenStrengthCardsDemo","animateWhiteShaddowGlowingCards","setAnimateWhiteShaddowGlowingCards","waitForTheOthersModal","setWaitForTheOthersModal","isConfirmButtonTipShown","setIsConfirmButtonTipShown","showMidGameWaitingWindow","setShowMidGameWaitingWindow","allStrengthCardsIdsState","useRef","verticalCardIndexOfSelectedRow","GlobalContextProvider","useSound","audio","Audio","playSound","audioUrl","concat","current","volume","play","stopSound","pause","addEventListener","removeEventListener","getWindowDimensions","innerWidth","innerHeight","useWindowDimensions","windowDimensions","setWindowDimensions","handleResize","useCreateUser","isThereUserColor","random","substr","floor","userColor","team","setTeam","loginData","setLoginData","setAllTeamnamesFromResponse","fetch","REACT_APP_ADMIN_API","response","ok","Error","statusText","json","setInitialLoginData","gameCounter","i","randomTeamNumber","useCreatePayloadAndJoinLobby","t","useTranslation","history","useHistory","_doc","isMatchFinished","isFinished","alert","preactive","usePageVisibility","document","visibilityState","isVisible","setIsVisible","setDilemaCard","currentDilemmaCardLocal","cardType","localCard","backImagePath","content","title","useShowDrawnStrengthCard","isEmotionalUsed","setIsEmotionalUsed","isPhysicalUsed","setIsPhysicalUsed","isRelationsUsed","setIsRelationsUsed","isMentalUsed","setIsMentalUsed","currentSolutionCards","EMOTIONAL_SOLUTION","link","info","PHYSICAL_SOLUTION","SOCIAL_SOLUTION","MENTAL_SOLUTION","useBoardDisplayView","displayView","setDisplayView","questionCard","actionCard","challengeCard","setChallengeCard","isTheUserDilemaOwner","currentPlayerEmail","CONFETTI_CELEBRATION","timeout","clearTimeout","finishedAction","INTRODUCTION","PICK_DILEMMA","renderDilemaCardsTimeout","CHOOSE_SOLUTION","challengeScore","SOLUTION_CHOSEN","ACTION_CARD","currentDilemmaCard","SOLUTION_CHOSEN_REWARD","RENDER_SPIN_WHEEL","proposedCards","proposedSolutionCards","key","drawChallengeCard","fieldName","useHandsState","useProposedSolutionCards","proposedSolutionCardsArray","setProposedSolutionCardsArray","fillProposedSolutionCardsArray","propSolutionCardsArray","mappedPlayerSolution","frontImagePath","backIcon","frontIcon","entries","isAnyUserCurrentlyLoggedOut","setIsAnyUserCurrentlyLoggedOut","listOfTheUsersWhoLoggedout","setListOfTheUsersWhoLoggedout","checkIfAnyOfTheUsersLoggedOutDuringTheGame","listOfThePlayers","isAnyUserOut","helperArray","expectedPlayer","useStrengthCards","recievedStrengthCards","setRecievedStrengthCards","pushTheNewStrengthCard","allStrengthCardsIds","recievedCard","information","newArray","useCard","notMappedCard","PinkNotification","notificationRenderingSide","icon","iconText","notificationWidthVW","moveFromTop","hasCloseButton","closeTheNotification","isStatic","swingingAnimationCss","staticAnimationCss","getAlignmentDirection","top","bottom","right","left","getNotificationPositionAndSide","getNotchPositionAndSide","onClick","SolutionCard","onCardClick","choseSolution","displayInfoOnTheProposedCard","cardIndex","isFullScreenOnDuringPhase5","isFullScreenOnDuringPhase7","displayInfo","setDisplayInfo","isExchangeButtonHovered","setIsExchangeButtonHovered","isInfoButtonHovered","setIsInfoButtonHovered","isCardHovered","setIsCardHovered","tokens","upperTokens","doubleClickHandler","solutionCardsStyle","JOKER_SOLUTION","solutionSVGCards","solutionCardsTextIcon","flipCardYouHaveEnoughTokens","drawSolutionCardFromDeck","pinkNotificationExpandTip","progressNumber","pinkNotificationExchangeButtonTip","pinkNotificationInfoButtonTip","infoNotificationDirection","getInfoNotificationDirection","moveInfoNotificationWhenFullScreen","onMouseEnter","onMouseLeave","onDoubleClick","position","transform","transformOrigin","clickHandler","StrengthCard","isFullScreenOn","strengthCardIndex","isPageSlotMachineDemoRendered","pathname","includes","isBrowserWidthNecessary","SLOT_MACHINE","isThisSlotMachinePage","strengthCardWidth","renderStrenghtCardTypeSlotmachine","marginTop","overflow","renderStrenghtCardTypeGame","showStrengthsOnFullScreen","ChallengeCards","isThisQuestionCard","lineHeight","AlertBox","closeTheAreYouSureBox","executeSelectedFunction","generateLeftAndRightPositionDistance","angleInDegrees","halfOfTheInputAngle","PI","ratioForTheDstanceNeededToBringProfileCloserToTheAvatar","cos","moveAvatarsFurther","bottom_position_of_profile_box","left_position_of_profile_box","sin","getDilemmaOwnerCrownImage","playerColor","crownType","crownBasedOnUserColor","pinkQuestionCrownToLeft","blueQuestionCrownToLeft","greenQuestionCrownToLeft","yellowQuestionCrownToLeft","pinkExclamationCrownToLeft","blueExclamationCrownToLeft","greenExclamationCrownToLeft","yellowExclamationCrownToLeft","pinkSquareCrownToLeft","blueSquareCrownToLeft","greenSquareCrownToLeft","yellowSquareCrownToLeft","pinkSquareCrownToRight","pinkExclamationCrownToRight","pinkQuestionCrownToRight","blueSquareCrownToRight","blueExclamationCrownToRight","blueQuestionCrownToRight","greenSquareCrownToRight","greenExclamationCrownToRight","greenQuestionCrownToRight","yellowSquareCrownToRight","yellowExclamationCrownToRight","yellowQuestionCrownToRight","TablePlayerMiniProfile","onePercentageOfBrowserWidth","angleInRadians","adjustedAngleForUserMiniProfile","lowerUserImageOn90Degrees","distanceUserImageOn90Degrees","initialRippleAnimation","UpTokenCoin","adjustEllipseTangentAngle","users_angle_to_the_center","ellipseWidth","ellipseHeight","adjustment_sine","toFixed","adjusment_angle_based_on_width_and_height","round","AvatarPosition","avatarProps","currentAngleInDegrees","avatarColor","scalability_percentage","positioning_error","wrapper_of_avatar_sprint_png_height","AvatarBoxHolderMemo","oldAngleInDegrees","setCurrentAngleInDegrees","radius","increment","sineSquare","cosineSquare","equation_denominator","sqrt","equation_numerator","endValue","AvatarBoxHolder","React","memo","AvatarHoldingCards","isTransitionOver","setIsTransitionOver","greetingSound","YellowPlayerTransitionMin","PinkPlayerTransitionMin","BluePlayerTransitionMin","GreenPlayerTransitionMin","YellowPlayerIdleMin","PinkPlayerIdleMin","BluePlayerIdleMin","GreenPlayerIdleMin","AvatarCheering","YellowPlayerCheeringMin","PinkPlayerCheeringMin","BluePlayerCheeringMin","GreenPlayerCheeringMin","ChallengeCardOnTheTable","dilemmaOwnerImage","QuestionCardOnTheTable","Card","StrengthCardReadOnly","isSmall","borderRadius","frontSideAction","paddingTop","SolutionCardReadOnly","paddingFromTopInVw","paddingfromTop","frontSideJoker","frontSideEmotional","frontSideSocial","frontSideMental","frontSidePhysical","getSolutionCardImageBy","padding","ChallengeCardReadOnly","frontSideQuestion","RenderJokerSolutionCardType","RenderEmotionalCardType","RenderSocialCardType","RenderMentalCardType","RenderPhysicalCardType","CardsInHandMolecule","playerOn270Degrees","setPlayerOn270Degrees","cardTypeThatWasProposed","setCardTypeThatWasProposed","move_hands_from_bottom","listOfProposedCards","getZIndexForShowYourCardsButotnWhenBlueModalIsShown","getHandsColor","zIndex","arrowVwHeight","arrowVwWidth","arrowDirection","toolTipText","tipSide","isTheDivShown","disabled","RenderStrengthCardType","fullScreen","fetchedStrenghtsCards","strenghtsCards","currentStrengthCards","node","getElementById","domtoimage","toPng","dataUrl","img","Image","chooseOneOfProposedCardsByClickingOnStrengths","strength_card_id","str_card","StrengthCardsHolder","zIndexPerPhase","strengthContainerOpenCloseAnimation","strengthCardsAnimationDuringAvatarRotationStyle","flexDirection","StrengthCardsToggleArrow","Deck","onDraw","isDillemaDoubleClicked","setIsDillemaDoubleClicked","getRandomCard","emotionalDeck","socialDeck","mentalDeck","physicalDeck","getSolutionDeckDeckType","InitialDeck","clickedDeckStyle","setClickedDeckStyle","numberOfDrawnCard","initialiseIsInitialSolutionDecksModalOpen","counter","nubmerOfPlayers","drawSolutionCardFromDeckLogic","emitSocketWhenAllSolutionCardsAreDrawn","emotionalRef","socialRef","mentalRef","physicalRef","click","ref","EmotionalDeck","SocialDeck","MentalDeck","PhysicalDeck","InitialDeckScreen","didUserDrawnAllSolutionCards","SolutionDecksHolder","isCheerButtonActivated","zIndexWhenCheerButtonIsActivated","isAfterRound3","BoardMolecule","dilemmaOwner","dilemmaOwnerNickname","dilemmaOwnerColor","firstLineBefore","firstLineOwner","ownerColor","firstLineAftar","secondLine","thirdLine","RenderActionDisplay","comfirmActionCardParent","isDoneButtonDisabled","CardMolecule","DilemmaOwnerAnouncementText","upperText","lowerText","componentStyle","middleText","isArrowShown","isArrowShownTextBig","dilemmaOwnerEmail","dicitonary","dilemma","default","questionCrown","instructionArrow","RenderInitialDisplay","isActionDeckHovered","setIsActionDeckHovered","isQuestionDeckHovered","setIsQuestionDeckHovered","numberOfSolvedDilemmas","solutionOwnerSubTitleTextLine","dilemmaOwnerSubTitleTextLine","DeckMolecule","ChosenDilemmaCard","isTheFullScreenOn","isDilemmaOwnerButtonShown","proposedCardsObject","objectLength","isAnyCardProposedOnTheTable","isThisJokerButton","RenderQuestionToDisplayMemo","isAnimationForDragAndDropSolutionToStrengthShown","pulsingCurcleDivStyle","solutionCard","selectedCard","cardDimentions","proposedCardOrder","RenderQuestionToDisplay","SlotMachineChosenCardHolder","forwardRef","_props","useImperativeHandle","dropedStrenghtCard","Array","chosenStrengthCard","setChosenStrengthCard","alertRef","selectedIndex","setSelectedIndex","setIsArrowShown","demoCard","currentStrengthCardsFromGameObject","numberOfSelectedStrengthCardsFromSlotMachine","mappedArryOfStrengthCardsObjectsFittedForFrontend","strengthCardFromBackEnd","convertRecievedObjectToStrengthCardObject","numberOfPopulatedCards","filter","isCardChoosen","activateNotificatoinForTwoSeconds","choosenCards","assign","idsOfCardsInSlotMachine","verticalIndex","draggedStrengthCardsFields","minHeight","minWidth","removeChosenCard","display","apply","_item","marginRight","SlotMachineNotifications","notificationMessage","setTopOfHtmlElementThroughStyle","element","isSpinningOnlyOne","animateSpinningOfTheOnlyOneCard","options","extremeValue","choosenOption","offsetTop","checkCardVerticalPositionBeforeAnimating","verticalIndexOfTheCard","SlotMachineSpinButton","setIsStrengthCardsInitialisationInvoked","isInDemo","toggleLever","setToggleLever","myEmail","wasTheLeverPulledForTheFirstTime","userNicknameInLobby","lobby","userInLobbyForStrengthCards","user","nickName","simulateGenerationOfNewStrengthCards","onMouseDown","slotmachineLeverWithGlow","slotMachineLeverSprint","SlotMachineSpinner","slotMachineRef","draggingCardIndex","setDraggingCardIndex","isChoosingCardsLocked","setIsChoosingCardsLocked","lockCardTimeout","isStrengthCardsInitialisationInvoked","shuffledRefs","setShuffledRefs","card1","card2","card3","card4","card5","strengthCards","setStrengthCards","shuffleRecievedCards","spinAllCards","spinOnlyOneCard","j","slotState","selected","triggerSlotRotation","refToShuffle","keepCard","renderRecievedCards","useMemo","cardAndVerticalIds","margin","cursor","enableResizing","x","y","disableDragging","onDragStart","onDragStop","el","SlotMachineHeader","isInDemoData","logoUppiness","SwapCardButton","getTheChallengeJokerCard","isThisReturnButton","ChatMolecule","shouldTheFirstMessageBeShown","setInsertedMessage","inputEl","createElement","chatBodyHeight","scrollHeightTimeout","localCurrentElementValue","scroll","scrollHeight","clientHeight","scrollTo","sendmessage","currentTime","localData","listOfFacilitatorNotifications","normalText","boldText","displayAfter","orderOfFacilitatorNotification","chatMessage","onKeyPress","event","autoComplete","onChange","target","placeholder","maxLength","required","BoardChat","isChatButtonClicked","setIsChatButtonClicked","isThereUnreadMessage","setIsThereUnreadMessage","isTextShort","InitalChatMessage","showMessage","setShowMessage","showMessageTimeout","CallTheFacilitatorOption","facilitatorNotificationTextDic","6","getFacilitatorNotificationStyle","callTheFacilitatorLearning","notificationType","orderOfFacilitatorNotificationDic","Modal","close","chosenSolutions","selectedStrengthCard","gradientWhiteLineForModal","closeIcon","solution","PlayesListMolecule","playerData","PlayersSolutionCardsMoleculeMemo","proposedCardDimentions","setProposedCardDimentions","isReturnButtonHovered","setIsReturnButtonHovered","isCancelButtonHovered","setIsCancelButtonHovered","isThisCardSelectedByDilemmaOwner","defaultStyle","transition","opacity","TransitionStatus","selectedCardId","checkIfTheUserWhoDoubleClickedIsDilemmaOwner","Transition","in","appear","state","PlayersSolutionCardsMolecule","PlayerMiniProfile","showNotification","numberOfTokens","setNumberOfTokens","isUpperCoinAnimationActive","setIsUpperCoinAnimationActive","userNickname","numberOfPoints","CelebrationMiniProfile","setPlayer","currentSpinOwner","DilemmaOwnerCrown","isAvatarAtCriticalPosition","setCrownBasedOnUserColor","setCrownType","NINE","DilemmaOwnerFirstPersonViewCrown","LogInMolecule","RejoinTheGame","setEmail","rejoinTheGame","label","catchEnter","onSubmit","setIsUserSelected","numberOfPlayersTypeNumber","rejoinButtonDisabled","_","validateEmail","test","JoinNewPlayer","isDisabled","joinNewPlayer","JoinInsteadOfPlayer","joinInstedOfMissingPlayer","JoiningInitially","createPayloadAndJoinRandomLobby","isGameRunning","FormData","append","clear","CreateUserInputGeneric","handleOnChange","validateInputs","labelDic","fieldNameDic","inputBlurText","CreateUserMolecule","emailInputMessage","setEmailInputMessage","fullNameInputMessage","setFullNameInputMessage","nicknameInputMessage","setNicknameInputMessage","isGameCurrentlyRunning","windowLocationHref","doesUrlIncludeForce","WheelOfFortuneHelper","token","spinWheel","spinWheelPin","DilemmaOwnerCoinCelebration","currentTokenValue","dilemmaOwnerCelebration","spinOwnerCelebration","isTheUserSpinOwner","isFourthRound","currentTokenValueLocal","currentOwnerNickname","currentOwnerColor","spinOwner","addConfetti","htmlCanvas","confetti","create","resize","particleCount","angle","spread","gravity","startVelocity","scalar","colors","goldenCoinForCelebration","RenderSelectedCardsCelebration","isTheUserDilemmaOwner","spinOwnerNickname","spinOwnerColor","strengthCardData","solutionChosenGameState","strengthCard","solutionCardData","questionCardData","whiteArrow","GrandCoinCelebratoin","removeScreen","setRemoveScreen","removeScreenTimeOut","MySolutionCardsFullScreen","focusButton","ChoosingProposedSolutionCardsFullScreen","fontSize","marginLeft","DilemmaAndPickedSolutionCards","crownPink","StrengthCardsAreShownFullScreen","ChosenActionFullScreen","RoundsTransitionFullScreen","roundNumber","textAnimate","getGenericRoundImage","roundName","roundDescriptionDict","roundImagesDict","question","heartWithCoin","action","cheerLock","questionLock","TippingSecionAnoncement","ProgressBar","numberOfInitialBars","from","Board","useIsAnyUserLoggedOut","zIndexForPhaseThree","zIndexForPhaseFour","zIndexForOtherBluredBluePhases","zIndexPerPhaseForStrengthCards","isSpectator","isCheeringCelebration","solutionCombinationsForThisCard","fullDarkBackground","totalProgress","b","BoardTableEllipseMemo","elipseWidth","setElipseWidth","elipseHeight","setElipseHeight","blureTheElement","setTableWidthAndHeight","_player","BoardTableEllipse","LogIn","overflowY","LobbyHeaderTeamName","setNewTeamName","isNewTeamNumberAllowed","setIsNewTeamNumberAllowed","switchLobbyTitle","autoFocus","onBlur","border","background","outline","textAlign","EditPen","LobbyHeaderUserProfile","newNickname","setNewNickname","isInputShown","setIsInputShown","toggleInput","substring","LobbyHeader","LobbyMain","PlayersListMolecule","Lobby","SlotMachine","MidGameWaitingRoom","gamePhase","currentProgres","StrengthsDemoPdf","selectedStrengthsDemo","styles","StyleSheet","body","paddingBottom","paddingHorizontal","backgroundColor","logoImage","strText","fontWeight","infoText","displayInRow","justifyContent","strImage","GamePdf","recievedStatistics","i18n","Font","register","family","roboto","solutionStatisticsForTheCurrentUser","solutionStatisticPerPlayer","userStatistics","myUseOfSolutionTypes","statistic","Mental","Physical","Relations","Emotional","statisticsPdfData","userName","strengths","strengthStatistic","solutions","chosenSolutionCards","myUseOfSolutionCardsByType","Joker","totalUses","statisticsGraphPosition","mentalCircleWidth","mentalCircleShift","mentalCircleShiftOposite","physicalCircleWidth","physicalCircleShift","physicalCircleShiftOposite","relationsCircleWidth","relationsCircleShift","relationsCircleShiftOposite","emotionalCircleWidth","emotionalCircleShift","emotionalCircleShiftOposite","mentalPercentage","physicalPercentage","relationsPercentage","emotionalPercentage","getSolutionImage","mentalSolutionCard","fontFamily","rotateBody","borderAround","row","rightRow","strengthTable","strengthTableRow","strengthTableRowTitleOne","alignItems","strengthTableRowTitleTwo","strengthTableRowTitleThree","strengthTableRowTitleFour","strengthTableRowTitleFive","strengthTableRowDescription","strengthTableRowDescriptionDark","solutionWrapper","solutionImage","paddgin","solutionImageSvg","solutionText","solutionDescription","solutionInfoTextWrapper","solutionInfoNotch","solutionInfoText","marginBottom","tedTalkUrl","textDecoration","tedTalkLogo","actionPart","actionText","zoomIt","decorationLine","rightDecorationLine","bodyx","rotate","diplomaImage","userFullNameWrapper","userFullName","summaryWrapper","smallFlex","flexWrap","smallSquare","circleTopLeft","circleTopRight","circleBottomLeft","circleBottomRight","bigFlex","smallCircleTopLeft","smallCircleTopRight","smallCircleBottomLeft","smallCircleBottomRight","pictureFlex","pictureSquare","pictureCircle","percentageFlex","percentageSquare","percentageText","solutionNameFlex","solutionNameSquare","solutionNameTopLeft","interestingText","actionableText","meaningfulltext","solutionNameTopRight","solutionNameBottomLeft","solutionNameBottomRight","solutionNameLineTopLeft","solutionNameLineTopRight","solutionNameLineBottomLeft","solutionNameLineBottomRight","separatorLine","orientation","diploma","trim","PdfIndexMemo","pdfType","isDownloadButton","setPdfForEmail","sendEmailWithPdf","setIsStatisticsAlreadyDownloaded","sendEmailForDemoSlot","isClient","setIsClient","buttonText","handleDownloadClick","handleDownloadStrenghtsDemoClick","fileName","loading","blob","updateTheStatisticsPDF","PdfIndex","ready","setReady","handleMidGameJoining","handlyReady","renderButton","SlotMachineDemo","SlotMachineSpinnerDemo","SlotMachineChosenCardHolderDemo","ReJoinTheGame","setUserEmail","emailHandler","alignSelf","post","cards","useStrengthCardsDemo","allStrengthCards","currentFiveStrengthCards","setCurrentFiveStrengthCards","isFirstTimeRendering","randomNumbersForStrengthCardsId","isTheSelectedNumberNew","randomNumber","oldArrayWithOneRefreshedElement","createStrengthCardListWithICardType","setNewFiveStrenghtCards","fiveRandomUniqueNumbers","r","generateRandomUniqueFiveNumbers","firstIndex","secondIndex","thirdIndex","fourthIndex","fifthIndex","fiveRandomlyGeneratedUsersFromTheBigArray","SlotMachineDemoData","SlotMachineSpinnerDemoData","SlotMachineChosenCardHolderDemoData","PostMatchSurvey","Statistics","LobbyHeaderUserProfilePicture","InitialScreen","green","pink","blue","CelebrationAvatar","PinkPlayerDanceMin","YellowPlayerDanceMin","BluePlayerDanceMin","GreenPlayerDanceMin","setAvatarColor","ChosenDilemmaFullScreen","lowerTextProp","ProposedSolutionCardsFullScreen","tippedUserEmail","tipped","solutionCardUserEmail","SolutionSelectedByDilemmaOwner","solutionCardThatDilemmaPicked","wheelFields","SEVEN","FIVE","FIFTEEN","THREE","ONE","TEN","EIGHT","FOUR","TWO","SIX","getFieldsWithValue","field","calculateAngleFromPrize","spinNumber","calculateAngleFromField","fieldsContainingPrize","chosenField","chosenFieldOrder","findIndex","WheelOfFortuneMolecule","showConfeti","setShowConfeti","setDisabled","choosenSolutionUserStyle","canvasRef","formatElement","objects","onComplete","hoverCursor","canvasCenter","getCenter","fabric","util","groupSVGElements","set","originX","originY","scaleX","scaleY","lockMovementY","lockScalingX","lockScalingY","lockRotation","hasControls","hasBorders","objectCaching","createPin","pinFullPath","pin","optionsOverride","loadSVGFromURL","add","bringForward","renderAll","createWheel","rouletteFullPath","roulette","checkBeforeCreateTheWheel","setCanvasInitialValues","localCanvas","Canvas","preserveObjectStacking","selection","dismantleTheSpinWheel","getObjects","obj","remove","discardActiveObject","spinTheSpinWheel","gameDataWithCoinToken","object","getActiveObject","animate","bind","duration","easing","ease","easeOutElastic","triggerEffects","checkShowConfetti","confTimeout","WheelHandle","StatisticsMolecule","setRecievedStatistics","pdfForEmail","headers","JSON","stringify","myTeamNumber","playerStatistics","currentUserFullName","solutionStatisticsPerPlayer","getPlayersFullNameBasedOnTheEmail","playerWithMostUpper","findUserEmailFromTheObject","PlayerImageAndUpScore","scoreboard","solutionStatistic","formData","fromEntries","DancingAvatar","place","placeOnPodium","playerSize","setPlayerSize","BluePlayerDancing","YellowPlayerDancing","GreenPlayerDancing","PinkPlayerDancing","Avatars","firstPlace","secondPlace","upper","Krown","Star","checkSecondPlayerPlace","thirdPlace","checkUpperForThirdPlayer","checkThirdPlayerPlace","UserImageAndUpScore","sortedPlayers","topTwo","topThree","getColor","TableItem","isFirstPlace","Scoreboard","StrengthStatisticsTable","simulationStrength","StrengthUsage","usagePercentage","strengthUsage","percentage","StrengthCardsStatistics","numberOfUseForEachStrength","usage","SolutionCardsStatistics","solutionStatistics","ChoosenSolutionCardsStatistics","urlForTedTalk","tedTalkLink","MysolutionCards","solutionStatisticForCircleAroundGame","pieStyle","solutionCardType","showPercentage","PostMatchSummaryMolecule","setAction","actionableInterestingMeaningful","setActionsInterestingMeaningful","disconnect","elevatorMusic","handleChange","one","two","three","cols","rows","PostMatchSurveyMolecule","mostSignificatntThing","setMostSignificatntThing","questionOne","setQuestionOne","questionTwo","setQuestionTwo","questionThree","setQuestionThree","windowLocationPathname","handleSubmit","sendSurveyDataToBack","redirectToGoodbyePage","gameEnjoy","practicalTools","recommendToFriend","Group","_x","GameWinnersPodium","listOfPlayers","sort","firstPlayer","secondPlayer","DilemmaRoundsCounter","isSolvedDilemmaPointActive","setIsSolvedDilemmaPointActive","areDotsPositionedToBottom","Tooltip","arrow","GameBoardHeader","ActivationCelebration","InitialScreenMolecule","lineDeco","uppinessLogoBlueLetters","hsaLogo","dashed","StartIntroductionOrSkip","DilemmaOwnerAnouncement","pinkAvatarHandsUp","yellowAvatarHandsUp","blueAvatarHandsUp","greenAvatarHandsUp","Tipping","isHovered","setIsHovered","usersWhoTippedMeEmails","tippingLinst","userWhoTippedMeEmail","userLikeImageVisibility","getListOfUsersWhoLikedThisPhoto","getBoxWithListOfUsersWhoLikedThisPhoto","SendEmailToUser","setValue","updatedQuestionValue","smallText","adminEmail","sendTheMessage","SideBarPlayersList","spinWheelPlayer","isGamePhaseSlotMachine","isGamePhaseQuestionCard","isItCelebrationPhase","openMessageBox","logOutOtherPlayerKickOut","refreshPlayer","playJokerInsteadOfAPlayer","getAllActivePlayers","getAllInactivePlayers","playInsteadJoinByForce","open","activePlayer","inactivePlayer","playerInWaitingRoom","logOutOtherWaitingRoomPlayerKickOut","SideOptionFacilitator","isSideOptionShown","setIsSideOptionShown","sideOptionBoxPositioning","ActionCard","CardSlot","deckOfSolutions","setDeckOfSolutions","selectedUserCardData","strengthToSolution","displayModal","CardSlotMachine","BluredBlueModal","blureBlueModalStyle","ConnectionFailedPage","doesUrlIncludeSpectator","forceRefresh","buttonLabel","passedFunction","spectator","forceSpectator","MainButton","smallButtonWidth","handleClick","clickTimeout","UploadProfileImage","profilePicture","setProfilePicture","isIconHovered","setIsIconHovered","updateThePicture","createEmptyFile","File","accept","e","imageFile","files","size","htmlFor","ReadyButton","CheerButton","buttonDisabled","soundList","randomInRange","origin","min","max","InfoButton","isButtonActive","setIsButtonActive","getInfoButtonSize","SwapButton","buttonStyle","buttonIconStyle","ArrowButton","arrowDirectionStyle","horizontal","vertical","renderArrow","placement","WheelHandleButton","MuteButton","removeButtonAfterFirstClick","setRemoveButtonAfterFirstClick","FocusButton","zIndexForFocusMode","instructionNumber","NextButton","instructions","UpperTokensBar","reanimateToken","setReanimateToken","CountdownTimer","remainingTime","setRemainingTime","startingTimeForCounterInMilliseconds","time","remainingTimeInSeconds","hours","divisorForMinutes","minutes","divisorForSeconds","seconds","ceil","zeroPad","renderTime","RegularInput","isFocused","setIsFocused","currentTarget","onKeyUp","Notification","secondRowNotificationMessage","AlertMessage","SpinWheelNotification","ArrowJumpingInStraightLine","scrollY","isScrolledToTheBotom","setIsScrolledToTheBottom","handleNavigation","statisticsContainerHeight","querySelector","heightOfElement","offsetHeight","currentScrollHeight","whiteStraightArrow","ArrowNotification","User","updateImage","getTime","imageTwo","singlePicture","ReadyCheckIcon","Loader","FirstPersonViewUserImage","isTheUserOn270DegreesDilemmaOwner","Goodbye","InitialPage","BoardPage","LogInPage","LobbyPage","SlotMachinePage","PostMatchSurveyPage","StatisticsPage","GoodbyePage","InitialRoute","playerEmails","LoginRoute","LobbyRoute","LOBBY","LOBBY_READY","BoardRoute","showButtonToRefreshAutomatically","areInGamePhasesActive","postStatisticInfo","POSTGAME","SurveyRoute","SummaryRoute","StatisticsRoute","SlotmachineRoute","isSoundPlaying","setIsSoundPlaying","kickAUserThatClosesTab","playTheSound","condition","GoodbyeRoute","useGameData","setInitialDataInfo","sendGameStateToFacilitatorSocketOn","replace","ForceRoute","isUserSelected","SpectatorRoute","currentDilemmaOwnerEmail","currentDilemmaOnwerObject","userDataMapped","spectatorEmail","companyEmail","App","changeLanguage","exact","path","component","DiplomaRoute","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","resources","en","ch","sp","fr","pt","he","use","initReactI18next","LanguageDetector","init","defaultNS","fallbackLng","ReactDOM","render"],"mappings":"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","file":"static/js/main.2fd86e94.chunk.js","sourcesContent":["export enum CardType {\r\n STRENGTH = \"StrengthCard\",\r\n QUESTION = \"Question\",\r\n ACTION = \"Action\",\r\n SOCIAL_SOLUTION = \"Relations\",\r\n PHYSICAL_SOLUTION = \"Physical\",\r\n MENTAL_SOLUTION = \"Mental\",\r\n EMOTIONAL_SOLUTION = \"Emotional\",\r\n JOKER_SOLUTION = \"Joker\",\r\n}","\r\nexport enum NotificationTypes {\r\n LEARNING = \"LEARNING\",\r\n WANTS_TO_JOIN = \"WANTS_TO_JOIN\",\r\n LOGGED_OUT = \"LOGGED_OUT\",\r\n PLAYER_LEFT = \"PLAYER_LEFT\",\r\n NETWORK_ISSUE = \"NETWORK_ISSUE\",\r\n QUESTION = \"QUESTION\"\r\n}","export interface WheelField {\r\n id: string;\r\n value: WheelValue;\r\n};\r\n\r\nexport enum WheelValue {\r\n ONE = 1,\r\n TWO = 2,\r\n THREE = 3,\r\n FOUR = 4,\r\n FIVE = 5,\r\n SIX = 6,\r\n SEVEN = 7,\r\n EIGHT = 8,\r\n NINE = 9,\r\n TEN = 10,\r\n FIFTEEN = 15\r\n}","export enum Phase {\r\n LOBBY = 0,\r\n LOBBY_READY = 1,\r\n SLOT_MACHINE = 2,\r\n CHOOSING_SOLUTION_CARDS = 3,\r\n PICK_DILEMMA = 4,\r\n QUESTION_CARD = 5,\r\n ACTION_CARD = 6,\r\n CHOOSE_SOLUTION = 7,\r\n RENDER_SPIN_WHEEL = 8,\r\n NINE = 9,\r\n POSTGAME = 10,\r\n \r\n\r\n CONFETTI_CELEBRATION = 13,\r\n SOLUTION_CHOSEN = 14,\r\n SOLUTION_CHOSEN_REWARD = 15,\r\n INTRODUCTION = 16\r\n}","import React, { FC } from \"react\";\r\n\r\nimport { SolutionCard, StrengthCard, ChallengeCards, ActionCard } from \"../../../atoms\";\r\nimport { CardType } from \"../../../../util/enums\";\r\nimport { ICard } from '../../../../interfaces';\r\n\r\ninterface CardProps {\r\n cardData: ICard;\r\n isForceHoverOn?: boolean;\r\n solutionCardsInHands?: boolean;\r\n fullScreenIsOn?: boolean;\r\n}\r\n\r\nconst FrontSide: FC = ({ cardData, isForceHoverOn, solutionCardsInHands, fullScreenIsOn }) => {\r\n\r\n const renderCardType = () => {\r\n if (!cardData) return;\r\n\r\n if (cardData.type === CardType.STRENGTH)\r\n return \r\n\r\n if (cardData.type === CardType.ACTION)\r\n return \r\n\r\n if (cardData.type === CardType.QUESTION)\r\n return \r\n\r\n return \r\n };\r\n\r\n return (\r\n \r\n {renderCardType()}\r\n \r\n );\r\n};\r\n\r\nexport default FrontSide;\r\n","export default __webpack_public_path__ + \"static/media/blueCornerCircle.2915ab8c.svg\";","export default __webpack_public_path__ + \"static/media/pinkCornerCircle.2752a9ce.svg\";","export default __webpack_public_path__ + \"static/media/greenCornerCircle.8c599264.svg\";","export default __webpack_public_path__ + \"static/media/yellowCornerCircle.f1db3952.svg\";","import { FC, ReactNode } from \"react\";\r\n\r\nimport blueCornerCircle from \"../../../assets/backgrounds/backgroundCornerCircle/blueCornerCircle.svg\";\r\nimport pinkCornerCircle from \"../../../assets/backgrounds/backgroundCornerCircle/pinkCornerCircle.svg\";\r\nimport greenCornerCircle from \"../../../assets/backgrounds/backgroundCornerCircle/greenCornerCircle.svg\";\r\nimport yellowCornerCircle from \"../../../assets/backgrounds/backgroundCornerCircle/yellowCornerCircle.svg\";\r\n\r\ninterface CornerCirclesBackgroundProps {\r\n children: ReactNode\r\n}\r\n\r\nconst CornerCirclesBackground: FC = ({ children }) => {\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \"\"\r\n \"\"\r\n \"\"\r\n \"\"\r\n
\r\n\r\n
\r\n {children}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default CornerCirclesBackground;","import React, { FC, createContext, useState } from \"react\";\r\n\r\nimport { IMessage } from \"../interfaces\";\r\n\r\ninterface IAlertBoxState {\r\n isBoxActive: boolean, \r\n pendingFunctionName: string,\r\n message: string\r\n}\r\n\r\ntype TAnnouncementStates = \r\n\"dilemmaOwnerAnouncement\" | \r\n\"renderDilemmaCard\" | \r\n\"renderTippingHeart\" |\r\n\"\";\r\n\r\ninterface IBoardContext {\r\n isSurveyShown: boolean;\r\n isStatisticsShown: boolean;\r\n isGameInPostGamePhase: boolean;\r\n isGoodbyePageShown: boolean; \r\n chatMessages: IMessage[];\r\n isSpinClicked: boolean;\r\n jokerClicked: boolean;\r\n isUserInPhaseSeven: boolean;\r\n didUserRejoinTheGame: boolean;\r\n isWheelSpinningDone: boolean;\r\n isInitialSolutionDecksModalOpen: boolean;\r\n isAvatarCheering: boolean;\r\n renderDilemmaCardsInThisPhase: boolean;\r\n renderInitialCoins: boolean;\r\n displayModalData: any;\r\n areSolutionCardsDrawnContext: boolean;\r\n isStrengthCardsComponentShown: boolean; \r\n isWinnersPodiumShown: boolean; \r\n soundVolume: number; \r\n areYouSureBoxRendered: IAlertBoxState;\r\n instructionTutorial: string;\r\n isDilemmaOwnerAnouncementDone: TAnnouncementStates;\r\n isCurrentlyPhase16: boolean;\r\n areStrengthsShownFullScreen: boolean;\r\n sendMessageToTheUser: any, \r\n showStatistics(): void;\r\n setChatMessages(chatMessages: IMessage[]): void;\r\n setIsSpinClicked(isSpinClicked: boolean): void;\r\n setJokerClicked(jokerClicked: boolean): void;\r\n setIsUserInPhaseSeven(isUserInPhaseSeven: boolean): void;\r\n setDidUserRejoinTheGame(didUserRejoinTheGame: boolean): void;\r\n setIsWheelSpinningDone(isWheelSpinningDone: boolean): void;\r\n setIsInitialSolutionDecksModalOpen(isInitialSolutionDecksModalOpen: boolean): void;\r\n setIsAvatarCheering(isAvatarCheering: boolean): void;\r\n setRenderDilemmaCardsInThisPhase(renderDilemmaCardsInThisPhase: boolean): void;\r\n setRenderInitialCoins(renderInitialCoins: boolean): void;\r\n setDisplayModalData(displayModalData: any): void;\r\n setisGameInPostGamePhase(isGameInPostGamePhase: boolean): void;\r\n setIsGoodbyePageShown(isGoodbyePageShown: boolean): void;\r\n setAreSolutionCardsDrawnContext(areSolutionCardsDrawnContext: boolean): void;\r\n setIsStrengthCardsComponentShown(isStrengthCardsComponentShown: boolean): void;\r\n setIsWinnersPodiumShown(isWinnersPodiumShown: boolean): void;\r\n setSoundVolume(soundVolume: number): void;\r\n setAreYouSureBoxRendered(areYouSureBoxRendered: IAlertBoxState): void;\r\n setInstructionTutorial(instructionTutorial: string): void;\r\n setIsDilemmaOwnerAnouncementDone(isDilemmaOwnerAnouncementDone: TAnnouncementStates): void;\r\n setIsCurrentlyPhase16(isCurrentlyPhase16: boolean): void;\r\n setAreStrengthsShownFullScreen(areStrengthsShownFullScreen: boolean): void;\r\n setIsSurveyShown(isSurveyShown: boolean): void;\r\n setSendMessageToTheUser(sendMessageToTheUser: any): void;\r\n};\r\n\r\nconst BoardContext = createContext({} as IBoardContext);\r\n\r\ninterface BoardContextProps {\r\n children: React.ReactNode;\r\n};\r\n\r\nconst BoardContextProvider: FC = (props) => {\r\n const [isSurveyShown, setIsSurveyShown] = useState(false);\r\n const [isStatisticsShown, setIsStatisticsShown] = useState(false);\r\n const [isGameInPostGamePhase, setisGameInPostGamePhase] = useState(false);\r\n const [isGoodbyePageShown, setIsGoodbyePageShown] = useState(false);\r\n const [chatMessages, setChatMessages] = useState([]);\r\n const [isSpinClicked, setIsSpinClicked] = useState(false);\r\n const [jokerClicked, setJokerClicked] = useState(false);\r\n const [isUserInPhaseSeven, setIsUserInPhaseSeven] = useState(false);\r\n const [didUserRejoinTheGame, setDidUserRejoinTheGame] = useState(false);\r\n const [isWheelSpinningDone, setIsWheelSpinningDone] = useState(false);\r\n const [isInitialSolutionDecksModalOpen, setIsInitialSolutionDecksModalOpen] = useState(false);\r\n const [isAvatarCheering, setIsAvatarCheering] = useState(false);\r\n const [renderDilemmaCardsInThisPhase, setRenderDilemmaCardsInThisPhase] = useState(true);\r\n const [renderInitialCoins, setRenderInitialCoins] = useState(false);\r\n const [displayModalData, setDisplayModalData] = useState(undefined);\r\n const [areSolutionCardsDrawnContext, setAreSolutionCardsDrawnContext] = useState(false);\r\n const [isStrengthCardsComponentShown, setIsStrengthCardsComponentShown] = useState(false);\r\n const [isWinnersPodiumShown, setIsWinnersPodiumShown] = useState(false);\r\n const [soundVolume, setSoundVolume] = useState(0.07);\r\n const [instructionTutorial, setInstructionTutorial] = useState(\"\");\r\n const [isDilemmaOwnerAnouncementDone, setIsDilemmaOwnerAnouncementDone] = useState(\"\");\r\n const [isCurrentlyPhase16, setIsCurrentlyPhase16] = useState(false);\r\n const [areStrengthsShownFullScreen, setAreStrengthsShownFullScreen] = useState(false);\r\n const [areYouSureBoxRendered, setAreYouSureBoxRendered] = useState({\r\n isBoxActive: false, \r\n pendingFunctionName: \"\",\r\n message: \"\"\r\n });\r\n const [sendMessageToTheUser, setSendMessageToTheUser] = useState({ selectedUserEmail: \"\", isMessageBoxOpen: false });\r\n\r\n const showStatistics = () => {\r\n setIsStatisticsShown(true);\r\n }\r\n\r\n const providerValue = {\r\n isSurveyShown,\r\n isStatisticsShown,\r\n isGameInPostGamePhase, \r\n isGoodbyePageShown,\r\n chatMessages,\r\n isSpinClicked,\r\n jokerClicked,\r\n isUserInPhaseSeven,\r\n didUserRejoinTheGame,\r\n isWheelSpinningDone,\r\n isInitialSolutionDecksModalOpen,\r\n isAvatarCheering,\r\n renderDilemmaCardsInThisPhase,\r\n renderInitialCoins, \r\n displayModalData, \r\n areSolutionCardsDrawnContext, \r\n isStrengthCardsComponentShown, \r\n isWinnersPodiumShown, \r\n soundVolume,\r\n areYouSureBoxRendered, \r\n instructionTutorial, \r\n isDilemmaOwnerAnouncementDone, \r\n isCurrentlyPhase16, \r\n areStrengthsShownFullScreen, \r\n sendMessageToTheUser,\r\n showStatistics,\r\n setChatMessages,\r\n setIsSpinClicked,\r\n setJokerClicked,\r\n setIsUserInPhaseSeven,\r\n setDidUserRejoinTheGame,\r\n setIsWheelSpinningDone,\r\n setIsInitialSolutionDecksModalOpen,\r\n setIsAvatarCheering,\r\n setRenderDilemmaCardsInThisPhase,\r\n setRenderInitialCoins,\r\n setDisplayModalData,\r\n setisGameInPostGamePhase,\r\n setIsGoodbyePageShown,\r\n setAreSolutionCardsDrawnContext,\r\n setIsStrengthCardsComponentShown,\r\n setIsWinnersPodiumShown,\r\n setSoundVolume,\r\n setAreYouSureBoxRendered,\r\n setInstructionTutorial,\r\n setIsDilemmaOwnerAnouncementDone,\r\n setIsCurrentlyPhase16,\r\n setAreStrengthsShownFullScreen,\r\n setIsSurveyShown,\r\n setSendMessageToTheUser\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport { BoardContext, BoardContextProvider };","import { IPlayer } from \"../../interfaces\";\r\n\r\nconst mapTeamPlayers = (players: any, playersGameInfo: any): IPlayer[] => {\r\n\r\n\tconst playersMapped: IPlayer[] = players.map((player: IPlayer) => ({\r\n\t\tcolor: player.color,\r\n\t\tfullName: player.fullName,\r\n\t\tnickname: player.nickname,\r\n\t\temail: player.email,\r\n\t\tprofileIcon: player.image,\r\n\t\tisReady: playersGameInfo[player.email].status,\r\n\t}));\r\n\r\n\treturn playersMapped;\r\n};\r\n\r\nexport default mapTeamPlayers;","const setUserInitialAngles = (game: any, userData: any) : any => {\r\n\r\n let numberOfPlayers : number = game?.players.length;\r\n let userAnglesOfTheirInitialPositions: any = {};\r\n\r\n if (numberOfPlayers === 2) {\r\n userAnglesOfTheirInitialPositions = {\r\n 0: 90,\r\n 1: 270,\r\n }\r\n }\r\n\r\n if (numberOfPlayers === 3) {\r\n userAnglesOfTheirInitialPositions = {\r\n 0: 40,\r\n 1: 140,\r\n 2: 270\r\n }\r\n }\r\n \r\n if (numberOfPlayers === 4) {\r\n userAnglesOfTheirInitialPositions = {\r\n 0: 0,\r\n 1: 90,\r\n 2: 180,\r\n 3: 270\r\n }\r\n }\r\n\r\n if (numberOfPlayers === 5) {\r\n userAnglesOfTheirInitialPositions = {\r\n 0: 0,\r\n 1: 55,\r\n 2: 125,\r\n 3: 180,\r\n 4: 270\r\n }\r\n }\r\n\r\n if (numberOfPlayers === 6) {\r\n userAnglesOfTheirInitialPositions = {\r\n 0: 0,\r\n 1: 40,\r\n 2: 90,\r\n 3: 140,\r\n 4: 180,\r\n 5: 270\r\n }\r\n }\r\n\r\n return userAnglesOfTheirInitialPositions;\r\n\r\n};\r\n\r\nexport default setUserInitialAngles;\r\n","\r\nconst setNewAnglesForEachUser = (selectedUserIndex: number, userAngles: any): any => {\r\n\r\n\tlet numberOfPlayers: number = Object.keys(userAngles).length;\r\n\tlet newUserAngles: any = {};\r\n\tlet indexOfAvatarOnThe270Position: number = 0;\r\n\r\n\tfor (let index in userAngles) {\r\n\t\tif (userAngles[index] === 270) {\r\n\t\t\tindexOfAvatarOnThe270Position = parseInt(index);\r\n\t\t}\r\n\t}\r\n\r\n\tconst updateTheIndexBasedOnTheOldOne = (oldIndex: number) => {\r\n\t\tlet updatedIndex = 0;\r\n\t\tlet gap = indexOfAvatarOnThe270Position - selectedUserIndex;\r\n\r\n\r\n\t\tif (indexOfAvatarOnThe270Position < selectedUserIndex) {\r\n\t\t\tgap = numberOfPlayers - Math.abs(selectedUserIndex - indexOfAvatarOnThe270Position);\r\n\t\t}\r\n\r\n\t\tupdatedIndex = oldIndex + gap;\r\n\r\n\t\tif (updatedIndex >= numberOfPlayers) {\r\n\t\t\tupdatedIndex = updatedIndex - numberOfPlayers;\r\n\t\t}\r\n\r\n\t\treturn updatedIndex\r\n\t}\r\n\r\n\tfor (let index in userAngles) {\r\n\t\tlet updatedIndex = updateTheIndexBasedOnTheOldOne(parseInt(index));\r\n\t\tnewUserAngles[index] = userAngles[String(updatedIndex)];\r\n\t}\r\n\r\n\treturn newUserAngles;\r\n\r\n};\r\n\r\nexport default setNewAnglesForEachUser;\r\n","import { IGame, IPlayer } from \"../../interfaces\";\r\nimport { Phase } from \"../../util/enums\";\r\n\r\nconst solutionCardsInitialVisibility = (game: IGame | undefined, userData: IPlayer | undefined) => {\r\n\r\n if (userData && game?.phase === Phase.CHOOSING_SOLUTION_CARDS && !game.gameInfo.players[userData.email]?.hasDrawnSolutionCards) {\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n\r\nexport default solutionCardsInitialVisibility;","import { IPlayer } from \"../../interfaces\";\r\n\r\nconst setPlayersInTheNewOrder = (playersOrderedInGameObject: IPlayer[] | undefined, userData: any): any => {\r\n\r\n if (!playersOrderedInGameObject)\r\n\r\n return []\r\n\r\n let theUserFromUserData: IPlayer | undefined;\r\n let playersInTheNewOrder: (IPlayer | undefined)[] = [];\r\n \r\n playersOrderedInGameObject.forEach((player: IPlayer, index: number) => {\r\n if(userData != undefined && player != undefined) {\r\n if (player.email !== userData.email) \r\n playersInTheNewOrder.push(player);\r\n\r\n if(player.email === userData.email)\r\n theUserFromUserData = player;\r\n }\r\n\r\n })\r\n\r\n playersInTheNewOrder.push(theUserFromUserData);\r\n\r\n return playersInTheNewOrder;\r\n\r\n};\r\n\r\nexport default setPlayersInTheNewOrder;","const getUrlTokenExtracted = () => {\r\n const windowLocationHref = window.location.href;\r\n const urlPathChunks = windowLocationHref.split(\"/\");\r\n return urlPathChunks[urlPathChunks.length-1];\r\n}\r\n\r\nexport default getUrlTokenExtracted;","import axios from \"axios\";\r\nimport React, { FC, createContext, useContext, useState, useEffect } from \"react\";\r\n\r\nimport { SocketContext, TeamContext } from \"../context\";\r\n\r\nimport { IAlertnotification, IPlayer } from \"../interfaces\";\r\nimport { setPlayersInTheNewOrder } from \"./helpers\";\r\n\r\ninterface IUserConext {\r\n\tuserData?: IPlayer;\r\n\tnotificationAlert?: IAlertnotification;\r\n\tactivateAlert: boolean;\r\n\temailOfSelectedPlayerBoard: any;\r\n\tmailExists: boolean;\r\n\tplayersInNewOrder: IPlayer[];\r\n\tcurrentlyInputedUserData: any;\r\n\tcreateUser(userData: IPlayer): void;\r\n\tnotificationSendEmail(userEmail: string, matchId: string, message: string): void;\r\n\tdoesEmailExist(userEmail: string): void;\r\n\tsetUserStatus(): void;\r\n\tjoinLobby(payload: any): void;\r\n\tjoinTeamLobby(payload: any): void;\r\n\tchangePlayerStatusSocketEvent(): void;\r\n\tsetNotificationAlert(notificationAlert: IAlertnotification): void;\r\n\tsetActivateAlert(activateAlert: boolean): void;\r\n\tchangeTeamNickNameSocketEmit(newTeamName: string): void;\r\n\tchangePlayerNickNameSocketEmit(newPlayerNickName: string): void;\r\n\tsetEmailOfSelectedPlayerBoard(emailOfSelectedPlayerBoard: any): void;\r\n\tsetUserDataWhenUserRejoinsTheGame(email: string): void;\r\n\tsetUserData(userData: any): void;\r\n\tsetMailExists(mailExists: boolean): void;\r\n}\r\n\r\nconst UserContext = createContext({} as IUserConext);\r\n\r\ninterface UserContextProps {\r\n\tchildren: React.ReactNode;\r\n}\r\n\r\nconst UserContextProvider: FC = (props) => {\r\n\tconst { socket } = useContext(SocketContext);\r\n\tconst { game } = useContext(TeamContext);\r\n\tconst [userData, setUserData] = useState();\r\n\tconst [notificationAlert, setNotificationAlert] = useState();\r\n\tconst [activateAlert, setActivateAlert] = useState(false);\r\n\tconst [currentlyInputedUserData, setCurrentlyInputedUserData] = useState();\r\n\tconst [emailOfSelectedPlayerBoard, setEmailOfSelectedPlayerBoard] = useState(\"\");\r\n\tconst [playersInNewOrder, setPlayersInNewOrder] = useState(setPlayersInTheNewOrder(game?.players, userData));\r\n\tconst [mailExists, setMailExists] = useState(false);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetPlayersInNewOrder(setPlayersInTheNewOrder(game?.players, userData));\r\n\t}, [game, userData]);\r\n\r\n\tconst createUser = (userData: IPlayer) => {\r\n\t\tsetUserData(userData);\r\n\t\tsetEmailOfSelectedPlayerBoard(userData.email)\r\n\t};\r\n\r\n\tconst notificationSendEmail = (userEmail: string, matchId: string, message: string) => {\r\n\t\taxios({\r\n\t\t\tmethod: \"post\",\r\n\t\t\t// url: process.env.REACT_APP_BACKEND_URL_ADMIN + \"api/notifications/send-email\",\r\n\t\t\turl: process.env.REACT_APP_ADMIN_BACKEND_URL + \"api/notifications/send-email\",\r\n\t\t\t\r\n\t\t\t// url: \"http://admin-api.uppiness.marbleit.rs/api/notifications/send-email\",\r\n\t\t\tdata:{\r\n\t\t\t\tplayerEmail: userEmail,\r\n\t\t\t\tmatchId:matchId,\r\n\t\t\t\ttext: message\r\n\t\t\t}\r\n\t\t\t})\r\n\t\t\t.then((res: any) => {\r\n\t\t\t\tconsole.log(res);\r\n\t\t\t})\r\n\t\t\t.catch((err: any) => console.error(err));\r\n\t}\r\n\r\n\tconst setUserDataWhenUserRejoinsTheGame = (email: string) => {\r\n\r\n\t\tlet user;\r\n\t\tconst player = game?.players.find((item: any) => { return item.email === email });\r\n\t\tconst lobbyPlayer = game?.inGameLobby?.find((item: any) => { return item.email === email });\r\n\t\tif(!player){\r\n\t\t\tsetUserData({\r\n\t\t\t\tcolor: lobbyPlayer?.color || \"\",\r\n\t\t\t\tfullName: lobbyPlayer?.nickname || \"\",\r\n\t\t\t\tnickname: lobbyPlayer?.nickname,\r\n\t\t\t\temail: email,\r\n\t\t\t\timage: lobbyPlayer?.image || \"\",\r\n\t\t\t\tisReady: true,\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\tsetUserData({\r\n\t\t\t\tcolor: player?.color || \"\",\r\n\t\t\t\tfullName: player?.fullName || \"\",\r\n\t\t\t\tnickname: player?.nickname,\r\n\t\t\t\temail: email,\r\n\t\t\t\timage: player?.image || \"\",\r\n\t\t\t\tisReady: true,\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\tsetEmailOfSelectedPlayerBoard(email);\r\n\t\t\r\n\t}\r\n\r\n\tconst changePlayerStatusSocketEvent = () => {\r\n\t\tsocket?.emit(\"changePlayerStatus\");\r\n\t}\r\n\r\n\tconst changeTeamNickNameSocketEmit = (newTeamName: string) => {\r\n\t\tsocket?.emit(\"changeTeamNickName\", { nickname: newTeamName });\r\n\t}\r\n\r\n\tconst changePlayerNickNameSocketEmit = (newPlayerNickName: string) => {\r\n\t\tsocket?.emit(\"changePlayerNickName\", { nickname: newPlayerNickName });\r\n\t}\r\n\r\n\tconst setUserStatus = () => {\r\n\t\tsetUserData({\r\n\t\t\t...userData!,\r\n\t\t\tisReady: !userData?.isReady,\r\n\t\t});\r\n\t};\r\n\r\n\tconst joinLobby = (payload: any) => {\r\n\t\tsocket?.emit(\"joinRoom\", payload);\r\n\t\tsetCurrentlyInputedUserData(payload);\r\n\t};\r\n\r\n\tconst joinTeamLobby = (payload: any) => {\r\n\t\tsocket?.emit(\"joinTeamRoom\", payload);\r\n\t}\r\n\r\n\r\n\tconst doesEmailExist = (userEmail: string) => {\r\n\t\taxios({\r\n\t\t\tmethod: \"get\",\r\n\t\t\turl: process.env.REACT_APP_BACKEND_URL + `api/matches/does-email-exists/${userEmail}`\r\n\t\t\t})\r\n\t\t\t.then((res: any) => {\r\n\t\t\t\tsetMailExists(res.data.isAlreadyUsed);\r\n\t\t\t})\r\n\t\t\t.catch((err: any) => console.error(err));\r\n\t}\r\n\r\n\tconst providerValue = {\r\n\t\tuserData,\r\n\t\tnotificationAlert,\r\n\t\tactivateAlert,\r\n\t\temailOfSelectedPlayerBoard,\r\n\t\tmailExists,\r\n\t\tplayersInNewOrder,\r\n\t\tcurrentlyInputedUserData,\r\n\t\tcreateUser,\r\n\t\tnotificationSendEmail,\r\n\t\tdoesEmailExist,\r\n\t\tsetUserStatus,\r\n\t\tjoinLobby,\r\n\t\tchangePlayerStatusSocketEvent,\r\n\t\tsetNotificationAlert,\r\n\t\tsetActivateAlert,\r\n\t\tsetMailExists,\r\n\t\tjoinTeamLobby,\r\n\t\tchangeTeamNickNameSocketEmit,\r\n\t\tchangePlayerNickNameSocketEmit,\r\n\t\tsetEmailOfSelectedPlayerBoard,\r\n\t\tsetUserDataWhenUserRejoinsTheGame,\r\n\t\tsetUserData\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{props.children}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport { UserContext, UserContextProvider };\r\n","import React, { FC, createContext, useState, useContext, useEffect } from \"react\";\r\n\r\nimport { TeamContext } from \"../context\";\r\nimport { setNewAnglesForEachUser, setUserInitialAngles, solutionCardsInitialVisibility } from \"./helpers\";\r\nimport { UserContext } from \"./UserContext\";\r\n\r\ninterface ITableNotification {\r\n firstLineBefore: string;\r\n firstLineOwner: string;\r\n ownerColor: string,\r\n firstLineAftar: string;\r\n secondLine: string;\r\n thirdLine: string\r\n}\r\n\r\ninterface ITableContext {\r\n \r\n areAnimatedHandsShown: boolean;\r\n isEmotionalCardVisible: boolean;\r\n isSocialCardVisible: boolean; \r\n isMentalCardVisible: boolean; \r\n isPhysicalCardVisible: boolean; \r\n userAngles: any;\r\n oldUserAngles: any;\r\n solutionCardExchanged: number;\r\n isLogoOnTheTableBlured: boolean;\r\n tableNotification: ITableNotification | undefined;\r\n theIndexOfTheUserPositionedAt270Degrees: number;\r\n areAvatarsCurentlyResting: boolean; \r\n strengthCardsAnimationDuringAvatarRotation: boolean;\r\n isUpdatingStatesDisabled: boolean; \r\n isJokerButtonHovered: boolean;\r\n isDilemmaChosen: boolean; \r\n toggleMySolutionFullScreen: boolean;\r\n didTheCurrentUserProposedSolution: boolean;\r\n setSolutionCardExchanged(solutionCardExchanged: number): void;\r\n setAreAnimatedHandsShown(areAnimatedHandsShown: boolean): void;\r\n setIsEmotionalCardVisible(isEmotionalCardVisible: boolean): void;\r\n setIsSocialCardVisible(isSocialCardVisible: boolean): void;\r\n setIsMentalCardVisible(isMentalCardVisible: boolean): void;\r\n setIsPhysicalCardVisible(isEmotionalCardVisible: boolean): void;\r\n updateUserAngles(angleOfTheSelectedAvatar: number): any;\r\n setIsLogoOnTheTableBlured(isLogoOnTheTableBlured: boolean): void;\r\n setTheIndexOfTheUserPositionedAt270Degrees(theIndexOfTheUserPositionedAt270Degrees: number): void;\r\n setTableNotification(tableNotification: ITableNotification | undefined): void;\r\n setOldUserAngles(oldUserAngles: any): void;\r\n setAreAvatarsCurentlyResting(areAvatarsCurentlyResting: boolean): void;\r\n setStrengthCardsAnimationDuringAvatarRotation(setStrengthCardsAnimationDuringAvatarRotation: boolean): void;\r\n setIsUpdatingStatesDisabled(setIsUpdatingStatesDisabled: boolean): void;\r\n setIsJokerButtonHovered(isJokerButtonHovered: boolean): void;\r\n setIsDilemmaChosen(isDilemmaChosen: boolean): void;\r\n setToggleMySolutionFullScreen(toggleMySolutionFullScreen: boolean): void;\r\n setDidTheCurrentUserProposedSolution(didTheCurrentUserProposedSolution: boolean): void;\r\n};\r\n\r\nconst TableContext = createContext({} as ITableContext);\r\n\r\ninterface TableContextProps {\r\n children: React.ReactNode;\r\n};\r\n\r\nconst TableContextProvider: FC = (props) => {\r\n const { game, numberOfPlayers } = useContext(TeamContext);\r\n const { userData } = useContext(UserContext);\r\n const [areAnimatedHandsShown, setAreAnimatedHandsShown] = useState(true);\r\n\r\n const [isEmotionalCardVisible, setIsEmotionalCardVisible] = useState(solutionCardsInitialVisibility(game, userData));\r\n const [isSocialCardVisible, setIsSocialCardVisible] = useState(solutionCardsInitialVisibility(game, userData));\r\n const [isMentalCardVisible, setIsMentalCardVisible] = useState(solutionCardsInitialVisibility(game, userData));\r\n const [isPhysicalCardVisible, setIsPhysicalCardVisible] = useState(solutionCardsInitialVisibility(game, userData));\r\n\r\n const [isUpdatingStatesDisabled, setIsUpdatingStatesDisabled] = useState(false);\r\n \r\n const [userAngles, setUserAngles] = useState(setUserInitialAngles(game, userData));\r\n const [oldUserAngles, setOldUserAngles] = useState(setUserInitialAngles(game, userData));\r\n const [isLogoOnTheTableBlured, setIsLogoOnTheTableBlured] = useState(false);\r\n const [theIndexOfTheUserPositionedAt270Degrees, setTheIndexOfTheUserPositionedAt270Degrees] = useState(numberOfPlayers - 1 | 0);\r\n const [tableNotification, setTableNotification] = useState(undefined);\r\n const [areAvatarsCurentlyResting, setAreAvatarsCurentlyResting] = useState(true);\r\n const [strengthCardsAnimationDuringAvatarRotation, setStrengthCardsAnimationDuringAvatarRotation] = useState(false);\r\n const [isJokerButtonHovered, setIsJokerButtonHovered] = useState(false);\r\n const [isDilemmaChosen, setIsDilemmaChosen] = useState(false);\r\n const [toggleMySolutionFullScreen, setToggleMySolutionFullScreen] = useState(true);\r\n const [didTheCurrentUserProposedSolution, setDidTheCurrentUserProposedSolution] = useState(false);\r\n const [solutionCardExchanged, setSolutionCardExchanged] = useState(0);\r\n\r\n useEffect(() => {\r\n setUserAngles(setUserInitialAngles(game, userData));\r\n }, [game, userData]);\r\n\r\n useEffect(() => {\r\n if(isUpdatingStatesDisabled) return;\r\n \r\n setIsEmotionalCardVisible(solutionCardsInitialVisibility(game, userData));\r\n setIsSocialCardVisible(solutionCardsInitialVisibility(game, userData));\r\n setIsMentalCardVisible(solutionCardsInitialVisibility(game, userData));\r\n setIsPhysicalCardVisible(solutionCardsInitialVisibility(game, userData));\r\n }, [game, isUpdatingStatesDisabled, userData]);\r\n\r\n const updateUserAngles = (selectedUserIndex: number): any => {\r\n setOldUserAngles(userAngles);\r\n let newUserAnglesValues = setNewAnglesForEachUser(selectedUserIndex, userAngles);\r\n setUserAngles(newUserAnglesValues);\r\n }\r\n\r\n const providerValue = {\r\n areAnimatedHandsShown,\r\n isEmotionalCardVisible,\r\n isSocialCardVisible, \r\n isMentalCardVisible, \r\n isPhysicalCardVisible, \r\n userAngles,\r\n isLogoOnTheTableBlured,\r\n theIndexOfTheUserPositionedAt270Degrees,\r\n tableNotification, \r\n oldUserAngles,\r\n areAvatarsCurentlyResting, \r\n strengthCardsAnimationDuringAvatarRotation,\r\n isUpdatingStatesDisabled, \r\n isJokerButtonHovered,\r\n solutionCardExchanged,\r\n isDilemmaChosen, \r\n toggleMySolutionFullScreen, \r\n didTheCurrentUserProposedSolution, \r\n setAreAnimatedHandsShown,\r\n setIsEmotionalCardVisible,\r\n setIsSocialCardVisible,\r\n setIsMentalCardVisible,\r\n setIsPhysicalCardVisible,\r\n updateUserAngles,\r\n setIsLogoOnTheTableBlured,\r\n setTheIndexOfTheUserPositionedAt270Degrees,\r\n setSolutionCardExchanged,\r\n setTableNotification,\r\n setOldUserAngles,\r\n setAreAvatarsCurentlyResting,\r\n setStrengthCardsAnimationDuringAvatarRotation,\r\n setIsUpdatingStatesDisabled,\r\n setIsJokerButtonHovered,\r\n setIsDilemmaChosen,\r\n setToggleMySolutionFullScreen,\r\n setDidTheCurrentUserProposedSolution\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport { TableContext, TableContextProvider };","import { createContext, useState } from 'react';\r\n\r\ninterface IFabricContext {\r\n canvas?: fabric.Canvas;\r\n activeObject?: fabric.Object;\r\n setCanvas?(initCanvas: fabric.Canvas): void;\r\n initCanvas:(newCanvas?: fabric.Canvas) => void;\r\n setActiveObject:(object: fabric.Object) => void;\r\n setCanvasToUndefined(): void;\r\n}\r\n\r\nconst FabricContext = createContext({} as IFabricContext);\r\n\r\nconst FabricContextProvider = (props: {children: JSX.Element}): JSX.Element => {\r\n const [activeObject, setActiveObject] = useState();\r\n const [canvas, setCanvas] = useState();\r\n\r\n const initCanvas = (newCanvas?: fabric.Canvas): void => { \r\n setCanvas(newCanvas);\r\n }\r\n\r\n const setCanvasToUndefined = () => {\r\n setCanvas(undefined);\r\n }\r\n\r\n const providerValue = {\r\n canvas,\r\n activeObject,\r\n initCanvas,\r\n setActiveObject,\r\n setCanvasToUndefined\r\n }\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nexport { FabricContext, FabricContextProvider};","import React, { FC, createContext, useState, useEffect } from \"react\";\r\nimport { io, Socket } from \"socket.io-client\";\r\nimport { ICard, IJoinRoomSpectator, IMessage } from \"../interfaces\";\r\nconst ENDPOINT = process.env.REACT_APP_BACKEND_URL;\r\n\r\ninterface ISocketContext {\r\n socket?: Socket;\r\n newRandomStrengthCard: any;\r\n spinNumberData: any;\r\n isSpinClicked: boolean;\r\n chatMessages: IMessage[];\r\n isProfilePictureUpdated: boolean;\r\n theSolutionCardSelectedByDilemmaOwner: any;\r\n isActionDoneButtonRevealed: boolean; \r\n nextPhaseConffeti(delay: number): void;\r\n startSpinSocketEvent(userEmail: string): void;\r\n generateRandomStrengthCardsSocketEvent(): void;\r\n callFacilitatorEmit(gameId: any): void;\r\n finishChoosingCardsSocketEvent(): void;\r\n openNewSolutionCardSocketEvent(type: string): void;\r\n changeSoultionCardSocketEvent(type: string): void;\r\n drawDilemmaCardSocketEvent(type: string): void;\r\n finishActionCardSocketEvent(): void;\r\n dropStrengthCardSocketEvent(id: number | undefined): void;\r\n tipPlayerSocketEmit(tippedPlayerEmail: string): void;\r\n saveStrengthImagesSocketEvent(id: number | undefined, image: any): void;\r\n finishIntroductionSocketEvent(): void;\r\n chooseOneOfProposedCardsSocketEvent(id: number | string | undefined, email: string, image: any): void;\r\n dilemmaOwnerPickedASolutionSocketEvent(id?: number | string | undefined): void;\r\n proposeSolutionCardSocketEvent(id: number | string | undefined, type: string): void;\r\n withdrawCardSocketEvent(): void;\r\n skipDillemaCardSocketEvent(): void;\r\n activateJokerButtonSocketEvent(): void;\r\n refreshTimerSocket(): void;\r\n revealDoneButtonSocketOn(): void;\r\n profilePicturesNeedUpdateSocketOn(): void;\r\n setAreSolutionCardsDrawn(): void;\r\n randomOneStrengthCardSocketOn(): void;\r\n finishedChoosingDilemmaCardSocketEmit(): void;\r\n solutionCardSelectedSocketOn(): void;\r\n spinNumberSocketOn(): void;\r\n setIsSpinClicked(isSpinClicked: boolean): void;\r\n chatSocketOn(): void;\r\n forceRefreshPlayer(): void;\r\n chatSocketOff(): void;\r\n setChatMessages(chatMessages: IMessage[]): void;\r\n timeParser(a: any): any;\r\n setSpinNumberData(spinNumberData: any): void;\r\n setIsProfilePictureUpdated(isProfilePictureUpdated: boolean): void;\r\n triggerConfetti(): void;\r\n playCheeringSound(sound: string): void;\r\n setTheSolutionCardSelectedByDilemmaOwner(theSolutionCardSelectedByDilemmaOwner: any): void;\r\n setIsActionDoneButtonRevealed(isActionDonebuttonRevealed: boolean): void;\r\n \r\n}\r\n\r\nconst SocketContext = createContext({} as ISocketContext);\r\n\r\ninterface SocketContextProps {\r\n children: React.ReactNode;\r\n}\r\n\r\nconst SocketContextProvider: FC = (props) => {\r\n const [socket, setSocket] = useState();\r\n const [newRandomStrengthCard, setNewRandomStrengthCard] = useState();\r\n const [isSpinClicked, setIsSpinClicked] = useState(false);\r\n const [spinNumberData, setSpinNumberData] = useState();\r\n const [chatMessages, setChatMessages] = useState([]);\r\n const [isProfilePictureUpdated, setIsProfilePictureUpdated] = useState(false);\r\n const [theSolutionCardSelectedByDilemmaOwner, setTheSolutionCardSelectedByDilemmaOwner] = useState();\r\n const [isActionDoneButtonRevealed, setIsActionDoneButtonRevealed] = useState(false);\r\n\r\n useEffect(() => {\r\n\r\n const registerAlleEvents = (socket: Socket) => {\r\n registerDisconnection(socket);\r\n };\r\n\r\n const initialiseSocket = () => {\r\n let newSocket: Socket = io(ENDPOINT || \"\");\r\n\r\n registerAlleEvents(newSocket);\r\n\r\n setSocket(newSocket);\r\n };\r\n\r\n if (!socket)\r\n initialiseSocket();\r\n }, [socket]);\r\n\r\n const registerDisconnection = (socket: Socket) => {\r\n socket.on(\"disconnect\", (result: any) => {\r\n if (result === \"transport close\" || result === \"ping timeout\") {\r\n window.location.reload();\r\n }\r\n });\r\n };\r\n\r\n const startSpinSocketEvent = (userEmail: string) => {\r\n socket?.emit(\"startSpin\", {email: userEmail});\r\n }\r\n\r\n const callFacilitatorEmit = (gameId: any) => {\r\n socket?.emit( \"callFacilitator\", {gameId: gameId})\r\n }\r\n //not used\r\n const generateRandomStrengthCardsSocketEvent = () => {\r\n socket?.emit(\"generateRandomStrengthCards\");\r\n }\r\n //not used\r\n const finishChoosingCardsSocketEvent = () => {\r\n socket?.emit(\"finishChoosingCards\");\r\n }\r\n\r\n const openNewSolutionCardSocketEvent = (type: string) => {\r\n socket?.emit(\"openNewSolutionCard\", { type: type });\r\n }\r\n\r\n const changeSoultionCardSocketEvent = (type: string) => {\r\n socket?.emit(\"changeSolutionCard\", { type })\r\n }\r\n\r\n const drawDilemmaCardSocketEvent = (type: string) => {\r\n socket?.emit(\"drawDilemmaCard\", { type: type });\r\n }\r\n\r\n const finishActionCardSocketEvent = () => {\r\n socket?.emit(\"finishActionCard\");\r\n }\r\n //not used\r\n const dropStrengthCardSocketEvent = (id: number | undefined) => {\r\n socket?.emit(\"dropStrengthCard\", { id: id })\r\n }\r\n\r\n const saveStrengthImagesSocketEvent = (id: number | undefined, image: any) => {\r\n socket?.emit(\"saveStrengthImages\", { id: id, image: image });\r\n }\r\n\r\n const finishIntroductionSocketEvent = () =>{\r\n socket?.emit(\"finishIntroduction\");\r\n }\r\n\r\n const chooseOneOfProposedCardsSocketEvent = (id: number | undefined, email: string, image: any) => {\r\n socket?.emit(\"chooseOneOfProposedCards\", { strengthId: id, email: email, image: image })\r\n }\r\n\r\n const dilemmaOwnerPickedASolutionSocketEvent = (cardId: number | undefined) => {\r\n socket?.emit(\"dilemmaOwnerPickedASolution\", {cardId: cardId});\r\n }\r\n//tag\r\n const proposeSolutionCardSocketEvent = (id: any, type: string) => {\r\n socket?.emit(\"proposeSolutionCard\", { _id: id, type: type });\r\n }\r\n\r\n const withdrawCardSocketEvent = () => {\r\n socket?.emit(\"withdrawSolutionCard\");\r\n }\r\n\r\n const skipDillemaCardSocketEvent = () => {\r\n socket?.emit(\"skipDillemaCard\");\r\n }\r\n\r\n const activateJokerButtonSocketEvent = () => {\r\n socket?.emit(\"activateJokerButton\");\r\n }\r\n\r\n const refreshTimerSocket = () => {\r\n socket?.emit(\"refreshTimer\");\r\n }\r\n\r\n const revealDoneButtonSocketOn = () => {\r\n socket?.on(\"revealDoneButton\", data => {\r\n if (!isActionDoneButtonRevealed) \r\n setIsActionDoneButtonRevealed(true);\r\n }) \r\n }\r\n\r\n const profilePicturesNeedUpdateSocketOn = () => {\r\n socket?.on(\"profilePicturesNeedUpdate\", (data: any) => {\r\n setIsProfilePictureUpdated(!isProfilePictureUpdated);\r\n })\r\n }\r\n\r\n const setAreSolutionCardsDrawn = () => {\r\n socket?.emit(\"setAreSolutionCardsDrawn\", { areSolutionCardsDrawn: true });\r\n }\r\n\r\n const randomOneStrengthCardSocketOn = () => {\r\n socket?.on(\"randomOneStrengthCard\", data => {\r\n setNewRandomStrengthCard (data);\r\n });\r\n }\r\n\r\n const finishedChoosingDilemmaCardSocketEmit = () => {\r\n socket?.emit(\"finishedChoosingDilemmaCard\");\r\n }\r\n\r\n const solutionCardSelectedSocketOn = () => {\r\n socket?.on(\"solutionCardSelected\", data => {\r\n setTheSolutionCardSelectedByDilemmaOwner(data);\r\n console.log(\"data number one:\", data);\r\n })\r\n }\r\n\r\n const tipPlayerSocketEmit = (tippedPlayerEmail: string) => {\r\n socket?.emit(\"tipPlayer\", {tippedPlayerEmail: tippedPlayerEmail});\r\n }\r\n\r\n const spinNumberSocketOn = () => {\r\n socket?.on(\"spinNumber\", data => {\r\n setTimeout(() => {\r\n setIsSpinClicked(true);\r\n }, 5000);\r\n setSpinNumberData(data);\r\n });\r\n\r\n return () => {\r\n socket?.off(\"spinNumber\");\r\n }\r\n }\r\n\r\n const chatSocketOn = () => {\r\n if (socket?.hasListeners(\"chat\"))\r\n return;\r\n\r\n socket?.on(\"chat\", (data: any) => { \r\n const recievedDate = new Date(data.date);\r\n const formatedDate =\r\n timeParser(recievedDate.getHours()) + \":\" + timeParser(recievedDate.getMinutes());\r\n\r\n const recievedData: IMessage = {\r\n date: formatedDate,\r\n name: data.nickname || \"\",\r\n message: data.message,\r\n email: data.email,\r\n float: \"floatLeft\",\r\n };\r\n setChatMessages([...chatMessages, recievedData]);\r\n });\r\n }\r\n\r\n const forceRefreshPlayer = () => {\r\n if (socket?.hasListeners(\"forceRefresh\"))\r\n return;\r\n \r\n socket?.on(\"forceRefresh\", (data: any) => {\r\n if( data?.email == localStorage[\"userEmailInCaseHeLogsOut\"]){\r\n window.location.reload();\r\n }\r\n if (data?.email == \"all\") {\r\n window.location.reload();\r\n }\r\n });\r\n }\r\n\r\n const chatSocketOff = () => {\r\n socket?.off(\"chat\");\r\n }\r\n\r\n const timeParser = (a: any) => {\r\n if (a.toString().length < 2) return \"0\" + a;\r\n return a;\r\n }\r\n\r\n const nextPhaseConffeti = (delay: number) => {\r\n socket?.emit(\"nextPhase\", { delay });\r\n }\r\n\r\n const triggerConfetti = () => {\r\n socket?.emit(\"celebrate\");\r\n }\r\n\r\n const playCheeringSound = (sound: string) => {\r\n socket?.emit(\"playSound\", sound);\r\n }\r\n\r\n const providerValue = {\r\n socket,\r\n newRandomStrengthCard,\r\n spinNumberData,\r\n isSpinClicked,\r\n chatMessages,\r\n isProfilePictureUpdated,\r\n theSolutionCardSelectedByDilemmaOwner, \r\n isActionDoneButtonRevealed, \r\n playCheeringSound,\r\n startSpinSocketEvent,\r\n generateRandomStrengthCardsSocketEvent,\r\n callFacilitatorEmit,\r\n finishChoosingCardsSocketEvent,\r\n openNewSolutionCardSocketEvent,\r\n changeSoultionCardSocketEvent,\r\n drawDilemmaCardSocketEvent,\r\n finishActionCardSocketEvent,\r\n nextPhaseConffeti,\r\n dropStrengthCardSocketEvent,\r\n saveStrengthImagesSocketEvent,\r\n chooseOneOfProposedCardsSocketEvent,\r\n finishIntroductionSocketEvent,\r\n dilemmaOwnerPickedASolutionSocketEvent,\r\n proposeSolutionCardSocketEvent,\r\n withdrawCardSocketEvent,\r\n skipDillemaCardSocketEvent,\r\n activateJokerButtonSocketEvent,\r\n refreshTimerSocket,\r\n revealDoneButtonSocketOn,\r\n profilePicturesNeedUpdateSocketOn,\r\n setAreSolutionCardsDrawn,\r\n randomOneStrengthCardSocketOn,\r\n finishedChoosingDilemmaCardSocketEmit,\r\n solutionCardSelectedSocketOn,\r\n tipPlayerSocketEmit,\r\n spinNumberSocketOn,\r\n setIsSpinClicked,\r\n chatSocketOn,\r\n forceRefreshPlayer,\r\n chatSocketOff,\r\n setChatMessages,\r\n timeParser,\r\n setSpinNumberData,\r\n setIsProfilePictureUpdated,\r\n triggerConfetti,\r\n setTheSolutionCardSelectedByDilemmaOwner,\r\n setIsActionDoneButtonRevealed\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport { SocketContext, SocketContextProvider };\r\n","const mapLanguage = (language: any) => {\r\n switch(language) {\r\n case \"English\": return \"en\";\r\n case \"Chinese\": return \"ch\";\r\n case \"Spanish\": return \"sp\";\r\n case \"French\": return \"fr\";\r\n case \"Portuguese\": return \"pt\";\r\n case \"Hebrew\": return \"he\";\r\n default: return \"en\";\r\n }\r\n}\r\n\r\nexport default mapLanguage;","import React, { FC, createContext, useState, useContext, useCallback, useEffect } from \"react\";\r\n\r\nimport { IPlayer, IGame } from \"../interfaces\";\r\nimport { SocketContext } from \"./SocketContext\";\r\nimport { mapTeamPlayers } from \"./helpers\";\r\nimport axios from \"axios\";\r\nimport mapLanguage from \"../util/helpers/mapLanguage\";\r\n\r\ninterface ITeamContext {\r\n teamNumber?: string;\r\n players: IPlayer[];\r\n game?: IGame;\r\n activateAction: boolean;\r\n isTheButtonClickedToJoinTheGame: boolean, \r\n allTeamNames: any; \r\n numberOfPlayers: number,\r\n selectedLanguage: string;\r\n enterTheTeam(teamNumber: string): void;\r\n joinLobby(payload: any): void;\r\n roomUsers(): void;\r\n setGameState(data: any): void;\r\n sendMessage(insertedMessage: any): void;\r\n setActivateAction(activateAction: boolean): void;\r\n setIsTheButtonClickedToJoinTheGame(isTheButtonClickedToJoinTheGame: boolean): void;\r\n setAllTeamNames(allTeamNames: any): void;\r\n urlToken: string | undefined; \r\n setUrlToken(urlToken: string | undefined): void;\r\n gameId: string | undefined; \r\n setGameId(gameId: string | undefined): void;\r\n isLoaderHidden: boolean;\r\n setisLoaderHidden(isLoaderHidden: boolean): void;\r\n gameCount: number;\r\n setGameCount(gameCount: number): void;\r\n reConnectToServer(): void;\r\n getGameLanguage(): void;\r\n userDataHelper: IPlayer | undefined;\r\n setSelectedLanguage(selectedLanguage: string): void;\r\n}\r\n\r\nconst TeamContext = createContext({} as ITeamContext);\r\n\r\nlet isGamePhaseIsNine = false;\r\nlet markAction = 0;\r\n\r\ninterface TeamContextProps {\r\n children: React.ReactNode;\r\n}\r\n\r\nconst TeamContextProvider: FC = (props) => {\r\n const { socket } = useContext(SocketContext);\r\n const windowLocationHref = window.location.href;\r\n const urlPathChunks = windowLocationHref.split(\"/\");\r\n const urlTokenExtracted = urlPathChunks[urlPathChunks.length-1];\r\n\r\n \r\n const [game, setGame] = useState();\r\n const [teamNumber, setTeamNumber] = useState(urlTokenExtracted);\r\n const [players, setPlayers] = useState([]);\r\n const [activateAction, setActivateAction] = useState(false);\r\n const [isTheButtonClickedToJoinTheGame, setIsTheButtonClickedToJoinTheGame] = useState(false);\r\n const [allTeamNames, setAllTeamNames] = useState();\r\n const [urlToken, setUrlToken] = useState();\r\n const [gameId, setGameId] = useState();\r\n const [isLoaderHidden, setisLoaderHidden] = useState(true);\r\n const [gameCount, setGameCount] = useState(0);\r\n const numberOfPlayers: number = game?.players.length || 0;\r\n const [userDataHelper, setUserDataHelper] = useState();\r\n const [selectedLanguage, setSelectedLanguage] = useState(\"en\");\r\n\r\n useEffect(() => {\r\n if(game){\r\n const numberOfPlayers = game?.players.length || 0;\r\n setGameId(game.matchId)\r\n game?.players.forEach( (item: any, index: number) => {\r\n localStorage.setItem(`userEmail${index}`, item.email);\r\n })\r\n localStorage.setItem(`numberOfPlayers`, numberOfPlayers.toString());\r\n }\r\n }, [game])\r\n \r\n const sendMessage = (insertedMessage: any) => {\r\n socket?.emit(\"sendMessage\", insertedMessage);\r\n };\r\n\r\n const joinLobby = (payload: any) => {\r\n socket?.emit(\"joinRoom\", payload);\r\n };\r\n\r\n const enterTheTeam = (teamNumber: string) => {\r\n setTeamNumber(teamNumber);\r\n };\r\n\r\n const roomUsers = useCallback(() => {\r\n console.log(\"roomUsers method\");\r\n \r\n socket?.on(\"roomUsers\", (data: any) => {\r\n console.log(\"inside of the socket roomUsers\");\r\n console.log(\"data: \", data);\r\n\r\n if (!data) return;\r\n \r\n let dataId = data.id;\r\n var indexOfSlashCharacter = dataId.indexOf(\"/\");\r\n let teamNumberFromTheLink = dataId.slice(indexOfSlashCharacter+1, dataId.length);\r\n \r\n enterTheTeam(teamNumberFromTheLink);\r\n\r\n if(data?.phase===9){\r\n isGamePhaseIsNine=true;\r\n }\r\n\r\n if(data?.phase === 3 && markAction === 5){\r\n setActivateAction(true);\r\n }\r\n\r\n markAction = data?.phase;\r\n\r\n setGame(data);\r\n setPlayers(mapTeamPlayers(data?.players, data?.gameInfo?.players));\r\n });\r\n\r\n socket?.on(\"disconnect\", () => {\r\n setGame(undefined);\r\n setPlayers([]);\r\n });\r\n }, [socket]);\r\n\r\n const getGameLanguage = () => {\r\n axios({\r\n method: \"get\",\r\n url: process.env.REACT_APP_ADMIN_BACKEND_URL + `api/preactive-matches/get-language/${urlTokenExtracted}`,\r\n })\r\n .then((res: any) => {\r\n const gameLanguage = res.data.language;\r\n setSelectedLanguage(mapLanguage(gameLanguage));\r\n })\r\n .catch((err: any) => console.error(err));\r\n }\r\n\r\n const reConnectToServer = () => {\r\n const windowLocationHref = window.location.href;\r\n const urlPathChunks = windowLocationHref.split(\"/\");\r\n const urlTokenExtracted = urlPathChunks[urlPathChunks.length-1];\r\n\r\n axios({\r\n method: \"get\",\r\n url: process.env.REACT_APP_BACKEND_URL + `api/matches/get-game-object/${urlTokenExtracted}`,\r\n })\r\n .then((res: any) => {\r\n if (res?.data?.game)\r\n setGame(res.data.game);\r\n mapUserDataHelper(res.data.game); \r\n })\r\n .catch((err: any) => console.error(err));\r\n }\r\n\r\n const mapUserDataHelper = (gameObject: IGame) => {\r\n const currentPlayerEmailFromLocalStorage: string = localStorage.getItem(\"userEmailInCaseHeLogsOut\") || \"\"\r\n const currentPlayer = gameObject?.players?.find((player: any) => { return player.email === currentPlayerEmailFromLocalStorage});\r\n setUserDataHelper({\r\n\t\t\tcolor: currentPlayer?.color || \"\",\r\n\t\t\tfullName: currentPlayer?.fullName || \"\",\r\n\t\t\tnickname: currentPlayer?.nickname,\r\n\t\t\temail: currentPlayerEmailFromLocalStorage,\r\n\t\t\timage: currentPlayer?.image || \"\",\r\n\t\t\tisReady: true,\r\n\t\t})\r\n }\r\n\r\n const setGameState = (data: IGame) => {\r\n if(!isGamePhaseIsNine) setGame(data);\r\n }\r\n\r\n const providerValue = {\r\n teamNumber,\r\n game,\r\n players,\r\n enterTheTeam,\r\n joinLobby,\r\n setGameState,\r\n roomUsers,\r\n sendMessage,\r\n setActivateAction,\r\n activateAction,\r\n isTheButtonClickedToJoinTheGame,\r\n numberOfPlayers, \r\n setIsTheButtonClickedToJoinTheGame,\r\n allTeamNames, \r\n setAllTeamNames,\r\n urlToken, \r\n setUrlToken,\r\n gameId, \r\n setGameId,\r\n isLoaderHidden, \r\n setisLoaderHidden,\r\n gameCount, \r\n setGameCount,\r\n getGameLanguage,\r\n reConnectToServer,\r\n userDataHelper,\r\n selectedLanguage,\r\n setSelectedLanguage\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport { TeamContext, TeamContextProvider };\r\n","import React, { FC, createContext, useState } from \"react\";\r\n\r\ninterface IPhaseContext {\r\n renderChosenSolutionToQuestion: boolean,\r\n dilemmaOwnerCoinCelebration: boolean,\r\n renderWheelOfFortune: boolean,\r\n setRenderChosenSolutionToQuestion(renderChosenSolutionToQuestion: boolean): void;\r\n setRenderDilemmaOwnerCoinCelebration(dilemmaOwnerCoinCelebration: boolean): void;\r\n setRenderWheelOfFortune(renderWheelOfFortune: boolean): void;\r\n}\r\n\r\nconst PhaseContext = createContext({} as IPhaseContext);\r\n\r\ninterface PhaseContextProps {\r\n children: React.ReactNode;\r\n}\r\n\r\nconst PhaseContextProvider: FC = (props) => {\r\n const [renderChosenSolutionToQuestion, setRenderChosenSolutionToQuestion] = useState(false);\r\n const [dilemmaOwnerCoinCelebration, setRenderDilemmaOwnerCoinCelebration] = useState(false);\r\n const [renderWheelOfFortune, setRenderWheelOfFortune] = useState(false);\r\n\r\n const providerValue = {\r\n renderChosenSolutionToQuestion,\r\n dilemmaOwnerCoinCelebration,\r\n\r\n renderWheelOfFortune,\r\n setRenderChosenSolutionToQuestion,\r\n setRenderDilemmaOwnerCoinCelebration,\r\n setRenderWheelOfFortune\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport { PhaseContext, PhaseContextProvider };\r\n","import React, { FC, createContext, useState, useContext } from \"react\";\r\n\r\nimport { TeamContext } from \"../context\";\r\n\r\nimport { ICard } from \"../interfaces\";\r\nimport { Phase } from \"../util/enums\";\r\n\r\ninterface ICardContext {\r\n solutionCards: ICard[] | [];\r\n draggableCard?: ICard;\r\n isDragging: boolean,\r\n isStrengthCardCurrentlyDragged: boolean;\r\n currentSolutionCardWidth: number,\r\n currentlyChoosenCard: any;\r\n solutionCardThatNeedsToFlip: any;\r\n currentlyHoveredStrengthCard: ICard | undefined,\r\n isStrengthCardHoveredWhileSolutionIsDragged: ICard | undefined, \r\n isExchangeButtonOnActionHovered: boolean, \r\n dataOfDoubleClickedSolutionCard: any | undefined, \r\n threeActions: any, \r\n drawSolutionCard(card: ICard): void;\r\n setDraggableCard(card?: ICard): void;\r\n setIsDragging(state: boolean): void;\r\n setIsStrengthCardCurrentlyDragged(isStrengthCardCurrentlyDragged: boolean): void;\r\n setCurrentSolutionCardWidth(currentSolutionCardWidth: number): void;\r\n setCurrentlyChoosenCard(currentlyChoosenCard: any): void;\r\n flipSolutionCardBySelectedType(solutionCardTypeThatNeedsToFlip: string): void;\r\n setCurrentlyHoveredStrengthCard(currentlyHoveredStrengthCard: ICard | undefined): void;\r\n setIsStrengthCardHoveredWhileSolutionIsDragged(isStrengthCardHoveredWhileSolutionIsDragged: ICard | undefined): void;\r\n setIsExchangeButtonOnActionHovered(isExchangeButtonOnActionHovered: boolean): void;\r\n setDataOfDoubleClickedSolutionCard(dataOfDoubleClickedSolutionCard: any | undefined): void;\r\n setThreeActions(threeActions: any): void;\r\n}\r\n\r\nconst CardContext = createContext({} as ICardContext);\r\n\r\ninterface CardContextProps {\r\n children: React.ReactNode;\r\n}\r\n\r\nconst CardContextProvider: FC = (props) => {\r\n const { game } = useContext(TeamContext);\r\n\r\n const [solutionCards, setSolutionCards] = useState([]);\r\n const [draggableCard, setDraggableCard] = useState();\r\n const [isDragging, setIsDragging] = useState(false);\r\n const [isStrengthCardCurrentlyDragged, setIsStrengthCardCurrentlyDragged] = useState(false);\r\n const [currentSolutionCardWidth, setCurrentSolutionCardWidth] = useState(0);\r\n const [currentlyChoosenCard, setCurrentlyChoosenCard] = useState();\r\n const [solutionCardThatNeedsToFlip, setSolutionCardThatNeedsToFlip] = useState({\r\n emotional: false,\r\n social: false,\r\n mental: false,\r\n physical: false\r\n });\r\n const [currentlyHoveredStrengthCard, setCurrentlyHoveredStrengthCard] = useState();\r\n const [isStrengthCardHoveredWhileSolutionIsDragged, setIsStrengthCardHoveredWhileSolutionIsDragged] = useState(undefined);\r\n const [isExchangeButtonOnActionHovered, setIsExchangeButtonOnActionHovered] = useState(false);\r\n const [dataOfDoubleClickedSolutionCard, setDataOfDoubleClickedSolutionCard] = useState(undefined);\r\n const [threeActions, setThreeActions] = useState({\r\n first: \"\",\r\n second: \"\",\r\n third: \"\"\r\n });\r\n\r\n const drawSolutionCard = (card: ICard) => {\r\n setSolutionCards([...solutionCards, card]);\r\n };\r\n\r\n const flipSolutionCardBySelectedType = (solutionCardTypeThatNeedsToFlip: string) => {\r\n if (game?.phase === Phase.QUESTION_CARD) {\r\n switch (solutionCardTypeThatNeedsToFlip) {\r\n case \"emotional\": {\r\n setTimeout(() => {\r\n setSolutionCardThatNeedsToFlip({ ...solutionCardThatNeedsToFlip, emotional: false });\r\n }, 10);\r\n setSolutionCardThatNeedsToFlip({ ...solutionCardThatNeedsToFlip, emotional: true });\r\n return;\r\n }\r\n case \"social\": {\r\n setTimeout(() => {\r\n setSolutionCardThatNeedsToFlip({ ...solutionCardThatNeedsToFlip, social: false });\r\n }, 10);\r\n setSolutionCardThatNeedsToFlip({ ...solutionCardThatNeedsToFlip, social: true });\r\n return;\r\n }\r\n case \"mental\": {\r\n setTimeout(() => {\r\n setSolutionCardThatNeedsToFlip({ ...solutionCardThatNeedsToFlip, mental: false });\r\n }, 10);\r\n setSolutionCardThatNeedsToFlip({ ...solutionCardThatNeedsToFlip, mental: true });\r\n return;\r\n }\r\n case \"physical\": {\r\n setTimeout(() => {\r\n setSolutionCardThatNeedsToFlip({ ...solutionCardThatNeedsToFlip, physical: false });\r\n }, 10);\r\n setSolutionCardThatNeedsToFlip({ ...solutionCardThatNeedsToFlip, physical: true });\r\n return;\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n const providerValue = {\r\n solutionCards,\r\n draggableCard,\r\n isDragging,\r\n isStrengthCardCurrentlyDragged,\r\n currentSolutionCardWidth,\r\n currentlyChoosenCard,\r\n solutionCardThatNeedsToFlip,\r\n currentlyHoveredStrengthCard,\r\n isStrengthCardHoveredWhileSolutionIsDragged, \r\n isExchangeButtonOnActionHovered, \r\n dataOfDoubleClickedSolutionCard, \r\n threeActions, \r\n drawSolutionCard,\r\n setDraggableCard,\r\n setIsDragging,\r\n setIsStrengthCardCurrentlyDragged,\r\n setCurrentSolutionCardWidth,\r\n setCurrentlyChoosenCard,\r\n flipSolutionCardBySelectedType,\r\n setCurrentlyHoveredStrengthCard,\r\n setIsStrengthCardHoveredWhileSolutionIsDragged,\r\n setIsExchangeButtonOnActionHovered,\r\n setDataOfDoubleClickedSolutionCard,\r\n setThreeActions\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nexport { CardContext, CardContextProvider };","import React, { FC, createContext, useState, useRef } from \"react\";\r\nimport { ICard, IVerticalCardsIdandIndex } from \"../interfaces\";\r\n\r\ninterface IAddStrengthCardDemo {\r\n id: number | string, \r\n description: string;\r\n}\r\ninterface ISlotMachineContext {\r\n confirmSelectionDisabled: boolean;\r\n isConfirmSelectionClicked: boolean; \r\n showIt: boolean;\r\n allStrengthCardsIdsState: any;\r\n lastDroppedCard: ICard | undefined;\r\n verticalCardIndexOfSelectedRow: any;\r\n verticalCardIdsAndTheirIndexes: IVerticalCardsIdandIndex[] | undefined;\r\n isIntroModalInSlotMachineOpen: boolean, \r\n generateFiveNewStrengthCardsManually: boolean, \r\n addStrengthCardDemo: IAddStrengthCardDemo, \r\n deleteStrengthCardDemoById: number, \r\n chosenStrengthCardsDemo: string[], \r\n animateWhiteShaddowGlowingCards: boolean, \r\n waitForTheOthersModal: boolean, \r\n isConfirmButtonTipShown: boolean,\r\n showMidGameWaitingWindow: boolean, \r\n setVerticalCardIdsAndTheirIndexes(verticalCardIdsAndTheirIndexes: any): void;\r\n setLastDroppedCard(lastDroppedCard: ICard | undefined): void;\r\n setShowIt(showIt: boolean): void;\r\n setIsConfirmSelectionClicked(isConfirmSelectionClicked: boolean): void;\r\n setConfirmSelectionDisabled(confirmSelectionDisabled: boolean): void;\r\n setIsIntroModalInSlotMachineOpen(isIntroModalInSlotMachineOpen: boolean): void;\r\n setGenerateFiveNewStrengthCardsManually(generateFiveNewStrengthCardsManually: boolean): void;\r\n setAddStrengthCardDemo(addStrengthCardDemo: IAddStrengthCardDemo): void;\r\n setDeleteStrengthCardDemoById(deleteStrengthCardDemoById: number): void;\r\n setChosenStrengthCardsDemo(chosenStrengthCardsDemo: string[]): void;\r\n setAnimateWhiteShaddowGlowingCards(animateWhiteShaddowGlowingCards: boolean): void;\r\n setWaitForTheOthersModal(waitForTheOthersModal: boolean): void;\r\n setIsConfirmButtonTipShown(isConfirmButtonTipShown: boolean): void;\r\n setShowMidGameWaitingWindow(showMidGameWaitingWindow: boolean): void;\r\n}\r\n\r\nconst SlotMachineContext = createContext({} as ISlotMachineContext);\r\ninterface SlotMachineContextProps {\r\n children: React.ReactNode;\r\n}\r\n\r\nconst SlotMachineContextProvider: FC = (props) => {\r\n const [confirmSelectionDisabled, setConfirmSelectionDisabled] = useState(true);\r\n const [isConfirmSelectionClicked, setIsConfirmSelectionClicked] = useState(false);\r\n const [showIt, setShowIt] = useState(false);\r\n const [lastDroppedCard, setLastDroppedCard] = useState();\r\n const [verticalCardIdsAndTheirIndexes, setVerticalCardIdsAndTheirIndexes] = useState([]);\r\n const [isIntroModalInSlotMachineOpen, setIsIntroModalInSlotMachineOpen] = useState(true);\r\n const [generateFiveNewStrengthCardsManually, setGenerateFiveNewStrengthCardsManually] = useState(true);\r\n const [addStrengthCardDemo, setAddStrengthCardDemo] = useState({id: 0, description: \"\"});\r\n const [deleteStrengthCardDemoById, setDeleteStrengthCardDemoById] = useState(1111);\r\n const [chosenStrengthCardsDemo, setChosenStrengthCardsDemo] = useState([\"first\", \"second\", \"third\", \"fourth\", \"fifth\"]);\r\n const [animateWhiteShaddowGlowingCards, setAnimateWhiteShaddowGlowingCards] = useState(false);\r\n const [waitForTheOthersModal, setWaitForTheOthersModal] = useState(false);\r\n const [isConfirmButtonTipShown, setIsConfirmButtonTipShown] = useState(true);\r\n const [showMidGameWaitingWindow, setShowMidGameWaitingWindow] = useState(false);\r\n \r\n\r\n const allStrengthCardsIdsState = useRef([])\r\n const verticalCardIndexOfSelectedRow = useRef();\r\n\r\n const providerValue = {\r\n confirmSelectionDisabled, \r\n isConfirmSelectionClicked, \r\n showIt, \r\n lastDroppedCard, \r\n verticalCardIdsAndTheirIndexes, \r\n allStrengthCardsIdsState,\r\n verticalCardIndexOfSelectedRow,\r\n isIntroModalInSlotMachineOpen, \r\n generateFiveNewStrengthCardsManually, \r\n addStrengthCardDemo, \r\n deleteStrengthCardDemoById, \r\n chosenStrengthCardsDemo, \r\n animateWhiteShaddowGlowingCards, \r\n waitForTheOthersModal, \r\n isConfirmButtonTipShown, \r\n showMidGameWaitingWindow, \r\n setVerticalCardIdsAndTheirIndexes,\r\n setLastDroppedCard,\r\n setShowIt,\r\n setIsConfirmSelectionClicked,\r\n setConfirmSelectionDisabled,\r\n setIsIntroModalInSlotMachineOpen,\r\n setGenerateFiveNewStrengthCardsManually,\r\n setAddStrengthCardDemo,\r\n setDeleteStrengthCardDemoById,\r\n setChosenStrengthCardsDemo,\r\n setAnimateWhiteShaddowGlowingCards,\r\n setWaitForTheOthersModal,\r\n setIsConfirmButtonTipShown,\r\n setShowMidGameWaitingWindow\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport { SlotMachineContext, SlotMachineContextProvider };\r\n","import React, { FC } from \"react\";\r\n\r\nimport { TeamContextProvider } from \"./TeamContext\";\r\nimport { UserContextProvider } from \"./UserContext\";\r\nimport { FabricContextProvider } from \"./FabricContext\";\r\nimport { BoardContextProvider } from \"./BoardContext\";\r\nimport { TableContextProvider } from \"./TableContext\";\r\nimport { SocketContextProvider } from \"./SocketContext\";\r\nimport { PhaseContextProvider } from \"./PhaseContext\";\r\nimport { CardContextProvider } from \"./CardContext\";\r\nimport { SlotMachineContextProvider } from \"./SlotMachineContext\";\r\n\r\n\r\ninterface GlobalContextProps {\r\n children: React.ReactNode;\r\n}\r\n\r\nconst GlobalContextProvider: FC = (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.children}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default GlobalContextProvider;\r\n","import { useEffect, useCallback, useRef, useContext } from 'react';\r\nimport { BoardContext } from '../context';\r\n\r\nconst useSound = () => {\r\n const { soundVolume } = useContext(BoardContext);\r\n const audio = useRef(new Audio());\r\n \r\n const playSound = useCallback((url: string) => {\r\n const audioUrl = process.env.REACT_APP_BACKEND_URL?.concat(url);\r\n audio.current = new Audio(audioUrl);\r\n audio.current.volume =soundVolume; // only music in phase 3.\r\n audio.current.play();\r\n }, [soundVolume]);\r\n\r\n const stopSound = useCallback(() => {\r\n audio.current.pause();\r\n }, []);\r\n\r\n useEffect(() => {\r\n audio.current.addEventListener('ended', stopSound);\r\n \r\n return () => { \r\n audio.current.removeEventListener('ended', stopSound);\r\n };\r\n }, [stopSound]);\r\n\r\n audio.current.volume = soundVolume; // slot machine, I find 0.05 pretty plesant, and find to hear on computer's max volume during the game, hovering cards, clicking on cards, wheel of fortune, selecting solution card from the table, yuppy \r\n \r\n return {playSound, stopSound};\r\n }\r\n\r\n export default useSound;","import { useState, useEffect } from 'react';\r\n\r\nfunction getWindowDimensions() {\r\n const { innerWidth: width, innerHeight: height } = window;\r\n return {\r\n width,\r\n height\r\n };\r\n}\r\n\r\nexport default function useWindowDimensions() {\r\n const [windowDimensions, setWindowDimensions] = useState(getWindowDimensions());\r\n\r\n useEffect(() => {\r\n function handleResize() {\r\n setWindowDimensions(getWindowDimensions());\r\n }\r\n\r\n window.addEventListener('resize', handleResize);\r\n\r\n return () => window.removeEventListener('resize', handleResize);\r\n }, []);\r\n\r\n return windowDimensions;\r\n}\r\n","export default \"data:image/png;base64,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\"","import { Dispatch, SetStateAction, useCallback, useContext, useEffect, useState } from \"react\";\r\nimport { TeamContext, UserContext } from \"../context/index\";\r\n\r\nimport placeholder from \"../assets/icons/placeholder.png\";\r\nimport { IPlayer } from \"../interfaces\";\r\n\r\ninterface IUserData { \r\n teamNumber: any; \r\n email: any; \r\n fullName: any; \r\n nickname: string;\r\n profileIcon: any; \r\n color: string; \r\n isReady: boolean; \r\n}\r\n\r\nconst useCreateUser = () : [ IUserData, Dispatch>, string | undefined, (name: string) => void] => {\r\n const { setAllTeamNames, enterTheTeam } = useContext(TeamContext);\r\n const { currentlyInputedUserData } = useContext(UserContext);\r\n const { game, gameCount } = useContext(TeamContext);\r\n\r\n let randomGeneratedTwoLetters = Math.random().toString(36).substr(10);\r\n let arrayOfRandomNames = [\"Liam\", \"Noah\", \"Oliver\", \"William\", \"Elijah\", \"James\", \"Benjamin\", \"Lucas\", \"Maria\", \"Victoria\"];\r\n let randomNumber = Math.floor(Math.random() * 10);\r\n\r\n const isThereUserColor: any = game?.players?.find( (player: IPlayer) => {return player?.email === currentlyInputedUserData?.email})?.color;\r\n const userColor: string = isThereUserColor ? isThereUserColor : \"pink\";\r\n\r\n const [team, setTeam] = useState();\r\n\r\n const [loginData, setLoginData] = useState({\r\n teamNumber: currentlyInputedUserData ? currentlyInputedUserData.gameId : 0,\r\n email: currentlyInputedUserData ? currentlyInputedUserData.player.email : \"\",\r\n fullName: currentlyInputedUserData ? currentlyInputedUserData.player.name : \"\",\r\n nickname: currentlyInputedUserData ? currentlyInputedUserData.player.nickname : \"\",\r\n profileIcon: currentlyInputedUserData ? currentlyInputedUserData.player.image : placeholder,\r\n color: userColor,\r\n isReady: false,\r\n });\r\n\r\n const windowLocationHref = window.location.href;\r\n const urlPathChunks = windowLocationHref.split(\"/\");\r\n const urlTokenExtracted = urlPathChunks[urlPathChunks.length-1];\r\n\r\n const setAllTeamnamesFromResponse = useCallback(() => {\r\n \tfetch(process.env.REACT_APP_ADMIN_API + \"api/matches/\" + urlTokenExtracted + \"/games/free\")\r\n\t\t\t.then((response) => {\r\n\t\t\t\tif (!response.ok)\r\n\t\t\t\t\tthrow Error(response.statusText);\r\n\t\t\t\treturn response.json();\r\n\t\t\t})\r\n\t\t\t.then((res) => {\r\n\t\t\t\tlet gameId = res[0].gameId;\r\n\t\t\t\tsetTeam(gameId);\r\n\t\t\t\tsetAllTeamNames(res);\r\n\t\t\t})\r\n\t\t\t.catch((err) => console.error(err));\r\n }, [setAllTeamNames, urlTokenExtracted])\r\n\r\n useEffect(() => {\r\n \tsetAllTeamnamesFromResponse();\r\n }, [setAllTeamnamesFromResponse]);\r\n\r\n\tconst setInitialLoginData = useCallback(() => {\r\n\t\tlet gameCounter = 0;\r\n\r\n if(gameCount)\r\n\t\t\tfor(let i = 0; i < gameCount; i++) \r\n\t\t\t\tgameCounter+=1;\r\n\r\n let randomTeamNumber = Math.floor(Math.random()*(gameCounter-1))+1;\r\n \r\n enterTheTeam( randomTeamNumber.toString() );\r\n \r\n setLoginData({\r\n\t\t\t...loginData,\r\n\t\t\tteamNumber: randomTeamNumber,\r\n })\r\n\t// \"loginData\" will cause a BUG, the user will not be able to enter the eMail.\r\n\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, [enterTheTeam, gameCount])\r\n\r\n useEffect( () => {\r\n setInitialLoginData()\r\n }, [setInitialLoginData]);\r\n\r\n return [loginData, setLoginData, team, setTeam];\r\n}\r\n\r\nexport default useCreateUser;","import axios from \"axios\";\r\nimport { useContext } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { UserContext } from \"../context/index\";\r\n\r\nconst useCreatePayloadAndJoinLobby = (loginData: any) \r\n : [(email: string, fullName: string, nickname: string) => void] => {\r\n const { createUser, joinTeamLobby} = useContext(UserContext);\r\n \r\n const { t } = useTranslation();\r\n let history = useHistory();\r\n const windowLocationHref = window.location.href;\r\n const urlPathChunks = windowLocationHref.split(\"/\");\r\n const urlTokenExtracted = urlPathChunks[urlPathChunks.length-1];\r\n\r\n const createPayloadAndJoinRandomLobby = (email: string, fullName: string, nickname: string) =>{\r\n\r\n axios({\r\n method: \"post\",\r\n url: process.env.REACT_APP_ADMIN_BACKEND_URL + \"api/preactive-matches/get-match-data/\",\r\n \r\n // url: process.env.REACT_APP_ADMIN_BACKEND_URL + \"api/preactive-matches/get-match-data/\",\r\n \r\n // url: \"http://admin-api.uppiness.marbleit.rs/api/preactive-matches/get-match-data/\",\r\n data:{\r\n id: urlTokenExtracted\r\n }\r\n })\r\n .then((res) => {\r\n if (res.data) {\r\n if(res.data._doc.isMatchFinished[0].isFinished) {\r\n alert(t('gameAlreadyFinishedText'));\r\n } else {\r\n let payload = {\r\n matchId: urlTokenExtracted,\r\n gameId: 1,\r\n preactive: res.data,\r\n player: {\r\n email,\r\n fullName: fullName,\r\n nickname: nickname,\r\n },\r\n };\r\n createUser(loginData);\r\n joinTeamLobby(payload);\r\n history.push(\"/lobby/\" + urlTokenExtracted);\r\n }\r\n\r\n\r\n }\r\n })\r\n .catch((err: any) => {});\r\n }\r\n\r\n return [createPayloadAndJoinRandomLobby];\r\n}\r\n\r\nexport default useCreatePayloadAndJoinLobby;","import { useEffect, useState } from \"react\";\r\n\r\nconst usePageVisibility = () : [boolean] => {\r\n const [isVisible, setIsVisible] = useState(document.visibilityState === \"visible\");\r\n \r\n useEffect(() => {\r\n document.addEventListener(\"visibilitychange\", () => {\r\n if (document.visibilityState === \"visible\") {\r\n setIsVisible(true);\r\n }\r\n \r\n if (document.visibilityState !== \"visible\") {\r\n setIsVisible(false);\r\n }\r\n })\r\n }, [])\r\n \r\n return [isVisible]\r\n }\r\n\r\n export default usePageVisibility;\r\n\r\n","import { ICard } from \"../../../../interfaces\";\r\nimport { CardType } from \"../../../../util/enums\";\r\n\r\nconst setDilemaCard = (currentDilemmaCardLocal: any, cardType: CardType): ICard => {\r\n \r\n if (cardType === CardType.ACTION) { \r\n let localCard: ICard = {\r\n backImagePath: \"https://opengameart.org/sites/default/files/card%20back%20red.png\",\r\n content: \"Call the facilitator, or start the new game.\",\r\n id: 0,\r\n title: \"Alert\",\r\n type: CardType.QUESTION\r\n }\r\n \r\n if(currentDilemmaCardLocal){\r\n localCard = {\r\n backImagePath: \"https://opengameart.org/sites/default/files/card%20back%20red.png\",\r\n id: currentDilemmaCardLocal.id,\r\n content: currentDilemmaCardLocal.description,\r\n title: currentDilemmaCardLocal.title,\r\n type: cardType\r\n }\r\n }\r\n\r\n return localCard;\r\n } \r\n\r\n let localCard: ICard = {\r\n backImagePath: \"https://opengameart.org/sites/default/files/card%20back%20red.png\",\r\n content: \"Call the facilitator, or start the new game.\",\r\n id: 0,\r\n title: \"Alert\",\r\n type: CardType.QUESTION\r\n }\r\n\r\n if(currentDilemmaCardLocal){\r\n localCard = {\r\n backImagePath: \"https://opengameart.org/sites/default/files/card%20back%20red.png\",\r\n id: currentDilemmaCardLocal.id,\r\n content: currentDilemmaCardLocal.description,\r\n title: currentDilemmaCardLocal.title,\r\n type: cardType\r\n }\r\n }\r\n\r\n return localCard;\r\n\r\n };\r\n \r\n export default setDilemaCard;\r\n ","import { useContext, useEffect, useState } from \"react\";\r\nimport { CardType } from \"../../../../util/enums\";\r\nimport { CardContext } from \"../../../../context\";\r\n\r\nconst useShowDrawnStrengthCard = (player: any) => {\r\n const { drawSolutionCard } = useContext(CardContext);\r\n \r\n const [isEmotionalUsed, setIsEmotionalUsed] = useState(false);\r\n const [isPhysicalUsed, setIsPhysicalUsed] = useState(false);\r\n const [isRelationsUsed, setIsRelationsUsed] = useState(false);\r\n const [isMentalUsed, setIsMentalUsed] = useState(false);\r\n\r\n useEffect( () => { \r\n if(player?.currentSolutionCards[\"Emotional\"] && !isEmotionalUsed){ \r\n drawSolutionCard({\r\n id: player?.currentSolutionCards[\"Emotional\"]._id,\r\n type: CardType.EMOTIONAL_SOLUTION,\r\n backImagePath: \"https://opengameart.org/sites/default/files/card%20back%20green.png\",\r\n title: player?.currentSolutionCards[\"Emotional\"].title,\r\n content: player?.currentSolutionCards[\"Emotional\"].description,\r\n link: player?.currentSolutionCards[\"Emotional\"].info\r\n })\r\n setIsEmotionalUsed(true);\r\n }\r\n }, [drawSolutionCard, isEmotionalUsed, player?.currentSolutionCards]);\r\n\r\n useEffect( () => {\r\n if(player?.currentSolutionCards[\"Physical\"] && !isPhysicalUsed){ \r\n drawSolutionCard({\r\n //Tag\r\n id: player?.currentSolutionCards[\"Physical\"]._id,\r\n type: CardType.PHYSICAL_SOLUTION,\r\n backImagePath: \"https://opengameart.org/sites/default/files/card%20back%20green.png\",\r\n title: player?.currentSolutionCards[\"Physical\"].title,\r\n content: player?.currentSolutionCards[\"Physical\"].description,\r\n link: player?.currentSolutionCards[\"Physical\"].info\r\n })\r\n setIsPhysicalUsed(true);\r\n }\r\n }, [drawSolutionCard, isPhysicalUsed, player?.currentSolutionCards]);\r\n\r\n useEffect( () => {\r\n if(player?.currentSolutionCards[\"Relations\"] && !isRelationsUsed){ \r\n drawSolutionCard({\r\n id: player?.currentSolutionCards[\"Relations\"]._id,\r\n type: CardType.SOCIAL_SOLUTION,\r\n backImagePath: \"https://opengameart.org/sites/default/files/card%20back%20green.png\",\r\n title: player?.currentSolutionCards[\"Relations\"].title,\r\n content: player?.currentSolutionCards[\"Relations\"].description,\r\n link: player?.currentSolutionCards[\"Relations\"].info\r\n })\r\n setIsRelationsUsed(true);\r\n }\r\n }, [drawSolutionCard, isRelationsUsed, player?.currentSolutionCards]);\r\n\r\n useEffect( () => {\r\n if(player?.currentSolutionCards[\"Mental\"] && !isMentalUsed){ \r\n drawSolutionCard({\r\n id: player?.currentSolutionCards[\"Mental\"]._id,\r\n type: CardType.MENTAL_SOLUTION,\r\n backImagePath: \"https://opengameart.org/sites/default/files/card%20back%20green.png\",\r\n title: player?.currentSolutionCards[\"Mental\"].title,\r\n content: player?.currentSolutionCards[\"Mental\"].description,\r\n link: player?.currentSolutionCards[\"Mental\"].info\r\n })\r\n setIsMentalUsed(true);\r\n }\r\n }, [drawSolutionCard, isMentalUsed, player?.currentSolutionCards]);\r\n\r\n };\r\n \r\n export default useShowDrawnStrengthCard;\r\n ","import { useCallback, useContext, useEffect, useState } from \"react\";\r\nimport { useSound } from \"../hooks\";\r\nimport { setDilemaCard } from \"../components/molecules/Board/helpers\";\r\nimport { BoardContext, PhaseContext, SocketContext, TableContext, TeamContext, UserContext, FabricContext } from \"../context\";\r\nimport { ICard, IChallengeCardsBoard } from \"../interfaces\";\r\nimport { CardType, Phase } from \"../util/enums\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ntype displayViewType = \"initial\" | \"chooseChallengeCard\" | \"action\" | \"question\" | \"solutionView\" | \"fortuneWheel\" | \"teamCelebration\" | \"giverCelebration\";\r\ntype challengeCardType = \"questionCard\" | \"actionCard\";\r\n\r\nconst useBoardDisplayView = (): [IChallengeCardsBoard, displayViewType, (fieldName: challengeCardType, card: ICard) => void] => {\r\n const { t } = useTranslation();\r\n const { \r\n socket, \r\n drawDilemmaCardSocketEvent, \r\n setIsSpinClicked, \r\n setSpinNumberData, \r\n nextPhaseConffeti, \r\n revealDoneButtonSocketOn,\r\n refreshTimerSocket,\r\n setIsActionDoneButtonRevealed\r\n } = useContext(SocketContext);\r\n const { setCanvasToUndefined } = useContext(FabricContext);\r\n const { game, activateAction, setActivateAction } = useContext(TeamContext);\r\n const { userData, setNotificationAlert, setActivateAlert } = useContext(UserContext);\r\n const {\r\n areSolutionCardsDrawnContext,\r\n setIsInitialSolutionDecksModalOpen,\r\n setRenderDilemmaCardsInThisPhase,\r\n setRenderInitialCoins,\r\n setIsAvatarCheering,\r\n setIsCurrentlyPhase16,\r\n setIsDilemmaOwnerAnouncementDone,\r\n setAreStrengthsShownFullScreen\r\n } = useContext(BoardContext)\r\n const { setRenderChosenSolutionToQuestion,\r\n setRenderDilemmaOwnerCoinCelebration,\r\n setRenderWheelOfFortune\r\n } = useContext(PhaseContext);\r\n const { setAreAnimatedHandsShown, \r\n setIsLogoOnTheTableBlured, \r\n setDidTheCurrentUserProposedSolution, \r\n setIsDilemmaChosen,\r\n setToggleMySolutionFullScreen\r\n } = useContext(TableContext);\r\n const [displayView, setDisplayView] = useState(\"initial\");\r\n const [challengeCard, setChallengeCard] = useState({\r\n questionCard: null,\r\n actionCard: null\r\n });\r\n const isTheUserDilemaOwner = userData?.email === game?.gameInfo.currentPlayerEmail;\r\n const {playSound} = useSound();\r\n\r\n useEffect(() => {\r\n \r\n if (game?.phase === Phase.CHOOSING_SOLUTION_CARDS) {\r\n setActivateAction(false);\r\n setRenderDilemmaCardsInThisPhase(false);\r\n setIsInitialSolutionDecksModalOpen(true);\r\n }\r\n }, [game?.phase, setActivateAction, setIsInitialSolutionDecksModalOpen, setRenderDilemmaCardsInThisPhase]);\r\n\r\n useEffect(() => {\r\n if (game?.phase === Phase.CONFETTI_CELEBRATION)\r\n setAreStrengthsShownFullScreen(false);\r\n }, [game?.phase, setAreStrengthsShownFullScreen])\r\n\r\n useEffect(() => {\r\n const grandCoinCelebrationTime = 5000;\r\n\r\n if (game?.phase === Phase.CHOOSING_SOLUTION_CARDS && areSolutionCardsDrawnContext) {\r\n setRenderInitialCoins(true);\r\n\r\n const timeout = setTimeout(() => {\r\n setRenderInitialCoins(false);\r\n }, grandCoinCelebrationTime);\r\n \r\n return () => clearTimeout(timeout);\r\n }\r\n }, [areSolutionCardsDrawnContext, game?.phase, setRenderInitialCoins]);\r\n\r\n useEffect(() => {\r\n if (game?.phase === Phase.QUESTION_CARD && game?.gameInfo.players[game?.gameInfo.currentPlayerEmail].finishedAction )\r\n setIsDilemmaChosen(true);\r\n }, [game?.gameInfo.currentPlayerEmail, game?.gameInfo.players, game?.phase, setIsDilemmaChosen]);\r\n\r\n useEffect(() => {\r\n if (game?.phase === Phase.INTRODUCTION) { \r\n setIsCurrentlyPhase16(true);\r\n\r\n }\r\n }, [game?.phase, setAreAnimatedHandsShown, setIsCurrentlyPhase16]);\r\n\r\n useEffect(() => {\r\n const timeBetweenInitialTableAndRenderingDilemmaCards = 3000;\r\n\r\n if (game?.phase !== Phase.CHOOSING_SOLUTION_CARDS) \r\n setIsInitialSolutionDecksModalOpen(false);\r\n\r\n if (game?.phase === Phase.PICK_DILEMMA) {\r\n setDisplayView(\"chooseChallengeCard\");\r\n setCanvasToUndefined();\r\n\r\n const renderDilemaCardsTimeout =\r\n setTimeout(() => {\r\n playSound(\"/sounds/PositiveAlert3.mp3\")\r\n setRenderDilemmaCardsInThisPhase(true);\r\n\r\n }, timeBetweenInitialTableAndRenderingDilemmaCards);\r\n\r\n return () => clearTimeout(renderDilemaCardsTimeout);\r\n }\r\n\r\n \r\n }, [game?.phase, playSound, setAreAnimatedHandsShown, setCanvasToUndefined, setIsInitialSolutionDecksModalOpen, setRenderDilemmaCardsInThisPhase]);\r\n\r\n useEffect(() => {\r\n // if (game?.phase === Phase.QUESTION_CARD && !isTheUserDilemaOwner)\r\n // setAreAnimatedHandsShown(true);\r\n\r\n if (game?.phase === Phase.QUESTION_CARD)\r\n setSpinNumberData(undefined);\r\n }, [game?.phase, isTheUserDilemaOwner, setAreAnimatedHandsShown, setSpinNumberData]);\r\n\r\n useEffect(() => {\r\n if (game?.phase === Phase.QUESTION_CARD )\r\n setToggleMySolutionFullScreen(true);\r\n setDidTheCurrentUserProposedSolution(false);\r\n }, [game?.phase, setDidTheCurrentUserProposedSolution, setToggleMySolutionFullScreen]);\r\n\r\n useEffect(() => {\r\n if (game?.phase === Phase.CONFETTI_CELEBRATION) {\r\n setDisplayView(\"teamCelebration\");\r\n setIsAvatarCheering(true);\r\n }\r\n\r\n if (game?.phase !== Phase.CONFETTI_CELEBRATION)\r\n setIsAvatarCheering(false);\r\n }, [game?.phase, setIsAvatarCheering]);\r\n\r\n useEffect(() => {\r\n if(game?.phase === Phase.PICK_DILEMMA){\r\n setIsDilemmaOwnerAnouncementDone(\"\");\r\n setIsDilemmaChosen(false);\r\n }\r\n }, [game?.phase, setIsDilemmaChosen, setIsDilemmaOwnerAnouncementDone] );\r\n\r\n useEffect(() => {\r\n if (game?.phase === Phase.CHOOSE_SOLUTION && game?.gameInfo.challengeScore > 0) \r\n setIsDilemmaOwnerAnouncementDone(\"renderTippingHeart\");\r\n }, [game?.gameInfo.challengeScore, game?.phase, setIsDilemmaOwnerAnouncementDone]);\r\n\r\n useEffect(() => {\r\n if (game?.phase === Phase.SOLUTION_CHOSEN)\r\n setDisplayView(\"initial\");\r\n }, [game]);\r\n\r\n useEffect(() => {\r\n\r\n if (game?.phase === Phase.ACTION_CARD || game?.phase === Phase.QUESTION_CARD) {\r\n setIsLogoOnTheTableBlured(true);\r\n } else {\r\n setIsLogoOnTheTableBlured(false);\r\n }\r\n\r\n }, [game?.phase, setIsLogoOnTheTableBlured]);\r\n\r\n \r\n useEffect(() => {\r\n if (game?.phase === Phase.CHOOSING_SOLUTION_CARDS && displayView !== \"initial\") {\r\n setIsSpinClicked(false);\r\n \r\n if (activateAction) {\r\n setDisplayView(\"teamCelebration\");\r\n setTimeout(() => {\r\n return setDisplayView(\"initial\");\r\n }, 7000);\r\n }\r\n }\r\n }, [game, setIsSpinClicked, activateAction, displayView]);\r\n\r\n useEffect(() => { \r\n if (game?.phase === Phase.CHOOSING_SOLUTION_CARDS && displayView !== \"initial\") {\r\n setIsSpinClicked(false);\r\n \r\n if (displayView !== \"fortuneWheel\")\r\n setDisplayView(\"initial\");\r\n }\r\n }, [game, setIsSpinClicked, displayView]);\r\n \r\n useEffect(() => {\r\n if (game?.phase === Phase.ACTION_CARD && displayView !== \"action\") {\r\n setIsActionDoneButtonRevealed(false);\r\n refreshTimerSocket();\r\n revealDoneButtonSocketOn();\r\n setDisplayView(\"action\");\r\n setChallengeCard({\r\n ...challengeCard,\r\n actionCard: setDilemaCard(game?.gameInfo.currentDilemmaCard, CardType.ACTION)\r\n });\r\n }\r\n // if I add \"challengeCard\" as a dependancy in the same useEffect where I have setChallengeCard, it will reRender forever\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [game, displayView]);\r\n \r\n useEffect(() => {\r\n if (game?.phase === Phase.QUESTION_CARD && displayView !== \"question\") {\r\n setDisplayView(\"question\");\r\n setChallengeCard({\r\n ...challengeCard,\r\n questionCard: setDilemaCard(game?.gameInfo.currentDilemmaCard, CardType.QUESTION)\r\n });\r\n }\r\n // if I add \"challengeCard\" as a dependancy in the same useEffect where I have setChallengeCard, it will reRender forever\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [game, displayView]);\r\n \r\n useEffect(() => {\r\n if (game?.phase === Phase.CHOOSE_SOLUTION)\r\n setDisplayView(\"question\");\r\n }, [game]);\r\n \r\n useEffect(() => {\r\n if (game?.phase === Phase.SOLUTION_CHOSEN)\r\n setRenderChosenSolutionToQuestion(true);\r\n\r\n if (game?.phase !== Phase.SOLUTION_CHOSEN)\r\n setRenderChosenSolutionToQuestion(false);\r\n }, [game, setRenderChosenSolutionToQuestion])\r\n\r\n useEffect(() => {\r\n if (game?.phase === Phase.SOLUTION_CHOSEN_REWARD) {\r\n setRenderChosenSolutionToQuestion(false);\r\n setRenderDilemmaOwnerCoinCelebration(true);\r\n nextPhaseConffeti(6000);\r\n }\r\n // if I add \"nextPhaseConffeti\" cheerButton will not work (conffetti phase will not work)\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [game?.phase, setRenderChosenSolutionToQuestion, setRenderDilemmaOwnerCoinCelebration])\r\n \r\n useEffect(() => {\r\n if (game?.phase !== Phase.SOLUTION_CHOSEN_REWARD)\r\n setRenderDilemmaOwnerCoinCelebration(false);\r\n }, [game?.phase, setRenderDilemmaOwnerCoinCelebration]);\r\n \r\n useEffect(() => {\r\n if (game?.phase === Phase.RENDER_SPIN_WHEEL) {\r\n setRenderDilemmaOwnerCoinCelebration(false);\r\n setRenderWheelOfFortune(true);\r\n socket?.emit(\"finishActionCard\");\r\n nextPhaseConffeti(6000);\r\n }\r\n // if I add socket as a dependancy, it will reRenderendlessly\r\n // if I add \"nextPhaseConffeti\" cheerButton will not work (conffetti phase will not work)\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [game?.phase, setRenderDilemmaOwnerCoinCelebration, setRenderWheelOfFortune]);\r\n \r\n useEffect(() => {\r\n if (game?.phase !== Phase.RENDER_SPIN_WHEEL)\r\n setRenderWheelOfFortune(false);\r\n }, [game?.phase, setRenderWheelOfFortune]);\r\n\r\n \r\n useEffect(() => {\r\n const proposedCards = game?.gameInfo?.proposedSolutionCards;\r\n\r\n for (const key in proposedCards) { \r\n if(key === userData?.email) \r\n setDidTheCurrentUserProposedSolution(true);\r\n }\r\n }, [game?.gameInfo?.proposedSolutionCards, setDidTheCurrentUserProposedSolution, userData?.email]);\r\n \r\n useEffect(() => {\r\n setChallengeCard({\r\n questionCard: setDilemaCard(game?.gameInfo.currentDilemmaCard, CardType.QUESTION),\r\n actionCard: setDilemaCard(game?.gameInfo.currentDilemmaCard, CardType.ACTION)\r\n })\r\n }, [game]);\r\n \r\n const drawChallengeCard = useCallback((fieldName: challengeCardType, card: ICard) => {\r\n setChallengeCard({\r\n ...challengeCard,\r\n [fieldName]: card\r\n });\r\n\r\n if (!isTheUserDilemaOwner) {\r\n setNotificationAlert({message: t(\"youAreNotADillemaOwnerText\"), type:\"regular\"});\r\n setActivateAlert(true);\r\n return;\r\n }\r\n\r\n if (fieldName === \"actionCard\") {\r\n drawDilemmaCardSocketEvent(\"Action\");\r\n setDisplayView(\"action\");\r\n }\r\n\r\n if (fieldName === \"questionCard\") {\r\n drawDilemmaCardSocketEvent(\"Question\");\r\n setDisplayView(\"question\");\r\n }\r\n }, [challengeCard, drawDilemmaCardSocketEvent, setNotificationAlert, setActivateAlert]);\r\n\r\n return [challengeCard, displayView, drawChallengeCard];\r\n}\r\n\r\nexport default useBoardDisplayView;","import { useContext, useEffect } from \"react\";\r\nimport { TableContext, TeamContext } from \"../context\";\r\nimport { Phase } from \"../util/enums\";\r\n\r\nconst useHandsState = (isTheUserDilemaOwner: boolean): [] => {\r\n const { game } = useContext(TeamContext);\r\n const { setAreAnimatedHandsShown } = useContext(TableContext);\r\n\r\n\r\n useEffect(() => {\r\n if (game?.phase !== Phase.QUESTION_CARD )\r\n setAreAnimatedHandsShown(true);\r\n\r\n if (game?.phase === Phase.QUESTION_CARD && isTheUserDilemaOwner)\r\n setAreAnimatedHandsShown(false);\r\n\r\n if (game?.phase === Phase.QUESTION_CARD && !isTheUserDilemaOwner)\r\n setAreAnimatedHandsShown(true);\r\n\r\n if (game?.phase === Phase.ACTION_CARD)\r\n setAreAnimatedHandsShown(false);\r\n\r\n }, [game?.phase, isTheUserDilemaOwner, setAreAnimatedHandsShown]);\r\n\r\n return [];\r\n}\r\n\r\nexport default useHandsState;","import { useCallback, useContext, useEffect, useState } from \"react\";\r\nimport { TeamContext } from \"../context\";\r\n\r\n\r\nconst useProposedSolutionCards = (): [any] => {\r\n const { game } = useContext(TeamContext);\r\n const [proposedSolutionCardsArray, setProposedSolutionCardsArray] = useState([]);\r\n \r\n const fillProposedSolutionCardsArray = useCallback(() => {\r\n const proposedSolutionCards = game?.gameInfo.proposedSolutionCards;\r\n if (proposedSolutionCards) {\r\n\r\n let propSolutionCardsArray = [];\r\n\r\n for (const [key, value] of Object.entries(proposedSolutionCards)) {\r\n\r\n const mappedPlayerSolution = {\r\n player: {\r\n fullName: game?.players.find((player: any) => player.email === key)?.fullName || \"\",\r\n nickname: game?.players.find((player: any) => player.email === key)?.nickname || \"\",\r\n email: key,\r\n color: game?.players.find((player: any) => player.email === key)?.color || \"\",\r\n profileIcon: process.env.REACT_APP_BACKEND_URL + \"images/\" + key + \".png\",\r\n isReady: true,\r\n },\r\n //TAGUJEM\r\n card: {\r\n type: Object(value).type,\r\n frontImagePath: \"\",\r\n backImagePath: \"\",\r\n backIcon: \"\",\r\n frontIcon: \"\",\r\n description: Object(value).description,\r\n title: Object(value).title,\r\n name: \"\",\r\n id: Object(value)._id,\r\n content: Object(value).description,\r\n link: Object(value).info,\r\n info: Object(value).info,\r\n }\r\n }\r\n\r\n propSolutionCardsArray.push(mappedPlayerSolution);\r\n\r\n }\r\n\r\n setProposedSolutionCardsArray(propSolutionCardsArray);\r\n }\r\n }, [game?.gameInfo.proposedSolutionCards, game?.players]);\r\n\r\n useEffect(() => {\r\n fillProposedSolutionCardsArray();\r\n }, [fillProposedSolutionCardsArray]);\r\n\r\n return [proposedSolutionCardsArray];\r\n}\r\n\r\nexport default useProposedSolutionCards;","import { useCallback, useContext, useEffect, useState } from \"react\";\r\nimport { TeamContext } from \"../context\";\r\nimport { IPlayer } from \"../interfaces\";\r\n\r\nconst useBoardDisplayView = (): [boolean, IPlayer[]] => {\r\n const { game } = useContext(TeamContext);\r\n\r\n const [isAnyUserCurrentlyLoggedOut, setIsAnyUserCurrentlyLoggedOut] = useState(false);\r\n const [listOfTheUsersWhoLoggedout, setListOfTheUsersWhoLoggedout] = useState([]);\r\n\r\n const checkIfAnyOfTheUsersLoggedOutDuringTheGame = useCallback(() => {\r\n let listOfThePlayers = game?.gameInfo?.players;\r\n let isAnyUserOut = false;\r\n let helperArray = [];\r\n\r\n setListOfTheUsersWhoLoggedout([]);\r\n\r\n for (const playerEmail in listOfThePlayers) {\r\n if (listOfThePlayers[playerEmail].status === 3) {\r\n\r\n let expectedPlayer = game?.players.find((player: IPlayer) => { return player.email === playerEmail });\r\n isAnyUserOut = true;\r\n\r\n if (expectedPlayer) {\r\n helperArray.push(expectedPlayer);\r\n }\r\n }\r\n }\r\n\r\n setListOfTheUsersWhoLoggedout(helperArray);\r\n\r\n if (isAnyUserOut)\r\n setIsAnyUserCurrentlyLoggedOut(true);\r\n \r\n if (!isAnyUserOut)\r\n setIsAnyUserCurrentlyLoggedOut(false);\r\n \r\n }, [game?.gameInfo?.players, game?.players]);\r\n\r\n useEffect(() => {\r\n checkIfAnyOfTheUsersLoggedOutDuringTheGame();\r\n }, [game?.gameInfo?.players, checkIfAnyOfTheUsersLoggedOutDuringTheGame]);\r\n\r\n\r\n return [isAnyUserCurrentlyLoggedOut, listOfTheUsersWhoLoggedout];\r\n}\r\n\r\nexport default useBoardDisplayView;","import { useCallback, useContext, useEffect, useState } from \"react\";\r\nimport { SlotMachineContext, SocketContext } from \"../context\";\r\nimport { ICard } from \"../interfaces\";\r\n\r\nconst useStrengthCards = () : [ICard[]] => {\r\n const { socket, randomOneStrengthCardSocketOn, newRandomStrengthCard } = useContext(SocketContext);\r\n const { lastDroppedCard, allStrengthCardsIdsState } = useContext(SlotMachineContext);\r\n const [recievedStrengthCards, setRecievedStrengthCards] = useState([]);\r\n\r\n useEffect( () => {\r\n socket?.emit(\"generateRandomStrengthCards\");\r\n }, [socket]); \r\n\r\n useEffect(() => {\r\n randomOneStrengthCardSocketOn();\r\n }, [randomOneStrengthCardSocketOn]);\r\n\r\n const pushTheNewStrengthCard = useCallback((data: any) => {\r\n let allStrengthCardsIds : any[] = [];\r\n const recievedCard: any[] = data.map((item: any) => {\r\n\r\n allStrengthCardsIds.push(item._id || 0);\r\n\r\n return {\r\n backImagePath: \"\",\r\n description: item?.description || \"x\",\r\n info: item?.information || \"x\",\r\n id: item._id,\r\n type: \"StrengthCard\"\r\n }\r\n });\r\n\r\n allStrengthCardsIdsState.current = allStrengthCardsIds;\r\n setRecievedStrengthCards(recievedCard);\r\n }, [allStrengthCardsIdsState])\r\n\r\n useEffect(() => {\r\n socket?.on(\"randomStrengthCards\", (data) => {\r\n pushTheNewStrengthCard(data);\r\n });\r\n\r\n return () => {\r\n socket?.off(\"randomStrengthCards\");\r\n };\r\n }, [pushTheNewStrengthCard, socket]);\r\n\r\n useEffect( () => {\r\n let allStrengthCardsIds : any[] = [];\r\n \r\n const newArray = recievedStrengthCards.map( (card: any ) => { \r\n\r\n if(card.id === lastDroppedCard?.id){\r\n allStrengthCardsIds.push(lastDroppedCard?.id || 0);\r\n return {\r\n backImagePath: \"\",\r\n description: newRandomStrengthCard?.description,\r\n id: newRandomStrengthCard?._id,\r\n info: newRandomStrengthCard?.information,\r\n type: \"StrengthCard\"\r\n }\r\n }\r\n\r\n allStrengthCardsIds.push(card.id);\r\n return card;\r\n });\r\n\r\n allStrengthCardsIdsState.current = allStrengthCardsIds;\r\n setRecievedStrengthCards(newArray);\r\n // No cards will be shown in slot machine \r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [newRandomStrengthCard]);\r\n\r\n return [recievedStrengthCards];\r\n}\r\n\r\nexport default useStrengthCards;","\r\n\r\nimport { useContext } from \"react\";\r\nimport { TeamContext, UserContext } from \"../context\";\r\nimport { ICard } from \"../interfaces\";\r\nimport { CardType } from \"../util/enums\";\r\n\r\nconst useCard = () => {\r\n const { game } = useContext(TeamContext);\r\n const { emailOfSelectedPlayerBoard } = useContext(UserContext);\r\n\r\n const card = (type: CardType) => {\r\n let notMappedCard: any = game?.gameInfo.players[emailOfSelectedPlayerBoard || \"\"]?.currentSolutionCards[type];\r\n //TAGUJEM\r\n if (notMappedCard)\r\n return {\r\n backImagePath: \"https://opengameart.org/sites/default/files/card%20back%20red.png\",\r\n content: notMappedCard.description,\r\n id: notMappedCard._id,\r\n title: notMappedCard.title,\r\n type: notMappedCard.type,\r\n info: notMappedCard.info,\r\n language: notMappedCard.language\r\n }\r\n };\r\n\r\n return [card]\r\n}\r\n\r\nexport default useCard;","import { FC } from \"react\";\r\nimport NotificationProgressBar from \"./NotificationProgressBar\";\r\n\r\ninterface IPinkNotification {\r\n notificationRenderingSide: \"top\" | \"right\" | \"bottom\" | \"left\";\r\n text: string;\r\n icon?: string;\r\n iconText?: string;\r\n notificationWidthVW: number;\r\n moveFromTop?: number;\r\n hasCloseButton?: boolean;\r\n closeTheNotification?(): void;\r\n progressNumber?: number;\r\n isStatic?: boolean;\r\n isTextShort?: boolean;\r\n areDotsPositionedToBottom?: boolean;\r\n}\r\n\r\nconst PinkNotification: FC = (props) => {\r\n const { notificationRenderingSide, icon, iconText, notificationWidthVW, text, moveFromTop, hasCloseButton, closeTheNotification, isStatic } = props;\r\n\r\n if (!text)\r\n return
\r\n\r\n const getNotificationPositionAndSide = () => {\r\n switch (notificationRenderingSide) {\r\n case \"top\": return {bottom: `calc(100% + 10px)`, width: `${notificationWidthVW}vw`};\r\n case \"right\": return {right: `-${notificationWidthVW + 2 }vw`, width: `${notificationWidthVW}vw` }; \r\n case \"bottom\": return {top: `calc(100% + 10px)`, width: `${notificationWidthVW}vw` };\r\n case \"left\": return {left: `-${notificationWidthVW + 3 }vw`, width: `${notificationWidthVW}vw` }; \r\n }\r\n }\r\n\r\n const getSwingingAnimation = () => {\r\n if (isStatic) return staticAnimationCss();\r\n return swingingAnimationCss();\r\n }\r\n\r\n const swingingAnimationCss = () => {\r\n switch (notificationRenderingSide) {\r\n case \"top\": return \"move_on_top center_horizontally\";\r\n case \"right\": return \"move_on_right center_vertically\";\r\n case \"bottom\": return \"move_on_bottom center_horizontally\";\r\n case \"left\": return \"move_on_left center_vertically\";\r\n }\r\n }\r\n\r\n const staticAnimationCss = () => {\r\n switch (notificationRenderingSide) {\r\n case \"top\": return \"center_horizontally\";\r\n case \"right\": return \"center_vertically\";\r\n case \"bottom\": return \"center_horizontally\";\r\n case \"left\": return \"center_vertically\";\r\n }\r\n }\r\n\r\n const getAlignmentDirection = () => {\r\n switch (notificationRenderingSide) {\r\n case \"top\": return \"center_horizontally\";\r\n case \"right\": return \"center_vertically_start_horizontally\";\r\n case \"bottom\": return \"center_horizontally\";\r\n case \"left\": return \"center_vertically_end_horizontally\";\r\n }\r\n }\r\n\r\n const getNotchPositionAndSide = () => {\r\n switch (notificationRenderingSide) {\r\n case \"top\": return {bottom: \"-0.3vw\"};\r\n case \"right\": return {left: \"-0.3vw\"}; \r\n case \"bottom\": return {top: \"-0.3vw\"};\r\n case \"left\": return {right: \"-0.3vw\"}; \r\n }\r\n }\r\n\r\n const getTopPositioning = () => {\r\n if (moveFromTop)\r\n return {top: `${moveFromTop}px`}\r\n\r\n return {}\r\n }\r\n\r\n return(\r\n \r\n
\r\n
\r\n\r\n
\r\n {!isStatic &&
}\r\n
\r\n
{text}
\r\n {icon && \r\n
\r\n \"icon\"\r\n
{iconText}
\r\n
\r\n }\r\n
\r\n {hasCloseButton &&
}\r\n
\r\n \r\n
\r\n
\r\n )\r\n \r\n };\r\n\r\nexport default PinkNotification;\r\n","import React, { FC, useContext, useState } from \"react\";\r\n\r\nimport { SocketContext, UserContext, TeamContext, CardContext, TableContext, BoardContext } from \"../../../../../context\";\r\nimport { InfoButton, SwapButton } from \"../../../../atoms\";\r\nimport { ICard } from \"../../../../../interfaces\";\r\nimport { CardType, Phase } from \"../../../../../util/enums\";\r\nimport { useSound } from \"../../../../../hooks\";\r\n\r\nimport PinkNotification from \"../../../Notification/PinkNotification\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface SolutionCardProps {\r\n cardData: ICard;\r\n onCardClick?(type: CardType): void;\r\n choseSolution?(cardId: any): void;\r\n displayExchangeButton?: boolean;\r\n isForceHoverOn?: boolean;\r\n displayInfoOnTheProposedCard?: boolean;\r\n isThisCardSelectedByDilemmaOwner?: boolean;\r\n solutionCardsInHands?: boolean;\r\n cardIndex?: number;\r\n fullScreenIsOn?: boolean;\r\n}\r\n\r\nconst SolutionCard: FC = (props) => {\r\n const { cardData, displayExchangeButton, onCardClick, choseSolution, displayInfoOnTheProposedCard, isForceHoverOn, solutionCardsInHands, cardIndex, fullScreenIsOn } = props\r\n\r\n const { t } = useTranslation();\r\n const { proposeSolutionCardSocketEvent, openNewSolutionCardSocketEvent, changeSoultionCardSocketEvent, withdrawCardSocketEvent } = useContext(SocketContext);\r\n const { game } = useContext(TeamContext);\r\n const { userData, emailOfSelectedPlayerBoard, setNotificationAlert, setActivateAlert } = useContext(UserContext);\r\n const { flipSolutionCardBySelectedType } = useContext(CardContext);\r\n const { setAreAnimatedHandsShown, setToggleMySolutionFullScreen, isDilemmaChosen, didTheCurrentUserProposedSolution, solutionCardExchanged, setSolutionCardExchanged } = useContext(TableContext);\r\n const { instructionTutorial } = useContext(BoardContext);\r\n const isTheUserDilemaOwner = userData?.email === game?.gameInfo.currentPlayerEmail;\r\n const isFullScreenOnDuringPhase5 = game?.phase === Phase.QUESTION_CARD && isDilemmaChosen && !isTheUserDilemaOwner;\r\n const isFullScreenOnDuringPhase7 = game?.phase === Phase.CHOOSE_SOLUTION;\r\n\r\n const {playSound} = useSound();\r\n\r\n const [displayInfo, setDisplayInfo] = useState(false);\r\n const [isExchangeButtonHovered, setIsExchangeButtonHovered] = useState(false);\r\n const [isInfoButtonHovered, setIsInfoButtonHovered] = useState(false);\r\n const [isCardHovered, setIsCardHovered] = useState(false);\r\n\r\n const tokens = game?.gameInfo.players[emailOfSelectedPlayerBoard || \"\"]?.upperTokens || 0;\r\n\r\n const cardClickHandler = (type: CardType) => {\r\n if (onCardClick)\r\n onCardClick(type);\r\n }\r\n\r\n const doubleClickHandler = () => {\r\n setToggleMySolutionFullScreen(false);\r\n setSolutionCardExchanged(0)\r\n\r\n if (game?.phase === Phase.QUESTION_CARD) {\r\n if (didTheCurrentUserProposedSolution) withdrawCardSocketEvent();\r\n setAreAnimatedHandsShown(false);\r\n proposeSolutionCardSocketEvent(cardData.id, cardData.type);\r\n playSound(\"/sounds/LightClick.mp3\");\r\n }\r\n\r\n \r\n if (isTheUserDilemaOwner && game?.phase !== Phase.CHOOSE_SOLUTION) {\r\n setNotificationAlert({message: t(\"youAreTheDilemmaOwnerYourTaskIsToChooseOneProposedCardText\"), type:\"regular\"});\r\n setActivateAlert(true);\r\n return;\r\n }\r\n\r\n // proposeSolutionCardSocketEvent(cardData.id, cardData.type);\r\n // playSound(\"/sounds/LightClick.mp3\");\r\n if (choseSolution && cardData.id)\r\n choseSolution(cardData.id);\r\n }\r\n\r\n const solutionCardsStyle = () => {\r\n switch (cardData.type) {\r\n case (CardType.JOKER_SOLUTION):\r\n return \"front_side-emotional\";\r\n case (CardType.EMOTIONAL_SOLUTION):\r\n return \"front_side-emotional\";\r\n case (CardType.SOCIAL_SOLUTION):\r\n return \"front_side-social\";\r\n case (CardType.MENTAL_SOLUTION):\r\n return \"front_side-mental\";\r\n case (CardType.PHYSICAL_SOLUTION):\r\n return \"front_side-physical\";\r\n };\r\n }\r\n\r\n const solutionSVGCards = () => {\r\n switch (cardData.type) {\r\n case (CardType.JOKER_SOLUTION):\r\n return \"joker_card_front_side\"\r\n case (CardType.EMOTIONAL_SOLUTION):\r\n return \"emotional_card_front_side\"\r\n case (CardType.SOCIAL_SOLUTION):\r\n return \"social_card_front_side\"\r\n case (CardType.MENTAL_SOLUTION):\r\n return \"mental_card_front_side\"\r\n case (CardType.PHYSICAL_SOLUTION):\r\n return \"physical_card_front_side\"\r\n };\r\n }\r\n\r\n const solutionCardsTextIcon = () => {\r\n if (fullScreenIsOn) return \"\";\r\n \r\n switch (cardData.type) {\r\n case (CardType.JOKER_SOLUTION):\r\n return \"front_side-emotional__icon\";\r\n case (CardType.EMOTIONAL_SOLUTION):\r\n return \"front_side-emotional__icon\";\r\n case (CardType.SOCIAL_SOLUTION):\r\n return \"front_side-social__icon\";\r\n case (CardType.MENTAL_SOLUTION):\r\n return \"front_side-mental__icon\";\r\n case (CardType.PHYSICAL_SOLUTION):\r\n return \"front_side-physical__icon\";\r\n };\r\n }\r\n\r\n const flipCardYouHaveEnoughTokens = (cardType: string) => {\r\n if (tokens > 1 && solutionCardExchanged < 4) {\r\n flipSolutionCardBySelectedType(cardType);\r\n setSolutionCardExchanged(solutionCardExchanged + 1);\r\n }\r\n if (tokens < 2) {\r\n setNotificationAlert({message: t(\"toExchangeYourSolutionCardyouNeedToHaveAtLeast2UpperTokensText\"), type:\"regular\"});\r\n setActivateAlert(true);\r\n }\r\n }\r\n\r\n const drawSolutionCardFromDeck = (cardType: CardType) => {\r\n let notMappedCard: ICard = game?.gameInfo.players[userData?.email || \"\"]?.currentSolutionCards[cardType];\r\n \r\n if (notMappedCard)\r\n changeSoultionCardSocketEvent(cardType);\r\n\r\n if (!notMappedCard) {\r\n switch (cardType) {\r\n case \"Relations\": {\r\n openNewSolutionCardSocketEvent(\"Relations\"); break;\r\n }\r\n case \"Physical\": {\r\n openNewSolutionCardSocketEvent(\"Physical\"); break;\r\n }\r\n case \"Mental\": {\r\n openNewSolutionCardSocketEvent(\"Mental\"); break;\r\n }\r\n case \"Emotional\": {\r\n openNewSolutionCardSocketEvent(\"Emotional\"); break;\r\n }\r\n }\r\n }\r\n };\r\n\r\n const clickHandler = (type: CardType) => {\r\n if (emailOfSelectedPlayerBoard !== userData?.email) {\r\n setNotificationAlert({message: t(\"youCanNotExchangeCardsOfTheOtherusersText\"), type:\"regular\"});\r\n setActivateAlert(true);\r\n return;\r\n }\r\n\r\n if (game?.phase !== Phase.QUESTION_CARD){\r\n setNotificationAlert({message: t(\"sorryButYouCanExchangeYourSolutionCardOnlyWhenText\"), type:\"regular\"});\r\n setActivateAlert(true);\r\n }\r\n \r\n if (solutionCardExchanged < 3) {\r\n switch (type) {\r\n case CardType.JOKER_SOLUTION:\r\n flipCardYouHaveEnoughTokens(\"emotional\");\r\n drawSolutionCardFromDeck(CardType.EMOTIONAL_SOLUTION);\r\n break;\r\n case CardType.EMOTIONAL_SOLUTION:\r\n flipCardYouHaveEnoughTokens(\"emotional\");\r\n drawSolutionCardFromDeck(CardType.EMOTIONAL_SOLUTION);\r\n break;\r\n case CardType.SOCIAL_SOLUTION:\r\n flipCardYouHaveEnoughTokens(\"social\");\r\n drawSolutionCardFromDeck(CardType.SOCIAL_SOLUTION);\r\n break;\r\n case CardType.MENTAL_SOLUTION:\r\n flipCardYouHaveEnoughTokens(\"mental\");\r\n drawSolutionCardFromDeck(CardType.MENTAL_SOLUTION);\r\n break;\r\n case CardType.PHYSICAL_SOLUTION:\r\n flipCardYouHaveEnoughTokens(\"physical\");\r\n drawSolutionCardFromDeck(CardType.PHYSICAL_SOLUTION);\r\n break;\r\n default:\r\n return;\r\n }\r\n } else { \r\n setNotificationAlert({message: t(\"youCanOnlyExchangeSolutionCardThreeTimesText\"), type:\"regular\"});\r\n setActivateAlert(true);\r\n }\r\n }\r\n\r\n const pinkNotificationExpandTip = () => {\r\n if (isForceHoverOn && instructionTutorial === \"solutionCards\")\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n\r\n const pinkNotificationExchangeButtonTip = () => {\r\n if (isForceHoverOn && instructionTutorial === \"solutionCards\")\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n\r\n const pinkNotificationInfoButtonTip = () => {\r\n if (isForceHoverOn && instructionTutorial === \"solutionCards\")\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n\r\n const exchangeNotificationDirection = () => {\r\n if (cardData.type === CardType.EMOTIONAL_SOLUTION) return \"right\";\r\n return \"left\";\r\n }\r\n\r\n const exchangeNotificationTopShift = () => {\r\n if (cardData.type === CardType.EMOTIONAL_SOLUTION) return -30;\r\n return 20;\r\n }\r\n\r\n const pinkNotificationExchangeButton = () => {\r\n if (isExchangeButtonHovered && game?.phase !== Phase.CHOOSE_SOLUTION)\r\n return \r\n if (isExchangeButtonHovered && !isFullScreenOnDuringPhase5 && game?.phase === Phase.CHOOSE_SOLUTION )\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n\r\n const infoNotificationDirection = () => {\r\n switch(cardData.type) {\r\n case CardType.PHYSICAL_SOLUTION: return \"left\";\r\n case CardType.JOKER_SOLUTION: return \"left\";\r\n default: return \"right\";\r\n } \r\n }\r\n\r\n const pinkNotificationInfoButton = () => {\r\n if (isInfoButtonHovered && game?.phase !== Phase.CHOOSE_SOLUTION)\r\n return \r\n if (isInfoButtonHovered && !isFullScreenOnDuringPhase5 && game?.phase === Phase.CHOOSE_SOLUTION)\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n\r\n const getInfoNotificationDirection = (index: number | undefined) => {\r\n switch(index){\r\n case 1: return \"right\";\r\n case 2: return \"right\";\r\n case 3: return \"left\";\r\n case 4: return \"left\";\r\n case 5: return \"left\";\r\n default: return \"right\";\r\n }\r\n }\r\n\r\n const moveInfoNotificationWhenFullScreen = () => {\r\n if (cardIndex && cardIndex > 2)\r\n return \"6vh\";\r\n\r\n return 0;\r\n }\r\n \r\n const renderSolutionCardTypes = () => {\r\n\r\n return (\r\n cardClickHandler(cardData.type)}\r\n className={`front_side-expand full_screen ${instructionTutorial === \"solutionCards\" && \"white_box_shadow\"} ${ (isCardHovered || isForceHoverOn) && \"front_side-expand_hovered\"} ${((isCardHovered || isForceHoverOn) && !isFullScreenOnDuringPhase5 && !isFullScreenOnDuringPhase7) && \"front_side-expand_hovered_bottom\"} ${isFullScreenOnDuringPhase7 && \"front_side-expand_hovered\"}`}\r\n onMouseEnter={() => setIsCardHovered(true)}\r\n onMouseLeave={() => setIsCardHovered(false)}\r\n id={`${solutionCardsStyle()}`}\r\n onDoubleClick={doubleClickHandler}\r\n >\r\n \r\n {pinkNotificationExpandTip()}\r\n
\r\n
setIsExchangeButtonHovered(true)}\r\n onMouseLeave={() => setIsExchangeButtonHovered(false)}\r\n >\r\n {pinkNotificationExchangeButton()}\r\n {pinkNotificationExchangeButtonTip()}\r\n {displayExchangeButton && cardData.type !== CardType.JOKER_SOLUTION && \r\n
\r\n clickHandler(cardData.type)} />\r\n
\r\n }\r\n
\r\n \r\n
setDisplayInfo(!displayInfo)}\r\n style={{ position: 'absolute', right: '0' }}\r\n onMouseEnter={() => setIsInfoButtonHovered(true)}\r\n onMouseLeave={() => setIsInfoButtonHovered(false)}\r\n >\r\n\r\n {pinkNotificationInfoButton()}\r\n {pinkNotificationInfoButtonTip()}\r\n
setDisplayInfo(!displayInfo)} cardType={cardData.type} solutionCardsInHands={solutionCardsInHands}/>
\r\n
\r\n\r\n
\r\n

{cardData.title}

\r\n \r\n
\r\n \r\n {(displayInfo || displayInfoOnTheProposedCard) && (\r\n
\r\n

{cardData.info}

\r\n
\r\n )}\r\n\r\n {!displayInfo && !displayInfoOnTheProposedCard && (\r\n
\r\n

{cardData.content}

\r\n
\r\n )}\r\n
\r\n\r\n
\r\n
\r\n );\r\n };\r\n\r\n return (\r\n \r\n {renderSolutionCardTypes()}\r\n \r\n );\r\n}\r\n\r\nexport default SolutionCard;","import React, { FC, useContext, useState } from \"react\";\r\n\r\nimport { BoardContext, TeamContext, UserContext } from \"../../../../../context\";\r\nimport { Phase } from \"../../../../../util/enums\";\r\nimport { ICard } from \"../../../../../interfaces\";\r\n\r\nimport { useWindowDimensions } from \"../../../../../hooks\";\r\nimport { InfoButton } from \"../../..\";\r\n\r\ninterface StrengthCardProps {\r\n cardData: ICard;\r\n isFullScreenOn?: boolean;\r\n strengthCardIndex?: number;\r\n}\r\n\r\nconst StrengthCard: FC = ({cardData, isFullScreenOn, strengthCardIndex}) => {\r\n const { game, teamNumber } = useContext(TeamContext);\r\n const { userData } = useContext(UserContext);\r\n const { instructionTutorial } = useContext(BoardContext);\r\n const { width } = useWindowDimensions();\r\n const [displayInfo, setDisplayInfo] = useState(false);\r\n const pathname : string | undefined = window.location.pathname;\r\n const isPageSlotMachineDemoRendered : boolean = pathname.includes(\"/slotmachineDemo\");\r\n const isBrowserWidthNecessary : boolean = (teamNumber && userData && game?.phase === Phase.SLOT_MACHINE) || isPageSlotMachineDemoRendered;\r\n const isThisSlotMachinePage : boolean = (game?.phase === Phase.SLOT_MACHINE || isPageSlotMachineDemoRendered);\r\n const strengthCardWidth = isBrowserWidthNecessary ? width * 0.1555 : \"\";\r\n\r\n const getStrengthCardsStyle = () => {\r\n if (isFullScreenOn) return showStrengthsOnFullScreen();\r\n if (isThisSlotMachinePage) return renderStrenghtCardTypeSlotmachine();\r\n if (!isThisSlotMachinePage) return renderStrenghtCardTypeGame();\r\n }\r\n \r\n const renderStrenghtCardTypeSlotmachine = () => {\r\n return (\r\n
\r\n \r\n
\r\n setDisplayInfo(!displayInfo)} cardType={cardData.type} />\r\n
\r\n\r\n
\r\n
\r\n {!displayInfo &&

{cardData.description}

}\r\n { displayInfo && \r\n
\r\n {cardData.info}\r\n
}\r\n
\r\n
\r\n ); \r\n }\r\n\r\n const renderStrenghtCardTypeGame = () => {\r\n return (\r\n
\r\n \r\n
\r\n
\r\n setDisplayInfo(!displayInfo)} cardType={cardData.type} />\r\n
\r\n
\r\n {!displayInfo &&

{cardData.description}

}\r\n { displayInfo &&
{cardData.info}
}\r\n
\r\n
\r\n \r\n
\r\n ); \r\n }\r\n\r\n const showStrengthsOnFullScreen = () => {\r\n return (\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n setDisplayInfo(!displayInfo)} cardType={cardData.type} />\r\n
\r\n
\r\n {!displayInfo &&

{cardData.description}

}\r\n { displayInfo && \r\n
\r\n {cardData.info}\r\n
}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n ); \r\n }\r\n\r\n return (\r\n \r\n {getStrengthCardsStyle()}\r\n \r\n );\r\n}\r\n\r\nexport default StrengthCard;","import React, { FC } from \"react\"\r\n\r\nimport { ICard } from \"../../../../../interfaces\";\r\nimport { CardType } from \"../../../../../util/enums\";\r\n\r\ninterface ChallengeCardProps {\r\n cardData: ICard;\r\n}\r\n\r\nconst ChallengeCards: FC = ({cardData}) => {\r\n const isThisQuestionCard = cardData.type === CardType.QUESTION;\r\n\r\n const renderChallengeCardTypes = () => {\r\n return (\r\n
\r\n
\r\n
\r\n

{cardData.title}

\r\n

{cardData.content}

\r\n
\r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n {renderChallengeCardTypes()}\r\n \r\n );\r\n}\r\n\r\nexport default ChallengeCards;","export default __webpack_public_path__ + \"static/media/action.586ac0ee.svg\";","import { FC, useContext } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { BoardContext, SocketContext } from \"../../../context\";\r\nimport { MainButton } from \"../../atoms\";\r\n\r\nconst AlertBox: FC<{}> = () => {\r\n const { t } = useTranslation();\r\n const { finishActionCardSocketEvent } = useContext(SocketContext);\r\n const { areYouSureBoxRendered, setAreYouSureBoxRendered } = useContext(BoardContext);\r\n\r\n const executeSelectedFunction = () => {\r\n\r\n switch(areYouSureBoxRendered.pendingFunctionName){\r\n case \"finishActionCardSocketEvent\": finishActionCardSocketEvent();\r\n }\r\n\r\n closeTheAreYouSureBox();\r\n }\r\n\r\n const closeTheAreYouSureBox = () => {\r\n setAreYouSureBoxRendered({isBoxActive: false, pendingFunctionName: \"\", message: \"\"});\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {areYouSureBoxRendered.message} \r\n
\r\n
\r\n
closeTheAreYouSureBox() } />
\r\n
executeSelectedFunction() } />
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default AlertBox;","export default __webpack_public_path__ + \"static/media/upTokenCoin.97b33507.svg\";","import { Phase } from \"../../../../util/enums\";\r\n\r\nconst generateLeftAndRightPositionDistance = (angleInDegrees: number, isAvatarCheering: boolean, game: any): { bottom_position_of_profile_box: string, left_position_of_profile_box: string } => {\r\n\r\n\r\n const angleInRadians = angleInDegrees * Math.PI / 180.1;\r\n const halfOfTheInputAngle = angleInRadians / 2\r\n let ratioForTheDstanceNeededToBringProfileCloserToTheAvatar: number = Math.cos(2*halfOfTheInputAngle);\r\n let moveAvatarsFurther = false;\r\n\r\n if(isAvatarCheering || game.phase === Phase.CHOOSING_SOLUTION_CARDS){\r\n moveAvatarsFurther = true;\r\n }\r\n\r\n let bottom_position_of_profile_box = moveAvatarsFurther ? \"-45px\" : \"-25px\";\r\n let left_position_of_profile_box = moveAvatarsFurther ? \"-90px\" : \"-80px\";\r\n\r\n if ( Math.sin(angleInDegrees) === 0 && game?.players.length > 5) {\r\n bottom_position_of_profile_box = \"-2vw\";\r\n left_position_of_profile_box = \"-3vw\";\r\n return { bottom_position_of_profile_box, left_position_of_profile_box };\r\n }\r\n\r\n if (ratioForTheDstanceNeededToBringProfileCloserToTheAvatar > 0.998) {\r\n bottom_position_of_profile_box = moveAvatarsFurther ? `260px` : `210px`;\r\n left_position_of_profile_box = \"-2vw\";\r\n }\r\n\r\n if (ratioForTheDstanceNeededToBringProfileCloserToTheAvatar < -0.998) {\r\n bottom_position_of_profile_box = moveAvatarsFurther ? `-100px` : `-70px`;\r\n left_position_of_profile_box = \"-80px\";\r\n }\r\n\r\n return { bottom_position_of_profile_box, left_position_of_profile_box };\r\n}\r\n\r\nexport default generateLeftAndRightPositionDistance;","export default __webpack_public_path__ + \"static/media/blueExclamationCrownToRight.3581d625.svg\";","export default __webpack_public_path__ + \"static/media/greenExclamationCrownToRight.3fae0764.svg\";","export default __webpack_public_path__ + \"static/media/yellowExclamationCrownToRight.dc443d0a.svg\";","export default __webpack_public_path__ + \"static/media/pinkExclamationCrownToRight.e4a3fa98.svg\";","export default __webpack_public_path__ + \"static/media/blueExclamationCrownToLeft.423e150b.svg\";","export default __webpack_public_path__ + \"static/media/greenExclamationCrownToLeft.77934d6a.svg\";","export default __webpack_public_path__ + \"static/media/yellowExclamationCrownToLeft.8af649a8.svg\";","export default __webpack_public_path__ + \"static/media/pinkExclamationCrownToLeft.0a34d577.svg\";","export default __webpack_public_path__ + \"static/media/blueQuestionCrownToRight.b6b2f1ae.svg\";","export default __webpack_public_path__ + \"static/media/greenQuestionCrownToRight.763d34f3.svg\";","export default __webpack_public_path__ + \"static/media/yellowQuestionCrownToRight.b3b38ec9.svg\";","export default __webpack_public_path__ + \"static/media/pinkQuestionCrownToRight.8873a1fd.svg\";","export default __webpack_public_path__ + \"static/media/blueQuestionCrownToLeft.831ec305.svg\";","export default __webpack_public_path__ + \"static/media/greenQuestionCrownToLeft.ebbc57ac.svg\";","export default __webpack_public_path__ + \"static/media/yellowQuestionCrownToLeft.9e09f98f.svg\";","export default __webpack_public_path__ + \"static/media/pinkQuestionCrownToLeft.f940f4b8.svg\";","export default __webpack_public_path__ + \"static/media/blueSquareCrownToRight.7e40abef.svg\";","export default __webpack_public_path__ + \"static/media/greenSquareCrownToRight.fdad4ea3.svg\";","export default __webpack_public_path__ + \"static/media/yellowSquareCrownToRight.2cdc83af.svg\";","export default __webpack_public_path__ + \"static/media/pinkSquareCrownToRight.ef69ce22.svg\";","export default __webpack_public_path__ + \"static/media/blueSquareCrownToLeft.7df41812.svg\";","export default __webpack_public_path__ + \"static/media/greenSquareCrownToLeft.1a9ed3d4.svg\";","export default __webpack_public_path__ + \"static/media/yellowSquareCrownToLeft.571f2e11.svg\";","export default __webpack_public_path__ + \"static/media/pinkSquareCrownToLeft.19d55a34.svg\";","//RIGHT\r\nimport blueExclamationCrownToRight from \"../../../../assets/icons/dilemmaOwnerCrowns/blueExclamationCrownToRight.svg\";\r\nimport greenExclamationCrownToRight from \"../../../../assets/icons/dilemmaOwnerCrowns/greenExclamationCrownToRight.svg\";\r\nimport yellowExclamationCrownToRight from \"../../../../assets/icons/dilemmaOwnerCrowns/yellowExclamationCrownToRight.svg\";\r\nimport pinkExclamationCrownToRight from \"../../../../assets/icons/dilemmaOwnerCrowns/pinkExclamationCrownToRight.svg\";\r\n\r\n//LEFT\r\nimport blueExclamationCrownToLeft from \"../../../../assets/icons/dilemmaOwnerCrowns/blueExclamationCrownToLeft.svg\";\r\nimport greenExclamationCrownToLeft from \"../../../../assets/icons/dilemmaOwnerCrowns/greenExclamationCrownToLeft.svg\";\r\nimport yellowExclamationCrownToLeft from \"../../../../assets/icons/dilemmaOwnerCrowns/yellowExclamationCrownToLeft.svg\";\r\nimport pinkExclamationCrownToLeft from \"../../../../assets/icons/dilemmaOwnerCrowns/pinkExclamationCrownToLeft.svg\";\r\n\r\n//RIGHT\r\nimport blueQuestionCrownToRight from \"../../../../assets/icons/dilemmaOwnerCrowns/blueQuestionCrownToRight.svg\";\r\nimport greenQuestionCrownToRight from \"../../../../assets/icons/dilemmaOwnerCrowns/greenQuestionCrownToRight.svg\";\r\nimport yellowQuestionCrownToRight from \"../../../../assets/icons/dilemmaOwnerCrowns/yellowQuestionCrownToRight.svg\";\r\nimport pinkQuestionCrownToRight from \"../../../../assets/icons/dilemmaOwnerCrowns/pinkQuestionCrownToRight.svg\";\r\n\r\n//LEFT\r\nimport blueQuestionCrownToLeft from \"../../../../assets/icons/dilemmaOwnerCrowns/blueQuestionCrownToLeft.svg\";\r\nimport greenQuestionCrownToLeft from \"../../../../assets/icons/dilemmaOwnerCrowns/greenQuestionCrownToLeft.svg\";\r\nimport yellowQuestionCrownToLeft from \"../../../../assets/icons/dilemmaOwnerCrowns/yellowQuestionCrownToLeft.svg\";\r\nimport pinkQuestionCrownToLeft from \"../../../../assets/icons/dilemmaOwnerCrowns/pinkQuestionCrownToLeft.svg\";\r\n\r\n//RIGHT\r\nimport blueSquareCrownToRight from \"../../../../assets/icons/dilemmaOwnerCrowns/blueSquareCrownToRight.svg\";\r\nimport greenSquareCrownToRight from \"../../../../assets/icons/dilemmaOwnerCrowns/greenSquareCrownToRight.svg\";\r\nimport yellowSquareCrownToRight from \"../../../../assets/icons/dilemmaOwnerCrowns/yellowSquareCrownToRight.svg\";\r\nimport pinkSquareCrownToRight from \"../../../../assets/icons/dilemmaOwnerCrowns/pinkSquareCrownToRight.svg\";\r\n\r\n//LEFT\r\nimport blueSquareCrownToLeft from \"../../../../assets/icons/dilemmaOwnerCrowns/blueSquareCrownToLeft.svg\";\r\nimport greenSquareCrownToLeft from \"../../../../assets/icons/dilemmaOwnerCrowns/greenSquareCrownToLeft.svg\";\r\nimport yellowSquareCrownToLeft from \"../../../../assets/icons/dilemmaOwnerCrowns/yellowSquareCrownToLeft.svg\";\r\nimport pinkSquareCrownToLeft from \"../../../../assets/icons/dilemmaOwnerCrowns/pinkSquareCrownToLeft.svg\";\r\n\r\nconst getDilemmaOwnerCrownImage = (playerColor: string, crownType: string, angleInDegrees: number) => {\r\n let crownBasedOnUserColor: any;\r\n\r\n if (angleInDegrees === 180) {\r\n if (crownType === \"question\") {\r\n switch (playerColor) {\r\n case \"pink\": {\r\n crownBasedOnUserColor = pinkQuestionCrownToLeft;\r\n break;\r\n }\r\n case \"blue\": {\r\n crownBasedOnUserColor = blueQuestionCrownToLeft;\r\n break;\r\n }\r\n case \"green\": {\r\n crownBasedOnUserColor = greenQuestionCrownToLeft;\r\n break;\r\n }\r\n case \"yellow\": {\r\n crownBasedOnUserColor = yellowQuestionCrownToLeft;\r\n }\r\n }\r\n return crownBasedOnUserColor;\r\n }\r\n\r\n if (crownType === \"action\") {\r\n switch (playerColor) {\r\n case \"pink\": {\r\n crownBasedOnUserColor = pinkExclamationCrownToLeft;\r\n break;\r\n }\r\n case \"blue\": {\r\n crownBasedOnUserColor = blueExclamationCrownToLeft;\r\n break;\r\n }\r\n case \"green\": {\r\n crownBasedOnUserColor = greenExclamationCrownToLeft;\r\n break;\r\n }\r\n case \"yellow\": {\r\n crownBasedOnUserColor = yellowExclamationCrownToLeft;\r\n }\r\n }\r\n return crownBasedOnUserColor;\r\n }\r\n\r\n if (crownType === \"initial\") {\r\n switch (playerColor) {\r\n case \"pink\": {\r\n crownBasedOnUserColor = pinkSquareCrownToLeft;\r\n break;\r\n }\r\n case \"blue\": {\r\n crownBasedOnUserColor = blueSquareCrownToLeft;\r\n break;\r\n }\r\n case \"green\": {\r\n crownBasedOnUserColor = greenSquareCrownToLeft;\r\n break;\r\n }\r\n case \"yellow\": {\r\n crownBasedOnUserColor = yellowSquareCrownToLeft;\r\n }\r\n }\r\n return crownBasedOnUserColor;\r\n }\r\n }\r\n\r\n switch (playerColor) {\r\n case \"pink\": {\r\n if (crownType === \"initial\")\r\n crownBasedOnUserColor = pinkSquareCrownToRight;\r\n\r\n if (crownType === \"action\")\r\n crownBasedOnUserColor = pinkExclamationCrownToRight;\r\n\r\n if (crownType === \"question\")\r\n crownBasedOnUserColor = pinkQuestionCrownToRight;\r\n break;\r\n }\r\n case \"blue\": {\r\n if (crownType === \"initial\")\r\n crownBasedOnUserColor = blueSquareCrownToRight;\r\n\r\n if (crownType === \"action\")\r\n crownBasedOnUserColor = blueExclamationCrownToRight;\r\n\r\n if (crownType === \"question\")\r\n crownBasedOnUserColor = blueQuestionCrownToRight;\r\n break;\r\n }\r\n case \"green\": {\r\n if (crownType === \"initial\")\r\n crownBasedOnUserColor = greenSquareCrownToRight;\r\n\r\n if (crownType === \"action\")\r\n crownBasedOnUserColor = greenExclamationCrownToRight;\r\n\r\n if (crownType === \"question\")\r\n crownBasedOnUserColor = greenQuestionCrownToRight;\r\n break;\r\n }\r\n case \"yellow\": {\r\n if (crownType === \"initial\")\r\n crownBasedOnUserColor = yellowSquareCrownToRight;\r\n\r\n if (crownType === \"action\")\r\n crownBasedOnUserColor = yellowExclamationCrownToRight;\r\n\r\n if (crownType === \"question\")\r\n crownBasedOnUserColor = yellowQuestionCrownToRight;\r\n break;\r\n }\r\n }\r\n\r\n return crownBasedOnUserColor;\r\n}\r\n\r\nexport default getDilemmaOwnerCrownImage;","import { FC, useContext } from \"react\";\r\nimport {\r\n BoardContext,\r\n TableContext,\r\n TeamContext,\r\n UserContext,\r\n} from \"../../../context\";\r\nimport UpTokenCoin from \"../../../assets/icons/upTokenCoin.svg\";\r\nimport { generateLeftAndRightPositionDistance } from \"./helpers\";\r\nimport { DilemmaOwnerCrown } from \"../../molecules\";\r\nimport { IPlayer } from \"../../../interfaces\";\r\n\r\ninterface ITablePlayerMiniProfile {\r\n index: number;\r\n angleInDegrees: number;\r\n onePercentageOfBrowserWidth: number;\r\n player: IPlayer;\r\n}\r\n\r\nconst TablePlayerMiniProfile: FC = ({\r\n index,\r\n angleInDegrees,\r\n onePercentageOfBrowserWidth,\r\n player,\r\n}) => {\r\n const { game } = useContext(TeamContext);\r\n const { isAvatarCheering, renderInitialCoins } = useContext(BoardContext);\r\n const { setEmailOfSelectedPlayerBoard } = useContext(UserContext);\r\n const {\r\n updateUserAngles,\r\n areAvatarsCurentlyResting,\r\n setAreAvatarsCurentlyResting,\r\n\tsetAreAnimatedHandsShown,\r\n\tsetStrengthCardsAnimationDuringAvatarRotation\r\n } = useContext(TableContext);\r\n const { bottom_position_of_profile_box, left_position_of_profile_box } = generateLeftAndRightPositionDistance(angleInDegrees, isAvatarCheering, game);\r\n const angleInRadians = (angleInDegrees * Math.PI) / 180.1;\r\n const angleMistakeInDegrees = 10;\r\n const adjustedAngleForUserMiniProfile =\r\n angleMistakeInDegrees * Math.sin(2 * angleInRadians);\r\n const lowerUserImageOn90Degrees = angleInDegrees === 90 ? \"1vw\" : \"0\";\r\n const distanceUserImageOn90Degrees = angleInDegrees === 90 ? \"-1vh\" : \"0\";\r\n const upperTokens = game?.gameInfo.players[player?.email]\r\n ? game?.gameInfo.players[player?.email]?.upperTokens\r\n : 0;\r\n\r\n let initialRippleAnimation = \"\";\r\n\r\n if (renderInitialCoins) {\r\n initialRippleAnimation = `animation_ripple animation_ripple_delay_${\r\n (index + 1) * 4\r\n } `;\r\n }\r\n\r\n const userProfile = () => {\r\n return (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t
{player?.nickname}
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{upperTokens}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n );\r\n };\r\n\r\n const disableAvatarsRotationTemorarily = () => {\r\n setStrengthCardsAnimationDuringAvatarRotation(true);\r\n\tsetAreAvatarsCurentlyResting(false);\r\n\r\n setTimeout(() => {\r\n \tsetAreAvatarsCurentlyResting(true);\r\n\t\t setStrengthCardsAnimationDuringAvatarRotation(false);\r\n }, 3000);\r\n };\r\n\r\n const activateAnimationOfCardsWhileAvatarsRotate = () => {\r\n\tsetAreAnimatedHandsShown(false)\r\n\r\n\tsetTimeout(() => {\r\n\t\tsetAreAnimatedHandsShown(true);\r\n }, 1000);\r\n }\r\n\r\n const seeTheSelectedUserCards = () => {\r\n if (areAvatarsCurentlyResting) {\r\n\t\tupdateUserAngles(index);\r\n\t\tdisableAvatarsRotationTemorarily();\r\n\t\tactivateAnimationOfCardsWhileAvatarsRotate();\r\n }\r\n };\r\n\r\n const setChoosenPlayer = (email: any) => {\r\n if (areAvatarsCurentlyResting) {\r\n \tsetEmailOfSelectedPlayerBoard(email);\r\n }\r\n };\r\n\r\n return (\r\n {\r\n\t\t\t// Rotation disabled and seeing other players cards\r\n\t\t\t//setChoosenPlayer(player.email);\r\n\t\t\t//seeTheSelectedUserCards();\r\n\t\t}}\r\n\t\tstyle={{ transform: `scale(${onePercentageOfBrowserWidth})` }}\r\n >\r\n \r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{userProfile()}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\r\n \t\r\n \r\n );\r\n};\r\n\r\nexport default TablePlayerMiniProfile;\r\n","const adjustEllipseTangentAngle = (users_angle_to_the_center: number, ellipseWidth: any, ellipseHeight: number) => {\r\n let angle_needed_for_the_user_to_move_to_be_vertically_aligned = 270;\r\n\r\n let adjustment_sine: any = Math.sin(2 * users_angle_to_the_center * Math.PI / 180.1).toFixed(2);\r\n let adjusment_angle_based_on_width_and_height: any = ellipseWidth / ellipseHeight * 10;\r\n let adjustment_additional_angle = Math.round(adjusment_angle_based_on_width_and_height * adjustment_sine);\r\n let adjustedAngleIsNotEnoughSoItHasToBeMultiplieedWithThis = 1.8\r\n let result = angle_needed_for_the_user_to_move_to_be_vertically_aligned + adjustedAngleIsNotEnoughSoItHasToBeMultiplieedWithThis*adjustment_additional_angle;\r\n\r\n return result;\r\n}\r\n\r\nexport default adjustEllipseTangentAngle;","import { FC, useContext } from \"react\";\r\nimport { AvatarCheering, AvatarHoldingCards } from \"..\";\r\nimport { BoardContext } from \"../../../context\";\r\nimport { useWindowDimensions } from \"../../../hooks\";\r\nimport { adjustEllipseTangentAngle } from \"./helpers\";\r\n\r\ninterface IAvatarPosition {\r\n avatarProps: {\r\n index: number,\r\n player: any,\r\n ellipseWidth: number,\r\n radius: number,\r\n currentAngleInDegrees: number,\r\n onePercentageOfBrowserWidth: number,\r\n avatarColor: string\r\n }\r\n}\r\n\r\nconst AvatarPosition: FC = (props) => {\r\n const { index, ellipseWidth, currentAngleInDegrees, onePercentageOfBrowserWidth, avatarColor } = props.avatarProps;\r\n\r\n const { width } = useWindowDimensions();\r\n const { isAvatarCheering, renderInitialCoins } = useContext(BoardContext);\r\n\r\n const wrapper_of_avatar_sprint_png_height = 300;\r\n const scale_percentage_of_the_avatar = 0.7;\r\n const scalability_percentage = onePercentageOfBrowserWidth * scale_percentage_of_the_avatar;\r\n const positioning_error = wrapper_of_avatar_sprint_png_height / 2 - (scalability_percentage * wrapper_of_avatar_sprint_png_height * 0.5) / 2;\r\n\r\n let initialRippleAnimation = \"\";\r\n\r\n if (renderInitialCoins) {\r\n initialRippleAnimation = `animation_ripple animation_ripple_delay_${(index + 1) * 4} `\r\n }\r\n\r\n return (\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {isAvatarCheering ? : }\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n )\r\n}\r\n\r\nexport default AvatarPosition;","import React, { FC, useEffect, useState } from \"react\";\r\nimport { useWindowDimensions } from \"../../../hooks\";\r\nimport { IPlayer } from \"../../../interfaces\";\r\n\r\nimport TablePlayerMiniProfile from \"../Player/TablePlayerMiniProfile\";\r\nimport AvatarPosition from \"./AvatarPosition\";\r\n\r\ninterface IAvatarBoxHolderMemo {\r\n player: IPlayer;\r\n index: number;\r\n oldAngleInDegrees: number | undefined;\r\n angleInDegrees: number;\r\n ellipseWidth: number;\r\n ellipseHeight: number;\r\n avatarColor: string;\r\n}\r\n\r\nconst AvatarBoxHolderMemo: FC = (props) => {\r\n const { player, index, oldAngleInDegrees, angleInDegrees, ellipseWidth, ellipseHeight, avatarColor } = props;\r\n const { width } = useWindowDimensions();\r\n const initialScreenWidthInPixels = 1500;\r\n const onePercentageOfBrowserWidth = width / initialScreenWidthInPixels;\r\n const [currentAngleInDegrees, setCurrentAngleInDegrees] = useState(angleInDegrees);\r\n\r\n useEffect(() => {\r\n if (oldAngleInDegrees !== undefined)\r\n setCurrentAngleInDegrees(oldAngleInDegrees);\r\n\r\n if (oldAngleInDegrees === undefined) {\r\n if (angleInDegrees === 0) \r\n setCurrentAngleInDegrees(360);\r\n \r\n setCurrentAngleInDegrees(angleInDegrees);\r\n }\r\n \r\n }, [angleInDegrees, oldAngleInDegrees]);\r\n\r\n const shiftTheAngle = (increment: number) => {\r\n setTimeout(() => {\r\n setCurrentAngleInDegrees(currentAngleInDegrees + increment);\r\n }, 50);\r\n }\r\n\r\n const angleInRadians = currentAngleInDegrees * Math.PI / 180;\r\n let radius = 600;\r\n\r\n const sineSquare = Math.sin(angleInRadians) * Math.sin(angleInRadians);\r\n const cosineSquare = Math.cos(angleInRadians) * Math.cos(angleInRadians);\r\n const equation_denominator = Math.sqrt(ellipseWidth * ellipseWidth * sineSquare + ellipseHeight * ellipseHeight * cosineSquare);\r\n const equation_numerator = ellipseWidth * ellipseHeight;\r\n radius = Math.round(equation_numerator / equation_denominator);\r\n\r\n const avatarProps = { index, player, ellipseWidth, radius, currentAngleInDegrees, onePercentageOfBrowserWidth, avatarColor };\r\n let endValue = angleInDegrees;\r\n \r\n if(oldAngleInDegrees !== undefined && angleInDegrees === 0){\r\n if(endValue !== oldAngleInDegrees)\r\n endValue = 360;\r\n }\r\n\r\n if(oldAngleInDegrees !== undefined && endValue - oldAngleInDegrees < 0){\r\n let saver = 0;\r\n saver = 360 - oldAngleInDegrees + endValue;\r\n endValue = oldAngleInDegrees + saver;\r\n }\r\n return (\r\n
\r\n {currentAngleInDegrees < endValue && shiftTheAngle(10)}\r\n \r\n\r\n \r\n
\r\n )\r\n}\r\nconst AvatarBoxHolder = React.memo( AvatarBoxHolderMemo );\r\n\r\nexport default AvatarBoxHolder;","export default __webpack_public_path__ + \"static/media/YellowPlayerIdleMin.f69db21a.png\";","export default __webpack_public_path__ + \"static/media/PinkPlayerIdleMin.e24ab56a.png\";","export default __webpack_public_path__ + \"static/media/BluePlayerIdleMin.18579d7b.png\";","export default __webpack_public_path__ + \"static/media/GreenPlayerIdleMin.7303da59.png\";","export default __webpack_public_path__ + \"static/media/YellowPlayerTransitionMin.9c9b7ca6.png\";","export default __webpack_public_path__ + \"static/media/PinkPlayerTransitionMin.98fb21af.png\";","export default __webpack_public_path__ + \"static/media/BluePlayerTransitionMin.411a9e51.png\";","export default __webpack_public_path__ + \"static/media/GreenPlayerTransitionMin.6ea79365.png\";","import { FC, useContext, useEffect, useState } from \"react\";\r\n\r\nimport YellowPlayerIdleMin from \"../../../assets/avatars/avatarsHoldingCards/YellowPlayerIdleMin.png\";\r\nimport PinkPlayerIdleMin from \"../../../assets/avatars/avatarsHoldingCards/PinkPlayerIdleMin.png\";\r\nimport BluePlayerIdleMin from \"../../../assets/avatars/avatarsHoldingCards/BluePlayerIdleMin.png\";\r\nimport GreenPlayerIdleMin from \"../../../assets/avatars/avatarsHoldingCards/GreenPlayerIdleMin.png\";\r\n\r\nimport YellowPlayerTransitionMin from \"../../../assets/avatars/avatarsHandsUp/YellowPlayerTransitionMin.png\";\r\nimport PinkPlayerTransitionMin from \"../../../assets/avatars/avatarsHandsUp/PinkPlayerTransitionMin.png\";\r\nimport BluePlayerTransitionMin from \"../../../assets/avatars/avatarsHandsUp/BluePlayerTransitionMin.png\";\r\nimport GreenPlayerTransitionMin from \"../../../assets/avatars/avatarsHandsUp/GreenPlayerTransitionMin.png\";\r\n\r\n\r\nimport { TeamContext } from \"../../../context\";\r\nimport { Phase } from \"../../../util/enums\";\r\nimport { useSound } from \"../../../hooks\";\r\n\r\n\r\ninterface IAvatar {\r\n avatarColor: string;\r\n}\r\n\r\nconst AvatarHoldingCards: FC = ({ avatarColor }) => {\r\n const {game} = useContext(TeamContext);\r\n const [isTransitionOver, setIsTransitionOver] = useState(false);\r\n const {playSound} = useSound();\r\n \r\n useEffect(() => {\r\n const greetingSound = setTimeout(() => {\r\n playSound(\"/sounds/MusicPositive2.mp3\");\r\n });\r\n return () => clearTimeout(greetingSound);\r\n\r\n },[playSound]);\r\n\r\n \r\n useEffect(() => {\r\n const greetingSound = setTimeout(() => {\r\n playSound(\"/sounds/PositiveAlert3.mp3\");\r\n },3800);\r\n return () => clearTimeout(greetingSound);\r\n \r\n },[playSound]);\r\n \r\n\r\n if(game?.phase === Phase.CHOOSING_SOLUTION_CARDS){\r\n return (\r\n
\r\n {avatarColor === \"avatar_yellow\" && \"user_avatar\"}\r\n {avatarColor === \"avatar_pink\" && \"user_avatar\"}\r\n {avatarColor === \"avatar_blue\" && \"user_avatar\"}\r\n {avatarColor === \"avatar_green\" && \"user_avatar\"}\r\n
\r\n )\r\n }\r\n \r\n if(game?.phase === Phase.PICK_DILEMMA && !isTransitionOver){\r\n setTimeout(() => {\r\n setIsTransitionOver(true);\r\n }, 600);\r\n return (\r\n
\r\n {avatarColor === \"avatar_yellow\" && \"user_avatar\"}\r\n {avatarColor === \"avatar_pink\" && \"user_avatar\"}\r\n {avatarColor === \"avatar_blue\" && \"user_avatar\"}\r\n {avatarColor === \"avatar_green\" && \"user_avatar\"}\r\n
\r\n )\r\n }\r\n\r\n return (\r\n
\r\n {avatarColor === \"avatar_yellow\" && \"user_avatar\"}\r\n {avatarColor === \"avatar_pink\" && \"user_avatar\"}\r\n {avatarColor === \"avatar_blue\" && \"user_avatar\"}\r\n {avatarColor === \"avatar_green\" && \"user_avatar\"}\r\n
\r\n )\r\n}\r\n\r\nexport default AvatarHoldingCards;","export default __webpack_public_path__ + \"static/media/YellowPlayerCheeringMin.c2b4d829.png\";","export default __webpack_public_path__ + \"static/media/PinkPlayerCheeringMin.1d2e7eab.png\";","export default __webpack_public_path__ + \"static/media/BluePlayerCheeringMin.c703ffb7.png\";","export default __webpack_public_path__ + \"static/media/GreenPlayerCheeringMin.5fc25cf1.png\";","import { FC } from \"react\";\r\n\r\nimport YellowPlayerCheeringMin from \"../../../assets/avatars/avatarsCheering/YellowPlayerCheeringMin.png\";\r\nimport PinkPlayerCheeringMin from \"../../../assets/avatars/avatarsCheering/PinkPlayerCheeringMin.png\";\r\nimport BluePlayerCheeringMin from \"../../../assets/avatars/avatarsCheering/BluePlayerCheeringMin.png\";\r\nimport GreenPlayerCheeringMin from \"../../../assets/avatars/avatarsCheering/GreenPlayerCheeringMin.png\";\r\n\r\ninterface IAvatar {\r\n avatarColor: string;\r\n}\r\n\r\nconst AvatarCheering: FC = ({ avatarColor }) => {\r\n\r\n return (\r\n
\r\n {avatarColor === \"avatar_yellow\" && \"user_avatar\"}\r\n {avatarColor === \"avatar_pink\" && \"user_avatar\"}\r\n {avatarColor === \"avatar_blue\" && \"user_avatar\"}\r\n {avatarColor === \"avatar_green\" && \"user_avatar\"}\r\n
\r\n )\r\n}\r\n\r\nexport default AvatarCheering;","import React, { useContext } from \"react\";\r\n\r\nimport { QuestionCardOnTheTable, ActivationCelebration } from \"..\";\r\nimport { TeamContext } from \"../../../context\";\r\nimport { useBoardDisplayView } from \"../../../hooks\";\r\nimport { Phase } from \"../../../util/enums\";\r\n\r\nconst ChallengeCardOnTheTable = () => {\r\n const { game } = useContext(TeamContext);\r\n const [challengeCard, displayView ] = useBoardDisplayView();\r\n const dilemmaOwnerImage = `${process.env.REACT_APP_BACKEND_URL}${game?.players.find( (item: any) => item.email === game.gameInfo.currentPlayerEmail)?.image}` || \"\";\r\n\r\n const renderDisplayView = () => {\r\n \r\n if(displayView === 'teamCelebration')\r\n return ( );\r\n \r\n if (displayView === \"question\" && game?.phase === Phase.QUESTION_CARD)\r\n return ( );\r\n\r\n if (displayView === \"initial\")\r\n return (
);\r\n }\r\n\r\n return (\r\n \r\n {renderDisplayView()}\r\n \r\n )\r\n\r\n\r\n}\r\n\r\nexport default ChallengeCardOnTheTable;","import { FC } from \"react\";\r\nimport { RenderQuestionToDisplay } from \"..\";\r\nimport { IChallengeCardsBoard } from \"../../../interfaces\";\r\n\r\ninterface IQuestionCardOnTheTable {\r\n challengeCard: IChallengeCardsBoard;\r\n dilemmaOwnerImage: any;\r\n}\r\n\r\nconst QuestionCardOnTheTable: FC = (props) => {\r\n const { challengeCard, dilemmaOwnerImage } = props;\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default QuestionCardOnTheTable;","import React,{ FC } from \"react\";\r\n\r\nimport { FrontSide} from \"../../atoms\";\r\nimport { ICard } from \"../../../interfaces\";\r\n\r\ninterface CardProps {\r\n card: ICard\r\n}\r\n\r\nconst Card: FC = ({card}) => {\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Card;","export default __webpack_public_path__ + \"static/media/str_card.5e801d8d.svg\";","import { FC } from \"react\";\r\nimport { ICard } from \"../../../interfaces\";\r\n\r\nimport frontSideAction from \"../../../assets/cards/str_card.svg\";\r\n\r\ninterface IStrengthCardReadOnly {\r\n cardData: ICard;\r\n isSmall?: boolean;\r\n}\r\nconst StrengthCardReadOnly: FC = ({ cardData, isSmall }) => {\r\n\r\n if(isSmall){\r\n return(\r\n
\r\n \"front\r\n
\r\n
\r\n

{cardData.description}

\r\n
\r\n
\r\n
\r\n )\r\n }\r\n\r\n return (\r\n
\r\n \"front\r\n
\r\n
\r\n

{cardData.description}

\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default StrengthCardReadOnly;","export default __webpack_public_path__ + \"static/media/joker.51c2087e.svg\";","export default __webpack_public_path__ + \"static/media/emotional.681a625d.svg\";","export default __webpack_public_path__ + \"static/media/social.d24791b4.svg\";","export default __webpack_public_path__ + \"static/media/mental.88f71293.svg\";","export default __webpack_public_path__ + \"static/media/physical.f5c75998.svg\";","import { FC } from \"react\";\r\nimport { ICard } from \"../../../interfaces\";\r\n\r\nimport frontSideJoker from \"../../../assets/cards/joker.svg\";\r\nimport frontSideEmotional from \"../../../assets/cards/emotional.svg\";\r\nimport frontSideSocial from \"../../../assets/cards/social.svg\";\r\nimport frontSideMental from \"../../../assets/cards/mental.svg\";\r\nimport frontSidePhysical from \"../../../assets/cards/physical.svg\";\r\n\r\ninterface ISolutionCardReadOnly {\r\n cardData: ICard;\r\n paddingFromTopInVw?: number;\r\n}\r\n\r\nconst SolutionCardReadOnly: FC = ({ cardData, paddingFromTopInVw }) => {\r\n let paddingfromTop: string =\"4.5vw 1.3vw 0 1.3vw\";\r\n if(paddingFromTopInVw){\r\n paddingfromTop = `${paddingFromTopInVw}vw 1.5vw 0 1.5vw`;\r\n }\r\n\r\n const getSolutionCardImageBy = () => {\r\n switch (cardData.type) {\r\n case \"Joker\": { return frontSideJoker; }\r\n case \"Emotional\": { return frontSideEmotional; }\r\n case \"Relations\": { return frontSideSocial; }\r\n case \"Mental\": { return frontSideMental; }\r\n case \"Physical\": { return frontSidePhysical; }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \"front\r\n
\r\n

{cardData.title}

\r\n

{cardData.description}

\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default SolutionCardReadOnly;","export default __webpack_public_path__ + \"static/media/question.cf326400.svg\";","\r\nimport { FC } from \"react\";\r\nimport { ICard } from \"../../../interfaces\";\r\n\r\nimport frontSideQuestion from \"../../../assets/cards/question.svg\";\r\n\r\ninterface IChallengeCardReadOnly {\r\n cardData: ICard;\r\n}\r\n\r\n\r\nconst ChallengeCardReadOnly: FC = ({ cardData }) => {\r\n\r\n return (\r\n
\r\n \"front\r\n
\r\n

{cardData.title}

\r\n

{cardData.description}

\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default ChallengeCardReadOnly;","import { FC } from \"react\";\r\n\r\nimport { CardType } from \"../../../../util/enums\";\r\nimport { CardSlot } from \"../../../atoms\";\r\nimport { useCard } from \"../../../../hooks\";\r\n\r\nconst RenderJokerSolutionCardType: FC<{}> = () => {\r\nconst [card] = useCard();\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default RenderJokerSolutionCardType;","import { FC, useContext } from \"react\";\r\n\r\nimport { CardContext } from \"../../../../context\";\r\nimport { CardType } from \"../../../../util/enums\";\r\nimport { CardSlot } from \"../../../atoms\";\r\nimport { useCard } from \"../../../../hooks\";\r\n\r\ninterface IRenderEmotionalCardType {\r\n isForceHoverOn?: boolean\r\n}\r\n\r\nconst RenderEmotionalCardType: FC = ({isForceHoverOn}) => {\r\nconst { solutionCardThatNeedsToFlip } = useContext(CardContext);\r\nconst [card] = useCard();\r\n\r\n return (\r\n
\r\n {solutionCardThatNeedsToFlip.emotional ?\r\n
\r\n :\r\n
\r\n \r\n
\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default RenderEmotionalCardType;","import { FC, useContext } from \"react\";\r\n\r\nimport { CardContext } from \"../../../../context\";\r\nimport { CardType } from \"../../../../util/enums\";\r\nimport { CardSlot } from \"../../../atoms\";\r\nimport { useCard } from \"../../../../hooks\";\r\n\r\nconst RenderSocialCardType: FC<{}> = () => {\r\n const { solutionCardThatNeedsToFlip } = useContext(CardContext);\r\n const [card] = useCard();\r\n\r\n return (\r\n
\r\n {solutionCardThatNeedsToFlip.social ?\r\n
\r\n :\r\n
\r\n \r\n
\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default RenderSocialCardType;","import { FC, useContext } from \"react\";\r\n\r\nimport { CardContext } from \"../../../../context\";\r\nimport { CardType } from \"../../../../util/enums\";\r\nimport { CardSlot } from \"../../../atoms\";\r\nimport { useCard } from \"../../../../hooks\";\r\n\r\nconst RenderMentalCardType: FC<{}> = () => {\r\n const { solutionCardThatNeedsToFlip } = useContext(CardContext);\r\n const [card] = useCard();\r\n\r\n return (\r\n
\r\n {solutionCardThatNeedsToFlip.mental ?\r\n
\r\n :\r\n
\r\n \r\n
\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default RenderMentalCardType;","import { FC, useContext } from \"react\";\r\n\r\nimport { CardContext } from \"../../../../context\";\r\nimport { CardType } from \"../../../../util/enums\";\r\nimport { CardSlot } from \"../../../atoms\";\r\nimport { useCard } from \"../../../../hooks\";\r\n\r\nconst RenderPhysicalCardType: FC<{}> = () => {\r\n const { solutionCardThatNeedsToFlip } = useContext(CardContext);\r\n const [card] = useCard();\r\n\r\n return (\r\n
\r\n {solutionCardThatNeedsToFlip.physical ?\r\n
\r\n :\r\n
\r\n \r\n
\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default RenderPhysicalCardType;","import { useEffect, useState, useContext } from 'react';\r\nimport { BoardContext, TableContext, TeamContext, UserContext } from \"../../../context\";\r\nimport { RenderEmotionalCardType, RenderSocialCardType, RenderMentalCardType, RenderPhysicalCardType, RenderJokerSolutionCardType } from '../MyBoard/subMyBoardComponents';\r\nimport { ArrowButton, PinkNotification } from '../../atoms';\r\nimport { useWindowDimensions } from '../../../hooks';\r\nimport { IPlayer } from '../../../interfaces';\r\n\r\nimport blueHands from \"../../../assets/avatars/avatarsHands/handsPlayerBlue.png\";\r\nimport pinkHands from \"../../../assets/avatars/avatarsHands/handsPlayerPink.png\";\r\nimport yellowHands from \"../../../assets/avatars/avatarsHands/handsPlayerYellow.png\";\r\nimport greenHands from \"../../../assets/avatars/avatarsHands/handsPlayerGreen.png\";\r\nimport { CardType, Phase } from '../../../util/enums';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\nconst CardsInHandMolecule = () => {\r\n const { t } = useTranslation();\r\n const { width } = useWindowDimensions();\r\n const { userData, setEmailOfSelectedPlayerBoard, playersInNewOrder } = useContext(UserContext);\r\n const { game } = useContext(TeamContext);\r\n const { instructionTutorial } = useContext(BoardContext);\r\n const { \r\n userAngles, \r\n areAnimatedHandsShown, \r\n setAreAnimatedHandsShown, \r\n isEmotionalCardVisible, \r\n isSocialCardVisible, \r\n isMentalCardVisible, \r\n isPhysicalCardVisible, \r\n theIndexOfTheUserPositionedAt270Degrees, \r\n updateUserAngles, \r\n areAvatarsCurentlyResting \r\n } = useContext(TableContext);\r\n\r\n const [playerOn270Degrees, setPlayerOn270Degrees] = useState({\r\n color: game?.players.find((player: IPlayer) => { return player.email === userData?.email })?.color || \"pink\",\r\n fullName: \"\",\r\n nickname: \"\",\r\n email: \"\",\r\n image: \"\",\r\n isReady: true\r\n });\r\n const [cardTypeThatWasProposed, setCardTypeThatWasProposed] = useState(\"\");\r\n const initialScreenWidthInPixels = 1500;\r\n const onePercentageOfBrowserWidth = width / initialScreenWidthInPixels;\r\n const scale_percentage_of_hands = 0.8;\r\n const scalability_percentage = onePercentageOfBrowserWidth * scale_percentage_of_hands;\r\n const isTheUserDilemaOwner = userData?.email === game?.gameInfo.currentPlayerEmail;\r\n let move_hands_from_bottom = `-${10 / onePercentageOfBrowserWidth}px`;\r\n\r\n if (!areAnimatedHandsShown) {\r\n move_hands_from_bottom = \"-350px\";\r\n }\r\n\r\n useEffect(() => {\r\n if (game?.players)\r\n setPlayerOn270Degrees(playersInNewOrder[theIndexOfTheUserPositionedAt270Degrees]);\r\n }, [game, userAngles, theIndexOfTheUserPositionedAt270Degrees, playersInNewOrder])\r\n\r\n useEffect(() => {\r\n let listOfProposedCards: any = game?.gameInfo?.proposedSolutionCards;\r\n if(listOfProposedCards[userData?.email || \"\"] ){\r\n let proposedCardOfTheUser: any = listOfProposedCards[userData?.email || \"\"]\r\n\r\n switch(proposedCardOfTheUser.type){\r\n case \"Joker\": setCardTypeThatWasProposed(CardType.JOKER_SOLUTION); break;\r\n case \"Emotional\": setCardTypeThatWasProposed(CardType.EMOTIONAL_SOLUTION); break;\r\n case \"Relations\": setCardTypeThatWasProposed(CardType.SOCIAL_SOLUTION); break;\r\n case \"Mental\": setCardTypeThatWasProposed(CardType.MENTAL_SOLUTION); break;\r\n case \"Physical\": setCardTypeThatWasProposed(CardType.PHYSICAL_SOLUTION);\r\n }\r\n }else{\r\n setCardTypeThatWasProposed(\"\");\r\n }\r\n }, [game?.gameInfo?.proposedSolutionCards, userData?.email] );\r\n\r\n if (!playerOn270Degrees) {\r\n return
\r\n }\r\n\r\n const getZIndexForShowYourCardsButotnWhenBlueModalIsShown = () => {\r\n if ( game?.phase === Phase.SOLUTION_CHOSEN ) return 8;\r\n if ( game?.phase === Phase.SOLUTION_CHOSEN_REWARD ) return 8;\r\n if ( game?.phase === Phase.RENDER_SPIN_WHEEL ) return 8;\r\n if ( (game?.phase === Phase.PICK_DILEMMA && isTheUserDilemaOwner) ) return 8;\r\n if ( game?.phase === Phase.CHOOSING_SOLUTION_CARDS ) return 9;\r\n if ( game?.phase === Phase.PICK_DILEMMA ) return 8;\r\n\r\n return 11;\r\n }\r\n\r\n const displayCardsInHands = () => {\r\n return (\r\n
\r\n\r\n
\r\n {`${isEmotionalCardVisible}`}, \r\n {`${isSocialCardVisible}`}, \r\n {`${isMentalCardVisible}`}, \r\n {`${isPhysicalCardVisible}`}\r\n
\r\n\r\n
\r\n \r\n
\r\n {!isEmotionalCardVisible && instructionTutorial === \"solutionCards\" && \r\n
\r\n \r\n
}\r\n {!isEmotionalCardVisible &&
\r\n \r\n
}\r\n {isEmotionalCardVisible &&
}\r\n {!isSocialCardVisible &&
\r\n \r\n
}\r\n {isSocialCardVisible &&
}\r\n {!isMentalCardVisible &&
\r\n \r\n
}\r\n {isMentalCardVisible &&
}\r\n {!isPhysicalCardVisible &&
\r\n \r\n
}\r\n {isPhysicalCardVisible &&
}\r\n
\r\n )\r\n }\r\n\r\n const getHandsColor = () => {\r\n switch (playerOn270Degrees.color) {\r\n case \"pink\":\r\n return pinkHands;\r\n case \"yellow\":\r\n return yellowHands;\r\n case \"blue\":\r\n return blueHands;\r\n case \"green\":\r\n return greenHands;\r\n }\r\n return \"\";\r\n }\r\n\r\n const playersHands = () => {\r\n return (\r\n
\r\n \"hands\"\r\n
\r\n\r\n );\r\n }\r\n\r\n const toggleAnimatedHands = () => {\r\n setAreAnimatedHandsShown(!areAnimatedHandsShown);\r\n playersInNewOrder.forEach((player: IPlayer, index: number) => {\r\n if (player.email === userData?.email) {\r\n updateUserAngles(index);\r\n setEmailOfSelectedPlayerBoard(player.email);\r\n }\r\n })\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n {playersHands()}\r\n {displayCardsInHands()}\r\n
\r\n
\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default CardsInHandMolecule;\r\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","import React, { FC, useContext, useEffect } from \"react\";\r\nimport domtoimage from 'dom-to-image'\r\nimport { BoardContext, CardContext, SocketContext, TeamContext, UserContext } from \"../../../../context\";\r\n\r\nimport { CardSlot, PinkNotification, StrengthCard } from \"../../../atoms\";\r\nimport { ICard } from \"../../../../interfaces\"\r\nimport { CardType, Phase } from \"../../../../util/enums\";\r\nimport { useSound } from \"../../../../hooks\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface IRenderStrengthCardType {\r\n fullScreen?: boolean;\r\n}\r\n\r\nconst RenderStrengthCardType: FC = ({fullScreen}) => {\r\n const { t } = useTranslation();\r\n const { chooseOneOfProposedCardsSocketEvent } = useContext(SocketContext);\r\n const { dataOfDoubleClickedSolutionCard } = useContext(CardContext)\r\n const { emailOfSelectedPlayerBoard } = useContext(UserContext);\r\n const { game } = useContext(TeamContext);\r\n const { saveStrengthImagesSocketEvent } = useContext(SocketContext);\r\n const { instructionTutorial } = useContext(BoardContext);\r\n\r\n let numberOfStrenghtCards = 5;\r\n const {playSound} = useSound();\r\n\r\n let fetchedStrenghtsCards: any[] = [];\r\n\r\n let strenghtsCards: ICard[] = [];\r\n\r\n if (!fullScreen) {\r\n fetchedStrenghtsCards = game?.gameInfo.players[emailOfSelectedPlayerBoard || \"\"]?.currentStrengthCards;\r\n \r\n if (fetchedStrenghtsCards)\r\n strenghtsCards = fetchedStrenghtsCards.map( (item: any) => {\r\n return {\r\n \"id\": item._id,\r\n \"info\": item.information,\r\n \"description\": item.description,\r\n \"type\": CardType.STRENGTH,\r\n \"backImagePath\": \"https://printbymagic.com/wp-content/uploads/2014/08/BLUE-RED-BACK-VERTICAL.jpg\"\r\n };\r\n })\r\n }\r\n\r\n\r\n if (fullScreen) {\r\n fetchedStrenghtsCards = game?.gameInfo.players[game?.gameInfo.currentPlayerEmail || \"\"].currentStrengthCards;\r\n\r\n strenghtsCards = fetchedStrenghtsCards.map( (item: any) => {\r\n return {\r\n \"id\": item._id,\r\n \"info\": item.information,\r\n \"description\": item.description,\r\n \"type\": CardType.STRENGTH,\r\n \"backImagePath\": \"https://printbymagic.com/wp-content/uploads/2014/08/BLUE-RED-BACK-VERTICAL.jpg\",\r\n };\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n for (let i = 1; i <= numberOfStrenghtCards; i++) {\r\n let node = document.getElementById('strength_card_' + i);\r\n let id: any = 0;\r\n\r\n if (!node) continue;\r\n\r\n if (strenghtsCards[i])\r\n id = strenghtsCards[i].id;\r\n\r\n domtoimage.toPng(node)\r\n .then(function (dataUrl) {\r\n let img = new Image();\r\n img.src = dataUrl;\r\n saveStrengthImagesSocketEvent(id, img.src);\r\n })\r\n .catch(function (error) {\r\n console.error(error);\r\n });\r\n }\r\n }, [numberOfStrenghtCards, saveStrengthImagesSocketEvent, strenghtsCards]);\r\n\r\n const chooseOneOfProposedCardsByClickingOnStrengths = (strength_card_id: number | string | undefined) => {\r\n if(!strength_card_id) return;\r\n if(!dataOfDoubleClickedSolutionCard) return;\r\n\r\n if (game?.phase === Phase.CHOOSE_SOLUTION) {\r\n let img = new Image();\r\n chooseOneOfProposedCardsSocketEvent(strength_card_id, dataOfDoubleClickedSolutionCard.player.email, img.src);\r\n }\r\n }\r\n\r\n const renderStrenght = () => {\r\n return strenghtsCards.map((str_card: ICard, index: number) => {\r\n return (\r\n
chooseOneOfProposedCardsByClickingOnStrengths(str_card.id)} onMouseEnter={() => playSound(\"/sounds/ItemHover.mp3\")}>\r\n {instructionTutorial === \"leftSideOfTheScreen\" && index === 2 &&\r\n \r\n }\r\n \r\n
\r\n );\r\n });\r\n }\r\n\r\n const renderStrenghtsFullScreen = () => {\r\n return strenghtsCards.map((str_card: ICard, index: number) => {\r\n return (\r\n
chooseOneOfProposedCardsByClickingOnStrengths(str_card.id)} onMouseEnter={() => playSound(\"/sounds/ItemHover.mp3\")}>\r\n \r\n
\r\n );\r\n });\r\n }\r\n\r\n\r\n return (\r\n \r\n {fullScreen ? renderStrenghtsFullScreen() : renderStrenght()}\r\n \r\n );\r\n}\r\n\r\nexport default RenderStrengthCardType;","import { FC, useContext } from 'react';\r\nimport { BoardContext, CardContext, TableContext, TeamContext } from '../../../context';\r\nimport { Phase } from '../../../util/enums';\r\n\r\nimport { RenderStrengthCardType } from './subStrengthCardsHolderComponents';\r\n\r\ninterface IStrengthCardsHolder {\r\n zIndexPerPhase?: number\r\n}\r\n\r\nconst StrengthCardsHolder: FC = ({ zIndexPerPhase }) => {\r\n const { game } = useContext(TeamContext);\r\n const { isDragging } = useContext(CardContext);\r\n const { strengthCardsAnimationDuringAvatarRotation } = useContext(TableContext);\r\n const { instructionTutorial } = useContext(BoardContext);\r\n\r\n const strengthContainerOpenCloseAnimation: string = isDragging && game?.phase === Phase.CHOOSE_SOLUTION ? \"board_strength_cards_holder_open\" : \"\";\r\n const strengthCardsAnimationDuringAvatarRotationStyle = strengthCardsAnimationDuringAvatarRotation ? \"strength_cards_animation_during_avatars_rotating\" : \"\";\r\n \r\n const getZIndexStrengthCardsHolder = () => {\r\n if ( instructionTutorial === \"leftSideOfTheScreen\" ) return 23;\r\n return zIndexPerPhase;\r\n }\r\n\r\n return (\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default StrengthCardsHolder;\r\n\r\n","import { FC, useContext } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { BoardContext } from \"../../../context\";\r\nimport { ArrowButton } from \"../../atoms\";\r\n\r\ninterface IStrengthCardsToggleArrow {\r\n zIndexPerPhase: number\r\n}\r\n\r\nconst StrengthCardsToggleArrow: FC = ({ zIndexPerPhase }) => {\r\n const { isStrengthCardsComponentShown, setIsStrengthCardsComponentShown } = useContext(BoardContext);\r\n const { t } = useTranslation();\r\n\r\n const getStyleForArrowPosition = () => {\r\n if(isStrengthCardsComponentShown)\r\n return \"arrow_position_when_strengths_are_shown\";\r\n\r\n if(!isStrengthCardsComponentShown)\r\n return \"arrow_position_when_strengths_are_not_shown\";\r\n }\r\n\r\n return(\r\n
\r\n setIsStrengthCardsComponentShown(!isStrengthCardsComponentShown) }\r\n isTheDivShown={isStrengthCardsComponentShown}\r\n disabled={false}\r\n />\r\n
\r\n );\r\n}\r\n\r\nexport default StrengthCardsToggleArrow;","export default __webpack_public_path__ + \"static/media/emotional_deck.5fd6699e.svg\";","export default __webpack_public_path__ + \"static/media/social_deck.b975e1b1.svg\";","export default __webpack_public_path__ + \"static/media/mental_deck.91182cd6.svg\";","export default __webpack_public_path__ + \"static/media/physical_deck.9f13447b.svg\";","import React, { FC, useState } from \"react\";\r\n\r\nimport { useSound } from \"../../../hooks\";\r\n\r\nimport emotionalDeck from \"../../../assets/cards/emotional_deck.svg\";\r\nimport socialDeck from \"../../../assets/cards/social_deck.svg\";\r\nimport mentalDeck from \"../../../assets/cards/mental_deck.svg\";\r\nimport physicalDeck from \"../../../assets/cards/physical_deck.svg\";\r\ninterface DeckProps {\r\n type: string;\r\n onDraw(): void;\r\n}\r\n\r\nconst Deck: FC = ({ type, onDraw }) => {\r\n let [isDillemaDoubleClicked, setIsDillemaDoubleClicked] = useState(0);\r\n const {playSound} = useSound();\r\n \r\n const getRandomCard = () => {\r\n onDraw();\r\n playSound(\"/sounds/LightClick.mp3\");\r\n };\r\n\r\n const getSolutionDeckDeckType = () => {\r\n switch (type) {\r\n case \"emotional\": return emotionalDeck; \r\n case \"social\": return socialDeck;\r\n case \"mental\": return mentalDeck; \r\n case \"physical\": return physicalDeck;\r\n }\r\n }\r\n\r\n if (type === \"action\" || type === \"question\") {\r\n return (\r\n \r\n
{\r\n setIsDillemaDoubleClicked(isDillemaDoubleClicked++)\r\n if(isDillemaDoubleClicked ==2 ){\r\n getRandomCard();\r\n }\r\n\r\n }} />\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \"emotional\"\r\n \r\n );\r\n};\r\n\r\nexport default Deck;","import { CardType } from \"../../../util/enums\";\r\nimport MentalDeck from \"../../../assets/cards/mental_deck.svg\";\r\nimport EmotionalDeck from \"../../../assets/cards/emotional_deck.svg\";\r\nimport SocialDeck from \"../../../assets/cards/social_deck.svg\";\r\nimport PhysicalDeck from \"../../../assets/cards/physical_deck.svg\";\r\nimport { useSound } from \"../../../hooks\";\r\nimport { useCallback, useContext, useEffect, useRef, useState } from \"react\";\r\nimport { BoardContext, SocketContext, TableContext, TeamContext } from \"../../../context\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface IClickedDeckStyle {\r\n emotional: string;\r\n social: string;\r\n mental: string;\r\n physical: string;\r\n}\r\n\r\nconst InitialDeck = () => {\r\n const { t } = useTranslation();\r\n const { \r\n setIsEmotionalCardVisible, \r\n setIsSocialCardVisible, \r\n setIsMentalCardVisible, \r\n setIsPhysicalCardVisible, \r\n isUpdatingStatesDisabled, \r\n setIsUpdatingStatesDisabled,\r\n setAreAnimatedHandsShown,\r\n isEmotionalCardVisible,\r\n isSocialCardVisible,\r\n isMentalCardVisible,\r\n isPhysicalCardVisible\r\n } = useContext(TableContext);\r\n const { socket } = useContext(SocketContext);\r\n const { game } = useContext(TeamContext);\r\n const { setIsInitialSolutionDecksModalOpen, setAreSolutionCardsDrawnContext } = useContext(BoardContext);\r\n const {playSound} = useSound();\r\n let [clickedDeckStyle, setClickedDeckStyle] = useState({\r\n emotional: \"\",\r\n social: \"\",\r\n mental: \"\",\r\n physical: \"\"\r\n })\r\n const numberOfDrawnCard = useRef(0);\r\n const numberOfDecks: number = 4;\r\n\r\n const initialiseIsInitialSolutionDecksModalOpen = useCallback(() => {\r\n let players = game?.gameInfo.players;\r\n let counter: number = 0;\r\n let nubmerOfPlayers : number = game?.players.length || 0;\r\n\r\n for(const email in players){\r\n if(players[email]?.hasDrawnSolutionCards)\r\n counter = counter + 1;\r\n }\r\n\r\n if(counter === nubmerOfPlayers)\r\n setIsInitialSolutionDecksModalOpen(false);\r\n }, [game?.gameInfo.players, game?.players.length, setIsInitialSolutionDecksModalOpen])\r\n\r\n useEffect(() => {\r\n initialiseIsInitialSolutionDecksModalOpen();\r\n }, [initialiseIsInitialSolutionDecksModalOpen]);\r\n\r\n const setAreSolutionCardsDrawn = () => {\r\n socket?.emit(\"setAreSolutionCardsDrawn\", { areSolutionCardsDrawn: true });\r\n }\r\n\r\n const drawSolutionCardFromDeckLogic = (cardType: CardType) => {\r\n drawSolutionCardFromDeck(cardType);\r\n \r\n emitSocketWhenAllSolutionCardsAreDrawn();\r\n }\r\n\r\n const emitSocketWhenAllSolutionCardsAreDrawn = () => {\r\n numberOfDrawnCard.current = numberOfDrawnCard.current + 1;\r\n\r\n if (numberOfDrawnCard.current === 1) {\r\n setAreAnimatedHandsShown(true);\r\n return;\r\n }\r\n\r\n if (numberOfDrawnCard.current === numberOfDecks){\r\n setAreSolutionCardsDrawn();\r\n setAreSolutionCardsDrawnContext(true);\r\n }\r\n }\r\n\r\n const emotionalRef = useRef(null);\r\n const socialRef = useRef(null);\r\n const mentalRef = useRef(null);\r\n const physicalRef = useRef(null);\r\n\r\n useEffect(() => {\r\n const timeout = setTimeout( () => {\r\n if (emotionalRef.current && isEmotionalCardVisible)\r\n emotionalRef.current.click();\r\n }, 1300);\r\n\r\n return () => clearTimeout(timeout);\r\n }, [isEmotionalCardVisible]);\r\n \r\n useEffect(() => {\r\n const timeout = setTimeout( () => {\r\n if (socialRef.current && isSocialCardVisible)\r\n socialRef.current.click();\r\n }, 2600);\r\n\r\n return () => clearTimeout(timeout);\r\n }, [isSocialCardVisible]);\r\n\r\n useEffect(() => {\r\n const timeout = setTimeout( () => { \r\n if (mentalRef.current && isMentalCardVisible)\r\n mentalRef.current.click();\r\n }, 3900);\r\n\r\n return () => clearTimeout(timeout);\r\n }, [isMentalCardVisible]);\r\n\r\n useEffect(() => {\r\n const timeout = setTimeout( () => { \r\n if (physicalRef.current && isPhysicalCardVisible)\r\n physicalRef.current.click();\r\n }, 5200);\r\n\r\n return () => clearTimeout(timeout);\r\n }, [isPhysicalCardVisible]);\r\n\r\n const drawSolutionCardFromDeck = (cardType: CardType) => {\r\n playSound(\"/sounds/LightClick.mp3\");\r\n\r\n if(!isUpdatingStatesDisabled)\r\n setIsUpdatingStatesDisabled(true);\r\n\r\n switch (cardType) {\r\n case \"Emotional\": {\r\n setIsEmotionalCardVisible(false);\r\n setClickedDeckStyle({ ...clickedDeckStyle, emotional: \"disabled_clicked_deck\" }); break;\r\n }\r\n case \"Relations\": {\r\n setIsSocialCardVisible(false);\r\n setClickedDeckStyle({ ...clickedDeckStyle, social: \"disabled_clicked_deck\" }); break;\r\n }\r\n case \"Mental\": {\r\n setIsMentalCardVisible(false);\r\n setClickedDeckStyle({ ...clickedDeckStyle, mental: \"disabled_clicked_deck\" }); break;\r\n }\r\n case \"Physical\": {\r\n setIsPhysicalCardVisible(false);\r\n setClickedDeckStyle({ ...clickedDeckStyle, physical: \"disabled_clicked_deck\" }); break;\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \"emotional\" drawSolutionCardFromDeckLogic(CardType.EMOTIONAL_SOLUTION)} />\r\n
{t(\"emotionalText\")} {t(\"solutionsText\")}
\r\n
\r\n
\r\n \"social\" drawSolutionCardFromDeckLogic(CardType.SOCIAL_SOLUTION)} />\r\n
{t(\"socialText\")} {t(\"solutionsText\")}
\r\n
\r\n
\r\n \"mental\" drawSolutionCardFromDeckLogic(CardType.MENTAL_SOLUTION)} />\r\n
{t(\"mentalText\")} {t(\"solutionsText\")}
\r\n
\r\n
\r\n \"physical\" drawSolutionCardFromDeckLogic(CardType.PHYSICAL_SOLUTION)} />\r\n
{t(\"physicalText\")} {t(\"solutionsText\")}
\r\n
\r\n\r\n
\r\n )\r\n}\r\n\r\nexport default InitialDeck;","import { useContext, useEffect } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { TeamContext, UserContext } from \"../../../context\";\r\nimport { useSound } from \"../../../hooks\";\r\nimport { InitialDeck } from \"../../molecules\";\r\n\r\nconst InitialDeckScreen = () => {\r\n const { t } = useTranslation();\r\n const { game } = useContext(TeamContext);\r\n const { userData } = useContext(UserContext);\r\n const didUserDrawnAllSolutionCards: boolean = game?.gameInfo.players[userData?.email || \"\"]?.hasDrawnSolutionCards;\r\n const {playSound} = useSound();\r\n\r\n useEffect(() => {\r\n playSound(\"/sounds/PositiveAlert3.mp3\")\r\n\r\n },[playSound]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {t(\"nowYouWillGetYourInitialSolutionCardsText\")}\r\n
\r\n
\r\n
\r\n
\r\n {didUserDrawnAllSolutionCards ?\r\n
\r\n
{t(\"waitForOtherPlayersToPickTheirCardsText\")}
\r\n
\r\n :\r\n
\r\n

{t(\"theCardsWillBeDrawnAutomaticallyText\")}

\r\n

{t(\"thereAre4TypesOfPositiveSolutionsText\")}

\r\n
}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n )\r\n}\r\n\r\nexport default InitialDeckScreen;","import { FC, useContext } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { TeamContext } from \"../../../context\";\r\nimport { Phase } from \"../../../util/enums\";\r\nimport { CheerButton, PinkNotification } from \"../../atoms\";\r\n\r\nconst SolutionDecksHolder: FC<{}> = () => {\r\n const { t } = useTranslation();\r\n const { game } = useContext(TeamContext);\r\n const isCheerButtonActivated = (game?.phase === Phase.CONFETTI_CELEBRATION);\r\n const zIndexWhenCheerButtonIsActivated :number = isCheerButtonActivated ? 69 : 1;\r\n const gameRoundNumber: number = game?.gameInfo?.challengeScore || 0;\r\n const isAfterRound3: boolean = gameRoundNumber > 3;\r\n\r\n return ( \r\n
\r\n
\r\n {isAfterRound3 && }\r\n {isCheerButtonActivated && isAfterRound3 && \r\n
\r\n \r\n
\r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default SolutionDecksHolder;\r\n\r\n\r\n","import { FC, useContext, useEffect } from \"react\";\r\n\r\nimport { TeamContext, UserContext, TableContext, SocketContext, BoardContext } from \"../../../context\";\r\n\r\nimport { useShowDrawnStrengthCard } from \"./helpers\";\r\nimport { Phase } from \"../../../util/enums\";\r\nimport { IPlayer } from \"../../../interfaces\";\r\nimport { useSound } from \"../../../hooks\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst BoardMolecule: FC<{}> = () => {\r\n const { t } = useTranslation();\r\n const { theSolutionCardSelectedByDilemmaOwner } = useContext(SocketContext);\r\n const { game } = useContext(TeamContext);\r\n const { userData } = useContext(UserContext);\r\n const { setTableNotification } = useContext(TableContext);\r\n const { areSolutionCardsDrawnContext, renderInitialCoins } = useContext(BoardContext);\r\n\r\n const isTheUserDilemaOwner = userData?.email === game?.gameInfo.currentPlayerEmail;\r\n const dilemmaOwner = game?.players.find((player: IPlayer) => { return game.gameInfo.currentPlayerEmail === player.email })\r\n const dilemmaOwnerNickname = dilemmaOwner?.nickname || \"\";\r\n const dilemmaOwnerColor = dilemmaOwner?.color || \"\";\r\n const players = game?.gameInfo.players[userData?.email || \"\"];\r\n const {playSound} = useSound();\r\n\r\n useShowDrawnStrengthCard(players);\r\n\r\n useEffect(() => {\r\n if (renderInitialCoins)\r\n playSound(\"/sounds/PositiveAlert3.mp3\")\r\n },[playSound, renderInitialCoins]);\r\n\r\n useEffect(() => {\r\n if (game?.phase === Phase.PICK_DILEMMA && isTheUserDilemaOwner)\r\n setTableNotification(undefined);\r\n \r\n if (game?.phase === Phase.PICK_DILEMMA && !isTheUserDilemaOwner)\r\n setTableNotification({\r\n firstLineBefore: t(\"itIsText\"),\r\n firstLineOwner: dilemmaOwnerNickname,\r\n ownerColor: dilemmaOwnerColor,\r\n firstLineAftar: t(\"turnToPlayText\"),\r\n secondLine: t(\"waitTillTheyPickText\"),\r\n thirdLine: \"\"\r\n });\r\n }, [dilemmaOwnerColor, dilemmaOwnerNickname, game?.phase, isTheUserDilemaOwner, setTableNotification]);\r\n \r\n useEffect(() => {\r\n if (game?.phase === Phase.QUESTION_CARD && isTheUserDilemaOwner)\r\n setTableNotification({\r\n firstLineBefore: t(\"youPickedAQuestionCard\"),\r\n firstLineOwner: \"\",\r\n ownerColor: \"\",\r\n firstLineAftar: \"\",\r\n secondLine: t(\"teamAndWaitForThemText\"),\r\n thirdLine: t(\"andEloborateOnTheirIdeas\")\r\n });\r\n\r\n if (game?.phase === Phase.QUESTION_CARD && !isTheUserDilemaOwner)\r\n setTableNotification({\r\n firstLineBefore: \"\",\r\n firstLineOwner: dilemmaOwnerNickname,\r\n ownerColor: dilemmaOwnerColor,\r\n firstLineAftar: t(\"pickedAQuestionCardText\"),\r\n secondLine: t(\"solutionCardFromYourHandText\"),\r\n thirdLine: t(\"explainWhyYouThinkThatIsTheBestSolutionText\")\r\n });\r\n }, [dilemmaOwnerColor, dilemmaOwnerNickname, game?.phase, isTheUserDilemaOwner, setTableNotification]);\r\n \r\n useEffect(() => {\r\n if (game?.phase === Phase.ACTION_CARD && isTheUserDilemaOwner)\r\n setTableNotification({\r\n firstLineBefore: t(\"youPickedAnActionCard\"),\r\n firstLineOwner: \"\",\r\n ownerColor: \"\",\r\n firstLineAftar: \"\",\r\n secondLine: t(\"readItOutLoudText\"),\r\n thirdLine: t(\"clickDoneText\")\r\n });\r\n \r\n if (game?.phase === Phase.ACTION_CARD && !isTheUserDilemaOwner)\r\n setTableNotification({\r\n firstLineBefore: \"\",\r\n firstLineOwner: dilemmaOwnerNickname,\r\n ownerColor: dilemmaOwnerColor,\r\n firstLineAftar: t(\"pickedAnActionCardText\"),\r\n secondLine: t(\"helpByBrainstormingText\"),\r\n thirdLine: t(\"discussTheTopicText\")\r\n });\r\n }, [dilemmaOwnerColor, dilemmaOwnerNickname, game?.phase, isTheUserDilemaOwner, setTableNotification]);\r\n \r\n useEffect(() => {\r\n\r\n if (game?.phase === Phase.CHOOSING_SOLUTION_CARDS && areSolutionCardsDrawnContext)\r\n setTableNotification({\r\n firstLineBefore: t(\"waitForTheOtherUsersText\"),\r\n firstLineOwner: \"\",\r\n ownerColor: \"\",\r\n firstLineAftar: \"\",\r\n secondLine: t(\"initialSolutionCardsText\"),\r\n thirdLine: \"\"\r\n });\r\n\r\n }, [areSolutionCardsDrawnContext, game?.phase, setTableNotification]);\r\n \r\n useEffect(() => {\r\n if (game?.phase === Phase.CHOOSE_SOLUTION && isTheUserDilemaOwner) \r\n setTableNotification({\r\n firstLineBefore: t(\"theSolutionCardsAreProposedText\"),\r\n firstLineOwner: \"\",\r\n ownerColor: \"\",\r\n firstLineAftar: \"\",\r\n secondLine: t(\"doubleClickOnTheSolutionText\"),\r\n thirdLine: \"\"\r\n });\r\n \r\n if (game?.phase === Phase.CHOOSE_SOLUTION && !isTheUserDilemaOwner && !theSolutionCardSelectedByDilemmaOwner) \r\n setTableNotification({\r\n firstLineBefore: t(\"goAroundTheTableText\"),\r\n firstLineOwner: dilemmaOwnerNickname,\r\n ownerColor: dilemmaOwnerColor,\r\n firstLineAftar: \"\",\r\n secondLine: \"\",\r\n thirdLine: \"\"\r\n });\r\n\r\n if (game?.phase === Phase.CHOOSE_SOLUTION && !isTheUserDilemaOwner && theSolutionCardSelectedByDilemmaOwner)\r\n setTableNotification({\r\n firstLineBefore: t(\"nowWaitForText\"),\r\n firstLineOwner: dilemmaOwnerNickname,\r\n ownerColor: dilemmaOwnerColor,\r\n firstLineAftar: t(\"toChoosesAstrenghtCardText\"),\r\n secondLine: \"\",\r\n thirdLine: \"\"\r\n });\r\n }, [dilemmaOwnerColor, dilemmaOwnerNickname, game?.phase, isTheUserDilemaOwner, setTableNotification, theSolutionCardSelectedByDilemmaOwner]);\r\n \r\n useEffect(() => {\r\n if (game?.phase === Phase.CONFETTI_CELEBRATION || game?.phase === Phase.SOLUTION_CHOSEN || game?.phase === Phase.SOLUTION_CHOSEN_REWARD ) {\r\n if (isTheUserDilemaOwner) \r\n setTableNotification(undefined);\r\n \r\n if (!isTheUserDilemaOwner)\r\n setTableNotification(undefined);\r\n }\r\n }, [game?.phase, isTheUserDilemaOwner, setTableNotification]);\r\n\r\n return (\r\n
\r\n );\r\n};\r\n\r\nexport default BoardMolecule","import { ArrowNotification, MainButton, PinkNotification } from \"../../../atoms\";\r\nimport { CardMolecule } from \"../../../molecules\";\r\nimport tokenCoin from \"../../../../assets/icons/tokenIcon.png\";\r\nimport { useContext } from \"react\";\r\nimport { CardContext, SocketContext } from \"../../../../context\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface IRenderActionDisplay {\r\n challengeCard: any;\r\n isTheUserDilemaOwner: any;\r\n comfirmActionCardParent: () => void;\r\n}\r\n\r\nconst RenderActionDisplay: React.FC = ({ challengeCard, isTheUserDilemaOwner, comfirmActionCardParent }) => {\r\n const { t } = useTranslation();\r\n const { isActionDoneButtonRevealed } = useContext(SocketContext);\r\n const { isExchangeButtonOnActionHovered } = useContext(CardContext);\r\n const isDoneButtonDisabled = !isActionDoneButtonRevealed;\r\n\r\n if (isTheUserDilemaOwner) {\r\n return (\r\n
\r\n
\r\n
\r\n {isExchangeButtonOnActionHovered && \r\n
\r\n \r\n
\r\n }\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n comfirmActionCardParent()} disabled={isDoneButtonDisabled}/>\r\n
\r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n\r\n}\r\n\r\nexport default RenderActionDisplay;","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/questionCrown.d839601d.svg\";","export default __webpack_public_path__ + \"static/media/instructionArrow.d950e3c2.svg\";","import questionCrown from \"../../../assets/icons/questionCrown.svg\";\r\nimport { FC, useContext } from \"react\";\r\nimport { TeamContext, UserContext } from \"../../../context\";\r\nimport { IPlayer } from \"../../../interfaces\";\r\nimport instructionArrow from \"../../../assets/icons/instructionArrow.svg\";\r\n\r\ninterface IDilemmaOwnerAnouncementText {\r\n upperText: string;\r\n lowerText?: string;\r\n componentStyle?: \"dilemma\" | \"default\";\r\n middleText?: string;\r\n isArrowShown?: boolean;\r\n isArrowShownTextBig?: boolean;\r\n}\r\n\r\nconst DilemmaOwnerAnouncementText: FC = ({upperText, lowerText, componentStyle, middleText, isArrowShown, isArrowShownTextBig}) => {\r\n const { game } = useContext(TeamContext);\r\n const dilemmaOwner = game?.players.find((player: IPlayer) => { return game.gameInfo.currentPlayerEmail === player.email });\r\n const dilemmaOwnerEmail = dilemmaOwner?.email || \"\";\r\n\r\n\r\n const userColor = () => {\r\n if (dilemmaOwner) return game?.gameInfo.players[dilemmaOwnerEmail].color || 0;\r\n\r\n return game?.players?.find((player: any) => { return player.email === dilemmaOwnerEmail})?.color || \"\";\r\n }\r\n\r\n const getStyle = () => {\r\n if (!componentStyle) componentStyle = \"default\";\r\n return dicitonary[componentStyle];\r\n }\r\n\r\n const dicitonary = {\r\n dilemma: \"dilemma_owner_anouncement_centering\",\r\n default: \"center_horizontally_and_vertically full_screen_vw_vh0\"\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
{upperText}
\r\n
\r\n
{middleText}
\r\n {isArrowShownTextBig &&
(
}\r\n {isArrowShownTextBig && \"instructionArrow\"}\r\n {isArrowShownTextBig &&
)
}\r\n
\r\n {lowerText && \r\n
\r\n
{lowerText}
\r\n {isArrowShown &&
(
}\r\n {isArrowShown && \"instructionArrow\"}\r\n {isArrowShown &&
)
}\r\n
}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default DilemmaOwnerAnouncementText;","import { useContext, useEffect, useState } from \"react\";\r\n\r\nimport { TeamContext, UserContext } from \"../../../../context\";\r\nimport { DeckMolecule } from \"../../../molecules\";\r\nimport { ArrowNotification, PinkNotification } from \"../../../atoms\";\r\nimport { useSound } from \"../../../../hooks\";\r\nimport { ICard, IPlayer } from \"../../../../interfaces\";\r\nimport DilemmaOwnerAnouncementText from \"../../DilemmaOwnerAnouncement/DilemmaOwnerAnouncementText\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ntype challengeCardType = \"questionCard\" | \"actionCard\";\r\n\r\ninterface IRenderInitialDisplay {\r\n challengeCard: any;\r\n comfirmActionCardParent: (fieldName: challengeCardType, card: ICard) => void;\r\n}\r\n\r\n\r\nconst RenderInitialDisplay: React.FC = ({ challengeCard, comfirmActionCardParent }) => {\r\n const { t } = useTranslation();\r\n const { game } = useContext(TeamContext);\r\n const { userData } = useContext(UserContext);\r\n const [isActionDeckHovered, setIsActionDeckHovered] = useState(false);\r\n const [isQuestionDeckHovered, setIsQuestionDeckHovered] = useState(false); \r\n const dilemmaOwner = game?.players.find((player: IPlayer) => { return game.gameInfo.currentPlayerEmail === player.email })\r\n const isTheUserDilemaOwner = userData?.email === game?.gameInfo.currentPlayerEmail;\r\n const numberOfSolvedDilemmas: number = game?.gameInfo.challengeScore || 0;\r\n const dilemmaOwnerNickname = dilemmaOwner?.nickname || \"\";\r\n const solutionOwnerSubTitleTextLine = (numberOfSolvedDilemmas > 1) ? t(\"pleaseWaitForTheQuestionOrActionToBeChosenText\") : t(\"pleaseWaitForTheQuestionToBeChosenText\");\r\n const dilemmaOwnerSubTitleTextLine = (numberOfSolvedDilemmas > 1) ? t(\"pleaseChooseActionOrQuestionText\") : t(\"pleaseChooseAQuestionByDoubleClickingText\");\r\n \r\n const {playSound} = useSound();\r\n\r\n useEffect (() => {\r\n const isCardHovered = isActionDeckHovered || isQuestionDeckHovered;\r\n if(isCardHovered) \r\n playSound(\"/sounds/ItemHover.mp3\");\r\n\r\n },[isActionDeckHovered, isQuestionDeckHovered, playSound]);\r\n\r\n useEffect(() => {\r\n playSound(\"/sounds/PositiveAlert3.mp3\");\r\n \r\n },[playSound]);\r\n\r\n const notificationActionCard = () => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n if (challengeCard.actionCard || challengeCard.questionCard) {\r\n return (\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n
setIsQuestionDeckHovered(true)}\r\n onMouseLeave={() => setIsQuestionDeckHovered(false)}\r\n >\r\n
\r\n
\r\n {isQuestionDeckHovered && \r\n }\r\n
\r\n
\r\n comfirmActionCardParent(\"questionCard\", challengeCard.questionCard!)}\r\n />\r\n
\r\n
\r\n\r\n \r\n {numberOfSolvedDilemmas > 1 &&\r\n
\r\n
setIsActionDeckHovered(true)}\r\n onMouseLeave={() => setIsActionDeckHovered(false)}\r\n >\r\n
\r\n
\r\n {isActionDeckHovered && notificationActionCard()}\r\n
\r\n
\r\n comfirmActionCardParent(\"actionCard\", challengeCard.actionCard!)}\r\n />\r\n\r\n
\r\n
\r\n }\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n );\r\n } \r\n \r\n return (
); \r\n}\r\n\r\nexport default RenderInitialDisplay;\r\n","import { FC, useContext, useState, useEffect } from \"react\";\r\nimport { CardMolecule, SwapCardButton } from \"../..\";\r\nimport { CardContext, SocketContext, TableContext, TeamContext, UserContext } from \"../../../../context\";\r\nimport { useBoardDisplayView, useSound } from \"../../../../hooks\";\r\nimport { IPlayer } from \"../../../../interfaces\";\r\nimport { MainButton, PinkNotification } from \"../../../atoms\";\r\nimport questionCrown from \"../../../../assets/icons/questionCrown.svg\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface IChosenDilemmaCard {\r\n isFullScreenOn?: boolean;\r\n isTheFullScreenOn: boolean;\r\n isDilemmaOwnerButtonShown?: boolean;\r\n}\r\n\r\nconst ChosenDilemmaCard : FC = ({isFullScreenOn, isTheFullScreenOn, isDilemmaOwnerButtonShown}) => {\r\n const { t } = useTranslation();\r\n const { finishedChoosingDilemmaCardSocketEmit } = useContext(SocketContext);\r\n const { game } = useContext(TeamContext);\r\n const { userData } = useContext(UserContext);\r\n const { dataOfDoubleClickedSolutionCard } = useContext(CardContext);\r\n const { isDilemmaChosen } = useContext(TableContext);\r\n const [ isJokerButtonHovered, setIsJokerButtonHovered ] = useState(false);\r\n const [isExchangeButtonHovered, setIsExchangeButtonHovered] = useState(false);\r\n const [areTipsVisible, setAreTipsVisible] = useState(false);\r\n const proposedCardsObject = game?.gameInfo.proposedSolutionCards;\r\n const objectLength: number = proposedCardsObject ? Object.keys(proposedCardsObject).length : 0;\r\n const isTheUserDilemaOwner = userData?.email === game?.gameInfo.currentPlayerEmail;\r\n const [challengeCard] = useBoardDisplayView();\r\n const dilemmaOwnerColor: string = game?.players.find((player: IPlayer) => player.email === game.gameInfo.currentPlayerEmail)?.color || \"pink\";\r\n let isAnyCardProposedOnTheTable = objectLength > 0;\r\n const dilemmaOwner = game?.players.find((player: IPlayer) => { return game.gameInfo.currentPlayerEmail === player.email });\r\n const {playSound} = useSound();\r\n\r\n const checkIsSoundNeededToBePlayed = () => {\r\n if (!isFullScreenOn) playSound(\"/sounds/ItemHover.mp3\");\r\n }\r\n\r\n const redirectScreensAfterDilemamWasChosen = () => {\r\n // setIsDilemmaChosen(true);\r\n finishedChoosingDilemmaCardSocketEmit();\r\n }\r\n\r\n return (\r\n
\r\n
checkIsSoundNeededToBePlayed()}>\r\n \r\n {!isAnyCardProposedOnTheTable && isTheUserDilemaOwner && \r\n
setIsExchangeButtonHovered(true)}\r\n onMouseLeave={() => setIsExchangeButtonHovered(false) }\r\n > \r\n {isExchangeButtonHovered && \r\n
\r\n \r\n
\r\n }\r\n \r\n
\r\n }\r\n\r\n {!isAnyCardProposedOnTheTable && isTheUserDilemaOwner && \r\n
setIsJokerButtonHovered(true)}\r\n onMouseLeave={() => setIsJokerButtonHovered(false) }\r\n > \r\n {isJokerButtonHovered &&\r\n
\r\n \r\n
\r\n }\r\n \r\n
\r\n }\r\n\r\n \r\n\r\n { (isTheFullScreenOn || isDilemmaChosen) && \r\n
\r\n \"Profile\r\n \"Profile\r\n
\r\n }\r\n
\r\n {isDilemmaOwnerButtonShown && isTheUserDilemaOwner &&
\r\n
\r\n redirectScreensAfterDilemamWasChosen()} disabled={false} />\r\n
\r\n
}\r\n
\r\n )\r\n}\r\n\r\nexport default ChosenDilemmaCard;","import React, { useContext, useEffect } from \"react\";\r\n\r\nimport { SocketContext, TableContext, TeamContext, UserContext } from \"../../../../context\";\r\nimport { PlayersSolutionCardsMolecule } from \"../../../molecules\";\r\nimport { useSound, useProposedSolutionCards } from \"../../../../hooks\";\r\nimport { Phase } from \"../../../../util/enums\";\r\n\r\nimport { ChosenDilemmaCard } from \".\";\r\n\r\ninterface IRenderQuestionToDisplay {\r\n dilemmaOwnerImage: any,\r\n challengeCard: any\r\n}\r\n\r\nexport const RenderQuestionToDisplayMemo: React.FC = ({ dilemmaOwnerImage, challengeCard }) => {\r\n const { theSolutionCardSelectedByDilemmaOwner, solutionCardSelectedSocketOn } = useContext(SocketContext);\r\n const { isDilemmaChosen } = useContext(TableContext);\r\n const { game, numberOfPlayers} = useContext(TeamContext);\r\n const { userData } = useContext(UserContext);\r\n const [proposedSolutionCardsArray] = useProposedSolutionCards();\r\n const isTheUserDilemaOwner = userData?.email === game?.gameInfo.currentPlayerEmail;\r\n\r\n const isAnimationForDragAndDropSolutionToStrengthShown = game?.phase === Phase.CHOOSE_SOLUTION && isTheUserDilemaOwner;\r\n const pulsingCurcleDivStyle = isAnimationForDragAndDropSolutionToStrengthShown? \"solutions_proposed_wrapper_animation\" : \"\";\r\n const {playSound} = useSound();\r\n\r\n useEffect(() => {\r\n solutionCardSelectedSocketOn();\r\n }, [solutionCardSelectedSocketOn])\r\n\r\n const renderProposedSolutions = () => {\r\n return (\r\n
\r\n {isAnimationForDragAndDropSolutionToStrengthShown &&
}\r\n {proposedSolutionCardsArray.map((solutionCard: any, index: number) => {\r\n if(theSolutionCardSelectedByDilemmaOwner){\r\n const cardDimentions = {width: `17vw`, height: `22.5vw`};\r\n //TAGUJEM\r\n if(theSolutionCardSelectedByDilemmaOwner === solutionCard?.card?.id){\r\n return (\r\n
playSound(\"/sounds/ItemHover.mp3\")}\r\n >\r\n \r\n
\r\n );\r\n }\r\n return
;\r\n }\r\n\r\n const cardDimentions = {width: `10vw`, height: `13.1vw`};\r\n\r\n return (\r\n
playSound(\"/sounds/ItemHover.mp3\")}\r\n >\r\n \r\n
\r\n )\r\n })}\r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n {!(game?.phase === Phase.QUESTION_CARD && !isDilemmaChosen) && }\r\n {renderProposedSolutions()}\r\n
\r\n );\r\n}\r\nconst RenderQuestionToDisplay = React.memo(RenderQuestionToDisplayMemo);\r\n\r\nexport default RenderQuestionToDisplay; \r\n","import React, { useContext, useState, useEffect, useRef, forwardRef, useImperativeHandle, useCallback } from \"react\";\r\n\r\nimport { BoardContext, CardContext, SlotMachineContext, SocketContext, TeamContext, UserContext } from \"../../../context\";\r\n\r\nimport { FrontSide, MainButton, PinkNotification } from \"../../atoms\";\r\nimport { ICard } from \"../../../interfaces\";\r\nimport { useWindowDimensions, useSound } from \"../../../hooks\";\r\nimport { CardType } from \"../../../util/enums\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport interface SlotMachineRefObject {\r\n dropedStrenghtCard(): void;\r\n}\r\n\r\nconst SlotMachineChosenCardHolder = forwardRef((_props: {}, ref: React.Ref) => {\r\n useImperativeHandle(ref, () => ({ dropedStrenghtCard }));\r\n\r\n const { t } = useTranslation();\r\n const { socket } = useContext(SocketContext);\r\n const { game } = useContext(TeamContext);\r\n const { \r\n draggableCard, \r\n isStrengthCardCurrentlyDragged, \r\n setIsStrengthCardCurrentlyDragged \r\n } = useContext(CardContext);\r\n const { userData } = useContext(UserContext);\r\n const {\r\n setShowIt, \r\n confirmSelectionDisabled, \r\n setConfirmSelectionDisabled, \r\n setIsConfirmSelectionClicked, \r\n setLastDroppedCard, \r\n allStrengthCardsIdsState, \r\n isConfirmSelectionClicked, \r\n verticalCardIndexOfSelectedRow, \r\n verticalCardIdsAndTheirIndexes,\r\n animateWhiteShaddowGlowingCards,\r\n setAnimateWhiteShaddowGlowingCards,\r\n setWaitForTheOthersModal,\r\n isConfirmButtonTipShown,\r\n setIsConfirmButtonTipShown\r\n } = useContext(SlotMachineContext);\r\n const { didUserRejoinTheGame, setDidUserRejoinTheGame } = useContext(BoardContext);\r\n\r\n const [chosenStrengthCard, setChosenStrengthCard] = useState<(ICard | undefined)[]>(new Array(5));\r\n const { width } = useWindowDimensions();\r\n const alertRef = useRef();\r\n const [selectedIndex, setSelectedIndex] = useState<(number | null)>(null);\r\n const [isArrowShown, setIsArrowShown] = useState(true);\r\n const {playSound} = useSound();\r\n const demoCard: ICard = {\r\n type: CardType.STRENGTH,\r\n description: \"0\",\r\n id: 1111,\r\n }\r\n\r\n useEffect(() => {\r\n if (!userData) return;\r\n\r\n let currentStrengthCardsFromGameObject = game?.gameInfo.players[userData?.email].currentStrengthCards;\r\n const numberOfSelectedStrengthCardsFromSlotMachine = currentStrengthCardsFromGameObject.length;\r\n\r\n if (numberOfSelectedStrengthCardsFromSlotMachine)\r\n setAnimateWhiteShaddowGlowingCards(false);\r\n\r\n let mappedArryOfStrengthCardsObjectsFittedForFrontend = currentStrengthCardsFromGameObject.map((strengthCardFromBackEnd: any) => {\r\n return convertRecievedObjectToStrengthCardObject(strengthCardFromBackEnd);\r\n })\r\n\r\n if (numberOfSelectedStrengthCardsFromSlotMachine && didUserRejoinTheGame) {\r\n setChosenStrengthCard(mappedArryOfStrengthCardsObjectsFittedForFrontend);\r\n setDidUserRejoinTheGame(false);\r\n }\r\n\r\n }, [didUserRejoinTheGame, game?.gameInfo.players, setAnimateWhiteShaddowGlowingCards, setDidUserRejoinTheGame, userData]);\r\n\r\n const numberOfPopulatedCards = useCallback(() => {\r\n //TAG _id\r\n return chosenStrengthCard.filter(card => card?.id !== undefined).length;\r\n }, [chosenStrengthCard]);\r\n\r\n useEffect(() => {\r\n if (numberOfPopulatedCards() === 5 && !isConfirmSelectionClicked)\r\n return setConfirmSelectionDisabled(false);\r\n\r\n return setConfirmSelectionDisabled(true);\r\n }, [chosenStrengthCard, setConfirmSelectionDisabled, numberOfPopulatedCards, isConfirmSelectionClicked]);\r\n\r\n const convertRecievedObjectToStrengthCardObject = (strengthCardFromBackEnd: any) => {\r\n //TAG _id\r\n return {\r\n backImagePath: \"\",\r\n description: strengthCardFromBackEnd.description,\r\n id: strengthCardFromBackEnd._id | 0,\r\n type: CardType.STRENGTH\r\n }\r\n }\r\n\r\n const isCardChoosen = (draggableCard: ICard) => {\r\n return chosenStrengthCard.filter(card => {\r\n if (card) return card.id === draggableCard.id\r\n return false;\r\n }).length;\r\n }\r\n\r\n const dropedStrenghtCard = () => {\r\n if (selectedIndex === null) return;\r\n if (draggableCard && isStrengthCardCurrentlyDragged) {\r\n\r\n if (isCardChoosen(draggableCard)) {\r\n activateNotificatoinForTwoSeconds();\r\n return;\r\n }\r\n\r\n if (numberOfPopulatedCards() < 5) {\r\n const copyOfChoosen: ICard[] = [];\r\n const choosenCards = Object.assign(copyOfChoosen, chosenStrengthCard)\r\n\r\n if (choosenCards[selectedIndex]) return;\r\n\r\n choosenCards[selectedIndex] = draggableCard;\r\n\r\n setChosenStrengthCard(choosenCards);\r\n socket?.emit(\"chooseStrengthCard\", { id: draggableCard.id, idsOfCardsInSlotMachine: allStrengthCardsIdsState.current });\r\n\r\n verticalCardIndexOfSelectedRow.current = verticalCardIdsAndTheirIndexes?.find((card: any) => draggableCard.id === card.cardId)?.verticalIndex;\r\n setLastDroppedCard(draggableCard);\r\n }\r\n }\r\n setIsStrengthCardCurrentlyDragged(false);\r\n }\r\n\r\n const activateNotificatoinForTwoSeconds = () => {\r\n setShowIt(true);\r\n\r\n if (alertRef.current) {\r\n clearTimeout(alertRef.current);\r\n }\r\n\r\n alertRef.current = setTimeout(() => {\r\n setShowIt(false);\r\n }, 3000)\r\n }\r\n\r\n const removeChosenCard = (cardId: number | string, index: number) => {\r\n const copyOfChoosen: (ICard | undefined)[] = [];\r\n const choosenCards = Object.assign(copyOfChoosen, chosenStrengthCard)\r\n\r\n setSelectedIndex(null);\r\n choosenCards[index] = undefined;\r\n setChosenStrengthCard(choosenCards);\r\n socket?.emit(\"dropStrengthCard\", { id: cardId });\r\n playSound(\"/sounds/CloseCard.mp3\");\r\n\r\n return setConfirmSelectionDisabled(true);\r\n }\r\n \r\n const draggedStrengthCardsFields = (index: number) => {\r\n return (\r\n
setSelectedIndex(index)}\r\n onMouseLeave={() => setSelectedIndex(null)} className=\"drop_container__content center_horizontally_and_vertically\" style={{ minHeight: width * 0.155, minWidth: width * 0.118 }}>\r\n {(chosenStrengthCard[index] && !isConfirmSelectionClicked) &&\r\n
removeChosenCard(chosenStrengthCard[index]!.id!, index)}>
\r\n }\r\n {chosenStrengthCard[index] && }\r\n
\r\n )\r\n }\r\n \r\n const SlotMachineChosenCards = () => {\r\n return Array.apply(null, Array(5)).map((_item: any, index: number) => {\r\n return (\r\n
\r\n
\r\n
\r\n {draggedStrengthCardsFields(index)}\r\n {index === 4 && animateWhiteShaddowGlowingCards &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n \r\n
\r\n )\r\n })\r\n }\r\n\r\n const confirmSpin = () => {\r\n setIsArrowShown(false);\r\n socket?.emit(\"finishChoosingCards\"); \r\n setConfirmSelectionDisabled(true);\r\n setIsConfirmSelectionClicked(true);\r\n setWaitForTheOthersModal(true);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {SlotMachineChosenCards()}\r\n
\r\n
\r\n\r\n
\r\n \r\n {isArrowShown && !confirmSelectionDisabled && isConfirmButtonTipShown &&\r\n
\r\n setIsConfirmButtonTipShown(false)}/>\r\n
\r\n }\r\n \r\n \r\n
\r\n
\r\n );\r\n});\r\n\r\nexport default SlotMachineChosenCardHolder;","import { useContext } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { SlotMachineContext } from \"../../../context\";\r\nimport { Notification } from \"../../atoms\";\r\n\r\nconst SlotMachineNotifications = () => {\r\n const { t } = useTranslation();\r\n const { isConfirmSelectionClicked } = useContext(SlotMachineContext);\r\n\r\n return ( \r\n
\r\n {isConfirmSelectionClicked && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n )\r\n}\r\n\r\nexport default SlotMachineNotifications;","const setTopOfHtmlElementThroughStyle = (element: any, top: number, isSpinningOnlyOne: boolean) => {\r\n if (isSpinningOnlyOne) \r\n element.style.top = `${top}px`;\r\n \r\n if (!isSpinningOnlyOne)\r\n element.style.top = `${top}px`;\r\n}\r\n\r\nexport default setTopOfHtmlElementThroughStyle;","import setTopOfHtmlElementThroughStyle from \"./setTopOfHtmlElementThroughStyle\";\r\n\r\nconst animateSpinningOfTheOnlyOneCard = (element: any, options: any, extremeValue: number, isSpinningOnlyOne: boolean, verticalCardIndexOfSelectedRow: any) => {\r\n let choosenOption = options[extremeValue] as HTMLDivElement;\r\n\r\n if(choosenOption) {\r\n setTimeout( () => {\r\n choosenOption = options[verticalCardIndexOfSelectedRow.current] as HTMLDivElement;\r\n if (choosenOption)\r\n setTopOfHtmlElementThroughStyle(element, -choosenOption.offsetTop, isSpinningOnlyOne);\r\n }, 500);\r\n\r\n if (choosenOption)\r\n setTopOfHtmlElementThroughStyle (element, -choosenOption.offsetTop, isSpinningOnlyOne);\r\n }\r\n}\r\n\r\nexport default animateSpinningOfTheOnlyOneCard;","import animateSpinningOfTheOnlyOneCard from \"./animateSpinningOfTheOnlyOneCard\";\r\n\r\nconst checkCardVerticalPositionBeforeAnimating = (element: any, options: any, isSpinningOnlyOne: boolean, verticalCardIndexOfSelectedRow: any) => {\r\n let verticalIndexOfTheCard = verticalCardIndexOfSelectedRow.current;\r\n let extremeValue = 0;\r\n\r\n if(verticalIndexOfTheCard === 4 || verticalIndexOfTheCard === 3 || verticalIndexOfTheCard === 2 )\r\n extremeValue = 0;\r\n\r\n if(verticalIndexOfTheCard === 1 || verticalIndexOfTheCard === 0) \r\n extremeValue = 4;\r\n\r\n animateSpinningOfTheOnlyOneCard(element, options, extremeValue, isSpinningOnlyOne, verticalCardIndexOfSelectedRow);\r\n}\r\n\r\nexport default checkCardVerticalPositionBeforeAnimating;","export default __webpack_public_path__ + \"static/media/slotMachineLeverSpring.71063c2e.png\";","export default __webpack_public_path__ + \"static/media/slotmachineLeverWithGlow.8d63dde8.png\";","import { useState, useContext, FC, useEffect } from \"react\";\r\nimport { SlotMachineContext, SocketContext, TeamContext, UserContext } from \"../../../context\";\r\nimport { useSound } from \"../../../hooks\";\r\nimport slotMachineLeverSprint from \"../../../assets/images/slotMachineLeverSpring.png\";\r\nimport slotmachineLeverWithGlow from \"../../../assets/images/slotmachineLeverWithGlow.png\";\r\nimport { PinkNotification } from \"../../atoms\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface ISlotMachineSpinButton {\r\n setIsStrengthCardsInitialisationInvoked?(value: boolean): void;\r\n isInDemo?: boolean;\r\n}\r\n\r\nconst SlotMachineSpinButton: FC = ({setIsStrengthCardsInitialisationInvoked, isInDemo}) => {\r\n const { t } = useTranslation();\r\n const { socket } = useContext(SocketContext);\r\n const { game } = useContext(TeamContext);\r\n const {\r\n confirmSelectionDisabled,\r\n isConfirmSelectionClicked, \r\n generateFiveNewStrengthCardsManually,\r\n setGenerateFiveNewStrengthCardsManually,\r\n animateWhiteShaddowGlowingCards,\r\n setAnimateWhiteShaddowGlowingCards\r\n } = useContext(SlotMachineContext);\r\n const { userData } = useContext(UserContext);\r\n const [toggleLever, setToggleLever] = useState(false);\r\n const [isArrowShown, setIsArrowShown] = useState(true);\r\n const {playSound} = useSound();\r\n const pathname : string | undefined = window.location.pathname;\r\n const isPageSlotMachineDemoRendered : boolean = pathname.includes(\"/slotmachineDemoData\");\r\n\r\n\r\n useEffect(() => {\r\n if (setIsStrengthCardsInitialisationInvoked && !(isArrowShown && !isConfirmSelectionClicked && confirmSelectionDisabled))\r\n setIsStrengthCardsInitialisationInvoked(true);\r\n\r\n }, [confirmSelectionDisabled, isArrowShown, isConfirmSelectionClicked, setIsStrengthCardsInitialisationInvoked]);\r\n\r\n const myEmail = localStorage[\"userEmailInCaseHeLogsOut\"];\r\n\r\n useEffect(() => {\r\n const wasTheLeverPulledForTheFirstTime = !(isArrowShown && !isConfirmSelectionClicked && confirmSelectionDisabled);\r\n\r\n if (!userData) return;\r\n\r\n let userNicknameInLobby = game?.inGameLobby?.filter((lobby: any) => lobby?.email == myEmail)[0]?.nickname;\r\n let userInLobbyForStrengthCards = game?.gameInfo?.inGameLobby.filter((user: any) => user?.nickName === userNicknameInLobby)[0]?.currentStrengthCards;\r\n\r\n let currentStrengthCardsFromGameObject = !isInDemo ? game?.gameInfo.players[userData?.email].currentStrengthCards : userInLobbyForStrengthCards;\r\n const numberOfSelectedStrengthCardsFromSlotMachine = currentStrengthCardsFromGameObject?.length;\r\n\r\n if ( wasTheLeverPulledForTheFirstTime && !animateWhiteShaddowGlowingCards && !numberOfSelectedStrengthCardsFromSlotMachine )\r\n setAnimateWhiteShaddowGlowingCards(true);\r\n\r\n }, [animateWhiteShaddowGlowingCards, confirmSelectionDisabled, game?.gameInfo.players, isArrowShown, isConfirmSelectionClicked, setAnimateWhiteShaddowGlowingCards, userData]);\r\n\r\n const spinButton = () => {\r\n const wasTheLeverPulledForTheFirstTime = !(isArrowShown && !isConfirmSelectionClicked && confirmSelectionDisabled);\r\n\r\n setIsArrowShown(false);\r\n\r\n setToggleLever(true);\r\n playSound(\"/sounds/LeverPull.mp3\");\r\n\r\n if (animateWhiteShaddowGlowingCards && !wasTheLeverPulledForTheFirstTime)\r\n setAnimateWhiteShaddowGlowingCards(false);\r\n\r\n setTimeout(() => {\r\n setToggleLever!(false);\r\n }, 1000);\r\n\r\n if (isPageSlotMachineDemoRendered) {\r\n simulateGenerationOfNewStrengthCards();\r\n return;\r\n }\r\n\r\n if (isInDemo) {\r\n socket?.emit(\"generateRandomStrengthCardsNewPlayer\");\r\n setTimeout(() => {\r\n socket?.emit(\"generateRandomStrengthCardsNewPlayer\");\r\n }, 500);\r\n }\r\n\r\n if(!isInDemo) {\r\n socket?.emit(\"generateRandomStrengthCards\");\r\n setTimeout(() => {\r\n socket?.emit(\"generateRandomStrengthCards\");\r\n }, 500);\r\n }\r\n\r\n socket?.on(\"randomStrengthCards\", (data) => {\r\n console.log(\"strength cards first 5 cards: \", data);\r\n });\r\n }\r\n\r\n\r\n\r\n useEffect( () => {\r\n socket?.emit(\"generateRandomStrengthCardsNewPlayer\");\r\n }, [socket]); \r\n const simulateGenerationOfNewStrengthCards = () => {\r\n setGenerateFiveNewStrengthCardsManually(!generateFiveNewStrengthCardsManually)\r\n }\r\n\r\n return (\r\n
\r\n \r\n {!isInDemo &&isArrowShown && !isConfirmSelectionClicked && confirmSelectionDisabled &&
\r\n \r\n
}\r\n\r\n
\r\n {(isArrowShown && !isConfirmSelectionClicked && confirmSelectionDisabled) ?\r\n \r\n :\r\n \r\n }\r\n
\r\n\r\n
\r\n )\r\n}\r\n\r\nexport default SlotMachineSpinButton;","import { useCallback, useContext, useEffect, useMemo, useRef, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Rnd } from \"react-rnd\";\r\nimport { CardContext, SlotMachineContext, } from \"../../../context\";\r\nimport { useStrengthCards, useWindowDimensions, useSound } from \"../../../hooks\";\r\nimport { ICard, ISlotMachineSpinner, SlotMachineState } from \"../../../interfaces\";\r\nimport { CardSlotMachine, PinkNotification } from \"../../atoms\";\r\nimport { checkCardVerticalPositionBeforeAnimating, setTopOfHtmlElementThroughStyle } from \"./helpers/index\";\r\nimport SlotMachineSpinButton from \"./SlotMachineSpinButton\";\r\n\r\nconst SlotMachineSpinner = (props: ISlotMachineSpinner) => {\r\n const { t } = useTranslation();\r\n const { slotMachineRef } = props;\r\n\r\n const { setDraggableCard, isStrengthCardCurrentlyDragged, setIsStrengthCardCurrentlyDragged } = useContext(CardContext);\r\n const { isConfirmSelectionClicked, verticalCardIndexOfSelectedRow, setVerticalCardIdsAndTheirIndexes, animateWhiteShaddowGlowingCards } = useContext(SlotMachineContext);\r\n\r\n const [draggingCardIndex, setDraggingCardIndex] = useState(-1);\r\n const [isChoosingCardsLocked, setIsChoosingCardsLocked] = useState(false);\r\n const lockCardTimeout = useRef();\r\n const [recievedStrengthCards] = useStrengthCards();\r\n \r\n const [isStrengthCardsInitialisationInvoked, setIsStrengthCardsInitialisationInvoked] = useState(false);\r\n const [shuffledRefs, setShuffledRefs] = useState(\r\n [useRef(null),\r\n useRef(null),\r\n useRef(null),\r\n useRef(null),\r\n useRef(null)]\r\n );\r\n const [strengthCards, setStrengthCards] = useState({\r\n card1: { cardData: undefined },\r\n card2: { cardData: undefined },\r\n card3: { cardData: undefined },\r\n card4: { cardData: undefined },\r\n card5: { cardData: undefined }\r\n });\r\n\r\n const { width } = useWindowDimensions();\r\n const {playSound} = useSound();\r\n\r\n useEffect(() => {\r\n if (recievedStrengthCards.length)\r\n playSound(\"/sounds/slotSpin.mp3\");\r\n }, [playSound, recievedStrengthCards])\r\n\r\n \r\n useEffect(() => {\r\n if (recievedStrengthCards.length && !(draggingCardIndex+1) ) {\r\n shuffleRecievedCards();\r\n spinAllCards();\r\n } \r\n // if I add \"draggingCardIndex\" all the cards will shuffle instead of suffling only one (the selected one)\r\n // shuffleRecievedCards - has to be transform into callback, and then it will need its dependancies\r\n // spinAllCards - has to be transform into callback, and then it will need its dependancies\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [recievedStrengthCards]);\r\n \r\n useEffect(() => {\r\n if (recievedStrengthCards.length && (draggingCardIndex+1) )\r\n spinOnlyOneCard();\r\n // if I add \"draggingCardIndex\" all the cards will shuffle instead of suffling only one (the selected one)\r\n // spinOnlyOneCard - has to be transform into callback, and then it will need its dependancies\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [recievedStrengthCards]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n if(lockCardTimeout.current)\r\n clearTimeout(lockCardTimeout.current);\r\n }\r\n }, []);\r\n\r\n const shuffleRecievedCards = () => {\r\n const newArray = shuffledRefs;\r\n\r\n for (let i = newArray.length - 1; i > 0; i--) {\r\n const j = Math.floor(Math.random() * (i + 1));\r\n [newArray[i], newArray[j]] = [newArray[j], newArray[i]];\r\n }\r\n\r\n setShuffledRefs(newArray);\r\n };\r\n\r\n const spinAllCards = () => {\r\n const slotState = Object.assign({}, strengthCards);\r\n\r\n shuffledRefs.forEach((ref, index) => {\r\n if (!ref.current) return;\r\n const selected = triggerSlotRotation(ref.current, index, false);\r\n slotState[`card${index + 1}`].cardData = selected;\r\n });\r\n\r\n setStrengthCards(slotState);\r\n };\r\n\r\n const spinOnlyOneCard = () => {\r\n const refToShuffle = shuffledRefs[draggingCardIndex].current;\r\n\r\n if(!refToShuffle) return ;\r\n\r\n const selected = triggerSlotRotation(refToShuffle, draggingCardIndex, true);\r\n\r\n setStrengthCards({\r\n ...strengthCards,\r\n strengthCards: {\r\n [`card${draggingCardIndex + 1}`]: selected\r\n } \r\n });\r\n\r\n setDraggingCardIndex(-1);\r\n }\r\n\r\n const lockOtherCardsWhileOneCardIsSpinning = () => {\r\n lockCardTimeout.current = setTimeout(() => {\r\n setIsChoosingCardsLocked(false);\r\n }, 600);\r\n setIsChoosingCardsLocked(true);\r\n }\r\n\r\n const triggerSlotRotation = (element: HTMLDivElement, index: number, isSpinningOnlyOne: boolean) => {\r\n const options = element.children;\r\n if (isSpinningOnlyOne) {\r\n checkCardVerticalPositionBeforeAnimating(element, options, isSpinningOnlyOne, verticalCardIndexOfSelectedRow);\r\n lockOtherCardsWhileOneCardIsSpinning();\r\n }\r\n\r\n if (!isSpinningOnlyOne) {\r\n const choosenOption = options[index] as HTMLDivElement;\r\n setTopOfHtmlElementThroughStyle(element, -choosenOption.offsetTop, isSpinningOnlyOne);\r\n }\r\n \r\n return recievedStrengthCards[index];\r\n };\r\n\r\n const keepCard = useCallback((cardData: ICard) => {\r\n setDraggableCard(cardData);\r\n if (isConfirmSelectionClicked) return;\r\n }, [setDraggableCard, isConfirmSelectionClicked]);\r\n\r\n const renderRecievedCards = useMemo (() => {\r\n if (!recievedStrengthCards.length) return null;\r\n \r\n let cardAndVerticalIds: any[] = [];\r\n\r\n return (\r\n recievedStrengthCards.map((card: ICard, verticalIndex: number) => {\r\n\r\n cardAndVerticalIds.push({cardId: card.id || 0, verticalIndex: verticalIndex})\r\n setVerticalCardIdsAndTheirIndexes(cardAndVerticalIds);\r\n\r\n return(\r\n
\r\n keepCard(card)} />\r\n
\r\n )})\r\n );\r\n },[recievedStrengthCards, setVerticalCardIdsAndTheirIndexes, keepCard]);\r\n\r\n return(\r\n
\r\n
\r\n {Array.apply(null, Array(5)).map( (_item: any, index: number) => {\r\n return(\r\n
\r\n
\r\n { index === 1 && animateWhiteShaddowGlowingCards && !isStrengthCardCurrentlyDragged && }\r\n
\r\n {\r\n setIsStrengthCardCurrentlyDragged(true);\r\n setDraggingCardIndex(index);\r\n \r\n }}\r\n onDragStop={ () => {\r\n slotMachineRef.current?.dropedStrenghtCard();\r\n }}\r\n >\r\n
\r\n \r\n
shuffledRefs[index].current = el}>\r\n {renderRecievedCards}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {index !== 4 &&
}\r\n
\r\n );\r\n }) }\r\n
\r\n
\r\n setIsStrengthCardsInitialisationInvoked(value)} />\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default SlotMachineSpinner;","export default __webpack_public_path__ + \"static/media/logoUppiness.679fd89b.svg\";","import { FC } from \"react\";\r\nimport { CountdownTimer } from \"../../atoms\";\r\n\r\nimport logoUppiness from \"../../../assets/icons/logoUppiness.svg\";\r\n\r\ninterface ISlotMachineHeader {\r\n isInDemoData?: boolean;\r\n}\r\n\r\n\r\nconst SlotMachineHeader: FC = ({isInDemoData = false}) => {\r\n\r\n return (\r\n
\r\n
\r\n\r\n
\r\n \"Uppiness\r\n
\r\n\r\n
\r\n \r\n
\r\n {!isInDemoData &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default SlotMachineHeader;","import { FC, useContext } from \"react\"\r\nimport { SwapButton} from \"../../atoms\";\r\nimport { SocketContext, TableContext, TeamContext } from \"../../../context\"\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface ISwapCardButton {\r\n cardType: string;\r\n isThisJokerButton?: boolean;\r\n}\r\n\r\nconst SwapCardButton: FC = (props) => {\r\n const { cardType, isThisJokerButton } = props;\r\n const { t } = useTranslation();\r\n const { game } = useContext(TeamContext)\r\n const { withdrawCardSocketEvent, skipDillemaCardSocketEvent, activateJokerButtonSocketEvent } = useContext(SocketContext);\r\n const { setAreAnimatedHandsShown } = useContext(TableContext);\r\n const { setToggleMySolutionFullScreen } = useContext(TableContext);\r\n const jokerCardId : number = 1;\r\n\r\n\r\n const getTheChallengeJokerCard = () => {\r\n if (game?.gameInfo?.currentDilemmaCard.id === jokerCardId) {\r\n alert(t(\"youAlreadyHaveJockerCardText\"))\r\n return;\r\n } \r\n \r\n activateJokerButtonSocketEvent();\r\n }\r\n\r\n const replaceTheChosenChallengeCard = () => {\r\n skipDillemaCardSocketEvent();\r\n }\r\n\r\n const replaceThProposedSolutionCard = () => {\r\n withdrawCardSocketEvent();\r\n setAreAnimatedHandsShown(true);\r\n setToggleMySolutionFullScreen(true);\r\n }\r\n\r\n if (isThisJokerButton)\r\n return (\r\n
\r\n
\r\n getTheChallengeJokerCard()} isThisJokerButton={true} />\r\n
\r\n
\r\n )\r\n\r\n if (cardType === \"challenge\")\r\n return (\r\n
\r\n
\r\n replaceTheChosenChallengeCard()} />\r\n
\r\n
\r\n )\r\n\r\n return (\r\n
\r\n
\r\n replaceThProposedSolutionCard()} />\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default SwapCardButton;","import { FC, useContext, useEffect, useRef, useState } from \"react\";\r\nimport { CallTheFacilitatorOption, InitalChatMessage } from \"../../molecules\";\r\n\r\nimport { SocketContext, TeamContext, UserContext } from \"../../../context\";\r\n\r\nimport { useWindowDimensions, useSound } from \"../../../hooks\";\r\nimport { IMessage, IPlayer } from \"../../../interfaces\";\r\nimport { Phase } from \"../../../util/enums\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ntype TOrderOfFacilitatorNotification = 1 | 2 | 3 | 4 | 5 | 6;\r\n\r\ninterface IChatMolecule {\r\n\tshouldTheFirstMessageBeShown: boolean;\r\n}\r\n\r\nconst ChatMolecule: FC = ({ shouldTheFirstMessageBeShown }) => {\r\n\tconst { t } = useTranslation();\r\n\tconst { chatSocketOn, chatSocketOff, chatMessages, setChatMessages, timeParser } = useContext(SocketContext);\r\n\tconst { game, sendMessage } = useContext(TeamContext);\r\n\tconst { userData } = useContext(UserContext);\r\n\r\n\tconst [insertedMessage, setInsertedMessage] = useState(\"\");\r\n\tconst inputEl = useRef(document.createElement(\"div\"));\r\n\tconst { height } = useWindowDimensions();\r\n\tconst {playSound} = useSound();\r\n\tconst lobbyChatBodyHeight = height * 0.795 - 80;\r\n\tconst boardChatBodyHeight = height * 0.695 - 80;\r\n\tconst chatBodyHeight = shouldTheFirstMessageBeShown ? lobbyChatBodyHeight : boardChatBodyHeight;\r\n\r\n\tuseEffect(() => {\r\n\t\tchatSocketOn();\r\n\t}, [chatSocketOn])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (chatMessages.length){\r\n\t\t\tconst lastMessageSent = chatMessages[chatMessages.length - 1]; \r\n\r\n\t\t\tif (lastMessageSent.float === \"floatLeft\")\r\n\t\t\t\tplaySound(\"/sounds/MessageReceived2.mp3\");\r\n\t\t\t\r\n\t\t} \r\n\t\r\n\t}, [chatMessages, playSound]);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet localCurrentElementValue = inputEl.current;\r\n\t\tlet scrollHeightTimeout: any;\r\n\r\n\t\tif (game?.phase !== Phase.SLOT_MACHINE) {\r\n\t\t\tscrollHeightTimeout = setTimeout(() => {\r\n\t\t\t\tconst scroll =\r\n\t\t\t\t\tlocalCurrentElementValue.scrollHeight -\r\n\t\t\t\t\tlocalCurrentElementValue.clientHeight;\r\n\t\t\t\tlocalCurrentElementValue.scrollTo(0, scroll);\r\n\t\t\t}, 50);\r\n\t\t}\r\n\r\n\t\treturn () => {\r\n\t\t\tchatSocketOff();\r\n\t\t\tclearTimeout(scrollHeightTimeout);\r\n\t\t}\r\n\t}, [chatMessages, chatSocketOff, chatSocketOn, game?.phase]);\r\n\r\n\tconst change = (event: any) => {\r\n\t\tsetInsertedMessage(event.target.value);\r\n\t};\r\n\r\n\tconst sendmessage = () => {\r\n\t\tif (insertedMessage) {\r\n\t\t\tsendMessage({ message: insertedMessage });\r\n\t\t\tsetInsertedMessage(\"\");\r\n\t\t\tplaySound(\"/sounds/MessageSent.mp3\");\r\n\r\n\t\t\tconst currentTime = new Date();\r\n\t\t\tconst formatedDate =\r\n\t\t\t\ttimeParser(currentTime.getHours()) +\r\n\t\t\t\t\":\" +\r\n\t\t\t\ttimeParser(currentTime.getMinutes());\r\n\r\n\t\t\tconst localData: IMessage = {\r\n\t\t\t\tdate: formatedDate,\r\n\t\t\t\tname: userData?.fullName || \"\",\r\n\t\t\t\tmessage: insertedMessage,\r\n\t\t\t\tfloat: \"floatRight\",\r\n\t\t\t\temail: userData?.email || \"\"\r\n\t\t\t}\r\n\r\n\t\t\tsetChatMessages([...chatMessages, localData]);\r\n\t\t\t\r\n\t\t}\r\n\t}\r\n\r\n\tconst handleKeyPress = (event: any) => {\r\n\t\tif (event.key === \"Enter\") {\r\n\t\t\tsendmessage();\r\n\t\t}\r\n\t}\r\n\r\n\tconst listOfFacilitatorNotifications: TOrderOfFacilitatorNotification[] = [1,2,3,4,5,6];\r\n\r\n\tconst renderFacilitatorMessages = () => {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{listOfFacilitatorNotifications.map( (element: TOrderOfFacilitatorNotification, index: number) => {\r\n\t\t\t\t\treturn \r\n\t\t\t\t})}\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{shouldTheFirstMessageBeShown && }\r\n\t\t\t\t\t\t{shouldTheFirstMessageBeShown && }\r\n\t\t\t\t\t\t{shouldTheFirstMessageBeShown && }\r\n\t\t\t\t\t\t{shouldTheFirstMessageBeShown && }\r\n\t\t\t\t\t\t{shouldTheFirstMessageBeShown && }\r\n\t\t\t\t\t\t{shouldTheFirstMessageBeShown && }\r\n\r\n\t\t\t\t\t\t{!shouldTheFirstMessageBeShown && renderFacilitatorMessages() }\r\n\r\n\t\t\t\t\t\t{chatMessages.map((chatMessage: any, index: number) => {\r\n\t\t\t\t\t\t\tif (chatMessage.float === \"floatRight\") {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\" \"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{chatMessage.message}{\" \"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t} \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t { return player.email === chatMessage?.email })?.color}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tsrc={`${process.env.REACT_APP_BACKEND_URL}images/${chatMessage?.email}.png`}\r\n\t\t\t\t\t\t\t\t\t\t\t\talt=\"senders\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t{\" \"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{game?.players.find((player: IPlayer) => { return player.email === chatMessage.email })?.nickname}{\" \"}\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t{\" \"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t{chatMessage.message}{\" \"}\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default ChatMolecule;\r\n","import { FC, useContext, useEffect, useState } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { BoardContext, SocketContext } from '../../../context';\r\nimport { PinkNotification } from '../../atoms';\r\nimport ChatMolecule from './ChatMolecule';\r\n\r\nconst BoardChat: FC<{}> = () => {\r\n const { t } = useTranslation();\r\n const { chatMessages } = useContext(SocketContext);\r\n const { instructionTutorial } = useContext(BoardContext);\r\n const [isChatButtonClicked, setIsChatButtonClicked] = useState(false);\r\n const [isThereUnreadMessage, setIsThereUnreadMessage] = useState(false);\r\n\r\n useEffect( () => {\r\n if(chatMessages && !isChatButtonClicked)\r\n setIsThereUnreadMessage(true); \r\n }, [chatMessages, isChatButtonClicked]);\r\n\r\n useEffect( () => {\r\n if(!isChatButtonClicked)\r\n setIsThereUnreadMessage(false);\r\n\r\n if (isChatButtonClicked)\r\n setIsThereUnreadMessage(false);\r\n }, [isChatButtonClicked]);\r\n\r\n const toggleChatButton = () => {\r\n setIsChatButtonClicked(!isChatButtonClicked);\r\n }\r\n\r\n const showChat = () => {\r\n if (isChatButtonClicked)\r\n return (\r\n
\r\n \r\n
\r\n )\r\n \r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n \r\n }\r\n\r\n return (\r\n
\r\n {instructionTutorial === \"leftSideOfTheScreen\" && \r\n
\r\n \r\n
\r\n }\r\n
\r\n {isThereUnreadMessage &&
}\r\n
\r\n {showChat()}\r\n
\r\n );\r\n}\r\n\r\nexport default BoardChat;\r\n\r\n","import { FC, useState, useEffect } from \"react\";\r\n\r\nimport { useSound } from \"../../../../hooks\";\r\n\r\ninterface InitalChatMessageProp {\r\n displayAfter: number;\r\n normalText: string;\r\n boldText: string;\r\n}\r\n\r\nconst InitalChatMessage: FC = (props) => {\r\n const {normalText, boldText, displayAfter} = props;\r\n const [showMessage, setShowMessage] = useState(false);\r\n const {playSound} = useSound();\r\n\r\n useEffect(() => {\r\n const showMessageTimeout = setTimeout(() => {\r\n setShowMessage(true)\r\n }, displayAfter);\r\n \r\n return () => clearTimeout(showMessageTimeout);\r\n }, [displayAfter]);\r\n \r\n useEffect(() => {\r\n\t\tconst timeout = setTimeout(() => {\r\n\t\t\tplaySound(\"/sounds/MessageReceived2.mp3\");\r\n\t\t}, displayAfter);\r\n\r\n\t\treturn () => clearTimeout(timeout)\r\n \r\n\t},[displayAfter, playSound]);\r\n\r\n if (!showMessage)\r\n return (null)\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {\" \"}\r\n {normalText}{boldText}\r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default InitalChatMessage;","import axios from \"axios\";\r\nimport { FC, useContext } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { UserContext } from \"../../../context\";\r\n\r\ntype TOrderOfFacilitatorNotification = 1 | 2 | 3 | 4 | 5 | 6;\r\n\r\ninterface ICallTheFacilitatorOption {\r\n orderOfFacilitatorNotification: TOrderOfFacilitatorNotification;\r\n key: number\r\n}\r\n\r\nconst CallTheFacilitatorOption: FC = ({orderOfFacilitatorNotification, key}) => {\r\n const { t } = useTranslation();\r\n const { userData } = useContext(UserContext);\r\n const { setNotificationAlert, setActivateAlert } = useContext(UserContext);\r\n\r\n const windowLocationHref = window.location.href;\r\n const urlPathChunks = windowLocationHref.split(\"/\");\r\n const urlTokenExtracted = urlPathChunks[urlPathChunks.length-1];\r\n\r\n const facilitatorNotificationTextDic = {\r\n 1: t(\"ifYouNeddHelpYouCanCallText\"),\r\n 2: t(\"playerWantsToJoinText\"),\r\n 3: t(\"playerHasLoggedOutTheGameText\"),\r\n 4: t(\"platerHasLeftTheGameText\"),\r\n 5: t(\"aNetworkProblemHasOccuredText\"),\r\n 6: t(\"plateyHasSentYouAQuestionText\")\r\n }\r\n\r\n const getFacilitatorNotificationStyle = () => {\r\n if (orderOfFacilitatorNotification === 1) return \"first_facilitator_notification\";\r\n return \"rest_facilitator_notifications\";\r\n }\r\n \r\n\r\n const callTheFacilitatorLearning = (notificationType: string) => {\r\n setNotificationAlert({message: t(\"notificationSentTofacilitatorText\"), type:\"facilitatorNotification\"});\r\n setActivateAlert(true);\r\n\r\n axios({\r\n method: \"post\",\r\n url: process.env.REACT_APP_BACKEND_URL + \"api/notification/notifyFacilitator\",\r\n data: {\r\n matchId: urlTokenExtracted,\r\n player: userData?.email || \"\",\r\n notificationType: notificationType\r\n }\r\n })\r\n .then((res: any) => {\r\n console.log(\"Learning: \", res);\r\n })\r\n .catch((err: any) => console.error(err));\r\n }\r\n\r\n const facilitatorGreetingNotification = () => {\r\n return(\r\n
\r\n {t(\"hiText\")} {facilitatorNotificationTextDic[orderOfFacilitatorNotification]}\r\n
\r\n )\r\n }\r\n\r\n const playerWantsToJoin = () => {\r\n return(\r\n
callTheFacilitatorLearning(\"WANTS_TO_JOIN\")}>\r\n {facilitatorNotificationTextDic[orderOfFacilitatorNotification]}\r\n
\r\n )\r\n }\r\n\r\n const playerHasLoggedOutOfTheGame = () => {\r\n return(\r\n
callTheFacilitatorLearning(\"LOGGED_OUT\")}>\r\n {facilitatorNotificationTextDic[orderOfFacilitatorNotification]}\r\n
\r\n )\r\n }\r\n\r\n const PlayerhasLeftTheGame = () => {\r\n return(\r\n
callTheFacilitatorLearning(\"PLAYER_LEFT\")}>\r\n {facilitatorNotificationTextDic[orderOfFacilitatorNotification]}\r\n
\r\n )\r\n }\r\n\r\n const aNetworkProblemHasOccured = () => {\r\n return(\r\n
callTheFacilitatorLearning(\"NETWORK_ISSUE\")}>\r\n {facilitatorNotificationTextDic[orderOfFacilitatorNotification]}\r\n
\r\n )\r\n }\r\n\r\n const playerHasSentYouAQuestion = () => {\r\n return(\r\n
callTheFacilitatorLearning(\"QUESTION\")}>\r\n {facilitatorNotificationTextDic[orderOfFacilitatorNotification]}\r\n
\r\n )\r\n }\r\n\r\n const orderOfFacilitatorNotificationDic = {\r\n 1: facilitatorGreetingNotification(),\r\n 2: playerWantsToJoin(),\r\n 3: playerHasLoggedOutOfTheGame(),\r\n 4: PlayerhasLeftTheGame(),\r\n 5: aNetworkProblemHasOccured(),\r\n 6: playerHasSentYouAQuestion()\r\n }\r\n\r\n return (\r\n
\r\n {orderOfFacilitatorNotificationDic[orderOfFacilitatorNotification]}\r\n
\r\n )\r\n}\r\n\r\nexport default CallTheFacilitatorOption;","export default __webpack_public_path__ + \"static/media/deleteStrengthCard.202ff1c9.svg\";","import React, { FC } from 'react';\r\n\r\nimport closeIcon from \"../../../assets/icons/deleteStrengthCard.svg\";\r\n\r\nimport { ICard } from \"../../../interfaces\";\r\nimport { ChallengeCardReadOnly, SolutionCardReadOnly, StrengthCardReadOnly } from '../../molecules';\r\n\r\ninterface ISolutionQuestion {\r\n solution: ICard,\r\n question: ICard,\r\n dilemma: ICard\r\n}\r\ninterface ModalProps {\r\n chosenSolutions: ISolutionQuestion[];\r\n selectedStrengthCard?: any;\r\n close(): void;\r\n}\r\n\r\nconst Modal: FC = (props) => {\r\n const { close, chosenSolutions, selectedStrengthCard } = props;\r\n\r\n const renderSolutionsCards = () => {\r\n return chosenSolutions.map((card: ISolutionQuestion, index: number) => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n })\r\n }\r\n\r\n const gradientWhiteLineForModal = () => {\r\n return (\r\n
\r\n
\r\n
\r\n )\r\n }\r\n\r\n const renderPeekingStrengthCard = () => {\r\n return( \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n )\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n \r\n {renderPeekingStrengthCard()}\r\n \r\n {gradientWhiteLineForModal()}\r\n\r\n
\r\n \"icon\r\n\r\n
\r\n {renderSolutionsCards()}\r\n
\r\n\r\n
\r\n\r\n {gradientWhiteLineForModal()}\r\n\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Modal;","import { FC, useContext, } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nimport { SocketContext, TeamContext } from \"../../../context\";\r\nimport { User } from \"../../atoms\";\r\n\r\n\r\nconst PlayesListMolecule: FC<{}> = () => {\r\n const { t } = useTranslation();\r\n const { players } = useContext(TeamContext);\r\n const { isProfilePictureUpdated } = useContext(SocketContext);\r\n\r\n const renderPlayers = () => {\r\n return players.map((player, index: number) => {\r\n return (\r\n \r\n )\r\n });\r\n };\r\n\r\n return (\r\n
\r\n\r\n
\r\n\r\n
\r\n
{t(\"playersText\")}:
\r\n
{`${players.length}`}
\r\n
\r\n\r\n
\r\n\r\n
\r\n {renderPlayers()}\r\n
\r\n\r\n
\r\n );\r\n};\r\n\r\nexport default PlayesListMolecule;","import React, { FC, useContext, useEffect, useState } from \"react\";\r\nimport { Transition } from 'react-transition-group';\r\n\r\nimport { BoardContext, CardContext, SocketContext, TeamContext, UserContext } from \"../../../context\";\r\n\r\nimport { ArrowNotification, PinkNotification, SolutionCard, User } from \"../../atoms\";\r\nimport { IPlayerSolution } from \"../../../interfaces\";\r\nimport { Phase } from \"../../../util/enums\";\r\nimport { useSound } from \"../../../hooks\";\r\nimport { SwapCardButton } from \"..\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface PlayersSolutionCardsMoleculeProps {\r\n selectedCard?: IPlayerSolution;\r\n cardDimentions?: any;\r\n proposedCardOrder?: number;\r\n fullScreenIsOn?: boolean;\r\n}\r\n\r\nexport const PlayersSolutionCardsMoleculeMemo: FC = ({ selectedCard, cardDimentions, proposedCardOrder, fullScreenIsOn }) => {\r\n const { t } = useTranslation();\r\n const { \r\n theSolutionCardSelectedByDilemmaOwner, \r\n dilemmaOwnerPickedASolutionSocketEvent,\r\n setTheSolutionCardSelectedByDilemmaOwner\r\n } = useContext(SocketContext);\r\n const { game } = useContext(TeamContext);\r\n const { userData } = useContext(UserContext);\r\n const {\r\n setIsDragging,\r\n dataOfDoubleClickedSolutionCard,\r\n setDataOfDoubleClickedSolutionCard\r\n } = useContext(CardContext);\r\n const { setAreStrengthsShownFullScreen } = useContext(BoardContext);\r\n const [proposedCardDimentions, setProposedCardDimentions] = useState(cardDimentions);\r\n const [isReturnButtonHovered, setIsReturnButtonHovered] = useState(false);\r\n const [isCancelButtonHovered, setIsCancelButtonHovered] = useState(false);\r\n\r\n const isTheUserDilemaOwner: boolean = userData?.email === game?.gameInfo.currentPlayerEmail;\r\n const isThisCardSelectedByDilemmaOwner: boolean = dataOfDoubleClickedSolutionCard?.card?.id === selectedCard?.card?.id;\r\n const duration = 500;\r\n const {playSound} = useSound();\r\n\r\n const defaultStyle = {\r\n transition: `opacity ${duration}ms ease-in-out`,\r\n opacity: 1,\r\n }\r\n\r\n useEffect(() => {\r\n if (theSolutionCardSelectedByDilemmaOwner)\r\n playSound(\"/sounds/MergedYay.mp3\");\r\n \r\n },[playSound, theSolutionCardSelectedByDilemmaOwner]);\r\n \r\n useEffect( () => {\r\n setProposedCardDimentions(cardDimentions);\r\n }, [cardDimentions]);\r\n\r\n const TransitionStatus = {\r\n 'entering': { opacity: 0.5 },\r\n 'entered': { opacity: 1 },\r\n 'exiting': { opacity: 1 },\r\n 'exited': { opacity: 1 },\r\n \"unmounted\": { opacity: 1 }\r\n };\r\n\r\n useEffect(() => {\r\n if (game?.phase === Phase.QUESTION_CARD)\r\n setIsDragging(false);\r\n }, [game, setIsDragging]);\r\n\r\n const notificationExangeCard = () => {\r\n return (\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n if (!selectedCard)\r\n return
;\r\n\r\n const checkIfTheUserWhoDoubleClickedIsDilemmaOwner = () => {\r\n if (game?.phase === Phase.QUESTION_CARD) return; \r\n \r\n\r\n if (isTheUserDilemaOwner)\r\n setDataOfDoubleClickedSolutionCard(selectedCard);\r\n //RESENJE\r\n\r\n const selectedCardId = selectedCard?.card?.id;\r\n if (selectedCardId && isTheUserDilemaOwner){\r\n dilemmaOwnerPickedASolutionSocketEvent(selectedCardId);\r\n setTheSolutionCardSelectedByDilemmaOwner(selectedCardId)\r\n }\r\n }\r\n\r\n const diselectSelectedSolutionCard = () => {\r\n if(game?.phase === Phase.CHOOSE_SOLUTION){\r\n setDataOfDoubleClickedSolutionCard(undefined);\r\n setTheSolutionCardSelectedByDilemmaOwner(undefined);\r\n setAreStrengthsShownFullScreen(false);\r\n dilemmaOwnerPickedASolutionSocketEvent();\r\n }\r\n }\r\n\r\n return (\r\n
checkIfTheUserWhoDoubleClickedIsDilemmaOwner()} >\r\n \r\n {state => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n {dataOfDoubleClickedSolutionCard && \r\n
\r\n
diselectSelectedSolutionCard() } \r\n onMouseEnter={() => setIsCancelButtonHovered(true)}\r\n onMouseLeave={() => setIsCancelButtonHovered(false)}\r\n >\r\n {isCancelButtonHovered &&\r\n \r\n }\r\n
\r\n
\r\n }\r\n\r\n {selectedCard.player.email === userData?.email && game?.phase === Phase.QUESTION_CARD && \r\n
setIsReturnButtonHovered(true)}\r\n onMouseLeave={() => setIsReturnButtonHovered(false)}\r\n >\r\n {isReturnButtonHovered && notificationExangeCard()}\r\n \r\n
\r\n }\r\n\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst PlayersSolutionCardsMolecule = React.memo( PlayersSolutionCardsMoleculeMemo );\r\n\r\nexport default PlayersSolutionCardsMolecule;\r\n","import { FC, useContext, useEffect, useState } from \"react\";\r\n\r\nimport { BoardContext, TableContext, TeamContext, UserContext } from \"../../../context\";\r\nimport { PinkNotification, UpperTokensBar } from \"../../atoms\";\r\nimport { IPlayer } from \"../../../interfaces\";\r\nimport { useSound } from \"../../../hooks\";\r\nimport UpTokenCoin from \"../../../assets/icons/upTokenCoin.svg\"\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface PlayerMiniProfileProps {\r\n player?: IPlayer\r\n showNotification?: boolean;\r\n}\r\nconst PlayerMiniProfile: FC = ({ player, showNotification}) => {\r\n const { t } = useTranslation();\r\n const { game } = useContext(TeamContext);\r\n const { userData, setEmailOfSelectedPlayerBoard } = useContext(UserContext);\r\n const { playersInNewOrder } = useContext(UserContext);\r\n const { instructionTutorial } = useContext(BoardContext);\r\n const { updateUserAngles } = useContext(TableContext);\r\n const [numberOfTokens, setNumberOfTokens] = useState(0);\r\n const [isUpperCoinAnimationActive, setIsUpperCoinAnimationActive] = useState(false);\r\n const {playSound} = useSound();\r\n\r\n useEffect(() => {\r\n if (player)\r\n setNumberOfTokens(game?.gameInfo.players[player?.email || \"\"]?.upperTokens || 0);\r\n\r\n setNumberOfTokens(game?.gameInfo.players[userData?.email || \"\"]?.upperTokens || 0);\r\n }, [game, player, userData?.email]);\r\n\r\n useEffect(() => {\r\n setIsUpperCoinAnimationActive(true);\r\n playSound(\"/sounds/CoinCollect.mp3\");\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [numberOfTokens]);\r\n\r\n const endUpperCoinAnimation = () => {\r\n setTimeout( () => {\r\n setIsUpperCoinAnimationActive(false);\r\n }, 2000);\r\n }\r\n\r\n if (isUpperCoinAnimationActive) {\r\n endUpperCoinAnimation();\r\n }\r\n\r\n const userNickname = () => {\r\n if (player) return game?.gameInfo.players[player?.email || \"\"].nickname || 0;\r\n return playersInNewOrder.find((player: IPlayer) => { return player?.email === userData?.email })?.nickname || \"\";\r\n }\r\n\r\n const userColor = () => {\r\n if (player) return game?.gameInfo.players[player?.email || \"\"].color || 0;\r\n\r\n return playersInNewOrder.find((player: IPlayer) => { return player?.email === userData?.email })?.color || \"\";\r\n }\r\n\r\n const rotateBackToMyCards = () => {\r\n playersInNewOrder.forEach( (player: IPlayer, index: number) => {\r\n if(player.email === userData?.email){\r\n updateUserAngles(index);\r\n setEmailOfSelectedPlayerBoard(player.email);\r\n }\r\n })\r\n }\r\n \r\n return (\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n {userNickname()}\r\n
\r\n\r\n {(instructionTutorial === \"leftSideOfTheScreen\" && showNotification) && \r\n
\r\n \r\n
\r\n }\r\n
\r\n
\r\n \r\n {isUpperCoinAnimationActive && }\r\n
\r\n
\r\n {}\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n )\r\n}\r\n\r\nexport default PlayerMiniProfile;","import { useContext, useEffect, useState } from \"react\";\r\nimport { TeamContext } from \"../../../context\";\r\nimport UpTokenCoin from \"../../../assets/icons/upTokenCoin.svg\";\r\nimport { IPlayer } from \"../../../interfaces\";\r\nimport { Phase } from \"../../../util/enums\";\r\n\r\nconst CelebrationMiniProfile = () => {\r\n const { game } = useContext(TeamContext);\r\n const [player, setPlayer] = useState(undefined);\r\n\r\n useEffect(() => {\r\n if (game?.phase === Phase.SOLUTION_CHOSEN_REWARD) {\r\n setPlayer(game?.players.find((player: IPlayer) => { return player.email === game.gameInfo.currentPlayerEmail }));\r\n }\r\n \r\n if(game?.phase === Phase.RENDER_SPIN_WHEEL){\r\n setPlayer(game?.players.find((player: IPlayer) => { return player.email === game.gameInfo.currentSpinOwner }));\r\n }\r\n }, [game])\r\n\r\n\r\n if (!player) {\r\n return (
)\r\n }\r\n\r\n return (\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {player?.nickname}\r\n
\r\n
\r\n \r\n
\r\n {game?.gameInfo.players[player?.email]?.upperTokens}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default CelebrationMiniProfile;","import { FC, useContext } from \"react\";\r\n\r\nimport { TeamContext } from \"../../../context\";\r\nimport { IPlayer } from \"../../../interfaces\";\r\n\r\nimport { useEffect } from \"react\";\r\nimport { Phase } from \"../../../util/enums\";\r\nimport { useState } from \"react\";\r\nimport { getDilemmaOwnerCrownImage } from \"./helpers\";\r\n\r\n\r\ninterface IDilemmaOwnerCrown {\r\n angleInDegrees: number;\r\n angleInRadians: number;\r\n player: IPlayer | undefined;\r\n}\r\n\r\nconst DilemmaOwnerCrown: FC = (props) => {\r\n const { angleInDegrees, angleInRadians, player } = props;\r\n const { game } = useContext(TeamContext);\r\n const criticalAvatarPositionOf180Degrees : number = Math.sin(angleInRadians / 2);\r\n const isAvatarAtCriticalPosition : boolean = criticalAvatarPositionOf180Degrees > 0.99;\r\n const [crownBasedOnUserColor, setCrownBasedOnUserColor] = useState(getDilemmaOwnerCrownImage(player?.color || \"pink\", \"initial\", angleInDegrees));\r\n const [crownType, setCrownType] = useState(\"initial\");\r\n\r\n useEffect( () => {\r\n if(game?.phase === Phase.ACTION_CARD){\r\n setCrownType(\"action\");\r\n setCrownBasedOnUserColor(getDilemmaOwnerCrownImage(player?.color || \"pink\", \"action\", angleInDegrees));\r\n }\r\n if(game?.phase === Phase.QUESTION_CARD || game?.phase === Phase.CHOOSE_SOLUTION || game?.phase === Phase.RENDER_SPIN_WHEEL || game?.phase === Phase.NINE){\r\n setCrownType(\"question\")\r\n setCrownBasedOnUserColor(getDilemmaOwnerCrownImage(player?.color || \"pink\", \"question\", angleInDegrees));\r\n }\r\n if(game?.phase === Phase.CHOOSING_SOLUTION_CARDS || game?.phase === Phase.PICK_DILEMMA){\r\n setCrownType(\"initial\")\r\n setCrownBasedOnUserColor(getDilemmaOwnerCrownImage(player?.color || \"pink\", \"initial\", angleInDegrees));\r\n }\r\n \r\n }, [game, angleInDegrees, crownType, player?.color])\r\n\r\n if (!player)\r\n return null;\r\n\r\n if (game?.gameInfo.currentPlayerEmail !== player.email)\r\n return null;\r\n\r\n if (angleInDegrees === 180){\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default DilemmaOwnerCrown;","import { FC, useContext, useEffect, useState } from \"react\";\r\n//RIGHT\r\nimport blueExclamationCrownToRight from \"../../../assets/icons/dilemmaOwnerCrowns/blueExclamationCrownToRight.svg\";\r\nimport greenExclamationCrownToRight from \"../../../assets/icons/dilemmaOwnerCrowns/greenExclamationCrownToRight.svg\";\r\nimport yellowExclamationCrownToRight from \"../../../assets/icons/dilemmaOwnerCrowns/yellowExclamationCrownToRight.svg\";\r\nimport pinkExclamationCrownToRight from \"../../../assets/icons/dilemmaOwnerCrowns/pinkExclamationCrownToRight.svg\";\r\n\r\n//RIGHT\r\nimport blueQuestionCrownToRight from \"../../../assets/icons/dilemmaOwnerCrowns/blueQuestionCrownToRight.svg\";\r\nimport greenQuestionCrownToRight from \"../../../assets/icons/dilemmaOwnerCrowns/greenQuestionCrownToRight.svg\";\r\nimport yellowQuestionCrownToRight from \"../../../assets/icons/dilemmaOwnerCrowns/yellowQuestionCrownToRight.svg\";\r\nimport pinkQuestionCrownToRight from \"../../../assets/icons/dilemmaOwnerCrowns/pinkQuestionCrownToRight.svg\";\r\n\r\n//RIGHT\r\nimport blueSquareCrownToRight from \"../../../assets/icons/dilemmaOwnerCrowns/blueSquareCrownToRight.svg\";\r\nimport greenSquareCrownToRight from \"../../../assets/icons/dilemmaOwnerCrowns/greenSquareCrownToRight.svg\";\r\nimport yellowSquareCrownToRight from \"../../../assets/icons/dilemmaOwnerCrowns/yellowSquareCrownToRight.svg\";\r\nimport pinkSquareCrownToRight from \"../../../assets/icons/dilemmaOwnerCrowns/pinkSquareCrownToRight.svg\";\r\nimport { TeamContext } from \"../../../context\";\r\nimport { Phase } from \"../../../util/enums\";\r\n\r\n\r\ninterface IDilemmaOwnerFirstPersonViewCrown {\r\n playerColor: string | undefined;\r\n}\r\n\r\nconst DilemmaOwnerFirstPersonViewCrown: FC = (props) => {\r\n const { playerColor } = props;\r\n const { game } = useContext(TeamContext);\r\n const [crownType, setCrownType] = useState(\"initial\");\r\n let crownBasedOnUserColor: any;\r\n\r\n useEffect( () => {\r\n if(game?.phase === Phase.ACTION_CARD){\r\n setCrownType(\"action\");\r\n }\r\n if(game?.phase === Phase.QUESTION_CARD || game?.phase === Phase.CHOOSE_SOLUTION || game?.phase === Phase.RENDER_SPIN_WHEEL || game?.phase === Phase.NINE){\r\n setCrownType(\"question\")\r\n }\r\n if(game?.phase === Phase.CHOOSING_SOLUTION_CARDS || game?.phase === Phase.PICK_DILEMMA){\r\n setCrownType(\"initial\")\r\n }\r\n }, [game])\r\n\r\n switch (playerColor) {\r\n case \"pink\": {\r\n if (crownType === \"initial\")\r\n crownBasedOnUserColor = pinkSquareCrownToRight;\r\n\r\n if (crownType === \"action\")\r\n crownBasedOnUserColor = pinkExclamationCrownToRight;\r\n\r\n if (crownType === \"question\")\r\n crownBasedOnUserColor = pinkQuestionCrownToRight;\r\n break;\r\n }\r\n case \"blue\": {\r\n if (crownType === \"initial\")\r\n crownBasedOnUserColor = blueSquareCrownToRight;\r\n\r\n if (crownType === \"action\")\r\n crownBasedOnUserColor = blueExclamationCrownToRight;\r\n\r\n if (crownType === \"question\")\r\n crownBasedOnUserColor = blueQuestionCrownToRight;\r\n break;\r\n }\r\n case \"green\": {\r\n if (crownType === \"initial\")\r\n crownBasedOnUserColor = greenSquareCrownToRight;\r\n\r\n if (crownType === \"action\")\r\n crownBasedOnUserColor = greenExclamationCrownToRight;\r\n\r\n if (crownType === \"question\")\r\n crownBasedOnUserColor = greenQuestionCrownToRight;\r\n break;\r\n }\r\n case \"yellow\": {\r\n if (crownType === \"initial\")\r\n crownBasedOnUserColor = yellowSquareCrownToRight;\r\n\r\n if (crownType === \"action\")\r\n crownBasedOnUserColor = yellowExclamationCrownToRight;\r\n\r\n if (crownType === \"question\")\r\n crownBasedOnUserColor = yellowQuestionCrownToRight;\r\n break;\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default DilemmaOwnerFirstPersonViewCrown;","import { FC} from \"react\";\r\nimport { CreateUserMolecule } from \"../../../molecules\";\r\ninterface ILogInPage {\r\n gameCount?: number\r\n}\r\n\r\nconst LogInMolecule: FC = () => {\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default LogInMolecule;\r\n","import { FC, useContext, useEffect, useState } from \"react\";\r\nimport { BoardContext, SocketContext, TeamContext, UserContext } from \"../../../../context\";\r\nimport { CornerCirclesBackground, MainButton, RegularInput } from \"../../../atoms\";\r\n\r\nimport logoUppiness from \"../../../../assets/icons/logoUppiness.svg\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst RejoinTheGame: FC<{}> = () => {\r\n const { t } = useTranslation();\r\n const { socket } = useContext(SocketContext);\r\n const { roomUsers } = useContext(TeamContext);\r\n const { setUserDataWhenUserRejoinsTheGame } = useContext(UserContext);\r\n const { setDidUserRejoinTheGame } = useContext(BoardContext);\r\n const [email, setEmail] = useState(localStorage[\"userEmailInCaseHeLogsOut\"]); \r\n const windowLocationHref = window.location.href;\r\n const urlPathChunks = windowLocationHref.split(\"/\");\r\n const urlTokenExtracted = urlPathChunks[urlPathChunks.length-1];\r\n\r\n const rejoinTheGame = () => {\r\n setUserDataWhenUserRejoinsTheGame(email);\r\n socket?.emit(\"reconnection\", {email: email, matchId: urlTokenExtracted});\r\n setDidUserRejoinTheGame(true);\r\n }\r\n\r\n useEffect(() => {\r\n setUserDataWhenUserRejoinsTheGame(email);\r\n socket?.emit(\"reconnection\", {email: email, matchId: urlTokenExtracted});\r\n setDidUserRejoinTheGame(true);\r\n }, [email, setDidUserRejoinTheGame, setUserDataWhenUserRejoinsTheGame, socket]);\r\n\r\n useEffect(() => {\r\n roomUsers();\r\n }, [roomUsers]);\r\n\r\n const handleKeyPress = (event: any) => {\r\n setEmail(event);\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n \"Uppiness\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n handleKeyPress(value)}\r\n catchEnter={(value: boolean) => rejoinTheGame()}\r\n fieldName=\"email\"\r\n maxLength={50}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
rejoinTheGame()}>\r\n
\r\n rejoinTheGame()}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n )\r\n}\r\n\r\nexport default RejoinTheGame;","import { FC, useContext, useEffect, useState } from \"react\";\r\nimport { BoardContext, SocketContext, TeamContext, UserContext } from \"../../../../context\";\r\nimport { CornerCirclesBackground, MainButton, RegularInput } from \"../../../atoms\";\r\n\r\nimport logoUppiness from \"../../../../assets/icons/logoUppiness.svg\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface IRejoinTheGame {\r\n setIsUserSelected?(value: boolean): void;\r\n}\r\n\r\nconst RejoinTheGame: FC = ({setIsUserSelected}) => {\r\n const { t } = useTranslation();\r\n const { socket } = useContext(SocketContext);\r\n const { roomUsers } = useContext(TeamContext);\r\n const { setUserDataWhenUserRejoinsTheGame } = useContext(UserContext);\r\n const { setDidUserRejoinTheGame } = useContext(BoardContext);\r\n const [email, setEmail] = useState(\"\");\r\n const windowLocationHref = window.location.href;\r\n const urlPathChunks = windowLocationHref.split(\"/\");\r\n const urlTokenExtracted = urlPathChunks[urlPathChunks.length-1];\r\n const { reConnectToServer } = useContext(TeamContext);\r\n\r\n console.log('email', email)\r\n\r\n const numberOfPlayers: string = localStorage.getItem(\"numberOfPlayers\") || \"0\";\r\n const numberOfPlayersTypeNumber: number = parseInt(numberOfPlayers);\r\n\r\n const rejoinButtonDisabled = email == \"\";\r\n \r\n const listOfUsersSelectBox = () => {\r\n if (numberOfPlayersTypeNumber) \r\n return(\r\n \r\n )\r\n \r\n return
;\r\n }\r\n\r\n const rejoinTheGame = () => {\r\n if (setIsUserSelected) setIsUserSelected(true);\r\n setUserDataWhenUserRejoinsTheGame(email);\r\n socket?.emit(\"reconnection\", {email: email, matchId: urlTokenExtracted});\r\n setDidUserRejoinTheGame(true);\r\n }\r\n\r\n useEffect(() => {\r\n roomUsers();\r\n }, [roomUsers]);\r\n\r\n const handleKeyPress = (event: any) => {\r\n setEmail(event);\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n \"Uppiness\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
{t(\"chooseOneOfTheOfferedEmails\")}
\r\n {listOfUsersSelectBox()}\r\n
\r\n
\r\n\r\n
\r\n
rejoinTheGame()}>\r\n
\r\n rejoinTheGame()}\r\n disabled={rejoinButtonDisabled}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n )\r\n}\r\n\r\nexport default RejoinTheGame;","const validateEmail = (email: string): boolean => {\r\n const filter = /(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$)/;\r\n return filter.test(email);\r\n};\r\n\r\nexport default validateEmail;\r\n","import { FC, useContext } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { SocketContext, TeamContext } from \"../../../../context\";\r\nimport { MainButton } from \"../../../atoms\";\r\n\r\ninterface IJoinNewPlayer {\r\n urlTokenExtracted: string;\r\n loginData: any;\r\n isDisabled: boolean;\r\n}\r\n\r\nconst JoinNewPlayer: FC = ({ urlTokenExtracted, loginData, isDisabled }) => {\r\n\tconst { t } = useTranslation();\r\n const { socket } = useContext(SocketContext);\r\n const { game } = useContext(TeamContext);\r\n let history = useHistory();\r\n\r\n \r\n const joinNewPlayer = () => {\r\n\r\n\t\tlet payload = {\r\n\t\t\tmatchId: urlTokenExtracted,\r\n\t\t\tgameId: 1,\r\n\t\t\tplayer: {\r\n\t\t\t\temail: loginData?.email,\r\n\t\t\t\tfullName: loginData?.fullName,\r\n\t\t\t\tnickname: loginData?.nickname\r\n\t\t\t}\r\n\t\t};\r\n\t\tlocalStorage.setItem(\"userEmailInCaseHeLogsOut\", loginData?.email);\r\n\r\n\t\tsocket?.emit(\"joinPreLobby\", payload);\r\n\t\thistory.push(`/slotmachineDemo/${urlTokenExtracted}`);\r\n\t}\r\n\r\n return joinNewPlayer()} disabled={isDisabled} />\r\n}\r\n\r\nexport default JoinNewPlayer;","import { FC, useContext } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { SocketContext, TeamContext } from \"../../../../context\";\r\nimport { MainButton } from \"../../../atoms\";\r\n\r\ninterface IJoinInsteadOfPlayer {\r\n urlTokenExtracted: string;\r\n isDisabled: boolean;\r\n}\r\n\r\nconst JoinInsteadOfPlayer: FC = ({ urlTokenExtracted, isDisabled }) => {\r\n\tconst { t } = useTranslation();\r\n const { socket } = useContext(SocketContext);\r\n const { urlToken } = useContext(TeamContext);\r\n let history = useHistory();\r\n \r\n const myEmail = localStorage[\"userEmailInCaseHeLogsOut\"];\r\n\r\n const joinInstedOfMissingPlayer = () => {\r\n\r\n\t\tlet payload = {\r\n\t\t\tmatchId: urlTokenExtracted,\r\n\t\t\tgameId: 1,\r\n\t\t\tplayer: {\r\n\t\t\t\temail: myEmail,\r\n\t\t\t}\r\n\t\t}\r\n\t\tsocket?.emit(\"facilitatorInstedOfPlayer\", payload);\r\n\t\thistory.push(\"/board/\"+urlToken);\r\n\t}\r\n\r\n return joinInstedOfMissingPlayer()} disabled={isDisabled} />\r\n}\r\n\r\nexport default JoinInsteadOfPlayer;","import axios from \"axios\";\r\nimport { FC, useContext } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { SocketContext, TeamContext } from \"../../../../context\";\r\nimport { useCreatePayloadAndJoinLobby } from \"../../../../hooks\";\r\nimport { MainButton } from \"../../../atoms\";\r\n\r\ninterface IJoiningInitially {\r\n loginData: any;\r\n isDisabled: boolean;\r\n}\r\n\r\nconst JoiningInitially: FC = ({loginData, isDisabled}) => {\r\n\tconst { t } = useTranslation();\r\n const { roomUsers, setIsTheButtonClickedToJoinTheGame, urlToken } = useContext(TeamContext);\r\n const [createPayloadAndJoinRandomLobby] = useCreatePayloadAndJoinLobby(loginData);\r\n let history = useHistory();\r\n\tconst windowLocationHref = window.location.href;\r\n const urlPathChunks = windowLocationHref.split(\"/\");\r\n const urlTokenExtracted = urlPathChunks[urlPathChunks.length-1];\r\n\tconst { socket } = useContext(SocketContext);\r\n\r\n\t// should write this nicer\r\n\r\n\tconst handleLogIn = () => {\r\n\t\taxios({\r\n\t\t\tmethod: \"get\",\r\n\t\t\turl: process.env.REACT_APP_BACKEND_URL + `api/matches/is-game-running/${urlTokenExtracted}`,\r\n\t\t})\r\n\t\t.then((res: any) => {\r\n\t\t\tif (res.data.isGameRunning) {\r\n\t\t\t\tlet payload = {\r\n\t\t\t\t\tmatchId: urlTokenExtracted,\r\n\t\t\t\t\tgameId: 1,\r\n\t\t\t\t\tplayer: {\r\n\t\t\t\t\t\temail: loginData?.email,\r\n\t\t\t\t\t\tfullName: loginData?.fullName,\r\n\t\t\t\t\t\tnickname: loginData?.nickname\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t\tlocalStorage.setItem(\"userEmailInCaseHeLogsOut\", loginData?.email);\r\n\t\t\r\n\t\t\t\tsocket?.emit(\"joinPreLobby\", payload);\r\n\t\t\t\thistory.push(`/slotmachineDemo/${urlTokenExtracted}`);\r\n\t\t\t} else {\r\n\t\t\t\tconst { email, fullName, nickname } = loginData;\r\n\t\t\t\tconst formData = new FormData();\r\n\t\t\t\tformData.append(\"email\", email);\r\n\t\t\t\troomUsers();\r\n\t\t\t\tcreatePayloadAndJoinRandomLobby(email, fullName, nickname);\r\n\t\t\t\tsetIsTheButtonClickedToJoinTheGame(true);\r\n\t\t\t\tlocalStorage.clear();\r\n\t\t\t\tlocalStorage.setItem(\"userEmailInCaseHeLogsOut\", email);\r\n\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err: any) => console.error(err));\r\n\t\t}\r\n\r\n return handleLogIn()} disabled={isDisabled} />\r\n}\r\n\r\nexport default JoiningInitially;","import { FC } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { PinkNotification, RegularInput } from \"../../../atoms\";\r\n\r\ntype TInputType = \"email\" | \"nickname\" | \"fullName\";\r\n\r\ninterface ICreateUserInputGeneric {\r\n type: TInputType;\r\n message: string;\r\n value: string;\r\n handleOnChange(type: TInputType, value: any): void;\r\n validateInputs(type: TInputType): void;\r\n}\r\n\r\nconst CreateUserInputGeneric: FC = (props) => {\r\n const {type, message, value, handleOnChange, validateInputs} = props;\r\n const { t } = useTranslation();\r\n\r\n const labelDic = {\r\n \"email\": t(\"emailBigText\"),\r\n \"nickname\": t(\"nicknameBigText\"),\r\n \"fullName\": t(\"fullNameBigText\"),\r\n }\r\n\r\n const fieldNameDic = {\r\n \"email\": t(\"emailText\"),\r\n \"nickname\": t(\"nicknameText\"),\r\n \"fullName\": t(\"fullNameText\"),\r\n }\r\n\r\n const maxNumberOfCharactersDic = {\r\n \"email\": 50,\r\n \"nickname\": 12,\r\n \"fullName\": 40\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n handleOnChange(type, value)}\r\n\t\t\t\t\tinputBlurText={() => validateInputs(type)}\r\n fieldName={fieldNameDic[type]}\r\n maxLength={maxNumberOfCharactersDic[type]}\r\n />\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default CreateUserInputGeneric;","import React, { FC, useState, useContext, useEffect, useRef } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\n\r\nimport { TeamContext, UserContext } from \"../../../../context\";\r\nimport { validateEmail } from \"../helpers\";\r\nimport { useCreateUser } from \"../../../../hooks/index\";\r\n\r\nimport JoinNewPlayer from \"./JoinNewPlayer\";\r\nimport JoinInsteadOfPlayer from \"./JoinInsteadOfPlayer\";\r\nimport JoiningInitially from \"./JoiningInitially\";\r\nimport CreateUserInputGeneric from \"./CreateUserInputGeneric\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst CreateUserMolecule: FC<{}> = () => {\r\n\tconst { t } = useTranslation();\r\n\tconst { roomUsers } = useContext(TeamContext);\r\n\tconst { doesEmailExist, mailExists } = useContext(UserContext);\r\n\tconst [loginData, setLoginData] = useCreateUser();\r\n\t\r\n\tconst [emailInputMessage, setEmailInputMessage] = useState(\"\");\r\n\tconst [fullNameInputMessage, setFullNameInputMessage] = useState(\"\");\r\n\tconst [nicknameInputMessage, setNicknameInputMessage] = useState(\"\");\r\n\r\n\tconst isGameCurrentlyRunning = useRef(false);\r\n\r\n\tconst windowLocationHref = window.location.href;\r\n const urlPathChunks = windowLocationHref.split(\"/\");\r\n const urlTokenExtracted = urlPathChunks[urlPathChunks.length-1];\r\n\r\n\tconst doesUrlIncludeForce = windowLocationHref.includes(\"force\");\r\n\r\n\tlet history = useHistory();\r\n\r\n\tuseEffect( () => {\r\n\t\tif(mailExists) {\r\n\t\t\tsetEmailInputMessage(t(\"emailAlreadyInGameText\"));\r\n\t\t}\r\n\t}, [mailExists])\r\n\r\n\tconst isDisabled = !loginData.email ||\r\n\t\t!validateEmail(loginData.email) ||\r\n\t\t!loginData.fullName ||\r\n\t\t!loginData.nickname ||\r\n\t\t loginData.nickname.length > 10 ||\r\n\t\t loginData.fullName.length > 20 ||\r\n\t\t mailExists;\r\n\r\n\tconst emailHandler: Function = () => {\r\n\t\tif (!validateEmail(loginData.email))\r\n\t\t\tsetEmailInputMessage(t(\"yourEmailAddressIsNotValiedText\"));\r\n\t\t\r\n\t\tif (loginData.email.length > 50)\r\n\t\t\tsetEmailInputMessage(t(\"thisEmailIsTooLongText\"));\r\n\r\n\t\tdoesEmailExist(loginData.email);\r\n\t};\r\n\r\n\tconst fullNameHandler: Function = () => {\r\n\t\tif (!loginData.fullName)\r\n\t\t\tsetFullNameInputMessage(t(\"pleaseEnterYourNameText\"));\r\n\t\t\r\n\t\tif (loginData.fullName.length > 20)\r\n\t\t\tsetFullNameInputMessage(t(\"theFullNameIsTooLongText\"));\r\n\r\n\t};\r\n\r\n\tconst nickNameHandler: Function = () => {\r\n\t\tif (!loginData.nickname)\r\n\t\t\tsetNicknameInputMessage(t(\"pleaseEnterANicknameText\"));\r\n\t\t\r\n\t\tif (loginData.nickname.length > 10)\r\n\t\t\tsetNicknameInputMessage(t(\"thisNickanameIsTooLongText\"));\r\n\t}\r\n\r\n\tconst validateInputs = (fieldName: string) => {\r\n\t\tif (fieldName === \"email\")\r\n\t\t\temailHandler();\r\n\t\t\r\n\t\tif (fieldName === \"nickname\")\r\n\t\t\tnickNameHandler();\r\n\r\n\t\tif (fieldName === \"fullName\")\r\n\t\t\tfullNameHandler();\r\n\t}\r\n\r\n\tconst handleOnChange: Function = (fieldName: string, value: string) => {\r\n\t\tif (fieldName === \"email\")\r\n\t\t\tsetEmailInputMessage(\"\");\r\n\r\n\t\tif (fieldName === \"fullName\")\r\n\t\t\tsetFullNameInputMessage(\"\");\r\n\r\n\t\tif (fieldName === \"nickname\")\r\n\t\t\tsetNicknameInputMessage(\"\");\r\n\r\n\t\tsetLoginData({\r\n\t\t\t...loginData,\r\n\t\t\t[fieldName]: value,\r\n\t\t});\r\n\t};\r\n\r\n\tuseEffect( () => {\r\n\t\troomUsers();\r\n\t}, []);\r\n\r\n\tuseEffect( () => {\r\n\t\tisGameRunning();\r\n\t}, []);\r\n\r\n\tconst isGameRunning = () => {\r\n\t\taxios({\r\n\t\t\tmethod: \"get\",\r\n\t\t\turl: process.env.REACT_APP_BACKEND_URL + `api/matches/is-game-running/${urlTokenExtracted}`,\r\n\t\t})\r\n\t\t.then((res: any) => {\r\n\t\t\tisGameCurrentlyRunning.current = res.data.isGameRunning\r\n\t\t\tif(isGameCurrentlyRunning.current)\thistory.push(\"/joinMidGame/\"+urlTokenExtracted)\r\n\t\t})\r\n\t\t.catch((err: any) => console.error(err));\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\r\n\t\t\t handleOnChange(type, value)}\r\n\t\t\t\tvalidateInputs={(type: any) => validateInputs(type)}\r\n\t\t\t/>\r\n\r\n\t\t\t handleOnChange(type, value)}\r\n\t\t\t\tvalidateInputs={(type: any) => validateInputs(type)}\r\n\t\t\t/>\r\n\r\n\t\t\t handleOnChange(type, value)}\r\n\t\t\t\tvalidateInputs={(type: any) => validateInputs(type)}\r\n\t\t\t/>\r\n\r\n\t\t\t
\r\n\t\t\t\t{/* */}\r\n\t\t\t\t{isGameCurrentlyRunning.current && }\r\n\t\t\t\t{isGameCurrentlyRunning.current && doesUrlIncludeForce && }\r\n\t\t\t\t{!isGameCurrentlyRunning.current && }\r\n\t\t\t
\r\n\r\n\t\t
\r\n\t);\r\n\r\n};\r\n\r\nexport default CreateUserMolecule;","export default __webpack_public_path__ + \"static/media/spinWheel.00115b22.png\";","export default __webpack_public_path__ + \"static/media/spinWheelPin.da67a725.png\";","import { FC } from \"react\";\r\nimport spinWheel from \"../../../assets/images/spinWheel.png\";\r\nimport spinWheelPin from \"../../../assets/images/spinWheelPin.png\";\r\n\r\ninterface IWheelOfFortuneHelper {\r\n spinNumberData: any\r\n}\r\n\r\nconst WheelOfFortuneHelper: FC = ({spinNumberData}) => { \r\n return(\r\n
\r\n
\r\n \"wheel\"\r\n \"pin\"\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default WheelOfFortuneHelper;","export default __webpack_public_path__ + \"static/media/goldenCoinForCelebration.da3b76c1.svg\";","import { FC, useContext, useEffect } from \"react\";\r\nimport confetti from \"canvas-confetti\";\r\n\r\nimport { TeamContext, UserContext } from \"../../../context\";\r\nimport { CelebrationAvatar } from \"../../organisms\"\r\nimport { CelebrationMiniProfile } from \"../../molecules\";\r\nimport { IPlayer } from \"../../../interfaces\";\r\nimport { Phase } from \"../../../util/enums\";\r\nimport { useSound } from \"../../../hooks\";\r\n\r\nimport goldenCoinForCelebration from \"../../../assets/coins/goldenCoinForCelebration.svg\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface CustomHTMLElement extends HTMLCanvasElement {\r\n confetti: any;\r\n}\r\n\r\ninterface IDilemmaOwnerCoinCelebration {\r\n currentTokenValue?: number;\r\n}\r\n\r\nconst DilemmaOwnerCoinCelebration: FC = (props) => {\r\n const { currentTokenValue } = props;\r\n const { t } = useTranslation();\r\n const { game } = useContext(TeamContext);\r\n const { userData } = useContext(UserContext);\r\n const dilemmaOwnerCelebration = game?.phase === Phase.SOLUTION_CHOSEN_REWARD;\r\n const spinOwnerCelebration = game?.phase === Phase.RENDER_SPIN_WHEEL;\r\n const isTheUserSpinOwner = userData?.email === game?.gameInfo.currentSpinOwner;\r\n const isTheUserDilemaOwner = userData?.email === game?.gameInfo.currentPlayerEmail;\r\n const isFourthRound = game?.gameInfo.challengeScore === 4;\r\n const currentTokenValueLocal: number = currentTokenValue || 1;\r\n const {playSound} = useSound();\r\n\r\n let currentOwnerNickname = \"\";\r\n let currentOwnerColor = \"pink\"\r\n\r\n if (dilemmaOwnerCelebration) {\r\n const dilemmaOwner = game?.players.find((player: IPlayer) => { return player.email === game.gameInfo.currentPlayerEmail });\r\n currentOwnerNickname = dilemmaOwner?.nickname || \"\";\r\n currentOwnerColor = dilemmaOwner?.color || \"pink\";\r\n }\r\n\r\n if (spinOwnerCelebration) {\r\n const spinOwner = game?.players.find((player: IPlayer) => { return player.email === game.gameInfo.currentSpinOwner });\r\n\r\n currentOwnerNickname = spinOwner?.nickname || \"\";\r\n currentOwnerColor = spinOwner?.color || \"pink\";\r\n }\r\n\r\n useEffect(() => {\r\n addConfetti();\r\n }, [])\r\n\r\n useEffect(() => {\r\n if(dilemmaOwnerCelebration) \r\n playSound(\"/sounds/bell.mp3\");\r\n \r\n }, [dilemmaOwnerCelebration, playSound])\r\n\r\n useEffect(() => {\r\n const timeout = setTimeout(() => {\r\n playSound(\"/sounds/PositiveAlert3.mp3\");\r\n }, 500);\r\n return () => clearTimeout(timeout); \r\n }, [playSound]);\r\n\r\n useEffect(() => {\r\n const timeout = setTimeout(() => {\r\n playSound(\"/sounds/MusicPositive2.mp3\");\r\n }, 2250);\r\n return () => clearTimeout(timeout); \r\n }, [playSound]);\r\n\r\n useEffect(() => {\r\n const timeout = setTimeout(() => {\r\n playSound(\"/sounds/CoinCollect.mp3\");\r\n }, 2250)\r\n return () => clearTimeout(timeout);\r\n }, [playSound]);\r\n\r\n const addConfetti = () => {\r\n const htmlCanvas = document.getElementById(\"confeti\") as CustomHTMLElement;\r\n\r\n htmlCanvas!.confetti = htmlCanvas!.confetti || confetti.create(htmlCanvas, { resize: true });\r\n htmlCanvas!.confetti({\r\n particleCount: 300,\r\n angle: 90,\r\n spread: 180,\r\n gravity: 1,\r\n zIndex: 1,\r\n startVelocity: 50,\r\n scalar: 2,\r\n colors: [\"#53BD8B\", \"#FF00A7\", \"#005776\", \"#FED100\"],\r\n resize: true\r\n });\r\n }\r\n\r\n const dilemmaOwnerCelebrationHeaderText = () => {\r\n return (\r\n
\r\n
{t(\"congratulationsText\")}, {currentOwnerNickname}{t(\"exclamationText\")}
\r\n {isTheUserDilemaOwner &&
{isFourthRound ? t(\"youGot6UpperTokensText\") : t(\"youGot3UpperTokensText\")}
}\r\n {!isTheUserDilemaOwner &&
{currentOwnerNickname} {isFourthRound ? t(\"userName_got6UpperTokensText\") : t(\"userName_got3UpperTokensText\")}
}\r\n
\r\n )\r\n }\r\n\r\n const spinOwnerCelebrationHeaderText = () => {\r\n if (isTheUserSpinOwner) {\r\n return (\r\n
\r\n
{t(\"congratulationsText\")}{t(\"commaText\")} {currentOwnerNickname}{t(\"exclamationText\")}
\r\n
{t(\"youGot_number_tokensText\")} {isFourthRound ? currentTokenValueLocal*2 : currentTokenValueLocal} {t(\"upperTokenText\")} {currentTokenValueLocal > 1 ? {t(\"tokenText\")}{t(\"exclamationText\")} : {t(\"tokensText\")}{t(\"exclamationText\")}}
\r\n
\r\n )\r\n }\r\n\r\n return (\r\n
\r\n
{t(\"wowText\")}
\r\n
{currentOwnerNickname} {t(\"userName_got_tokensText\")} {isFourthRound ? currentTokenValueLocal*2 : currentTokenValueLocal} {t(\"upperTokensText\")}
\r\n
\r\n )\r\n }\r\n\r\n return (\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \"coin\"\r\n
\r\n
\r\n \"coin\"\r\n
\r\n
\r\n \"coin\"\r\n
\r\n
\r\n \"coin\"\r\n
\r\n
\r\n \"coin\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n {dilemmaOwnerCelebration && dilemmaOwnerCelebrationHeaderText()}\r\n\r\n {spinOwnerCelebration && spinOwnerCelebrationHeaderText()}\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default DilemmaOwnerCoinCelebration;","export default __webpack_public_path__ + \"static/media/white_arrow.fc1d4473.svg\";","import { useContext, useEffect } from \"react\";\r\nimport { CardContext, SocketContext, TeamContext, UserContext } from \"../../../context\";\r\nimport { ICard, IPlayer } from \"../../../interfaces\";\r\nimport { MainButton } from \"../../atoms\";\r\nimport { ChallengeCardReadOnly, SolutionCardReadOnly, StrengthCardReadOnly } from \"../../molecules\";\r\nimport { useSound } from \"../../../hooks\";\r\nimport whiteArrow from \"../../../assets/icons/white_arrow.svg\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst RenderSelectedCardsCelebration = () => {\r\n const { t } = useTranslation();\r\n const { nextPhaseConffeti, setTheSolutionCardSelectedByDilemmaOwner } = useContext(SocketContext);\r\n const { userData } = useContext(UserContext);\r\n const { game } = useContext(TeamContext);\r\n const { setDataOfDoubleClickedSolutionCard } = useContext(CardContext);\r\n const isTheUserDilemmaOwner = userData?.email === game?.gameInfo.currentPlayerEmail || \"\";\r\n const dilemmaOwner = game?.players.find((player: IPlayer) => { return player.email === game?.gameInfo.currentPlayerEmail });\r\n const dilemmaOwnerNickname = dilemmaOwner?.nickname || \"\";\r\n const dilemmaOwnerColor = dilemmaOwner?.color || \"pink\";\r\n const spinOwner = game?.players.find((player: IPlayer) => { return player.email === game?.gameInfo.currentSpinOwner });\r\n const spinOwnerNickname = spinOwner?.nickname || \"\";\r\n const spinOwnerColor = spinOwner?.color || \"blue\";\r\n const {playSound} = useSound();\r\n\r\n useEffect(() => {\r\n playSound(\"/sounds/PositiveAlert3.mp3\");\r\n setDataOfDoubleClickedSolutionCard(undefined);\r\n setTheSolutionCardSelectedByDilemmaOwner(undefined);\r\n\r\n }, [playSound, setDataOfDoubleClickedSolutionCard, setTheSolutionCardSelectedByDilemmaOwner])\r\n \r\n const switchPhaseToTheNextOne = () => {\r\n nextPhaseConffeti(1);\r\n }\r\n\r\n let strengthCardData: ICard | undefined = game?.gameInfo?.solutionChosenGameState?.strengthCard;\r\n if (!strengthCardData) {\r\n return (
)\r\n }\r\n\r\n let solutionCardData: ICard | undefined = game?.gameInfo?.solutionChosenGameState?.solutionCard;\r\n if (!solutionCardData) {\r\n return (
)\r\n }\r\n\r\n let questionCardData: ICard | undefined = game?.gameInfo?.solutionChosenGameState?.questionCard;\r\n if (!questionCardData) {\r\n return (
)\r\n }\r\n\r\n const renderSelectedCardsCelebrationLowerText = () => {\r\n if (isTheUserDilemmaOwner) {\r\n return (\r\n
\r\n
\r\n {dilemmaOwnerNickname} {t(\"commaText\")} {t(\"userName_ExplainHowYouWillUseThisStrengthText\")} {t(\"commaText\")}\r\n
\r\n
{t(\"andClickOnTheButtonWhenYouAreDoneText\")}
\r\n
\r\n )\r\n }\r\n\r\n return (\r\n
\r\n
\r\n {t(\"let_userName_Text\")} {dilemmaOwnerNickname} {t(\"userName_explainTheDecisionText\")}\r\n
\r\n
\r\n
\r\n )\r\n }\r\n\r\n return (\r\n
\r\n\r\n
\r\n
{t(\"theDilemmaIsSolvedText\")}
\r\n
{dilemmaOwnerNickname} {t(\"userName_chose_otherPlayerSolutionText\")} {spinOwnerNickname}{t(\"userName_solutionText\")}
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \"white\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n {renderSelectedCardsCelebrationLowerText()}\r\n\r\n
\r\n {isTheUserDilemmaOwner && switchPhaseToTheNextOne()} disabled={false} />}\r\n
\r\n
\r\n\r\n
\r\n )\r\n}\r\n\r\nexport default RenderSelectedCardsCelebration;","import { useEffect, useState } from \"react\";\r\nimport goldenCoinForCelebration from \"../../../assets/coins/goldenCoinForCelebration.svg\";\r\n\r\nconst GrandCoinCelebratoin = () => {\r\n const [removeScreen, setRemoveScreen] = useState(false);\r\n\r\n useEffect(() => {\r\n const removeScreenTimeOut = setTimeout(() => {\r\n setRemoveScreen(true);\r\n }, 8000);\r\n return () => clearTimeout(removeScreenTimeOut);\r\n },[setRemoveScreen]);\r\n\r\n if (removeScreen){\r\n return
\r\n }\r\n\r\n return(\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \"coin\"\r\n
\r\n
\r\n \"coin\"\r\n
\r\n
\r\n \"coin\"\r\n
\r\n
\r\n \"coin\"\r\n
\r\n
\r\n \"coin\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default GrandCoinCelebratoin;","export default __webpack_public_path__ + \"static/media/focusButton.7d341b1d.svg\";","import { ChosenDilemmaCard } from \"../../molecules/Board/subBoardComponents\";\r\nimport { useCard } from \"../../../hooks\";\r\nimport { CardSlot, MainButton } from \"../../atoms\";\r\nimport { CardType } from \"../../../util/enums\";\r\nimport { TableContext, TeamContext, UserContext } from \"../../../context\";\r\nimport { useContext } from \"react\";\r\nimport { IPlayer } from \"../../../interfaces\";\r\nimport focusButton from \"../../../assets/icons/focusButton.svg\";\r\nimport instructionArrow from \"../../../assets/icons/instructionArrow.svg\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst MySolutionCardsFullScreen = () => {\r\n const { game } = useContext(TeamContext);\r\n const { t } = useTranslation();\r\n const { userData, playersInNewOrder } = useContext(UserContext);\r\n const { setToggleMySolutionFullScreen, didTheCurrentUserProposedSolution } = useContext(TableContext);\r\n const [card] = useCard();\r\n\r\n\r\n const userColor = () => {\r\n return playersInNewOrder.find((player: IPlayer) => { return player?.email === userData?.email })?.color || \"\";\r\n }\r\n\r\n return (\r\n
\r\n {didTheCurrentUserProposedSolution &&\r\n
\r\n \"focus\r\n
\r\n
{t(\"focusModeText\")}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {t(\"readYourCardsCarefullyAndSuggestASlutionText\")} \r\n
\r\n
(
\r\n \"instructionArrow\"\r\n
)
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {didTheCurrentUserProposedSolution &&\r\n
\r\n
\r\n setToggleMySolutionFullScreen(false)} disabled={false}/>\r\n
\r\n
\r\n }\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default MySolutionCardsFullScreen;","import { ProposedSolutionCardsFullScreen } from \"..\";\r\nimport { ChosenDilemmaCard } from \"../../molecules/Board/subBoardComponents\";\r\nimport { TeamContext } from \"../../../context\";\r\nimport { useContext } from \"react\";\r\nimport { IPlayer } from \"../../../interfaces\";\r\nimport instructionArrow from \"../../../assets/icons/instructionArrow.svg\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst ChoosingProposedSolutionCardsFullScreen = () => {\r\n const { t } = useTranslation();\r\n const { game } = useContext(TeamContext);\r\n const dilemmaOwner = game?.players.find((player: IPlayer) => { return game.gameInfo.currentPlayerEmail === player.email });\r\n \r\n return (\r\n
\r\n
{t(\"suggestedSolutionCardsText\") || \"text missing\"}
\r\n
\r\n
\r\n
\r\n
{t(\"solutionOwnerPleasePitchYourSolutionCardText\") || \"text missing\"}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {t(\"whenPlayersAreFinishedWithTheirPitches_Text\") || \"text missing\"}\r\n
\r\n {dilemmaOwner?.nickname} \r\n {t(\"dilemmaOwnerName_pleaseChooseChooseTheSolutionThatMostSuitsYouText\") || \"text missing\"}
\r\n
\r\n {t(\"thatSuitsYou\")}\r\n
\r\n
(
\r\n \"instructionArrow\"\r\n
)
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ChoosingProposedSolutionCardsFullScreen;","export default __webpack_public_path__ + \"static/media/crownPink.033eb047.svg\";","import { SolutionSelectedByDilemmaOwner } from \"..\";\r\nimport { ChosenDilemmaCard } from \"../../molecules/Board/subBoardComponents\";\r\nimport crownPink from \"../../../assets/icons/crownPink.svg\";\r\nimport confetti from \"canvas-confetti\";\r\nimport { useContext, useEffect } from \"react\";\r\nimport { BoardContext } from \"../../../context\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface CustomHTMLElement extends HTMLCanvasElement {\r\n confetti: any;\r\n}\r\n\r\nconst DilemmaAndPickedSolutionCards = () => {\r\n const { t } = useTranslation();\r\n const { setAreStrengthsShownFullScreen } = useContext(BoardContext);\r\n\r\n useEffect(() => {\r\n addConfetti();\r\n }, []);\r\n\r\n useEffect(() => {\r\n const timeout = setTimeout(() => {\r\n setAreStrengthsShownFullScreen(true);\r\n }, 7000);\r\n\r\n return () => clearTimeout(timeout);\r\n }, [setAreStrengthsShownFullScreen]);\r\n\r\n const addConfetti = () => {\r\n const htmlCanvas = document.getElementById(\"confeti\") as CustomHTMLElement;\r\n\r\n htmlCanvas!.confetti = htmlCanvas!.confetti || confetti.create(htmlCanvas, { resize: true });\r\n htmlCanvas!.confetti({\r\n particleCount: 300,\r\n angle: 90,\r\n spread: 180,\r\n gravity: 1,\r\n zIndex: 1,\r\n startVelocity: 50,\r\n scalar: 1,\r\n colors: [\"#53BD8B\", \"#FF00A7\", \"#005776\", \"#FED100\"],\r\n resize: true\r\n });\r\n }\r\n\r\n return(\r\n
\r\n
\r\n
{t(\"theWinningSolutionIs\")}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \"pink \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default DilemmaAndPickedSolutionCards;","import { useTranslation } from \"react-i18next\";\r\nimport { SolutionSelectedByDilemmaOwner } from \"..\";\r\nimport { DilemmaOwnerAnouncementText } from \"../../molecules\";\r\nimport { ChosenDilemmaCard } from \"../../molecules/Board/subBoardComponents\";\r\nimport { RenderStrengthCardType } from \"../../molecules/StrengthCardsHolder/subStrengthCardsHolderComponents\";\r\n\r\nconst StrengthCardsAreShownFullScreen = () => {\r\n const { t } = useTranslation();\r\n \r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default StrengthCardsAreShownFullScreen;","import { useContext } from \"react\";\r\nimport { SocketContext, TeamContext, UserContext } from \"../../../context\";\r\nimport { IPlayer } from \"../../../interfaces\";\r\nimport { DilemmaOwnerAnouncementText, RenderActionDisplay } from \"../../molecules\";\r\nimport { useBoardDisplayView } from \"../../../hooks\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst ChosenActionFullScreen = () => {\r\n const { t } = useTranslation();\r\n const { finishActionCardSocketEvent } = useContext(SocketContext);\r\n const { game } = useContext(TeamContext);\r\n const { userData } = useContext(UserContext);\r\n const dilemmaOwner = game?.players.find((player: IPlayer) => { return game.gameInfo.currentPlayerEmail === player.email });\r\n const dilemmaOwnerNickname = dilemmaOwner?.nickname || \"\";\r\n const isTheUserDilemaOwner = userData?.email === game?.gameInfo.currentPlayerEmail;\r\n const [challengeCard ] = useBoardDisplayView();\r\n\r\n const comfirmActionCard = () => {\r\n finishActionCardSocketEvent();\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n comfirmActionCard()} />\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ChosenActionFullScreen;","export default __webpack_public_path__ + \"static/media/questionLock.6ab5f70d.svg\";","export default __webpack_public_path__ + \"static/media/question_card_back.fc17849f.svg\";","export default __webpack_public_path__ + \"static/media/heartWithCoin.49083708.svg\";","export default __webpack_public_path__ + \"static/media/questionAndAction.3457fd0f.svg\";","export default __webpack_public_path__ + \"static/media/cheer_btn-normal.1ee15c77.svg\";","import { useContext, useEffect } from \"react\";\r\nimport { BoardContext, TeamContext } from \"../../../context\";\r\nimport questionLock from \"../../../assets/icons/questionLock.svg\";\r\nimport question from \"../../../assets/cards/question_card_back.svg\";\r\nimport heartWithCoin from \"../../../assets/icons/heartWithCoin.svg\";\r\nimport action from \"../../../assets/cards/questionAndAction.svg\";\r\nimport cheerLock from \"../../../assets/icons/cheer/cheer_btn-normal.svg\";\r\nimport UpTokenCoin from \"../../../assets/icons/upTokenCoin.svg\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst RoundsTransitionFullScreen = () => {\r\n const { t } = useTranslation();\r\n const { game } = useContext(TeamContext);\r\n const { setIsDilemmaOwnerAnouncementDone } = useContext(BoardContext);\r\n const numberOfSolvedDilemmas: number = game?.gameInfo.challengeScore || 0;\r\n const roundNumber : string = t(\"roundText\") + (numberOfSolvedDilemmas + 1 );\r\n\r\n useEffect(() => {\r\n const textAnimate = setTimeout(() => {\r\n setIsDilemmaOwnerAnouncementDone(\"dilemmaOwnerAnouncement\");\r\n }, 7000);\r\n\r\n return () => clearTimeout(textAnimate);\r\n }, [setIsDilemmaOwnerAnouncementDone])\r\n\r\n const getGenericRoundImage = (roundName: string) => {\r\n return (\r\n
\r\n \"round\"\r\n
{roundDescriptionDict[roundName]}
\r\n
\r\n )\r\n }\r\n\r\n const questionRound = () => {\r\n return getGenericRoundImage(\"question\");\r\n }\r\n\r\n const tippingnRound = () => {\r\n if (numberOfSolvedDilemmas > 0)\r\n return getGenericRoundImage(\"tipping\");\r\n return getGenericRoundImage(\"locked\");\r\n }\r\n\r\n const actionRound = () => {\r\n if (numberOfSolvedDilemmas > 1)\r\n return getGenericRoundImage(\"action\");\r\n return getGenericRoundImage(\"locked\");\r\n }\r\n\r\n const cheerRound = () => {\r\n if (numberOfSolvedDilemmas >= 3)\r\n return getGenericRoundImage(\"cheer\");\r\n return getGenericRoundImage(\"locked\");\r\n }\r\n\r\n const roundImagesDict: any = {\r\n \"question\": question,\r\n \"tipping\": heartWithCoin,\r\n \"action\": action,\r\n \"cheer\": cheerLock,\r\n \"locked\": questionLock\r\n }\r\n\r\n const roundDescriptionDict: any = {\r\n \"question\": t(\"questionText\"),\r\n \"tipping\": t(\"tippingText\"),\r\n \"action\": t(\"questionAndActionText\"),\r\n \"cheer\": t(\"cheerButtonText\"),\r\n \"locked\": \"\"\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n
{roundNumber}
\r\n
\r\n
\r\n
\r\n {(numberOfSolvedDilemmas === 3) &&
\r\n
\r\n \"upToken\"\r\n
{t(\"doublePointRoundText\")}
\r\n \"upToken\"\r\n
\r\n
}\r\n
\r\n\r\n
\r\n {questionRound()}\r\n {tippingnRound()}\r\n {actionRound()}\r\n {cheerRound()}\r\n
\r\n\r\n
\r\n )\r\n}\r\n\r\nexport default RoundsTransitionFullScreen;","import { useContext, useEffect } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport heartWithCoin from \"../../../assets/icons/heartWithCoin.svg\";\r\nimport { BoardContext } from \"../../../context\";\r\nimport { PinkNotification } from \"../../atoms\";\r\n\r\nconst TippingSecionAnoncement = () => {\r\n const { t } = useTranslation();\r\n const { setIsDilemmaOwnerAnouncementDone } = useContext(BoardContext);\r\n\r\n useEffect(() => {\r\n const textAnimate = setTimeout(() => {\r\n setIsDilemmaOwnerAnouncementDone(\"\");\r\n }, 10000);\r\n\r\n return () => clearTimeout(textAnimate);\r\n }, [setIsDilemmaOwnerAnouncementDone])\r\n \r\n return (\r\n
\r\n
\r\n
\r\n \"round\"\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default TippingSecionAnoncement; ","import { FC } from \"react\";\r\n\r\ninterface IProgressBar {\r\n progressNumber: number;\r\n totalProgress: number;\r\n}\r\n\r\nconst ProgressBar: FC = ({progressNumber}) => {\r\n const maxNumberOfBars: number = 3;\r\n const numberOfInitialBars: number = maxNumberOfBars - progressNumber;\r\n\r\n return (\r\n
\r\n {Array.from(Array(progressNumber).keys()).map( (_item: any, index: number) => {\r\n return
\r\n })}\r\n {Array.from(Array(numberOfInitialBars).keys()).map( (_item: any, index: number) => {\r\n return
\r\n })}\r\n
\r\n )\r\n}\r\n\r\nexport default ProgressBar;","import { FC, useContext, useEffect } from \"react\";\r\n\r\nimport { BoardContext, PhaseContext, SocketContext, TableContext, TeamContext, UserContext } from \"../../../context\";\r\nimport { BluredBlueModal, FirstPersonViewUserImage, FocusButton, MainButton, NextButton } from \"../../atoms\";\r\nimport { \r\n BoardMolecule, \r\n StrengthCardsHolder, \r\n GameBoardHeader, \r\n CardsInHandMolecule, \r\n InitialDeckScreen, \r\n WheelOfFortuneMolecule, \r\n VoteToThrowAUserOutModal, \r\n SolutionDecksHolder, \r\n Modal, \r\n BoardChat, \r\n StrengthCardsToggleArrow, \r\n GameWinnersPodium, \r\n AlertBox,\r\n StartIntroductionOrSkip,\r\n PlayerMiniProfile,\r\n DilemmaOwnerAnouncement,\r\n SideOptionFacilitator\r\n} from \"../../molecules\";\r\nimport { RenderInitialDisplay } from \"../../molecules/Board/subBoardComponents\";\r\nimport { BoardTableEllipse, ChosenDilemmaFullScreen } from \"../../organisms\";\r\n\r\n\r\nimport { useBoardDisplayView, useHandsState, useIsAnyUserLoggedOut } from \"../../../hooks\";\r\nimport { Phase } from \"../../../util/enums\";\r\nimport DilemmaOwnerCoinCelebration from \"../CelebrationTemplate/DilemmaOwnerCoinCelebration\";\r\nimport RenderSelectedCardsCelebration from \"../CelebrationTemplate/RenderSelectedCardsCelebration\";\r\nimport GrandCoinCelebratoin from \"../CelebrationTemplate/GrandCoinCelebratoin\";\r\nimport MySolutionCardsFullScreen from \"../FullScreens/MySolutionCardsFullScreen\";\r\nimport ChoosingProposedSolutionCardsFullScreen from \"../FullScreens/ChoosingProposedSolutionCardsFullScreen\";\r\nimport DilemmaAndPickedSolutionCards from \"../FullScreens/DilemmaAndPickedSolutionCards\";\r\nimport StrengthCardsAreShownFullScreen from \"../FullScreens/StrengthCardsAreShownFullScreen\";\r\nimport ChosenActionFullScreen from \"../FullScreens/ChosenActionFullScreen\";\r\nimport RoundsTransitionFullScreen from \"../FullScreens/RoundsTransitionFullScreen\";\r\nimport TippingSecionAnoncement from \"../FullScreens/TippingSecionAnoncement\";\r\nimport ProgressBar from \"../../atoms/Display/ProgressBar/ProgressBar\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst Board: FC<{}> = () => {\r\n const { t } = useTranslation();\r\n const { finishIntroductionSocketEvent, theSolutionCardSelectedByDilemmaOwner } = useContext(SocketContext);\r\n const { game } = useContext(TeamContext);\r\n const { userData } = useContext(UserContext);\r\n const { \r\n isInitialSolutionDecksModalOpen, \r\n renderDilemmaCardsInThisPhase,\r\n displayModalData, \r\n renderInitialCoins,\r\n setDisplayModalData,\r\n areSolutionCardsDrawnContext,\r\n isStrengthCardsComponentShown,\r\n isWinnersPodiumShown,\r\n areYouSureBoxRendered,\r\n instructionTutorial,\r\n setInstructionTutorial,\r\n isDilemmaOwnerAnouncementDone,\r\n isCurrentlyPhase16,\r\n setIsCurrentlyPhase16,\r\n areStrengthsShownFullScreen\r\n } = useContext(BoardContext);\r\n const { renderChosenSolutionToQuestion, dilemmaOwnerCoinCelebration, renderWheelOfFortune } = useContext(PhaseContext);\r\n const { isDilemmaChosen, toggleMySolutionFullScreen } = useContext(TableContext);\r\n const isTheUserDilemaOwner = userData?.email === game?.gameInfo.currentPlayerEmail;\r\n const [ challengeCard, displayView, drawChallengeCard] = useBoardDisplayView();\r\n useHandsState(isTheUserDilemaOwner);\r\n // usePhasesUpdates();\r\n const [isAnyUserCurrentlyLoggedOut, listOfTheUsersWhoLoggedout] = useIsAnyUserLoggedOut();\r\n const zIndexForPhaseThree : boolean = game?.phase === Phase.CHOOSING_SOLUTION_CARDS && !areSolutionCardsDrawnContext;\r\n const zIndexForPhaseFour : boolean = game?.phase === Phase.PICK_DILEMMA && isTheUserDilemaOwner;\r\n\tconst zIndexForOtherBluredBluePhases : boolean = game?.phase === Phase.SOLUTION_CHOSEN || game?.phase === Phase.SOLUTION_CHOSEN_REWARD || game?.phase === Phase.RENDER_SPIN_WHEEL;\r\n\tconst zIndexPerPhase : number = (zIndexForPhaseThree || zIndexForPhaseFour || zIndexForOtherBluredBluePhases || isWinnersPodiumShown) ? 1 : 20;\r\n const zIndexPerPhaseForStrengthCards : number = (zIndexForPhaseThree || zIndexForPhaseFour || zIndexForOtherBluredBluePhases || isWinnersPodiumShown || game?.phase === Phase.CHOOSE_SOLUTION || game?.phase === Phase.PICK_DILEMMA || game?.phase === Phase.CONFETTI_CELEBRATION) ? 1 : 51;\r\n const numberOfSolvedDilemmas: number = game?.gameInfo.challengeScore || 0;\r\n\r\n const windowLocationHref = window.location.href;\r\n\r\n const isSpectator : boolean = windowLocationHref.includes(\"spectator\");\r\n\r\n const isCheeringCelebration = game?.phase === Phase.CONFETTI_CELEBRATION;\r\n\r\n const displayDilemmaCard = () => {\r\n return (\r\n \r\n
\r\n
\r\n drawChallengeCard(a, b!)} />\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n const displayInitialSolutionCardDecks = () => {\r\n return (\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n useEffect(() => {\r\n const timeout = setTimeout(() => {\r\n setInstructionTutorial(\"x\");\r\n finishIntroductionSocketEvent();\r\n setIsCurrentlyPhase16(false);\r\n }, 60000 ); \r\n\r\n return () => clearTimeout(timeout);\r\n \r\n },[]);\r\n\r\n const finishInstructions = () => {\r\n setInstructionTutorial(\"\");\r\n finishIntroductionSocketEvent();\r\n }\r\n\r\n const displayLetsPlayButton = () => {\r\n return (\r\n
\r\n \r\n
\r\n finishInstructions() } />\r\n
\r\n
\r\n )\r\n }\r\n\r\n const displayChosenSolutionToQuestion = () => {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n const displayChosenSolutionToQuestionCoinCelebration = () => {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n const displayAlertBox = () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n\r\n const displayWheelOfFortune = () => {\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n const displayScreenWhenSomeUserLoggesOut = () => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n const displayWinnerPodium = () => {\r\n return ;\r\n }\r\n\r\n return (\r\n
\r\n\r\n \r\n \r\n { (isTheUserDilemaOwner || instructionTutorial === \"leftSideOfTheScreen\") &&
}\r\n { (!isTheUserDilemaOwner && isStrengthCardsComponentShown) &&
}\r\n { !isTheUserDilemaOwner && instructionTutorial !== \"leftSideOfTheScreen\" && }\r\n \r\n \r\n \r\n {instructionTutorial === \"solutionCards\" &&
\r\n
hello
\r\n \r\n
}\r\n {instructionTutorial !== \"solutionCards\" && }\r\n \r\n \r\n \r\n {displayModalData && setDisplayModalData(undefined)} chosenSolutions={displayModalData.solutionCombinationsForThisCard} selectedStrengthCard={displayModalData.card}/>}\r\n \r\n {isInitialSolutionDecksModalOpen && displayInitialSolutionCardDecks()}\r\n {renderInitialCoins && }\r\n\r\n \r\n {renderChosenSolutionToQuestion && displayChosenSolutionToQuestion()}\r\n {dilemmaOwnerCoinCelebration && displayChosenSolutionToQuestionCoinCelebration()}\r\n {renderWheelOfFortune && displayWheelOfFortune()}\r\n {areYouSureBoxRendered.isBoxActive && displayAlertBox()}\r\n\r\n {/* {isAnyUserCurrentlyLoggedOut && displayScreenWhenSomeUserLoggesOut()} */}\r\n {isCurrentlyPhase16 && }\r\n {(instructionTutorial === \"solutionCards\" || instructionTutorial === \"leftSideOfTheScreen\") && }\r\n {instructionTutorial === \"leftSideOfTheScreen\" &&
}\r\n {instructionTutorial === \"rightSideOfTheScreen\" && displayLetsPlayButton()}\r\n \r\n\r\n {game?.phase === Phase.PICK_DILEMMA && renderDilemmaCardsInThisPhase && !isDilemmaOwnerAnouncementDone && } \r\n {game?.phase === Phase.PICK_DILEMMA && renderDilemmaCardsInThisPhase && isDilemmaOwnerAnouncementDone === \"dilemmaOwnerAnouncement\" && }\r\n {game?.phase === Phase.PICK_DILEMMA && renderDilemmaCardsInThisPhase && isDilemmaOwnerAnouncementDone === \"renderDilemmaCard\" && displayDilemmaCard()}\r\n {game?.phase === Phase.QUESTION_CARD && !isDilemmaChosen && }\r\n {game?.phase === Phase.QUESTION_CARD && isDilemmaChosen && !isTheUserDilemaOwner && toggleMySolutionFullScreen && }\r\n {game?.phase === Phase.CHOOSE_SOLUTION && !theSolutionCardSelectedByDilemmaOwner && }\r\n {game?.phase === Phase.CHOOSE_SOLUTION && !theSolutionCardSelectedByDilemmaOwner && isDilemmaOwnerAnouncementDone === \"renderTippingHeart\" && numberOfSolvedDilemmas === 1 && }\r\n {game?.phase === Phase.CHOOSE_SOLUTION && theSolutionCardSelectedByDilemmaOwner && !areStrengthsShownFullScreen && }\r\n {game?.phase === Phase.CHOOSE_SOLUTION && theSolutionCardSelectedByDilemmaOwner && areStrengthsShownFullScreen && }\r\n\r\n {game?.phase === Phase.ACTION_CARD && }\r\n\r\n {isSpectator && }\r\n\r\n {isWinnersPodiumShown && displayWinnerPodium()} \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Board;","import React, { useCallback, useContext, useEffect, useState } from \"react\";\r\nimport { TableContext, UserContext } from \"../../../context\";\r\nimport { useWindowDimensions } from \"../../../hooks\";\r\nimport { IPlayer } from \"../../../interfaces\";\r\nimport { AvatarBoxHolder, ChallengeCardOnTheTable } from \"../../molecules\";\r\nimport logoUppiness from \"../../../assets/icons/logoUppiness.svg\";\r\n\r\nexport const BoardTableEllipseMemo = () => {\r\n const { width, height } = useWindowDimensions();\r\n const { playersInNewOrder } = useContext(UserContext);\r\n const { oldUserAngles, userAngles, isLogoOnTheTableBlured, setTheIndexOfTheUserPositionedAt270Degrees } = useContext(TableContext);\r\n const [elipseWidth, setElipseWidth] = useState(width * 0.64);\r\n const [elipseHeight, setElipseHeight] = useState(width * 0.44);\r\n let blureTheElement = isLogoOnTheTableBlured ? \"blure_the_element\" : \"\";\r\n\r\n const setTableWidthAndHeight = useCallback(() => {\r\n setElipseWidth(width * 0.64);\r\n setElipseHeight(width * 0.44);\r\n }, [width]);\r\n\r\n useEffect(() => {\r\n setTableWidthAndHeight();\r\n }, [setTableWidthAndHeight]);\r\n\r\n useEffect(() => {\r\n playersInNewOrder.forEach((_player: IPlayer, index: number) => {\r\n if (userAngles[index] === 270) \r\n setTheIndexOfTheUserPositionedAt270Degrees(index);\r\n });\r\n }, [playersInNewOrder, setTheIndexOfTheUserPositionedAt270Degrees, userAngles])\r\n\r\n return (\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \"logo\r\n
\r\n \r\n
\r\n
\r\n \r\n {playersInNewOrder.map((player: IPlayer, index: number) => {\r\n if (!player) return
\r\n return (\r\n \r\n )\r\n })}\r\n\r\n
\r\n\r\n
\r\n
\r\n )\r\n}\r\nconst BoardTableEllipse = React.memo( BoardTableEllipseMemo );\r\n\r\nexport default BoardTableEllipse;","import { FC } from \"react\";\r\n\r\nimport { LogInMolecule } from \"../../molecules\";\r\nimport logoUppiness from \"../../../assets/icons/logoUppiness.svg\";\r\nimport { CornerCirclesBackground } from \"../../atoms\";\r\n\r\nconst LogIn: FC<{}> = () => {\r\n\r\n return (\r\n \r\n
\r\n
\r\n \"Uppiness\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default LogIn;","export default __webpack_public_path__ + \"static/media/edit_pen.2d14fef4.svg\";","import { FC, useContext, useState } from \"react\";\r\nimport { UserContext, TeamContext } from \"../../../../context\";\r\nimport EditPen from '../../../../assets/icons/edit_pen.svg';\r\nimport { PinkNotification } from \"../../../atoms\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst LobbyHeaderTeamName: FC<{}> = () => {\r\n\tconst { t } = useTranslation();\r\n\tconst { game } = useContext(TeamContext);\r\n\tconst { changeTeamNickNameSocketEmit } = useContext(UserContext);\r\n\tconst [newTeamName, setNewTeamName] = useState(\"\");\r\n\tconst [isNewTeamNumberAllowed, setIsNewTeamNumberAllowed] = useState(false);\r\n\r\n\tconst switchLobbyTitle = () => {\r\n\t\tsetIsNewTeamNumberAllowed(!isNewTeamNumberAllowed);\r\n\t}\r\n\r\n\tconst change = (event: any) => {\r\n\t\tsetNewTeamName(event.target.value);\r\n\t};\r\n\r\n\tconst handleKeyPress = (event: any) => {\r\n\t\tif (event.key === 'Enter') \r\n\t\t\tswitchLobbyTitle();\r\n\r\n\t\tif (!newTeamName)\r\n\t\t\treturn;\r\n\r\n\t\tif (event.key === 'Enter') \r\n\t\t\tchangeTeamNickNameSocketEmit(newTeamName);\r\n\t}\r\n\r\n\tconst saveCurrentChange = () => {\r\n\t\tswitchLobbyTitle();\r\n\r\n\t\tif (!newTeamName)\r\n\t\t\treturn;\r\n\r\n\t\tchangeTeamNickNameSocketEmit(newTeamName);\r\n\t}\r\n\r\n\treturn (\r\n\r\n\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t{isNewTeamNumberAllowed ?\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t:\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
{t(\"teamWithColonText\")} {game?.nickname}
\r\n\t\t\t\t\t\t\"edit\r\n\t\t\t\t\t
\r\n\t\t\t\t}\r\n\t\t\t
\r\n\r\n\t\t\t
{t(\"waitingForPlayersToBeReadyText\")}
\r\n\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default LobbyHeaderTeamName;\r\n","import { FC, useContext, useState } from \"react\";\r\nimport { UserContext } from \"../../../../context\";\r\nimport { LobbyHeaderUserProfilePicture } from \"../../../organisms\";\r\nimport { PinkNotification } from \"../../../atoms\";\r\nimport EditPen from \"../../../../assets/icons/edit_pen.svg\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst LobbyHeaderUserProfile: FC<{}> = () => {\r\n\tconst { t } = useTranslation();\r\n\tconst { userData, setUserData, changePlayerNickNameSocketEmit } = useContext(UserContext);\r\n\tconst [newNickname, setNewNickname] = useState(userData?.nickname || \"\");\r\n\tconst [isInputShown, setIsInputShown] = useState(false);\r\n\tconst userEmail: string = userData?.email || \"\";\r\n\r\n\tconst change = (event: any) => {\r\n\t\tsetNewNickname(event.target.value);\r\n\t};\r\n\r\n\tconst toggleInput = () => {\r\n\t\tsetIsInputShown(!isInputShown);\r\n\t};\r\n\r\n\tconst handleKeyPress = (event: any) => {\r\n\t\tif (event.key === \"Enter\")\r\n\t\t\ttoggleInput();\r\n\r\n\t\tif (!newNickname)\r\n\t\t\treturn;\r\n\r\n\t\tif (event.key === \"Enter\" && newNickname.length) {\r\n\t\t\tchangePlayerNickNameSocketEmit(newNickname);\r\n\t\t\tsetUserData({ ...userData, nickname: newNickname });\r\n\t\t\r\n\t\t}\r\n\t};\r\n\r\n\tconst saveCurrentChange = () => {\r\n\t\ttoggleInput();\r\n\r\n\t\tif (!newNickname)\r\n\t\t\treturn; \r\n\r\n\t\tchangePlayerNickNameSocketEmit(newNickname);\r\n\t\tsetUserData({ ...userData, nickname: newNickname });\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{isInputShown ? (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t) : (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
{userData?.nickname}
\r\n\t\t\t\t\t
\r\n\t\t\t\t)}\r\n\t\t\t\t
{ userEmail.length < 20 ? userEmail : userEmail.substring(0, 19) + \"...\" }
\r\n\t\t\t
\r\n\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default LobbyHeaderUserProfile;\r\n","import logoUppiness from \"../../../../assets/icons/logoUppiness.svg\";\r\nimport LobbyHeaderTeamName from \"./LobbyHeaderTeamName\";\r\nimport LobbyHeaderUserProfile from \"./LobbyHeaderUserProfile\";\r\n\r\nconst LobbyHeader = () => {\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\"Uppiness\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default LobbyHeader;\r\n","import { FC } from \"react\";\r\nimport { ChatMolecule, PlayersListMolecule } from \"..\";\r\n\r\nimport { ReadyButton } from \"../../atoms\";\r\n\r\nconst LobbyMain: FC<{}> = () => {\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default LobbyMain;\r\n","import { FC } from \"react\";\r\n\r\nimport LobbyHeader from \"./LobbyHeader/LobbyHeader\";\r\nimport LobbyMain from \"../../molecules/Lobby/LobbyMain\";\r\nimport { CornerCirclesBackground } from \"../../atoms\";\r\n\r\nconst Lobby: FC<{}> = () => {\r\n\r\n return (\r\n \r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n );\r\n};\r\n\r\nexport default Lobby;\r\n","import { FC, useRef } from \"react\";\r\nimport { MuteButton } from \"../../atoms\";\r\n\r\nimport { SlotMachineChosenCardHolder, SlotMachineHeader, SlotMachineNotification, SlotMachineSpinner } from \"../../molecules\";\r\nimport { SlotMachineRefObject } from \"../../molecules/SlotMachine/SlotMachineChosenCardHolder\";\r\n\r\nconst SlotMachine: FC<{}> = () => {\r\n let slotMachineRef = useRef(null);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n );\r\n};\r\n\r\nexport default SlotMachine;\r\n\r\n","import { message } from \"antd\";\r\nimport { useContext } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { SlotMachineContext, TeamContext } from \"../../../context\";\r\n\r\nconst MidGameWaitingRoom = () => {\r\n const { t } = useTranslation();\r\n const { game } = useContext(TeamContext);\r\n const { showMidGameWaitingWindow } = useContext(SlotMachineContext);\r\n const gamePhase: number | undefined = game?.phase;\r\n const currentRound: number | undefined = game?.gameInfo?.challengeScore;\r\n const gamePhaseIsUndefinedText: string = \"Game phase is undefined\";\r\n\r\n // if (!gamePhase) return
{gamePhaseIsUndefinedText}
\r\n if (!showMidGameWaitingWindow) return null;\r\n\r\n const currentProgres = () => {\r\n switch(gamePhase) {\r\n case 4: return \"0%\";\r\n case 5: return \"10%\";\r\n case 7: return \"30%\";\r\n case 14: return \"60%\";\r\n case 15: return \"70%\";\r\n case 8: return \"80%\";\r\n case 13: return \"90%\";\r\n default: return \"0%\";\r\n }\r\n }\r\n\r\n const message = () => {\r\n return (\r\n
\r\n {/*
{t(\"thePlayersAreinTheRoundText\")} {currentRound}
*/}\r\n
{t(\"pleaseWaitForTheNewRoundText\")}
\r\n
{t(\"theProgressOfTheCurrentRoundText\")}
\r\n
\r\n
\r\n
\r\n
{currentProgres()}
\r\n
{t(\"pleaseDoNotCloseThisTabText\")}
\r\n
\r\n )\r\n }\r\n\r\n return (\r\n
\r\n
\r\n {message()}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default MidGameWaitingRoom;","import { Image, Text, StyleSheet, Document, Page } from \"@react-pdf/renderer\";\r\nimport { FC } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface IStrengthsDemoPdf {\r\n selectedStrengthsDemo?: any[];\r\n}\r\n\r\nconst StrengthsDemoPdf: FC = ({selectedStrengthsDemo}) => {\r\n const { t } = useTranslation();\r\n\r\n const styles = StyleSheet.create({\r\n body: {\r\n paddingTop: 35,\r\n paddingBottom: 65,\r\n paddingHorizontal: 35,\r\n backgroundColor: \"#005776\",\r\n },\r\n logoImage: {\r\n width: 120,\r\n left: 200,\r\n paddingBottom: 20\r\n },\r\n title: {\r\n fontSize: 16,\r\n margin: \"20 0 30 0\",\r\n color: \"#fff\",\r\n textAlign: \"center\",\r\n },\r\n strText: {\r\n fontSize: 13,\r\n width: 150,\r\n top: 80,\r\n color: '#005776',\r\n textAlign: \"center\",\r\n position: \"absolute\",\r\n padding: '0 20',\r\n fontWeight: 800,\r\n },\r\n infoText: {\r\n fontSize: 10,\r\n width: 150,\r\n top: 110,\r\n color: '#005776',\r\n textAlign: \"center\",\r\n position: \"absolute\",\r\n padding: '0 20',\r\n fontWeight: 600,\r\n },\r\n displayInRow: {\r\n width: 500,\r\n left: 20,\r\n height: 200,\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n justifyContent: \"center\",\r\n margin: \"20 0\"\r\n },\r\n strImage: {\r\n margin: \"0 10\",\r\n },\r\n });\r\n \r\n if(selectedStrengthsDemo?.length !== 5)\r\n return(\r\n \r\n \r\n {t(\"somethingWentWrongText\")} \r\n \r\n \r\n )\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n\r\n {t(\"5StrengthsThatYouSelectedText\")} \r\n \r\n
\r\n
\r\n \r\n {selectedStrengthsDemo[0]?.description} \r\n {selectedStrengthsDemo[0]?.info} \r\n
\r\n
\r\n \r\n {selectedStrengthsDemo[1]?.description} \r\n {selectedStrengthsDemo[1]?.info} \r\n
\r\n
\r\n \r\n {selectedStrengthsDemo[2]?.description} \r\n {selectedStrengthsDemo[2]?.info} \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n {selectedStrengthsDemo[3]?.description} \r\n {selectedStrengthsDemo[3]?.info} \r\n
\r\n
\r\n \r\n {selectedStrengthsDemo[4]?.description} \r\n {selectedStrengthsDemo[4]?.info} \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default StrengthsDemoPdf;\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVUAAAHDCAYAAACUM4lwAAAABmJLR0QA/wD/AP+gvaeTAAAcGUlEQVR42u3dCZCkZX3H8YnxiDGpxDJGY1UqSVUOK0eVqUoqsSwMiyCIu14IEVA8AkRFRUEKJRBZRTyIBo8ICIIh4i0iaIlyKLAs7C57787eO3tfs9fsNbM7x5vnP+ymNutM99sz79vzds/nW/WrSqR3uud93/7Oc/6fjo4JIsuyZ6b8WcprUy5L+XLKt1PuS3k45SkRkVEyK+WBlB+k3Jny2ZQLU16Z8vsdk4H0i/5ayt+lXJHy45R9GQCUw9qU21MuSHlJu8n0pSnXpqxynwFMAIMpM1IuTfm9Vm6VTjv6iwBAVehNuTWGHltJpuelLHbvAFS89fqdlL+pslBfpmUKoAXlGhNdL6iSTH8re3rmfsD9AdCibEs5vwpC/auUJe4HgDbheym/M1FCfW/29KDvmOkfGsqW7TuQ3b9tZ3Zr16bs48vWZlcuXpV9cOGK7KK5nSIiI+bd85Zlly1amV29dHX2mRXrsrs2bM0e7d6TbentK0Ksy2M4s5kyfcbR7v6Y2N53OPvWxm3Zh9MFOX3GvOyfHnlKRKSwnP3kouz65V3Zwzt2Z32Dg2NV1YGUM5oh1GcfnTFriIHUIn1g+67s0tQCneKmi0iTcuaM+cMt2ZX7D45FrEdS3lqmUJ+T8vOGPlGS6Q8378jeMmuxGywiE5aTU65YvDJbtHd/o2IdSrmkrC7/dxv5JPP27MvePmepGyoilcpHl6zKtqVhyAbFekHRUr0590BE/8DwhJObJyJVzRlpPufeLd2NiDUsfFpRQr0i95TZvoPZubr6ItIimd65JjswkHuJfRSBeul4hfryo4O1dXkozbSd+thcN0pEWioXzFnSyHDAwpTfGKtQfzd7unxWXe5Ok1Fm9UWkVfOmJxZmqw8cyivWr4xVqnfl2n6wabubIiItn2kzF2RdB3PvZ5raqFBPOjrjVZMH09pTLVQRaZec9eTCbFtvrqGANbmHAdILn5WytO7AQlrv9apHjaGKSHvlnU8tzXrz7cT6WF6pXlrvJ+090p+9OW0FcwNEpB0Tu7ByEIOwf5hn19Tmej8pip648CLSzonhzRx8oZ5UL66/dGqXCy4ik2Liqif1yusQRQVeOJpQfz2rczjfoYHB4YFcF1xEJkNuXLU+T2v1utGkelq9f3nHus0utIhMmkxJk/Hr6y+z2hqN0pGkemetf9WbWqnRHHahRWQy5VOpNmsOXn2iUJ+XUrMm1rdTYWkXWEQmW2LpaI5trHeeKNWz69W9Om+2QikiMjlz+7q6i6KiUfrs46V6U61XL+k54MKKyKTNualROVR/COAVx0t1Wa1X3rhqgwsrIpM6S3sO1JPq1ceE+gf1XqnrLxOV16fJ0XelbYPvmb9s+ATNOE3izMfnuzbS9NyxbkvdcijHpDqt1qu6Dx9xQaUpiXOE3pvk+Y103HDUloh10aOxOy3Knrlrb/aVNRuHu2aun5SdOLi03g7+Y1K9rNar4hRUF1TKzNTU8rx57aa81YFGJLpmUcX9FEV+pKREEf44zLQOLw6p3lLrFbd2bXJBpbSH9KbU0tzfP5AVRdTDVJtCysq6+hsBTgqpPlzrFf++dI2LKYUnxknX5K+03jA/Tz2s1xp7lYLz2M499R69fwmpLqr5irmdLqYUmuim9+WrVzkuNh/qSxNbS1xzKSyxCaoOHwmp1tyDdc4sdVOluER3fyhrHjG0EKsGXHspIrd11d0EcF1IdWetVzRrv38cyxIP/1fThMXdm7dnv0ins/4wHSgYv8T7FiwfLmzgprZ2vrR6Qy4R7k4rTn62bWd2w8p12QcWrBhe0ndOKooex5/HM3J92osdZ6NtOJTvPKEDSawX6nG1dGIo5+PL1mb/s35r9tP0bMTwTrQa4xlpZuW8L9Z/hr/YcbR69ehVAh6bV+5kRZJlfNli6VbNL1paQnNLEm7Zn0fKyUeXrMrqdfhn7+7JPrxoZUN/QEOW923prjsruz3t3X7jE8pWtlrOT39QH0oNrP4a9zf+y4K0BC8aX2V/nhwnAtweUu2r9YqYoS3rA74jTVZsPNTXUHcuChtcPE+ro5USrcwDNWb4uw4eyt4/zi/EW1IrdkadSYQ5Sdonux8ts2Y5eq39Q40NFkUr9rQSG145KlZ9fcKkellqkRwcGNtSmpjk+Lclqz18LZKQ2WjEEE+Rz1i0JA7XmAT73Mr17knFE0OBMfwzVjr3HSht5Udlpfq2NCM73rWJ8cUxAVH9XJX++I3WZYthnzLeM3ZljfZ87UnDSLa5Vjt3bdg67gnK+ENexkaQSko1xsuiu1cEW9MOnNOMsVa6C9c1ymLp2Ipa5nvHH9zRtrne7gSLyibG1Isihg8mhVRjtq5IYu+3h7GauWLxyF+QtWnR/6uasJojNq4MjTLp6Y9xNbv9K/cfLMwNMbz4hoInJysp1RznvTRErBqY4oGsZB7p3j3iPbu2s3m79H68tXvEz3CNnYKVy+UFtlLLaq1WTqoxlloGxlarl9NnzMt6R5gwii55M1uJr0vrrHtHGAaIZTruU7VyT5q0LJqYtGprqRbd9T/GTYYAWmZsbMHefU3/LD/asmPECSvLq6qVtSXUghgqeK195aSao8jrmIjdNR7KauXro9zrGBKoytjuW2erC1Cl7CuwWtnxFFlvt3JS/X6SX1kViTyU1covRxlPjQX6zf4ssdV6JK6y1rlSK0XKKrHzrwUOD1ZOql+rX4xgTDg+u3pZMcosbszITkRJvpE2BFg5Uq3EkEwZFFkUqnJS/fSKrlIu2pdX+3JULZtqbD+O1mqZ259HykiTVXeVvFZWGkuRy6mOMZC2uRb5rFVOqrEHvIyyb+9MNQQ8lNXKzjoFcmJTwCdS1aEzZ5Tfao2VCCPx3U16OFVKjlqlDTNvT7ETo5Vcp7qi4L9GUYjYA1mtxDMzkLMQRrQf4wSAqDT1n6vWZ5fMX174uuMo1kKq1U/c+6Ipeit0JaUau1yKJApoeCCrlemda8e3oaPvyHCZx2hhFvF5vjnKXvJb1jp/rWqJlmVRxM651xTcE6qkVGOWb3HP/kIu2urUwqlC8eq40FFUe7z5SBscWFertkNUF4vWaCxlui51/XvqTExs6e0b98aO2A47Wq3eKHbdDiKKws1FPH9REH6if5e43wNDxQwS/sfKdaV81ytZpepNaT9utEbGQ09//3BF+Co81HE8chEs6TnQ8l/wWpORsU65wQd0uJ5mtCjHOiRQq1J7O5y/FvMUgwVJKL5TVdjynfeEiIlYZlnpeqoXpQe6XrX/0dibWjgx/lKFhzq6F/1DxU2/tfIXPbafRoX90bhm6f9fFxonquZlUars/q4GJySjBGDvKLVVY7vsKW1wRE+0Uovk7XOWtvzvFatLytoKXWmpRuJsmYV7GxsKWJb28kaV96o81HHGfJHE+Vyt+gWPdZ+1iOImx7/+tgbXLUe3MFrCeYaYPpke/tFK/wUzd+1teaHG0MbOw0cKff5ieKYqv18METWyyyqO1ImdfFNKHuqrtFSP5erUgonCB7Xae7FqIA7+qtp+7e8UvAwkiiuf3oJl6WJBf70x0ri/cdxFLKWK3XVjGTt7cIRu3dT03tHz+eDCFcNiz7PeMZ6lVpfqNQVP+gazdvVU6nec9viC7FvpO7a7xrMVfzzjpIBzmzAc2DJSPb7lGn+dYgwt1qzd2rVpuMVR1WOyY1JmvGPD7bKioehu6GhEz+ZXSwzuaehnROunqJUFE5lax9SMlRjKatYJyo3WWo0hv8+nlnS0RmPjRoyXR12HZlY9azmptkslpvEShyG20pHcMfHYOzjYFKlGF2/qCdtcG12Gc0cbVP6PlvlQSdf4s5YpkupEJWYYy6KVuqcjldYrk2gVH//+P23gkLiY4X5tG5xRVe/k2PGwYITegJBq6YntlWW2zmIbZyucaBBrTotc/ZB3wurKo2t64/n8YQPFjT/VBmtTLyyxlXqMC+c6Bp5Um5wY7y2bj3VW/8iPB0tsrdeb9IotygcamB1+og1m/COPdu8p/fpG69/3nFSbljPSJMfeksqUHU/sia96a7Wr4DPHyiLORpvaBt3+WKvbjH7BkcGh7KyCD80jVVIdNbE6oVnkWZc50UupYtLkxMTYZVU4kGq4VmX33XgTS56axb1bun3fSbU5O6j2HGmeMGJ9XitOrOw+Uh2p/rK7PQ75ix1pzR67jsM6fe9JtdR8r6QjYWrx/RY8g6tKUn2gDY7biQ0h23oPN/3aTcTxN6Q6iXLxvM7Cilc02mJ4V4sV4ibVYvPf67dM2PWLnVu+/6RaeKL4xqoSjnvIy/y0wL2VjlTeffgIqRaU2H55uEmbK0ZiV7qXsV2UB0i10NxW0qGFjVClYhek2rztmQv27p/wa+jEYlItNJel7agT0e0/kdhs0CoTB1WS6oMtLIRmrjSpRxlFn0l1EiaKueyt0PhgVOs6tQXqAuwk1XEnauseqcAf82PEzrmq1DEm1RaecY0jW6rGneu3VP7aVWlTQCtKNSovjXYszUQSRcgn86YAUh3nQz17d09WRWIoIk4IrfL1u7+BIiek+qv5wQQs3ctL/MF83cwFpEqq+RPd66gMX2ViSKJKJyCcmPcl6Vel4/rQjtaS6idznN010cRKmHao9kWqTRLq4zv3Zq1AVLiv8ikBjVSPItWnE+dqxb77ViAOqpw2yVqspNpgouDGnIp2+Ucjjhau6vrVKLQdO9CGSDVXzk4no+6q0ARfHqJQTVVP5iDVCU4sVYqK+63I7RWvZB+1Oe9JrdY4h2xzb1/N1DqNtZ2lGj2OFRO4uWQ8xKnIsduQVEn1/xIFjxupy1k1oiVY9WpWeRPVpCabVGPI6Ylde7NWJoYsbly1gVQnu1SjLmqM+w1lrU+sCJjeuZZUW0yqsf05qmi1C/G7TG3jCSxSrZFYkrSpRbv7tcTaCqcFkOrTibHwH2/tztqN2E13/fIuUp0sUo1B9TgqYihrT6IbFsf2tnLxkOKluruSQo0i0O1MrPNut3qspHpcYhfI3amrX6Vtf2XRl2oEfHTJqpYtAh6V+ovkjnXV2oEWqyLaXajH955+lhox7XLyAqmmvCPVIb178/Zh0UwmogZrq57fHifVnps2NhSRc56s1nKfV6dZ/jKPl67y8xiVrmIdLqm2oFRjAiqEsjQtTp7s3FHx5VaTKbFQfnHP/kn/TEY9jRtTGcs3tmANgcpJ9WupJmn8tYoP9uYCWxAnH63oc9OajdlTaRzn8CRrldbjvtTVnPKoEo4TPZa/vkVOnm3a0EBKNHyivGEcFnlKgc/omWkFwlVLVg8P+b2jwFMzKifVE4tEbDjUO7wjKKoufWLZ2uEL+/r013y0rZex1zi6c1F+7IZU2zF268RgeJWO7qgq8cfm9TNVb5+IfHDhikrVl60qUS84CnJ/e+O24dqtl6c6xjEWe/qM0bdiR2GXaFDFHMJ/pUZVNNrWppbwwHFzJ+8rsPhQ5aVai7gk+9KC/HgYW3lhfpXo7jsy6ethNnuG/6upFTY4CSZHm0FMYEYDKrzQO5C/N0qqKH3CILpbJ5Ne6ZNtj3Tv8cBVAFJFU3g0feFfZzigtEpTWyfgOGmQKiaYnv5+5w4VvFzqrg1bdfdJlVQnO1HM4+wnFxHjOPKB9MXd2GbbnkmVVDGeSYA0+B+t1ikE2fDa03be9kyqpIpxEucPtXpRlmZ19WPCb7+VKaRKqshD7Pyx/GqEffsp8UfHRBSpkioaJrq0cRJpkTtSWlamabfPNUvXDC8sB6mSKgppucaulcm2vjXqSMRYc+z+A6mSKgonimHEg9Xux+yc9eTC4eVR+4yZkiqpohnEBE3Uybws7c8+uY0mn2K8dGZaYjZgrSmpkiomipi0iaI4b5/TemOvcehenJQQhTga2U8OUiVVNIU4tz4qj8UZRdMer+Y22CheHeOk8TkV6yFVUkXLENs1o17mN9PY5PTUrT4/lXE7eQK69O+etyz7fCqK/JN0yJ6lUKRKqmgronxb1MyMWrhfSOfERyHhC1M9zPEUd4nixlFnN748UZc3FuXfn8Z715xQVxOkSqqYVMQ5YrF/fsX+g9miJN4orB3VtB5O3fRoZUZ3PSaR4n/v3HcgW5let6PvsAImIFUAIFVSBUCqpAqAVEkVAEiVVAGQKqkCIFVSBQBSJVUApEqqAEiVVAGAVAGAVEkVAKmSKgBSJVUAIFVSBUCqpAqAVEkVAEgVAEiVVAGQKqkCIFVSBQBSJVUApEqqAEiVVAGAVAGAVEkVAKmSKgBSJVUAIFVSBUCqpAqAVEkVAEgVAEiVVAGQKqkCIFVSBQBSJVUApEqqAEiVVAGAVEkVAKmSKgBSJVUAIFUAIFVSBUCqpAqAVEkVAEiVVAGQKqkCIFVSBQBSBQBSJVUApEqqAEiVVAGAVEkVAKmSKgBSJVUAIFUAIFVSBUCqpAqAVEkVAEiVVAGQKqkCIFVSBQBSJVUApEqqAEiVVAGAVAGAVEkVAKmSKgBSJVUAIFVSBUCqpAqAVEkVAEgVAEiVVAGQKqkCIFVSBQBSJVUApEqqAEiVVAGAVAGAVEkVAKmSKgBSJVUAIFVSBUCqpAqAVEkVAEgVAEiVVAGQKqkCIFVSBQBSJVUApEqqAEiVVAGAVEkVAKmSKgBSJVUAIFUAIFVSBUCqpAqAVEkVAEiVVAGQKqkCIFVSBQBSBQBSJVUApEqqAEiVVAGAVEkVAKmSKgBSJVUAIFUAIFVSBUCqpAqAVEkVAEiVVAGQKqkCIFVSBQBSBQBSJVUApEqqAEiVVAGAVEkVAKmSKgBSJVUAIFVSBUCqpAqAVEkVAEgVAEiVVAGQKqkCIFVSBQBSJVUApEqqAEiVVAGAVAGAVEkVAKmSKgBSJVUAIFVSBUCqpAqAVEkVAEgVAEiVVAGQKqkCIFVSBQBSJVUApEqqAEiVVAGAVEkVAKmSKgBSJVUAIFUAIFVSBUCqpAqAVEkVAEiVVAGQKqkCIFVSBQBSBQBSJVUApEqqAEiVVAGAVEkVAKmSKgBSJVUAIFUAIFVSBUCqpAqAVEkVAEiVVAGQKqkCIFVSBQBSBQBSJVUApEqqAEiVVAGAVEkVAKmSKgBSJVUAIFVSBUCqpAqAVEkVAEgVAEiVVAGQKqkCIFVSBQBSJVUApEqqAEiVVAGAVAGAVEkVAKmSKgBSJVUAIFVSBUCqpAqAVEkVAEgVAEiVVAGQKqkCIFVSBQBSJVUApEqqAEiVVAGAVAGAVEkVAKmSKgBSJVUAIFVSBUCqpAqAVEkVAEiVVAGQKqkCIFVSBQBSBQBSJVUApEqqAEiVVAGAVEkVAKmSKgBSJVUAIFUAIFVSBUCqpAqAVEkVAEiVVAGQKqkCIFVSBQBSBQBSJVUApEqqAEiVVAGAVEkVAKmSKgBSJVUAIFVSBUCqpAqAVEkVAEgVAEiVVAGQKqkCIFVSBQBSJVUApEqqAEiVVAGAVAGAVEkVAKmSKgBSJVUAIFVSBUCqpAqAVEkVAEgVAEiVVAGQKqkCIFVSBQBSJVUApEqqAEiVVAGAVAGAVEkVAKmSKgBSJVUAIFVSBUCqpAqAVEkVAEiVVAGQKqkCIFVSBQBSBQBSJVUApEqqAEiVVAGAVEkVAKmSKgBSrbpU795MqgBItbAP9KMtO9xhAKRKqgBIlVQBgFQBgFRJFQCpkioAUiVVACBVUgVAqqQKgFRJFQBIFQBIlVQBkCqpAiBVUgUAUiVVAKRKqgBIlVQBgFQBoFzOn72YVAGgKP551iJSBQBSJVUApEqqAEiVVAGAVEkVAKmSKgBSJVUAIFUAIFVSBUCqpAqAVEkVAEj1uPxg03Z3GEBTOeuJhe0r1Vu7NrnDAJrG4NBQdsqjc5su1f21XnHGjHmFfaBPr+hylwE0jZ2HjxTmr8gNK9fVe8tbQ6pba73iDQU2nd82Z4m7DKBpPNK9u1CpfmXNxnpv+bmQ6qparzivwAKvkQ2Het1pAE0huutF+uuOdVvqveW1IdW5tV5xyfzlzf5QADBuDg0MZtMeX1Cov3KsYLo8pHpvrVfEOGiRH+o1M+Znu4/0u+MASuWOdZsLdVdk7p599d72nJDqDbVecdeGrYV/sC+s2uCOAyiN7jRBFQ24ot21o+9wvbd+WUj1olqvmLO7p/APdnLKg9t3ufMACufw4GD27nnLCvfWG2YuyIZqv3X85+eFVE+q9areNC5xaoHrvI7l9MfmZUt6DngCABTGQFqXet2ytYX7KnJt55p6b7++I0j/x3OzOhsAip6sOpbYWPDTbTs9CQDGTU9/f3b5opWluCpyz+a6k1Tf7DhG+n8eqfXKb23cVtoHjXxmxbqsu++IpwJAw0SfO9ajvmXW4tIcNSXfeOpFx0t1eq1XxqDvlBKGAE4cDvjy6o1Z574D2aDnBEC9lmlaRfSz1NMtY/z0xHxo4Yo8H+lPj5fqy+u9usxm9Yl5Y9rFdeXiVdlnUwv29rQsIlYgiIh8afWGbHrn2uw985eV3tA7PjmGKVd3nEj6H1fW+hdP7NrbtF9ARKQqia36fYN1+8/TR5Lq9LoDBnM7XWQRmVSJOaUc/MVIUv3zo2O+o/Jo9x4XWUQmVSv14MBAPaHO7hiN9B9/Uu9fX7F4pYstIpMiOZd8nldLqq+ou7r1YG8pmwFERKqUWJ8/VF+oq1Oe2VGL6OXX+yllr1sVEZnIRHH+aEDm4OKOeqQXvbLe2Gr8x1jy5OKLSDvm5/lqk8SKqed05CG98Bv1ftretPD2/NmL3QARaavcuGp93v0Hr+nIS3rxi8Ob9X7ilt6+7E0FHrciIjKRuWrJ6uHDAnNwT0ejpH/03jw/edX+g9m0mQvcEBFp6VyWdo0eHsy1ST4anH/cMRbSP7w7zzvEgO45Ty5yY0SkJXP10tV5hVp7CVUOqT4/ZV2ed4kqU3ZciUgrJQrmxwmpDRRxurljvKQf8g8pB/O825HBoTTIu8HNEpHKZ+rj87PHdu5ppDDW7JTndhRB+kFTU3Kf1vf4zr2GA0Sksoklodt6Dzci1Kj998KOIkk/8J311q8eT28an7ita3N2WqqT6iaKSBVybloGGo2+BtmS8icdZZB+8CUpDdWQ3pUKXN+8dlMpJxuKiOTJBXOWZPenffz9Q0ONCnVTyl93lEl6g3OyOmdajcT+/oHs3i3d2fsXLB8eHHajRaTMREPu+uVd2ex0IvQYTxPpTPmjjmaQ3uiUlD3ZGImzXqL6y6fSL3xeao5PUaBFRMaZOJIpjla5JfWMZ+3qGR6CHAczUl7Q0UxijCFlVhFnzcSqga6Dh7IZaSbugbTnNlq0jo4QkdHy3U3bsvuSJ36xY3c2d8++bFtqqA1lhRA/5oaUZ3VMBFHyKuXaRsdZAaCCdKe8tqMKpA/y90fXcAFAqxGt0ztTXtRRJY62Wt8/nrFWAGgyT6X8Y0eVSR/wt1MuTdnsfgGoKPNSLkh5RkerkD7sb2ZPr2ud5/4BqACxFDSKRJ3S0eqkX+IvUz6ZPb3VCwCaRexFfSjlopTnd7Qj6Rd7Scr5KbemzMlyFMMGgJxsOCrR61JOjR5zx2Qk/eIvSjkpZVrKeSkXp1wpIjJKPnS09Xl2yukpf5vyvCr47H8BScfZT1iPR+EAAAAASUVORK5CYII=\"","export default __webpack_public_path__ + \"static/media/diploma.5efd3241.png\";","export default __webpack_public_path__ + \"static/media/Roboto-Regular.fc2b5060.ttf\";","import { Document, Image, Text, StyleSheet, Page, Font } from \"@react-pdf/renderer\";\r\nimport { FC, useMemo } from \"react\";\r\nimport mentalSolutionCard from \"../../../../assets/cards/mental.png\";\r\nimport physicalSolutionCard from \"../../../../assets/cards/physical.png\";\r\nimport socialSolutionCard from \"../../../../assets/cards/social.png\";\r\nimport emotionalSolutionCard from \"../../../../assets/cards/emotional.png\";\r\nimport diploma from \"../../../../assets/diploma/diploma.png\";\r\nimport roboto from \"../../../../assets/fonts/Roboto-Regular.ttf\";\r\nimport { CardType } from \"../../../../util/enums\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface IGamePdf {\r\n\trecievedStatistics?: any,\r\n teamNumber?: number | undefined,\r\n threeActions?: any\r\n}\r\n\r\nconst GamePdf: FC = ({recievedStatistics, teamNumber, threeActions}) => {\r\n const { t, i18n } = useTranslation();\r\n\r\n if(i18n.language === 'ch') {\r\n Font.register({\r\n family: \"ZCool\",\r\n src:\r\n \"https://fonts.gstatic.com/s/zcoolkuaile/v7/tssqApdaRQokwFjFJjvM6h2WpozzoXhC2g.ttf\"\r\n })\r\n } else {\r\n Font.register({\r\n family: \"ZCool\",\r\n src:\r\n roboto\r\n })\r\n }\r\n\r\n let myEmail = localStorage[\"userEmailInCaseHeLogsOut\"];\r\n\r\n if (!teamNumber)\r\n teamNumber = 0;\r\n\r\n let solutionStatisticsForTheCurrentUser = recievedStatistics.solutionStatisticPerPlayer.filter( (userStatistics: any) => userStatistics.player.email === myEmail)\r\n const myUseOfSolutionTypes = useMemo(() => solutionStatisticsForTheCurrentUser?.find((statistic: any) => statistic.player.email === myEmail), [myEmail, solutionStatisticsForTheCurrentUser]);\r\n const { Mental, Physical, Relations, Emotional} = myUseOfSolutionTypes;\r\n\r\n const statisticsPdfData = {\r\n userName: localStorage[\"currentUserFullName\"],\r\n strengths: recievedStatistics.strengthStatistic.strengthCards,\r\n solutions: recievedStatistics.chosenSolutionCards,\r\n myUseOfSolutionCardsByType: {\r\n Emotional: myUseOfSolutionTypes.Emotional,\r\n Joker:0,\r\n Mental: myUseOfSolutionTypes.Mental,\r\n Physical: myUseOfSolutionTypes.Physical,\r\n Relations: myUseOfSolutionTypes.Relations\r\n }\r\n }\r\n\r\n let totalUses = Mental + Physical + Relations + Emotional;\r\n\r\n if (totalUses === 0) \r\n totalUses = 0.01;\r\n\r\n let statisticsGraphPosition = {\r\n mentalCircleWidth: 100,\r\n mentalCircleShift: 100,\r\n mentalCircleShiftOposite: 100,\r\n physicalCircleWidth: 100,\r\n physicalCircleShift: 100,\r\n physicalCircleShiftOposite: 100,\r\n relationsCircleWidth: 100,\r\n relationsCircleShift: 100,\r\n relationsCircleShiftOposite: 100,\r\n emotionalCircleWidth: 100,\r\n emotionalCircleShift: 100,\r\n emotionalCircleShiftOposite: 100,\r\n mentalPercentage: Math.round(100/totalUses*Mental),\r\n physicalPercentage: Math.round(100/totalUses*Physical),\r\n relationsPercentage: Math.round(100/totalUses*Relations),\r\n emotionalPercentage: Math.round(100/totalUses*Emotional),\r\n }\r\n\r\n if(totalUses !== 0) {\r\n \r\n statisticsGraphPosition.mentalCircleWidth = 100 + (100/totalUses)*Mental;\r\n statisticsGraphPosition.physicalCircleWidth = 100 + (100/totalUses)*Physical;\r\n statisticsGraphPosition.relationsCircleWidth = 100 + (100/totalUses)*Relations;\r\n statisticsGraphPosition.emotionalCircleWidth = 100 + (100/totalUses)*Emotional;\r\n\r\n statisticsGraphPosition.mentalCircleShift = 100 + (100 - (100/totalUses)*Mental)/2;\r\n statisticsGraphPosition.physicalCircleShift = 100 + (100 - (100/totalUses)*Physical)/2;\r\n statisticsGraphPosition.relationsCircleShift = 100 + (100 - (100/totalUses)*Relations)/2;\r\n statisticsGraphPosition.emotionalCircleShift = 100 + (100 - (100/totalUses)*Emotional)/2;\r\n\r\n statisticsGraphPosition.mentalCircleShiftOposite = 100 - (100 - (100/totalUses)*Mental)/2;\r\n statisticsGraphPosition.physicalCircleShiftOposite = 100 - (100 - (100/totalUses)*Physical)/2;\r\n statisticsGraphPosition.relationsCircleShiftOposite = 100 - (100 - (100/totalUses)*Relations)/2;\r\n statisticsGraphPosition.emotionalCircleShiftOposite = 100 - (100 - (100/totalUses)*Emotional)/2;\r\n }\r\n\r\n const getSolutionImage = (card: any) => {\r\n switch(card.type) {\r\n case CardType.MENTAL_SOLUTION: return mentalSolutionCard ; \r\n case CardType.PHYSICAL_SOLUTION: return physicalSolutionCard ; \r\n case CardType.SOCIAL_SOLUTION: return socialSolutionCard; \r\n case CardType.EMOTIONAL_SOLUTION: return emotionalSolutionCard; \r\n default: return mentalSolutionCard;\r\n }\r\n }\r\n\r\n\tconst styles = StyleSheet.create({\r\n body: {\r\n paddingTop: 35,\r\n paddingBottom: 65,\r\n paddingHorizontal: 35,\r\n backgroundColor: \"#005776\",\r\n fontFamily: \"ZCool\"\r\n },\r\n rotateBody: {\r\n position: \"absolute\",\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n top: 20,\r\n right: 20,\r\n width: 800,\r\n height: 510,\r\n },\r\n borderAround: {\r\n position: \"absolute\", \r\n top: 0, \r\n left: 0,\r\n width: 800,\r\n height: 560,\r\n borderRadius: 25,\r\n border: \"2 solid darkgray\",\r\n },\r\n row: {\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n width: \"60%\",\r\n height: \"100%\",\r\n top: 10,\r\n },\r\n rightRow: {\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n width: \"40%\",\r\n height: \"100%\",\r\n top: 10,\r\n },\r\n strengthTable: {\r\n borderRadius: 20,\r\n margin: \"0 10%\",\r\n fontSize: 10,\r\n overflow: \"hidden\"\r\n },\r\n strengthTableRow: {\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n },\r\n strengthTableRowTitleOne: {\r\n width: \"25%\",\r\n backgroundColor: \"#002D3C\",\r\n color: \"white\",\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n padding: \"6 6 6 6\",\r\n },\r\n strengthTableRowTitleTwo: {\r\n width: \"25%\",\r\n backgroundColor: \"#FF00A7\",\r\n color: \"white\",\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n padding: \"6 6 6 6\",\r\n },\r\n strengthTableRowTitleThree: {\r\n width: \"25%\",\r\n backgroundColor: \"#53BD8B\",\r\n color: \"white\",\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n padding: \"6 6 6 6\",\r\n },\r\n strengthTableRowTitleFour: {\r\n width: \"25%\",\r\n backgroundColor: \"#40C2CD\",\r\n color: \"white\",\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n padding: \"6 6 6 6\",\r\n },\r\n strengthTableRowTitleFive: {\r\n width: \"25%\",\r\n backgroundColor: \"#FED100\",\r\n color: \"white\",\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n padding: \"6 6 6 6\",\r\n },\r\n strengthTableRowDescription: {\r\n width: \"75%\",\r\n padding: \"5 2%\",\r\n backgroundColor: \"#E5EDF1\",\r\n color: \"#005776\",\r\n },\r\n strengthTableRowDescriptionDark: {\r\n width: \"75%\",\r\n padding: \"5 2%\",\r\n backgroundColor: \"#D3E2E8\",\r\n color: \"#005776\",\r\n },\r\n \r\n title: {\r\n fontSize: 14,\r\n margin: \"10 0 20 0\",\r\n color: \"#fff\",\r\n textAlign: \"center\",\r\n fontFamily: \"ZCool\"\r\n },\r\n solutionWrapper: {\r\n display: \"flex\",\r\n justifyContent: \"space-around\",\r\n flexDirection: \"row\",\r\n },\r\n solutionImage: {\r\n position: \"relative\",\r\n width: 130,\r\n height: \"auto\",\r\n paddgin: \"0 2\"\r\n },\r\n solutionImageSvg: {\r\n width: 130,\r\n height: \"auto\",\r\n },\r\n solutionText: {\r\n fontSize: 10,\r\n width: \"100%\",\r\n top: 62,\r\n bottom: 50,\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n color: '#005776',\r\n padding: '0 14',\r\n textAlign: \"center\",\r\n position: \"absolute\",\r\n fontWeight: 900,\r\n fontFamily: \"ZCool\"\r\n },\r\n solutionDescription: {\r\n width: \"100%\",\r\n top: 86,\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n color: '#005776',\r\n textAlign: \"center\",\r\n position: \"absolute\",\r\n padding: '0 14',\r\n fontWeight: 900,\r\n fontSize: 7,\r\n fontFamily: \"ZCool\"\r\n },\r\n solutionInfoTextWrapper: {\r\n position: \"relative\",\r\n top: 10,\r\n border: \"1px solid white\",\r\n backgroundColor: \"white\",\r\n borderRadius: 15,\r\n },\r\n solutionInfoNotch: {\r\n position: \"relative\",\r\n left: 60,\r\n bottom: 5,\r\n backgroundColor: \"white\",\r\n width: 10,\r\n height: 10,\r\n transform: \"rotate(45deg)\",\r\n },\r\n solutionInfoText: {\r\n width: \"100%\",\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n color: '#005776',\r\n textAlign: \"center\",\r\n padding: '0 12',\r\n fontWeight: 900,\r\n fontSize: 7,\r\n marginBottom: 6,\r\n fontFamily: \"ZCool\"\r\n },\r\n tedTalkUrl: {\r\n position: \"relative\",\r\n top: 15,\r\n width: \"100%\",\r\n textAlign: \"center\",\r\n color: \"white\",\r\n textDecoration: \"underline\",\r\n fontSize: 9\r\n },\r\n tedTalkLogo: {\r\n position: \"relative\",\r\n width: \"100%\",\r\n padding: \"0, 40\",\r\n textAlign: \"center\",\r\n top: 5,\r\n },\r\n \r\n \r\n actionPart: {\r\n position: \"relative\",\r\n top: 190,\r\n },\r\n actionText: {\r\n color: \"white\",\r\n fontSize: 10,\r\n width: \"100%\",\r\n padding: \"5%\",\r\n fontFamily: \"ZCool\" \r\n },\r\n \r\n zoomIt: {\r\n position: \"relative\",\r\n bottom: 100,\r\n right: 50\r\n }, \r\n displayInRow: {\r\n width: 500,\r\n left: 20,\r\n height: 105,\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n },\r\n decorationLine: {\r\n position: \"absolute\",\r\n left: 230,\r\n top: -18,\r\n width: 5,\r\n height: \"auto\",\r\n transform: \"rotate(90deg)\",\r\n },\r\n rightDecorationLine: {\r\n position: \"absolute\",\r\n left: 155,\r\n top: -18,\r\n width: 5,\r\n height: \"auto\",\r\n transform: \"rotate(90deg)\",\r\n },\r\n bodyx: {\r\n paddingTop: 5,\r\n backgroundColor: \"#005776\",\r\n fontFamily: \"ZCool\"\r\n },\r\n rotate: {\r\n transform: 'rotate(90)',\r\n left: 285,\r\n top: 250\r\n },\r\n diplomaImage: {\r\n position: 'absolute',\r\n width: 845\r\n },\r\n userFullNameWrapper: {\r\n position: 'absolute',\r\n width: 280,\r\n height: 80,\r\n top: 240,\r\n left: 270,\r\n },\r\n userFullName: {\r\n position: 'relative',\r\n width: 300,\r\n margin: 'auto',\r\n color: '#53BD8B',\r\n textAlign: 'center',\r\n fontSize: 26\r\n },\r\n summaryWrapper: {\r\n position: 'absolute',\r\n width: 600,\r\n height: 400,\r\n top: 80,\r\n left: 100,\r\n padding: '40 50 0 50',\r\n },\r\n \r\n \r\n smallFlex: {\r\n position: \"absolute\",\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n flexWrap: \"wrap\",\r\n width: 400,\r\n },\r\n \r\n \r\n smallSquare: {\r\n position: \"relative\",\r\n width: 200,\r\n height: 200,\r\n overflow: \"hidden\",\r\n },\r\n circleTopLeft: {\r\n width: statisticsGraphPosition.mentalCircleWidth,\r\n height: statisticsGraphPosition.mentalCircleWidth,\r\n borderRadius: \"50%\",\r\n backgroundColor: \"#3AC0CA\",\r\n position: \"relative\",\r\n left: statisticsGraphPosition.mentalCircleShift,\r\n top: statisticsGraphPosition.mentalCircleShift,\r\n },\r\n circleTopRight: {\r\n width: statisticsGraphPosition.physicalCircleWidth,\r\n height: statisticsGraphPosition.physicalCircleWidth,\r\n borderRadius: \"50%\",\r\n backgroundColor: \"#53BD8B\",\r\n position: \"relative\",\r\n right: statisticsGraphPosition.physicalCircleShiftOposite,\r\n top: statisticsGraphPosition.physicalCircleShift,\r\n },\r\n circleBottomLeft: {\r\n width: statisticsGraphPosition.relationsCircleWidth,\r\n height: statisticsGraphPosition.relationsCircleWidth,\r\n borderRadius: \"50%\",\r\n backgroundColor: \"#FED100\",\r\n position: \"relative\",\r\n left: statisticsGraphPosition.relationsCircleShift,\r\n bottom: statisticsGraphPosition.relationsCircleShiftOposite,\r\n },\r\n circleBottomRight: {\r\n width: statisticsGraphPosition.emotionalCircleWidth,\r\n height: statisticsGraphPosition.emotionalCircleWidth,\r\n borderRadius: \"50%\",\r\n backgroundColor: \"#FF00A7\",\r\n position: \"relative\",\r\n right: statisticsGraphPosition.emotionalCircleShiftOposite,\r\n bottom: statisticsGraphPosition.emotionalCircleShiftOposite\r\n },\r\n \r\n \r\n bigFlex: {\r\n position: \"absolute\",\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n flexWrap: \"wrap\",\r\n width: 400,\r\n },\r\n smallCircleTopLeft: {\r\n width: 100,\r\n height: 100,\r\n borderRadius: \"50%\",\r\n backgroundColor: \"#1690B2\",\r\n position: \"relative\",\r\n left: 150,\r\n top: 150,\r\n },\r\n smallCircleTopRight: {\r\n width: 100,\r\n height: 100,\r\n borderRadius: \"50%\",\r\n backgroundColor: \"#1AA086\",\r\n position: \"relative\",\r\n right: 50,\r\n top: 150,\r\n },\r\n smallCircleBottomLeft: {\r\n width: 100,\r\n height: 100,\r\n borderRadius: \"50%\",\r\n backgroundColor: \"#FA8003\",\r\n position: \"relative\",\r\n left: 150,\r\n bottom: 50,\r\n },\r\n smallCircleBottomRight: {\r\n width: 100,\r\n height: 100,\r\n borderRadius: \"50%\",\r\n backgroundColor: \"#BF0072\",\r\n position: \"relative\",\r\n right: 50,\r\n bottom: 50,\r\n },\r\n \r\n pictureFlex: {\r\n position: \"absolute\",\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n flexWrap: \"wrap\",\r\n width: 400,\r\n },\r\n pictureSquare: {\r\n position: \"relative\",\r\n width: 200,\r\n height: 200,\r\n },\r\n pictureCircle: {\r\n width: 80,\r\n height: 80,\r\n borderRadius: \"50%\",\r\n position: \"relative\",\r\n left: 160,\r\n top: 160,\r\n },\r\n \r\n percentageFlex: {\r\n position: \"absolute\",\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n flexWrap: \"wrap\",\r\n width: 200,\r\n top: 100,\r\n left: 100,\r\n },\r\n percentageSquare: {\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n width: 100,\r\n height: 100,\r\n },\r\n percentageText: {\r\n color: \"#fff\",\r\n },\r\n \r\n solutionNameFlex: {\r\n position: \"absolute\",\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n flexWrap: \"wrap\",\r\n width: 400,\r\n },\r\n solutionNameSquare: {\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n width: 200,\r\n height: 200,\r\n fontSize: 14,\r\n },\r\n solutionNameTopLeft: {\r\n position: \"relative\",\r\n top: 50,\r\n right: 10, \r\n color: \"#3AC0CA\",\r\n fontFamily: \"ZCool\"\r\n },\r\n interestingText:{\r\n color: \"#3AC0CA\",\r\n fontSize: 10,\r\n width: \"100%\",\r\n padding: \"5%\" ,\r\n fontFamily: \"ZCool\"\r\n },\r\n actionableText:{\r\n color: \"#4ABC88\",\r\n fontSize: 10,\r\n width: \"100%\",\r\n padding: \"5%\",\r\n fontFamily: \"ZCool\"\r\n },\r\n meaningfulltext:{\r\n color: \"#EB088D\",\r\n fontSize: 10,\r\n width: \"100%\",\r\n padding: \"5%\",\r\n fontFamily: \"ZCool\"\r\n },\r\n solutionNameTopRight: {\r\n position: \"relative\",\r\n top: 50,\r\n left: 35, \r\n color: \"#4ABC88\",\r\n fontFamily: \"ZCool\"\r\n },\r\n solutionNameBottomLeft: {\r\n position: \"relative\",\r\n bottom: 70,\r\n right: 12, \r\n color: \"#FCD00D\",\r\n fontFamily: \"ZCool\"\r\n },\r\n solutionNameBottomRight: {\r\n position: \"relative\",\r\n bottom: 70,\r\n left: 36, \r\n color: \"#EB088D\",\r\n fontFamily: \"ZCool\"\r\n },\r\n solutionNameLineTopLeft: {\r\n position: \"relative\",\r\n top: 50,\r\n left: 30,\r\n width: 130,\r\n backgroundColor: \"#fff\",\r\n border: \"1 solid white\"\r\n },\r\n solutionNameLineTopRight: {\r\n position: \"relative\",\r\n top: 50,\r\n right: 5,\r\n width: 130,\r\n backgroundColor: \"#fff\",\r\n border: \"1 solid white\"\r\n },\r\n solutionNameLineBottomLeft: {\r\n position: \"relative\",\r\n bottom: 70,\r\n left: 34,\r\n width: 130,\r\n backgroundColor: \"#fff\",\r\n border: \"1 solid white\"\r\n },\r\n solutionNameLineBottomRight: {\r\n position: \"relative\",\r\n bottom: 70,\r\n left: 0,\r\n width: 130,\r\n backgroundColor: \"#fff\",\r\n border: \"1 solid white\"\r\n },\r\n \r\n \r\n separatorLine: {\r\n position: \"absolute\",\r\n left: 470,\r\n top: 120,\r\n width: 10,\r\n height: 300\r\n },\r\n \r\n });\r\n\r\n\r\n\treturn (\r\n\t\t\r\n \r\n \r\n
\r\n \r\n\r\n
\r\n {statisticsPdfData.userName} \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {t(\"yourStrengthCardsText\")}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {statisticsPdfData.strengths[0].description.trim()} \r\n \t
\r\n
\r\n {statisticsPdfData.strengths[0].information.trim()} \r\n \t
\r\n
\r\n
\r\n
\r\n {statisticsPdfData.strengths[1].description.trim()} \r\n \t
\r\n
\r\n {statisticsPdfData.strengths[1].information.trim()} \r\n \t
\r\n
\r\n
\r\n
\r\n {statisticsPdfData.strengths[2].description.trim()} \r\n \t
\r\n
\r\n {statisticsPdfData.strengths[2].information.trim()} \r\n \t
\r\n
\r\n
\r\n
\r\n {statisticsPdfData.strengths[3].description.trim()} \r\n \t
\r\n
\r\n {statisticsPdfData.strengths[3].information.trim()} \r\n \t
\r\n
\r\n
\r\n
\r\n {statisticsPdfData.strengths[4].description.trim()} \r\n \t
\r\n
\r\n {statisticsPdfData.strengths[4].information.trim()} \r\n \t
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {\r\n statisticsPdfData.solutions.length != 0 && \r\n {t(\"theSolutionCardsYouChose\")}\r\n }\r\n \r\n\r\n
\r\n\r\n {statisticsPdfData.solutions.map( (solutionCard: any, index: number) => {\r\n if(index > 3)\r\n return (
);\r\n\r\n return (\r\n
\r\n \r\n {solutionCard.title} \r\n {solutionCard.description} \r\n
\r\n
\r\n {solutionCard.info} \r\n
\r\n {false && {t(\"tedTalkTitle\")} }\r\n {false && }\r\n
\r\n )\r\n })}\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n {t(\"choosenSolutionCardsYouProposedText\")} \r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n {t(\"mentalText\")} \r\n
\r\n
\r\n
\r\n {t(\"physicalText\")} \r\n
\r\n
\r\n
\r\n {t(\"socialText\")} \r\n
\r\n
\r\n
\r\n {t(\"emotionalText\")} \r\n
\r\n
\r\n\r\n
\r\n \r\n \t
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n {statisticsGraphPosition.mentalPercentage}% \r\n
\r\n
\r\n {statisticsGraphPosition.physicalPercentage}% \r\n
\r\n
\r\n {statisticsGraphPosition.relationsPercentage}% \r\n
\r\n
\r\n {statisticsGraphPosition.emotionalPercentage}% \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n {/* */}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n {t(\"iAmText\")} \r\n \r\n\r\n {t(\"whatDoYouTakeAwayFromTheGameText\")} \r\n {threeActions?.first != \"\" && {t(\"interestingText\")} {threeActions.first} }\r\n {threeActions?.second != \"\" && {t(\"actionableText\")} {threeActions.second} }\r\n {threeActions?.third != \"\" && {t(\"meaningfulText\")} {threeActions.third} }\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\t);\r\n};\r\n\r\nexport default GamePdf;","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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JaoAQFSJKgCiSlQBEFWiCgBEFQCIKlEFQFSJKgCiSlQBgKgSVQBElagCIKpEFQCIKlEFQFSJKgCiSlQBgKgCAFElqgCIKlEFQFSJKgAQVaIKgKgSVQBElagCAFEFAKJKVAEQVaIKgKgSVQAgqkQVAFElqgCIKlEFAKIKAESVqAIgqkQVAFElqgBAVIkqAKJKVAEQVaIKAEQVAIgqUQVAVIkqAKJKVAGAqBJVAESVqAIgqkQVAIgqUQVAVIkqAKJKVAGAqAIAUSWqAIgqUQVAVIkqABBVogqAqBJVAESVqAIAUQUAokpUARBVogqAqBJVACCqRBUAUSWqAIgqUQUAogoARJWoAiCqRBUAUSWqAEBUiSoAokpUARBVogoARJWoAiCqRBUAUSWqAEBUAYCoElUARJWoAiCqRBUAiCpRBUBUiSoAokpUAYCoAgBRJaoAiCpRBUBUiSoAEFWiCoCoElUARJWoAgBRBQCiSlQBEFWiCoCoElUAIKpEFQBRJaoAiCpRBQCiCgBElagCIKpEFQBRJaoAQFSJKgCiSlQBEFWiCgBElagCIKpEFQBRJaoAQFQBgKgSVQBElagCIKpEFQCIKlEFQFSJKgCiSlQBgKgCAFElqgCIKlEFQFSJKgAQVaIKgKgSVQBElagCAFEFAKJKVAEQVaIKgKgSVQAgqkQVAFElqgCIKlEFAKIKAESVqAIgqkQVAFElqgBAVIkqAKJKVAEQVaIKAESVqAIgqkQVAFElqgBAVAGAqBJVAESVqAIgqkQVAIgqUQVAVIkqAKJKVAGAqAIAUSWqAIgqUQVAVIkqABBVogqAqBJVAESVqAIAUQUAokpUARBVogqAqBJVACCqRBUAUSWqAIgqUQUAokpUARBVogqAqBJVACCqAEBUiSoAokpUARBVogoARJWoAiCqRBUAUSWqAEBUAYCoElUARJWoAiCqRBUAiCpRBUBUiSoAokpUAYCoAgBRJaoAiCpRBUBUiSoAEFWiCoCoElUARJWoAgBRBQCiSlQBEFWiCoCoElUAIKpEFQBRJaoAiCpRBQCiSlQBEFWiCoCoElUAIKoAQFSJKgCiSlQBEFWiCgBElagCIKpEFQBRjX5U72QLAyCqvr2grrvZwgCIKlEFQFSJKgAQVQAgqkQVAFElqgCIKlEFAKJKVAEQVaIKgKgSVQAgqgBAVIkqAKJKVAEQVaIKAESVqAIgqkQVAFElqgBAVAEgWE7FXkQVAHyLavmuRBUAiCpRBUBUiSoAokpUAYCoElUARJWoAiCqRBUAiCoAEFWiCoCoElUARJWoAgBRXfUFdd7JFgYQblTLPjuDo9p6LVsYQIhMTnxe6FHtThrVkk38e0GNZ7GNAYQn0eFbv9yGnZvqb3w4Jqk++Ufnbf17UeU7s5EBhPc5tf95f6Paclmqv3J5TFJx0qhW7Onri9JoEVsaQDhRbbrA36i23ZDqr1wWk/S3pFGtOSLsFwUA2XMG5ZRu4W+/uu5K9bd+PybpmeSlX+rri3KKN5AmWtngAIL9lNq+zN92Fc2SDbyU6q89MybplqQvrPN2/19Y80VscQDBmWiRU7KR7+3SWHWqv/mAmKRzkkZ18FXfX5hTNEvW/RAbHkAAH1HH5VQf7n+3SjaV5KT62zeMSVqc/AWOyInP9/8FxudLQ6+zAwDwMagJWeM5wXwQrD811d/eHIvFYjFJcyUNJftf+n2y6pOwzpP1PMyOACB7Tp+s7qRgWlU0S9a5PNUrWBH7mKSXk8a/85eBvVD3gtpzpPEGdgoAmX1A7X9OTvnOAXZqtjRek+plXLxqVJNf5zTRJie+bqBhdYoXyFoul4be8nLcAkChS3TJeh+TU31QsG0qmiWn+nAvr2j3VaO6f8rfBLXHB//CP57SLWW1x8uazpe13SjruJVhGEbWcqWs4ZtuSIP+oLfaifUHUiWyVtKnYquSVJI0qgN/CS+qDMMwUZmSzSRnMFVUb4lNJemHKY8DV32RN5hhmIIaa7/Fy1f/vdYW1R0kWfKDwS/wJjMMU0CfUjeXEr2pgvp+bDqSnkt5bLXuBN5ohmEK41Nq94NePqWenSyqB6b8v49V+LroK8MwTCSnarGXK5FqJa0TS0bSKyk/rQZ83SrDMExOp3ihNBr38in1klgqkr6c6tiqZLK6k3njGYaZmV/7e/7DS1CrJa0X80LSw14uvHUq9mADMAwzs4LatNTr7QcnxbyStLmknpR/5HiDnLLt2RAMw8yMoNadJNmEl6C+FEuXpAs8tXrkQ99X12YYhgl9ao6QnGEv1euXtGMsE5Ie9xTWsSo55buwURiGydNPqKd4DaokfSuWKUkbSqry9NdMNMupOpANxDBMfgW15XLJEl6D+utYtiR9QdKgp7/OxmQtV8gpms3GYhgm4ndLbSzreyaddbHelTQ/5gdJx0oa97y24cCf5JTtwEZjGCaan05rj/PyvKlVVUraIuYnSWelvn511dVXhmVtN8opXsBGZBgmGlO+o6z/OaWpVdJOsSBIWiopkdbLmWiVtf5ATvEiNijDMLmZij3cC/ptPN2gNkvaJxYkSadKGkl/le5eWfeDk8+7msNGZhgm4FtNN5A1LpENvJTp00TKJH02FgZJh0nqzvgxCOONsp5HZY3nyinfVU58HXYAhmGyjOgCOVWLZa3XyAZelJyhbB7W8r+SNouFSdJ2kt7y56ldo9JoXNb/vKz3cVn3/Tw2gmGY6afzDln3A7K+FbLBV6TxurRO+SRd2ES6U9K6sVyQNEfSj3hSH4AZoFfSabEomHxw4NtsEwB5yCQ96vslUz6EdbakiyV1sY0A5In3JB0UizJJ60u6TFIT2wtARL0vaYmk2bF8IWmepIskrWT7AYiAMbnP4Ts6lu8k7S5pmaQStiuAkEP6qtwblzaOzUSStpR0hqT7Jf2f3DNuAOCHBrnP2btZ0tHyawGUPAztFpIOlnTiZHC/I+lahmGYaeZKuQvpf13ugk/7SVo/Cj37f9SXLCALMzjZAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,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\"","import React, { FC, useEffect, useState } from 'react';\r\nimport { BlobProvider, PDFDownloadLink } from '@react-pdf/renderer';\r\nimport StrengthsDemoPdf from './StrengthsDemoPdf';\r\nimport { MainButton } from '../../../atoms';\r\nimport GamePdf from './GamePdf';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\ninterface IPdfIndex {\r\n recievedStatistics?: any;\r\n selectedStrengthsDemo?: any;\r\n pdfType: string | undefined;\r\n teamNumber?: number | undefined;\r\n threeActions?: { first: string, second: string, third: string }\r\n isDownloadButton?: boolean;\r\n\r\n setPdfForEmail?(pdfBloob: Blob): void;\r\n sendEmailWithPdf?(): void;\r\n setIsStatisticsAlreadyDownloaded?(isStatisticsAlreadyDownloaded: boolean): void;\r\n sendEmailForDemoSlot?(): void;\r\n}\r\n\r\nexport const PdfIndexMemo: FC = ({ recievedStatistics, selectedStrengthsDemo, pdfType, teamNumber, threeActions, isDownloadButton, setPdfForEmail, sendEmailWithPdf, setIsStatisticsAlreadyDownloaded, sendEmailForDemoSlot }) => {\r\n const [isClient, setIsClient] = useState(false);\r\n\r\n const { t } = useTranslation();\r\n\r\n const buttonText = isDownloadButton ? t(\"downloadDiplomaText\") : t(\"nextText\");\r\n\r\n useEffect(() => {\r\n setIsClient(true)\r\n }, []);\r\n\r\n const updateTheStatisticsPDF = (blob: Blob) => {\r\n if (!blob) return;\r\n\r\n if (setPdfForEmail)\r\n setPdfForEmail(blob);\r\n };\r\n\r\n const handleDownloadClick = () => {\r\n if (sendEmailWithPdf && setIsStatisticsAlreadyDownloaded) {\r\n setIsStatisticsAlreadyDownloaded(true);\r\n sendEmailWithPdf();\r\n }\r\n }\r\n\r\n const handleDownloadStrenghtsDemoClick = () => {\r\n if (sendEmailForDemoSlot ) {\r\n sendEmailForDemoSlot();\r\n }\r\n }\r\n\r\n if (pdfType === \"statistics\")\r\n return (\r\n
\r\n {isClient && (\r\n
\r\n
\r\n } fileName=\"statistics.pdf\">\r\n {({ loading }) => (\r\n loading\r\n ?\r\n t(\"loadingDocumentText\")\r\n :\r\n
\r\n \r\n
\r\n )}\r\n
\r\n }>\r\n {({blob}) => {\r\n if(blob)\r\n updateTheStatisticsPDF(blob);\r\n \r\n return null;\r\n }}\r\n \r\n
\r\n
\r\n )}\r\n
\r\n );\r\n\r\n if (pdfType === \"strengthsDemo\")\r\n return (\r\n
\r\n {isClient && (\r\n
\r\n } fileName=\"yourStrengths.pdf\">\r\n {({ loading }) => (\r\n loading\r\n ?\r\n t(\"loadingDocumentText\")\r\n :\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n\r\n return (
)\r\n}\r\n\r\nconst PdfIndex = React.memo(PdfIndexMemo);\r\n\r\nexport default PdfIndex;","import React, { useContext, useState, useEffect, useRef, forwardRef, useImperativeHandle, useCallback } from \"react\";\r\n\r\nimport { BoardContext, CardContext, SlotMachineContext, SocketContext, TeamContext, UserContext } from \"../../../context\";\r\nimport whiteArrow from \"../../../assets/icons/white_arrow.svg\";\r\n\r\nimport { FrontSide, MainButton } from \"../../atoms\";\r\nimport { ICard } from \"../../../interfaces\";\r\nimport { useWindowDimensions, useSound } from \"../../../hooks\";\r\nimport { CardType } from \"../../../util/enums\";\r\nimport PdfIndex from \"../../molecules/Statistics/Pdf/PdfIndex\";\r\nimport axios from \"axios\";\r\n\r\nexport interface SlotMachineRefObject {\r\n dropedStrenghtCard(): void;\r\n}\r\n\r\nconst SlotMachineChosenCardHolder = forwardRef((_props: {}, ref: React.Ref) => {\r\n useImperativeHandle(ref, () => ({ dropedStrenghtCard }));\r\n\r\n const { socket } = useContext(SocketContext);\r\n const { game } = useContext(TeamContext);\r\n const { draggableCard, isStrengthCardCurrentlyDragged, setIsStrengthCardCurrentlyDragged } = useContext(CardContext);\r\n const { userData } = useContext(UserContext);\r\n const { \r\n setShowIt, \r\n confirmSelectionDisabled,\r\n setConfirmSelectionDisabled,\r\n setLastDroppedCard, \r\n allStrengthCardsIdsState, \r\n isConfirmSelectionClicked, \r\n verticalCardIndexOfSelectedRow, \r\n verticalCardIdsAndTheirIndexes,\r\n setAddStrengthCardDemo,\r\n setShowMidGameWaitingWindow\r\n } = useContext(SlotMachineContext);\r\n const { didUserRejoinTheGame, setDidUserRejoinTheGame } = useContext(BoardContext);\r\n const [ready, setReady] = useState(false);\r\n const [chosenStrengthCard, setChosenStrengthCard] = useState<(ICard | undefined)[]>(new Array(5));\r\n const { width } = useWindowDimensions();\r\n const alertRef = useRef();\r\n const [selectedIndex, setSelectedIndex] = useState<(number | null)>(null);\r\n const [isArrowShown, setIsArrowShown] = useState(true);\r\n const {playSound} = useSound();\r\n const demoCard: ICard = {\r\n type: CardType.STRENGTH,\r\n description: \"0\",\r\n id: 1111,\r\n }\r\n const downloadText = \"Download\";\r\n const confirmText = \"Confirm\";\r\n const windowLocationHref = window.location.href;\r\n const urlPathChunks = windowLocationHref.split(\"/\");\r\n const urlTokenExtracted = urlPathChunks[urlPathChunks.length-1];\r\n const pathname : string | undefined = window.location.pathname;\r\n const isPageSlotMachineDemoRendered : boolean = pathname.includes(\"/slotmachineDemo\");\r\n\r\n let phase: any;\r\n const myEmail = localStorage[\"userEmailInCaseHeLogsOut\"];\r\n\r\n let payload = {\r\n\t\tmatchId: urlTokenExtracted,\r\n\t\tgameId: 1,\r\n\t\temail: myEmail,\r\n\t}\r\n \r\n axios({\r\n method: \"get\",\r\n url: process.env.REACT_APP_BACKEND_URL + `api/matches/phase/${urlTokenExtracted}`,\r\n })\r\n .then((res: any) => {\r\n handleMidGameJoining(res);\r\n })\r\n .catch((err: any) => console.error(err));\r\n\r\n const handleMidGameJoining = (res: any) => {\r\n phase = res?.data?.phase\r\n if(phase === 4 && ready) {\r\n socket?.emit(\"joinGame\",payload)\r\n window.location.href = process.env.REACT_APP_FRONTEND_URL + \"board/\" + urlTokenExtracted;\r\n return;\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (!userData || !game) return;\r\n\r\n let userNicknameInLobby = game?.inGameLobby?.filter((lobby: any) => lobby?.email == myEmail)[0].nickname;\r\n let userInLobbyForStrengthCards = game?.gameInfo?.inGameLobby.filter((user: any) => user.nickName === userNicknameInLobby)[0].currentStrengthCards;\r\n let currentStrengthCardsFromGameObject = userInLobbyForStrengthCards ? userInLobbyForStrengthCards : [];\r\n\r\n const numberOfSelectedStrengthCardsFromSlotMachine = currentStrengthCardsFromGameObject.length;\r\n \r\n let mappedArryOfStrengthCardsObjectsFittedForFrontend = currentStrengthCardsFromGameObject.map((strengthCardFromBackEnd: any) => {\r\n return convertRecievedObjectToStrengthCardObject(strengthCardFromBackEnd);\r\n })\r\n\r\n if(numberOfSelectedStrengthCardsFromSlotMachine === 1) {\r\n setDidUserRejoinTheGame(false);\r\n }\r\n\r\n if (numberOfSelectedStrengthCardsFromSlotMachine != 1 && didUserRejoinTheGame) {\r\n setChosenStrengthCard(mappedArryOfStrengthCardsObjectsFittedForFrontend);\r\n setDidUserRejoinTheGame(false);\r\n }\r\n\r\n }, [didUserRejoinTheGame, setDidUserRejoinTheGame, userData, game?.gameInfo?.inGameLobby]);\r\n\r\n const numberOfPopulatedCards = useCallback(() => {\r\n return chosenStrengthCard.filter(card => card !== undefined).length;\r\n }, [chosenStrengthCard]);\r\n\r\n useEffect(() => {\r\n if (numberOfPopulatedCards() === 5 && !isConfirmSelectionClicked) {\r\n return setConfirmSelectionDisabled(false);\r\n }\r\n\r\n return setConfirmSelectionDisabled(true);\r\n }, [chosenStrengthCard, setConfirmSelectionDisabled, numberOfPopulatedCards, isConfirmSelectionClicked]);\r\n\r\n const convertRecievedObjectToStrengthCardObject = (strengthCardFromBackEnd: any) => {\r\n return {\r\n backImagePath: \"\",\r\n description: strengthCardFromBackEnd.description,\r\n id: strengthCardFromBackEnd._id | 0,\r\n type: CardType.STRENGTH\r\n }\r\n }\r\n\r\n const isCardChoosen = (draggableCard: ICard) => {\r\n return chosenStrengthCard.filter(card => {\r\n if (card) return card.id === draggableCard.id\r\n return false;\r\n }).length;\r\n }\r\n\r\n const dropedStrenghtCard = () => {\r\n if (selectedIndex === null) return;\r\n\r\n if (draggableCard && isStrengthCardCurrentlyDragged) {\r\n\r\n if (isCardChoosen(draggableCard)) {\r\n activateNotificatoinForTwoSeconds();\r\n return;\r\n }\r\n\r\n if (numberOfPopulatedCards() < 5) {\r\n const copyOfChoosen: ICard[] = [];\r\n const choosenCards = Object.assign(copyOfChoosen, chosenStrengthCard)\r\n\r\n if (choosenCards[selectedIndex]) return;\r\n\r\n choosenCards[selectedIndex] = draggableCard;\r\n\r\n setChosenStrengthCard(choosenCards);\r\n socket?.emit(\"chooseStrengthCardNewPlayer\", { id: draggableCard.id, idsOfCardsInSlotMachine: allStrengthCardsIdsState.current });\r\n setAddStrengthCardDemo({id: draggableCard?.id || 1111, description: draggableCard?.description || \"\"});\r\n\r\n verticalCardIndexOfSelectedRow.current = verticalCardIdsAndTheirIndexes?.find((card: any) => draggableCard.id === card.cardId)?.verticalIndex;\r\n setLastDroppedCard(draggableCard);\r\n }\r\n }\r\n setIsStrengthCardCurrentlyDragged(false);\r\n }\r\n\r\n const activateNotificatoinForTwoSeconds = () => {\r\n setShowIt(true);\r\n\r\n if (alertRef.current) {\r\n clearTimeout(alertRef.current);\r\n }\r\n\r\n alertRef.current = setTimeout(() => {\r\n setShowIt(false);\r\n }, 3000)\r\n }\r\n\r\n const removeChosenCard = (cardId: number | string, index: number) => {\r\n const copyOfChoosen: (ICard | undefined)[] = [];\r\n const choosenCards = Object.assign(copyOfChoosen, chosenStrengthCard)\r\n\r\n setSelectedIndex(null);\r\n choosenCards[index] = undefined;\r\n setChosenStrengthCard(choosenCards);\r\n socket?.emit(\"dropStrengthCard\", { id: cardId });\r\n playSound(\"/sounds/CloseCard.mp3\");\r\n\r\n return setConfirmSelectionDisabled(true);\r\n }\r\n\r\n const draggedStrengthCardsFields = (index: number) => {\r\n return (\r\n
setSelectedIndex(index)} onMouseLeave={() => setSelectedIndex(null)} className=\"drop_container__content center_horizontally_and_vertically\" style={{ minHeight: width * 0.155, minWidth: width * 0.118 }}>\r\n {(chosenStrengthCard[index] && !isConfirmSelectionClicked) &&
removeChosenCard(chosenStrengthCard[index]!.id!, index)}>
}\r\n {chosenStrengthCard[index] && }\r\n
\r\n )\r\n }\r\n\r\n const SlotMachineChosenCards = () => {\r\n return Array.apply(null, Array(5)).map((_item: any, index: number) => {\r\n return (\r\n
\r\n
\r\n
\r\n {draggedStrengthCardsFields(index)}\r\n
\r\n
\r\n )\r\n })\r\n }\r\n\r\n const handlyReady = () => {\r\n setReady(true);\r\n setShowMidGameWaitingWindow(true);\r\n }\r\n\r\n const renderButton = () => {\r\n if (isPageSlotMachineDemoRendered) return ;\r\n return \r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {SlotMachineChosenCards()}\r\n
\r\n
\r\n\r\n {!confirmSelectionDisabled && isArrowShown &&\r\n
\r\n \"white\r\n
\r\n }\r\n\r\n
setIsArrowShown(false)}>\r\n {renderButton()}\r\n
\r\n \r\n \r\n
\r\n );\r\n});\r\n\r\nexport default SlotMachineChosenCardHolder;","import { useCallback, useContext, useEffect, useMemo, useRef, useState } from \"react\";\r\nimport { Rnd } from \"react-rnd\";\r\nimport { CardContext, SlotMachineContext } from \"../../../context\";\r\nimport { useWindowDimensions, useSound, useStrengthCards } from \"../../../hooks\";\r\nimport { ICard, ISlotMachineSpinner, SlotMachineState } from \"../../../interfaces\";\r\nimport { CardSlotMachine } from \"../../atoms\";\r\nimport { checkCardVerticalPositionBeforeAnimating, setTopOfHtmlElementThroughStyle } from \"../../molecules/SlotMachine/helpers/index\";\r\nimport SlotMachineSpinButton from \"../../molecules/SlotMachine/SlotMachineSpinButton\";\r\nimport useStrengthCardsDemo from \"./useStrengthCardsDemo\";\r\n\r\nconst SlotMachineSpinner = (props: ISlotMachineSpinner) => {\r\n const { slotMachineRef } = props;\r\n\r\n const { setDraggableCard, setIsStrengthCardCurrentlyDragged } = useContext(CardContext);\r\n const { \r\n isConfirmSelectionClicked, \r\n verticalCardIndexOfSelectedRow, \r\n setVerticalCardIdsAndTheirIndexes \r\n } = useContext(SlotMachineContext);\r\n\r\n const [draggingCardIndex, setDraggingCardIndex] = useState(-1);\r\n const [isChoosingCardsLocked, setIsChoosingCardsLocked] = useState(false);\r\n const lockCardTimeout = useRef();\r\n let [recievedStrengthCards] = useStrengthCards();\r\n \r\n const [shuffledRefs, setShuffledRefs] = useState(\r\n [useRef(null),\r\n useRef(null),\r\n useRef(null),\r\n useRef(null),\r\n useRef(null)]\r\n );\r\n const [strengthCards, setStrengthCards] = useState({\r\n card1: { cardData: undefined },\r\n card2: { cardData: undefined },\r\n card3: { cardData: undefined },\r\n card4: { cardData: undefined },\r\n card5: { cardData: undefined }\r\n });\r\n\r\n const { width } = useWindowDimensions();\r\n const {playSound} = useSound();\r\n\r\n useEffect(() => {\r\n if (recievedStrengthCards.length)\r\n playSound(\"/sounds/slotSpin.mp3\");\r\n }, [playSound, recievedStrengthCards])\r\n\r\n \r\n useEffect(() => {\r\n if (recievedStrengthCards.length && !(draggingCardIndex+1) ) {\r\n shuffleRecievedCards();\r\n spinAllCards();\r\n } \r\n // if I add \"draggingCardIndex\" all the cards will shuffle instead of suffling only one (the selected one)\r\n // shuffleRecievedCards - has to be transform into callback, and then it will need its dependancies\r\n // spinAllCards - has to be transform into callback, and then it will need its dependancies\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [recievedStrengthCards]);\r\n \r\n useEffect(() => {\r\n if (recievedStrengthCards.length && (draggingCardIndex+1) )\r\n spinOnlyOneCard();\r\n // if I add \"draggingCardIndex\" all the cards will shuffle instead of suffling only one (the selected one)\r\n // spinOnlyOneCard - has to be transform into callback, and then it will need its dependancies\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [recievedStrengthCards]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n if(lockCardTimeout.current)\r\n clearTimeout(lockCardTimeout.current);\r\n }\r\n }, []);\r\n\r\n const shuffleRecievedCards = () => {\r\n const newArray = shuffledRefs;\r\n\r\n for (let i = newArray.length - 1; i > 0; i--) {\r\n const j = Math.floor(Math.random() * (i + 1));\r\n [newArray[i], newArray[j]] = [newArray[j], newArray[i]];\r\n }\r\n\r\n setShuffledRefs(newArray);\r\n };\r\n\r\n const spinAllCards = () => {\r\n const slotState = Object.assign({}, strengthCards);\r\n\r\n shuffledRefs.forEach((ref, index) => {\r\n if (!ref.current) return;\r\n const selected = triggerSlotRotation(ref.current, index, false);\r\n slotState[`card${index + 1}`].cardData = selected;\r\n });\r\n\r\n setStrengthCards(slotState);\r\n };\r\n\r\n const spinOnlyOneCard = () => {\r\n const refToShuffle = shuffledRefs[draggingCardIndex].current;\r\n\r\n if(!refToShuffle) return ;\r\n\r\n const selected = triggerSlotRotation(refToShuffle, draggingCardIndex, true);\r\n\r\n setStrengthCards({\r\n ...strengthCards,\r\n strengthCards: {\r\n [`card${draggingCardIndex + 1}`]: selected\r\n } \r\n });\r\n\r\n setDraggingCardIndex(-1);\r\n }\r\n\r\n const lockOtherCardsWhileOneCardIsSpinning = () => {\r\n lockCardTimeout.current = setTimeout(() => {\r\n setIsChoosingCardsLocked(false);\r\n }, 600);\r\n setIsChoosingCardsLocked(true);\r\n }\r\n\r\n const triggerSlotRotation = (element: HTMLDivElement, index: number, isSpinningOnlyOne: boolean) => {\r\n const options = element.children;\r\n if (isSpinningOnlyOne) {\r\n checkCardVerticalPositionBeforeAnimating(element, options, isSpinningOnlyOne, verticalCardIndexOfSelectedRow);\r\n lockOtherCardsWhileOneCardIsSpinning();\r\n }\r\n\r\n if (!isSpinningOnlyOne) {\r\n const choosenOption = options[index] as HTMLDivElement;\r\n setTopOfHtmlElementThroughStyle(element, -choosenOption.offsetTop, isSpinningOnlyOne);\r\n }\r\n \r\n return recievedStrengthCards[index];\r\n };\r\n\r\n const keepCard = useCallback((cardData: ICard) => {\r\n setDraggableCard(cardData);\r\n if (isConfirmSelectionClicked) return;\r\n }, [setDraggableCard, isConfirmSelectionClicked]);\r\n\r\n const renderRecievedCards = useMemo (() => {\r\n if (!recievedStrengthCards.length) return null;\r\n \r\n let cardAndVerticalIds: any[] = [];\r\n\r\n return (\r\n recievedStrengthCards.map((card: ICard, verticalIndex: number) => {\r\n\r\n cardAndVerticalIds.push({cardId: card.id || 0, verticalIndex: verticalIndex})\r\n setVerticalCardIdsAndTheirIndexes(cardAndVerticalIds);\r\n\r\n return(\r\n
\r\n keepCard(card)} />\r\n
\r\n )})\r\n );\r\n },[recievedStrengthCards, setVerticalCardIdsAndTheirIndexes, keepCard]);\r\n\r\n return(\r\n
\r\n
\r\n {Array.apply(null, Array(5)).map( (_item: any, index: number) => {\r\n return(\r\n
\r\n {\r\n setIsStrengthCardCurrentlyDragged(true);\r\n setDraggingCardIndex(index);\r\n \r\n }}\r\n onDragStop={ () => {\r\n slotMachineRef.current?.dropedStrenghtCard();\r\n }}\r\n >\r\n
\r\n
shuffledRefs[index].current = el}>\r\n {renderRecievedCards}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {index !== 4 &&
}\r\n
\r\n );\r\n }) }\r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default SlotMachineSpinner;","import { FC, useContext, useEffect, useRef } from \"react\";\r\nimport { SocketContext, TeamContext, UserContext } from \"../../../context\";\r\nimport { Loader } from \"../../atoms\";\r\nimport { ReJoinTheGame, SlotMachineHeader, SlotMachineNotification } from \"../../molecules\";\r\nimport { SlotMachineRefObject } from \"../../molecules/SlotMachine/SlotMachineChosenCardHolder\";\r\nimport MidGameWaitingRoom from \"./MidGameWaitingRoom\";\r\nimport SlotMachineChosenCardHolderDemo from \"./SlotMachineChosenCardHolderDemo\";\r\nimport SlotMachineSpinnerDemo from \"./SlotMachineSpinnerDemo\";\r\n\r\nconst SlotMachineDemo : FC<{}> = () => {\r\n let slotMachineRef = useRef(null);\r\n const { teamNumber, game} = useContext(TeamContext);\r\n const { socket } = useContext(SocketContext);\r\n const { userData } = useContext(UserContext);\r\n const email = localStorage[\"userEmailInCaseHeLogsOut\"]; \r\n const windowLocationHref = window.location.href;\r\n const urlPathChunks = windowLocationHref.split(\"/\");\r\n const urlTokenExtracted = urlPathChunks[urlPathChunks.length-1];\r\n\r\n\r\n return (\r\n
\r\n {teamNumber && \r\n
\r\n {(!teamNumber || !userData) && !game ?\r\n
\r\n \r\n \r\n
\r\n :\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n}\r\n
\r\n \r\n}\r\n
\r\n )\r\n\r\n}\r\n\r\nexport default SlotMachineDemo;","import React, { useContext, useState, useEffect, forwardRef, useImperativeHandle, useCallback } from \"react\";\r\nimport { CardContext, SlotMachineContext } from \"../../../context\";\r\nimport whiteArrow from \"../../../assets/icons/white_arrow.svg\";\r\nimport { FrontSide, MainButton } from \"../../atoms\";\r\nimport { ICard } from \"../../../interfaces\";\r\nimport { useWindowDimensions, useSound } from \"../../../hooks\";\r\nimport { CardType } from \"../../../util/enums\";\r\nimport PdfIndex from \"../../molecules/Statistics/Pdf/PdfIndex\";\r\nimport CreateUserInputGeneric from \"../../molecules/LogIn/CreateUserMolecule/CreateUserInputGeneric\";\r\nimport { validateEmail } from \"../../molecules/LogIn/helpers\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport axios from \"axios\";\r\n\r\nexport interface SlotMachineRefObject {\r\n dropedStrenghtCard(): void;\r\n}\r\n\r\nconst SlotMachineChosenCardHolder = forwardRef((_props: {}, ref: React.Ref) => {\r\n useImperativeHandle(ref, () => ({ dropedStrenghtCard }));\r\n\r\n const { t } = useTranslation();\r\n const { draggableCard, setIsStrengthCardCurrentlyDragged } = useContext(CardContext);\r\n const {\r\n setConfirmSelectionDisabled,\r\n setLastDroppedCard,\r\n isConfirmSelectionClicked,\r\n verticalCardIndexOfSelectedRow,\r\n verticalCardIdsAndTheirIndexes,\r\n setAddStrengthCardDemo,\r\n generateFiveNewStrengthCardsManually,\r\n setGenerateFiveNewStrengthCardsManually,\r\n } = useContext(SlotMachineContext);\r\n\r\n const [chosenStrengthCard, setChosenStrengthCard] = useState<(ICard | undefined)[]>(new Array(5));\r\n const { width } = useWindowDimensions();\r\n const [selectedIndex, setSelectedIndex] = useState(null);\r\n const { playSound } = useSound();\r\n const demoCard: ICard = {\r\n type: CardType.STRENGTH,\r\n description: \"0\",\r\n id: 1111,\r\n };\r\n const [userEmail, setUserEmail] = useState(\"\");\r\n const [emailInputMessage, setEmailInputMessage] = useState(\"\");\r\n const emailHandler: Function = (value: string) => {\r\n if (!validateEmail(userEmail)) {\r\n setEmailInputMessage(t(\"yourEmailAddressIsNotValiedText\"));\r\n return false;\r\n }\r\n\r\n if (userEmail.length > 50) {\r\n setEmailInputMessage(t(\"thisEmailIsTooLongText\"));\r\n return false;\r\n }\r\n\r\n setEmailInputMessage(\"\");\r\n return true;\r\n };\r\n\r\n const handleOnChange: Function = (fieldName: string, value: string) => {\r\n if (fieldName === \"email\") setUserEmail(value);\r\n emailHandler();\r\n };\r\n\r\n const simulateGenerationOfNewStrengthCards = () => {\r\n setGenerateFiveNewStrengthCardsManually(!generateFiveNewStrengthCardsManually);\r\n };\r\n\r\n const numberOfPopulatedCards = useCallback(() => {\r\n return chosenStrengthCard.filter((card) => card !== undefined).length;\r\n }, [chosenStrengthCard]);\r\n\r\n useEffect(() => {\r\n if (numberOfPopulatedCards() === 5 && !isConfirmSelectionClicked && userEmail != \"\" && emailInputMessage == \"\")\r\n return setConfirmSelectionDisabled(false);\r\n\r\n return setConfirmSelectionDisabled(true);\r\n }, [chosenStrengthCard, setConfirmSelectionDisabled, userEmail, emailInputMessage, numberOfPopulatedCards, isConfirmSelectionClicked]);\r\n\r\n const isCardChoosen = (draggableCard: any) => {\r\n return chosenStrengthCard.filter((card) => {\r\n if (card) return card.description === draggableCard.description;\r\n return false;\r\n }).length;\r\n };\r\n\r\n const dropedStrenghtCard = () => {\r\n if (selectedIndex === null) return;\r\n\r\n if (isCardChoosen(draggableCard)) {\r\n return;\r\n }\r\n\r\n if (draggableCard) {\r\n if (numberOfPopulatedCards() < 5) {\r\n simulateGenerationOfNewStrengthCards();\r\n\r\n const copyOfChoosen: ICard[] = [];\r\n const choosenCards = Object.assign(copyOfChoosen, chosenStrengthCard);\r\n\r\n if (choosenCards[selectedIndex]) return;\r\n\r\n choosenCards[selectedIndex] = draggableCard;\r\n\r\n setChosenStrengthCard(choosenCards);\r\n setAddStrengthCardDemo({ id: draggableCard?.id || 1111, description: draggableCard?.description || \"\" });\r\n\r\n verticalCardIndexOfSelectedRow.current = verticalCardIdsAndTheirIndexes?.find((card: any) => draggableCard.id === card.cardId)?.verticalIndex;\r\n setLastDroppedCard(draggableCard);\r\n }\r\n }\r\n setIsStrengthCardCurrentlyDragged(false);\r\n };\r\n\r\n const removeChosenCard = (index: number) => {\r\n const copyOfChoosen: (ICard | undefined)[] = [];\r\n const choosenCards = Object.assign(copyOfChoosen, chosenStrengthCard);\r\n\r\n setSelectedIndex(null);\r\n choosenCards[index] = undefined;\r\n setChosenStrengthCard(choosenCards);\r\n playSound(\"/sounds/CloseCard.mp3\");\r\n\r\n return setConfirmSelectionDisabled(true);\r\n };\r\n\r\n const draggedStrengthCardsFields = (index: number) => {\r\n return (\r\n setSelectedIndex(index)}\r\n onMouseLeave={() => setSelectedIndex(null)}\r\n className=\"drop_container__content center_horizontally_and_vertically\"\r\n style={{ minHeight: width * 0.155, minWidth: width * 0.118 }}>\r\n {chosenStrengthCard[index] && !isConfirmSelectionClicked && (\r\n
removeChosenCard(index)}>\r\n {\" \"}\r\n
\r\n )}\r\n {chosenStrengthCard[index] && }\r\n
\r\n );\r\n };\r\n\r\n const SlotMachineChosenCards = () => {\r\n return Array.apply(null, Array(5)).map((_item: any, index: number) => {\r\n return (\r\n
\r\n
\r\n {\" \"}\r\n
{\" \"}\r\n
\r\n
{draggedStrengthCardsFields(index)}
\r\n
\r\n );\r\n });\r\n };\r\n\r\n const downloadClick = () => {\r\n const emailCheck = emailHandler();\r\n if (emailCheck && userEmail.length > 0) {\r\n axios\r\n .post(process.env.REACT_APP_ADMIN_BACKEND_URL + \"api/questionary\", {\r\n email: userEmail,\r\n cards: chosenStrengthCard,\r\n })\r\n .catch((err) => console.error(err));\r\n } else return false;\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {SlotMachineChosenCards()}\r\n
\r\n
\r\n
\r\n\r\n
\r\n handleOnChange(type, value)}\r\n validateInputs={() => emailHandler()}\r\n />\r\n
\r\n {(numberOfPopulatedCards() < 5 || userEmail == \"\" || emailInputMessage != \"\") && (\r\n
\r\n console.log()} disabled={true} />\r\n
\r\n \"white\r\n
\r\n
\r\n )}\r\n\r\n {numberOfPopulatedCards() > 4 && emailInputMessage == \"\" && userEmail != \"\" && (\r\n \r\n \r\n
\r\n \"white\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n});\r\n\r\nexport default SlotMachineChosenCardHolder;\r\n","import { useCallback, useContext, useEffect, useRef, useState } from \"react\";\r\nimport { SlotMachineContext, SocketContext } from \"../../../context\";\r\nimport { ICard } from \"../../../interfaces\";\r\nimport strengthCards from \"./strengthCardsData.json\";\r\n\r\nconst useStrengthCardsDemo = () : [ICard[]] => {\r\n const { randomOneStrengthCardSocketOn, newRandomStrengthCard } = useContext(SocketContext);\r\n const { lastDroppedCard, allStrengthCardsIdsState, generateFiveNewStrengthCardsManually, addStrengthCardDemo } = useContext(SlotMachineContext);\r\n const [recievedStrengthCards, setRecievedStrengthCards] = useState([]);\r\n const [allStrengthCards] = useState(strengthCards);\r\n const [currentFiveStrengthCards, setCurrentFiveStrengthCards] = useState([]);\r\n const isFirstTimeRendering = useRef(true);\r\n const randomNumbersForStrengthCardsId = useRef([]);\r\n\r\n useEffect(() => {\r\n\r\n let isTheSelectedNumberNew : boolean = true;\r\n let randomNumber: number = 0;\r\n\r\n while(isTheSelectedNumberNew){\r\n randomNumber = Math.floor(Math.random() * allStrengthCards.length);\r\n isTheSelectedNumberNew = randomNumbersForStrengthCardsId.current.includes(randomNumber);\r\n }\r\n\r\n let oldArrayWithOneRefreshedElement = currentFiveStrengthCards.map( (card: any) => {\r\n if (card?.id === addStrengthCardDemo?.id)\r\n return allStrengthCards[randomNumber];\r\n \r\n return card; \r\n })\r\n\r\n setCurrentFiveStrengthCards(oldArrayWithOneRefreshedElement);\r\n }, [addStrengthCardDemo]);\r\n\r\n useEffect(() =>{\r\n createStrengthCardListWithICardType(currentFiveStrengthCards);\r\n }, [currentFiveStrengthCards]);\r\n\r\n useEffect(() => {\r\n randomOneStrengthCardSocketOn();\r\n }, [randomOneStrengthCardSocketOn]);\r\n\r\n const createStrengthCardListWithICardType = useCallback((data: any) => {\r\n let allStrengthCardsIds : any[] = [];\r\n const recievedCard: any[] = data.map((item: any) => {\r\n\r\n allStrengthCardsIds.push(item?.id || 0);\r\n\r\n return {\r\n backImagePath: \"\",\r\n description: item?.description || \"\",\r\n info: item?.information || \"x\",\r\n id: item?.id || 0,\r\n type: \"StrengthCard\"\r\n }\r\n });\r\n\r\n allStrengthCardsIdsState.current = allStrengthCardsIds;\r\n setRecievedStrengthCards(recievedCard);\r\n }, [allStrengthCardsIdsState])\r\n\r\n const generateRandomUniqueFiveNumbers = () => {\r\n var fiveRandomUniqueNumbers = [];\r\n let numberOfStrengthCardsInSlotMachine = 5;\r\n\r\n while(fiveRandomUniqueNumbers.length < numberOfStrengthCardsInSlotMachine){\r\n var r = Math.floor(Math.random() * allStrengthCards.length);\r\n if(fiveRandomUniqueNumbers.indexOf(r) === -1) fiveRandomUniqueNumbers.push(r);\r\n }\r\n return fiveRandomUniqueNumbers;\r\n }\r\n\r\n const setNewFiveStrenghtCards = useCallback(() => {\r\n randomNumbersForStrengthCardsId.current = generateRandomUniqueFiveNumbers();\r\n\r\n const firstIndex : number = randomNumbersForStrengthCardsId.current[0] | 0;\r\n const secondIndex : number = randomNumbersForStrengthCardsId.current[1] | 0;\r\n const thirdIndex : number = randomNumbersForStrengthCardsId.current[2] | 0;\r\n const fourthIndex : number = randomNumbersForStrengthCardsId.current[3] | 0;\r\n const fifthIndex : number = randomNumbersForStrengthCardsId.current[4] | 0;\r\n\r\n let fiveRandomlyGeneratedUsersFromTheBigArray = [\r\n allStrengthCards[firstIndex],\r\n allStrengthCards[secondIndex],\r\n allStrengthCards[thirdIndex],\r\n allStrengthCards[fourthIndex],\r\n allStrengthCards[fifthIndex]\r\n \r\n ]\r\n setCurrentFiveStrengthCards(fiveRandomlyGeneratedUsersFromTheBigArray);\r\n createStrengthCardListWithICardType(fiveRandomlyGeneratedUsersFromTheBigArray);\r\n }, [createStrengthCardListWithICardType]);\r\n\r\n useEffect(() => { //when lever is pulled\r\n setNewFiveStrenghtCards();\r\n }, [generateFiveNewStrengthCardsManually, setNewFiveStrenghtCards]);\r\n\r\n if (isFirstTimeRendering.current) { // initial\r\n setNewFiveStrenghtCards();\r\n isFirstTimeRendering.current = false;\r\n }\r\n\r\n useEffect( () => {\r\n let allStrengthCardsIds : any[] = [];\r\n \r\n const newArray = recievedStrengthCards.map( (card: any ) => { \r\n\r\n if(card.id === lastDroppedCard?.id){\r\n allStrengthCardsIds.push(lastDroppedCard?.id || 0);\r\n return {\r\n backImagePath: \"\",\r\n description: newRandomStrengthCard?.description,\r\n id: newRandomStrengthCard?.id,\r\n info: newRandomStrengthCard?.information,\r\n type: \"StrengthCard\"\r\n }\r\n }\r\n\r\n allStrengthCardsIds.push(card.id);\r\n return card;\r\n });\r\n\r\n allStrengthCardsIdsState.current = allStrengthCardsIds;\r\n setRecievedStrengthCards(newArray);\r\n // No cards will be shown in slot machine \r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [newRandomStrengthCard]);\r\n\r\n return [recievedStrengthCards];\r\n}\r\n\r\nexport default useStrengthCardsDemo;","import { useCallback, useContext, useEffect, useMemo, useRef, useState } from \"react\";\r\nimport { Rnd } from \"react-rnd\";\r\nimport { CardContext, SlotMachineContext } from \"../../../context\";\r\nimport { useWindowDimensions, useSound } from \"../../../hooks\";\r\nimport { ICard, ISlotMachineSpinner, SlotMachineState } from \"../../../interfaces\";\r\nimport { CardType } from \"../../../util/enums\";\r\nimport { CardSlotMachine } from \"../../atoms\";\r\nimport { checkCardVerticalPositionBeforeAnimating, setTopOfHtmlElementThroughStyle } from \"../../molecules/SlotMachine/helpers/index\";\r\nimport SlotMachineSpinButton from \"../../molecules/SlotMachine/SlotMachineSpinButton\";\r\nimport useStrengthCards from \"./useStrengthCardsDemoData\";\r\n\r\nconst SlotMachineSpinner = (props: ISlotMachineSpinner) => {\r\n const { slotMachineRef } = props;\r\n\r\n const { setDraggableCard, setIsStrengthCardCurrentlyDragged } = useContext(CardContext);\r\n const { \r\n isConfirmSelectionClicked, \r\n verticalCardIndexOfSelectedRow, \r\n setVerticalCardIdsAndTheirIndexes,\r\n } = useContext(SlotMachineContext);\r\n\r\n const [draggingCardIndex, setDraggingCardIndex] = useState(-1);\r\n const [isChoosingCardsLocked, setIsChoosingCardsLocked] = useState(false);\r\n const lockCardTimeout = useRef();\r\n const [recievedStrengthCards] = useStrengthCards();\r\n\r\n \r\n const [shuffledRefs, setShuffledRefs] = useState(\r\n [useRef(null),\r\n useRef(null),\r\n useRef(null),\r\n useRef(null),\r\n useRef(null)]\r\n );\r\n const [strengthCards, setStrengthCards] = useState({\r\n card1: { cardData: undefined },\r\n card2: { cardData: undefined },\r\n card3: { cardData: undefined },\r\n card4: { cardData: undefined },\r\n card5: { cardData: undefined }\r\n });\r\n\r\n const { width } = useWindowDimensions();\r\n const {playSound} = useSound();\r\n\r\n useEffect(() => {\r\n if (recievedStrengthCards.length)\r\n playSound(\"/sounds/slotSpin.mp3\");\r\n }, [playSound, recievedStrengthCards])\r\n\r\n \r\n useEffect(() => {\r\n if (recievedStrengthCards.length && !(draggingCardIndex+1) ) {\r\n shuffleRecievedCards();\r\n spinAllCards();\r\n } \r\n // if I add \"draggingCardIndex\" all the cards will shuffle instead of suffling only one (the selected one)\r\n // shuffleRecievedCards - has to be transform into callback, and then it will need its dependancies\r\n // spinAllCards - has to be transform into callback, and then it will need its dependancies\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [recievedStrengthCards]);\r\n \r\n // useEffect(() => {\r\n // if (recievedStrengthCards.length && (draggingCardIndex+1) ){\r\n // // simulateGenerationOfNewStrengthCards();\r\n // console.log(\"ONEEESPINININIIN\");\r\n \r\n // spinOnlyOneCard();\r\n // }\r\n // // if I add \"draggingCardIndex\" all the cards will shuffle instead of suffling only one (the selected one)\r\n // // spinOnlyOneCard - has to be transform into callback, and then it will need its dependancies\r\n // // eslint-disable-next-line react-hooks/exhaustive-deps\r\n // }, [recievedStrengthCards]);\r\n\r\n // console.log('recievedStrengthCards', recievedStrengthCards)\r\n\r\n useEffect(() => {\r\n return () => {\r\n if(lockCardTimeout.current)\r\n clearTimeout(lockCardTimeout.current);\r\n }\r\n }, []);\r\n\r\n const shuffleRecievedCards = () => {\r\n const newArray = shuffledRefs;\r\n\r\n for (let i = newArray.length - 1; i > 0; i--) {\r\n const j = Math.floor(Math.random() * (i + 1));\r\n [newArray[i], newArray[j]] = [newArray[j], newArray[i]];\r\n }\r\n\r\n setShuffledRefs(newArray);\r\n };\r\n\r\n const spinAllCards = () => {\r\n const slotState = Object.assign({}, strengthCards);\r\n\r\n shuffledRefs.forEach((ref, index) => {\r\n if (!ref.current) return;\r\n const selected = triggerSlotRotation(ref.current, index, false);\r\n slotState[`card${index + 1}`].cardData = selected;\r\n });\r\n\r\n setStrengthCards(slotState);\r\n };\r\n\r\n const spinOnlyOneCard = () => {\r\n const refToShuffle = shuffledRefs[draggingCardIndex].current;\r\n\r\n if(!refToShuffle) return ;\r\n\r\n const selected = triggerSlotRotation(refToShuffle, draggingCardIndex, true);\r\n\r\n setStrengthCards({\r\n ...strengthCards,\r\n strengthCards: {\r\n [`card${draggingCardIndex + 1}`]: selected\r\n } \r\n });\r\n\r\n setDraggingCardIndex(-1);\r\n }\r\n\r\n const lockOtherCardsWhileOneCardIsSpinning = () => {\r\n lockCardTimeout.current = setTimeout(() => {\r\n setIsChoosingCardsLocked(false);\r\n }, 600);\r\n setIsChoosingCardsLocked(true);\r\n }\r\n\r\n const triggerSlotRotation = (element: HTMLDivElement, index: number, isSpinningOnlyOne: boolean) => {\r\n const options = element.children;\r\n if (isSpinningOnlyOne) {\r\n checkCardVerticalPositionBeforeAnimating(element, options, isSpinningOnlyOne, verticalCardIndexOfSelectedRow);\r\n lockOtherCardsWhileOneCardIsSpinning();\r\n }\r\n\r\n if (!isSpinningOnlyOne) {\r\n const choosenOption = options[index] as HTMLDivElement;\r\n setTopOfHtmlElementThroughStyle(element, -choosenOption.offsetTop, isSpinningOnlyOne);\r\n }\r\n \r\n return recievedStrengthCards[index];\r\n };\r\n\r\n const keepCard = useCallback((cardData: ICard) => {\r\n setDraggableCard(cardData);\r\n if (isConfirmSelectionClicked) return;\r\n }, [setDraggableCard, isConfirmSelectionClicked]);\r\n\r\n const renderRecievedCards = useMemo (() => {\r\n if (!recievedStrengthCards.length) return null;\r\n \r\n let cardAndVerticalIds: any[] = [];\r\n\r\n return (\r\n recievedStrengthCards.map((card: ICard, verticalIndex: number) => {\r\n\r\n cardAndVerticalIds.push({cardId: card.id || 0, verticalIndex: verticalIndex})\r\n setVerticalCardIdsAndTheirIndexes(cardAndVerticalIds);\r\n\r\n return(\r\n
\r\n keepCard(card)} />\r\n
\r\n )})\r\n );\r\n },[recievedStrengthCards, setVerticalCardIdsAndTheirIndexes, keepCard]);\r\n\r\n return(\r\n
\r\n
\r\n {Array.apply(null, Array(5)).map( (_item: any, index: number) => {\r\n return(\r\n
\r\n {\r\n setIsStrengthCardCurrentlyDragged(true);\r\n // setDraggingCardIndex(index);\r\n \r\n }}\r\n onDragStop={ () => {\r\n slotMachineRef.current?.dropedStrenghtCard();\r\n }}\r\n >\r\n
\r\n
shuffledRefs[index].current = el}>\r\n {renderRecievedCards}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {index !== 4 &&
}\r\n
\r\n );\r\n }) }\r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default SlotMachineSpinner;\r\n","import { FC, useContext, useEffect, useRef } from \"react\";\r\nimport { SocketContext, TeamContext } from \"../../../context\";\r\nimport { getUrlTokenExtracted } from \"../../../context/helpers\";\r\nimport { ArrowJumpingInStraightLine } from \"../../atoms\";\r\nimport { SlotMachineHeader, SlotMachineNotification } from \"../../molecules\";\r\nimport { SlotMachineRefObject } from \"../../molecules/SlotMachine/SlotMachineChosenCardHolder\";\r\nimport SlotMachineChosenCardHolderDemoData from \"./SlotMachineChosenCardHolderDemoData\";\r\nimport SlotMachineSpinnerDemoData from \"./SlotMachineSpinnerDemoData\";\r\n\r\nconst SlotMachineDemoData : FC<{}> = () => {\r\n let slotMachineRef = useRef(null);\r\n const { teamNumber, game} = useContext(TeamContext);\r\n const { socket } = useContext(SocketContext);\r\n const { roomUsers } = useContext(TeamContext);\r\n const email = localStorage[\"userEmailInCaseHeLogsOut\"]; \r\n\r\n const reconnect = () => {\r\n socket?.emit(\"reconnection\", {email: email, matchId: getUrlTokenExtracted()});\r\n roomUsers();\r\n }\r\n\r\n useEffect( () => {\r\n roomUsers();\r\n }, [roomUsers])\r\n\r\n useEffect( () => {\r\n if(!game) {\r\n reconnect();\r\n }\r\n }, [game])\r\n\r\n return (\r\n
\r\n {teamNumber && \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n }\r\n
\r\n )\r\n\r\n}\r\n\r\nexport default SlotMachineDemoData;","import { FC } from \"react\";\r\n\r\nimport { PostMatchSurveyMolecule } from \"../../molecules\"\r\nimport logoUppiness from \"../../../assets/icons/logoUppiness.svg\"\r\nimport { CornerCirclesBackground } from \"../../atoms\";\r\n\r\nconst PostMatchSurvey: FC<{}> = () => {\r\n\r\n return (\r\n \r\n
\r\n \"Uppiness\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default PostMatchSurvey;","import { StatisticsMolecule } from \"../../molecules\"\r\nimport logoUppiness from \"../../../assets/icons/logoUppiness.svg\";\r\nimport \"./Statistics.scss\"\r\nimport { MuteButton } from \"../../atoms\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst Statistics = () => {\r\n const { t } = useTranslation();\r\n\r\n return (\r\n
\r\n \r\n
\r\n \"Uppiness\r\n
\r\n
{t(\"congratulationsText\")}
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Statistics;","import { FC, useContext, } from \"react\";\r\nimport { UserContext, TeamContext } from \"../../../../context\";\r\nimport { UploadProfileImage } from \"../../../atoms\";\r\n\r\nconst LobbyHeaderUserProfilePicture: FC<{}> = () => {\r\n const { userData } = useContext(UserContext);\r\n const { game } = useContext(TeamContext);\r\n const userColor = game?.players.find((player: any) => { return player.email === userData?.email })?.color || \"pink\";\r\n\r\n return (\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default LobbyHeaderUserProfilePicture;\r\n","export default __webpack_public_path__ + \"static/media/blue.72f41ab3.png\";","export default __webpack_public_path__ + \"static/media/green.955d15ec.png\";","export default __webpack_public_path__ + \"static/media/pink.8049b7f3.png\";","import { FC } from \"react\";\r\n\r\nimport { InitialScreenMolecule } from \"../../molecules\";\r\n\r\nimport blue from \"../../../assets/images/blue.png\";\r\nimport yellow from \"../../../assets/images/yellow.png\";\r\nimport green from \"../../../assets/images/green.png\";\r\nimport pink from \"../../../assets/images/pink.png\";\r\n\r\nconst InitialScreen: FC<{}> = () => {\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \"logo\"\r\n
\r\n
\r\n \"logo\"\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \"logo\"\r\n
\r\n
\r\n \"logo\"\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default InitialScreen;","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/PinkPlayerDanceMin.220752c9.png\";","export default __webpack_public_path__ + \"static/media/YellowPlayerDanceMin.95928f7e.png\";","export default __webpack_public_path__ + \"static/media/BluePlayerDanceMin.cc23d50f.png\";","export default __webpack_public_path__ + \"static/media/GreenPlayerDanceMin.4f6bdeff.png\";","import PinkPlayerDanceMin from \"../../../assets/avatars/avatarsDancing/PinkPlayerDanceMin.png\"\r\nimport YellowPlayerDanceMin from \"../../../assets/avatars/avatarsDancing/YellowPlayerDanceMin.png\"\r\nimport BluePlayerDanceMin from \"../../../assets/avatars/avatarsDancing/BluePlayerDanceMin.png\"\r\nimport GreenPlayerDanceMin from \"../../../assets/avatars/avatarsDancing/GreenPlayerDanceMin.png\"\r\nimport { FC } from \"react\"\r\n\r\ninterface ICelebrationAvatar {\r\n avatarColor: string;\r\n}\r\n\r\nconst CelebrationAvatar: FC = ({avatarColor}) => {\r\n \r\n const setAvatarColor = () => {\r\n switch(avatarColor){\r\n case \"pink\": \r\n return PinkPlayerDanceMin;\r\n case \"yellow\": \r\n return YellowPlayerDanceMin;\r\n case \"blue\": \r\n return BluePlayerDanceMin;\r\n case \"green\": \r\n return GreenPlayerDanceMin;\r\n }\r\n return \"\";\r\n }\r\n\r\n return (\r\n
\r\n\r\n
\r\n
\r\n \"Dancing\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default CelebrationAvatar;","import { useContext } from \"react\";\r\nimport { TeamContext, UserContext } from \"../../../context\";\r\nimport { IPlayer } from \"../../../interfaces\";\r\nimport { DilemmaOwnerAnouncementText } from \"../../molecules\";\r\nimport { ChosenDilemmaCard } from \"../../molecules/Board/subBoardComponents\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst ChosenDilemmaFullScreen = () => {\r\n const { t } = useTranslation();\r\n const { game } = useContext(TeamContext);\r\n const { userData } = useContext(UserContext);\r\n const dilemmaOwner = game?.players.find((player: IPlayer) => { return game.gameInfo.currentPlayerEmail === player.email });\r\n const dilemmaOwnerNickname = dilemmaOwner?.nickname || \"\";\r\n const isTheUserDilemaOwner = userData?.email === game?.gameInfo.currentPlayerEmail;\r\n const lowerTextProp: string = isTheUserDilemaOwner ? t(\"pleaseShareYourDilemmaAndReadItText\") : \"\";\r\n\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ChosenDilemmaFullScreen;","import { useProposedSolutionCards, useSound } from \"../../../hooks\";\r\nimport { PlayersSolutionCardsMolecule, Tipping } from \"../../molecules\";\r\nimport goldenCoinForCelebration from \"../../../assets/coins/goldenCoinForCelebration.svg\";\r\nimport { useContext } from \"react\";\r\nimport { SocketContext, TeamContext, UserContext } from \"../../../context\";\r\n\r\nconst ProposedSolutionCardsFullScreen = () => {\r\n const { game } = useContext(TeamContext); \r\n const { tipPlayerSocketEmit } = useContext(SocketContext);\r\n const { userData } = useContext(UserContext);\r\n const [proposedSolutionCardsArray] = useProposedSolutionCards();\r\n const {playSound} = useSound();\r\n\r\n const likeTheSolution = (tippedUserEmail: string) => {\r\n if(!tippedUserEmail) return;\r\n tipPlayerSocketEmit(tippedUserEmail);\r\n }\r\n\r\n return (\r\n
\r\n {proposedSolutionCardsArray.map((solutionCard: any, index: number) => {\r\n\r\n const cardDimentions = {width: `22vh`, height: `29vh`};\r\n\r\n if (!solutionCard) return
\r\n\r\n return (\r\n
\r\n
\r\n
{index+1}
\r\n
{solutionCard.player.nickname}
\r\n
\r\n
playSound(\"/sounds/ItemHover.mp3\")}>\r\n \r\n
\r\n
\r\n
likeTheSolution(solutionCard?.player?.email)}>\r\n
\r\n {game?.gameInfo.players[solutionCard.player.email]?.tipped[userData?.email || \"\"] ?\r\n
\r\n :\r\n \"golden\r\n }\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n )\r\n })}\r\n
\r\n );\r\n}\r\n\r\nexport default ProposedSolutionCardsFullScreen;","import { useContext } from \"react\";\r\nimport { SocketContext } from \"../../../context\";\r\nimport { useProposedSolutionCards, useSound } from \"../../../hooks\";\r\nimport { PlayersSolutionCardsMolecule } from \"../../molecules\";\r\n\r\nconst SolutionSelectedByDilemmaOwner = () => {\r\n const { theSolutionCardSelectedByDilemmaOwner } = useContext(SocketContext);\r\n const [proposedSolutionCardsArray] = useProposedSolutionCards();\r\n const {playSound} = useSound();\r\n const cardDimentions = {width: `30vh`, height: `40vh`};\r\n const solutionCardThatDilemmaPicked : any = proposedSolutionCardsArray.find((solutionCard: any) => theSolutionCardSelectedByDilemmaOwner === solutionCard?.card?.id );\r\n\r\n return(\r\n
playSound(\"/sounds/ItemHover.mp3\")} >\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default SolutionSelectedByDilemmaOwner;","import { WheelField, WheelValue } from \"../../../util/enums\";\r\n\r\nexport const TIMES_TO_SPIN = 10;\r\n\r\nexport const wheelFields: WheelField[] = [\r\n {\r\n id: \"1\",\r\n value: WheelValue.SEVEN,\r\n },\r\n {\r\n id: \"2\",\r\n value: WheelValue.FIVE,\r\n },\r\n {\r\n id: \"3\",\r\n value: WheelValue.FIFTEEN,\r\n },\r\n {\r\n id: \"4\",\r\n value: WheelValue.THREE,\r\n },\r\n {\r\n id: \"5\",\r\n value: WheelValue.FIVE,\r\n },\r\n {\r\n id: \"7\",\r\n value: WheelValue.ONE,\r\n },\r\n {\r\n id: \"6\",\r\n value: WheelValue.TEN,\r\n },\r\n {\r\n id: \"8\",\r\n value: WheelValue.NINE,\r\n },\r\n {\r\n id: \"9\",\r\n value: WheelValue.EIGHT,\r\n },\r\n {\r\n id: \"10\",\r\n value: WheelValue.SEVEN,\r\n },\r\n {\r\n id: \"11\",\r\n value: WheelValue.FOUR,\r\n },\r\n {\r\n id: \"12\",\r\n value: WheelValue.NINE,\r\n },\r\n {\r\n id: \"13\",\r\n value: WheelValue.TEN,\r\n },\r\n {\r\n id: \"14\",\r\n value: WheelValue.TWO,\r\n },\r\n {\r\n id: \"15\",\r\n value: WheelValue.THREE,\r\n },\r\n {\r\n id: \"16\",\r\n value: WheelValue.SIX,\r\n },\r\n];\r\n","import { WheelField, WheelValue } from \"../../../../util/enums\";\r\nimport { wheelFields } from \"../WheelOfFortune.constants\";\r\n\r\nconst getFieldsWithValue = (value: WheelValue): WheelField[] => {\r\n return wheelFields.filter(field => field.value === value);\r\n};\r\n\r\nexport default getFieldsWithValue;","import { WheelValue } from \"../../../../util/enums\";\r\nimport getFieldsWithValue from \"./getFieldsWithValue\";\r\nimport { calculateAngleFromField } from \"./index\";\r\n\r\nconst calculateAngleFromPrize = (spinNumber: number) => {\r\n switch (spinNumber) {\r\n case WheelValue.ONE:\r\n return calculateAngleFromField(getFieldsWithValue(WheelValue.ONE));\r\n case WheelValue.TWO:\r\n return calculateAngleFromField(getFieldsWithValue(WheelValue.TWO));\r\n case WheelValue.THREE:\r\n return calculateAngleFromField(getFieldsWithValue(WheelValue.THREE));\r\n case WheelValue.FOUR:\r\n return calculateAngleFromField(getFieldsWithValue(WheelValue.FOUR));\r\n case WheelValue.FIVE:\r\n return calculateAngleFromField(getFieldsWithValue(WheelValue.FIVE));\r\n case WheelValue.SIX:\r\n return calculateAngleFromField(getFieldsWithValue(WheelValue.SIX));\r\n case WheelValue.SEVEN:\r\n return calculateAngleFromField(getFieldsWithValue(WheelValue.SEVEN));\r\n case WheelValue.EIGHT:\r\n return calculateAngleFromField(getFieldsWithValue(WheelValue.EIGHT));\r\n case WheelValue.NINE:\r\n return calculateAngleFromField(getFieldsWithValue(WheelValue.NINE));\r\n case WheelValue.TEN:\r\n return calculateAngleFromField(getFieldsWithValue(WheelValue.TEN));\r\n default:\r\n return 0;\r\n }\r\n}\r\n\r\nexport default calculateAngleFromPrize ","import { WheelField } from \"../../../../util/enums\";\r\nimport { wheelFields } from \"../WheelOfFortune.constants\";\r\n\r\n\r\nconst calculateAngleFromField = (fieldsContainingPrize: WheelField[]): number => {\r\n const randomIndex = Math.floor(Math.random() * fieldsContainingPrize.length);\r\n const chosenField = fieldsContainingPrize[randomIndex];\r\n\r\n const chosenFieldOrder = wheelFields.findIndex(field => field.id === chosenField.id) + 1;\r\n\r\n return (360 / wheelFields.length) * chosenFieldOrder;\r\n}\r\n\r\nexport default calculateAngleFromField;","export default __webpack_public_path__ + \"static/media/spinWheel.60e48a36.svg\";","export default __webpack_public_path__ + \"static/media/spinWheelPin.a6d703f2.svg\";","import { FC, useCallback, useContext, useEffect, useRef, useState } from \"react\";\r\nimport { fabric } from 'fabric';\r\n\r\nimport { FabricContext, TeamContext, UserContext, SocketContext, CardContext, BoardContext } from \"../../../context\";\r\n\r\nimport { SpinWheelNotification, WheelHandle } from \"../../atoms\";\r\nimport { DilemmaOwnerCoinCelebration } from \"../../organisms\";\r\nimport { WheelOfFortuneHelper } from \"../../molecules\";\r\nimport { TIMES_TO_SPIN } from \"./WheelOfFortune.constants\";\r\nimport { IGame } from \"../../../interfaces\";\r\nimport { usePageVisibility, useSound } from \"../../../hooks\";\r\nimport { calculateAngleFromPrize } from \"./helpers/index\";\r\nimport { Phase } from \"../../../util/enums\";\r\n\r\nimport roulette from \"../../../assets/images/spinWheel.svg\";\r\nimport pin from \"../../../assets/images/spinWheelPin.svg\";\r\n\r\nconst WheelOfFortuneMolecule: FC<{}> = () => {\r\n const { startSpinSocketEvent, spinNumberSocketOn, spinNumberData, finishActionCardSocketEvent, } = useContext(SocketContext);\r\n const { canvas, initCanvas } = useContext(FabricContext);\r\n const { userData } = useContext(UserContext);\r\n const { setGameState, game } = useContext(TeamContext);\r\n const { setCurrentlyHoveredStrengthCard } = useContext(CardContext);\r\n const { isWheelSpinningDone, setIsWheelSpinningDone } = useContext(BoardContext);\r\n\r\n const [showConfeti, setShowConfeti] = useState(false);\r\n const [disabled, setDisabled] = useState(false);\r\n\r\n const windowLocationHref = window.location.href;\r\n const isSpectator : boolean = windowLocationHref.includes(\"spectator\");\r\n const choosenSolutionUserStyle: string = (game?.gameInfo.currentSpinOwner === userData?.email || isSpectator) ? \"\" : \"visibility_hidden\";\r\n \r\n const isTheUserSpinOwner = (userData?.email === game?.gameInfo.currentSpinOwner || isSpectator);\r\n const [isVisible] = usePageVisibility();\r\n const canvasRef = useRef(null);\r\n const currentTokenValue = useRef(0);\r\n const {playSound} = useSound();\r\n\r\n let timeForTheWheelToSpin = 2500;\r\n\r\n const formatElement = useCallback((objects: fabric.Object[], options: any, onComplete: (element: fabric.Object | fabric.Group) => void) => {\r\n if (!canvas) return;\r\n\r\n canvas.hoverCursor = \"default\";\r\n const canvasCenter = canvas.getCenter();\r\n const element = fabric.util.groupSVGElements(objects, options);\r\n element.set({\r\n left: canvasCenter.left,\r\n top: canvasCenter.top,\r\n originX: 'center',\r\n originY: 'center',\r\n scaleX: 0.8,\r\n scaleY: 0.8,\r\n lockMovementY: true,\r\n lockScalingX: true,\r\n lockScalingY: true,\r\n lockRotation: true,\r\n hasControls: element.hasBorders = false,\r\n objectCaching: false\r\n });\r\n onComplete(element);\r\n }, [canvas])\r\n\r\n const createPin = useCallback(() => {\r\n if (!canvas) return;\r\n\r\n const pinFullPath = process.env.REACT_APP_FRONTEND_URL!\r\n .toString()\r\n .concat(pin);\r\n const optionsOverride = { height: 400, id: \"pin\" };\r\n\r\n fabric.loadSVGFromURL(pinFullPath, (objects, options) => formatElement(objects, { ...options, ...optionsOverride }, (element) => {\r\n canvas.add(element);\r\n canvas.bringForward(element, true);\r\n canvas.renderAll();\r\n }));\r\n }, [canvas, formatElement])\r\n \r\n const createWheel = useCallback(() => {\r\n if (!canvas) return;\r\n\r\n const rouletteFullPath = process.env.REACT_APP_FRONTEND_URL!.toString().concat(roulette);\r\n\r\n fabric.loadSVGFromURL(rouletteFullPath, (objects, options) => formatElement(objects, { ...options, }, (element) => {\r\n canvas.add(element);\r\n canvas.setActiveObject(element);\r\n canvas.renderAll();\r\n\r\n createPin();\r\n }));\r\n }, [canvas, createPin, formatElement]);\r\n\r\n const checkBeforeCreateTheWheel = useCallback(() => {\r\n if (canvas && game?.phase === Phase.RENDER_SPIN_WHEEL)\r\n createWheel();\r\n }, [canvas, createWheel, game?.phase]);\r\n\r\n useEffect(() => {\r\n checkBeforeCreateTheWheel();\r\n }, [checkBeforeCreateTheWheel]);\r\n \r\n const setCanvasInitialValues = useCallback(() => {\r\n if (!canvas && !isWheelSpinningDone) {\r\n const localCanvas = new fabric.Canvas(\"wheel_canvas\", {\r\n preserveObjectStacking: true,\r\n width: 750,\r\n height: 750,\r\n selection: false\r\n });\r\n initCanvas(localCanvas);\r\n }\r\n }, [canvas, initCanvas, isWheelSpinningDone]);\r\n\r\n useEffect(() => {\r\n setCanvasInitialValues()\r\n }, [setCanvasInitialValues]);\r\n\r\n useEffect(() => {\r\n setCurrentlyHoveredStrengthCard(undefined)\r\n }, [setCurrentlyHoveredStrengthCard]);\r\n\r\n useEffect(() => {\r\n spinNumberSocketOn();\r\n });\r\n\r\n const dismantleTheSpinWheel = useCallback((gameObject: IGame) => {\r\n canvas?.getObjects().forEach((obj: any) => {\r\n if (obj.id !== \"coin\")\r\n canvas.remove(obj)\r\n })\r\n\r\n canvas?.discardActiveObject().renderAll();\r\n\r\n const timeout = setTimeout(() => {\r\n setIsWheelSpinningDone(false);\r\n setGameState(gameObject);\r\n finishActionCardSocketEvent();\r\n }, 4500);\r\n\r\n return () => clearTimeout(timeout);\r\n }, [canvas, finishActionCardSocketEvent, setGameState, setIsWheelSpinningDone]);\r\n\r\n const spinTheSpinWheel = useCallback((gameDataWithCoinToken: any) => {\r\n const angle = calculateAngleFromPrize(gameDataWithCoinToken.token) + 360 * TIMES_TO_SPIN;\r\n\r\n const object = canvas?.getActiveObject();\r\n\r\n object?.animate({ angle }, {\r\n onChange: canvas?.renderAll.bind(canvas),\r\n duration: timeForTheWheelToSpin,\r\n easing: fabric.util.ease.easeOutElastic,\r\n onComplete: () => {\r\n setIsWheelSpinningDone(true);\r\n setTimeout(() => {\r\n dismantleTheSpinWheel(gameDataWithCoinToken.state);\r\n }, 100)\r\n }\r\n });\r\n }, [canvas, dismantleTheSpinWheel, setIsWheelSpinningDone, timeForTheWheelToSpin]);\r\n\r\n const triggerEffects = useCallback(() => {\r\n if (isVisible && spinNumberData) {\r\n currentTokenValue.current = spinNumberData.token;\r\n spinTheSpinWheel(spinNumberData);\r\n playSound(\"/sounds/Spin2.mp3\");\r\n return;\r\n }\r\n // if I add \"isVisible\", then the WheelOfFortune will be waiting for me to back to the unactive tab, and just then will continuoue spinning, while all the other users moved on.\r\n // if I add \"spinTheSpinWheel\", then the function \"spinTheSpinWheel\" has to be with useCallback and even then spins endlessly\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [spinNumberData, playSound]);\r\n\r\n useEffect(() => {\r\n triggerEffects();\r\n }, [triggerEffects]); \r\n\r\n const spinWheel = () => {\r\n setDisabled(true);\r\n startSpinSocketEvent(game?.gameInfo.currentSpinOwner);\r\n }\r\n\r\n const checkShowConfetti = useCallback(() => {\r\n if (showConfeti) {\r\n const confTimeout = setTimeout(() => {\r\n setShowConfeti(false)\r\n }, 5000)\r\n\r\n return () => clearTimeout(confTimeout)\r\n }\r\n }, [showConfeti])\r\n\r\n useEffect(() => {\r\n checkShowConfetti();\r\n }, [checkShowConfetti]);\r\n\r\n const celebration = () => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n {!isWheelSpinningDone && }\r\n {isWheelSpinningDone && celebration()}\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {!isWheelSpinningDone && isTheUserSpinOwner &&\r\n spinWheel()}\r\n disabled={disabled}\r\n />\r\n }\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default WheelOfFortuneMolecule;","import React, { FC, useContext, useEffect, useState, } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\n\r\nimport { \r\n\tAvatars, \r\n\tChoosenSolutionCardsStatistics, \r\n\tFooter, \r\n\tPlayerImageAndUpScore, \r\n\tPostMatchSummaryMolecule, \r\n\tScoreboard, \r\n\tSolutionCardsStatistics, \r\n\tStrengthCardsStatistics\r\n} from \"..\";\r\n\r\nimport { BoardContext, CardContext, TeamContext } from \"../../../context\";\r\nimport { ArrowJumpingInStraightLine } from \"../../atoms\";\r\nimport PdfIndex from \"./Pdf/PdfIndex\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nexport interface IStatistics {\r\n\tstrengthStatistic: any;\r\n\tsolutionStatistic: any;\r\n\tplayerWithMostSolution: any;\r\n\tplayerWithMostUpper: any;\r\n\tteamLeaderBoard: any;\r\n\tchallengeCardsHistory: any;\r\n\tsolutionStatisticPerPlayer: any[];\r\n\tchosenSolutionCards: any[];\r\n\tplayerFeedback: any;\r\n}\r\n\r\nconst StatisticsMolecule: FC<{}> = () => {\r\n\tconst { t } = useTranslation();\r\n\tconst { setisGameInPostGamePhase } = useContext(BoardContext);\r\n\tconst { teamNumber } = useContext(TeamContext);\r\n\tconst { threeActions } = useContext(CardContext);\r\n\r\n\tconst history = useHistory();\r\n\r\n\tconst [recievedStatistics, setRecievedStatistics] = useState();\r\n\tconst [isStatisticsAlreadyDownloaded, setIsStatisticsAlreadyDownloaded] = useState(false);\r\n\tconst [pdfForEmail, setPdfForEmail] = useState();\r\n\t \r\n\tconst myEmail = localStorage[\"userEmailInCaseHeLogsOut\"];\r\n\tconst windowLocationHref = window.location.href;\r\n const urlPathChunks = windowLocationHref.split(\"/\");\r\n const urlTokenExtracted = urlPathChunks[urlPathChunks.length-1];\r\n\r\n\tuseEffect(() => {\r\n\t\tsetisGameInPostGamePhase(true);\r\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tlet data = {\r\n\t\t\tmatchId: urlTokenExtracted,\r\n\t\t\tgameId: urlTokenExtracted,\r\n\t\t\temail: myEmail,\r\n\t\t}\r\n\r\n\t\tfetch(process.env.REACT_APP_BACKEND_URL + \"api/post-games/statistic\", {\r\n\t\t\tmethod: 'POST',\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/json'\r\n\t\t\t},\r\n\t\t\tbody: JSON.stringify(data)\r\n\t\t})\r\n\t\t\t.then(res => res.json()).then(data => {\r\n\t\t\t\tsetRecievedStatistics(data);\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tconsole.error(err);\r\n\t\t\t});\r\n\r\n\t}, [urlTokenExtracted, myEmail, teamNumber]);\r\n\t\r\n const sendPdfToEmail = () => {\r\n if(pdfForEmail){\r\n const myEmail = localStorage[\"userEmailInCaseHeLogsOut\"];\r\n const formData = new FormData();\r\n \r\n formData.append(\"email\", myEmail);\r\n formData.append(\"statisticsPDF\", pdfForEmail); \r\n\t\t\tconst object = Object.fromEntries(formData)\r\n axios.post(\r\n process.env.REACT_APP_BACKEND_URL +\"api/post-games/send-summary-pdf\",\r\n formData,\r\n {headers: {\"Content-type\": \"multipart/form-data\"}}\r\n ).catch((err) => console.error(err) );\r\n\r\n\t\t\thistory.push( \"/goodbye/\" + urlTokenExtracted); \r\n }\r\n }\r\n\r\n\tconst findUserEmailFromTheObject = () => {\r\n\t\tif (!recievedStatistics) \r\n\t\t\treturn

;\r\n\r\n\t\tlet playerEmail = localStorage[\"userEmailInCaseHeLogsOut\"];\r\n\r\n\t\treturn recievedStatistics?.playerWithMostUpper.find((playerWithMostUpper: any) => playerWithMostUpper.email === playerEmail)?.email;\r\n\t}\r\n\r\n\tconst getPlayersFullNameBasedOnTheEmail = (playerEmail: string) => {\r\n\t\tconst currentUserFullName = recievedStatistics?.solutionStatisticPerPlayer.find((solutionStatisticsPerPlayer: any) => solutionStatisticsPerPlayer?.player?.email === playerEmail)?.player?.fullName;\r\n\t\tlocalStorage.setItem(\"currentUserFullName\", currentUserFullName);\r\n\t}\r\n\r\n\tif (!recievedStatistics)\r\n\t\treturn (
)\r\n\r\n\tlet myTeamNumber = recievedStatistics.solutionStatisticPerPlayer.find( (playerStatistics: any) => playerStatistics.player.email === myEmail).teamNumber;\r\n\t\r\n\treturn (\r\n\t\t \r\n\t\t\t{getPlayersFullNameBasedOnTheEmail(findUserEmailFromTheObject())}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t

{t(\"scoreBoardText\")}

\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t

{t(\"yourSolutionCardsThatDilemaOwnerChoseText\")}

\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t{/*