{"version":3,"sources":["config/i18n.js","translations/index.js","styles/theme/index.js","constants/routes.js","routes/Route.js","components/Button/styles.js","components/Button/index.js","components/Scrollbar/styles.js","components/Scrollbar/index.js","components/Image/styles.js","components/Image/index.js","constants/images.js","components/Form/styles.js","components/Form/index.js","components/Icon/library/FootballEventIcon.js","components/Icon/library/AvatarIcon.js","components/Icon/library/CalendarIcon.js","components/Icon/library/ChevronDownIcon.js","components/Icon/library/ChevronLeftIcon.js","components/Icon/library/ChevronRightIcon.js","components/Icon/library/ChevronUpIcon.js","components/Icon/library/IdCardIcon.js","components/Icon/library/LockIcon.js","components/Icon/library/MailIcon.js","components/Icon/library/PhonePortraitIcon.js","components/Icon/library/ResetIcon.js","components/Icon/library/StopwatchIcon.js","components/Icon/library/StopwatchWithBallIcon.js","components/Icon/library/FieldIcon.js","components/Icon/library/WeatherIcon.js","components/Icon/library/HumidityIcon.js","components/Icon/library/TemperatureIcon.js","components/Icon/library/CloseIcon.js","components/Icon/library/FootBallIcon.js","components/Icon/library/FootBallNegativeIcon.js","components/Icon/library/ClockIcon.js","components/Icon/library/FirstAidIcon.js","components/Icon/library/CardIcon.js","components/Icon/library/CopyIcon.js","components/Icon/library/StarIcon.js","components/Icon/library/DoubleArrowIcon.js","components/Icon/library/DownloadIcon.js","components/Icon/library/HeightIcon.js","components/Icon/library/DimensionsIcon.js","components/Icon/library/HardnessIcon.js","components/Icon/library/HibrydIcon.js","components/Icon/library/ProgramIcon.js","components/Icon/library/HibrydSystemIcon.js","components/Icon/library/GrassIcon.js","components/Icon/library/PrecipitationsIcon.js","components/Icon/library/ActsIcon.js","components/Icon/library/CountdownIcon.js","components/Icon/library/RefereeIcon.js","components/Icon/library/GrassStatusIcon.js","components/Icon/library/MatchSheetIcon.js","components/Icon/library/KitSelectorIcon.js","components/Icon/library/GoalIcon.js","components/Icon/library/LiveIcon.js","components/Icon/library/StatsIcon.js","components/Icon/library/InfoIcon.js","components/Icon/library/PreviousIcon.js","components/Icon/library/PlayerMiniShirtIcon.js","components/Icon/library/MenuIcon.js","components/Icon/library/GoalNetIcon.js","components/Icon/library/DoubleYellowIcon.js","components/Icon/library/YellowCardIcon.js","components/Icon/library/FootballShotIcon.js","components/Icon/library/RedCardIcon.js","components/Icon/library/InjurySubstitutionIcon.js","components/Icon/library/TacticalSubstitutionIcon.js","components/Icon/library/FileIcon.js","components/Icon/library/DotsIcon.js","components/Icon/library/DocumentIcon.js","components/Icon/library/OwnGoal.js","components/Icon/library/MissedPenalty.js","constants/icons.js","components/Icon/index.js","utils/renderWithProps.js","components/FoldedMenu/styles.js","components/FoldedMenu/index.js","components/Download/styles.js","components/Download/index.js","components/GridCell/styles.js","components/GridCell/index.js","components/Link/styles.js","components/Link/index.js","components/Table/styles.js","components/Table/index.js","components/NavigationBar/styles.js","components/NavigationBar/components/RouteContainer/styles.js","utils/mocks/match.js","store/modules/matches/actions.js","pages/Match/subpages/Previous/subpages/ArbitrationTeam/styles.js","context/HeaderContext/index.js","components/Tab/TabButton/styles.js","components/Tab/TabButton/index.js","components/Tab/TabBar/styles.js","components/Tab/TabBar/index.js","pages/Match/subpages/Previous/subpages/ArbitrationTeam/components/ArbitrationSection/styles.js","pages/Match/subpages/Previous/subpages/ArbitrationTeam/components/ArbitrationBlock/components/ArbitrationHeader/styles.js","pages/Match/subpages/Previous/subpages/ArbitrationTeam/components/ArbitrationBlock/components/ArbitrationHeader/index.js","pages/Match/subpages/Previous/subpages/ArbitrationTeam/components/ArbitrationBlock/components/ArbitrationMatches/styles.js","pages/Match/subpages/Previous/subpages/ArbitrationTeam/components/ArbitrationBlock/components/ArbitrationMatches/index.js","pages/Match/subpages/Previous/subpages/ArbitrationTeam/components/ArbitrationBlock/components/ArbitrationMatches/utils/tableStructure.js","pages/Match/subpages/Previous/subpages/ArbitrationTeam/components/ArbitrationBlock/styles.js","pages/Match/subpages/Previous/subpages/ArbitrationTeam/components/TeamBlock/styles.js","pages/Match/subpages/Previous/subpages/ArbitrationTeam/components/TeamBlock/index.js","pages/Match/subpages/Previous/subpages/ArbitrationTeam/components/ArbitrationBlock/index.js","pages/Match/subpages/Previous/subpages/ArbitrationTeam/components/ArbitrationAssistanceBlock/styles.js","pages/Match/subpages/Previous/subpages/ArbitrationTeam/components/ArbitrationAssistanceBlock/index.js","pages/Match/subpages/Previous/subpages/ArbitrationTeam/components/ArbitrationAssistanceBlock/utils/tableStructure.js","pages/Match/subpages/Previous/subpages/ArbitrationTeam/components/ArbitrationSection/index.js","pages/Match/subpages/Previous/subpages/ArbitrationTeam/responsive/propsValidation.js","store/modules/auth/actions.js","store/modules/auth/reducer.js","store/modules/filters/actions.js","store/modules/filters/reducer.js","store/modules/user/actions.js","store/modules/user/reducer.js","store/modules/matches/reducer.js","store/modules/rootReducer.js","config/history.js","config/tracking.js","store/modules/utils/index.js","store/modules/auth/sagas.js","store/modules/filters/sagas.js","store/modules/filters/utils/index.js","store/modules/user/sagas.js","store/modules/matches/sagas.js","store/modules/rootSaga.js","store/index.js","store/persistReducers.js","store/createStore.js","services/interceptors/token.js","services/api.js","utils/downloadFile.js","pages/Match/subpages/Previous/subpages/ArbitrationTeam/responsive/mobile.js","pages/Match/subpages/Previous/subpages/ArbitrationTeam/components/TeamsSection/styles.js","pages/Match/subpages/Previous/subpages/ArbitrationTeam/components/TeamsSection/index.js","pages/Match/subpages/Previous/subpages/ArbitrationTeam/responsive/desktop.js","pages/EmptyPage/styles.js","pages/EmptyPage/index.js","pages/Match/subpages/Previous/subpages/ArbitrationTeam/index.js","pages/Match/subpages/Previous/subpages/GrassStatus/styles.js","pages/Match/subpages/Previous/subpages/GrassStatus/components/GrassInfoColumn/styles.js","pages/Match/subpages/Previous/subpages/GrassStatus/components/GrassInfoColumn/index.js","pages/Match/subpages/Previous/subpages/GrassStatus/components/GrassInfoRow/styles.js","pages/Match/subpages/Previous/subpages/GrassStatus/components/GrassInfoRow/index.js","pages/Match/subpages/Previous/subpages/GrassStatus/responsive/propsValidation.js","pages/Match/subpages/Previous/subpages/GrassStatus/responsive/mobile.js","pages/Match/subpages/Previous/subpages/GrassStatus/responsive/desktop.js","pages/Match/subpages/Previous/subpages/GrassStatus/index.js","pages/Match/subpages/Previous/subpages/KitSelector/components/TeamBlock/styles.js","pages/Match/subpages/Previous/subpages/KitSelector/components/KitSection/styles.js","pages/Match/subpages/Previous/subpages/KitSelector/components/KitTeam/styles.js","pages/Match/subpages/Previous/subpages/KitSelector/components/InfoTitle/styles.js","pages/Match/subpages/Previous/subpages/KitSelector/components/InfoTitle/index.js","pages/Match/subpages/Previous/subpages/KitSelector/components/KitTeam/responsive/mobile.js","pages/Match/subpages/Previous/subpages/KitSelector/components/KitTeam/responsive/desktop.js","pages/Match/subpages/Previous/subpages/KitSelector/components/KitTeam/index.js","pages/Match/subpages/Previous/subpages/KitSelector/components/KitSection/index.js","pages/Match/subpages/Previous/subpages/KitSelector/components/TeamBlock/index.js","pages/Match/subpages/Previous/subpages/KitSelector/components/TeamsSection/styles.js","pages/Match/subpages/Previous/subpages/KitSelector/components/TeamsSection/index.js","pages/Match/subpages/Previous/subpages/KitSelector/responsive/propsValidation.js","pages/Match/subpages/Previous/subpages/KitSelector/responsive/mobile.js","pages/Match/subpages/Previous/subpages/KitSelector/styles.js","pages/Match/subpages/Previous/subpages/KitSelector/responsive/desktop.js","pages/Match/subpages/Previous/subpages/KitSelector/index.js","pages/Match/subpages/Previous/subpages/MatchSheet/styles.js","pages/Match/subpages/Previous/subpages/MatchSheet/components/TeamBlock/styles.js","pages/Match/subpages/Previous/subpages/MatchSheet/components/MatchTeam/styles.js","pages/Match/subpages/Previous/subpages/MatchSheet/components/SquadContent/styles.js","pages/Match/subpages/Previous/subpages/MatchSheet/components/SquadContent/index.js","pages/Match/subpages/Previous/subpages/MatchSheet/components/MatchTeam/responsive/mobile.js","pages/Match/subpages/Previous/components/Squad/styles.js","pages/Match/subpages/Previous/components/SquadContent/styles.js","pages/Match/subpages/Previous/components/SquadContent/index.js","pages/Match/subpages/Previous/subpages/MatchSheet/components/MatchTeam/responsive/desktop.js","pages/Match/subpages/Previous/subpages/MatchSheet/components/MatchTeam/index.js","pages/Match/subpages/Previous/subpages/MatchSheet/components/TeamBlock/index.js","pages/Match/subpages/Previous/subpages/MatchSheet/components/TeamsSection/styles.js","pages/Match/subpages/Previous/subpages/MatchSheet/components/TeamsSection/index.js","pages/Match/subpages/Previous/subpages/MatchSheet/responsive/propsValidation.js","pages/Match/subpages/Previous/subpages/MatchSheet/responsive/mobile.js","pages/Match/subpages/Previous/subpages/MatchSheet/responsive/desktop.js","pages/Match/subpages/Previous/subpages/MatchSheet/index.js","pages/Match/subpages/Previous/subpages/ProtocolCommercialActs/styles.js","pages/Match/subpages/Previous/subpages/ProtocolCommercialActs/utils/index.js","pages/Match/subpages/Previous/subpages/ProtocolCommercialActs/responsive/propsValidation.js","pages/Match/subpages/Previous/subpages/ProtocolCommercialActs/responsive/desktop.js","pages/Match/subpages/Previous/subpages/ProtocolCommercialActs/responsive/mobile.js","pages/Match/subpages/Previous/subpages/ProtocolCommercialActs/index.js","components/NavigationBar/components/RouteContainer/index.js","utils/mocks/apps.js","components/NavigationBar/components/TabBar/styles.js","components/NavigationBar/components/TabBar/index.js","components/NavigationBar/components/IconTabBar/styles.js","components/NavigationBar/components/IconTabBar/index.js","components/NavigationBar/index.js","components/PopUpView/styles.js","components/PopUpView/index.js","components/Filter/Select/styles.js","components/Filter/Select/components/CustomOption/styles.js","components/Filter/Select/components/CustomOption/index.js","components/Filter/Select/index.js","components/Filter/Picker/styles.js","components/Filter/Picker/index.js","components/InfoBlock/styles.js","components/InfoBlock/index.js","components/Timeline/styles.js","components/Timeline/utils/getEvent.js","components/Timeline/index.js","components/Responsive/index.js","utils/languageOptions.js","components/Form/Input/styles.js","components/Form/Input/index.js","utils/validateDNI.js","pages/EditUser/components/FormConfig.js","pages/EditUser/styles.js","pages/EditUser/index.js","pages/EditPassword/components/FormConfig.js","pages/EditPassword/styles.js","pages/EditPassword/index.js","components/Header/styles.js","components/Header/responsive/propsValidation.js","components/Header/responsive/mobile.js","components/Header/responsive/desktop.js","components/Header/index.js","components/AddLogoModalContent/styles.js","components/Form/Dropzone/styles.js","components/Form/Dropzone/index.js","components/AddLogoModalContent/index.js","components/SimpleHeader/styles.js","components/Spinner/styles.js","components/Spinner/index.js","components/DatesSlider/RoundItem/styles.js","components/DatesSlider/RoundItem/index.js","components/DatesSlider/CustomArrow/styles.js","components/DatesSlider/CustomArrow/index.js","components/DatesSlider/styles.js","components/DatesSlider/index.js","pages/Dashboard/components/DashboardFilters/styles.js","pages/Dashboard/components/DashboardFilters/responsive/propsValidation.js","pages/Dashboard/components/DashboardFilters/responsive/mobile.js","pages/Dashboard/components/DashboardFilters/responsive/desktop.js","pages/Dashboard/components/DashboardFilters/index.js","pages/Dashboard/components/DashboardContent/styles.js","pages/Dashboard/components/DashboardContent/index.js","pages/Dashboard/styles.js","pages/Dashboard/index.js","pages/Login/components/FormConfig.js","components/Form/Captcha/styles.js","components/Form/Captcha/index.js","static/browserWarning.js","components/BrowserWarningModal/styles.js","components/BrowserWarningModal/constants.js","components/BrowserWarningModal/index.js","components/BrowserWarningModal/hooks.js","pages/_layouts/DefaultLayout/styles.js","pages/_layouts/DefaultLayout/index.js","pages/Login/index.js","pages/NotFound/styles.js","pages/NotFound/index.js","pages/PasswordRecovery/components/FormConfig.js","pages/PasswordRecovery/index.js","components/Form/Select/styles.js","components/Form/Select/index.js","static/privacyPolicy.js","static/dataProtection.js","pages/Register/components/LegalTermsContent/styles.js","pages/Register/components/LegalTermsContent/index.js","pages/Register/components/FormConfig.js","pages/Register/index.js","pages/RegisterConfirmation/styles.js","pages/RegisterConfirmation/index.js","pages/Match/subpages/GlobalStatistics/responsive/propsValidation.js","pages/Match/subpages/GlobalStatistics/components/NameAndRole/styles.js","pages/Match/subpages/GlobalStatistics/components/NameAndRole/index.js","pages/Match/subpages/GlobalStatistics/components/CustomTd/index.js","pages/Match/subpages/GlobalStatistics/components/Tabs/index.js","pages/Match/subpages/GlobalStatistics/styles.js","pages/Match/subpages/GlobalStatistics/responsive/mobile.js","pages/Match/subpages/GlobalStatistics/responsive/desktop.js","utils/format.js","pages/Match/subpages/GlobalStatistics/utils/tableDataParser.js","pages/Match/subpages/GlobalStatistics/utils/index.js","pages/Match/subpages/GlobalStatistics/index.js","pages/Match/subpages/Previous/components/CourtDiagram/styles.js","pages/Match/subpages/Previous/components/CourtDiagram/index.js","pages/Match/subpages/Previous/components/Squad/index.js","pages/Match/subpages/Previous/components/Stats/styles.js","pages/Match/subpages/Previous/components/Stats/utils.js","pages/Match/subpages/Previous/components/Stats/index.js","pages/Match/subpages/Previous/responsive/propsValidation.js","pages/Match/subpages/Previous/components/Tabs/index.js","pages/Match/subpages/Previous/styles.js","pages/Match/subpages/Previous/responsive/mobile.js","pages/Match/subpages/Previous/responsive/desktop.js","pages/Match/subpages/Previous/index.js","pages/Match/subpages/Direct/components/clubStats/components/TableLegend/styles.js","pages/Match/subpages/Direct/components/clubStats/components/TableLegend/index.js","pages/Match/subpages/Direct/components/clubStats/styles.js","pages/Match/subpages/Direct/components/clubStats/index.js","pages/Match/subpages/Direct/components/Tabs/index.js","pages/Match/subpages/Direct/styles.js","pages/Match/subpages/Direct/responsive/propsValidation.js","pages/Match/subpages/Direct/responsive/mobile.js","pages/Match/subpages/Direct/responsive/desktop.js","pages/Match/subpages/Direct/utils/index.js","pages/Match/subpages/Direct/index.js","pages/Match/subpages/Information/components/InfoItem/styles.js","pages/Match/subpages/Information/components/InfoItem/index.js","pages/Match/subpages/Information/styles.js","pages/Match/subpages/Information/components/Score/styles.js","pages/Match/subpages/Information/components/Score/index.js","pages/Match/subpages/Information/index.js","pages/Match/components/subRoute/SubRouteSwitch.js","pages/Match/components/subRoute/styles.js","pages/Match/components/subRoute/SubRouteTabs.js","pages/Match/styles.js","pages/Match/responsive/mobile.js","pages/Match/components/MatchHeader.js","pages/Match/responsive/desktop.js","pages/Match/index.js","pages/PlayerInfo/components/PlayerHeader/styles.js","pages/PlayerInfo/components/PlayerHeader/index.js","pages/PlayerInfo/components/InfoBar/styles.js","pages/PlayerInfo/components/InfoBar/InfoBarItem.js","pages/PlayerInfo/components/InfoBar/index.js","pages/PlayerInfo/components/DataList/styles.js","pages/PlayerInfo/components/DataList/index.js","pages/PlayerInfo/styles.js","pages/PlayerInfo/index.js","pages/ChangePassword/components/FormConfig.js","pages/ChangePassword/index.js","pages/ConfirmCode/index.js","pages/PrivateDocuments/styles.js","pages/PrivateDocuments/components/Card/styles.js","pages/PrivateDocuments/components/Card/index.js","pages/PrivateDocuments/index.js","pages/Failure/styles.js","pages/Failure/index.js","pages/_layouts/PrivateLayout/responsive/propsValidation.js","pages/_layouts/PrivateLayout/styles.js","components/LockView/styles.js","components/LockView/index.js","pages/_layouts/PrivateLayout/responsive/mobile.js","pages/_layouts/PrivateLayout/responsive/desktop.js","pages/_layouts/PrivateLayout/index.js","pages/ErrorPage/styles.js","assets/images/index.js","pages/ErrorPage/index.js","pages/ErrorPage/utils.js","routes/index.js","styles/global.js","components/FallBack/index.js","App.js","index.js","assets/images/ErrorPageBall.png","assets/images/laliga-logo.png","assets/images/spinnerBeat.png","assets/images/ErrorPageBg.jpg"],"names":["i18n","use","initReactI18next","init","resources","es","translation","languageId","welcome","login","profile","register","television","showFilters","filters","lockText","radio","writtenOrDigitalPress","clubMedia","other","name","lastName","dni","email","mediaType","password","newPassword","telephone","cancel","yes","no","season","date","confirm","registerConfirmation","registerConfirmationMessage","sendEmailAgain","sendEmail","return","appName","appNameShort","changeLogo","logout","deleteLogo","arbiterTeam","kitSelector","grassStatus","matchSheet","protocolActs","commercials","commercial","protocolary","arbitrationTeam","countdown","goBackTo","next","accessAppInformation","apps","allFemale","all","club","competition","search","cleanFilters","noOptions","round","globalStatistics","previous","direct","passesCompleted","passesCompletedAbv","longPasses","longPassesAbv","shortPasses","shortPassesAbv","shots","shotsAbv","faults","faultsAbv","offsides","offsidesAbv","goal","goals","goalsAbv","ownGoal","recoveredBalls","recoveredBallsAbv","minutesPlayed","minutesPlayedAbv","totalTackle","totalTackleAbv","head_coach","second_coach","defender","midfielder","forward","minuteByMinute","events","matchStatistics","dashboard","local","localClub","peninsular","stadium","rainfall","humidity","temperature","accountValidated","activeAccount","weekday0","weekday1","weekday2","weekday3","weekday4","weekday5","weekday6","loading","mainReferee","shirt","shorts","socks","irrigationProgramBeforeWarming","irrigationProgramBeforeMatch","irrigationProgramDuringBreak","loginError","nameIsRequiredValidationError","lastNameIsRequiredValidationError","dniIsRequiredValidationError","emailIsRequiredValidationError","mediaNameIsRequiredValidationError","mediaTypeIsRequiredValidationError","telephoneIsRequiredValidationError","passwordIsRequiredValidationError","newPasswordIsRequiredValidationError","confirmPasswordIsRequiredValidationError","captchaIsRequiredValidationError","changeLogoError","editAccountError","editAccountSuccess","editPasswordError","editPasswordSuccess","fileTypeNotPermitted","mustChooseOption","mustHave2OrMoreLetters","mustHave3OrMoreLetters","mustHave15OrLessLetters","mustHave30OrLessLetters","mustHave50OrLessLetters","mustContainOnlyLetters","documentFormatInvalid","invalidEmail","emailIsRequired","properTelephoneSpanishFormat","mustPassCaptcha","policyIsRequiredValidationError","enterName","enterLastName","enterDNI","enterEmail","mediaNameLabel","enterMediaName","selectMediaType","enterMediaTypeDescription","enterTelephone","enterPassword","confirmPasswordLabel","confirmPassword","confirmNewPassword","submit","createAccount","editAccount","editPassword","profesionalAdvise","haveAccount","noHaveAccount","enterSmsCode","smsCodeNotification_part_1","smsCodeNotification_part_2","smsVerification","addLogo","addImage","loginIntoAccount","passwordRecovery","passwordIsRequired","passwordsMustMatch","smsCode","enterSMSCode","smsCodeValidationError","passwordFormatValidationError","finalize","dropzoneMessage1","dropzoneMessage2","changePassword","confirmationSuccessMessage","profileConditions","legalText1","legalTerms","and","privacyPolicy","legalText2","authFailed","registerFailed","passwordRecoverySuccess","passwordRecoveryFailed","faultsIndicated","resendEmailSuccess","resendEmailFailure","changePasswordSuccess","changePasswordFailure","dataFetchFailure","userActivated","namePosition","goalsNoKey","passes","recoveries","assists","stops","games","in","position","birthDate","birthPlace","height","weight","close","goalPenaltis","substitutions","shotsNoKey","yellowCards","yellowCard","redCards","redCard","doubleYellowCards","foulsReceivedMade","whistlesFouls","penaltiesIndicated","squad","stats","information","signaledPlayersAre","inTheCategorySignaled","inTheCategorySignaledMatch","offside","checkUrl","uncaughtError","goToWebsiteHome","report","matchReports","matchInfo","documentUnavailable","titulars","substitutes","alignment","trainer","globalStats","foundationYear","total_shots","total_faults","total_passes","possession_percentage","double_yellow_card","total_fouls_conceded","red_card_2nd_yellow","corners_won","total_successful_passes_excl_crosses_corners","total_shots_conceded","total_red_cards","won_matches","total_losses_of_possession","tied_matches","successful_corners_into_box","corner","red_cards","yellow_cards","total_passes_done","win_matches","total_possession_lost","lost_matches","tie_matches","corner_goals","total_shots_received","priorToBeginning","duringBreak","afterTheMatch","period","actType","description","observations","noObservations","totalWinnings","totalDraws","totalDefeats","arbitratedMatches","matchesWithReferees","debut","arbitrationCollege","total","equipment","referee","rol","time","kit","rolHome","rolAway","downloadKitDesignation","downloadRefereeDesignation","downloadGrassDesignation","downloadSheetDesignation","downloadActsDesignation","goalkeeper","player","countAcronim","meteorology","pitch","grass","president","officialWeb","relativeHumidity","precipitations","dimensions","floorTemperarure","floorHardness","grassType","grasshybrid","none","hybridSystem","grassHeight","grassProgram","clubStats","players","averageDistanceTraveled","totalDistancePerTeam","playerWithTheMostDistanceTraveled","live","emptySubtitleLive","realtime","times","activities","comments","dataProtectionTitle","privacyPolicyTitle","sessionExpired","emptyTitle","emptyTitleProtocol","emptySubtitle","emptySubtitleFullTime","emptySubtitleMatchRequest","privateAccess","azureFailure","missedPenalty","substitutionInjury","substitutionTactical","localAndVisitant","refereeMatches","backToHome","fallBackErrorTitle","fallBackErrordeDesc","en","total_passes_successfully","DownloadOfficialDesignation","lng","languages","default","getLanguage","window","navigator","language","split","fallbackLng","keySeparator","interpolation","escapeValue","theme","red","coral","blue","blueOpacity","blue2","blue2Opacity","turquoise","light","light2","light2Opacity","mainGrey","mainGreyOpacity","mainGreyMidOpacity","gray","gray2","gray3","gray4","gray5","dark","darkWithOpacity","darkWithLowOpacity","dark2","dark3","dark4","dark4MidOpacity","dark4Opacity","black","dark5","dark5Opacity","headerBlack","yellow","orange","white","green","whiteWithOpacity","whiteWithMidOpacity","blueWithOpacity","blue2WithOpacity","lightWithOpacity","grayWithOpacity","whiteWithLowOpacity","purple","success","danger","dangerLight","primaryFont","primaryFontMedium","primaryFontLight","primaryFontBold","primaryFontHead","primaryFontHeadBold","h1","h2","h3","h4","h5","headerTitle","title","button","paragraph","paragraphBig","paragraphMedium","paragraphSmall","label","shieldExtraBig","shieldBig","shieldMedium","shieldSmall","breakpoints","xs","sm","md","lg","xl","RouteWrapper","Component","component","routes","isPrivate","rest","signed","useSelector","state","auth","location","pathname","to","render","props","defaultProps","hasNavBar","Button","styled","ScrollBar","Scrollbar","Scroller","div","Wrapper","Track","Content","ScrollbarCustom","children","className","mobileNative","momentum","scrollerProps","renderer","elementRef","restProps","ref","wrapperProps","trackYProps","contentProps","Image","img","images","beat","process","beatWhite","court","logoBlackHorizontal","logoWhiteHorizontal","logoBlackVertical","logoWhiteVertical","logoLaligaSantanderBlack","horizontalHalfField","lockView","notFoundBackground","flags","personPlaceholder","playerPlaceholder","warning","FormContainer","width","maxWidth","Form","form","flex","columns","hasWidth","areas","hasHeight","ErrorMessage","p","shouldShow","forcePosition","FormHeader","Logo","vertical","FormTitle","FormSubtitle","ConfirmationSuccessMessage","SubmitButton","disabled","CancelButton","Advice","LoginZone","RegisterZone","Return","Aligner","checkboxText","map","FootballEventIcon","xmlns","viewBox","fill","fillRule","d","transform","AvatarIcon","size","color","CalendarIcon","ChevronDownIcon","points","ChevronLeftIcon","ChevronRightIcon","ChevronUpIcon","IdCardIcon","LockIcon","MailIcon","PhonePortraitIcon","ResetIcon","StopwatchIcon","StopwatchWithBallIcon","FieldIcon","WeatherIcon","HumidityIcon","TemperatureIcon","CloseIcon","FootBallIcon","FootBallNegativeIcon","ClockIcon","FirstAidIcon","CardIcon","x","y","CopyIcon","StarIcon","DoubleArrowIcon","DownloadIcon","HeightIcon","DimensionsIcon","HardnessIcon","HibrydIcon","ProgramIcon","HibrydSystemIcon","GrassIcon","PrecipitationsIcon","ActsIcon","clipRule","CountdownIcon","RefereeIcon","GrassStatusIcon","MatchSheetIcon","KitSelectorIcon","GoalIcon","id","PlayerMiniShirtIcon","text","fontFamily","fontSize","fontWeight","letterSpacing","textAnchor","MenuIcon","GoalNetIcon","DoubleYellowIcon","YellowCardIcon","FootballShotIcon","RedCardIcon","InjurySubstitutionIcon","TacticalSubstitutionIcon","FileIcon","DotsIcon","DocumentIcon","OwnGoal","MissedPenalty","icons","avatar","chevronDown","chevronUp","chevronLeft","chevronRight","mail","lock","phonePortrait","idCard","reset","calendar","stopwatch","stopwatchWithBall","field","weather","football","footballNegative","clock","firstAid","card","copy","star","doubleArrow","download","hardness","hibryd","program","hibrydSystem","acts","info","miniShirt","menu","footballEvent","goalNet","doubleYellow","footballShot","injurySubstitution","tacticalSubstitution","file","dots","document","Icon","extraProps","useContext","ThemeContext","type","propTypes","PropTypes","string","number","HeaderGroup","isOpen","FoldedMenu","invert","FoldedMenuTrigger","FoldedMenuOption","handleClickOutside","setState","this","options","onClick","opt","key","action","React","onClickOutside","Download","rotate","keyframes","Spinner","Spinner2","t","useTranslation","Cell","area","centered","GridCell","CustomLink","Link","placeholderAnimation","Container","fullWidth","fixedColumn","backgroundColor","textHeaderColor","headerColor","fixedHeader","responsiveHeader","textColor","primaryColor","secondaryColor","IconTable","PlaceholderData","Table","data","styleOptions","onRowClick","onMouseOut","header","selectedRow","hasFooter","limit","isFetching","placeholderNumElements","placeholderNumColumns","disableSort","customTr","match","matches","selectedMatch","useTable","useSortBy","getTableProps","getTableBodyProps","headerGroups","rows","prepareRow","footerGroups","PlaceholderHeader","row","length","Array","v4","firstPageRows","slice","Tr","Td","headerGroup","getHeaderGroupProps","headers","column","index","getHeaderProps","getSortByToggleProps","tooltip","isSorted","isSortedDesc","item","getRowProps","original","cells","cell","getCellProps","value","undefined","group","getFooterGroupProps","getFooterProps","footer","slug","hashtag","main","opta_id","old_hub_id","home_score","away_score","status","attempt","attempt_official","home_team","nickname","boundname","shortname","color_secondary","shirt_style","foundation","web","shield","caption","url","resizes","xsmall","small","medium","large","xlarge","competitions","plural_name","female_name","female_plural_name","person","firstname","lastname","gender","date_of_birth","international","country","role","shirt_number","place_of_birth","titular","cards","A","AA","R","away_team","match_winner_team","home_formation","away_formation","gameweek","week","venue","latitude","longitude","capacity","address","timezone","city","image","persons_role","year","subscription","teams","rounds","Types","getSelectedMatchRequest","matchId","payload","ContainerSm","ContainerTeam","DownloadPDFButton","ContainerArbitration","HeaderContext","createContext","HeaderProvider","useState","headerProps","setHeaderProps","Provider","setTitle","newHeaderProps","setButtonRight","buttonRight","SubRouteNavBarOption","colorPrimary","isSelected","contrastColor","isActive","TabButton","onChange","styleButton","useRef","useEffect","NavBar","withBorder","SubRouteNavBar","background","DecorationBar","selectedHeight","selectedLeft","selectedWidth","TabBar","styleTab","optionSelected","setOptionSelected","barRef","handleChange","valueItem","newChildrens","Children","child","cloneElement","childWidth","current","clientWidth","childLeft","offsetLeft","childHeight","competitionId","ContainerArbitrationContent","ArbitrationTabBar","Avatar","ContainerInfo","DataList","DataListItem","DataListItemLabel","span","DataListItemText","Name","ArbitrationHeader","src","TableContent","Total","LegendContainer","LegendItem","LegendTitle","LegendDescription","ArbitrationMatches","totalMatches","useMemo","Header","i18next","accessor","Footer","homeStat","awayStat","tableStructure","tableStyles","seasonYearStart","seasonYearEnd","ArbitrationHeaderStyled","isLocal","ShieldBackground","bgImage","TeamLabel","TeamLabelText","TableContainer","TeamBlock","ArbitrationBlock","localStats","awayStats","tab","setTab","homeTeam","awayTeam","Title","SeasonHeader","AvatarHeader","RefereeRole","RefereeName","AvatarPhoto","TabButtonFullWidth","ProfileImg","ProfileRole","ProfileName","ContainerProfile","ListContent","TabContent","ArbitrationAssistanceBlock","selectedAssistant","setSelectedAssistant","tabMode","dispatch","useDispatch","refereeAssistants","Object","keys","processedColumns","referees","arbiter","photoUrl","refereeNickname","arbitratedMatchesTable","totals","styleTabPrimary","seasons","refereeName","refereeSchool","seasonsGlobalStats","acumulatedStats","homeTeamSeasonsStats","awayTeamSeasonsStats","ArbitrationSection","handleChangeReferee","styleTabDesktop","styleTabTablet","object","signInSuccess","token","refreshToken","signOutRequest","INITIAL_STATE","getClubFiltersSuccess","getCompetitionFiltersSuccess","getSeasonFiltersSuccess","getDateFiltersSuccess","getStadiumFiltersSuccess","getCarouselDatesFiltersSuccess","clubs","dates","stadiums","carouselDates","gameweeks","getUserRequest","getUserSuccess","user","failed","selectedMatchScore","matchStatus","matchIsBeingPlayed","kits","lineup","directStats","localSquad","visitorSquad","publicFiles","privateFiles","combineReducers","produce","draft","AuthTypes","FilterTypes","UserTypes","matchActions","history","createBrowserHistory","basename","Tracking","LaLigaTracking","instrumentationKey","toast","transFormErrorResponse","error","message","response","signIn","signOutSaga","userRegister","resendEmail","multiFactorAuth","resetPassword","selectorSigned","select","call","loginConfirm","api","defaults","Authorization","put","trackApiError","showAs","laliga","azureLogout","push","shouldGoToLogin","localStorage","setItem","confirmRegister","recoverPassword","resendMail","mfa","takeLatest","getClubsFilters","getCompetitionFilters","getSeasonFilters","getDateFilters","getStadiumFilters","getCarouselDatesFilters","query","actions","gameweeksOrdered","sort","a","b","getUserData","editUserData","selectorToken","getUser","editUser","getMatches","getSelectedMatch","getSelectedMatchStatus","getSelectedMatchScore","getSquads","getSelectedMatchReferees","getSelectedMatchRefereeAssistants","getSelectedMatchKits","getSelectedMatchGrassStatus","getSelectedMatchLineup","getSelectedMatchActs","getSelectedMatchTeamStats","getSelectedMatchEvents","getSelectedMatchDirectStats","getSelectedMatchPublicFiles","getSelectedMatchPrivateFiles","showToast","err","inGame","localId","visitorId","localTeamData","visitorTeamData","availableReferees","find","filter","hasReferee","availableRefereeAssistants","rootSaga","reducers","sagaMiddleware","createSagaMiddleware","sagaMonitor","middlewares","store","enhancer","applyMiddleware","createStore","rootReducer","persistReducer","storage","whitelist","persistor","persistStore","run","isAlreadyFetchingAccessToken","subscribers","getLanguageHeader","axios","create","baseURL","post","interceptors","config","originalRequest","includes","Promise","reject","href","JSON","parse","getItem","withCredentials","getNewToken","then","rToken","callback","onAccessTokenFetched","catch","resolve","get","patch","getSeasons","getCompetitions","getClubs","getStadiums","getCarouselDates","getMatch","getMatchStatus","getMatchScore","getSquad","confirmRegistration","code","getSquadPlayer","squadId","playerId","getReferees","getRefereeAssistants","getKits","getGrassStatus","getLineup","getActs","getEvents","getStats","getDirectStats","getPublicFiles","downloadFile","documentId","getPrivateFiles","base64","link","createElement","setAttribute","body","appendChild","click","removeChild","requestFileDownload","isLoading","ArbitrationTeam","ContainerTeamContent","TeamLocalBlock","TeamVisitorBlock","TeamBlockContent","TeamSection","shieldImageUrl","pdfLoading","setPdfLoading","appear","appear2","EmptyPageContainer","Background","fit","IconComponent","Subtitle","EmptyPage","subtitle","icon","loadingReferee","loadingRefereeAssistants","refereeProps","isRelative","Responsive","GreenKeeperContainer","GrassImage","GrassImageColumn","center","left","right","bottom","GrassInfoColumn","variableWidth","inColumn","IconContainer","Label","TextContent","pushTop","variablewidth","grassName","percentage","start","end","GrassInfoRow","array","irrigationProgram","GrassStatus","greenkeeper","alt","grassCompounds","isHybridSystem","weatherForecastTemperature","weatherForecastHumidity","weatherForecastRainfallType","venueHeight","venueWidth","grassTemperature","hardnessGround","grassProps","irrigationProgramBeforeWarmingStart","irrigationProgramBeforeWarmingEnd","irrigationProgramBeforeMatchStart","irrigationProgramBeforeMatchEnd","irrigationProgramDuringBreakStart","irrigationProgramDuringBreakEnd","TeamColumn","StatsColum","TeamHeader","KitDisplayColumn","KitColumn","isInfo","ShirtTile","PantsTile","SocksTile","InfoTile","borderColor","InfoTitle","KitTeam","imageLocal","imageAway","homeTeamPlayer","tshirtImage","shortsImage","socksImage","tshirtNumber","shortsNumber","socksNumber","homeTeamGoalkeeper","visitorTeamPlayer","visitorTeamGoalkeeper","kitselector","kitSelected","setKitSelected","handleKitChange","RefereeBlock","KitSelector","KitSelectorContainer","kitsProps","MatchSheetContainer","LocalColumn","TeamSquad","SquadColumn","isCourt","ColumnContent","TeamSubheaderColumn","Court","Row","Player","hovered","ShirtNumber","PlayerCell","SquadContainer","SquadContent","showAll","hoveredPlayer","onHover","columnsTitulares","shirtNumber","onMouseOver","toString","columnsSuplentes","MatchTeamMobile","formation","setHovered","photo","TeamSubheader","SubstituteCell","SubstituteLabel","bold","primaryfontBold","Scroll","withScroll","MatchTeamDesktop","team","MatchTeam","lineUp","squadHome","homeTeamLineUp","startPlayers","trainerHome","formationHome","playersFormation","squadAway","awayTeamLineUp","trainerAway","formationAway","MatchSheetMobile","hojaPartido","MatchSheetDesktop","MatchSheet","matchSheetProps","TableCountdown","DownloadButton","TableHeader","Th","TableSeparator","parseData","head","ProtocolCommercialActs","previousActs","breakActs","endActs","actos","actsProps","NavigationBar","path","useRouteMatch","newPath","route","altLoggedname","NavBarTitle","NavBarOption","CloseNavBarOptionContainer","CloseLink","TabLabel","Grow","useLocation","isCurrentPath","pathString","app","TabIcon","CustomNavLink","NavLink","SubRouteSwitch","getPathname","navigateTo","open","openRight","openModal","closeRight","closeModal","fadeIn","fadeOut","zone","animation","chooseAnimation","OpacityLayer","zones","whole","PopUpView","onClose","setRender","handleClose","refContainer","querySelector","ReactDOM","createPortal","PopUpContainer","eventTypes","onAnimationEnd","RenderPopUpContainer","evt","preventDefault","stopPropagation","noBorder","InputWrapper","Filter","Select","minWidth","OptionContainer","DropdownImage","CustomOption","Option","selector","htmlFor","errorColor","classNamePrefix","e","components","noOptionsMessage","isDisabled","loadingSvg","Picker","dateSelected","dateFilter","setDateFilter","selected","Date","isClearable","format","includeDates","showYearDropdown","customInput","locale","enGB","transparent","DataListItemValue","DataListItemBottom","DataListItemIsTop","DataListItemIsTopIcon","isTop","styles","eventsFailed","homeTeamShieldBg","awayTeamShieldBg","tabletMode","Shield","TimelineList","TimelineItem","Line","TimelineTime","TimelineLabel","Tooltip","TimelineLabelIcon","EmptyDataText","iconName","secondLabel","tooltipText","getEvent","Timeline","homeTeamShield","awayTeamShield","dataReverse","reverse","playerName","teamId","playerOffName","isMobileXS","useMediaQuery","isMobile","isTablet","isLarge","changeLanguage","languageOptions","flashyEntranceKeyframe","flashyEntrance","Input","input","checkboxError","InputTel","formikProps","placeholder","setRef","forceErrorBorder","inputRef","values","errors","touched","handleBlur","setFieldValue","submitCount","hasError","flagUrl","labels","defaultCountry","onBlur","valueInput","validateDNI","str","toUpperCase","test","nie","replace","letter","substr","charIndex","parseInt","charAt","FormConfig","editValues","onSubmit","handleSubmit","setSubmitting","initialValues","firstName","mediaName","phoneNumber","validationSchema","Yup","shape","min","max","required","EditUserForm","SubmitGridCell","EditUser","isSubmitting","passwordRegex","oldPassword","plainPassword","passwordConfirmation","oneOf","EditPasswordForm","LaLigaLogo","BrandLogo","AppName","HeaderBackground","ShowMenu","MenuMobileContainer","Separator","ContainerScrollbar","PopUpViewHeader","bool","func","languageSelectorIsOpen","setLanguageSelectorVisibility","showModal","setModalVisibility","showMenu","setModalMenuVisibility","buttonLeft","logo","filePath","tabIndex","onKeyDown","AddLogoModalContent","firstLogin","isLaligaOption","renderProps","SmallNotification","DropzoneContainer","Message1","Message2","Dropzone","setImage","fileName","setFileName","onDrop","useCallback","acceptedFiles","forEach","reader","FileReader","onabort","onerror","onload","readAsArrayBuffer","useDropzone","accept","getRootProps","getInputProps","rejectedFiles","setLoading","formData","FormData","append","handleDeleteLogo","delete","spinnerAnimation","SpinnerContainer","spinner","DayContainer","MatchesContainer","MatchItem","MatchCompetitionLogo","MatchInfo","MatchRound","RoundNumber","RoundItem","selectDate","showSeparator","competitionLogo","ArrowContainer","CustomArrow","style","orientation","isVisible","display","SliderContainer","innerWidth","DatesSlider","getSlideRef","selectedDate","setCarouselDatesFilter","currentSlide","setCurrentSlide","slidesToShow","settings","infinite","speed","lazyLoad","slidesToScroll","prevArrow","nextArrow","swipeToSlide","easing","sliderRef","initialSlide","firstMatchDate","firstDate","firstMatchDay","FilterBar","FilterContainer","FilterButtonsContainer","ShowFilters","FilterTitle","DashboardFilters","resetFilters","clubFilter","competitionFilter","seasonFilter","stadiumFilter","carouselDatesFilter","setClubFilter","setCompetitionFilter","setSeasonFilter","setStadiumFilter","getOptionValue","option","getOptionLabel","qs","ignoreQueryPrefix","currentGameweekIndex","setCurrentGameweekIndex","setSliderRef","batch","getSeasonFiltersRequest","getCompetitionFiltersRequest","getClubFiltersRequest","getStadiumFiltersRequest","getCarouselDatesFiltersRequest","stringify","championship","skipNulls","currentRoundIndex","slideToGoTo","slickGoTo","ContentWrapper","EmptyPageDashboard","DayMatches","DayMatchesHeader","DayMatchesContent","MatchLeft","lighten","Match","MatchTime","Teams","LocalTeam","VisitorTeam","CompetitionLogo","MatchRight","MatchLinks","MatchRedirect","rotated","ArrowIcon","DashboardContent","datesArr","isArray","newDate","weekday","getDay","processedDate","showProcessedDate","peninsulaTime","homeScore","awayScore","DashboardContainer","Dashboard","subHeader","captchaValue","setCaptchaError","Captcha","onVerify","captchaError","browserWarning","css","WarningImage","checkBrowsers","isChrome","vendor","userAgent","isIphoneChrome","isAvailableBrowser","some","BrowserWarningModal","lang","setModalDataVisibility","alreadyDisplayed","sessionStorage","useBrowserModal","dangerouslySetInnerHTML","sanitize","DefaultLayout","Login","executeRecaptcha","useGoogleReCaptcha","setCaptchaValue","accountConfirmationMessage","setAccountConfirmationMessage","viewLoginInputs","setViewLoginInputs","loginCheckLoading","setLoginCheckLoading","phoneDigits","setPhoneDigits","handleReCaptchaVerify","promptRegistrationConfirmation","checkIfLoggedWithAzure","fetchTokens","removeItem","handleGoToMFA","phone_digits","checkValidations","routesPath","BeatDecoration","inverted","BigMessage","Message","NavigationButton","NotFoundBig","NotFound","content","big","uncaught","PasswordRecovery","ReactSelect","CustomSelect","PrivacyPolicy","logoWidth","logoHeight","DataProtection","StaticContainer","SubTitle","Close","LegalTermsContent","selectedOption","setMediaTypeError","enabledConsent","selectedOptionIsNotEmpty","captchaWasFilled","otherOptionIsSelected","mediaTypeDescriptionIsInvalid","grecaptcha","Register","setSelectedOption","mediaTypeError","showModalPolicy","setModalPolicyVisibility","showModalData","mediaTypes","setMediaTypes","mediaTypeFetchTrigger","otherOption","fetchMediaTypes","handleMediaTypeChange","FloatingMessage","initialPosition","RegisterConfirmation","emailConfirmation","setEmailConfirmation","visitorColumns","handleClickOnRowRight","handleClickOnRowLeft","modalContentLeft","modalContentRight","localTableData","visitorTableData","setModalContentLeft","setModalContentRight","NameAndRoleContainer","ImagePlaceholder","ImageContainer","TitlePlaceholder","SubtitlePlaceholder","NameAndRole","isTop5","CustomTd","homeName","awayName","TabsSections","Tabs","TableContainerLocal","TableContainerVisitor","HeaderTable","isVisitor","HeaderTableContainer","bgColor","CoachSection","HeaderTitle","HeaderInfo","Bold","HeaderInfoIcon","HeaderInfoText","TableBasic","TableGlobalStats","headerSticky","TableGlobalStatsVisitor","ModalPlayer","TrContainer","tr","GlobalStatistics","handleCloseLeft","handleCloseRight","modalContentLeftInitial","modalContentRightInitial","localHeadCoach","localSecondCoach","visitorHeadCoach","visitorSecondCoach","homeImage","awayImage","squadRole","PlayerInfo","squadRoleFrontendSku","formatNumber","Intl","NumberFormat","tableDataParser","isTop5InGoals","isTop5InPasses","isTop5InRecoveries","isTop5InShots","isTop5InAssists","isTop5InSavesMade","isTop5gamesPlayed","totalPasses","shotsStops","totalShots","goalAssists","savesMade","gamesPlayed","customSortName","rowA","rowB","customSort","sortType","loadingVisitorSquad","localFailed","loadingLocalSquad","visitorFailed","loadingMatch","setModalContentLeftInitial","setModalContentRightInitial","setLocalTableData","setVisitorTableData","visitorTableDataMobile","setVisitorTableDataMobile","utils","GlobalStatsTr","itemProps","globalStatisticsProps","headCoach","secondCoach","ColumnContainer","Column","CourtDiagram","Squad","lineupFetchFailed","setHoveredPlayer","StatsContainer","StatsVenue","StatsTable","statsOrder","getOrderedData","orderedData","aIndex","indexOf","statName","aOrder","bIndex","Stats","statsData","teamStatsFailed","stat","yearFoundation","Utils","localTeam","PreviousContainer","LocalSquad","MatchStats","AwaySquad","Previous","substitutesPlayers","isFetchingMatch","isFetchingLineUp","isFetchingStats","getSelectedMatchTeamStatsRequest","previousProps","Item","Description","TableLegend","property","rowsThatHaveTop","PlayerName","TableLegendFooter","ClubStats","getTableData","homeTeamStats","playerStats","awayTeamStats","resultantRowCss","rowsThatHaveTopCss","playerStatKeys","resultantPlayer","processPlayerStats","statsTableHeadersAndDescription","ContainerTabBar","MinuteByMinuteBlock","MinuteByMinuteBlockSm","LocalBlock","VisitantBlock","ClubStatsMobile","Direct","timelineData","directStatsFailed","section","setSection","tableHeaderResponsive","resultantColumns","wasFetchedAtLeastOnce","setHasFetched","shouldFetch","fetchEvents","getSelectedMatchDirectStatsRequest","interval","setInterval","clearInterval","directProps","HeaderItemLabel","ValueContainer","InfoItem","InfoList","LogoDefault","ScoreContainer","InfoItemRound","InfoItemDate","InfoItemTime","InfoItemStadium","InfoItemWeather","InfoItemHumidity","InfoItemTemperature","Team","Score","ScoreNumber","ScoreLine","homeTeamName","homeTeamScore","awayTeamName","awayTeamScore","Information","localTime","matchGrass","weatherForecastRainfall","SubRouteTabs","tabs","useHistory","MainContainer","HeaderContainer","MainHeader","GoBackButton","ButtonLabel","HeaderItem","HeaderItemLogo","MatchScore","TeamScore","TeamContainer","SubRouteContainer","SubRouteContainerSm","navBar","mobile","MatchHeader","returnScore","inCanary","params","CloseButtonIcon","PlayerHeader","PlayerHeaderImage","CloseButton","CloseButtonText","PlayerHeaderInfo","PlayerHeaderInfoNum","PlayerNumber","PlayerHeaderInfoName","PlayerNickname","styleProps","toLowerCase","svg","InfoBarItem","PlayerInfoBar","InfoBarItemLabel","InfoBarItemValue","MainInfoBar","dateOfBirth","placeOfBirth","statsDescriptions","resultantArray","splice","InfoBlock","parseStats","InfoBar","ChangePassword","useParams","ConfirmCode","TitleBar","DocsSection","GridContainer","Tab","DownloadButtonContainer","darken","Preview","Card","thumbnail","PrivateDocuments","documents","publicDocs","getSelectedMatchPrivateFilesRequest","doc","nameType","private","MessageContainer","BackButton","oneOfType","element","node","isRequired","mobileBackground","BGbit","SubHeaderContainer","LockViewContainer","LockBlock","LockView","PrivateLayout","disableOpacityLayer","transparentBg","clonedNavBar","device","ErrorPageContainer","ErrorPageBg","Beat","em","ErrorCode","FlexContainer","ErrorPageBeat","codes","404","403","500","oops","ErrorPage","getError","errorCode","ErrorPageLogo","from","Math","random","ErrorPageBall","Routes","exact","Failure","createGlobalStyle","Fallback","require","App","reCaptchaKey","instance","fallback","onError","Blob","stack","sendMonolog","autoClose","getElementById","module","exports"],"mappings":"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","file":"static/js/main.d16f8846.chunk.js","sourcesContent":["import i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\n\nimport { resources } from '~/translations';\n\nfunction getLanguage(lng) {\n const languages = {\n en: 'en',\n default: 'es',\n };\n return languages[lng] || languages.default;\n}\n\ni18n.use(initReactI18next).init({\n resources,\n lng: getLanguage(window.navigator.language.split('-')[0]),\n fallbackLng: 'es',\n keySeparator: false,\n interpolation: {\n escapeValue: false,\n },\n});\n\nexport default i18n;\n","export const resources = {\n es: {\n translation: {\n languageId: 'ES',\n welcome: 'Bienvenido',\n login: 'Entrar',\n profile: 'perfil',\n register: 'Registrarme',\n television: 'Televisión',\n showFilters: 'Mostrar filtros',\n filters: 'filtros',\n lockText: 'Por favor, gire el dispositivo para usar esta aplicación.',\n radio: 'Radio',\n writtenOrDigitalPress: 'Prensa escrita o digital',\n clubMedia: 'Medios oficiales de clubes',\n other: 'Otros',\n name: 'Nombre',\n lastName: 'Apellidos',\n dni: 'DNI/NIF',\n email: 'Email',\n mediaType: 'Tipo de medio',\n password: 'Contraseña',\n newPassword: 'Nueva contraseña',\n telephone: 'Número de teléfono',\n cancel: 'Cancelar',\n yes: 'Sí',\n no: 'No',\n season: 'Temporada',\n date: 'Fecha',\n confirm: 'Confirmar',\n registerConfirmation: 'Confirmación de registro',\n registerConfirmationMessage:\n 'Revisa la bandeja de entrada del correo registrado para proceder a la validación del mismo',\n sendEmailAgain: 'Volver a enviar correo',\n sendEmail: 'Enviar correo',\n return: 'Volver',\n appName: 'Canal de Información de Partidos de TV',\n appNameShort: 'Canal de Información',\n changeLogo: 'Cambiar logo',\n logout: 'Cerrar sesión',\n deleteLogo: 'Borrar logo',\n arbiterTeam: 'Equipo arbitral',\n kitSelector: 'KitSelector',\n grassStatus: 'Estado del césped',\n matchSheet: 'Hoja de partido',\n protocolActs: 'Actos Protocolarios',\n commercials: 'Comerciales',\n commercial: 'Comercial',\n protocolary: 'Protocolario',\n arbitrationTeam: 'Equipo arbitral',\n countdown: 'Cuenta atrás',\n goBackTo: 'Volver al',\n next: 'Siguiente',\n accessAppInformation: 'Accede a la información de las',\n apps: 'Aplicaciones',\n allFemale: 'Todas',\n all: 'Todos',\n club: 'Club',\n competition: 'Competición',\n search: 'Buscar',\n cleanFilters: 'Limpiar filtros',\n noOptions: 'Sin opciones',\n round: 'Jornada',\n globalStatistics: 'Estadísticas globales',\n previous: 'Previa',\n direct: 'Directo',\n passesCompleted: 'Pases completados (número + porcentaje)',\n passesCompletedAbv: 'PCom',\n longPasses: 'Pases largos con éxito',\n longPassesAbv: 'PLCom',\n shortPasses: 'Pases cortos con éxito',\n shortPassesAbv: 'PCCom',\n shots: 'Disparos (número / a puerta)',\n shotsAbv: 'Dis',\n faults: 'Faltas (cometidas / recibidas)',\n faultsAbv: 'Fal',\n offsides: 'Fueras de juego',\n offsidesAbv: 'FJue',\n goal: 'Gol',\n goals: 'Goles',\n goalsAbv: 'Gol',\n ownGoal: 'Gol en propia',\n recoveredBalls: 'Balones recuperados',\n recoveredBallsAbv: 'BRec',\n minutesPlayed: 'Minutos jugados',\n minutesPlayedAbv: 'MinJ',\n totalTackle: 'Entradas realizadas',\n totalTackleAbv: 'EntR',\n head_coach: 'Entrenador',\n second_coach: 'Segundo entrenador',\n defender: 'Defensa',\n midfielder: 'Mediocampista',\n forward: 'Delantero',\n minuteByMinute: 'Minuto a minuto',\n events: 'Eventos',\n matchStatistics: 'Estadísticas del partido',\n dashboard: 'Dashboard',\n local: 'Local',\n localClub: 'Club local',\n peninsular: 'Peninsular',\n stadium: 'Estadio',\n rainfall: 'Precipitaciones',\n humidity: 'Humedad',\n temperature: 'Temperatura',\n accountValidated: 'Tu cuenta ha sido validada, ya puedes acceder a ella',\n activeAccount: 'Tu cuenta ya está activa',\n weekday0: 'Domingo',\n weekday1: 'Lunes',\n weekday2: 'Martes',\n weekday3: 'Miércoles',\n weekday4: 'Jueves',\n weekday5: 'Viernes',\n weekday6: 'Sábado',\n loading: 'Cargando',\n mainReferee: 'Árbitro principal',\n shirt: 'Camiseta',\n shorts: 'Pantalón',\n socks: 'Medias',\n irrigationProgramBeforeWarming: 'Antes del calentamiento',\n irrigationProgramBeforeMatch: 'Antes del partido',\n irrigationProgramDuringBreak: 'Al comienzo del descanso',\n 'var-referee': 'VAR',\n 'avar-referee': 'AVAR',\n 'assistant-referee-1': 'A1',\n 'assistant-referee-2': 'A2',\n 'fourth-referee': '4º',\n // Validations\n loginError: 'Error de login',\n nameIsRequiredValidationError: 'Nombre es un campo obligatorio',\n lastNameIsRequiredValidationError: 'Apellidos es un campo obligatorio',\n dniIsRequiredValidationError: 'DNI/NIF es un campo obligatorio',\n emailIsRequiredValidationError: 'Email es un campo obligatorio',\n mediaNameIsRequiredValidationError:\n 'Nombre de medio es un campo obligatorio',\n mediaTypeIsRequiredValidationError:\n 'Tipo de medio es un campo obligatorio',\n telephoneIsRequiredValidationError:\n 'Número de teléfono es un campo obligatorio',\n passwordIsRequiredValidationError: 'Contraseña es un campo obligatorio',\n newPasswordIsRequiredValidationError:\n 'La nueva contraseña es un campo obligatorio',\n confirmPasswordIsRequiredValidationError:\n 'La contraseña debe ser confirmada',\n captchaIsRequiredValidationError: 'Error al comprobar el captcha',\n changeLogoError: 'El logo de tu marca no ha podido ser cambiado',\n editAccountError: 'Tu perfil no ha podido ser cambiado',\n editAccountSuccess: 'Tu perfil se ha cambiado correctamente',\n editPasswordError: 'Tu contraseña no ha podido ser cambiado',\n editPasswordSuccess: 'Tu contraseña se ha cambiado correctamente',\n fileTypeNotPermitted: 'Tipo de archivo no admitido, debe ser jpg o png',\n mustChooseOption: 'Debes seleccionar una opción',\n mustHave2OrMoreLetters: 'Debe contener 2 o más caracteres',\n mustHave3OrMoreLetters: 'Debe contener 3 o más caracteres',\n mustHave15OrLessLetters: 'Debe contener 15 o menos caracteres',\n mustHave30OrLessLetters: 'Debe contener 30 o menos caracteres',\n mustHave50OrLessLetters: 'Debe contener 50 o menos caracteres',\n mustContainOnlyLetters: 'Debe contener sólo letras',\n documentFormatInvalid: 'El formato no es válido',\n invalidEmail: 'Email inválido',\n emailIsRequired: 'Email es obligatorio',\n properTelephoneSpanishFormat:\n 'Debe ser un número de teléfono español válido',\n mustPassCaptcha: 'Confirma que no eres un robot',\n policyIsRequiredValidationError:\n 'Es obligatorio la aceptación de los Términos Legales y la Política de Privacidad',\n\n // Form labels\n enterName: 'Introduce tu nombre',\n enterLastName: 'Introduce tus apellidos',\n enterDNI: 'Introduce tu DNI',\n enterEmail: 'Introduce tu email',\n mediaNameLabel: 'Nombre del medio',\n enterMediaName: 'Introduce el nombre del medio',\n selectMediaType: 'Selecciona el tipo de medio',\n enterMediaTypeDescription: 'Introduce el tipo de medio',\n enterTelephone: 'Introduce tu número de teléfono',\n enterPassword: 'Introduce tu contraseña',\n confirmPasswordLabel: 'Confirmar contraseña',\n confirmPassword: 'Confirma tu contraseña',\n confirmNewPassword: 'Confirma tu nueva contraseña',\n submit: 'Enviar',\n createAccount: 'Crear cuenta',\n editAccount: 'Editar cuenta',\n editPassword: 'Editar contraseña',\n profesionalAdvise:\n '* La información será tratada exclusivamente para uso profesional',\n haveAccount: '¿ Ya tienes cuenta ?',\n noHaveAccount: '¿ Aún no tienes cuenta ?',\n enterSmsCode: 'Introduce el código de verificación',\n smsCodeNotification_part_1:\n 'Te hemos enviado un mensaje de texto al teléfono +XX XXXXXXX',\n smsCodeNotification_part_2: '. Escribe el código para iniciar sesión.',\n smsVerification: 'Comprobar',\n addLogo: 'Añadir logotipo',\n addImage: 'Adjuntar imagen',\n loginIntoAccount: 'Iniciar sesión',\n passwordRecovery: 'Recuperar contraseña',\n passwordIsRequired: 'Debes introducir una contraseña',\n passwordsMustMatch: 'Las contraseñas deben coincidir',\n smsCode: 'Código SMS',\n enterSMSCode: 'Introduce el código del SMS',\n smsCodeValidationError: 'Debes introducir un código',\n passwordFormatValidationError:\n 'Debe tener entre 8 y 20 caracteres, una letra mayúscula, una letra minúscula, un numéro y un caracter especial',\n finalize: 'Finalizar',\n dropzoneMessage1: 'Arrastre la imagen que desee subir dentro del área',\n dropzoneMessage2: 'o haga click para poder seleccionar el archivo',\n changePassword: 'Cambiar contraseña',\n confirmationSuccessMessage:\n 'Usuario validado con éxito. Por favor, introduce los datos para acceder a tu cuenta.',\n profileConditions:\n 'Con el objetivo de poder mejorar mi experiencia, acepto que LaLiga elabore un perfil basado en mis hábitos de navegación y consumo.',\n legalText1: 'He leído y acepto los',\n legalTerms: 'Términos Legales',\n and: 'y la',\n privacyPolicy: 'Política de Privacidad',\n legalText2: 'de la plataforma, confirmando que soy mayor de 18 años',\n\n // Toasts\n authFailed: 'La autenticación ha fallado, verifique sus datos',\n registerFailed: 'El registro de nuevo usuario ha fallado',\n passwordRecoverySuccess: 'Sigue las instrucciones enviadas a tu correo',\n passwordRecoveryFailed: 'Recuperar contraseña ha fallado',\n faultsIndicated: 'Faltas indicadas',\n resendEmailSuccess: 'Se ha enviado un mensaje a tu email',\n resendEmailFailure: 'El email no ha podido ser enviado',\n changePasswordSuccess:\n 'La contraseña ha sido reemplazada satisfactoriamente',\n changePasswordFailure: 'La contraseña no ha podido ser reemplazada',\n dataFetchFailure: 'Los datos no han podido ser recuperados',\n userActivated: 'El usuario ya está activado',\n // GLOBAL STATS\n namePosition: 'Nombre / posición',\n goalsNoKey: 'goles',\n passes: 'pases',\n recoveries: 'recuperaciones',\n assists: 'asistencias',\n stops: 'paradas',\n games: 'p.jugados',\n in: 'en',\n position: 'Posición',\n birthDate: 'Fecha de nacimiento',\n birthPlace: 'Lugar de nacimiento',\n height: 'Altura',\n weight: 'Peso',\n close: 'Cerrar',\n goalPenaltis: 'Goles / Penaltis',\n substitutions: 'Sustituciones',\n shotsNoKey: 'Disparos',\n yellowCards: 'Tarjetas amarillas',\n yellowCard: 'Tarjeta amarilla',\n redCards: 'Tarjetas rojas',\n redCard: 'Tarjeta roja',\n doubleYellowCards: 'Doble tarjeta amarilla',\n foulsReceivedMade: 'Faltas recibidas / Faltas realizadas',\n whistlesFouls: 'Faltas pitadas',\n penaltiesIndicated: 'Penaltis señalados',\n squad: 'Plantilla',\n stats: 'Estadísticas',\n information: 'Información',\n signaledPlayersAre: 'Los jugadores señalados son',\n inTheCategorySignaled: 'en las categorías que se indican de la temporada',\n inTheCategorySignaledMatch:\n 'en las categorías que se indican del partido',\n offside: 'Fuera de juego',\n checkUrl:\n 'Comprueba que has escrito correctamente la dirección de la página',\n uncaughtError:\n 'Ha habido un error inesperado, por favor, póngase en contacto con la dirección soporte@laliga.es',\n goToWebsiteHome: 'Ir a canalinformacionpartidos.laliga.es',\n report: 'Informe',\n matchReports: 'Informes del partido',\n matchInfo: 'Info partido',\n documentUnavailable: 'Informe pendiente de cumplimentar',\n // MATCH\n titulars: 'Titulares',\n substitutes: 'Suplentes',\n alignment: 'Alineación',\n trainer: 'Entrenador',\n globalStats: 'Estadísticas club-competición',\n foundationYear: 'Año fundación',\n total_shots: 'Disparos totales',\n total_faults: 'Faltas totales',\n total_passes: 'Pases totales',\n possession_percentage: 'Porcentaje de posesión',\n double_yellow_card: 'Doble tarjeta amarilla',\n total_fouls_conceded: 'Faltas totales',\n red_card_2nd_yellow: 'Doble tarjeta amarilla',\n corners_won: 'Córners ganados',\n total_successful_passes_excl_crosses_corners: 'Total pases exitosos',\n total_shots_conceded: 'Total de disparos recibidos',\n total_red_cards: 'Tarjetas rojas totales',\n won_matches: 'Partidos ganados',\n total_losses_of_possession: 'Pérdidas totales de posesión',\n tied_matches: 'Partidos empatados',\n successful_corners_into_box: 'Goles de saques de esquina',\n corner: 'Córner',\n red_cards: 'Tarjetas rojas',\n yellow_cards: 'Tarjetas amarillas',\n total_passes_done: 'Total pases éxito',\n win_matches: 'Partidos ganados',\n total_possession_lost: 'Pérdidas totales de posesión',\n lost_matches: 'Partidos perdidos',\n tie_matches: 'Partidos empatados',\n corner_goals: 'Goles de saque de esquina',\n total_shots_received: 'Disparos totales recibidos',\n priorToBeginning: 'Antes del partido',\n duringBreak: 'Durante el descanso',\n afterTheMatch: 'Después del partido',\n period: 'Período',\n actType: 'Tipo de acto',\n description: 'Descripción',\n observations: 'Observaciones',\n noObservations: 'Sin observaciones',\n // REFEREES\n totalWinnings: 'Total victorias',\n totalDraws: 'Total empates',\n totalDefeats: 'Total derrotas',\n arbitratedMatches: 'Partidos arbitrados',\n matchesWithReferees: 'Partidos arbitrados',\n debut: 'Debut',\n arbitrationCollege: 'Colegio arbitral',\n total: 'total',\n // KIT SELECTOR\n equipment: 'Equipación',\n referee: 'Arbitral',\n rol: 'rol',\n time: 'Hora',\n kit: 'Equipación',\n rolHome: 'Local',\n rolAway: 'Visitante',\n downloadKitDesignation: 'Descargar designación oficial de KitSelector',\n downloadRefereeDesignation:\n 'Descargar designación oficial de Equipo arbitral',\n downloadGrassDesignation: 'Descargar Informe sobre el estado del césped',\n downloadSheetDesignation: 'Descargar Hoja de Partido',\n downloadActsDesignation: 'Descargar Protocolo de cuenta atrás',\n goalkeeper: 'Portero',\n player: 'Jugador',\n countAcronim: 'ª',\n // GREENKEEPER\n meteorology: 'meteorología',\n pitch: 'terreno de juego',\n grass: 'césped',\n president: 'presidente',\n officialWeb: 'Web Oficial',\n relativeHumidity: 'Humedad relativa',\n precipitations: 'tipo precipitaciones',\n dimensions: 'dimensiones',\n floorTemperarure: 'Temperatura del suelo',\n floorHardness: 'Dureza del suelo',\n grassType: 'Tipo de césped',\n grasshybrid: 'Césped híbrido',\n none: 'Ninguna',\n hybridSystem: 'Sistema de hibridez',\n grassHeight: 'Altura de corte',\n grassProgram: 'Programa de riego',\n // DIRECT\n clubStats: 'Estadísticas del club',\n players: 'Jugadores',\n averageDistanceTraveled: 'Promedio distancia recorrida (km)',\n totalDistancePerTeam: 'Total distancia por equipo (km)',\n playerWithTheMostDistanceTraveled:\n 'Jugador con más distancia recorrida (km)',\n live: 'directo',\n emptySubtitleLive: 'Todavía no existen eventos para este partido.',\n // COUNTDOWN\n realtime: 'Hora real',\n times: 'Tiempos',\n activities: 'Actividades',\n // ACTS\n comments: 'Comentarios',\n // DATA PROTECTION\n dataProtectionTitle: 'Política de Privacidad',\n // PRIVACY POLICY\n privacyPolicyTitle: 'Información básica sobre protección de datos',\n sessionExpired: 'La sesión ha expirado, vuelve a acceder a tu cuenta',\n // EMPTY\n emptyTitle: 'Datos no disponibles',\n emptyTitleProtocol: 'Partido sin actos protocolarios o comerciales',\n emptySubtitle: 'La información todavía no ha sido incluida por el club',\n emptySubtitleFullTime: 'No se han incluido eventos para este partido',\n emptySubtitleMatchRequest:\n 'Los Clubes no han realizado ninguna solicitud para este partido',\n privateAccess: 'Login Office365',\n azureFailure:\n 'No hemos podido iniciar sesión con tu cuenta de Office365, intenta de nuevo.',\n missedPenalty: 'Penalti fallado',\n substitutionInjury: 'Sustitucion lesion',\n substitutionTactical: 'Sustitucion táctica',\n localAndVisitant: 'local / visitante: ',\n refereeMatches: 'P.ARBITRADOS',\n backToHome: 'Volver al inicio',\n\n // FALLBACK\n fallBackErrorTitle: 'Ha habido un error',\n fallBackErrordeDesc: 'Por favor, recargue la página e inténtelo de nuevo',\n },\n },\n en: {\n translation: {\n languageId: 'EN',\n welcome: 'Welcome',\n login: 'Log in',\n profile: 'profile',\n register: 'Register',\n television: 'Television',\n showFilters: 'See Filters',\n filters: 'filters',\n lockText: 'Please, turn your device to use this.',\n radio: 'Radio',\n writtenOrDigitalPress: 'Press or digital media',\n clubMedia: 'Official club media outlets',\n other: 'Others',\n name: 'Name',\n lastName: 'Surname(s)',\n dni: 'ID/TIN',\n email: 'Email',\n mediaType: 'Media type',\n password: 'Password',\n newPassword: 'New Password',\n telephone: 'Phone number',\n cancel: 'Cancel',\n yes: 'Yes',\n no: 'no',\n season: 'Season',\n date: 'Date',\n confirm: 'Confirm',\n registerConfirmation: 'Register confirmation',\n registerConfirmationMessage:\n 'Check your email inbox to proceed with validation',\n sendEmailAgain: 'Send email again',\n sendEmail: 'Send email',\n return: 'Go back',\n appName: 'Match Information Channel',\n appNameShort: 'Info Channel',\n changeLogo: 'Change logo',\n logout: 'Log out',\n deleteLogo: 'Delete logo',\n arbiterTeam: 'Referee team',\n kitSelector: 'KitSelector',\n grassStatus: 'Grass condition',\n matchSheet: 'Match sheet',\n protocolActs: 'Officias',\n commercials: 'Comercials acts',\n commercial: 'Commercial',\n protocolary: 'Official',\n arbitrationTeam: 'Referee team',\n countdown: 'Countdown',\n goBackTo: 'Go back to',\n next: 'Next',\n // Se debe traducir\n accessAppInformation: 'Access information on the',\n // Se debe traducir\n apps: 'Applications',\n allFemale: 'All',\n all: 'All',\n club: 'Club',\n competition: 'Competition',\n search: 'Search',\n cleanFilters: 'Clear filters',\n noOptions: 'No options',\n round: 'Round',\n globalStatistics: 'Overall Statistics',\n previous: 'Preview',\n direct: 'Live',\n passesCompleted: 'Passes completed (number + percentage)',\n passesCompletedAbv: 'PCom',\n longPasses: 'Successful long passes',\n longPassesAbv: 'LPCom',\n shortPasses: 'Successful short passes',\n shortPassesAbv: 'SPCom',\n shots: 'Shots (number/on goal)',\n shotsAbv: 'Sht',\n faults: 'Fouls (committed/received)',\n faultsAbv: 'Fou',\n offsides: 'Offsides',\n offsidesAbv: 'Off',\n goal: 'Goal',\n goals: 'Goals',\n goalsAbv: 'Goal',\n ownGoal: 'Own goal',\n recoveredBalls: 'Balls recovered',\n recoveredBallsAbv: 'BRec',\n minutesPlayed: 'Minutes played',\n minutesPlayedAbv: 'MinP',\n totalTackle: 'Challenges made',\n totalTackleAbv: 'ChM',\n head_coach: 'Coach',\n second_coach: 'Assistant coach',\n defender: 'Defender',\n midfielder: 'Midfielder',\n forward: 'Forward',\n minuteByMinute: 'Minute by minute',\n events: 'Events',\n matchStatistics: 'Match statistics',\n dashboard: 'Dashboard',\n local: 'Home',\n localClub: 'Home club',\n peninsular: 'Mainland Spain',\n stadium: 'Stadium',\n rainfall: 'Precipitation',\n humidity: 'Humidity',\n temperature: 'Temperature',\n accountValidated:\n 'Your account has been activated, you can now access it',\n activeAccount: 'Your account is now active',\n weekday0: 'Sunday',\n weekday1: 'Monday',\n weekday2: 'Tuesday',\n weekday3: 'Wednesday',\n weekday4: 'Thursday',\n weekday5: 'Friday',\n weekday6: 'Saturday',\n loading: 'Loading',\n mainReferee: 'Head referee',\n shirt: 'T-shirt',\n shorts: 'Shorts',\n socks: 'Socks',\n irrigationProgramBeforeWarming: 'Prior to warm-up',\n irrigationProgramBeforeMatch: 'Prior to match',\n irrigationProgramDuringBreak: 'At the start of half-time',\n 'var-referee': 'VAR',\n 'avar-referee': 'AVAR',\n 'assistant-referee-1': 'A1',\n 'assistant-referee-2': 'A2',\n 'fourth-referee': '4º',\n // Validations\n loginError: 'Login error',\n nameIsRequiredValidationError: 'Name is a required field',\n lastNameIsRequiredValidationError: 'Surname(s) is a required field',\n dniIsRequiredValidationError: 'ID/TIN is a required field',\n emailIsRequiredValidationError: 'Email is a required field',\n mediaNameIsRequiredValidationError:\n 'Media outlet name is a required field',\n mediaTypeIsRequiredValidationError:\n 'Media outlet type is a required field',\n telephoneIsRequiredValidationError: 'Phone number is a required field',\n passwordIsRequiredValidationError: 'Password is a required field',\n newPasswordIsRequiredValidationError: 'New Password is a required field',\n confirmPasswordIsRequiredValidationError:\n 'The password must be confirmed',\n captchaIsRequiredValidationError: 'The captcha must be filled in',\n changeLogoError: \"Your brand's logo could not be changed\",\n editAccountError: 'Your profile could not be changed',\n editAccountSuccess: 'Your profile has been changed correctly',\n editPasswordError: 'Your password could not be changed',\n editPasswordSuccess: 'Your password as been changed correctly',\n fileTypeNotPermitted: 'File type not accepted; it must be JPG or PNG',\n mustChooseOption: 'You must select an option',\n mustHave2OrMoreLetters: 'It must contain 2 or more letters',\n mustHave3OrMoreLetters: 'It must contain 3 or more letters',\n mustHave15OrLessLetters: 'It must contain 15 or less letters',\n mustHave30OrLessLetters: 'It must contain 30 or less letters',\n mustHave50OrLessLetters: 'It must contain 50 or less letters',\n mustContainOnlyLetters: 'It must contain only letters',\n documentFormatInvalid: 'The format is not valid',\n invalidEmail: 'Invalid email',\n emailIsRequired: 'Email is required',\n properTelephoneSpanishFormat: 'It must be a valid Spanish phone number',\n smsCodeValidationError: 'Must enter an SMS code',\n smsCodeNotification_part_1:\n 'We have sent you a text message to the phone + XX XXXXXXX',\n smsCodeNotification_part_2: '. Enter the code to login.',\n smsVerification: 'Check',\n addLogo: 'Add logo',\n addImage: 'Attach image',\n passwordFormatValidationError:\n 'The password must contain from 8 to 20 characters, at least one upper case letter, a lowercase letter, a number and a special character',\n mustPassCaptcha: \"Confirm you're not a robot\",\n policyIsRequiredValidationError:\n 'You must accept the Legal Terms and Privacy Policy',\n\n // Form labels\n enterName: 'Enter your name',\n enterLastName: 'Enter your surname(s)',\n enterDNI: 'Enter your ID number',\n enterEmail: 'Enter your email',\n mediaNameLabel: 'Media outlet name',\n enterMediaName: 'Enter the name of your media outlet',\n selectMediaType: 'Select the type of the media outlet',\n enterMediaTypeDescription: 'Enter the type of media outlet',\n enterTelephone: 'Enter your phone number',\n enterPassword: 'Enter your password',\n confirmPasswordLabel: 'Confirm password',\n confirmPassword: 'Confirm your password',\n confirmNewPassword: 'Confirm your new password',\n submit: 'Send',\n createAccount: 'Create account',\n editAccount: 'Edit account',\n editPassword: 'Change password',\n profesionalAdvise:\n '* The information will be processed exclusively for professional purposes',\n haveAccount: 'Have you already got an account?',\n noHaveAccount: 'Still haven’t got an account?',\n enterSmsCode: 'Enter the verification code',\n loginIntoAccount: 'Login',\n passwordRecovery: 'Password recovery',\n passwordIsRequired: 'Password required',\n passwordsMustMatch: 'Passwords must match',\n smsCode: 'SMS code',\n enterSMSCode: 'Enter the verification code',\n finalize: 'Finalise',\n dropzoneMessage1: 'Drag the photo you wish to upload into the area',\n dropzoneMessage2: 'or click on the file to select it',\n changePassword: 'Change password',\n confirmationSuccessMessage:\n 'User validated successfully. Please, enter your details to log in to your account.',\n profileConditions:\n 'In an effort to improve my experience, I consent to LaLiga creating a profile based on my browsing and consumption habits.',\n legalText1: 'I have read and accept the',\n legalTerms: 'Legal Terms',\n and: 'and',\n privacyPolicy: 'Privacy Policy',\n legalText2:\n 'of the platform and confirm that I am 18 years of age or older.',\n\n // Toasts\n authFailed:\n 'There was an error with the authentication; please, review your details',\n registerFailed: 'There was an error with the new user registration.',\n passwordRecoverySuccess: 'Follow the instructions sent by email.',\n passwordRecoveryFailed: 'There was an error with the password recovery',\n faultsIndicated: 'Faults indicated',\n resendEmailSuccess: 'A message has been sent to your email',\n resendEmailFailure: 'The email could not be sent',\n changePasswordSuccess: 'The password has been replaced successfully',\n changePasswordFailure: 'Your password could not be replaced',\n dataFetchFailure: 'The details could not be recovered',\n userActivated: 'The user is already activated',\n // GLOBAL STATS\n namePosition: 'name/position',\n goalsNoKey: 'goals',\n passes: 'passes',\n recoveries: 'recoveries',\n assists: 'assists',\n stops: 'saves',\n games: 'p.games',\n in: 'in',\n position: 'Position',\n birthDate: 'Date of birth',\n birthPlace: 'Place of birth',\n height: 'Height',\n weight: 'Weight',\n close: 'Close',\n goalPenaltis: 'Goals/Penalties',\n substitutions: 'Substitutions',\n shotsNoKey: 'shots',\n yellowCards: 'Yellow cards',\n yellowCard: 'Yellow card',\n redCards: 'Red cards',\n redCard: 'Red card',\n doubleYellowCards: 'Two yellow Cards',\n foulsReceivedMade: 'Fouls received/Faults made',\n whistlesFouls: 'Fouls called',\n penaltiesIndicated: 'Penalties awarded',\n squad: 'Squad',\n stats: 'Statistics',\n information: 'Information',\n signaledPlayersAre: 'The highlighted players are',\n inTheCategorySignaled: 'in the indicated categories for the season',\n inTheCategorySignaledMatch: 'in the indicated categories for the match',\n offside: 'Offside',\n checkUrl: 'Check if you wrote a correct url',\n goToWebsiteHome: 'Go to canalinformacionpartidos.laliga.es',\n report: 'Report',\n matchReports: 'Match reports',\n matchInfo: 'Match info',\n documentUnavailable: 'Document completion pending',\n // MATCH\n titulars: 'Starting players',\n substitutes: 'Substitutes',\n alignment: 'Line-up',\n trainer: 'Manager',\n globalStats: 'Club-Competition statistics',\n foundationYear: 'Year founded',\n total_shots: 'Total shots',\n total_faults: 'Total fouls',\n total_passes: 'Total passes',\n possession_percentage: 'Percentage of possession',\n double_yellow_card: 'Two yellow cards',\n total_fouls_conceded: 'Total fouls',\n red_card_2nd_yellow: 'Two yellow cards',\n corners_won: 'Corners won',\n total_red_cards: 'Total red cards',\n total_successful_passes_excl_crosses_corners: 'Total successful passes',\n won_matches: 'Matches won',\n total_losses_of_possession: 'Total losses of possession',\n tied_matches: 'Matches drawn',\n successful_corners_into_box: 'Goals from corners',\n total_shots_conceded: 'Total shots against',\n corner: 'Corner',\n red_cards: 'Red cards',\n yellow_cards: 'Yellow cards',\n total_passes_successfully: 'Total successful passes',\n win_matches: 'Matches won',\n total_possession_lost: 'Total losses of possession',\n lost_matches: 'Matches lost',\n tie_matches: 'Matches drawn',\n corner_goals: 'Goals from corners',\n total_shots_received: 'Total shots against',\n priorToBeginning: 'Prior to match',\n duringBreak: 'During half-time',\n afterTheMatch: 'Post-match',\n period: 'Period',\n actType: 'Event type',\n description: 'Description',\n observations: 'Observations',\n noObservations: 'No observations',\n // REFEREES\n totalWinnings: 'Total victories',\n totalDraws: 'Total draws',\n totalDefeats: 'Total losses',\n arbitratedMatches: 'Matches refereed',\n matchesWithReferees: 'Matches refereed',\n debut: 'Debut',\n arbitrationCollege: 'Referee association',\n total: 'total',\n DownloadOfficialDesignation: 'Download official designation',\n // KIT SELECTOR\n equipment: 'Uniform',\n referee: 'referee',\n rol: 'role',\n time: 'time',\n kit: 'uniform',\n rolHome: 'Home',\n rolAway: 'Visiting',\n downloadKitDesignation: 'Download official designation of KitSelector',\n downloadRefereeDesignation:\n 'Download official designation of Referee team',\n downloadGrassDesignation: 'Download grass status report',\n downloadSheetDesignation: 'Download Match Sheet',\n downloadActsDesignation: 'Download Countdown Protocol',\n goalkeeper: 'Goalkeeper',\n player: 'Player',\n countAcronim: '°',\n // GREENKEEPER\n meteorology: 'weather',\n pitch: 'pitch',\n grass: 'grass',\n president: 'president',\n officialWeb: 'official website',\n relativeHumidity: 'Relative humidity',\n precipitations: 'Precipitation type',\n dimensions: 'dimensions',\n floorTemperarure: 'Ground temperature',\n floorHardness: 'Ground hardness',\n grassType: 'Grass type',\n grasshybrid: 'Hybrid',\n none: 'None',\n hybridSystem: 'Hybrid grass',\n grassHeight: 'Grass height',\n grassProgram: 'Irrigation programme',\n // DIRECT\n clubStats: 'Club statistics',\n players: 'Players',\n averageDistanceTraveled: 'Average distance covered (km)',\n totalDistancePerTeam: 'Total distance by team (km)',\n playerWithTheMostDistanceTraveled:\n 'Player with the most distance covered',\n live: 'live',\n emptySubtitleLive: 'There are no events for this match yet',\n // COUNTDOWN\n realtime: 'Real time',\n times: 'Times',\n activities: 'Activities',\n // ACTS\n comments: 'Commentary',\n // DATA PROTECTION\n dataProtectionTitle: 'Privacy Policy',\n // PRIVACY POLICY\n privacyPolicyTitle: 'Basic data protection information',\n sessionExpired:\n 'The session has expired; please, log in to your account again',\n // EMPTY\n emptyTitle: 'Data not available',\n emptyTitleProtocol: 'Match without formal or commercial acts',\n emptySubtitle: 'The club has not included the information yet',\n emptySubtitleFullTime: 'No events have been included for this match',\n emptySubtitleMatchRequest:\n 'Clubs have not made any requests for this match',\n privateAccess: 'Login Office365',\n azureFailure:\n 'Cannot login with your Office365 account at the moment, try again.',\n missedPenalty: 'Missed penalty',\n substitutionInjury: 'Substitution Injury',\n substitutionTactical: 'Substitution tactic',\n localAndVisitant: 'local / visitant: ',\n refereeMatches: 'Matches refereed',\n backToHome: 'Go to home',\n\n // FALLBACK\n fallBackErrorTitle: 'An error has occured',\n fallBackErrordeDesc: 'Please reload the page and try again',\n },\n },\n};\n","export const theme = {\n // Colors\n red: '#ff0000',\n coral: '#FF4B44',\n blue: '#194beb',\n blueOpacity: 'rgba(0, 119, 200, 0.6)',\n blue2: '#0767a8',\n blue2Opacity: 'rgba(7, 103, 168, 0.6)',\n turquoise: '#00D4D6',\n light: '#F6F6F6',\n light2: 'rgba(235, 235, 236, 1)',\n light2Opacity: 'rgba(235, 235, 236, 0.6)',\n mainGrey: '#EBEBED',\n mainGreyOpacity: 'rgba(235, 235, 237, 0.9)',\n mainGreyMidOpacity: 'rgba(235, 235, 237, 0.6)',\n gray: '#d5d7d7',\n gray2: '#a9aeb4',\n gray3: '#333538',\n gray4: '#ebebec',\n gray5: '#605E6F',\n dark: '#25282a',\n darkWithOpacity: 'rgba(37, 40, 42, 0.9)',\n darkWithLowOpacity: 'rgba(37, 40, 42, 0.1)',\n dark2: '#1d282e',\n dark3: '#666869',\n dark4: '#000D16',\n dark4MidOpacity: 'rgba(0,13,22, 0.6)',\n dark4Opacity: 'rgba(0,13,22, 0.9)',\n black: '#131313',\n dark5: '#302F45',\n dark5Opacity: 'rgba(48, 47, 69,0.9)',\n headerBlack: '#00001B',\n yellow: '#f6be00',\n orange: '#ff6a39',\n white: '#ffffff',\n green: '#00B187',\n whiteWithOpacity: 'rgba(255,255,255,0.9)',\n whiteWithMidOpacity: 'rgba(255,255,255,0.6)',\n blueWithOpacity: 'rgba(0,119,200,0.9)',\n blue2WithOpacity: 'rgba(7, 103, 168, 0.9)',\n lightWithOpacity: 'rgba(235,235,236,0.9)',\n grayWithOpacity: 'rgba(213,215,215,0.9)',\n whiteWithLowOpacity: 'rgba(255,255,255,0.1)',\n purple: '#9B5CFF',\n\n success: '#70A370',\n danger: '#BA5555',\n\n dangerLight: '#C17170',\n\n // Fonts\n primaryFont: 'LALIGATextRegular',\n primaryFontMedium: 'LALIGATextRegular',\n primaryFontLight: 'LALIGATextLight',\n primaryFontBold: 'LALIGAText',\n primaryFontHead: 'LALIGAHeadlineStd',\n primaryFontHeadBold: 'LALIGAHeadlineStdBold',\n\n // Type scales\n h1: 37,\n h2: 29,\n h3: 23,\n h4: 19,\n h5: 15,\n headerTitle: 32,\n title: 24,\n button: 16,\n paragraph: 12,\n paragraphBig: 16,\n paragraphMedium: 13,\n paragraphSmall: 11,\n label: 10,\n shieldExtraBig: 120,\n shieldBig: 60,\n shieldMedium: 40,\n shieldSmall: 20,\n\n // Breakpoints\n breakpoints: {\n xs: 420,\n sm: 767,\n md: 900,\n lg: 1024,\n xl: 1330,\n },\n};\n","export default {\n login: '/',\n confirm: '/confirm/:code?',\n register: '/register',\n confirmation: '/register-confirmation',\n passwordRecovery: '/password-recovery',\n dashboard: '/dashboard',\n match: '/match/:id',\n changePassword: '/change-password/:code?',\n privateDocs: '/private-documents/:id',\n failure: '/failure',\n error: '/error',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Route, Redirect } from 'react-router-dom';\nimport { useSelector } from 'react-redux';\n\nexport default function RouteWrapper({\n component: Component,\n routes,\n isPrivate,\n ...rest\n}) {\n const signed = useSelector(state => state.auth.signed);\n\n if (isPrivate && !signed && rest.location.pathname !== '/error') {\n return ;\n }\n if (!isPrivate && signed && rest.location.pathname !== '/error') {\n return ;\n }\n\n return (\n }\n />\n );\n}\n\nRouteWrapper.propTypes = {\n component: PropTypes.oneOfType([PropTypes.element, PropTypes.func])\n .isRequired,\n routes: PropTypes.arrayOf(PropTypes.object),\n isPrivate: PropTypes.bool,\n hasNavBar: PropTypes.bool,\n};\n\nRouteWrapper.defaultProps = {\n routes: null,\n isPrivate: false,\n hasNavBar: false,\n};\n","import styled from 'styled-components/macro';\n\nexport const Button = styled.button`\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.button}px;\n padding: 3px;\n`;\n","import React from 'react';\nimport * as S from './styles';\n\nexport default function Button(props) {\n return ;\n}\n","import styled from 'styled-components/macro';\nimport { Scrollbar } from 'react-scrollbars-custom';\n\nexport const ScrollBar = styled(Scrollbar)`\n width: 100%;\n height: 100%;\n position: relative;\n &.native > div {\n position: absolute;\n top: 0px;\n left: 0px;\n width: 100%;\n }\n`;\n\nexport const ScrollBarNative = styled.div`\n width: 100%;\n height: 100%;\n position: relative;\n overflow-y: auto;\n`;\n\nexport const Scroller = styled.div`\n position: relative;\n`;\n\nexport const Wrapper = styled.div`\n right: 0px !important;\n display: flex;\n flex-direction: column;\n`;\n\nexport const Track = styled.div`\n width: 6px !important;\n right: 2px !important;\n z-index: 2;\n`;\n\nexport const Content = styled.div`\n height: 100% !important;\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './styles';\n\nconst ScrollbarCustom = ({ children, className }) => {\n return (\n (\n \n ),\n }}\n wrapperProps={{\n // eslint-disable-next-line react/prop-types\n renderer: ({ elementRef, ...restProps }) => {\n return ;\n },\n }}\n trackYProps={{\n // eslint-disable-next-line react/prop-types\n renderer: ({ elementRef, ...restProps }) => {\n return ;\n },\n }}\n contentProps={{\n // eslint-disable-next-line react/prop-types\n renderer: ({ elementRef, ...restProps }) => {\n return ;\n },\n }}\n >\n {children}\n \n );\n};\n\nScrollbarCustom.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n};\n\nScrollbarCustom.defaultProps = {\n children: null,\n className: null,\n};\n\nexport default ScrollbarCustom;\n","import styled from 'styled-components/macro';\n\nexport const Image = styled.img``;\n","import React from 'react';\nimport * as S from './styles';\n\nexport default function Image(props) {\n return ;\n}\n","const images = {\n beat: `${process.env.REACT_APP_BASE_ASSETS_URL}logos/2023_ll_monocromatic-positive-h_background.svg`,\n beatWhite: `${process.env.REACT_APP_BASE_ASSETS_URL}logos/2023_ll_monocromatic-positive-h_background.svg`,\n grass: `${process.env.REACT_APP_BASE_ASSETS_URL}app_canal_informacion_partidos/Campo.svg`,\n court: `${process.env.REACT_APP_BASE_ASSETS_URL}app_canal_informacion_partidos/terreno.svg`,\n logoBlackHorizontal: `${process.env.REACT_APP_BASE_ASSETS_URL}logos/2023_laliga-color-h.svg`,\n logoWhiteHorizontal: `${process.env.REACT_APP_BASE_ASSETS_URL}logos/2023_laliga-color-h.svg`,\n logoBlackVertical: `${process.env.REACT_APP_BASE_ASSETS_URL}logos/2023_laliga-color-h.svg`,\n logoWhiteVertical: `${process.env.REACT_APP_BASE_ASSETS_URL}logos/2023_laliga-color-h.svg`,\n logoLaligaSantanderBlack: `${process.env.REACT_APP_BASE_ASSETS_URL}logos/laliga-santander-monocromatic-positive-h.png`,\n horizontalHalfField: `${process.env.REACT_APP_BASE_ASSETS_URL}app_canal_informacion_partidos/campo_izqda.svg`,\n lockView: `${process.env.REACT_APP_BASE_ASSETS_URL}app_canal_informacion_partidos/change_orientation.gif`,\n notFoundBackground: `${process.env.REACT_APP_BASE_ASSETS_URL}app_canal_informacion_partidos/404.jpg`,\n flags: `${process.env.REACT_APP_BASE_ASSETS_URL}flags`,\n personPlaceholder:\n 'https://assets.laliga.com/assets/useful/default-player/512x512/manager_003.png',\n playerPlaceholder: `${process.env.REACT_APP_BASE_ASSETS_URL}jugadores/male_001.png`,\n warning: `${process.env.REACT_APP_BASE_ASSETS_URL}app_manager/warning.png`,\n};\n\nexport default images;\n","import styled from 'styled-components/macro';\nimport Button from '~/components/Button';\nimport images from '~/constants/images';\n\nexport const FormContainer = styled.div`\n width: ${({ width }) => width || 100}%;\n min-width: 330px;\n display: flex;\n flex-direction: column;\n max-width: ${({ maxWidth }) => maxWidth || '100%'};\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n width: 100%;\n height: ${props => (props.height ? props.height : '100vh')};\n min-width: 0;\n }\n`;\n\nexport const Form = styled.form`\n display: ${({ flex }) => (flex ? 'flex' : 'grid')};\n ${({ flex }) =>\n flex\n ? 'flex-direction: column;align-items: center;justify-content: center;'\n : 'grid-column-gap: 40px;'};\n justify-content: ${({ position }) => position || 'center'};\n ${({ columns }) =>\n columns === 2\n ? `grid-template-columns: calc(50% - 20px) calc(50% - 20px);`\n : ``};\n width: ${({ hasWidth }) => hasWidth || 100}%;\n min-width: 320px;\n border: 10px solid ${({ theme }) => theme.mainGrey};\n padding: 20px 60px;\n background-color: ${({ theme }) => theme.white};\n ${({ areas }) => areas && areas.lg && `grid-template-areas: ${areas.lg};`};\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n align-content: start;\n border: 0;\n height: ${props =>\n props.hasHeight ? props.hasHeight : 'calc(100vh - 130px)'};\n padding: 5%;\n ${({ columns }) => (columns === 2 ? `grid-template-columns:100%;` : ``)}\n ${({ areas }) => areas && areas.xs && `grid-template-areas: ${areas.xs};`}\n }\n`;\n\nexport const ErrorMessage = styled.p`\n font-family: ${({ theme }) => theme.primaryFontMedium};\n color: ${({ theme }) => theme.dangerLight};\n font-size: ${({ theme }) => theme.label}px;\n line-height: 11px;\n padding: 5px;\n opacity: ${({ shouldShow }) => (shouldShow ? 1 : 0)};\n transition: opacity 0.3s;\n height: auto;\n width: 100%;\n margin-top: ${({ forcePosition }) => (forcePosition ? -10 : 0)}px;\n`;\n\nexport const FormHeader = styled.div`\n width: 100%;\n display: flex;\n flex-direction: column;\n max-width: auto;\n`;\n\nexport const Logo = styled.div`\n width: 100%;\n height: ${({ vertical }) => (!vertical ? 50 : 80)}px;\n background-image: ${({ vertical }) =>\n `url(${\n !vertical ? images.logoBlackHorizontal : images.logoBlackVertical\n })`};\n background-size: contain;\n background-repeat: no-repeat;\n background-position: center;\n margin-bottom: 34px;\n`;\n\nexport const FormTitle = styled.p`\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.h4}px;\n width: 100%;\n text-align: center;\n margin: 10px 0;\n`;\n\nexport const FormSubtitle = styled.p`\n font-family: ${({ theme }) => theme.primaryFontLight};\n font-size: ${({ theme }) => theme.paragraph}px;\n width: 100%;\n text-align: center;\n margin: 10px 0 0;\n color: ${({ theme }) => theme.dark};\n`;\n\nexport const ConfirmationSuccessMessage = styled.p`\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.h5}px;\n color: ${({ theme }) => theme.blue};\n width: 100%;\n text-align: center;\n`;\n\nexport const SubmitButton = styled(Button)`\n width: 304px;\n min-height: 40px;\n border-style: none;\n background-color: ${({ theme, disabled }) =>\n disabled ? theme.gray : theme.headerBlack};\n font-family: ${({ theme }) => theme.primaryFontBold};\n color: ${({ theme, disabled }) => (disabled ? theme.gray2 : theme.light)};\n transition: color 0.3s, background-color 0.3s;\n margin: 5px 0 10px;\n`;\n\nexport const CancelButton = styled(Button)`\n width: 304px;\n height: 40px;\n border-style: none;\n background-color: transparent;\n color: ${({ theme, disabled }) => (disabled ? theme.gray2 : theme.dark)};\n transition: color 0.3s, background-color 0.3s;\n margin: 0 0 10px;\n`;\n\nexport const Advice = styled.p`\n width: 100%;\n text-align: center;\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.paragraph}px;\n margin-bottom: 10px;\n`;\n\nexport const LoginZone = styled.div`\n width: 100%;\n padding: 10px;\n display: flex;\n align-items: center;\n border-left: 10px solid ${({ theme }) => theme.mainGrey};\n border-right: 10px solid ${({ theme }) => theme.mainGrey};\n border-bottom: 10px solid ${({ theme }) => theme.mainGrey};\n background-color: ${({ theme }) => theme.white};\n\n p {\n width: 50%;\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.h5}px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n div {\n width: 50%;\n padding: 5px;\n a {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n max-width: 270px;\n height: 40px;\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.button}px;\n padding: 3px;\n border-style: none;\n background-color: ${({ theme, disabled }) =>\n disabled ? theme.gray : theme.dark};\n color: ${({ theme, disabled }) => (disabled ? theme.gray2 : theme.light)};\n transition: color 0.3s, background-color 0.3s;\n margin: 0;\n }\n button {\n background-color: 'black';\n }\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n border: 0;\n height: 130px;\n background-color: ${({ theme }) => theme.mainGrey};\n display: flex;\n align-items: center;\n padding: 0;\n justify-content: center;\n position: relative;\n flex-direction: column;\n\n &:before {\n content: ' ';\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n opacity: 0.1;\n background-image: url(${images.beat});\n background-repeat: no-repeat;\n background-position: center 110%;\n z-index: 0;\n }\n\n p {\n color: ${({ theme }) => theme.dark};\n }\n\n > div {\n display: flex;\n justify-content: center;\n z-index: 5;\n }\n }\n`;\n\nexport const RegisterZone = styled.div`\n width: 100%;\n padding: 20px;\n display: flex;\n flex-direction: column;\n align-items: center;\n border-left: 10px solid ${({ theme }) => theme.mainGrey};\n border-right: 10px solid ${({ theme }) => theme.mainGrey};\n border-bottom: 10px solid ${({ theme }) => theme.mainGrey};\n background-color: ${({ theme }) => theme.white};\n\n p {\n width: 100%;\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.h4}px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 10px;\n }\n div {\n width: 100%;\n padding: 5px;\n display: flex;\n justify-content: center;\n a,\n button {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n max-width: 304px;\n height: 40px;\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.button}px;\n padding: 3px;\n border-style: none;\n background-color: ${({ theme, disabled }) =>\n disabled ? theme.gray : theme.headerBlack};\n color: ${({ theme, disabled }) => (disabled ? theme.gray2 : theme.light)};\n transition: color 0.3s, background-color 0.3s;\n margin: 0;\n }\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n border: 0;\n height: 130px;\n background-color: ${({ theme }) => theme.white};\n display: flex;\n align-items: center;\n padding: 0;\n justify-content: center;\n position: relative;\n\n &:before {\n content: ' ';\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n opacity: 0.1;\n background-image: url(${images.beat});\n background-repeat: no-repeat;\n background-position: center 110%;\n\n z-index: 0;\n }\n\n p {\n color: ${({ theme }) => theme.light};\n }\n\n > div {\n z-index: 5;\n }\n }\n`;\n\nexport const Return = styled.div`\n width: 100%;\n display: flex;\n font-family: ${({ theme }) => theme.primaryFontMedium};\n justify-content: center;\n a {\n color: ${({ theme }) => theme.headerBlack};\n font-family: ${({ theme }) => theme.primaryFont};\n }\n`;\n\nexport const SmallNotification = styled.p`\n width: 100%;\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.label}px;\n color: ${({ theme }) => theme.dark2};\n margin: 0 0 10px;\n`;\n\nexport const Aligner = styled.div`\n width: 100%;\n display: flex;\n justify-content: center;\n`;\n\nexport const checkboxText = styled.label`\n width: calc(100% - 30px);\n font-size: ${({ theme }) => theme.label}px;\n position: absolute;\n left: 30px;\n top: 8px;\n\n span {\n font-family: ${({ theme }) => theme.primaryFontBold};\n text-decoration: underline;\n cursor: pointer;\n }\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './styles';\n\nexport default function Form({ children, ...props }) {\n return (\n \n {children.map(component => {\n return component;\n })}\n \n );\n}\n\nForm.defaultProps = {\n children: <>,\n};\n\nForm.propTypes = {\n children: PropTypes.node,\n};\n","import React from 'react';\n\nexport default function FootballEventIcon({ ...rest }) {\n return (\n \n \n \n \n \n \n \n \n \n );\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function AvatarIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nAvatarIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nAvatarIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function CalendarIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nCalendarIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nCalendarIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function ChevronDownIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nChevronDownIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nChevronDownIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function ChevronLeftIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nChevronLeftIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nChevronLeftIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function ChevronRightIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nChevronRightIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nChevronRightIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function ChevronUpIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nChevronUpIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nChevronUpIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function IdCardIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nIdCardIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nIdCardIcon.defaultProps = {\n size: 19,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function LockIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nLockIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nLockIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function MailIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nMailIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nMailIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function PhonePortraitIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nPhonePortraitIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nPhonePortraitIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function ResetIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nResetIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nResetIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function StopwatchIcon({ size, color }) {\n return (\n \n \n \n );\n}\n\nStopwatchIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nStopwatchIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function StopwatchWithBallIcon({ size, color }) {\n return (\n \n \n \n );\n}\n\nStopwatchWithBallIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nStopwatchWithBallIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function FieldIcon({ size, color }) {\n return (\n \n \n \n );\n}\n\nFieldIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nFieldIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function WeatherIcon({ size, color }) {\n return (\n \n \n \n );\n}\n\nWeatherIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nWeatherIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function HumidityIcon({ size, color }) {\n return (\n \n \n \n );\n}\n\nHumidityIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nHumidityIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function TemperatureIcon({ size, color }) {\n return (\n \n \n \n );\n}\n\nTemperatureIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nTemperatureIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function CloseIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nCloseIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nCloseIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function FootBallIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nFootBallIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nFootBallIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function FootBallNegativeIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nFootBallNegativeIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nFootBallNegativeIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function ClockIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nClockIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nClockIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function FirstAidIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nFirstAidIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nFirstAidIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function CardIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nCardIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nCardIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function CopyIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nCopyIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nCopyIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function StarIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nStarIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nStarIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function DoubleArrowIcon({ size, color, ...rest }) {\n return (\n \n \n \n \n );\n}\n\nDoubleArrowIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nDoubleArrowIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function DownloadIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nDownloadIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nDownloadIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function HeightIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nHeightIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nHeightIcon.defaultProps = {\n size: 20,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function DimensionsIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nDimensionsIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nDimensionsIcon.defaultProps = {\n size: 22,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function HardnessIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nHardnessIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nHardnessIcon.defaultProps = {\n size: 22,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function HibrydIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nHibrydIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nHibrydIcon.defaultProps = {\n size: 24,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function ProgramIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nProgramIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nProgramIcon.defaultProps = {\n size: 20,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function HibrydSystemIcon({ size, color, ...rest }) {\n return (\n \n \n \n \n \n \n );\n}\n\nHibrydSystemIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nHibrydSystemIcon.defaultProps = {\n size: 21,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function GrassIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nGrassIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nGrassIcon.defaultProps = {\n size: 24,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function PrecipitationsIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nPrecipitationsIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nPrecipitationsIcon.defaultProps = {\n size: 21,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function ActsIcon({ size, color, ...rest }) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\nActsIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nActsIcon.defaultProps = {\n size: 20,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function CountdownIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nCountdownIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nCountdownIcon.defaultProps = {\n size: 18,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function RefereeIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nRefereeIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nRefereeIcon.defaultProps = {\n size: 18,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function GrassStatusIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nGrassStatusIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nGrassStatusIcon.defaultProps = {\n size: 25,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function MatchSheetIcon({ size, color, ...rest }) {\n return (\n \n \n \n \n \n \n \n \n \n );\n}\n\nMatchSheetIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nMatchSheetIcon.defaultProps = {\n size: 23,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function KitSelectorIcon({ size, color, ...rest }) {\n return (\n \n \n \n \n \n );\n}\n\nKitSelectorIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nKitSelectorIcon.defaultProps = {\n size: 21,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function GoalIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nGoalIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nGoalIcon.defaultProps = {\n size: 10,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function WeatherIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nWeatherIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nWeatherIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function WeatherIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nWeatherIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nWeatherIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function WeatherIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nWeatherIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nWeatherIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function WeatherIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nWeatherIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nWeatherIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function PlayerMiniShirtIcon({ size, color, text, ...rest }) {\n return (\n \n \n \n \n \n {text}\n \n \n \n \n );\n}\nPlayerMiniShirtIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n text: PropTypes.string,\n};\nPlayerMiniShirtIcon.defaultProps = {\n size: 23,\n color: '#000',\n text: '',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function MenuIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nMenuIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nMenuIcon.defaultProps = {\n size: 19,\n color: '#FFF',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function GoalNetIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nGoalNetIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nGoalNetIcon.defaultProps = {\n size: 20,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { theme } from '~/styles/theme';\n\nexport default function DoubleYellowIcon({ size, ...rest }) {\n return (\n \n \n \n );\n}\n\nDoubleYellowIcon.propTypes = {\n size: PropTypes.number,\n};\n\nDoubleYellowIcon.defaultProps = {\n size: 15,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { theme } from '~/styles/theme';\n\nexport default function YellowCardIcon({ size, ...rest }) {\n return (\n \n \n \n );\n}\n\nYellowCardIcon.propTypes = {\n size: PropTypes.number,\n};\n\nYellowCardIcon.defaultProps = {\n size: 15,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function FootballShotIcon({ size, color, ...rest }) {\n return (\n \n \n \n \n );\n}\n\nFootballShotIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nFootballShotIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { theme } from '~/styles/theme';\n\nexport default function RedCardIcon({ size, ...rest }) {\n return (\n \n \n \n );\n}\n\nRedCardIcon.propTypes = {\n size: PropTypes.number,\n};\n\nRedCardIcon.defaultProps = {\n size: 15,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function InjurySubstitutionIcon({ size, ...rest }) {\n return (\n \n \n \n \n \n \n \n \n );\n}\n\nInjurySubstitutionIcon.propTypes = {\n size: PropTypes.number,\n};\n\nInjurySubstitutionIcon.defaultProps = {\n size: 18,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function TacticalSubstitutionIcon({ size, ...rest }) {\n return (\n \n \n \n \n \n \n \n );\n}\n\nTacticalSubstitutionIcon.propTypes = {\n size: PropTypes.number,\n};\n\nTacticalSubstitutionIcon.defaultProps = {\n size: 18,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function FileIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nFileIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nFileIcon.defaultProps = {\n size: 20,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function DotsIcon({ size, color, ...rest }) {\n return (\n \n \n \n \n \n );\n}\n\nDotsIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nDotsIcon.defaultProps = {\n size: 15,\n color: '#000',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function DocumentIcon({ size, color, ...rest }) {\n return (\n \n \n \n );\n}\n\nDocumentIcon.propTypes = {\n size: PropTypes.number,\n color: PropTypes.string,\n};\n\nDocumentIcon.defaultProps = {\n size: 22,\n color: '#000',\n};\n","import React from 'react';\n\nexport default function OwnGoal({ ...rest }) {\n return (\n \n \n \n \n \n \n \n \n \n );\n}\n","import React from 'react';\n\nexport default function MissedPenalty({ ...rest }) {\n return (\n \n \n \n \n \n \n \n \n \n );\n}\n","import React from 'react';\nimport {\n AvatarIcon,\n ChevronDownIcon,\n ChevronUpIcon,\n MailIcon,\n LockIcon,\n PhonePortraitIcon,\n IdCardIcon,\n ResetIcon,\n CalendarIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n StopwatchIcon,\n StopwatchWithBallIcon,\n FieldIcon,\n WeatherIcon,\n HumidityIcon,\n TemperatureIcon,\n CloseIcon,\n FootBallIcon,\n FootBallNegativeIcon,\n ClockIcon,\n FirstAidIcon,\n CardIcon,\n CopyIcon,\n StarIcon,\n DoubleArrowIcon,\n DownloadIcon,\n HeightIcon,\n DimensionsIcon,\n HardnessIcon,\n HibrydIcon,\n ProgramIcon,\n HibrydSystemIcon,\n GrassIcon,\n PrecipitationsIcon,\n ActsIcon,\n CountdownIcon,\n RefereeIcon,\n GrassStatusIcon,\n MatchSheetIcon,\n KitSelectorIcon,\n GoalIcon,\n LiveIcon,\n StatsIcon,\n InfoIcon,\n PreviousIcon,\n PlayerMiniShirtIcon,\n MenuIcon,\n FootballEventIcon,\n GoalNetIcon,\n DoubleYellowIcon,\n YellowCardIcon,\n FootballShotIcon,\n RedCardIcon,\n InjurySubstitutionIcon,\n TacticalSubstitutionIcon,\n FileIcon,\n DotsIcon,\n DocumentIcon,\n OwnGoal,\n MissedPenalty,\n} from '~/components/Icon/library';\n\nconst icons = {\n avatar: ,\n chevronDown: ,\n chevronUp: ,\n chevronLeft: ,\n chevronRight: ,\n mail: ,\n lock: ,\n phonePortrait: ,\n idCard: ,\n reset: ,\n calendar: ,\n stopwatch: ,\n stopwatchWithBall: ,\n field: ,\n weather: ,\n humidity: ,\n temperature: ,\n close: ,\n football: ,\n footballNegative: ,\n clock: ,\n firstAid: ,\n card: ,\n copy: ,\n star: ,\n doubleArrow: ,\n download: ,\n height: ,\n dimensions: ,\n hardness: ,\n hibryd: ,\n program: ,\n hibrydSystem: ,\n grass: ,\n precipitations: ,\n acts: ,\n countdown: ,\n referee: ,\n grassStatus: ,\n matchSheet: ,\n kitSelector: ,\n goal: ,\n live: ,\n stats: ,\n info: ,\n previous: ,\n miniShirt: ,\n menu: ,\n footballEvent: ,\n goalNet: ,\n doubleYellow: ,\n yellowCard: ,\n footballShot: ,\n redCard: ,\n injurySubstitution: ,\n tacticalSubstitution: ,\n file: ,\n dots: ,\n document: ,\n ownGoal: ,\n missedPenalty: ,\n};\n\nexport default icons;\n","import { ThemeContext } from 'styled-components';\nimport { useContext } from 'react';\nimport { PropTypes } from 'prop-types';\nimport icons from '~/constants/icons';\nimport RenderWithProps from '~/utils/renderWithProps';\n\nfunction useTheme() {\n return useContext(ThemeContext);\n}\n\nexport default function Icon({ name, size, color, className, text, ...rest }) {\n const theme = useTheme();\n\n return RenderWithProps(icons[name], {\n size,\n color: theme[color],\n className,\n text,\n ...rest,\n });\n}\n\nIcon.propTypes = {\n name: PropTypes.string,\n size: PropTypes.number,\n color: PropTypes.string,\n className: PropTypes.string,\n text: PropTypes.string,\n};\n\nIcon.defaultProps = {\n name: 'avatar',\n size: 15,\n color: 'dark',\n text: '',\n};\n","import React from 'react';\n\nexport default function RenderWithProps(Component, extraProps) {\n return ;\n}\n","import styled from 'styled-components/macro';\n\nexport const HeaderGroup = styled.div`\n position: relative;\n width: auto;\n height: 100%;\n font-size: ${({ theme }) => theme.h5}px;\n color: ${({ theme }) => theme.headerBlack};\n font-family: ${({ theme }) => theme.primaryFontLight};\n float: right;\n padding-left: 15px;\n padding-top: 6px;\n cursor: pointer;\n\n div {\n display: ${({ isOpen }) => (isOpen ? 'block' : 'none')};\n }\n`;\n\nexport const FoldedMenu = styled.div`\n min-height: 35px;\n min-width: 150px;\n background-color: white;\n position: absolute;\n right: 0;\n ${({ invert }) => (invert ? 'bottom: 50px' : 'top: 50px')};\n box-shadow: 3px 3px 5px 3px rgba(0, 0, 0, 0.3);\n`;\n\nexport const FoldedMenuTrigger = styled.p`\n display: flex;\n align-items: center;\n justify-content: center;\n\n svg {\n color: ${({ theme }) => theme.headerBlack};\n margin-left: 5px;\n }\n`;\n\nexport const FoldedMenuOption = styled.button`\n border-style: none;\n width: 100%;\n text-align: left;\n background-color: transparent;\n line-height: 35px;\n font-size: ${({ theme }) => theme.h5}px;\n color: ${({ theme }) => theme.dark};\n font-family: ${({ theme }) => theme.primaryFontLight};\n padding: 0 15px 0 15px;\n transition: background-color 0.2s, color 0.2s;\n\n &:hover {\n background-color: ${({ theme }) => theme.dark};\n color: ${({ theme }) => theme.light};\n }\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport onClickOutside from 'react-onclickoutside';\nimport Icon from '~/components/Icon';\nimport * as S from './styles';\n\nclass FoldedMenu extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n isOpen: false,\n };\n }\n\n handleClickOutside = () => {\n this.setState({\n isOpen: false,\n });\n };\n\n render() {\n const { isOpen } = this.state;\n const { label, options, invert } = this.props;\n\n return (\n \n this.setState({ isOpen: true })}>\n {label}\n \n \n \n {options.map(opt => {\n return (\n {\n opt.action();\n this.setState({\n isOpen: false,\n });\n }}\n >\n {opt.label}\n \n );\n })}\n \n \n );\n }\n}\n\nFoldedMenu.propTypes = {\n options: PropTypes.array,\n label: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n invert: PropTypes.bool,\n};\n\nFoldedMenu.defaultProps = {\n options: [],\n label: '',\n invert: false,\n};\n\nexport default onClickOutside(FoldedMenu);\n","import styled, { keyframes } from 'styled-components/macro';\nimport { Spinner2 } from 'styled-icons/evil';\n\nexport const Download = styled.div`\n width: 270px;\n height: 40px;\n background-color: ${({ disabled, theme }) =>\n disabled ? theme.gray : theme.dark4};\n color: ${({ disabled, theme }) =>\n disabled ? 'rgba(0,0,0,0.7)' : theme.white} !important;\n position: fixed;\n bottom: 0;\n left: calc(50% - 125px);\n right: calc(50% + 125px);\n cursor: ${({ disabled }) => (disabled ? 'default' : 'pointer')};\n display: flex;\n z-index: 500;\n > div {\n display: flex;\n justify-content: center;\n align-items: center;\n font-family: ${({ theme }) => theme.primaryFontBold};\n\n &:first-child {\n width: calc(100% - 40px);\n font-size: ${({ theme }) => theme.paragraph}px;\n text-align: center;\n padding: 8px 5px 5px;\n line-height: 14px;\n }\n\n &:last-child {\n width: 40px;\n background-color: ${({ theme, disabled, competition }) =>\n (competition === 2 && !disabled && theme.turquoise) ||\n (competition === 1 && !disabled && theme.coral) ||\n (disabled && theme.gray)};\n }\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n width: 100%;\n top: 99px;\n left: 0;\n right: 0;\n }\n`;\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n`;\n\nexport const Spinner = styled(Spinner2)`\n color: ${({ theme }) => theme.whiteWithOpacity};\n animation: ${rotate} 0.8s linear infinite;\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport Icon from '~/components/Icon';\nimport * as S from './styles';\n\nexport default function Download({\n text,\n disabled,\n loading,\n competition,\n ...rest\n}) {\n const { t } = useTranslation();\n return (\n \n
{disabled ? t('documentUnavailable') : text}
\n
\n {loading ? (\n \n ) : (\n \n )}\n
\n
\n );\n}\n\nDownload.propTypes = {\n text: PropTypes.string,\n disabled: PropTypes.bool,\n loading: PropTypes.bool,\n competition: PropTypes.number,\n};\n\nDownload.defaultProps = {\n text: null,\n disabled: false,\n loading: false,\n competition: 1,\n};\n","import styled from 'styled-components/macro';\n\nexport const Cell = styled.div`\n grid-area: ${props => props.area};\n display: flex;\n align-items: center;\n justify-content: ${({ centered }) => (centered ? `center` : ``)};\n position: relative;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n button {\n width: 100%;\n }\n }\n`;\n","import React from 'react';\nimport * as S from './styles';\n\nexport default function GridCell(props) {\n return ;\n}\n","import styled from 'styled-components/macro';\nimport { Link } from 'react-router-dom';\n\nexport const CustomLink = styled(Link)`\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.paragraph}px;\n color: ${({ theme, color }) => theme[color] || theme.dark};\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './styles';\n\nconst Link = ({ title, ...props }) => {\n return ;\n};\n\nLink.propTypes = {\n title: PropTypes.string,\n};\n\nLink.defaultProps = {\n title: '',\n};\n\nexport default Link;\n","import styled, { keyframes } from 'styled-components/macro';\nimport { Icon } from '~/components';\n\nconst placeholderAnimation = keyframes`\n 0%{\n opacity: 1;\n }\n 50%{\n opacity: .3;\n }\n 100%{\n opacity: 1;\n }\n`;\n/*\nconst appear = keyframes`\n 0%{\n opacity: 0;\n }\n 100%{\n opacity: 1;\n }\n`;\n*/\n\nexport const Container = styled.div`\n width: ${props => (props.fullWidth ? '100%' : 'auto')};\n ${({ fixedColumn }) =>\n fixedColumn\n ? `\n max-width: 100%;\n overflow-x: auto;\n `\n : ``}\n table {\n border-spacing: 0;\n width: ${props => (props.fullWidth ? '100%' : 'auto')};\n border-style: none;\n background-color: ${props =>\n props.backgroundColor ? props.backgroundColor : 'transparent'};\n thead {\n font-size: 9px;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n height: 50px;\n }\n th {\n color: ${({ textHeaderColor, theme }) => textHeaderColor || theme.dark};\n background-color: ${props =>\n props.headerColor ? props.headerColor : 'transparent'};\n ${({ fixedHeader }) => {\n if (fixedHeader)\n return `\n &:first-child {\n position: sticky;\n top: 0px;\n z-index: 1;\n }\n `;\n return null;\n }}\n ${({ fixedColumn, theme }) => {\n if (fixedColumn)\n return `\n &:first-child {\n position: sticky;\n left: 0px;\n z-index: 1;\n border-right: solid 1px ${theme.darkWithLowOpacity}\n }\n `;\n return null;\n }}\n & > div {\n display: flex;\n align-items: center;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n ${({ responsiveHeader }) =>\n responsiveHeader\n ? `\n position: relative;\n & > div {\n position: absolute;\n max-width: 82px;\n text-align: right;\n right: 50%;\n bottom: 7px;\n transform: rotate(45deg);\n transform-origin: 100% 100%;\n }\n }\n `\n : ''}\n }\n }\n }\n tfoot tr {\n font-size: 12px;\n color: ${({ theme }) => theme.white};\n position: sticky;\n bottom: 0px;\n td {\n background-color: ${props => props.theme.dark};\n padding: 16px 6px;\n ${({ fixedColumn }) => {\n if (fixedColumn)\n return `\n &:first-child {\n position: sticky;\n left: 0px;\n z-index: 1;\n }\n `;\n return null;\n }}\n }\n }\n tbody tr {\n font-size: 12px;\n color: ${props => (props.textColor ? props.textColor : props.theme.dark)};\n &:nth-child(2n -1) {\n td {\n background-color: ${props =>\n props.primaryColor ? props.primaryColor : 'transparent'};\n }\n }\n &:nth-child(2n) {\n td {\n background-color: ${props =>\n props.secondaryColor ? props.secondaryColor : 'transparent'};\n }\n }\n td {\n padding: 16px 6px;\n ${({ fixedColumn, theme }) => {\n if (fixedColumn)\n return `\n &:first-child {\n position: sticky;\n left: 0px;\n z-index: 1;\n border-right: solid 1px ${theme.darkWithLowOpacity}\n }\n `;\n return null;\n }}\n & div {\n }\n }\n }\n th,\n td {\n margin: 0;\n padding: 0.5rem;\n border-style: none;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n padding: 5px;\n }\n }\n }\n`;\n\nexport const IconTable = styled(Icon)`\n fill: ${props => (props.textColor ? props.textColor : props.theme.dark)};\n margin-left: 7px;\n width: 10px;\n height: 10px;\n`;\n\nexport const PlaceholderData = styled.div`\n height: 10px;\n width: 80%;\n background-color: ${({ theme }) => theme.darkWithLowOpacity};\n animation: ${placeholderAnimation} 2s linear infinite;\n`;\n","/*\n//EXAMPLE USE\nconst columns = React.useMemo(\n () => [\n {\n Header: 'Age',\n accessor: 'age',\n },\n {\n Header: 'Visits',\n accessor: 'visits',\n },\n {\n Header: 'Status',\n accessor: 'status',\n },\n {\n Header: 'Profile Progress',\n accessor: 'progress',\n },\n ],\n []\n );\n const data = [\n { age: 1, visits: 2, status: 'example', progress: '45%' },\n { age: 1, visits: 2, status: 'example', progress: '45%' },\n { age: 1, visits: 2, status: 'example', progress: '45%' },\n { age: 1, visits: 2, status: 'example', progress: '45%' },\n { age: 1, visits: 2, status: 'example', progress: '45%' },\n { age: 1, visits: 2, status: 'example', progress: '45%' },\n ];\n\n \n*/\n\n/* eslint-disable no-nested-ternary */\nimport React from 'react';\nimport { useTable, useSortBy } from 'react-table';\nimport PropTypes from 'prop-types';\nimport { v4 } from 'uuid';\nimport { useSelector } from 'react-redux';\nimport * as S from './styles';\n\nfunction Table({\n columns,\n data,\n styleOptions,\n className,\n onRowClick,\n onMouseOut,\n header,\n selectedRow,\n hasFooter,\n limit,\n responsiveHeader,\n isFetching,\n placeholderNumElements,\n placeholderNumColumns,\n disableSort,\n fixedColumn,\n customTr,\n}) {\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n rows,\n prepareRow,\n footerGroups,\n } = useTable(\n {\n columns,\n data: data || [],\n },\n useSortBy\n );\n\n const PlaceholderHeader = () => {\n const placeholderColumns =\n columns && columns.length > 0\n ? columns\n : [...Array(placeholderNumColumns)];\n const row = placeholderColumns.map(() => {\n return (\n \n \n \n );\n });\n return {row};\n };\n\n const PlaceholderData = () => {\n const placeholderColumns =\n columns && columns.length > 0\n ? columns\n : [...Array(placeholderNumColumns)];\n const row = placeholderColumns.map(() => {\n return (\n \n \n \n );\n });\n return (\n <>\n {[...Array(placeholderNumElements)].map(() => (\n {row}\n ))}\n \n );\n };\n\n const firstPageRows = limit ? rows.slice(0, limit) : rows;\n if (isFetching) {\n return (\n \n {header}\n \n \n \n \n \n \n \n
\n \n );\n }\n\n const Tr = ({ ...props }) => {\n if (customTr) {\n return customTr(props);\n }\n return ;\n };\n\n const Td = ({ ...props }) => {\n return ;\n };\n\n return (\n \n {header}\n \n \n {isFetching && }\n {!isFetching &&\n headerGroups.map(headerGroup => (\n \n {headerGroup.headers.map((column, index) => (\n \n
\n {column.render('Header')}\n <>\n {column.isSorted ? (\n column.isSortedDesc ? (\n \n ) : (\n \n )\n ) : (\n ''\n )}\n \n
\n \n ))}\n
\n ))}\n \n \n {isFetching && }\n {!isFetching &&\n firstPageRows.map(row => {\n prepareRow(row);\n return (\n onRowClick(row),\n className:\n selectedRow === row.original.id\n ? 'table--selected'\n : null,\n })}\n className={\n selectedRow === row.original.id ? 'table--selected' : null\n }\n competition={match?.competition}\n >\n {row.cells.map(cell => {\n return (\n \n );\n })}\n \n );\n })}\n \n \n {hasFooter &&\n footerGroups &&\n footerGroups.map(group => (\n \n {group.headers.map(column => (\n \n ))}\n \n ))}\n \n
\n
\n {cell.value !== null && cell.value !== undefined\n ? cell.value\n : '-'}\n
\n
\n {column.render('Footer')}\n
\n \n );\n}\n\nTable.propTypes = {\n columns: PropTypes.array.isRequired,\n data: PropTypes.array.isRequired,\n styleOptions: PropTypes.object,\n className: PropTypes.string,\n onRowClick: PropTypes.func,\n onMouseOut: PropTypes.func,\n header: PropTypes.node,\n selectedRow: PropTypes.number,\n hasFooter: PropTypes.bool,\n limit: PropTypes.number,\n responsiveHeader: PropTypes.bool,\n isFetching: PropTypes.bool,\n placeholderNumElements: PropTypes.number,\n placeholderNumColumns: PropTypes.number,\n disableSort: PropTypes.bool,\n fixedColumn: PropTypes.bool,\n customTr: PropTypes.func,\n};\n\nTable.defaultProps = {\n styleOptions: {},\n className: null,\n onRowClick: () => {},\n onMouseOut: () => {},\n header: null,\n selectedRow: null,\n hasFooter: false,\n limit: null,\n responsiveHeader: false,\n fixedColumn: false,\n isFetching: false,\n placeholderNumElements: 5,\n placeholderNumColumns: 5,\n disableSort: false,\n customTr: null,\n};\n\nexport default Table;\n","import styled from 'styled-components/macro';\n\nexport const Container = styled.footer`\n position: absolute;\n display: flex;\n flex-direction: column;\n min-height: ${props => (props.isOpen ? '100%' : '0px')};\n transition: all 0.3s;\n width: 100%;\n bottom: 0;\n z-index: 12;\n`;\n","import styled from 'styled-components/macro';\nimport { Scrollbar } from '~/components';\n\nexport const Content = styled(Scrollbar)`\n flex-grow: 1;\n background-color: ${({ theme }) => theme.light2};\n flex: 1 1 0;\n overflow-y: auto;\n`;\n","export const match = {\n id: 12536,\n name:\n 'Temporada 2019/2020 - LaLiga Santander - CD Leganés - FC Barcelona - 14',\n slug: 'temporada-2019-2020-laliga-santander-cd-leganes-fc-barcelona-14',\n date: '2019-11-23T12:00:00+00:00',\n time: '2019-11-23T12:00:00+00:00',\n hashtag: 'LeganésBarça',\n competition: {\n id: 1,\n name: 'LaLiga Santander',\n slug: 'primera-division',\n main: true,\n opta_id: '23',\n old_hub_id: 1,\n },\n home_score: 1,\n away_score: 2,\n status: 'FullTime',\n attempt: 9465,\n attempt_official: true,\n home_team: {\n id: 54,\n slug: 'cd-leganes',\n name: 'Club Deportivo Leganés SAD',\n nickname: 'CD Leganés',\n boundname: 'CD Leganés',\n shortname: 'LEG',\n color: '#1476c4',\n color_secondary: '#ffffff',\n shirt_style: 'mono',\n foundation: '1928-06-23T00:00:00+00:00',\n web: 'http://www.deportivoleganes.com/',\n shield: {\n id: 225,\n name: 'Escudo LEG',\n caption: 'Escudo LEG',\n url: 'https://assets.laliga.com/assets/2019/06/07/xlarge/leganes.png',\n resizes: {\n xsmall:\n 'https://assets.laliga.com/assets/2019/06/07/xsmall/leganes.png',\n small: 'https://assets.laliga.com/assets/2019/06/07/small/leganes.png',\n medium:\n 'https://assets.laliga.com/assets/2019/06/07/medium/leganes.png',\n large: 'https://assets.laliga.com/assets/2019/06/07/large/leganes.png',\n xlarge:\n 'https://assets.laliga.com/assets/2019/06/07/xlarge/leganes.png',\n },\n },\n competitions: [],\n opta_id: 't957',\n old_hub_id: 54,\n trainer: {\n id: 18499,\n position: {\n id: 5,\n name: 'Entrenador',\n slug: 'entrenador',\n plural_name: 'Entrenador',\n female_name: 'Entrenadora',\n female_plural_name: 'Entrenador',\n },\n person: {\n id: 411,\n name: 'Ernesto Valverde Tejedor',\n nickname: 'Ernesto Valverde',\n firstname: 'Ernesto',\n lastname: 'Valverde Tejedor',\n gender: 'male',\n date_of_birth: '1964-02-09T00:00:00+00:00',\n international: false,\n country: {\n id: 'ES',\n },\n slug: 'valverde',\n },\n role: {\n name: 'Entrenador',\n female_name: 'Entrenadora',\n slug: 'entrenador',\n },\n },\n squad: [\n {\n id: 18476,\n shirt_number: 1,\n position: {\n id: 1,\n name: 'Portero',\n slug: 'portero',\n plural_name: 'Porteros',\n female_name: 'Portera',\n female_plural_name: 'Porteras',\n },\n person: {\n id: 1339,\n name: 'Marc-André Ter Stegen',\n nickname: 'Ter Stegen',\n firstname: 'Marc-André',\n lastname: 'Ter Stegen',\n gender: 'male',\n date_of_birth: '1992-04-30T00:00:00+00:00',\n place_of_birth: 'Mönchengladbach',\n weight: 85,\n height: 187,\n international: true,\n country: {\n id: 'DE',\n },\n slug: 'ter-stegen',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18478,\n shirt_number: 2,\n position: {\n id: 2,\n name: 'Defensa',\n slug: 'defensa',\n plural_name: 'Defensas',\n female_name: 'Defensa',\n female_plural_name: 'Defensas',\n },\n person: {\n id: 2658,\n name: 'Nelson Cabral Semedo',\n nickname: 'N. Semedo',\n firstname: 'Nelson',\n lastname: 'Cabral Semedo',\n gender: 'male',\n date_of_birth: '1993-11-16T00:00:00+00:00',\n place_of_birth: 'Lisboa',\n weight: 67,\n height: 177,\n international: true,\n country: {\n id: 'PT',\n },\n slug: 'n-semedo',\n },\n role: {\n titular: false,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18479,\n shirt_number: 3,\n position: {\n id: 2,\n name: 'Defensa',\n slug: 'defensa',\n plural_name: 'Defensas',\n female_name: 'Defensa',\n female_plural_name: 'Defensas',\n },\n person: {\n id: 5,\n name: 'Gerard Piqué Bernabéu',\n nickname: 'Piqué',\n firstname: 'Gerard',\n lastname: 'Piqué Bernabéu',\n gender: 'male',\n date_of_birth: '1987-02-02T00:00:00+00:00',\n place_of_birth: 'Barcelona',\n weight: 85,\n height: 194,\n international: true,\n country: {\n id: 'ES',\n },\n slug: 'pique',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18486,\n shirt_number: 4,\n position: {\n id: 3,\n name: 'Centrocampista',\n slug: 'centrocampista',\n plural_name: 'Centrocampistas',\n female_name: 'Centrocampista',\n female_plural_name: 'Centrocampistas',\n },\n person: {\n id: 137,\n name: 'Ivan Rakitić',\n nickname: 'I. Rakitic',\n firstname: 'Ivan',\n lastname: 'Rakitić',\n gender: 'male',\n date_of_birth: '1988-03-10T00:00:00+00:00',\n place_of_birth: 'Rheinfelden',\n weight: 78,\n height: 184,\n international: true,\n country: {\n id: 'CH',\n },\n slug: 'i-rakitic',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18487,\n shirt_number: 5,\n position: {\n id: 3,\n name: 'Centrocampista',\n slug: 'centrocampista',\n plural_name: 'Centrocampistas',\n female_name: 'Centrocampista',\n female_plural_name: 'Centrocampistas',\n },\n person: {\n id: 16,\n name: 'Sergio Busquets Burgos',\n nickname: 'Sergio',\n firstname: 'Sergio',\n lastname: 'Busquets Burgos',\n gender: 'male',\n date_of_birth: '1988-07-16T00:00:00+00:00',\n place_of_birth: 'Sabadell',\n weight: 76,\n height: 189,\n international: true,\n country: {\n id: 'ES',\n },\n slug: 'sergio',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18480,\n shirt_number: 6,\n position: {\n id: 2,\n name: 'Defensa',\n slug: 'defensa',\n plural_name: 'Defensas',\n female_name: 'Defensa',\n female_plural_name: 'Defensas',\n },\n person: {\n id: 9683,\n name: 'Jean-Clair Todibo',\n nickname: 'Todibo',\n firstname: 'Jean-Clair',\n lastname: 'Todibo',\n gender: 'male',\n date_of_birth: '1999-12-30T00:00:00+00:00',\n place_of_birth: 'Cayenne',\n weight: 81,\n height: 190,\n international: false,\n country: {\n id: 'GF',\n },\n slug: 'todibo',\n },\n role: {\n titular: false,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18489,\n shirt_number: 8,\n position: {\n id: 3,\n name: 'Centrocampista',\n slug: 'centrocampista',\n plural_name: 'Centrocampistas',\n female_name: 'Centrocampista',\n female_plural_name: 'Centrocampistas',\n },\n person: {\n id: 8586,\n name: 'Arthur Henrique Ramos de',\n nickname: 'Arthur',\n firstname: 'Arthur Henrique',\n lastname: 'Ramos de',\n gender: 'male',\n date_of_birth: '1996-08-12T00:00:00+00:00',\n place_of_birth: 'Goiânia',\n weight: 73,\n height: 171,\n international: false,\n country: {\n id: 'BR',\n },\n slug: 'arthur',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18493,\n shirt_number: 9,\n position: {\n id: 4,\n name: 'Delantero',\n slug: 'delantero',\n plural_name: 'Delanteros',\n female_name: 'Delantera',\n female_plural_name: 'Delanteras',\n },\n person: {\n id: 1460,\n name: 'Luis Alberto Suárez Díaz',\n nickname: 'Suárez',\n firstname: 'Luis Alberto',\n lastname: 'Suárez Díaz',\n gender: 'male',\n date_of_birth: '1987-01-24T00:00:00+00:00',\n place_of_birth: 'Salto',\n weight: 86,\n height: 182,\n international: true,\n country: {\n id: 'UY',\n },\n slug: 'suarez',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18494,\n shirt_number: 10,\n position: {\n id: 4,\n name: 'Delantero',\n slug: 'delantero',\n plural_name: 'Delanteros',\n female_name: 'Delantera',\n female_plural_name: 'Delanteras',\n },\n person: {\n id: 23,\n name: 'Lionel Andrés Messi',\n nickname: 'Messi',\n firstname: 'Lionel',\n lastname: 'Andrés Messi',\n gender: 'male',\n date_of_birth: '1987-06-24T00:00:00+00:00',\n place_of_birth: 'Rosario',\n weight: 72,\n height: 170,\n international: true,\n country: {\n id: 'AR',\n },\n slug: 'messi',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18475,\n shirt_number: 13,\n position: {\n id: 1,\n name: 'Portero',\n slug: 'portero',\n plural_name: 'Porteros',\n female_name: 'Portera',\n female_plural_name: 'Porteras',\n },\n person: {\n id: 2681,\n name: 'Norberto Murara Neto',\n nickname: 'Neto',\n firstname: 'Norberto',\n lastname: 'Murara Neto',\n gender: 'male',\n date_of_birth: '1989-07-19T00:00:00+00:00',\n place_of_birth: 'Araxá',\n weight: 84,\n height: 190,\n international: true,\n country: {\n id: 'BR',\n },\n slug: 'neto',\n },\n role: {\n titular: false,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18481,\n shirt_number: 15,\n position: {\n id: 2,\n name: 'Defensa',\n slug: 'defensa',\n plural_name: 'Defensas',\n female_name: 'Defensa',\n female_plural_name: 'Defensas',\n },\n person: {\n id: 5861,\n name: 'Clement Nicolas Laurent Lenglet',\n nickname: 'Lenglet',\n firstname: 'Clement Nicolas',\n lastname: 'Laurent Lenglet',\n gender: 'male',\n date_of_birth: '1995-06-17T00:00:00+00:00',\n place_of_birth: 'Beauvais',\n weight: 81,\n height: 186,\n international: false,\n country: {\n id: 'FR',\n },\n slug: 'lenglet',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 19775,\n shirt_number: 16,\n position: {\n id: 2,\n name: 'Defensa',\n slug: 'defensa',\n plural_name: 'Defensas',\n female_name: 'Defensa',\n female_plural_name: 'Defensas',\n },\n person: {\n id: 8436,\n name: 'Moussa Wagué',\n nickname: 'Moussa Wague',\n firstname: 'Moussa',\n lastname: 'Wagué',\n gender: 'male',\n date_of_birth: '1998-10-04T00:00:00+00:00',\n place_of_birth: 'Bignona',\n weight: 70,\n height: 177,\n international: true,\n country: {\n id: 'SN',\n },\n slug: 'moussa-wague',\n },\n role: {\n titular: false,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 19473,\n shirt_number: 17,\n position: {\n id: 3,\n name: 'Centrocampista',\n slug: 'centrocampista',\n plural_name: 'Centrocampistas',\n female_name: 'Centrocampista',\n female_plural_name: 'Centrocampistas',\n },\n person: {\n id: 699,\n name: 'Antoine Griezmann',\n nickname: 'Griezmann',\n firstname: 'Antoine',\n lastname: 'Griezmann',\n gender: 'male',\n date_of_birth: '1991-03-21T00:00:00+00:00',\n place_of_birth: 'Mâcon',\n weight: 73,\n height: 176,\n international: true,\n country: {\n id: 'FR',\n },\n slug: 'griezmann',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18482,\n shirt_number: 18,\n position: {\n id: 2,\n name: 'Defensa',\n slug: 'defensa',\n plural_name: 'Defensas',\n female_name: 'Defensa',\n female_plural_name: 'Defensas',\n },\n person: {\n id: 8,\n name: 'Jordi Alba Ramos',\n nickname: 'Jordi Alba',\n firstname: 'Jordi',\n lastname: 'Alba Ramos',\n gender: 'male',\n date_of_birth: '1989-03-21T00:00:00+00:00',\n place_of_birth: 'Hospitalet de Llobregat',\n weight: 68,\n height: 170,\n international: true,\n country: {\n id: 'ES',\n },\n slug: 'jordi-alba',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18483,\n shirt_number: 20,\n position: {\n id: 2,\n name: 'Defensa',\n slug: 'defensa',\n plural_name: 'Defensas',\n female_name: 'Defensa',\n female_plural_name: 'Defensas',\n },\n person: {\n id: 21,\n name: 'Sergi Roberto Carnicer',\n nickname: 'S. Roberto',\n firstname: 'Sergi',\n lastname: 'Roberto Carnicer',\n gender: 'male',\n date_of_birth: '1992-02-07T00:00:00+00:00',\n place_of_birth: 'Reus',\n weight: 68,\n height: 178,\n international: true,\n country: {\n id: 'ES',\n },\n slug: 's-roberto',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18485,\n shirt_number: 21,\n position: {\n id: 3,\n name: 'Centrocampista',\n slug: 'centrocampista',\n plural_name: 'Centrocampistas',\n female_name: 'Centrocampista',\n female_plural_name: 'Centrocampistas',\n },\n person: {\n id: 5629,\n name: 'Frenkie de Jong',\n nickname: 'De Jong',\n firstname: 'Frenkie',\n lastname: 'de Jong',\n gender: 'male',\n date_of_birth: '1997-05-12T00:00:00+00:00',\n place_of_birth: 'Arkel',\n weight: 74,\n height: 180,\n international: false,\n country: {\n id: 'NL',\n },\n slug: 'de-jong',\n },\n role: {\n titular: false,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18492,\n shirt_number: 22,\n position: {\n id: 3,\n name: 'Centrocampista',\n slug: 'centrocampista',\n plural_name: 'Centrocampistas',\n female_name: 'Centrocampista',\n female_plural_name: 'Centrocampistas',\n },\n person: {\n id: 3705,\n name: 'Arturo Vidal',\n nickname: 'Vidal',\n firstname: 'Arturo',\n lastname: 'Vidal',\n gender: 'male',\n date_of_birth: '1987-05-22T00:00:00+00:00',\n place_of_birth: 'Santiago de Chile',\n weight: 75,\n height: 180,\n international: true,\n country: {\n id: 'CL',\n },\n slug: 'vidal-1',\n },\n role: {\n titular: false,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18484,\n shirt_number: 23,\n position: {\n id: 2,\n name: 'Defensa',\n slug: 'defensa',\n plural_name: 'Defensas',\n female_name: 'Defensa',\n female_plural_name: 'Defensas',\n },\n person: {\n id: 2306,\n name: 'Samuel Umtiti',\n nickname: 'Umtiti',\n firstname: 'Samuel',\n lastname: 'Umtiti',\n gender: 'male',\n date_of_birth: '1993-11-14T00:00:00+00:00',\n place_of_birth: 'Yaoundé',\n weight: 75,\n height: 182,\n international: true,\n country: {\n id: 'CM',\n },\n slug: 'umtiti',\n },\n role: {\n titular: false,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 19613,\n shirt_number: 26,\n position: {\n id: 1,\n name: 'Portero',\n slug: 'portero',\n plural_name: 'Porteros',\n female_name: 'Portera',\n female_plural_name: 'Porteras',\n },\n person: {\n id: 9409,\n name: 'Ignacio Peña',\n nickname: 'Iñaki',\n firstname: 'Ignacio',\n lastname: 'Peña',\n gender: 'male',\n date_of_birth: '1999-03-02T00:00:00+00:00',\n place_of_birth: 'Alicante',\n weight: 78,\n height: 184,\n international: false,\n country: {\n id: 'ES',\n },\n slug: 'inaki-1',\n },\n role: {\n titular: false,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 20046,\n shirt_number: 31,\n position: {\n id: 4,\n name: 'Delantero',\n slug: 'delantero',\n plural_name: 'Delanteros',\n female_name: 'Delantera',\n female_plural_name: 'Delanteras',\n },\n person: {\n id: 12722,\n name: 'Anssumane Fati',\n nickname: 'Ansu Fati',\n firstname: 'Anssumane',\n lastname: 'Fati',\n gender: 'male',\n date_of_birth: '2002-10-31T00:00:00+00:00',\n place_of_birth: 'Bissau',\n weight: 66,\n height: 178,\n international: false,\n country: {\n id: 'GW',\n },\n slug: 'ansu-fati',\n },\n role: {\n titular: false,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n ],\n },\n away_team: {\n id: 4,\n slug: 'fc-barcelona',\n name: 'Fútbol Club Barcelona',\n nickname: 'FC Barcelona',\n boundname: 'FC Barcelona',\n shortname: 'BAR',\n foundation: '1899-11-29T00:00:00+00:00',\n web: 'http://www.fcbarcelona.es',\n shield: {\n id: 127,\n name: 'Escudo BAR',\n caption: 'Escudo BAR',\n url: 'https://assets.laliga.com/assets/2019/06/07/xlarge/barcelona.png',\n resizes: {\n xsmall:\n 'https://assets.laliga.com/assets/2019/06/07/xsmall/barcelona.png',\n small:\n 'https://assets.laliga.com/assets/2019/06/07/small/barcelona.png',\n medium:\n 'https://assets.laliga.com/assets/2019/06/07/medium/barcelona.png',\n large:\n 'https://assets.laliga.com/assets/2019/06/07/large/barcelona.png',\n xlarge:\n 'https://assets.laliga.com/assets/2019/06/07/xlarge/barcelona.png',\n },\n },\n competitions: [],\n opta_id: 't178',\n old_hub_id: 4,\n trainer: {\n id: 18499,\n position: {\n id: 5,\n name: 'Entrenador',\n slug: 'entrenador',\n plural_name: 'Entrenador',\n female_name: 'Entrenadora',\n female_plural_name: 'Entrenador',\n },\n person: {\n id: 411,\n name: 'Ernesto Valverde Tejedor',\n nickname: 'Ernesto Valverde',\n firstname: 'Ernesto',\n lastname: 'Valverde Tejedor',\n gender: 'male',\n date_of_birth: '1964-02-09T00:00:00+00:00',\n international: false,\n country: {\n id: 'ES',\n },\n slug: 'valverde',\n },\n role: {\n name: 'Entrenador',\n female_name: 'Entrenadora',\n slug: 'entrenador',\n },\n },\n squad: [\n {\n id: 18476,\n shirt_number: 1,\n position: {\n id: 1,\n name: 'Portero',\n slug: 'portero',\n plural_name: 'Porteros',\n female_name: 'Portera',\n female_plural_name: 'Porteras',\n },\n person: {\n id: 1339,\n name: 'Marc-André Ter Stegen',\n nickname: 'Ter Stegen',\n firstname: 'Marc-André',\n lastname: 'Ter Stegen',\n gender: 'male',\n date_of_birth: '1992-04-30T00:00:00+00:00',\n place_of_birth: 'Mönchengladbach',\n weight: 85,\n height: 187,\n international: true,\n country: {\n id: 'DE',\n },\n slug: 'ter-stegen',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18478,\n shirt_number: 2,\n position: {\n id: 2,\n name: 'Defensa',\n slug: 'defensa',\n plural_name: 'Defensas',\n female_name: 'Defensa',\n female_plural_name: 'Defensas',\n },\n person: {\n id: 2658,\n name: 'Nelson Cabral Semedo',\n nickname: 'N. Semedo',\n firstname: 'Nelson',\n lastname: 'Cabral Semedo',\n gender: 'male',\n date_of_birth: '1993-11-16T00:00:00+00:00',\n place_of_birth: 'Lisboa',\n weight: 67,\n height: 177,\n international: true,\n country: {\n id: 'PT',\n },\n slug: 'n-semedo',\n },\n role: {\n titular: false,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18479,\n shirt_number: 3,\n position: {\n id: 2,\n name: 'Defensa',\n slug: 'defensa',\n plural_name: 'Defensas',\n female_name: 'Defensa',\n female_plural_name: 'Defensas',\n },\n person: {\n id: 5,\n name: 'Gerard Piqué Bernabéu',\n nickname: 'Piqué',\n firstname: 'Gerard',\n lastname: 'Piqué Bernabéu',\n gender: 'male',\n date_of_birth: '1987-02-02T00:00:00+00:00',\n place_of_birth: 'Barcelona',\n weight: 85,\n height: 194,\n international: true,\n country: {\n id: 'ES',\n },\n slug: 'pique',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18486,\n shirt_number: 4,\n position: {\n id: 3,\n name: 'Centrocampista',\n slug: 'centrocampista',\n plural_name: 'Centrocampistas',\n female_name: 'Centrocampista',\n female_plural_name: 'Centrocampistas',\n },\n person: {\n id: 137,\n name: 'Ivan Rakitić',\n nickname: 'I. Rakitic',\n firstname: 'Ivan',\n lastname: 'Rakitić',\n gender: 'male',\n date_of_birth: '1988-03-10T00:00:00+00:00',\n place_of_birth: 'Rheinfelden',\n weight: 78,\n height: 184,\n international: true,\n country: {\n id: 'CH',\n },\n slug: 'i-rakitic',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18487,\n shirt_number: 5,\n position: {\n id: 3,\n name: 'Centrocampista',\n slug: 'centrocampista',\n plural_name: 'Centrocampistas',\n female_name: 'Centrocampista',\n female_plural_name: 'Centrocampistas',\n },\n person: {\n id: 16,\n name: 'Sergio Busquets Burgos',\n nickname: 'Sergio',\n firstname: 'Sergio',\n lastname: 'Busquets Burgos',\n gender: 'male',\n date_of_birth: '1988-07-16T00:00:00+00:00',\n place_of_birth: 'Sabadell',\n weight: 76,\n height: 189,\n international: true,\n country: {\n id: 'ES',\n },\n slug: 'sergio',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18480,\n shirt_number: 6,\n position: {\n id: 2,\n name: 'Defensa',\n slug: 'defensa',\n plural_name: 'Defensas',\n female_name: 'Defensa',\n female_plural_name: 'Defensas',\n },\n person: {\n id: 9683,\n name: 'Jean-Clair Todibo',\n nickname: 'Todibo',\n firstname: 'Jean-Clair',\n lastname: 'Todibo',\n gender: 'male',\n date_of_birth: '1999-12-30T00:00:00+00:00',\n place_of_birth: 'Cayenne',\n weight: 81,\n height: 190,\n international: false,\n country: {\n id: 'GF',\n },\n slug: 'todibo',\n },\n role: {\n titular: false,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18489,\n shirt_number: 8,\n position: {\n id: 3,\n name: 'Centrocampista',\n slug: 'centrocampista',\n plural_name: 'Centrocampistas',\n female_name: 'Centrocampista',\n female_plural_name: 'Centrocampistas',\n },\n person: {\n id: 8586,\n name: 'Arthur Henrique Ramos de',\n nickname: 'Arthur',\n firstname: 'Arthur Henrique',\n lastname: 'Ramos de',\n gender: 'male',\n date_of_birth: '1996-08-12T00:00:00+00:00',\n place_of_birth: 'Goiânia',\n weight: 73,\n height: 171,\n international: false,\n country: {\n id: 'BR',\n },\n slug: 'arthur',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18493,\n shirt_number: 9,\n position: {\n id: 4,\n name: 'Delantero',\n slug: 'delantero',\n plural_name: 'Delanteros',\n female_name: 'Delantera',\n female_plural_name: 'Delanteras',\n },\n person: {\n id: 1460,\n name: 'Luis Alberto Suárez Díaz',\n nickname: 'Suárez',\n firstname: 'Luis Alberto',\n lastname: 'Suárez Díaz',\n gender: 'male',\n date_of_birth: '1987-01-24T00:00:00+00:00',\n place_of_birth: 'Salto',\n weight: 86,\n height: 182,\n international: true,\n country: {\n id: 'UY',\n },\n slug: 'suarez',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18494,\n shirt_number: 10,\n position: {\n id: 4,\n name: 'Delantero',\n slug: 'delantero',\n plural_name: 'Delanteros',\n female_name: 'Delantera',\n female_plural_name: 'Delanteras',\n },\n person: {\n id: 23,\n name: 'Lionel Andrés Messi',\n nickname: 'Messi',\n firstname: 'Lionel',\n lastname: 'Andrés Messi',\n gender: 'male',\n date_of_birth: '1987-06-24T00:00:00+00:00',\n place_of_birth: 'Rosario',\n weight: 72,\n height: 170,\n international: true,\n country: {\n id: 'AR',\n },\n slug: 'messi',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18475,\n shirt_number: 13,\n position: {\n id: 1,\n name: 'Portero',\n slug: 'portero',\n plural_name: 'Porteros',\n female_name: 'Portera',\n female_plural_name: 'Porteras',\n },\n person: {\n id: 2681,\n name: 'Norberto Murara Neto',\n nickname: 'Neto',\n firstname: 'Norberto',\n lastname: 'Murara Neto',\n gender: 'male',\n date_of_birth: '1989-07-19T00:00:00+00:00',\n place_of_birth: 'Araxá',\n weight: 84,\n height: 190,\n international: true,\n country: {\n id: 'BR',\n },\n slug: 'neto',\n },\n role: {\n titular: false,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18481,\n shirt_number: 15,\n position: {\n id: 2,\n name: 'Defensa',\n slug: 'defensa',\n plural_name: 'Defensas',\n female_name: 'Defensa',\n female_plural_name: 'Defensas',\n },\n person: {\n id: 5861,\n name: 'Clement Nicolas Laurent Lenglet',\n nickname: 'Lenglet',\n firstname: 'Clement Nicolas',\n lastname: 'Laurent Lenglet',\n gender: 'male',\n date_of_birth: '1995-06-17T00:00:00+00:00',\n place_of_birth: 'Beauvais',\n weight: 81,\n height: 186,\n international: false,\n country: {\n id: 'FR',\n },\n slug: 'lenglet',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 19775,\n shirt_number: 16,\n position: {\n id: 2,\n name: 'Defensa',\n slug: 'defensa',\n plural_name: 'Defensas',\n female_name: 'Defensa',\n female_plural_name: 'Defensas',\n },\n person: {\n id: 8436,\n name: 'Moussa Wagué',\n nickname: 'Moussa Wague',\n firstname: 'Moussa',\n lastname: 'Wagué',\n gender: 'male',\n date_of_birth: '1998-10-04T00:00:00+00:00',\n place_of_birth: 'Bignona',\n weight: 70,\n height: 177,\n international: true,\n country: {\n id: 'SN',\n },\n slug: 'moussa-wague',\n },\n role: {\n titular: false,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 19473,\n shirt_number: 17,\n position: {\n id: 3,\n name: 'Centrocampista',\n slug: 'centrocampista',\n plural_name: 'Centrocampistas',\n female_name: 'Centrocampista',\n female_plural_name: 'Centrocampistas',\n },\n person: {\n id: 699,\n name: 'Antoine Griezmann',\n nickname: 'Griezmann',\n firstname: 'Antoine',\n lastname: 'Griezmann',\n gender: 'male',\n date_of_birth: '1991-03-21T00:00:00+00:00',\n place_of_birth: 'Mâcon',\n weight: 73,\n height: 176,\n international: true,\n country: {\n id: 'FR',\n },\n slug: 'griezmann',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18482,\n shirt_number: 18,\n position: {\n id: 2,\n name: 'Defensa',\n slug: 'defensa',\n plural_name: 'Defensas',\n female_name: 'Defensa',\n female_plural_name: 'Defensas',\n },\n person: {\n id: 8,\n name: 'Jordi Alba Ramos',\n nickname: 'Jordi Alba',\n firstname: 'Jordi',\n lastname: 'Alba Ramos',\n gender: 'male',\n date_of_birth: '1989-03-21T00:00:00+00:00',\n place_of_birth: 'Hospitalet de Llobregat',\n weight: 68,\n height: 170,\n international: true,\n country: {\n id: 'ES',\n },\n slug: 'jordi-alba',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18483,\n shirt_number: 20,\n position: {\n id: 2,\n name: 'Defensa',\n slug: 'defensa',\n plural_name: 'Defensas',\n female_name: 'Defensa',\n female_plural_name: 'Defensas',\n },\n person: {\n id: 21,\n name: 'Sergi Roberto Carnicer',\n nickname: 'S. Roberto',\n firstname: 'Sergi',\n lastname: 'Roberto Carnicer',\n gender: 'male',\n date_of_birth: '1992-02-07T00:00:00+00:00',\n place_of_birth: 'Reus',\n weight: 68,\n height: 178,\n international: true,\n country: {\n id: 'ES',\n },\n slug: 's-roberto',\n },\n role: {\n titular: true,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18485,\n shirt_number: 21,\n position: {\n id: 3,\n name: 'Centrocampista',\n slug: 'centrocampista',\n plural_name: 'Centrocampistas',\n female_name: 'Centrocampista',\n female_plural_name: 'Centrocampistas',\n },\n person: {\n id: 5629,\n name: 'Frenkie de Jong',\n nickname: 'De Jong',\n firstname: 'Frenkie',\n lastname: 'de Jong',\n gender: 'male',\n date_of_birth: '1997-05-12T00:00:00+00:00',\n place_of_birth: 'Arkel',\n weight: 74,\n height: 180,\n international: false,\n country: {\n id: 'NL',\n },\n slug: 'de-jong',\n },\n role: {\n titular: false,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18492,\n shirt_number: 22,\n position: {\n id: 3,\n name: 'Centrocampista',\n slug: 'centrocampista',\n plural_name: 'Centrocampistas',\n female_name: 'Centrocampista',\n female_plural_name: 'Centrocampistas',\n },\n person: {\n id: 3705,\n name: 'Arturo Vidal',\n nickname: 'Vidal',\n firstname: 'Arturo',\n lastname: 'Vidal',\n gender: 'male',\n date_of_birth: '1987-05-22T00:00:00+00:00',\n place_of_birth: 'Santiago de Chile',\n weight: 75,\n height: 180,\n international: true,\n country: {\n id: 'CL',\n },\n slug: 'vidal-1',\n },\n role: {\n titular: false,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 18484,\n shirt_number: 23,\n position: {\n id: 2,\n name: 'Defensa',\n slug: 'defensa',\n plural_name: 'Defensas',\n female_name: 'Defensa',\n female_plural_name: 'Defensas',\n },\n person: {\n id: 2306,\n name: 'Samuel Umtiti',\n nickname: 'Umtiti',\n firstname: 'Samuel',\n lastname: 'Umtiti',\n gender: 'male',\n date_of_birth: '1993-11-14T00:00:00+00:00',\n place_of_birth: 'Yaoundé',\n weight: 75,\n height: 182,\n international: true,\n country: {\n id: 'CM',\n },\n slug: 'umtiti',\n },\n role: {\n titular: false,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 19613,\n shirt_number: 26,\n position: {\n id: 1,\n name: 'Portero',\n slug: 'portero',\n plural_name: 'Porteros',\n female_name: 'Portera',\n female_plural_name: 'Porteras',\n },\n person: {\n id: 9409,\n name: 'Ignacio Peña',\n nickname: 'Iñaki',\n firstname: 'Ignacio',\n lastname: 'Peña',\n gender: 'male',\n date_of_birth: '1999-03-02T00:00:00+00:00',\n place_of_birth: 'Alicante',\n weight: 78,\n height: 184,\n international: false,\n country: {\n id: 'ES',\n },\n slug: 'inaki-1',\n },\n role: {\n titular: false,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n {\n id: 20046,\n shirt_number: 31,\n position: {\n id: 4,\n name: 'Delantero',\n slug: 'delantero',\n plural_name: 'Delanteros',\n female_name: 'Delantera',\n female_plural_name: 'Delanteras',\n },\n person: {\n id: 12722,\n name: 'Anssumane Fati',\n nickname: 'Ansu Fati',\n firstname: 'Anssumane',\n lastname: 'Fati',\n gender: 'male',\n date_of_birth: '2002-10-31T00:00:00+00:00',\n place_of_birth: 'Bissau',\n weight: 66,\n height: 178,\n international: false,\n country: {\n id: 'GW',\n },\n slug: 'ansu-fati',\n },\n role: {\n titular: false,\n },\n cards: {\n A: 1,\n AA: 2,\n R: 3,\n },\n },\n ],\n },\n match_winner_team: {\n id: 4,\n slug: 'fc-barcelona',\n name: 'Fútbol Club Barcelona',\n nickname: 'FC Barcelona',\n boundname: 'FC Barcelona',\n shortname: 'BAR',\n foundation: '1899-11-29T00:00:00+00:00',\n web: 'http://www.fcbarcelona.es',\n shield: {\n id: 127,\n name: 'Escudo BAR',\n caption: 'Escudo BAR',\n url: 'https://assets.laliga.com/assets/2019/06/07/xlarge/barcelona.png',\n resizes: {\n xsmall:\n 'https://assets.laliga.com/assets/2019/06/07/xsmall/barcelona.png',\n small:\n 'https://assets.laliga.com/assets/2019/06/07/small/barcelona.png',\n medium:\n 'https://assets.laliga.com/assets/2019/06/07/medium/barcelona.png',\n large:\n 'https://assets.laliga.com/assets/2019/06/07/large/barcelona.png',\n xlarge:\n 'https://assets.laliga.com/assets/2019/06/07/xlarge/barcelona.png',\n },\n },\n competitions: [],\n opta_id: 't178',\n old_hub_id: 4,\n },\n home_formation: 541,\n away_formation: 4231,\n gameweek: {\n id: 1435,\n week: 1,\n name: 'Jornada 11',\n shortname: 'J1',\n date: '2019-10-21T19:00:00+00:00',\n },\n venue: {\n id: 53,\n name: 'Estadio Municipal Butarque',\n latitude: '40.33944',\n longitude: '-3.76275',\n capacity: 12450,\n address: 'C/ Arquitectura, s/n. 28914 Leganés (Madrid)',\n timezone: 'Europe/Madrid',\n city: 'Leganés',\n slug: 'estadio-municipal-butarque',\n opta_id: 'v6791',\n old_hub_id: 54,\n foundation: 1998,\n image:\n 'https://assets.laliga.com/assets/2019/10/03/medium/2b7303ff6a9beaf1b4dc88599116df55.png',\n },\n persons_role: [\n {\n person: {\n id: 9834,\n name: 'Santiago Jaime Latre',\n nickname: 'Santiago Jaime Latre',\n firstname: 'Santiago',\n lastname: 'Jaime Latre',\n gender: 'male',\n international: false,\n slug: 'santiago-jaime-latre',\n },\n role: {\n name: 'Árbitro Principal',\n female_name: 'Árbitro Principal',\n slug: 'arbitro-principal',\n },\n },\n {\n person: {\n id: 9844,\n name: 'Mario Melero López',\n nickname: 'Mario Melero López',\n firstname: 'Mario',\n lastname: 'Melero López',\n gender: 'male',\n international: false,\n slug: 'mario-melero-lopez',\n },\n role: {\n name: 'VAR',\n female_name: 'VAR',\n slug: 'var',\n },\n },\n {\n person: {\n id: 10030,\n name: 'Manuel Ángel Torre Cimiano',\n nickname: 'Manuel Ángel Torre Cimiano',\n firstname: 'Manuel Ángel',\n lastname: 'Torre Cimiano',\n gender: 'male',\n international: false,\n slug: 'manuel-angel-torre-cimiano',\n },\n role: {\n name: 'AVAR',\n female_name: 'AVAR',\n slug: 'avar',\n },\n },\n ],\n season: {\n id: 7,\n name: 'Temporada 2019/2020',\n year: 2019,\n slug: 'temporada-2019-2020',\n },\n subscription: {\n id: 82,\n name: 'LaLiga Santander',\n slug: 'laliga-santander-2019',\n teams: [],\n rounds: [],\n },\n opta_id: 'g1074949',\n old_hub_id: 12549,\n};\n","export const Types = {\n // For copy & paste\n // _REQUEST: '@matches/_REQUEST',\n // _SUCCESS: '@matches/_SUCCESS',\n // _FAILURE: '@matches/_FAILURE',\n\n GET_MATCHES_REQUEST: '@matches/GET_MATCHES_REQUEST',\n GET_MATCHES_SUCCESS: '@matches/GET_MATCHES_SUCCESS',\n GET_MATCHES_FAILURE: '@matches/GET_MATCHES_FAILURE',\n\n GET_SQUADS_REQUEST: '@matches/GET_SQUADS_REQUEST',\n GET_SQUADS_SUCCESS: '@matches/GET_SQUADS_SUCCESS',\n GET_SQUADS_FAILURE: '@matches/GET_SQUADS_FAILURE',\n\n GET_SELECTED_MATCH_REQUEST: '@matches/GET_SELECTED_MATCH_REQUEST',\n GET_SELECTED_MATCH_SUCCESS: '@matches/GET_SELECTED_MATCH_SUCCESS',\n GET_SELECTED_MATCH_FAILURE: '@matches/GET_SELECTED_MATCH_FAILURE',\n\n GET_SELECTED_MATCH_STATUS_REQUEST:\n '@matches/GET_SELECTED_MATCH_STATUS_REQUEST',\n GET_SELECTED_MATCH_STATUS_SUCCESS:\n '@matches/GET_SELECTED_MATCH_STATUS_SUCCESS',\n GET_SELECTED_MATCH_STATUS_FAILURE:\n '@matches/GET_SELECTED_MATCH_STATUS_FAILURE',\n\n GET_SELECTED_MATCH_SCORE_REQUEST: '@matches/GET_SELECTED_MATCH_SCORE_REQUEST',\n GET_SELECTED_MATCH_SCORE_SUCCESS: '@matches/GET_SELECTED_MATCH_SCORE_SUCCESS',\n GET_SELECTED_MATCH_SCORE_FAILURE: '@matches/GET_SELECTED_MATCH_SCORE_FAILURE',\n\n GET_SELECTED_MATCH_REFEREES_REQUEST:\n '@matches/GET_SELECTED_MATCH_REFEREES_REQUEST',\n GET_SELECTED_MATCH_REFEREES_SUCCESS:\n '@matches/GET_SELECTED_MATCH_REFEREES_SUCCESS',\n GET_SELECTED_MATCH_REFEREES_FAILURE:\n '@matches/GET_SELECTED_REFEREES_STATUS_FAILURE',\n\n GET_SELECTED_MATCH_REFEREE_ASSISTANTS_REQUEST:\n '@matches/GET_SELECTED_MATCH_REFEREE_ASSISTANTS_REQUEST',\n GET_SELECTED_MATCH_REFEREE_ASSISTANTS_SUCCESS:\n '@matches/GET_SELECTED_MATCH_REFEREE_ASSISTANTS_SUCCESS',\n GET_SELECTED_MATCH_REFEREE_ASSISTANTS_FAILURE:\n '@matches/GET_SELECTED_REFEREE_ASSISTANTS_STATUS_FAILURE',\n\n GET_SELECTED_MATCH_KITS_REQUEST: '@matches/GET_SELECTED_MATCH_KITS_REQUEST',\n GET_SELECTED_MATCH_KITS_SUCCESS: '@matches/GET_SELECTED_MATCH_KITS_SUCCESS',\n GET_SELECTED_MATCH_KITS_FAILURE: '@matches/GET_SELECTED_MATCH_KITS_FAILURE',\n\n GET_SELECTED_MATCH_GRASS_STATUS_REQUEST:\n '@matches/GET_SELECTED_MATCH_GRASS_STATUS_REQUEST',\n GET_SELECTED_MATCH_GRASS_STATUS_SUCCESS:\n '@matches/GET_SELECTED_MATCH_GRASS_STATUS_SUCCESS',\n GET_SELECTED_MATCH_GRASS_STATUS_FAILURE:\n '@matches/GET_SELECTED_MATCH_GRASS_STATUS_FAILURE',\n\n GET_SELECTED_MATCH_LINEUP_REQUEST:\n '@matches/GET_SELECTED_MATCH_LINEUP_REQUEST',\n GET_SELECTED_MATCH_LINEUP_SUCCESS:\n '@matches/GET_SELECTED_MATCH_LINEUP_SUCCESS',\n GET_SELECTED_MATCH_LINEUP_FAILURE:\n '@matches/GET_SELECTED_MATCH_LINEUP_FAILURE',\n\n GET_SELECTED_MATCH_ACTS_REQUEST: '@matches/GET_SELECTED_MATCH_ACTS_REQUEST',\n GET_SELECTED_MATCH_ACTS_SUCCESS: '@matches/GET_SELECTED_MATCH_ACTS_SUCCESS',\n GET_SELECTED_MATCH_ACTS_FAILURE: '@matches/GET_SELECTED_MATCH_ACTS_FAILURE',\n\n GET_SELECTED_MATCH_TEAM_STATS_REQUEST:\n '@matches/GET_SELECTED_MATCH_TEAM_STATS_REQUEST',\n GET_SELECTED_MATCH_TEAM_STATS_SUCCESS:\n '@matches/GET_SELECTED_MATCH_TEAM_STATS_SUCCESS',\n GET_SELECTED_MATCH_TEAM_STATS_FAILURE:\n '@matches/GET_SELECTED_MATCH_TEAM_STATS_FAILURE',\n\n GET_SELECTED_MATCH_EVENTS_REQUEST:\n '@matches/GET_SELECTED_MATCH_EVENTS_REQUEST',\n GET_SELECTED_MATCH_EVENTS_SUCCESS:\n '@matches/GET_SELECTED_MATCH_EVENTS_SUCCESS',\n GET_SELECTED_MATCH_EVENTS_FAILURE:\n '@matches/GET_SELECTED_MATCH_EVENTS_FAILURE',\n\n GET_SELECTED_MATCH_DIRECT_STATS_REQUEST:\n '@matches/GET_SELECTED_MATCH_DIRECT_STATS_REQUEST',\n GET_SELECTED_MATCH_DIRECT_STATS_SUCCESS:\n '@matches/GET_SELECTED_MATCH_DIRECT_STATS_SUCCESS',\n GET_SELECTED_MATCH_DIRECT_STATS_FAILURE:\n '@matches/GET_SELECTED_MATCH_DIRECT_STATS_FAILURE',\n\n GET_SELECTED_MATCH_PUBLIC_FILES_REQUEST:\n '@matches/GET_SELECTED_MATCH_PUBLIC_FILES_REQUEST',\n GET_SELECTED_MATCH_PUBLIC_FILES_SUCCESS:\n '@matches/GET_SELECTED_MATCH_PUBLIC_FILES_SUCCESS',\n GET_SELECTED_MATCH_PUBLIC_FILES_FAILURE:\n '@matches/GET_SELECTED_MATCH_PUBLIC_FILES_FAILURE',\n\n GET_SELECTED_MATCH_PRIVATE_FILES_REQUEST:\n '@matches/GET_SELECTED_MATCH_PRIVATE_FILES_REQUEST',\n GET_SELECTED_MATCH_PRIVATE_FILES_SUCCESS:\n '@matches/GET_SELECTED_MATCH_PRIVATE_FILES_SUCCESS',\n GET_SELECTED_MATCH_PRIVATE_FILES_FAILURE:\n '@matches/GET_SELECTED_MATCH_PRIVATE_FILES_FAILURE',\n\n FLUSH_SELECTED_MATCH: '@matches/FLUSH_SELECTED_MATCH',\n};\n\n// MATCHES\nexport const getMatchesRequest = query => ({\n type: Types.GET_MATCHES_REQUEST,\n payload: {\n query,\n },\n});\n\nexport const getMatchesSuccess = payload => ({\n type: Types.GET_MATCHES_SUCCESS,\n payload: {\n payload,\n },\n});\n\nexport const getMatchesFailure = () => ({\n type: Types.GET_MATCHES_FAILURE,\n});\n\n// SQUADS\nexport const getSquadsRequest = (localId, visitorId) => ({\n type: Types.GET_SQUADS_REQUEST,\n payload: {\n localId,\n visitorId,\n },\n});\n\nexport const getSquadsSuccess = payload => ({\n type: Types.GET_SQUADS_SUCCESS,\n payload,\n});\n\nexport const getSquadsFailure = () => ({\n type: Types.GET_SQUADS_FAILURE,\n});\n\n// GET SELECTED MATCH\n\nexport const getSelectedMatchRequest = matchId => ({\n type: Types.GET_SELECTED_MATCH_REQUEST,\n payload: {\n matchId,\n },\n});\n\nexport const getSelectedMatchSuccess = payload => ({\n type: Types.GET_SELECTED_MATCH_SUCCESS,\n payload,\n});\n\nexport const getSelectedMatchFailure = () => ({\n type: Types.GET_SELECTED_MATCH_FAILURE,\n});\n\nexport const getSelectedMatchStatusRequest = matchId => ({\n type: Types.GET_SELECTED_MATCH_STATUS_REQUEST,\n payload: {\n matchId,\n },\n});\n\nexport const getSelectedMatchStatusSuccess = payload => ({\n type: Types.GET_SELECTED_MATCH_STATUS_SUCCESS,\n payload,\n});\n\nexport const getSelectedMatchStatusFailure = () => ({\n type: Types.GET_SELECTED_MATCH_STATUS_FAILURE,\n});\n\nexport const getSelectedMatchScoreRequest = matchId => ({\n type: Types.GET_SELECTED_MATCH_SCORE_REQUEST,\n payload: {\n matchId,\n },\n});\n\nexport const getSelectedMatchScoreSuccess = payload => ({\n type: Types.GET_SELECTED_MATCH_SCORE_SUCCESS,\n payload,\n});\n\nexport const getSelectedMatchScoreFailure = () => ({\n type: Types.GET_SELECTED_MATCH_SCORE_FAILURE,\n});\n\nexport const flushSelectedMatch = () => ({\n type: Types.FLUSH_SELECTED_MATCH,\n});\n\n// REFEREES\nexport const getSelectedMatchRefereesRequest = matchId => ({\n type: Types.GET_SELECTED_MATCH_REFEREES_REQUEST,\n payload: {\n matchId,\n },\n});\n\nexport const getSelectedMatchRefereesSuccess = payload => ({\n type: Types.GET_SELECTED_MATCH_REFEREES_SUCCESS,\n payload,\n});\n\nexport const getSelectedMatchRefereesFailure = () => ({\n type: Types.GET_SELECTED_MATCH_REFEREES_FAILURE,\n});\n\nexport const getSelectedMatchRefereeAssistantsRequest = matchId => ({\n type: Types.GET_SELECTED_MATCH_REFEREE_ASSISTANTS_REQUEST,\n payload: {\n matchId,\n },\n});\n\nexport const getSelectedMatchRefereeAssistantsSuccess = payload => ({\n type: Types.GET_SELECTED_MATCH_REFEREE_ASSISTANTS_SUCCESS,\n payload,\n});\n\nexport const getSelectedMatchRefereeAssistantsFailure = () => ({\n type: Types.GET_SELECTED_MATCH_REFEREE_ASSISTANTS_FAILURE,\n});\n\n// KITS\n\nexport const getSelectedMatchKitsRequest = matchId => {\n return {\n type: Types.GET_SELECTED_MATCH_KITS_REQUEST,\n payload: {\n matchId,\n },\n };\n};\n\nexport const getSelectedMatchKitsSuccess = payload => ({\n type: Types.GET_SELECTED_MATCH_KITS_SUCCESS,\n payload,\n});\n\nexport const getSelectedMatchKitsFailure = () => ({\n type: Types.GET_SELECTED_MATCH_KITS_FAILURE,\n});\n\n// GRASS STATUS\n\nexport const getSelectedMatchGrassStatusRequest = matchId => ({\n type: Types.GET_SELECTED_MATCH_GRASS_STATUS_REQUEST,\n payload: {\n matchId,\n },\n});\n\nexport const getSelectedMatchGrassStatusSuccess = payload => ({\n type: Types.GET_SELECTED_MATCH_GRASS_STATUS_SUCCESS,\n payload,\n});\n\nexport const getSelectedMatchGrassStatusFailure = () => ({\n type: Types.GET_SELECTED_MATCH_GRASS_STATUS_FAILURE,\n});\n\n// LINEUP\n\nexport const getSelectedMatchLineupRequest = matchId => ({\n type: Types.GET_SELECTED_MATCH_LINEUP_REQUEST,\n payload: {\n matchId,\n },\n});\n\nexport const getSelectedMatchLineupSuccess = payload => ({\n type: Types.GET_SELECTED_MATCH_LINEUP_SUCCESS,\n payload,\n});\n\nexport const getSelectedMatchLineupFailure = () => ({\n type: Types.GET_SELECTED_MATCH_LINEUP_FAILURE,\n});\n\n// ACTS\n\nexport const getSelectedMatchActsRequest = matchId => ({\n type: Types.GET_SELECTED_MATCH_ACTS_REQUEST,\n payload: {\n matchId,\n },\n});\n\nexport const getSelectedMatchActsSuccess = payload => ({\n type: Types.GET_SELECTED_MATCH_ACTS_SUCCESS,\n payload,\n});\n\nexport const getSelectedMatchActsFailure = () => ({\n type: Types.GET_SELECTED_MATCH_ACTS_FAILURE,\n});\n\n// STATS\n\nexport const getSelectedMatchTeamStatsRequest = matchId => ({\n type: Types.GET_SELECTED_MATCH_TEAM_STATS_REQUEST,\n payload: {\n matchId,\n },\n});\n\nexport const getSelectedMatchTeamStatsSuccess = payload => ({\n type: Types.GET_SELECTED_MATCH_TEAM_STATS_SUCCESS,\n payload,\n});\n\nexport const getSelectedMatchTeamStatsFailure = () => ({\n type: Types.GET_SELECTED_MATCH_TEAM_STATS_FAILURE,\n});\n\n// EVENTS\n\nexport const getSelectedMatchEventsRequest = matchId => ({\n type: Types.GET_SELECTED_MATCH_EVENTS_REQUEST,\n payload: {\n matchId,\n },\n});\n\nexport const getSelectedMatchEventsSuccess = payload => ({\n type: Types.GET_SELECTED_MATCH_EVENTS_SUCCESS,\n payload,\n});\n\nexport const getSelectedMatchEventsFailure = () => ({\n type: Types.GET_SELECTED_MATCH_EVENTS_FAILURE,\n});\n\n// DIRECT STATS\n\nexport const getSelectedMatchDirectStatsRequest = matchId => ({\n type: Types.GET_SELECTED_MATCH_DIRECT_STATS_REQUEST,\n payload: {\n matchId,\n },\n});\n\nexport const getSelectedMatchDirectStatsSuccess = payload => ({\n type: Types.GET_SELECTED_MATCH_DIRECT_STATS_SUCCESS,\n payload,\n});\n\nexport const getSelectedMatchDirectStatsFailure = () => ({\n type: Types.GET_SELECTED_MATCH_DIRECT_STATS_FAILURE,\n});\n\nexport const getSelectedMatchPublicFilesRequest = matchId => ({\n type: Types.GET_SELECTED_MATCH_PUBLIC_FILES_REQUEST,\n payload: {\n matchId,\n },\n});\n\nexport const getSelectedMatchPublicFilesSuccess = payload => ({\n type: Types.GET_SELECTED_MATCH_PUBLIC_FILES_SUCCESS,\n payload,\n});\n\nexport const getSelectedMatchPublicFilesFailure = () => ({\n type: Types.GET_SELECTED_MATCH_PUBLIC_FILES_FAILURE,\n});\n\nexport const getSelectedMatchPrivateFilesRequest = matchId => ({\n type: Types.GET_SELECTED_MATCH_PRIVATE_FILES_REQUEST,\n payload: {\n matchId,\n },\n});\n\nexport const getSelectedMatchPrivateFilesSuccess = payload => ({\n type: Types.GET_SELECTED_MATCH_PRIVATE_FILES_SUCCESS,\n payload,\n});\n\nexport const getSelectedMatchPrivateFilesFailure = () => ({\n type: Types.GET_SELECTED_MATCH_PRIVATE_FILES_FAILURE,\n});\n","import styled from 'styled-components/macro';\nimport { Download, Scrollbar } from '~/components';\n\nexport const Container = styled.div`\n display: flex;\n height: 100%;\n /*\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n height: auto;\n flex-direction: column;\n }\n */\n`;\n\nexport const ContainerSm = styled.div`\n display: flex;\n flex-direction: column;\n\n & table {\n thead {\n background-color: ${({ theme }) => theme.white};\n tr {\n height: 60px;\n background-color: ${({ theme }) => theme.white};\n th {\n min-width: 45px;\n background-color: ${({ theme }) => theme.white};\n top: 0px;\n position: sticky;\n padding: 35px 0;\n div {\n text-align: left;\n }\n &:first-child {\n opacity: 1;\n div {\n color: ${({ theme }) => theme.white};\n }\n }\n }\n }\n }\n }\n`;\n\nexport const ContainerTeam = styled.div`\n display: flex;\n flex-direction: column;\n width: 516px;\n height: 100%;\n`;\n\nexport const Scroller = styled(Scrollbar)``;\n\nexport const DownloadPDFButton = styled(Download)`\n position: fixed;\n bottom: 0px;\n left: 50%;\n transform: translateX(-50%);\n`;\n\nexport const ContainerArbitration = styled.div`\n flex-grow: 1;\n height: 100%;\n`;\n","import React, { createContext, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nconst HeaderContext = createContext(null);\n\nfunction HeaderProvider({ children }) {\n const [headerProps, setHeaderProps] = useState({});\n\n const setTitle = title => {\n const newHeaderProps = { ...headerProps };\n newHeaderProps.title = title;\n setHeaderProps(newHeaderProps);\n };\n\n const setButtonRight = buttonRight => {\n const newHeaderProps = { ...headerProps };\n newHeaderProps.buttonRight = buttonRight;\n setHeaderProps(newHeaderProps);\n };\n\n return (\n \n {children}\n \n );\n}\n\nHeaderProvider.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.node,\n PropTypes.array,\n ]).isRequired,\n};\n\nexport { HeaderProvider, HeaderContext };\n","import styled from 'styled-components/macro';\n\nexport const SubRouteNavBarOption = styled.button`\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 147px;\n height: 100%;\n z-index: 2;\n background-color: ${({ colorPrimary }) => colorPrimary || 'transparent'};\n font-size: ${({ theme }) => theme.h5}px;\n font-family: ${({ theme }) => theme.primaryFont};\n border-style: none;\n color: ${({ textColor, theme }) => textColor || theme.light};\n ${({ isSelected, contrastColor }) =>\n isSelected && contrastColor ? `color: ${contrastColor};` : ''};\n text-transform: capitalize;\n padding: 10px;\n transition: color 0.3s;\n &::-moz-focus-inner {\n border: 0;\n }\n a {\n display: flex;\n align-items: center;\n color: ${({ isActive, secondaryColor }) =>\n isActive && secondaryColor ? secondaryColor : 'inherit'};\n height: 100%;\n padding: 0 20px 0 20px;\n & > svg {\n margin: 0px;\n fill: ${({ textColor, theme }) => textColor || theme.light};\n ${({ isSelected, contrastColor }) =>\n isSelected && contrastColor ? `fill: ${contrastColor};` : ''}\n }\n }\n\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n min-width: 0px;\n flex-grow: 1;\n a {\n padding: 0px;\n }\n }\n`;\n","import React, { useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './styles';\n\nexport default function TabButton({\n onChange,\n label,\n value,\n isSelected,\n className,\n styleButton,\n}) {\n const ref = useRef();\n useEffect(() => {\n if (isSelected) {\n onChange({ value, ref });\n }\n }, [isSelected, onChange, value]);\n const handleClick = () => {\n onChange({ value, ref });\n };\n\n return (\n \n {label}\n \n );\n}\n\nTabButton.propTypes = {\n onChange: PropTypes.func,\n label: PropTypes.node,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n isSelected: PropTypes.bool,\n className: PropTypes.string,\n styleButton: PropTypes.object,\n};\n\nTabButton.defaultProps = {\n onChange: () => {},\n label: null,\n value: '',\n isSelected: false,\n className: null,\n styleButton: {},\n};\n","import styled from 'styled-components/macro';\n\nexport const NavBar = styled.div`\n display: flex;\n width: 100%;\n align-items: stretch;\n justify-content: center;\n overflow: hidden;\n background-color: ${({ theme, primaryColor }) => primaryColor || theme.dark4};\n padding: 0px 50px 0 50px;\n height: auto;\n position: sticky;\n top: 0;\n z-index: 10;\n\n @media (max-width: ${({ theme }) => theme.breakpoints.xl}px) {\n position: relative;\n }\n\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n padding: ${({ withBorder }) =>\n withBorder ? 'padding: 0px 50px 0 50px' : '0px'};\n min-height: 40px;\n }\n`;\n\nexport const SubRouteNavBar = styled.div`\n position: relative;\n background-color: ${({ theme, background }) => theme[background]};\n display: flex;\n justify-content: center;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n width: 100%;\n }\n`;\n\nexport const DecorationBar = styled.div`\n position: absolute;\n transition: all 0.3s;\n height: ${({ selectedHeight }) => selectedHeight};\n background-color: ${({ secondaryColor }) => secondaryColor};\n bottom: 0px;\n left: ${({ selectedLeft }) => selectedLeft || 0}px;\n width: ${({ selectedWidth }) => selectedWidth || 0}px;\n z-index: 1;\n`;\n","import React, { useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport * as S from './styles';\n\nexport default function TabBar({\n onChange,\n children,\n className,\n value,\n styleTab,\n}) {\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n const [optionSelected, setOptionSelected] = useState(null);\n const barRef = useRef();\n const handleChange = ({ value: valueItem, ref }) => {\n setOptionSelected(ref);\n onChange({ value: valueItem, ref });\n };\n const newChildrens = React.Children.map(children, child => {\n return React.cloneElement(\n child,\n {\n key: child.props.value,\n onChange: handleChange,\n isSelected: value === child.props.value,\n styleButton: styleTab,\n },\n ...children\n );\n });\n\n const childWidth = optionSelected ? optionSelected.current.clientWidth : null;\n const childLeft = optionSelected ? optionSelected.current.offsetLeft : null;\n const childHeight =\n optionSelected && styleTab && styleTab.withBorder ? '3px' : '100%';\n return (\n \n \n <>\n {value && optionSelected && (\n \n )}\n {newChildrens}\n \n \n \n );\n}\n\nTabBar.propTypes = {\n onChange: PropTypes.func,\n children: PropTypes.node,\n className: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n styleTab: PropTypes.object,\n};\n\nTabBar.defaultProps = {\n onChange: () => {},\n children: null,\n className: null,\n value: 0,\n styleTab: {},\n};\n","import styled from 'styled-components/macro';\nimport TabButton from '~/components/Tab/TabButton';\nimport TabBar from '~/components/Tab/TabBar';\nimport Scrollbar from '~/components/Scrollbar';\n\nexport const ContainerArbitrationContent = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const TabButtonFullWidth = styled(TabButton)`\n justify-content: space-between;\n padding: 22px;\n`;\n\nexport const ArbitrationTabBar = styled(TabBar)`\n z-index: 12;\n padding-top: 4px;\n`;\n\nexport const ModalScrollbar = styled(Scrollbar)`\n background-color: ${({ theme }) => theme.white};\n`;\n","import styled from 'styled-components/macro';\nimport { Image } from '~/components';\n\nexport const Container = styled.div`\n display: flex;\n background-color: ${({ theme }) => theme.dark4};\n`;\nexport const Avatar = styled(Image)`\n height: 100%;\n object-fit: cover;\n`;\n\nexport const ContainerInfo = styled.div`\n display: flex;\n justify-content: space-between;\n flex-direction: column;\n flex-grow: 1;\n padding: 34px;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n padding: 15px 19px;\n }\n`;\n\nexport const DataList = styled.div`\n display: flex;\n font-size: 15px;\n order: 1;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n order: 2;\n flex-direction: column;\n font-size: 12px;\n }\n`;\n\nexport const DataListItem = styled.div`\n border-right: solid 1px ${({ theme }) => theme.white};\n color: ${({ theme }) => theme.white};\n padding: 0px 15px;\n &:last-child {\n border-color: transparent;\n }\n &:first-child {\n padding-left: 0px;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n border: none;\n padding-left: 0px;\n margin-bottom: 5px;\n }\n`;\n\nexport const DataListItemLabel = styled.span`\n font-family: ${({ theme }) => theme.primaryFontLight};\n margin-right: 6px;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n display: block;\n }\n`;\n\nexport const DataListItemText = styled.span`\n font-family: ${({ theme }) => theme.primaryFontBold};\n`;\n\nexport const Name = styled.div`\n font-size: 30px;\n font-weight: 500;\n color: ${({ theme }) => theme.white};\n order: 2;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n order: 1;\n margin-bottom: 20px;\n font-size: 20px;\n }\n`;\n","import React from 'react';\nimport { PropTypes } from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport * as S from './styles';\n\nexport default function ArbitrationHeader({\n name,\n avatar,\n arbitrationCollege,\n className,\n}) {\n const { t } = useTranslation();\n return (\n \n \n \n \n \n \n {t('arbitrationCollege')}:\n \n {arbitrationCollege}\n \n \n {name}\n \n \n );\n}\n\nArbitrationHeader.propTypes = {\n className: PropTypes.string,\n avatar: PropTypes.string,\n arbitrationCollege: PropTypes.string,\n name: PropTypes.string,\n};\n\nArbitrationHeader.defaultProps = {\n className: null,\n avatar: null,\n arbitrationCollege: null,\n name: null,\n};\n","import styled from 'styled-components/macro';\n\nexport const Container = styled.div`\n display: flex;\n padding: 48px 57px;\n align-items: center;\n justify-content: center;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n padding: 10px 0px;\n padding-bottom: 0px;\n }\n`;\n\nexport const TableContent = styled.div`\n width: 100%;\n table {\n thead {\n th {\n min-width: 40px;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n &:first-child {\n opacity: 0;\n }\n }\n & > div {\n text-transform: uppercase;\n color: ${({ theme }) => theme.dark};\n justify-content: center;\n &:nth-child(2n) {\n font-family: ${({ theme }) => theme.primaryFontBold};\n }\n }\n }\n }\n tbody,\n tfoot {\n td {\n &:first-child {\n text-align: left;\n }\n }\n }\n th,\n td {\n text-align: center;\n font-family: ${({ theme }) => theme.primaryFontLight};\n &:nth-child(2n) {\n font-family: ${({ theme }) => theme.primaryFontBold};\n }\n }\n }\n`;\nexport const Total = styled.span`\n text-transform: uppercase;\n`;\nexport const LegendContainer = styled.div`\n line-height: 15px;\n margin-top: 20px;\n`;\nexport const LegendItem = styled.div`\n display: inline-block;\n font-size: 10px;\n margin-right: 5px;\n`;\nexport const LegendTitle = styled.span`\n font-family: ${({ theme }) => theme.primaryFontBold};\n`;\nexport const LegendDescription = styled.span`\n font-family: ${({ theme }) => theme.primaryFontLight};\n margin-left: 3px;\n`;\n","import React from 'react';\nimport { PropTypes } from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport * as S from './styles';\nimport { Table } from '~/components';\nimport { theme } from '~/styles/theme';\nimport { tableStructure } from './utils/tableStructure';\n\nexport default function ArbitrationMatches({\n matches,\n totalMatches,\n className,\n}) {\n const { t } = useTranslation();\n const columns = React.useMemo(() => tableStructure(totalMatches), [\n totalMatches,\n ]);\n const tableStyles = {\n secondaryColor: theme.light2Opacity,\n textColor: theme.dark,\n fullWidth: true,\n };\n\n return (\n \n \n {\n return {\n ...match,\n season: `${match.seasonYearStart}/${match.seasonYearEnd}`,\n yellowCards: `${match.yellowCards.homeStat} / ${match.yellowCards.awayStat}`,\n doubleYellowCards: `${match.doubleYellowCards.homeStat} / ${match.doubleYellowCards.awayStat}`,\n redCards: `${match.redCards.homeStat} / ${match.redCards.awayStat}`,\n faultsIndicated: `${match.faultsIndicated.homeStat} / ${match.faultsIndicated.awayStat}`,\n penaltiesIndicated: `${match.penaltiesIndicated.homeStat} / ${match.penaltiesIndicated.awayStat}`,\n };\n })}\n styleOptions={tableStyles}\n hasFooter\n responsiveHeader\n />\n \n \n (L/V):\n {t(`localAndVisitant`)}\n \n \n \n \n );\n}\n\nArbitrationMatches.propTypes = {\n className: PropTypes.string,\n matches: PropTypes.array,\n totalMatches: PropTypes.object,\n};\n\nArbitrationMatches.defaultProps = {\n className: null,\n matches: null,\n totalMatches: {},\n};\n","import React from 'react';\nimport i18next from 'i18next';\nimport * as S from '~/pages/Match/subpages/Previous/subpages/ArbitrationTeam/components/ArbitrationBlock/components/ArbitrationMatches/styles';\n\nexport const tableStructure = totalMatches => {\n return [\n {\n Header: i18next.t('season'),\n accessor: 'season',\n Footer: {i18next.t('total')},\n },\n {\n Header: `${i18next.t('arbitratedMatches')}`,\n accessor: 'arbitratedMatches',\n Footer: totalMatches.arbitratedMatches,\n },\n {\n Header: `${i18next.t('yellowCards')} (L/V)`,\n accessor: 'yellowCards',\n Footer: `${totalMatches.yellowCards.homeStat} / ${totalMatches.yellowCards.awayStat}`,\n },\n {\n Header: `${i18next.t('doubleYellowCards')} (L/V)`,\n accessor: 'doubleYellowCards',\n Footer: `${totalMatches.doubleYellowCards.homeStat} / ${totalMatches.doubleYellowCards.awayStat}`,\n },\n {\n Header: `${i18next.t('redCards')} (L/V)`,\n accessor: 'redCards',\n Footer: `${totalMatches.redCards.homeStat} / ${totalMatches.redCards.awayStat}`,\n },\n {\n Header: `${i18next.t('faultsIndicated')} (L/V)`,\n accessor: 'faultsIndicated',\n Footer: `${totalMatches.faultsIndicated.homeStat} / ${totalMatches.faultsIndicated.awayStat}`,\n },\n {\n Header: `${i18next.t('penaltiesIndicated')} (L/V)`,\n accessor: 'penaltiesIndicated',\n Footer: `${totalMatches.penaltiesIndicated.homeStat} / ${totalMatches.penaltiesIndicated.awayStat}`,\n },\n ];\n};\n","import styled from 'styled-components/macro';\nimport ArbitrationHeader from './components/ArbitrationHeader';\nimport ArbitrationMatches from './components/ArbitrationMatches';\n\nexport const Container = styled.div`\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n background-color: ${({ theme }) => theme.white};\n min-height: 100%;\n`;\nexport const ArbitrationHeaderStyled = styled(ArbitrationHeader)`\n height: 161px;\n`;\n\nexport const ArbitrationMatchesStyled = styled(ArbitrationMatches)``;\n","import styled from 'styled-components/macro';\n\nexport const Container = styled.div`\n display: flex;\n background-color: ${({ theme, isLocal }) =>\n isLocal ? theme.light : theme.dark4};\n z-index: 1;\n position: relative;\n\n & > div:last-child {\n background-color: ${({ theme, isLocal }) =>\n isLocal ? theme.whiteWithMidOpacity : theme.dark4MidOpacity};\n z-index: 1;\n }\n`;\n\nexport const ShieldBackground = styled.div`\n width: 100%;\n height: 100%;\n position: absolute;\n background-image: url(${({ bgImage }) => bgImage});\n background-repeat: no-repeat;\n background-size: 223px;\n background-position: calc(100% + 66px) center;\n filter: grayscale(100%);\n z-index: 0;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n }\n`;\n\nexport const TeamLabel = styled.div`\n position: relative;\n width: 94px;\n background-color: ${({ theme, isLocal }) =>\n isLocal ? theme.mainGreyOpacity : theme.dark5};\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n display: none;\n }\n`;\n\nexport const TeamLabelText = styled.div`\n position: relative;\n display: flex;\n width: auto;\n align-items: center;\n justify-content: center;\n top: 50%;\n left: 50%;\n white-space: nowrap;\n transform-origin: 50% 50%;\n transform: translate(-50%, -50%) rotateZ(-90deg);\n font-size: 29px;\n color: ${({ theme, isLocal }) => (isLocal ? theme.black : theme.white)};\n span {\n order: ${({ isLocal }) => (isLocal ? 1 : 2)};\n }\n img {\n order: ${({ isLocal }) => (isLocal ? 2 : 1)};\n margin: 0 10px;\n }\n`;\n\nexport const TableContainer = styled.div`\n padding: 39px;\n min-height: 500px;\n\n table {\n thead {\n th > div {\n text-transform: uppercase;\n text-align: center;\n color: ${({ theme, isLocal }) => (isLocal ? theme.black : theme.white)};\n }\n }\n thead tr,\n tbody tr {\n text-align: center;\n & td,\n & th {\n font-family: ${({ theme }) => theme.primaryFontBold};\n &:nth-child(2n) {\n font-family: ${({ theme }) => theme.primaryFontLight};\n }\n }\n }\n th,\n td {\n padding: 11px 6px;\n }\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n width: 100%;\n padding: 0px;\n padding-top: 10px;\n table {\n thead {\n th > div {\n text-transform: uppercase;\n justify-content: center;\n color: ${({ theme }) => theme.black};\n }\n }\n }\n }\n`;\n","import React from 'react';\nimport { PropTypes } from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport { theme } from '~/styles/theme';\nimport { Table, Image } from '~/components';\nimport * as S from './styles';\n\nexport default function TeamBlock({\n className,\n value,\n isLocal,\n bgImage,\n label,\n shield,\n}) {\n const { t } = useTranslation();\n const columns = React.useMemo(\n () => [\n {\n Header: t('season'),\n accessor: 'season',\n },\n {\n Header: t('totalWinnings'),\n accessor: 'winMatches',\n },\n {\n Header: t('totalDraws'),\n accessor: 'tiedMatches',\n },\n {\n Header: t('totalDefeats'),\n accessor: 'lostMatches',\n },\n {\n Header: t('arbitratedMatches'),\n accessor: 'arbitratedMatches',\n },\n ],\n [t]\n );\n\n const tableStyles = isLocal\n ? {\n headerColor: theme.whiteWithMidOpacity,\n secondaryColor: theme.mainGreyOpacity,\n textColor: theme.dark,\n fullWidth: true,\n }\n : {\n headerColor: theme.dark4,\n primaryColor: theme.dark5Opacity,\n textColor: theme.white,\n fullWidth: true,\n };\n return (\n <>\n \n \n \n \n {label}\n {shield && }\n \n \n \n {\n return {\n ...row,\n season: `${row.seasonYearStart}/${row.seasonYearEnd}`,\n };\n })}\n styleOptions={tableStyles}\n />\n \n \n \n );\n}\n\nTeamBlock.propTypes = {\n className: PropTypes.string,\n value: PropTypes.array,\n isLocal: PropTypes.bool,\n bgImage: PropTypes.string,\n label: PropTypes.string,\n shield: PropTypes.string,\n};\n\nTeamBlock.defaultProps = {\n className: null,\n value: [],\n isLocal: false,\n bgImage: null,\n label: null,\n shield: null,\n};\n","import React, { useState } from 'react';\nimport { PropTypes } from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport * as S from './styles';\nimport ArbitrationMatches from './components/ArbitrationMatches';\nimport TeamBlock from '../TeamBlock';\nimport { TabBar, TabButton } from '~/components';\n\nexport default function ArbitrationBlock({\n name,\n avatar,\n arbitrationCollege,\n matches,\n className,\n totalMatches,\n localStats,\n awayStats,\n selectedMatch,\n}) {\n const [tab, setTab] = useState('referee');\n\n const changeTab = ({ value }) => {\n setTab(value);\n };\n\n const { t } = useTranslation();\n return (\n \n \n {matches && (localStats || awayStats) && (\n \n \n {localStats && (\n \n )}\n {awayStats && (\n \n )}\n \n )}\n {tab === 'referee' && matches && (\n \n )}\n {tab === 'local' && localStats && (\n \n )}\n {tab === 'away' && awayStats && }\n \n );\n}\n\nArbitrationBlock.propTypes = {\n className: PropTypes.string,\n avatar: PropTypes.string,\n arbitrationCollege: PropTypes.string,\n name: PropTypes.string,\n matches: PropTypes.array,\n totalMatches: PropTypes.object,\n localStats: PropTypes.object,\n awayStats: PropTypes.object,\n selectedMatch: PropTypes.object,\n};\n\nArbitrationBlock.defaultProps = {\n className: null,\n avatar: null,\n arbitrationCollege: null,\n name: null,\n matches: [],\n totalMatches: null,\n localStats: null,\n awayStats: null,\n selectedMatch: null,\n};\n","import styled from 'styled-components/macro';\nimport TabButton from '~/components/Tab/TabButton';\n\nexport const Title = styled.div`\n background-color: ${({ theme }) => theme.dark};\n font-size: 20px;\n color: ${({ theme }) => theme.white};\n font-family: ${({ theme }) => theme.primaryFontMedium};\n text-transform: uppercase;\n padding: 34px 15px 15px;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n font-size: 15px;\n padding: 15px;\n }\n`;\n\nexport const Container = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n padding: 0 48px;\n padding-bottom: 57px;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n padding: 0px;\n }\n &::before {\n content: '';\n background-color: ${({ theme }) => theme.dark};\n width: 100%;\n height: 297px;\n top: 0px;\n right: 0;\n position: absolute;\n z-index: 0;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n height: 291px;\n }\n }\n`;\n\nexport const TableContent = styled.div`\n z-index: 10;\n width: 100%;\n table {\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n margin-top: 30px;\n }\n thead {\n th {\n padding-left: 0px;\n padding-right: 0px;\n position: relative;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n &:first-child {\n opacity: 0;\n }\n }\n & > div {\n text-transform: uppercase;\n text-align: left;\n color: ${({ theme }) => theme.coral};\n align-items: center;\n justify-content: center;\n height: 200px;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n align-items: start;\n height: 232px;\n max-width: 44px;\n }\n svg {\n margin-left: -10px;\n\n &:first-child {\n margin-left: 10px;\n }\n\n polygon {\n fill: ${({ theme }) => theme.coral};\n }\n }\n }\n }\n }\n tbody,\n tfoot {\n td {\n &:first-child {\n text-align: left;\n }\n }\n }\n th,\n td {\n text-align: center;\n font-family: ${({ theme }) => theme.primaryFontLight};\n &:nth-child(2n) {\n font-family: ${({ theme }) => theme.primaryFontBold};\n }\n }\n }\n`;\n\nexport const SeasonHeader = styled.span`\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.paragraph}px;\n color: ${({ theme }) => theme.white};\n`;\n\nexport const Total = styled.span`\n text-transform: uppercase;\n`;\n\nexport const AvatarHeader = styled.div`\n display: flex;\n flex-direction: column;\n flex: 1;\n align-items: center;\n justify-content: center;\n padding: 10px;\n transition: opacity 0.3s;\n opacity: ${({ isSelected }) => (isSelected ? 1 : 0.6)};\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n padding: 0px;\n }\n`;\n\nexport const RefereeRole = styled.p`\n height: 57px;\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.paragraph}px;\n color: ${({ theme }) => theme.white};\n order: 3;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n font-size: 9px;\n height: 38px;\n order: 1;\n }\n`;\n\nexport const RefereeName = styled.p`\n font-family: ${({ theme }) => theme.primaryFontLight};\n color: ${({ theme }) => theme.white};\n text-transform: capitalize;\n font-size: ${({ theme }) => theme.paragraphSmall}px;\n order: 1;\n text-align: center;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n text-align: center;\n order: 3;\n font-size: 9px;\n position: absolute;\n width: 100px;\n bottom: 0px;\n transform-origin: 100% 0%;\n transform: rotateZ(49deg) translateX(-50%);\n text-align: right;\n left: -37%;\n }\n`;\n\nexport const AvatarPhoto = styled.img`\n width: 65px;\n height: 97px;\n margin: 3px 0px;\n object-fit: cover;\n order: 2;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n margin: 0px 0px 8px 0px;\n width: 49px;\n height: 72px;\n }\n`;\n\nexport const ContainerArbitration = styled.div`\n flex-grow: 1;\n height: 100%;\n background-color: ${({ theme }) => theme.white};\n min-height: 100%;\n`;\n\nexport const AssistanceListContent = styled.div``;\n\nexport const TabButtonFullWidth = styled(TabButton)`\n justify-content: space-between;\n padding: 8px;\n background-color: ${({ theme, isOpen }) =>\n isOpen ? theme.dark : theme.black};\n border-top: solid 1px ${({ theme }) => theme.white};\n`;\nexport const ProfileImg = styled.img`\n grid-area: image;\n width: 100%;\n height: 100%;\n object-fit: cover;\n`;\n\nexport const ProfileRole = styled.div`\n grid-area: role;\n font-size: 15px;\n font-family: ${({ theme }) => theme.primaryFontLight};\n`;\n\nexport const ProfileName = styled.div`\n grid-area: name;\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: 16px;\n`;\n\nexport const ContainerProfile = styled.div`\n display: grid;\n grid-template-columns: 41px auto;\n grid-template-rows: 31px 31px;\n grid-template-areas:\n 'image role'\n 'image name';\n text-align: left;\n grid-column-gap: 20px;\n`;\n\nexport const ListContent = styled.div`\n width: 100%;\n display: flex;\n flex-direction: column;\n`;\n\nexport const TabContent = styled.div`\n max-height: ${({ isOpen }) => (isOpen ? '1000px' : '0px')};\n overflow: hidden;\n transition: max-height 0.3s;\n`;\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTranslation } from 'react-i18next';\nimport { getSelectedMatchRefereeAssistantsRequest } from '~/store/modules/matches/actions';\nimport { Table, Icon } from '~/components';\nimport { theme } from '~/styles/theme';\nimport * as S from './styles';\nimport tableStructure from './utils/tableStructure';\nimport ArbitrationBlock from '../ArbitrationBlock';\n\nexport default function ArbitrationAssistanceBlock({\n selectedAssistant,\n setSelectedAssistant,\n tabMode,\n}) {\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const {\n selectedMatch: { data: selectedMatch },\n refereeAssistants: { data: refereeAssistants, loading },\n } = useSelector(state => state.matches);\n useEffect(() => {\n if (\n selectedMatch &&\n Object.keys(refereeAssistants).length === 0 &&\n !loading\n ) {\n dispatch(getSelectedMatchRefereeAssistantsRequest(selectedMatch.id));\n }\n }, [dispatch, selectedMatch, refereeAssistants, loading]);\n\n const columns = React.useMemo(\n () =>\n tableStructure(\n refereeAssistants,\n selectedAssistant,\n setSelectedAssistant\n ),\n [refereeAssistants, selectedAssistant, setSelectedAssistant]\n );\n const tableStyles = {\n secondaryColor: theme.light2Opacity,\n textColor: theme.dark,\n fullWidth: true,\n };\n\n const styleTabPrimary = {\n colorPrimary: theme.black,\n secondaryColor: theme.white,\n contrastColor: theme.white,\n textColor: theme.white,\n };\n return (\n \n {!tabMode && (\n \n \n {Object.keys(refereeAssistants).length > 0 &&\n refereeAssistants.arbitratedMatchesTable && (\n {t('matchesWithReferees')}}\n data={refereeAssistants.arbitratedMatchesTable.seasons}\n columns={columns}\n styleOptions={tableStyles}\n fullWidth\n hasFooter\n disableSort\n />\n )}\n \n \n )}\n {tabMode && (\n \n {Object.keys(refereeAssistants).length > 0 &&\n refereeAssistants.arbitratedMatchesTable\n ? refereeAssistants.referees.map((item, index) => {\n return (\n <>\n {\n setSelectedAssistant(value);\n }}\n label={\n <>\n \n \n {t(item.role)}\n {item.refereeName}\n \n \n \n }\n />\n \n \n \n \n );\n })\n : null}\n \n )}\n \n );\n}\n\nArbitrationAssistanceBlock.propTypes = {\n selectedAssistant: PropTypes.number,\n setSelectedAssistant: PropTypes.func,\n tabMode: PropTypes.bool,\n};\n\nArbitrationAssistanceBlock.defaultProps = {\n selectedAssistant: 0,\n setSelectedAssistant: () => {},\n tabMode: false,\n};\n","import React from 'react';\nimport i18next from 'i18next';\nimport * as S from '../styles';\n\nexport default function tableStructure(\n refereeAssistants,\n selectedAssistant,\n setSelectedAssistant\n) {\n let processedColumns = [];\n\n if (Object.keys(refereeAssistants).length > 0) {\n processedColumns = refereeAssistants.referees.map((arbiter, index) => {\n return {\n Header: (\n setSelectedAssistant(index)}\n >\n {i18next.t(arbiter.role)}\n \n {arbiter.refereeNickname}\n \n ),\n accessor: `referee${arbiter.referee}`,\n Footer:\n refereeAssistants.arbitratedMatchesTable.totals[\n `totalReferee${arbiter.referee}`\n ],\n };\n });\n }\n\n return [\n {\n Header: {i18next.t('season')},\n accessor: 'season',\n Footer: {i18next.t('total')},\n },\n ...processedColumns,\n ];\n}\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport PropTypes from 'prop-types';\nimport { TabButton } from '~/components';\nimport { theme } from '~/styles/theme';\nimport { useSelector } from 'react-redux';\nimport * as S from './styles';\nimport ArbitrationBlock from '../ArbitrationBlock';\nimport ArbitrationAssistanceBlock from '../ArbitrationAssistanceBlock';\n\nexport default function ArbitrationSection({\n handleChangeReferee,\n optionSelected,\n referee,\n tabMode,\n selectedAssistant,\n setSelectedAssistant,\n selectedMatch,\n}) {\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n const styleTabDesktop = {\n primaryColor: match?.competitionId === 1 ? theme.coral : theme.turquoise,\n secondaryColor: theme.dark4,\n contrastColor: theme.white,\n textColor: theme.white,\n };\n\n const styleTabTablet = {\n primaryColor: match?.competitionId === 1 ? theme.coral : theme.turquoise,\n secondaryColor: theme.dark4,\n contrastColor: theme.white,\n textColor: theme.white,\n };\n\n const { t } = useTranslation();\n\n return (\n \n \n \n \n \n {!tabMode && (\n <>\n {Object.keys(referee).length > 0 && optionSelected === 1 && (\n \n )}\n {optionSelected === 2 && (\n \n )}\n \n )}\n {tabMode && (\n <>\n {Object.keys(referee).length > 0 && optionSelected === 1 && (\n \n )}\n {optionSelected === 2 && (\n \n )}\n \n )}\n \n );\n}\n\nArbitrationSection.propTypes = {\n handleChangeReferee: PropTypes.func,\n optionSelected: PropTypes.number,\n referee: PropTypes.object,\n tabMode: PropTypes.bool,\n selectedAssistant: PropTypes.number,\n setSelectedAssistant: PropTypes.func,\n selectedMatch: PropTypes.object,\n};\n\nArbitrationSection.defaultProps = {\n handleChangeReferee: () => {},\n optionSelected: 1,\n referee: {},\n tabMode: false,\n selectedAssistant: 0,\n setSelectedAssistant: () => {},\n selectedMatch: null,\n};\n","import PropTypes from 'prop-types';\n\nconst propTypes = {\n publicFiles: PropTypes.object,\n};\n\nconst defaultProps = { publicFiles: { data: {} } };\n\nexport { propTypes, defaultProps };\n","export const Types = {\n SIGN_IN_REQUEST: '@auth/SIGN_IN_REQUEST',\n SIGN_IN_SUCCESS: '@auth/SIGN_IN_SUCCESS',\n SIGN_IN_FAILURE: '@auth/SIGN_IN_FAILURE',\n\n SIGN_OUT_REQUEST: '@auth/SIGN_OUT_REQUEST',\n\n SIGN_OUT: '@auth/SIGN_OUT',\n\n REGISTER_REQUEST: '@auth/REGISTER_REQUEST',\n REGISTER_SUCCESS: '@auth/REGISTER_SUCCESS',\n REGISTER_FAILURE: '@auth/REGISTER_FAILURE',\n\n REGISTER_CONFIRMATION_REQUEST: '@auth/REGISTER_CONFIRMATION_REQUEST',\n REGISTER_CONFIRMATION_SUCCESS: '@auth/REGISTER_CONFIRMATION_SUCCESS',\n REGISTER_CONFIRMATION_FAILURE: '@auth/REGISTER_CONFIRMATION_FAILURE',\n\n PASSWORD_RECOVERY_REQUEST: '@auth/PASSWORD_RECOVERY_REQUEST',\n PASSWORD_RECOVERY_SUCCESS: '@auth/PASSWORD_RECOVERY_SUCCESS',\n PASSWORD_RECOVERY_FAILURE: '@auth/PASSWORD_RECOVERY_FAILURE',\n\n MFA_REQUEST: '@auth/MFA_REQUEST',\n MFA_SUCCESS: '@auth/MFA_SUCCESS',\n MFA_FAILURE: '@auth/MFA_FAILURE',\n\n RESEND_EMAIL_REQUEST: '@auth/RESEND_EMAIL_REQUEST',\n RESEND_EMAIL_SUCCESS: '@auth/RESEND_EMAIL_SUCCESS',\n RESEND_EMAIL_FAILURE: '@auth/RESEND_EMAIL_FAILURE',\n\n CHANGE_PASSWORD_REQUEST: '@auth/CHANGE_PASSWORD_REQUEST',\n CHANGE_PASSWORD_SUCCESS: '@auth/CHANGE_PASSWORD_SUCCESS',\n CHANGE_PASSWORD_FAILURE: '@auth/CHANGE_PASSWORD_FAILURE',\n};\n\nexport const signInRequest = payload => ({\n type: Types.SIGN_IN_REQUEST,\n payload,\n});\n\nexport const signInSuccess = (token, refreshToken) => ({\n type: Types.SIGN_IN_SUCCESS,\n payload: {\n token,\n refreshToken,\n },\n});\n\nexport const signInFailure = () => ({\n type: Types.SIGN_IN_FAILURE,\n});\n\nexport const signOutRequest = () => ({\n type: Types.SIGN_OUT_REQUEST,\n});\n\nexport const signOut = () => ({\n type: Types.SIGN_OUT,\n});\n\nexport const registerRequest = payload => ({\n type: Types.REGISTER_REQUEST,\n payload,\n});\n\nexport const registerSuccess = () => ({\n type: Types.REGISTER_SUCCESS,\n});\n\nexport const registerFailure = () => ({\n type: Types.REGISTER_FAILURE,\n});\n\nexport const registerConfirmationRequest = payload => ({\n type: Types.REGISTER_CONFIRMATION_REQUEST,\n payload,\n});\n\nexport const registerConfirmationSuccess = () => ({\n type: Types.REGISTER_CONFIRMATION_SUCCESS,\n});\n\nexport const registerConfirmationFailure = () => ({\n type: Types.REGISTER_CONFIRMATION_FAILURE,\n});\n\nexport const passwordRecoveryRequest = payload => ({\n type: Types.PASSWORD_RECOVERY_REQUEST,\n payload,\n});\n\nexport const passwordRecoverySuccess = () => ({\n type: Types.PASSWORD_RECOVERY_SUCCESS,\n});\n\nexport const passwordRecoveryFailure = () => ({\n type: Types.PASSWORD_RECOVERY_FAILURE,\n});\n\nexport const mfaRequest = payload => ({\n type: Types.MFA_REQUEST,\n payload,\n});\n\nexport const mfaSuccess = () => ({\n type: Types.MFA_SUCCESS,\n});\n\nexport const mfaFailure = () => ({\n type: Types.MFA_FAILURE,\n});\n\nexport const resendEmailRequest = payload => ({\n type: Types.RESEND_EMAIL_REQUEST,\n payload,\n});\n\nexport const resendEmailSuccess = () => ({\n type: Types.RESEND_EMAIL_SUCCESS,\n});\n\nexport const resendEmailFailure = () => ({\n type: Types.RESEND_EMAIL_FAILURE,\n});\n\nexport const changePasswordRequest = payload => ({\n type: Types.CHANGE_PASSWORD_REQUEST,\n payload,\n});\n\nexport const changePasswordSuccess = () => ({\n type: Types.CHANGE_PASSWORD_SUCCESS,\n});\n\nexport const changePasswordFailure = () => ({\n type: Types.CHANGE_PASSWORD_FAILURE,\n});\n","import produce from 'immer';\n\nimport { Types as AuthTypes } from './actions';\n\nexport const INITIAL_STATE = {\n token: null,\n refreshToken: null,\n signed: false,\n loading: false,\n};\n\nexport default function auth(state = INITIAL_STATE, action) {\n const { type, payload } = action;\n\n return produce(state, draft => {\n switch (type) {\n case AuthTypes.SIGN_IN_REQUEST: {\n draft.loading = true;\n break;\n }\n case AuthTypes.SIGN_IN_SUCCESS: {\n draft.token = payload.token;\n draft.refreshToken = payload.refreshToken;\n draft.signed = true;\n draft.loading = false;\n break;\n }\n case AuthTypes.SIGN_IN_FAILURE: {\n draft.loading = false;\n break;\n }\n case AuthTypes.SIGN_OUT_REQUEST: {\n break;\n }\n case AuthTypes.SIGN_OUT: {\n delete draft.token;\n delete draft.refreshToken;\n draft.signed = false;\n draft.loading = false;\n break;\n }\n case AuthTypes.REGISTER_REQUEST: {\n draft.loading = true;\n break;\n }\n case AuthTypes.REGISTER_SUCCESS: {\n draft.loading = false;\n break;\n }\n case AuthTypes.REGISTER_FAILURE: {\n draft.loading = false;\n break;\n }\n case AuthTypes.PASSWORD_RECOVERY_REQUEST: {\n draft.loading = true;\n break;\n }\n case AuthTypes.PASSWORD_RECOVERY_SUCCESS: {\n draft.loading = false;\n break;\n }\n case AuthTypes.PASSWORD_RECOVERY_FAILURE: {\n draft.loading = false;\n break;\n }\n case AuthTypes.MFA_REQUEST: {\n draft.loading = true;\n break;\n }\n case AuthTypes.MFA_SUCCESS: {\n draft.loading = false;\n break;\n }\n case AuthTypes.MFA_FAILURE: {\n draft.loading = false;\n break;\n }\n case AuthTypes.CHANGE_PASSWORD_REQUEST: {\n draft.loading = true;\n break;\n }\n case AuthTypes.CHANGE_PASSWORD_SUCCESS: {\n draft.loading = false;\n break;\n }\n case AuthTypes.CHANGE_PASSWORD_FAILURE: {\n draft.loading = false;\n break;\n }\n case AuthTypes.RESEND_EMAIL_REQUEST: {\n draft.loading = true;\n break;\n }\n case AuthTypes.RESEND_EMAIL_SUCCESS: {\n draft.loading = false;\n break;\n }\n case AuthTypes.RESEND_EMAIL_FAILURE: {\n draft.loading = false;\n break;\n }\n default:\n }\n });\n}\n","export const Types = {\n // For copy & paste\n // _REQUEST: '@filters/_REQUEST',\n // _SUCCESS: '@filters/_SUCCESS',\n // _FAILURE: '@filters/_FAILURE',\n\n GET_CLUBS_REQUEST: '@filters/GET_CLUBS_REQUEST',\n GET_CLUBS_SUCCESS: '@filters/GET_CLUBS_SUCCESS',\n GET_CLUBS_FAILURE: '@filters/GET_CLUBS_SUCCESS',\n\n GET_COMPETITIONS_REQUEST: '@filters/GET_COMPETITIONS_REQUEST',\n GET_COMPETITIONS_SUCCESS: '@filters/GET_COMPETITIONS_SUCCESS',\n GET_COMPETITIONS_FAILURE: '@filters/GET_COMPETITIONS_FAILURE',\n\n GET_SEASONS_REQUEST: '@filters/GET_SEASONS_REQUEST',\n GET_SEASONS_SUCCESS: '@filters/GET_SEASONS_SUCCESS',\n GET_SEASONS_FAILURE: '@filters/GET_SEASONS_FAILURE',\n\n GET_DATES_REQUEST: '@filters/GET_DATES_REQUEST',\n GET_DATES_SUCCESS: '@filters/GET_DATES_SUCCESS',\n GET_DATES_FAILURE: '@filters/GET_DATES_FAILURE',\n\n GET_STADIUMS_REQUEST: '@filters/GET_STADIUM_REQUEST',\n GET_STADIUMS_SUCCESS: '@filters/GET_STADIUM_SUCCESS',\n GET_STADIUMS_FAILURE: '@filters/GET_STADIUM_FAILURE',\n\n GET_CAROUSEL_DATES_REQUEST: '@filters/GET_CAROUSEL_DATES_REQUEST',\n GET_CAROUSEL_DATES_SUCCESS: '@filters/GET_CAROUSEL_DATES_SUCCESS',\n GET_CAROUSEL_DATES_FAILURE: '@filters/GET_CAROUSEL_DATES_FAILURE',\n};\n\n// CLUBS\nexport const getClubFiltersRequest = query => ({\n type: Types.GET_CLUBS_REQUEST,\n payload: {\n query,\n },\n});\n\nexport const getClubFiltersSuccess = filters => ({\n type: Types.GET_CLUBS_SUCCESS,\n payload: {\n filters,\n },\n});\n\nexport const getClubFiltersFailure = () => ({\n type: Types.GET_CLUBS_FAILURE,\n});\n\n// COMPETITIONS\nexport const getCompetitionFiltersRequest = query => ({\n type: Types.GET_COMPETITIONS_REQUEST,\n payload: {\n query,\n },\n});\n\nexport const getCompetitionFiltersSuccess = filters => ({\n type: Types.GET_COMPETITIONS_SUCCESS,\n payload: {\n filters,\n },\n});\n\nexport const getCompetitionFiltersFailure = () => ({\n type: Types.GET_COMPETITIONS_FAILURE,\n});\n\n// SEASONS\nexport const getSeasonFiltersRequest = query => ({\n type: Types.GET_SEASONS_REQUEST,\n payload: {\n query,\n },\n});\n\nexport const getSeasonFiltersSuccess = filters => ({\n type: Types.GET_SEASONS_SUCCESS,\n payload: {\n filters,\n },\n});\n\nexport const getSeasonFiltersFailure = () => ({\n type: Types.GET_SEASONS_FAILURE,\n});\n\n// DATES\nexport const getDateFiltersRequest = query => ({\n type: Types.GET_DATES_REQUEST,\n payload: {\n query,\n },\n});\n\nexport const getDateFiltersSuccess = filters => ({\n type: Types.GET_DATES_SUCCESS,\n payload: {\n filters,\n },\n});\n\nexport const getDateFiltersFailure = () => ({\n type: Types.GET_DATES_FAILURE,\n});\n\n// STADIUMS\nexport const getStadiumFiltersRequest = query => ({\n type: Types.GET_STADIUMS_REQUEST,\n payload: {\n query,\n },\n});\n\nexport const getStadiumFiltersSuccess = filters => ({\n type: Types.GET_STADIUMS_SUCCESS,\n payload: {\n filters,\n },\n});\n\nexport const getStadiumFiltersFailure = () => ({\n type: Types.GET_STADIUMS_FAILURE,\n});\n\n// CAROUSEL DATES\nexport const getCarouselDatesFiltersRequest = query => ({\n type: Types.GET_CAROUSEL_DATES_REQUEST,\n payload: {\n query,\n },\n});\n\nexport const getCarouselDatesFiltersSuccess = filters => ({\n type: Types.GET_CAROUSEL_DATES_SUCCESS,\n payload: {\n filters,\n },\n});\n\nexport const getCarouselDatesFiltersFailure = () => ({\n type: Types.GET_CAROUSEL_DATES_FAILURE,\n});\n","import produce from 'immer';\nimport { Types as FilterTypes } from './actions';\n\nexport const INITIAL_STATE = {\n filters: {\n clubs: { data: [], loading: false },\n competitions: { data: [], loading: false },\n seasons: { data: [], loading: false },\n dates: { data: ['2020-02-07'], loading: false },\n stadiums: { data: [], loading: false },\n carouselDates: {\n data: {\n gameweeks: [],\n dates: [],\n },\n loading: false,\n },\n },\n};\n\nexport default function filters(state = INITIAL_STATE, action) {\n const { type, payload } = action;\n\n return produce(state, draft => {\n switch (type) {\n case FilterTypes.GET_CLUBS_REQUEST: {\n draft.filters.clubs.loading = true;\n break;\n }\n case FilterTypes.GET_CLUBS_SUCCESS: {\n draft.filters.clubs.data = payload.filters;\n draft.filters.clubs.loading = false;\n break;\n }\n case FilterTypes.GET_CLUBS_FAILURE: {\n draft.filters.clubs.loading = false;\n break;\n }\n\n case FilterTypes.GET_COMPETITIONS_REQUEST: {\n draft.filters.competitions.loading = true;\n break;\n }\n case FilterTypes.GET_COMPETITIONS_SUCCESS: {\n draft.filters.competitions.data = payload.filters;\n draft.filters.competitions.loading = false;\n break;\n }\n case FilterTypes.GET_COMPETITIONS_FAILURE: {\n draft.filters.competitions.loading = false;\n break;\n }\n\n case FilterTypes.GET_SEASONS_REQUEST: {\n draft.filters.seasons.loading = true;\n break;\n }\n case FilterTypes.GET_SEASONS_SUCCESS: {\n draft.filters.seasons.data = payload.filters;\n draft.filters.seasons.loading = false;\n break;\n }\n case FilterTypes.GET_SEASONS_FAILURE: {\n draft.filters.seasons.loading = false;\n break;\n }\n\n case FilterTypes.GET_DATES_REQUEST: {\n draft.filters.dates.loading = true;\n break;\n }\n case FilterTypes.GET_DATES_SUCCESS: {\n draft.filters.dates.data = payload.filters;\n draft.filters.dates.loading = false;\n break;\n }\n case FilterTypes.GET_DATES_FAILURE: {\n draft.filters.dates.loading = false;\n break;\n }\n\n case FilterTypes.GET_STADIUMS_REQUEST: {\n draft.filters.stadiums.loading = true;\n break;\n }\n case FilterTypes.GET_STADIUMS_SUCCESS: {\n draft.filters.stadiums.data = payload.filters;\n draft.filters.stadiums.loading = false;\n break;\n }\n case FilterTypes.GET_STADIUMS_FAILURE: {\n draft.filters.stadiums.loading = false;\n break;\n }\n\n case FilterTypes.GET_CAROUSEL_DATES_REQUEST: {\n draft.filters.carouselDates.loading = true;\n break;\n }\n case FilterTypes.GET_CAROUSEL_DATES_SUCCESS: {\n draft.filters.carouselDates.data = payload.filters;\n draft.filters.carouselDates.loading = false;\n break;\n }\n case FilterTypes.GET_CAROUSEL_DATES_FAILURE: {\n draft.filters.carouselDates.loading = false;\n break;\n }\n default:\n }\n });\n}\n\n// For copy & paste\n// case FilterTypes._REQUEST: {\n// draft.filters..loading = true;\n// break;\n// }\n// case FilterTypes._SUCCESS: {\n// draft.filters..data = payload.filters;\n// draft.loading = false;\n// break;\n// }\n// case FilterTypes._FAILURE: {\n// draft.filters..loading = true;\n// break;\n// }\n","export const Types = {\n GET_USER_REQUEST: '@user/GET_USER_REQUEST',\n GET_USER_SUCCESS: '@user/GET_USER_SUCCESS',\n GET_USER_FAILURE: '@user/GET_USER_FAILURE',\n EDIT_USER_REQUEST: '@user/EDIT_USER_REQUEST',\n EDIT_USER_SUCCESS: '@user/EDIT_USER_SUCCESS',\n EDIT_USER_FAILURE: '@user/EDIT_USER_FAILURE',\n};\n\nexport const getUserRequest = payload => ({\n type: Types.GET_USER_REQUEST,\n payload,\n});\n\nexport const getUserSuccess = payload => ({\n type: Types.GET_USER_SUCCESS,\n payload,\n});\n\nexport const getUserFailure = () => ({\n type: Types.GET_USER_FAILURE,\n});\n\nexport const editUserRequest = payload => ({\n type: Types.EDIT_USER_REQUEST,\n payload,\n});\n\nexport const editUserSuccess = () => ({\n type: Types.EDIT_USER_SUCCESS,\n});\n\nexport const editUserFailure = () => ({\n type: Types.EDIT_USER_FAILURE,\n});\n","import produce from 'immer';\n\nimport { Types as UserTypes } from './actions';\nimport { Types as AuthTypes } from '../auth/actions';\n\nexport const INITIAL_STATE = {\n loading: false,\n user: {},\n};\n\nexport default function user(state = INITIAL_STATE, action) {\n const { type, payload } = action;\n\n return produce(state, draft => {\n switch (type) {\n case UserTypes.GET_USER_REQUEST: {\n draft.loading = true;\n break;\n }\n case UserTypes.GET_USER_SUCCESS: {\n draft.loading = false;\n draft.user = payload;\n break;\n }\n case UserTypes.GET_USER_FAILURE: {\n draft.loading = false;\n break;\n }\n case AuthTypes.SIGN_OUT_REQUEST: {\n draft.user = INITIAL_STATE.user;\n break;\n }\n default:\n break;\n }\n });\n}\n","import produce from 'immer';\nimport { Types as matchActions } from './actions';\n\nexport const INITIAL_STATE = {\n matches: { data: [], loading: false },\n selectedMatch: { data: null, loading: false, failed: false },\n selectedMatchScore: { data: {}, loading: false },\n matchStatus: { data: { matchIsBeingPlayed: null }, loading: false },\n referee: {\n data: {},\n loading: false,\n },\n refereeAssistants: { data: {}, loading: false },\n kits: { data: {}, loading: false, failed: false },\n grassStatus: { data: {}, loading: false },\n lineup: { data: {}, loading: false, failed: false },\n events: { data: [], loading: false, failed: false },\n directStats: { data: {}, loading: false, failed: false },\n acts: {\n data: {},\n loading: false,\n },\n localSquad: { data: {}, loading: false, failed: false },\n visitorSquad: { data: {}, loading: false, failed: false },\n stats: { data: [], loading: false, failed: false },\n publicFiles: { data: {}, loading: false },\n privateFiles: { data: {}, loading: false },\n};\n\nexport default function matches(state = INITIAL_STATE, action) {\n const { type, payload } = action;\n\n return produce(state, draft => {\n switch (type) {\n case matchActions.GET_MATCHES_REQUEST: {\n draft.matches.loading = true;\n break;\n }\n case matchActions.GET_MATCHES_SUCCESS: {\n draft.matches.data = payload.payload.dates;\n draft.matches.loading = false;\n break;\n }\n case matchActions.GET_MATCHES_FAILURE: {\n draft.matches.loading = false;\n break;\n }\n case matchActions.GET_SQUADS_REQUEST: {\n draft.localSquad.loading = true;\n draft.visitorSquad.loading = true;\n draft.localSquad.failed = false;\n draft.visitorSquad.failed = false;\n break;\n }\n case matchActions.GET_SQUADS_SUCCESS: {\n draft.localSquad.data = payload.localSquad;\n draft.visitorSquad.data = payload.visitorSquad;\n draft.localSquad.loading = false;\n draft.visitorSquad.loading = false;\n draft.localSquad.failed = false;\n draft.visitorSquad.failed = false;\n break;\n }\n case matchActions.GET_SQUADS_FAILURE: {\n draft.localSquad.loading = false;\n draft.visitorSquad.loading = false;\n draft.localSquad.failed = true;\n draft.visitorSquad.failed = true;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_REQUEST: {\n draft.selectedMatch.loading = true;\n draft.selectedMatch.failed = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_SUCCESS: {\n draft.selectedMatch.data = payload;\n draft.selectedMatch.loading = false;\n draft.selectedMatch.failed = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_FAILURE: {\n draft.selectedMatch.loading = false;\n draft.selectedMatch.failed = true;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_SCORE_REQUEST: {\n draft.selectedMatchScore.loading = true;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_SCORE_SUCCESS: {\n draft.selectedMatchScore.data = payload;\n draft.selectedMatch.loading = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_SCORE_FAILURE: {\n draft.selectedMatchScore.loading = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_STATUS_REQUEST: {\n draft.matchStatus.loading = true;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_STATUS_SUCCESS: {\n draft.matchStatus.data.matchIsBeingPlayed = payload;\n draft.matchStatus.loading = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_STATUS_FAILURE: {\n draft.matchStatus.loading = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_REFEREES_REQUEST: {\n draft.referee.loading = true;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_REFEREES_SUCCESS: {\n draft.referee.data = payload;\n draft.referee.loading = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_REFEREES_FAILURE: {\n draft.referee.loading = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_REFEREE_ASSISTANTS_REQUEST: {\n draft.refereeAssistants.loading = true;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_REFEREE_ASSISTANTS_SUCCESS: {\n draft.refereeAssistants.data = payload;\n draft.refereeAssistants.loading = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_REFEREE_ASSISTANTS_FAILURE: {\n draft.refereeAssistants.loading = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_KITS_REQUEST: {\n draft.kits.loading = true;\n draft.kits.failed = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_KITS_SUCCESS: {\n draft.kits.data = payload;\n draft.kits.loading = false;\n draft.kits.failed = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_KITS_FAILURE: {\n draft.kits.loading = false;\n draft.kits.failed = true;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_GRASS_STATUS_REQUEST: {\n draft.grassStatus.loading = true;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_GRASS_STATUS_SUCCESS: {\n draft.grassStatus.data = payload;\n draft.grassStatus.loading = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_GRASS_STATUS_FAILURE: {\n draft.grassStatus.loading = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_LINEUP_REQUEST: {\n draft.lineup.loading = true;\n draft.lineup.failed = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_LINEUP_SUCCESS: {\n draft.lineup.data = payload;\n draft.lineup.loading = false;\n draft.lineup.failed = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_LINEUP_FAILURE: {\n draft.lineup.loading = false;\n draft.lineup.failed = true;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_ACTS_REQUEST: {\n draft.acts.loading = true;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_ACTS_SUCCESS: {\n draft.acts.data = payload;\n draft.acts.loading = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_ACTS_FAILURE: {\n draft.acts.loading = false;\n break;\n }\n\n case matchActions.GET_SELECTED_MATCH_TEAM_STATS_REQUEST: {\n draft.stats.loading = true;\n draft.stats.failed = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_TEAM_STATS_SUCCESS: {\n draft.stats.data = payload;\n draft.stats.loading = false;\n draft.stats.failed = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_TEAM_STATS_FAILURE: {\n draft.stats.loading = false;\n draft.stats.failed = true;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_EVENTS_REQUEST: {\n draft.events.loading = true;\n draft.events.failed = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_EVENTS_SUCCESS: {\n draft.events.data = payload;\n draft.events.loading = false;\n draft.events.failed = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_EVENTS_FAILURE: {\n draft.events.loading = false;\n draft.events.failed = true;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_DIRECT_STATS_REQUEST: {\n draft.directStats.loading = true;\n draft.directStats.failed = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_DIRECT_STATS_SUCCESS: {\n draft.directStats.data = payload;\n draft.directStats.loading = false;\n draft.directStats.failed = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_DIRECT_STATS_FAILURE: {\n draft.directStats.loading = false;\n draft.directStats.failed = true;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_PUBLIC_FILES_REQUEST: {\n draft.publicFiles.loading = true;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_PUBLIC_FILES_SUCCESS: {\n draft.publicFiles.data = payload;\n draft.publicFiles.loading = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_PUBLIC_FILES_FAILURE: {\n draft.publicFiles.loading = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_PRIVATE_FILES_REQUEST: {\n draft.privateFiles.loading = true;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_PRIVATE_FILES_SUCCESS: {\n draft.privateFiles.data = payload;\n draft.privateFiles.loading = false;\n break;\n }\n case matchActions.GET_SELECTED_MATCH_PRIVATE_FILES_FAILURE: {\n draft.privateFiles.loading = false;\n break;\n }\n case matchActions.FLUSH_SELECTED_MATCH: {\n draft.selectedMatch = { data: null, loading: false };\n draft.selectedMatchScore = { data: {}, loading: false };\n draft.referee = {\n data: {},\n loading: false,\n };\n draft.refereeAssistants = { data: {}, loading: false };\n draft.kits = { data: {}, loading: false, failed: false };\n draft.grassStatus = { data: {}, loading: false };\n draft.lineup = { data: {}, loading: false, failed: false };\n draft.events = { data: [], loading: false, failed: false };\n draft.directStats = { data: {}, loading: false, failed: false };\n draft.acts = {\n data: {},\n loading: false,\n };\n draft.localSquad = { data: {}, loading: false, failed: false };\n draft.visitorSquad = { data: {}, loading: false, failed: false };\n draft.stats = { data: [], loading: false, failed: false };\n draft.publicFiles = { data: {}, loading: false };\n draft.privateFiles = { data: {}, loading: false };\n break;\n }\n default:\n }\n });\n}\n","import { combineReducers } from 'redux';\n\nimport auth from './auth/reducer';\nimport filters from './filters/reducer';\nimport user from './user/reducer';\nimport matches from './matches/reducer';\n\nexport default combineReducers({\n auth,\n filters,\n user,\n matches,\n});\n","import { createBrowserHistory } from 'history';\n\nconst history = createBrowserHistory({\n basename: process.env.PUBLIC_URL,\n});\n\nexport default history;\n","import { LaLigaTracking } from '@laliga-cdac/react';\nimport { toast } from 'react-toastify';\nimport history from './history';\n\nconst Tracking = new LaLigaTracking({\n instrumentationKey: process.env.REACT_APP_INSIGHTS_KEY,\n history,\n toast,\n});\n\nexport default Tracking;\n","export const transFormErrorResponse = error => {\n const message = error.response ? error.response?.data?.error : '';\n\n if (error.response && error.response.data) {\n error.response.data.message = message;\n }\n\n return {\n ...error,\n };\n};\n","import { takeLatest, call, put, all, select } from 'redux-saga/effects';\nimport { toast } from 'react-toastify';\nimport i18next from 'i18next';\nimport history from '~/config/history';\n\nimport api, {\n loginConfirm,\n register,\n confirmRegister,\n recoverPassword,\n mfa,\n resendMail,\n changePassword,\n azureLogout,\n} from '~/services/api';\n\nimport Tracking from '~/config/tracking';\nimport {\n Types as AuthTypes,\n signInSuccess,\n signInFailure,\n signOut,\n registerSuccess,\n registerFailure,\n registerConfirmationSuccess,\n registerConfirmationFailure,\n passwordRecoverySuccess,\n passwordRecoveryFailure,\n mfaSuccess,\n mfaFailure,\n resendEmailSuccess,\n resendEmailFailure,\n changePasswordSuccess,\n changePasswordFailure,\n} from './actions';\nimport { transFormErrorResponse } from '../utils';\n\nexport const selectorSigned = state => state.auth.signed;\nexport const user = state => state.user;\n\nexport function* signIn(payload) {\n try {\n const signed = yield select(selectorSigned);\n if (signed) return;\n\n const {\n data: { token, refreshToken },\n } = yield call(loginConfirm, payload.payload);\n\n api.defaults.headers.Authorization = `Bearer ${token}`;\n\n yield put(signInSuccess(token, refreshToken));\n } catch (err) {\n yield put(signInFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\n\nexport function* signOutSaga() {\n const { laliga } = yield select(user);\n\n yield put(signOut());\n if (laliga) {\n yield azureLogout();\n }\n history.push('/', { shouldGoToLogin: true });\n}\n\nexport function* userRegister(payload) {\n try {\n const signed = yield select(selectorSigned);\n if (signed) return;\n\n yield call(register, payload.payload);\n\n yield put(registerSuccess());\n history.push(`/register-confirmation`);\n localStorage.setItem('email-confirmation', payload.payload.email);\n } catch (err) {\n yield put(registerFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\n\nexport function* registerConfirmation(payload) {\n try {\n const signed = yield select(selectorSigned);\n if (signed) return;\n\n yield call(confirmRegister, payload.payload);\n\n yield put(registerConfirmationSuccess());\n } catch (err) {\n yield put(registerConfirmationFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\n\nexport function* passwordRecovery(payload) {\n try {\n const signed = yield select(selectorSigned);\n if (signed) return;\n\n yield call(recoverPassword, payload.payload);\n\n yield put(passwordRecoverySuccess());\n history.push(`/`);\n toast.success(i18next.t('passwordRecoverySuccess'));\n } catch (err) {\n yield put(passwordRecoveryFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\n\nexport function* resendEmail(payload) {\n try {\n const signed = yield select(selectorSigned);\n if (signed) return;\n\n yield call(resendMail, payload.payload);\n\n yield put(resendEmailSuccess());\n toast.success(i18next.t('resendEmailSuccess'));\n } catch (err) {\n yield put(resendEmailFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\n\nexport function* multiFactorAuth(payload) {\n try {\n yield call(mfa, payload.payload);\n yield put(mfaSuccess());\n } catch (err) {\n yield put(mfaFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\n\nexport function* resetPassword(payload) {\n try {\n yield call(changePassword, payload.payload);\n yield put(changePasswordSuccess());\n history.push(`/`);\n toast.success(i18next.t('changePasswordSuccess'));\n } catch (err) {\n yield put(changePasswordFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\n\nexport function setToken({ payload }) {\n if (!payload) return false;\n\n const { token } = payload.auth;\n\n if (token) {\n api.defaults.headers.Authorization = `Bearer ${token}`;\n return true;\n }\n\n return false;\n}\n\nexport default all([\n takeLatest('persist/REHYDRATE', setToken),\n takeLatest(AuthTypes.SIGN_IN_REQUEST, signIn),\n takeLatest(AuthTypes.SIGN_OUT_REQUEST, signOutSaga),\n takeLatest(AuthTypes.REGISTER_REQUEST, userRegister),\n takeLatest(AuthTypes.REGISTER_CONFIRMATION_REQUEST, registerConfirmation),\n takeLatest(AuthTypes.PASSWORD_RECOVERY_REQUEST, passwordRecovery),\n takeLatest(AuthTypes.MFA_REQUEST, multiFactorAuth),\n takeLatest(AuthTypes.RESEND_EMAIL_REQUEST, resendEmail),\n takeLatest(AuthTypes.CHANGE_PASSWORD_REQUEST, resetPassword),\n]);\n","import { takeLatest, call, put, all } from 'redux-saga/effects';\nimport Tracking from '~/config/tracking';\nimport * as api from '~/services/api';\nimport { transFormErrorResponse } from '../utils';\nimport * as actions from './actions';\nimport { orderGameweeks } from './utils';\n\nexport function* getClubsFilters({ payload: { query = '' } }) {\n try {\n const { data } = yield call(api.getClubs, query);\n yield put(actions.getClubFiltersSuccess(data));\n } catch (err) {\n yield put(actions.getClubFiltersFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\n\nexport function* getCompetitionFilters({ payload: { query = '' } }) {\n try {\n const { data } = yield call(api.getCompetitions, query);\n yield put(actions.getCompetitionFiltersSuccess(data));\n } catch (err) {\n yield put(actions.getCompetitionFiltersFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\n\nexport function* getSeasonFilters({ payload: { query = '' } }) {\n try {\n const { data } = yield call(api.getSeasons, query);\n yield put(actions.getSeasonFiltersSuccess(data));\n } catch (err) {\n yield put(actions.getSeasonFiltersFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\n\nexport function* getDateFilters({ payload: { query = '' } }) {\n try {\n const { data } = yield call(api.getClubs, query);\n yield put(actions.getDateFiltersSuccess(data));\n } catch (err) {\n yield put(actions.getDateFiltersFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\n\nexport function* getStadiumFilters({ payload: { query = '' } }) {\n try {\n const { data } = yield call(api.getStadiums, query);\n yield put(actions.getStadiumFiltersSuccess(data));\n } catch (err) {\n yield put(actions.getStadiumFiltersFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\n\nexport function* getCarouselDatesFilters({ payload: { query = '' } }) {\n try {\n const { data } = yield call(api.getCarouselDates, query);\n data.gameweeks = orderGameweeks(data.gameweeks);\n yield put(actions.getCarouselDatesFiltersSuccess(data));\n } catch (err) {\n yield put(actions.getCarouselDatesFiltersFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\n\nexport default all([\n takeLatest(actions.Types.GET_CLUBS_REQUEST, getClubsFilters),\n takeLatest(actions.Types.GET_COMPETITIONS_REQUEST, getCompetitionFilters),\n takeLatest(actions.Types.GET_SEASONS_REQUEST, getSeasonFilters),\n takeLatest(actions.Types.GET_DATES_REQUEST, getDateFilters),\n takeLatest(actions.Types.GET_STADIUMS_REQUEST, getStadiumFilters),\n takeLatest(actions.Types.GET_CAROUSEL_DATES_REQUEST, getCarouselDatesFilters),\n]);\n","export const orderGameweeks = gameweeks => {\n return gameweeks.map(item => {\n if (item.gameweeks.length > 1) {\n const gameweeksOrdered = item.gameweeks.sort((a, b) =>\n a.number > b.number ? 1 : -1\n );\n\n return { ...item, gameweeks: gameweeksOrdered };\n }\n return item;\n });\n};\n","import { takeLatest, call, put, all, select } from 'redux-saga/effects';\nimport { toast } from 'react-toastify';\nimport { Types as UserTypes, getUserSuccess, getUserFailure } from './actions';\n\nimport { getUser, editUser } from '~/services/api';\nimport Tracking from '~/config/tracking';\nimport { transFormErrorResponse } from '../utils';\n\nexport const selectorToken = state => state.auth.token;\n\nexport function* getUserData() {\n try {\n const token = yield select(selectorToken);\n const response = yield call(getUser, token);\n yield put(getUserSuccess(response.data));\n } catch (err) {\n yield put(getUserFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\n\nexport function* editUserData(payload) {\n try {\n const response = yield call(editUser, payload.payload);\n yield put(getUserSuccess(response.data));\n toast.success('Editado con éxito');\n } catch (err) {\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\n\nexport default all([\n takeLatest(UserTypes.GET_USER_REQUEST, getUserData),\n takeLatest(UserTypes.EDIT_USER_REQUEST, editUserData),\n]);\n","import { takeLatest, call, put, all } from 'redux-saga/effects';\nimport Tracking from '~/config/tracking';\nimport * as api from '~/services/api';\nimport { transFormErrorResponse } from '../utils';\nimport * as actions from './actions';\n\nfunction showToast(err) {\n // TODO: PARCHE!! Condición provisional que ha de ser eliminada. Consultar a Juan Martos\n if (err.response.status !== 404) {\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\n\nexport function* getMatches({ payload: { query = '' } }) {\n try {\n const { data } = yield call(api.getMatches, query);\n yield put(\n actions.getMatchesSuccess({\n dates: data,\n })\n );\n } catch (err) {\n yield put(actions.getMatchesFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\nexport function* getSelectedMatch({ payload: { matchId } }) {\n try {\n const { data } = yield call(api.getMatch, matchId);\n yield put(actions.getSelectedMatchSuccess(data));\n } catch (err) {\n yield put(actions.getSelectedMatchFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\nexport function* getSelectedMatchStatus({ payload: { matchId } }) {\n try {\n const { data } = yield call(api.getMatchStatus, matchId);\n yield put(actions.getSelectedMatchStatusSuccess(data.inGame));\n } catch (err) {\n yield put(actions.getSelectedMatchStatusFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\nexport function* getSelectedMatchScore({ payload: { matchId } }) {\n try {\n const { data } = yield call(api.getMatchScore, matchId);\n yield put(actions.getSelectedMatchScoreSuccess(data));\n } catch (err) {\n yield put(actions.getSelectedMatchScoreFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\nexport function* getSquads({ payload: { localId, visitorId } }) {\n try {\n const localTeamData = yield call(api.getSquad, localId);\n const visitorTeamData = yield call(api.getSquad, visitorId);\n yield put(\n actions.getSquadsSuccess({\n localSquad: localTeamData.data,\n visitorSquad: visitorTeamData.data,\n })\n );\n } catch (err) {\n yield put(actions.getSquadsFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\nexport function* getSelectedMatchReferees({ payload: { matchId } }) {\n try {\n const { data } = yield call(api.getReferees, matchId);\n yield put(actions.getSelectedMatchRefereesSuccess(data));\n } catch (err) {\n yield put(actions.getSelectedMatchRefereesFailure());\n showToast(err);\n }\n}\n\nexport function* getSelectedMatchRefereeAssistants({ payload: { matchId } }) {\n try {\n const { data } = yield call(api.getRefereeAssistants, matchId);\n\n const refereeAvailableRoles = [\n 'var-referee',\n 'avar-referee',\n 'assistant-referee-1',\n 'assistant-referee-2',\n 'fourth-referee',\n ];\n\n const availableReferees = refereeAvailableRoles\n .map(\n role =>\n data.referees && data.referees.find(referee => referee.role === role)\n )\n .filter(hasReferee => hasReferee);\n\n const availableRefereeAssistants = { ...data, referees: availableReferees };\n\n yield put(\n actions.getSelectedMatchRefereeAssistantsSuccess(\n availableRefereeAssistants\n )\n );\n } catch (err) {\n yield put(actions.getSelectedMatchRefereeAssistantsFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\nexport function* getSelectedMatchKits({ payload: { matchId } }) {\n try {\n const { data } = yield call(api.getKits, matchId);\n yield put(actions.getSelectedMatchKitsSuccess(data));\n } catch (err) {\n yield put(actions.getSelectedMatchKitsFailure());\n showToast(err);\n }\n}\nexport function* getSelectedMatchGrassStatus({ payload: { matchId } }) {\n try {\n const { data } = yield call(api.getGrassStatus, matchId);\n yield put(actions.getSelectedMatchGrassStatusSuccess(data));\n } catch (err) {\n yield put(actions.getSelectedMatchGrassStatusFailure());\n showToast(err);\n }\n}\nexport function* getSelectedMatchLineup({ payload: { matchId } }) {\n try {\n const { data } = yield call(api.getLineup, matchId);\n yield put(actions.getSelectedMatchLineupSuccess(data));\n } catch (err) {\n yield put(actions.getSelectedMatchLineupFailure());\n showToast(err);\n }\n}\n\nexport function* getSelectedMatchActs({ payload: { matchId } }) {\n try {\n const { data } = yield call(api.getActs, matchId);\n yield put(actions.getSelectedMatchActsSuccess(data));\n } catch (err) {\n yield put(actions.getSelectedMatchActsFailure());\n showToast(err);\n }\n}\n\nexport function* getSelectedMatchTeamStats({ payload: { matchId } }) {\n try {\n const { data } = yield call(api.getStats, matchId);\n yield put(actions.getSelectedMatchTeamStatsSuccess(data));\n } catch (err) {\n yield put(actions.getSelectedMatchTeamStatsFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\n\nexport function* getSelectedMatchEvents({ payload: { matchId } }) {\n try {\n const { data } = yield call(api.getEvents, matchId);\n yield put(actions.getSelectedMatchEventsSuccess(data));\n } catch (err) {\n const hasEvents = err?.response?.status !== 404;\n if (hasEvents) {\n yield put(actions.getSelectedMatchEventsFailure());\n showToast(err);\n }\n }\n}\n\nexport function* getSelectedMatchDirectStats({ payload: { matchId } }) {\n try {\n const { data } = yield call(api.getDirectStats, matchId);\n yield put(actions.getSelectedMatchDirectStatsSuccess(data));\n } catch (err) {\n yield put(actions.getSelectedMatchDirectStatsFailure());\n showToast(err);\n }\n}\n\nexport function* getSelectedMatchPublicFiles({ payload: { matchId } }) {\n try {\n const { data } = yield call(api.getPublicFiles, matchId);\n yield put(actions.getSelectedMatchPublicFilesSuccess(data));\n } catch (err) {\n yield put(actions.getSelectedMatchPublicFilesFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\n\nexport function* getSelectedMatchPrivateFiles({ payload: { matchId } }) {\n try {\n const { data } = yield call(api.getPrivateFiles, matchId);\n yield put(actions.getSelectedMatchPrivateFilesSuccess(data));\n } catch (err) {\n yield put(actions.getSelectedMatchPrivateFilesFailure());\n Tracking.trackApiError(transFormErrorResponse(err), { showAs: 'toast' });\n }\n}\n\nexport default all([\n takeLatest(actions.Types.GET_MATCHES_REQUEST, getMatches),\n takeLatest(actions.Types.GET_SQUADS_REQUEST, getSquads),\n takeLatest(actions.Types.GET_SELECTED_MATCH_REQUEST, getSelectedMatch),\n takeLatest(\n actions.Types.GET_SELECTED_MATCH_STATUS_REQUEST,\n getSelectedMatchStatus\n ),\n takeLatest(\n actions.Types.GET_SELECTED_MATCH_SCORE_REQUEST,\n getSelectedMatchScore\n ),\n takeLatest(\n actions.Types.GET_SELECTED_MATCH_REFEREES_REQUEST,\n getSelectedMatchReferees\n ),\n takeLatest(\n actions.Types.GET_SELECTED_MATCH_REFEREE_ASSISTANTS_REQUEST,\n getSelectedMatchRefereeAssistants\n ),\n takeLatest(\n actions.Types.GET_SELECTED_MATCH_KITS_REQUEST,\n getSelectedMatchKits\n ),\n takeLatest(\n actions.Types.GET_SELECTED_MATCH_GRASS_STATUS_REQUEST,\n getSelectedMatchGrassStatus\n ),\n takeLatest(\n actions.Types.GET_SELECTED_MATCH_LINEUP_REQUEST,\n getSelectedMatchLineup\n ),\n takeLatest(\n actions.Types.GET_SELECTED_MATCH_ACTS_REQUEST,\n getSelectedMatchActs\n ),\n takeLatest(\n actions.Types.GET_SELECTED_MATCH_TEAM_STATS_REQUEST,\n getSelectedMatchTeamStats\n ),\n takeLatest(\n actions.Types.GET_SELECTED_MATCH_EVENTS_REQUEST,\n getSelectedMatchEvents\n ),\n takeLatest(\n actions.Types.GET_SELECTED_MATCH_DIRECT_STATS_REQUEST,\n getSelectedMatchDirectStats\n ),\n takeLatest(\n actions.Types.GET_SELECTED_MATCH_PUBLIC_FILES_REQUEST,\n getSelectedMatchPublicFiles\n ),\n takeLatest(\n actions.Types.GET_SELECTED_MATCH_PRIVATE_FILES_REQUEST,\n getSelectedMatchPrivateFiles\n ),\n]);\n","import { all } from 'redux-saga/effects';\n\nimport auth from './auth/sagas';\nimport filters from './filters/sagas';\nimport user from './user/sagas';\nimport matches from './matches/sagas';\n\nexport default function* rootSaga() {\n return yield all([auth, filters, user, matches]);\n}\n","import { persistStore } from 'redux-persist';\nimport createSagaMiddleware from 'redux-saga';\n\nimport createStore from './createStore';\nimport persistReducers from './persistReducers';\n\nimport rootReducer from './modules/rootReducer';\nimport rootSaga from './modules/rootSaga';\n\nconst sagaMonitor =\n process.env.NODE_ENV === 'development'\n ? console.tron.createSagaMonitor()\n : null;\n\nconst sagaMiddleware = createSagaMiddleware({ sagaMonitor });\n\nconst middlewares = [sagaMiddleware];\n\nconst store = createStore(persistReducers(rootReducer), middlewares);\nconst persistor = persistStore(store, {}, () => {});\n\nsagaMiddleware.run(rootSaga);\n\nexport { store, persistor };\n","import storage from 'redux-persist/lib/storage';\nimport { persistReducer } from 'redux-persist';\n\nexport default reducers => {\n const persistedReducer = persistReducer(\n {\n key: '@LaLiga/canal-informacion-partidos',\n storage,\n whitelist: ['auth'],\n },\n reducers\n );\n\n return persistedReducer;\n};\n","import { createStore, compose, applyMiddleware } from 'redux';\n\nexport default (reducers, middlewares) => {\n const enhancer =\n process.env.NODE_ENV === 'development'\n ? compose(\n console.tron.createEnhancer(),\n applyMiddleware(...middlewares)\n )\n : applyMiddleware(...middlewares);\n\n return createStore(reducers, enhancer);\n};\n","import axios from 'axios';\n\nimport { toast } from 'react-toastify';\nimport i18next from 'i18next';\nimport { store } from '~/store';\nimport { signInSuccess, signOutRequest } from '~/store/modules/auth/actions';\n\nlet isAlreadyFetchingAccessToken = false;\nlet subscribers = [];\n\nfunction onAccessTokenFetched(token) {\n subscribers = subscribers.filter(callback => callback(token));\n}\n\nfunction addSubscriber(callback) {\n subscribers.push(callback);\n}\n\nfunction getNewToken(refreshToken) {\n const url = `${process.env.REACT_APP_BASE_API_URL}/token/refresh`;\n const options = {\n withCredentials: true,\n refreshToken,\n };\n return axios.post(url, options);\n}\n\nexport default function tokenInterceptor(api) {\n api.interceptors.response.use(\n response => {\n return response;\n },\n error => {\n const config = error && error.config;\n const status = error && error.response && error.response.status;\n const originalRequest = config;\n if (originalRequest.url.includes('/confirm/')) {\n return Promise.reject(error);\n }\n\n if (status === 414) {\n window.localStorage.setItem('errorCode', status);\n window.location.href = `${process.env.REACT_APP_BASE_URL}/error`;\n }\n\n if (status === 401 || status === 403) {\n if (!isAlreadyFetchingAccessToken) {\n isAlreadyFetchingAccessToken = true;\n try {\n const { auth } = JSON.parse(\n localStorage.getItem('persist:@LaLiga/canal-informacion-partidos')\n );\n const { refreshToken } = JSON.parse(auth);\n getNewToken(refreshToken)\n .then(({ data }) => {\n const { token, refreshToken: rToken } = data;\n\n isAlreadyFetchingAccessToken = false;\n\n api.defaults.headers.Authorization = `Bearer ${token}`;\n store.dispatch(signInSuccess(token, rToken));\n\n onAccessTokenFetched(token);\n })\n .catch(() => {\n toast.error(i18next.t('sessionExpired'));\n store.dispatch(signOutRequest());\n });\n } catch (err) {\n toast.error(i18next.t('sessionExpired'));\n store.dispatch(signOutRequest());\n }\n }\n\n const retryOriginalRequest = new Promise(resolve => {\n addSubscriber(token => {\n originalRequest.headers.Authorization = `Bearer ${token}`;\n resolve(axios(originalRequest));\n });\n });\n\n return retryOriginalRequest;\n }\n\n return Promise.reject(error);\n }\n );\n}\n","import axios from 'axios';\nimport i18n from 'i18next';\nimport tokenInterceptor from './interceptors/token';\n\nconst getLanguageHeader = () => {\n return { headers: { 'X-LOCALE': i18n.language } };\n};\n\nconst api = axios.create({\n baseURL: process.env.REACT_APP_BASE_API_URL,\n ...getLanguageHeader(),\n});\n\nexport const getToken = () =>\n axios.get(`${process.env.REACT_APP_BASE_URL}/token`);\n\nexport const login = payload =>\n axios.post(\n `${process.env.REACT_APP_BASE_API_URL}/login-check`,\n {\n ...payload,\n },\n getLanguageHeader()\n );\n\nexport const loginConfirm = payload =>\n axios.post(\n `${process.env.REACT_APP_BASE_API_URL}/login-confirm`,\n {\n ...payload,\n },\n getLanguageHeader()\n );\n\nexport const resendMail = payload =>\n axios.post(\n `${process.env.REACT_APP_BASE_API_URL}/resend-email`,\n {\n ...payload,\n },\n getLanguageHeader()\n );\n\nexport const recoverPassword = payload =>\n axios.post(\n `${process.env.REACT_APP_BASE_API_URL}/recover-password`,\n {\n ...payload,\n },\n getLanguageHeader()\n );\n\nexport const changePassword = payload =>\n axios.post(\n `${process.env.REACT_APP_BASE_API_URL}/change-password`,\n {\n ...payload,\n },\n getLanguageHeader()\n );\n\nexport const getMediaTypes = () =>\n axios.get(`${process.env.REACT_APP_BASE_API_URL}/media`, getLanguageHeader());\n\ntokenInterceptor(api);\n\nexport const register = payload =>\n axios.post(`${process.env.REACT_APP_BASE_API_URL}/register`, { ...payload });\n\nexport const confirmRegister = payload =>\n axios.get(`${process.env.REACT_APP_BASE_API_URL}/confirm`, { ...payload });\n\nexport const mfa = payload =>\n axios.post(`${process.env.REACT_APP_BASE_API_URL}/login-confirm`, {\n ...payload,\n });\n\nexport const checkAzureLogin = () =>\n axios.get(`${process.env.REACT_APP_AZURE_TOKEN_URL}`);\n\nexport const azureLogout = () =>\n axios.post(`${process.env.REACT_APP_AZURE_LOGOUT_URL}`);\n\nexport const getUser = () => api.get(`/me`);\n\nexport const editUser = payload => api.patch(`/me`, payload);\n\nexport const changeLogo = payload => api.post(`/logos`, payload);\n\nexport const deleteLogo = () => api.delete(`/logos`);\n\nexport const getSeasons = query => api.get(`/seasons${query}`);\n\nexport const getCompetitions = query => api.get(`/championships${query}`);\n\nexport const getClubs = query => api.get(`/teams${query}`);\n\nexport const getStadiums = query => api.get(`/venues${query}`);\n\nexport const getCarouselDates = query => api.get(`/gameweeks-dates${query}`);\n\nexport const getMatches = query => api.get(`/matches${query}`);\n\nexport const getMatch = id => api.get(`/matches/${id}`);\n\nexport const getMatchStatus = id => api.get(`/matches/${id}/status`);\n\nexport const getMatchScore = id => api.get(`/matches/${id}/score`);\n\nexport const getSquad = id => api.get(`/teams/${id}/squads`);\n\nexport const confirmRegistration = code => api.get(`/confirm/${code}`);\n\nexport const getSquadPlayer = (squadId, playerId, matchId) =>\n api.get(`teams/${squadId}/squads/${playerId}?match=${matchId}`);\n\nexport const getReferees = matchId => api.get(`matches/${matchId}/referee`);\n\nexport const getRefereeAssistants = matchId =>\n api.get(`matches/${matchId}/referees/assistants`);\n\nexport const getKits = matchId => api.get(`matches/${matchId}/kits`);\n\nexport const getGrassStatus = matchId => api.get(`matches/${matchId}/grass`);\n\nexport const getLineup = matchId => api.get(`matches/${matchId}/lineup`);\n\nexport const getActs = matchId => api.get(`matches/${matchId}/acts`);\n\nexport const getEvents = matchId => api.get(`matches/${matchId}/events`);\n\nexport const getStats = matchId => api.get(`matches/${matchId}/teamsStats`);\n\nexport const getDirectStats = matchId =>\n api.get(`matches/${matchId}/directStats`);\n\nexport const getPublicFiles = matchId => api.get(`matches/${matchId}/files`);\n\nexport const downloadFile = (documentId, isPrivate) => {\n const urlPrivate = isPrivate ? 'private/' : '';\n const url = `${urlPrivate}matches/file/${documentId}/download`;\n return api.get(url);\n};\n\nexport const getPrivateFiles = matchId =>\n api.get(\n `${process.env.REACT_APP_BASE_API_URL}/private/matches/${matchId}/files`\n );\n\nexport const sendMonolog = (error, info, location) => {\n const formData = new FormData();\n formData.append(\n 'stackTrace',\n new Blob(\n [\n JSON.stringify({\n name: error.name,\n description: error.message,\n stack: info,\n url: location,\n }),\n ],\n { type: 'application/json' }\n )\n );\n api.post(`${process.env.REACT_APP_BASE_URL}/error-sender-front`, formData, {\n headers: { 'Content-Type': 'multipart/form-data' },\n });\n};\n\nexport default api;\n","import * as api from '~/services/api';\n\nfunction downloadFile(base64, name) {\n const link = document.createElement('a');\n link.href = base64;\n link.setAttribute('download', name);\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n}\n\nexport default async function requestFileDownload(\n documentId,\n isLoading,\n isPrivate\n) {\n try {\n if (isLoading) isLoading(true);\n const {\n data: { document: base64, name },\n } = await api.downloadFile(documentId, isPrivate);\n downloadFile(base64, name);\n } finally {\n if (isLoading) isLoading(false);\n }\n}\n","import React, { useContext, useEffect } from 'react';\nimport * as S from '../styles';\nimport { HeaderContext } from '~/context';\nimport { Icon } from '~/components';\nimport ArbitrationSection from '../components/ArbitrationSection';\nimport { propTypes, defaultProps } from './propsValidation';\nimport downloadFile from '~/utils/downloadFile';\n\nexport default function ArbitrationTeam({ publicFiles, ...rest }) {\n const { setButtonRight, setHeaderProps, headerProps } = useContext(\n HeaderContext\n );\n useEffect(() => {\n if (!Object.keys(headerProps).length) {\n setButtonRight(\n {\n if (publicFiles.data.referee)\n downloadFile(publicFiles.data.referee.id);\n }}\n />\n );\n }\n }, [setButtonRight, headerProps, publicFiles]);\n useEffect(() => {\n return () => {\n setHeaderProps({});\n };\n }, [setHeaderProps]);\n return (\n \n \n \n );\n}\n\nArbitrationTeam.propTypes = propTypes;\n\nArbitrationTeam.defaultProps = defaultProps;\n","import styled from 'styled-components/macro';\nimport TeamBlock from '../TeamBlock';\n\nexport const ContainerTeamContent = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const TeamLocalBlock = styled(TeamBlock)``;\n\nexport const TeamVisitorBlock = styled(TeamBlock)``;\n\nexport const TeamBlockContent = styled.div`\n display: grid;\n min-height: 100%;\n grid-template-rows: auto auto;\n ${({ tabMode }) =>\n !tabMode\n ? `\n position: absolute;\n top: 0px;\n width: 100%;\n min-height: 100%;\n `\n : null}\n`;\n\nexport const Season = styled.span`\n text-transform: uppercase;\n margin-right: 5px;\n`;\n\nexport const TeamSeasonLabel = styled.span`\n display: block;\n text-transform: uppercase;\n font-size: 9px;\n margin-bottom: 5px;\n font-family: ${({ theme }) => theme.primaryFontLight};\n`;\nexport const TeamSeason = styled.span`\n display: block;\n font-size: 13px;\n font-family: ${({ theme }) => theme.primaryFontBold};\n`;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './styles';\nimport { TabBar, TabButton } from '~/components';\n\nexport default function TeamSection({\n selectedAssistant,\n referee,\n optionSelected,\n selectedMatch,\n refereeAssistants,\n tabMode,\n}) {\n const [tab, setTab] = useState('local');\n\n const changeTab = ({ value }) => {\n setTab(value);\n };\n\n return (\n \n {tabMode && (\n \n \n \n \n )}\n {Object.keys(referee).length > 0 && optionSelected === 1 && (\n \n {((tabMode && tab === 'local') || !tabMode) && (\n \n )}\n {((tabMode && tab === 'away') || !tabMode) && (\n \n )}\n \n )}\n {Object.keys(refereeAssistants).length > 0 && optionSelected === 2 && (\n \n {((tabMode && tab === 'local') || !tabMode) && (\n \n )}\n {((tabMode && tab === 'away') || !tabMode) && (\n \n )}\n \n )}\n \n );\n}\n\nTeamSection.propTypes = {\n selectedAssistant: PropTypes.number,\n referee: PropTypes.object,\n optionSelected: PropTypes.number,\n selectedMatch: PropTypes.object,\n refereeAssistants: PropTypes.object,\n tabMode: PropTypes.bool,\n};\n\nTeamSection.defaultProps = {\n selectedAssistant: 0,\n referee: {},\n optionSelected: 0,\n selectedMatch: {},\n refereeAssistants: {},\n tabMode: false,\n};\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport downloadFile from '~/utils/downloadFile';\nimport { useSelector } from 'react-redux';\nimport * as S from '../styles';\nimport TeamSection from '../components/TeamsSection';\nimport ArbitrationSection from '../components/ArbitrationSection';\n\nexport default function ArbitrationTeam({ publicFiles, ...props }) {\n const { t } = useTranslation();\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n const [pdfLoading, setPdfLoading] = useState(false);\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n {\n if (publicFiles.data.referee)\n downloadFile(publicFiles.data.referee.id, setPdfLoading);\n }}\n disabled={\n Object.keys(publicFiles.data).length === 0 ||\n !publicFiles.data.referee\n }\n text={t('downloadRefereeDesignation')}\n loading={pdfLoading}\n competition={match?.competitionId}\n />\n \n );\n}\n\nArbitrationTeam.propTypes = {\n publicFiles: PropTypes.object,\n};\n\nArbitrationTeam.defaultProps = {\n publicFiles: { data: {} },\n};\n","import styled, { keyframes } from 'styled-components/macro';\nimport images from '~/constants/images';\nimport { Icon as IconComponent } from '~/components';\n\nconst appear = keyframes`\n 0%{\n opacity: 0;\n transform: translateY(20px);\n }\n 100%{\n opacity: 1;\n transform: translateY(0px);\n }\n`;\n\nconst appear2 = keyframes`\n 0%{\n opacity: 0;\n }\n 100%{\n opacity: 1;\n }\n`;\n\nexport const EmptyPageContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-height: 100%;\n flex-direction: column;\n flex-grow: 1;\n position: relative;\n background-color: ${({ theme }) => theme.white};\n padding: 20px;\n text-align: center;\n overflow: hidden;\n`;\n\nexport const Background = styled.div`\n position: absolute;\n top: 0px;\n left: 0px;\n width: 100%;\n height: 100%;\n background-image: url(${images.beat});\n background-repeat: no-repeat;\n background-position: calc(50% - 38px) 50%;\n opacity: 0.03;\n background-size: ${({ fit }) => (fit ? 'cover' : '140%')};\n z-index: 0;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n background-size: 302%;\n }\n`;\n\nexport const Icon = styled(IconComponent)`\n margin-bottom: 30px;\n animation: ${appear2} 0.5s;\n`;\n\nexport const Content = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n position: relative;\n z-index: 1;\n`;\n\nexport const Subtitle = styled.span`\n font-size: ${({ fit }) => (fit ? 12 : 18)}px;\n font-family: ${({ theme }) => theme.primaryFont};\n animation: ${appear} 0.5s;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n font-size: 14px;\n }\n`;\n\nexport const Title = styled.span`\n font-size: ${({ fit }) => (fit ? 20 : 40)}px;\n margin-bottom: 10px;\n font-family: ${({ theme }) => theme.primaryFont};\n animation: ${appear} 0.5s;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n font-size: 24px;\n }\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport * as S from './styles';\n\nexport default function EmptyPage({ title, subtitle, icon, fit, ...rest }) {\n const { t } = useTranslation();\n\n return (\n \n \n \n \n {title || t('emptyTitle')}\n {subtitle || t('emptySubtitle')}\n \n \n );\n}\n\nEmptyPage.propTypes = {\n title: PropTypes.string,\n subtitle: PropTypes.string,\n icon: PropTypes.string,\n fit: PropTypes.bool,\n};\n\nEmptyPage.defaultProps = {\n title: null,\n subtitle: null,\n icon: 'file',\n fit: false,\n};\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { getSelectedMatchRefereesRequest } from '~/store/modules/matches/actions';\nimport { Responsive, Spinner } from '~/components';\nimport { Mobile, Desktop } from './responsive';\nimport EmptyPage from '~/pages/EmptyPage';\n\nexport default function ArbitrationTeam() {\n const dispatch = useDispatch();\n const {\n selectedMatch: { data: selectedMatch },\n referee: { data: referee, loading: loadingReferee },\n refereeAssistants: {\n data: refereeAssistants,\n loading: loadingRefereeAssistants,\n },\n publicFiles,\n } = useSelector(state => state.matches);\n const [selectedAssistant, setSelectedAssistant] = useState(0);\n\n useEffect(() => {\n if (selectedMatch && Object.keys(referee).length === 0) {\n dispatch(getSelectedMatchRefereesRequest(selectedMatch.id));\n }\n }, [dispatch, selectedMatch, referee]);\n\n const [optionSelected, setOptionSelected] = useState(1);\n\n const handleChangeReferee = ({ value }) => {\n setOptionSelected(value);\n };\n\n const refereeProps = {\n referee,\n selectedMatch,\n refereeAssistants,\n handleChangeReferee,\n optionSelected,\n selectedAssistant,\n setSelectedAssistant,\n publicFiles,\n };\n\n if (loadingReferee || loadingRefereeAssistants)\n return ;\n if (\n Object.keys(referee).length > 0 ||\n Object.keys(refereeAssistants).length > 0\n )\n return (\n }\n lg={}\n />\n );\n return ;\n}\n","import styled from 'styled-components/macro';\nimport images from '~/constants/images';\n\nexport const GreenKeeperContainer = styled.div`\n width: 100%;\n display: flex;\n flex-direction: column;\n padding: 30px 95px;\n align-items: center;\n background-color: ${({ theme }) => theme.white};\n\n &:before {\n content: ' ';\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n opacity: 0.2;\n background-image: url(${images.beat});\n background-repeat: no-repeat;\n background-position: center;\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n padding: 30px 0 0;\n height: auto;\n }\n`;\n\nexport const GrassImage = styled.div`\n width: 70%;\n height: 320px;\n display: flex;\n justify-content: space-around;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n width: 100%;\n justify-content: center;\n display: block;\n height: auto;\n }\n`;\n\nexport const GrassImageColumn = styled.div`\n width: ${props => (!props.center ? '25%' : '50%')};\n height:320px;\n display:flex;\n align-items: ${props => (props.left ? 'flex-end' : 'flex-start')};\n position:relative;\n ${props => props.left && `justify-content:flex-end;`}\n ${props => props.center && `justify-content:center;`}\n ${props => props.right && `justify-content:flex-start;`}\n > div{\n height: ${props => (!props.center ? '200px' : '320px')};\n }\n .mark{\n width:200px;\n height:3px;\n z-index:5;\n position:absolute;\n ${props =>\n props.left ? 'bottom:170px;left:270px;' : 'top:30px;left:-220px;'}\n background-color:${props => props.theme.green};\n }\n\n img{\n z-index:0;\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n width: ${props => (props.center || props.bottom ? '100%' : '50%')};\n height: ${props => (props.center ? '190px' : 'auto')};\n float:left;\n padding:0 10px;\n ${({ center }) => center && 'align-items:center;'}\n\n > div{\n width:100%;\n height:auto;\n }\n .mark{\n ${props =>\n props.left\n ? 'width:3px;height:65px;position: absolute;top: -75px;left: 65%;'\n : 'width:3px;height:125px;position: absolute;top: -135px;left: 20%;'}\n }\n\n\n img{\n width:40vw;\n min-width:200px;\n }\n }\n`;\n","import styled from 'styled-components/macro';\n\nexport const GrassInfoColumn = styled.div`\n width: ${({ variableWidth }) => (variableWidth ? 'auto' : '250px')};\n padding: 10px;\n display: flex;\n align-items: flex-start;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n width: 100%;\n padding: 5px 0;\n ${({ inColumn }) =>\n inColumn && 'flex-direction:column;align-items:flex-start;'}\n }\n`;\n\nexport const IconContainer = styled.div`\n width: 37px;\n height: 37px;\n border-radius: 50%;\n background-color: ${props => props.theme.green};\n display: flex;\n justify-content: center;\n align-items: center;\n margin-right: 10px;\n ${({ inColumn }) => !inColumn && 'margin-top:7px;'}\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n width: 30px;\n height: 30px;\n margin-right: 5px;\n ${({ inColumn }) => inColumn && 'margin-bottom:10px;'}\n }\n`;\n\nexport const Content = styled.div`\n width: ${({ inColumn }) => (inColumn ? '100%' : 'calc(100% - 40px)')};\n height: auto;\n padding-left: 15px;\n border-left: 1px solid ${props => props.theme.green};\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n padding-left: 5px;\n height: ${({ inColumn }) => (inColumn ? 'calc(100% - 40px)' : '100%')};\n }\n`;\n\nexport const Label = styled.p`\n text-transform: capitalize;\n font-family: ${props => props.theme.primaryFontBold};\n font-size: ${({ theme }) => theme.paragraphSmall}px;\n font-family: ${({ theme }) => theme.primaryFontMedium};\n`;\n\nexport const TextContent = styled.p`\n text-transform: capitalize;\n font-family: ${({ theme, light }) =>\n light ? theme.primaryFontLight : theme.primaryFontBold};\n font-size: ${({ theme }) => theme.paragraph}px;\n margin-top: ${({ pushTop, theme }) => pushTop && theme.paragraph}px;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n width: 100%;\n padding: 5px 0;\n ${({ inColumn }) =>\n inColumn && 'flex-direction:column;align-items:flex-start;'}\n\n > div {\n &:first-child {\n width: 30px;\n height: 30px;\n margin-right: 5px;\n ${({ inColumn }) => inColumn && 'margin-bottom:10px;'}\n }\n\n &:last-child {\n padding-left: 5px;\n width: ${({ inColumn }) =>\n inColumn\n ? 'height:calc(100% - 40px);width:100%;'\n : 'calc(100% - 40px)'};\n }\n }\n }\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport { v4 } from 'uuid';\nimport Icon from '~/components/Icon';\nimport * as S from './styles';\n\nexport default function GrassInfoColumn({\n data,\n icon,\n label,\n variableWidth,\n inColumn,\n}) {\n const { t } = useTranslation();\n return (\n \n \n \n \n \n {label}\n {typeof data === 'string' ? (\n {data}\n ) : (\n data.map(item => (\n
\n {item.grassName && (\n {`${item.grassName} ${item.percentage}%`}\n )}\n {(item.start || item.end) && (\n
\n {t(item.label)}\n {`${\n item.start ? item.start : '--:--'\n } - ${item.end ? item.end : '--:--'}`}\n
\n )}\n
\n ))\n )}\n
\n
\n );\n}\n\nGrassInfoColumn.propTypes = {\n data: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n icon: PropTypes.string,\n label: PropTypes.string,\n variableWidth: PropTypes.bool,\n inColumn: PropTypes.bool,\n};\n\nGrassInfoColumn.defaultProps = {\n data: '',\n icon: '',\n label: '',\n variableWidth: false,\n inColumn: false,\n};\n","import styled from 'styled-components/macro';\n\nexport const GrassInfoRow = styled.div`\n width: 60%;\n margin-bottom: 20px;\n > div {\n width: 100%;\n &:first-child {\n margin-bottom: 10px;\n width: 100%;\n text-transform: uppercase;\n font-family: ${props => props.theme.primaryFontBold};\n font-weight: 200;\n font-size: ${props => props.theme.h5}px;\n padding: 25px 10px 0px 10px;\n display: flex;\n justify-content: center;\n }\n\n &:last-child {\n padding: 15px;\n height: auto;\n background-color: ${props => props.theme.lightWithOpacity};\n display: flex;\n\n > div {\n width: 33%;\n }\n }\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n width: 100%;\n margin-top: 30px;\n > div {\n &:first-child {\n border-bottom: 0;\n margin-bottom: 0;\n padding: 10px;\n }\n\n &:last-child {\n height: auto;\n padding: 10px;\n\n > div {\n p:first-child {\n font-size: ${props => props.theme.label}px;\n }\n }\n }\n }\n }\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './styles';\n\nexport default function GrassInfoRow({ title, children }) {\n return (\n \n
{title}
\n
{children}
\n
\n );\n}\n\nGrassInfoRow.propTypes = {\n children: PropTypes.array,\n title: PropTypes.string,\n};\n\nGrassInfoRow.defaultProps = {\n children: [],\n title: '',\n};\n","import PropTypes from 'prop-types';\n\nconst propTypes = {\n grassStatus: PropTypes.object,\n irrigationProgram: PropTypes.array,\n publicFiles: PropTypes.object,\n};\n\nconst defaultProps = {\n grassStatus: {},\n irrigationProgram: [],\n publicFiles: { data: {} },\n};\n\nexport { propTypes, defaultProps };\n","import React, { useContext, useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport * as S from '../styles';\nimport GrassInfoColumn from '../components/GrassInfoColumn';\nimport GrassInfoRow from '../components/GrassInfoRow';\nimport images from '~/constants/images';\nimport { propTypes, defaultProps } from './propsValidation';\nimport { HeaderContext } from '~/context';\nimport { Icon } from '~/components';\nimport downloadFile from '~/utils/downloadFile';\n\nexport default function GrassStatus({\n grassStatus,\n irrigationProgram,\n publicFiles,\n}) {\n const { t } = useTranslation();\n const { setButtonRight, setHeaderProps, headerProps } = useContext(\n HeaderContext\n );\n useEffect(() => {\n if (!Object.keys(headerProps).length) {\n setButtonRight(\n {\n if (publicFiles.data.greenkeeper)\n downloadFile(publicFiles.data.greenkeeper.id);\n }}\n />\n );\n }\n }, [setButtonRight, headerProps, publicFiles]);\n useEffect(() => {\n return () => {\n setHeaderProps({});\n };\n }, [setHeaderProps]);\n\n return (\n \n \n \n \"\"\n \n \n
\n \n \n
\n
\n \n
\n \n \n
\n
\n \n
\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n );\n}\n\nGrassStatus.propTypes = propTypes;\nGrassStatus.defaultProps = defaultProps;\n","import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Download from '~/components/Download';\nimport images from '~/constants/images';\nimport downloadFile from '~/utils/downloadFile';\nimport { useSelector } from 'react-redux';\nimport * as S from '../styles';\nimport GrassInfoColumn from '../components/GrassInfoColumn';\nimport GrassInfoRow from '../components/GrassInfoRow';\nimport { propTypes, defaultProps } from './propsValidation';\n\nexport default function GrassStatus({\n grassStatus,\n irrigationProgram,\n publicFiles,\n}) {\n const { t } = useTranslation();\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n const [pdfLoading, setPdfLoading] = useState(false);\n\n return (\n \n \n \n
\n \n \n \n
\n
\n \n \"\"\n \n \n
\n \n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n {\n if (publicFiles.data.greenkeeper)\n downloadFile(publicFiles.data.greenkeeper.id, setPdfLoading);\n }}\n disabled={\n Object.keys(publicFiles.data).length === 0 ||\n !publicFiles.data.greenkeeper\n }\n text={t('downloadGrassDesignation')}\n loading={pdfLoading}\n competition={match?.competitionId}\n />\n
\n );\n}\n\nGrassStatus.propTypes = propTypes;\nGrassStatus.defaultProps = defaultProps;\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Mobile, Desktop } from './responsive';\nimport { Responsive, Spinner } from '~/components';\nimport { getSelectedMatchGrassStatusRequest } from '~/store/modules/matches/actions';\nimport EmptyPage from '~/pages/EmptyPage';\n\nexport default function GrassStatus() {\n const dispatch = useDispatch();\n const {\n grassStatus: { data: grassStatus, loading },\n selectedMatch: { data: selectedMatch },\n publicFiles,\n } = useSelector(state => state.matches);\n\n useEffect(() => {\n if (selectedMatch && !Object.keys(grassStatus).length) {\n dispatch(getSelectedMatchGrassStatusRequest(selectedMatch.id));\n }\n }, [dispatch, selectedMatch, grassStatus]);\n\n const irrigationProgram = () => {\n const {\n irrigationProgramBeforeWarmingStart,\n irrigationProgramBeforeWarmingEnd,\n irrigationProgramBeforeMatchStart,\n irrigationProgramBeforeMatchEnd,\n irrigationProgramDuringBreakStart,\n irrigationProgramDuringBreakEnd,\n } = grassStatus;\n return [\n {\n label: 'irrigationProgramBeforeWarming',\n start: irrigationProgramBeforeWarmingStart,\n end: irrigationProgramBeforeWarmingEnd,\n },\n {\n label: 'irrigationProgramBeforeMatch',\n start: irrigationProgramBeforeMatchStart,\n end: irrigationProgramBeforeMatchEnd,\n },\n {\n label: 'irrigationProgramDuringBreak',\n start: irrigationProgramDuringBreakStart,\n end: irrigationProgramDuringBreakEnd,\n },\n ];\n };\n\n const grassProps = {\n irrigationProgram: irrigationProgram(),\n grassStatus,\n publicFiles,\n };\n\n if (loading) return ;\n if (selectedMatch && Object.keys(grassStatus).length) {\n return (\n }\n lg={}\n />\n );\n }\n return ;\n}\n","import styled from 'styled-components/macro';\n\nexport const Container = styled.div`\n height: 100%;\n display: flex;\n background-color: ${({ theme, type }) =>\n type === 'away' ? theme.dark4 : theme.light};\n background-image: url(${({ bgImage }) => bgImage});\n background-position: calc(100% + 66px) center;\n background-size: 223px;\n background-repeat: no-repeat;\n`;\n","import styled from 'styled-components/macro';\n\nexport const ContainerTeamContent = styled.div`\n display: flex;\n flex-direction: column;\n width: 100%;\n`;\n\nexport const TeamBlockContent = styled.div`\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const Season = styled.span`\n text-transform: uppercase;\n margin-right: 5px;\n`;\n\nexport const TeamSeasonLabel = styled.span`\n display: block;\n text-transform: uppercase;\n font-size: 9px;\n margin-bottom: 5px;\n font-family: ${({ theme }) => theme.primaryFontLight};\n`;\nexport const TeamSeason = styled.span`\n display: block;\n font-size: 13px;\n font-family: ${({ theme }) => theme.primaryFontBold};\n`;\n","import styled from 'styled-components/macro';\n\nexport const TeamKitMatch = styled.div`\n width: 100%;\n min-height: 100%;\n display: flex;\n`;\n\nexport const TeamColumn = styled.div`\n position: relative;\n width: 100%;\n min-height: 100%;\n position: relative;\n background-color: ${({ type, theme }) =>\n type === 'local' ? theme.white : theme.dark4};\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n width: 100%;\n min-height: 100%;\n }\n`;\n\nexport const ShieldBackground = styled.div`\n width: 100%;\n height: 100%;\n position: absolute;\n background-image: url(${({ image }) => image});\n background-repeat: no-repeat;\n background-size: 100%;\n background-position-x: ${({ type }) => (type === 'local' ? '-21vw' : '21vw')};\n filter: grayscale(100%);\n z-index: 0;\n opacity: ${({ type }) => type === 'local' && '0.1'};\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n width: 100%;\n background-position-x: -35vw;\n }\n`;\n\nexport const StatsColum = styled.div`\n width: 100%;\n min-height: 100%;\n background-color: ${props => props.theme.dark5Opacity};\n`;\n\nexport const TeamHeader = styled.div`\nposition: relative;\n width: 100%;\n display: flex;\n flex-direction:column;\n ${({ type, theme }) =>\n type === 'local' &&\n `align-items:flex-start;background-color:${theme.white};`}\n ${({ type, theme }) =>\n type === 'visitor' &&\n `align-items:flex-end;background-color:${theme.dark4Opacity};`}\n ${({ type }) => type === 'referee' && `align-items:center;`}\n padding:10px 25px;\n\n p{\n font-family: ${props => props.theme.primaryFontLight};\n font-size: ${props => props.theme.paragraphMedium}px;\n text-transform: uppercase;\n margin-bottom:3px;\n ${({ type }) => type === 'local' && 'align-items:flex-start;'}\n ${({ type }) => type === 'visitor' && 'align-items:flex-end;'}\n ${({ type }) => type === 'referee' && 'align-items:center;'}\n color: ${({ theme, type }) =>\n type === 'local' ? theme.dark : theme.white};\n\n &:last-child{\n font-family: ${props => props.theme.primaryFontBold};\n font-weight: 200;\n }\n }\n\n img {\n height: ${({ theme }) => theme.shieldBig}px;\n margin: ${({ type }) => (type === 'local' ? '0 0 0 10px' : '0 10px 0 0')};\n }\n`;\n\nexport const TeamKit = styled.div`\n min-height: 100%;\n`;\n\nexport const TeamKitList = styled.div`\n width: 100%;\n height: auto;\n display: flex;\n background-color: ${({ theme }) => theme.white};\n`;\n\nexport const TeamKitListColumn = styled.div`\n width: 50%;\n background-color: ${({ theme, type }) =>\n type === 'local' ? theme.lightWithOpacity : theme.dark4Opacity};\n padding: 30px 30px 80px;\n display: flex;\n\n table {\n padding: 0 20px 0;\n\n th {\n text-transform: uppercase;\n ${({ type, theme }) => type === 'visitor' && `color:${theme.white};`}\n\n &:nth-child(1) > div {\n display: block;\n text-align: center;\n }\n\n &:nth-child(4) > div {\n display: block;\n text-align: center;\n }\n &:nth-child(5) > div {\n display: block;\n text-align: center;\n }\n }\n\n td {\n text-transform: capitalize;\n\n &:nth-child(1) {\n text-align: center;\n font-family: ${props => props.theme.primaryFontBold};\n font-weight: 200;\n }\n &:nth-child(3) {\n font-family: ${props => props.theme.primaryFontBold};\n font-weight: 200;\n }\n &:nth-child(4) {\n text-align: center;\n }\n &:nth-child(5) {\n text-align: center;\n font-family: ${props => props.theme.primaryFontBold};\n font-weight: 200;\n }\n }\n }\n`;\n\nexport const KitDisplayColumn = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: space-around;\n align-items: flex-start;\n ${({ type, theme }) =>\n type === 'away' && `background-color:${theme.dark4Opacity};`}\n z-index:1;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n align-items: center;\n }\n`;\n\nexport const KitColumn = styled.div`\n width: 150px;\n min-height: 600px;\n margin: 0 20px;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n width: 35%;\n margin: 0;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: ${({ isInfo }) => (isInfo ? 'flex-start' : 'center')};\n padding: ${({ isInfo }) => (isInfo ? '20px 0 0' : '0')};\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n min-height: 62vh;\n }\n`;\n\nexport const ShirtTile = styled.div`\n width: 100%;\n height: 185px;\n background-image: url(${({ image }) => image});\n background-repeat: no-repeat;\n background-size: 150%;\n background-position: center;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n height: 154px;\n background-size: 185px;\n }\n`;\n\nexport const PantsTile = styled.div`\n width: 100%;\n height: 147px;\n background-image: url(${({ image }) => image});\n background-repeat: no-repeat;\n background-size: 150%;\n background-position: center;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n height: 130px;\n background-size: 194px;\n }\n`;\n\nexport const SocksTile = styled.div`\n width: 100%;\n height: 147px;\n background-image: url(${({ image }) => image});\n background-repeat: no-repeat;\n background-size: 150%;\n background-position: center;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n height: 145px;\n background-size: 226px;\n }\n`;\n","import styled from 'styled-components/macro';\n\nexport const InfoTile = styled.div`\n margin-top: 10px;\n border-left: solid 1px\n ${({ theme, borderColor }) =>\n borderColor ? theme[borderColor] : theme.dark};\n padding-left: 10px;\n color: ${({ theme, color }) => (color ? theme[color] : theme.dark)};\n`;\n\nexport const Title = styled.p`\n line-height: 16px;\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.paragraph}px;\n`;\n\nexport const Content = styled.p`\n line-height: 20px;\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.h5}px;\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './styles';\n\nexport default function InfoTitle({ title, children, borderColor, textColor }) {\n return (\n \n {title}\n {children}\n \n );\n}\n\nInfoTitle.propTypes = {\n title: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n borderColor: PropTypes.string,\n textColor: PropTypes.string,\n};\n\nInfoTitle.defaultProps = {\n title: '',\n children: '',\n borderColor: 'dark',\n textColor: 'dark',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport * as S from '../styles';\nimport InfoTitle from '../../InfoTitle';\n\nexport default function KitTeam({ kits, selectedMatch, position, type }) {\n const { t } = useTranslation();\n const imageLocal =\n selectedMatch && type === 'local'\n ? selectedMatch.homeTeam.shieldImageUrl\n : '';\n const imageAway =\n selectedMatch && type === 'away'\n ? selectedMatch.awayTeam.shieldImageUrl\n : '';\n\n return (\n <>\n \n \n \n {type === 'local' && (\n <>\n {kits.homeTeamPlayer && position === 'player' && (\n <>\n \n \n \n \n \n \n \n {kits.homeTeamPlayer.tshirtNumber\n ? `${kits.homeTeamPlayer.tshirtNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n {kits.homeTeamPlayer.shortsNumber\n ? `${kits.homeTeamPlayer.shortsNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n {kits.homeTeamPlayer.socksNumber\n ? `${kits.homeTeamPlayer.socksNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n \n )}\n {kits.homeTeamGoalkeeper && position === 'goalkeeper' && (\n <>\n \n \n \n \n \n \n \n {kits.homeTeamGoalkeeper.tshirtNumber\n ? `${kits.homeTeamGoalkeeper.tshirtNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n {kits.homeTeamGoalkeeper.shortsNumber\n ? `${kits.homeTeamGoalkeeper.shortsNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n {kits.homeTeamGoalkeeper.socksNumber\n ? `${kits.homeTeamGoalkeeper.socksNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n \n )}\n \n )}\n {type === 'away' && (\n <>\n {kits.visitorTeamPlayer && position === 'player' && (\n <>\n \n \n \n \n \n \n \n {kits.visitorTeamPlayer.tshirtNumber\n ? `${kits.visitorTeamPlayer.tshirtNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n {kits.visitorTeamPlayer.shortsNumber\n ? `${kits.visitorTeamPlayer.shortsNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n {kits.visitorTeamPlayer.socksNumber\n ? `${kits.visitorTeamPlayer.socksNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n \n )}\n {kits.visitorTeamGoalkeeper && position === 'goalkeeper' && (\n <>\n \n \n \n \n \n \n \n {kits.visitorTeamGoalkeeper.tshirtNumber\n ? `${kits.visitorTeamGoalkeeper.tshirtNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n {kits.visitorTeamGoalkeeper.shortsNumber\n ? `${kits.visitorTeamGoalkeeper.shortsNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n {kits.visitorTeamGoalkeeper.socksNumber\n ? `${kits.visitorTeamGoalkeeper.socksNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n \n )}\n \n )}\n {type === 'referee' && (\n <>\n {kits.referee && (\n <>\n \n \n \n \n \n \n \n {kits.referee.tshirtNumber\n ? `${kits.referee.tshirtNumber}${t('countAcronim')} ${t(\n 'equipment'\n )}`\n : '-'}\n \n \n {kits.referee.shortsNumber\n ? `${kits.referee.shortsNumber}${t('countAcronim')} ${t(\n 'equipment'\n )}`\n : '-'}\n \n \n {kits.referee.socksNumber\n ? `${kits.referee.socksNumber}${t('countAcronim')} ${t(\n 'equipment'\n )}`\n : '-'}\n \n \n \n )}\n \n )}\n \n \n \n );\n}\n\nKitTeam.propTypes = {\n selectedMatch: PropTypes.object,\n kits: PropTypes.object,\n position: PropTypes.string,\n type: PropTypes.string,\n};\n\nKitTeam.defaultProps = {\n selectedMatch: {},\n kits: {},\n position: '',\n type: '',\n};\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport { Download } from '~/components/';\nimport downloadFile from '~/utils/downloadFile';\nimport { useSelector } from 'react-redux';\nimport InfoTitle from '../../InfoTitle';\nimport * as S from '../styles';\n\nexport default function KitTeam({ kits, selectedMatch, publicFiles }) {\n const { t } = useTranslation();\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n const [pdfLoading, setPdfLoading] = useState(false);\n\n return (\n <>\n \n \n

{t('equipment')}

\n

{selectedMatch ? selectedMatch.homeTeam.nickname : ''}

\n
\n \n \n \n {kits.homeTeamPlayer && (\n <>\n \n \n \n \n {kits.homeTeamPlayer.tshirtNumber\n ? `${kits.homeTeamPlayer.tshirtNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n {kits.homeTeamPlayer.shortsNumber\n ? `${kits.homeTeamPlayer.shortsNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n {kits.homeTeamPlayer.socksNumber\n ? `${kits.homeTeamPlayer.socksNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n )}\n \n \n {kits.homeTeamGoalkeeper && (\n <>\n \n \n \n \n {kits.homeTeamGoalkeeper.tshirtNumber\n ? `${kits.homeTeamGoalkeeper.tshirtNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n {kits.homeTeamGoalkeeper.shortsNumber\n ? `${kits.homeTeamGoalkeeper.shortsNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n {kits.homeTeamGoalkeeper.socksNumber\n ? `${kits.homeTeamGoalkeeper.socksNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n )}\n \n \n
\n \n \n

{t('equipment')}

\n

{t('referee')}

\n
\n \n \n {kits.referee && (\n <>\n \n \n \n \n {kits.referee.tshirtNumber\n ? `${kits.referee.tshirtNumber}${t('countAcronim')} ${t(\n 'equipment'\n )}`\n : '-'}\n \n \n {kits.referee.shortsNumber\n ? `${kits.referee.shortsNumber}${t('countAcronim')} ${t(\n 'equipment'\n )}`\n : '-'}\n \n \n {kits.referee.socksNumber\n ? `${kits.referee.socksNumber}${t('countAcronim')} ${t(\n 'equipment'\n )}`\n : '-'}\n \n \n )}\n \n \n
\n \n \n

{t('equipment')}

\n

{selectedMatch ? selectedMatch.awayTeam.nickname : ''}

\n
\n \n \n \n {kits.visitorTeamPlayer && (\n <>\n \n \n \n \n {kits.visitorTeamPlayer.tshirtNumber\n ? `${kits.visitorTeamPlayer.tshirtNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n {kits.visitorTeamPlayer.shortsNumber\n ? `${kits.visitorTeamPlayer.shortsNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n {kits.visitorTeamPlayer.socksNumber\n ? `${kits.visitorTeamPlayer.socksNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n )}\n \n \n {kits.visitorTeamGoalkeeper && (\n <>\n \n \n \n \n {kits.visitorTeamGoalkeeper.tshirtNumber\n ? `${kits.visitorTeamGoalkeeper.tshirtNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n {kits.visitorTeamGoalkeeper.shortsNumber\n ? `${kits.visitorTeamGoalkeeper.shortsNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n {kits.visitorTeamGoalkeeper.socksNumber\n ? `${kits.visitorTeamGoalkeeper.socksNumber}${t(\n 'countAcronim'\n )} ${t('equipment')}`\n : '-'}\n \n \n )}\n \n \n
\n {\n if (publicFiles.data.kitselector)\n downloadFile(publicFiles.data.kitselector.id, setPdfLoading);\n }}\n disabled={\n Object.keys(publicFiles.data).length === 0 ||\n !publicFiles.data.kitselector\n }\n text={t('downloadKitDesignation')}\n loading={pdfLoading}\n competition={match?.competitionId}\n />\n \n );\n}\n\nKitTeam.propTypes = {\n selectedMatch: PropTypes.object,\n kits: PropTypes.object,\n publicFiles: PropTypes.object,\n};\n\nKitTeam.defaultProps = {\n selectedMatch: {},\n kits: {},\n publicFiles: { data: {} },\n};\n","import React from 'react';\nimport { Responsive } from '~/components';\nimport { Mobile, Desktop } from './responsive';\n\nexport default function KitTeam({ ...props }) {\n return } lg={} />;\n}\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport { TabBar, TabButton } from '~/components';\nimport { theme } from '~/styles/theme';\nimport * as S from './styles';\nimport KitTeam from '../KitTeam';\n\nexport default function TeamSection({\n type,\n selectedMatch,\n kitSelected,\n tabMode,\n kits,\n}) {\n const { t } = useTranslation();\n const [tab, setTab] = useState('goalkeeper');\n\n const changeTab = ({ value }) => {\n setTab(value);\n };\n\n const styleTab = {\n primaryColor: type !== 'away' ? theme.lightWithOpacity : theme.dark4Opacity,\n secondaryColor: type !== 'away' ? theme.dark : theme.white,\n contrastColor: type !== 'away' ? theme.dark : theme.white,\n textColor: type !== 'away' ? theme.dark : theme.white,\n isSelected: kitSelected === 1,\n withBorder: true,\n };\n\n return (\n \n {tabMode && (\n \n \n \n \n )}\n {kitSelected === 1 && (\n \n {((tabMode && tab === 'goalkeeper') || !tabMode) && (\n \n )}\n {((tabMode && tab === 'player') || !tabMode) && (\n \n )}\n \n )}\n {kitSelected === 2 && (\n \n {((tabMode && tab === 'goalkeeper') || !tabMode) && (\n \n )}\n {((tabMode && tab === 'player') || !tabMode) && (\n \n )}\n \n )}\n \n );\n}\n\nTeamSection.propTypes = {\n kitSelected: PropTypes.number,\n selectedMatch: PropTypes.object,\n kits: PropTypes.object,\n tabMode: PropTypes.bool,\n type: PropTypes.string,\n};\n\nTeamSection.defaultProps = {\n kitSelected: 0,\n selectedMatch: {},\n kits: {},\n tabMode: false,\n type: '',\n};\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './styles';\nimport KitSection from '../KitSection';\nimport KitTeam from '../KitTeam';\n\nexport default function TeamBlock({\n kits,\n selectedMatch,\n position,\n type,\n className,\n bgImage,\n}) {\n const [kitSelected, setKitSelected] = useState(1);\n\n const handleKitChange = ({ value }) => {\n setKitSelected(value);\n };\n\n return (\n \n {type !== 'referee' ? (\n \n ) : (\n \n )}\n \n );\n}\n\nTeamBlock.propTypes = {\n kits: PropTypes.object,\n selectedMatch: PropTypes.object,\n position: PropTypes.string,\n type: PropTypes.string,\n className: PropTypes.string,\n bgImage: PropTypes.string,\n};\n\nTeamBlock.defaultProps = {\n kits: {},\n selectedMatch: {},\n position: '',\n type: '',\n className: '',\n bgImage: '',\n};\n","import styled from 'styled-components/macro';\nimport TeamBlock from '../TeamBlock';\n\nexport const ContainerTeamContent = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const TeamLocalBlock = styled(TeamBlock)``;\n\nexport const TeamVisitorBlock = styled(TeamBlock)``;\n\nexport const RefereeBlock = styled(TeamBlock)``;\n\nexport const TeamBlockContent = styled.div`\n height: 100%;\n`;\n\nexport const Season = styled.span`\n text-transform: uppercase;\n margin-right: 5px;\n`;\n\nexport const TeamSeasonLabel = styled.span`\n display: block;\n text-transform: uppercase;\n font-size: 9px;\n margin-bottom: 5px;\n font-family: ${({ theme }) => theme.primaryFontLight};\n`;\nexport const TeamSeason = styled.span`\n display: block;\n font-size: 13px;\n font-family: ${({ theme }) => theme.primaryFontBold};\n`;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport * as S from './styles';\nimport { TabBar, TabButton } from '~/components';\n\nexport default function TeamSection({\n selectedMatch,\n optionSelected,\n tabMode,\n kits,\n}) {\n const { t } = useTranslation();\n const [tab, setTab] = useState('local');\n\n const changeTab = ({ value }) => {\n setTab(value);\n };\n\n return (\n \n {tabMode && (\n \n \n \n \n \n )}\n {optionSelected === 1 && (\n \n {((tabMode && tab === 'local') || !tabMode) && (\n \n )}\n {((tabMode && tab === 'away') || !tabMode) && (\n \n )}\n {((tabMode && tab === 'referee') || !tabMode) && (\n \n )}\n \n )}\n {optionSelected === 2 && (\n \n {((tabMode && tab === 'local') || !tabMode) && (\n \n )}\n {((tabMode && tab === 'away') || !tabMode) && (\n \n )}\n {((tabMode && tab === 'referee') || !tabMode) && (\n \n )}\n \n )}\n {optionSelected === 3 && (\n \n {((tabMode && tab === 'local') || !tabMode) && (\n \n )}\n {((tabMode && tab === 'away') || !tabMode) && (\n \n )}\n {((tabMode && tab === 'referee') || !tabMode) && (\n \n )}\n \n )}\n \n );\n}\n\nTeamSection.propTypes = {\n optionSelected: PropTypes.number,\n selectedMatch: PropTypes.object,\n kits: PropTypes.object,\n tabMode: PropTypes.bool,\n};\n\nTeamSection.defaultProps = {\n optionSelected: 0,\n selectedMatch: {},\n kits: {},\n tabMode: false,\n};\n","import PropTypes from 'prop-types';\n\nconst propTypes = {\n publicFiles: PropTypes.object,\n};\n\nconst defaultProps = { publicFiles: { data: {} } };\n\nexport { propTypes, defaultProps };\n","import React, { useContext, useEffect } from 'react';\nimport TeamSection from '../components/TeamsSection';\nimport { HeaderContext } from '~/context';\nimport { Icon } from '~/components';\nimport { propTypes, defaultProps } from './propsValidation';\nimport downloadFile from '~/utils/downloadFile';\n\nexport default function KitSelector({ publicFiles, ...props }) {\n const { setButtonRight, setHeaderProps, headerProps } = useContext(\n HeaderContext\n );\n useEffect(() => {\n if (!Object.keys(headerProps).length) {\n setButtonRight(\n {\n if (publicFiles.data.kitselector)\n downloadFile(publicFiles.data.kitselector.id);\n }}\n />\n );\n }\n }, [setButtonRight, headerProps, publicFiles]);\n useEffect(() => {\n return () => {\n setHeaderProps({});\n };\n }, [setHeaderProps]);\n return ;\n}\n\nKitSelector.propTypes = propTypes;\n\nKitSelector.defaultProps = defaultProps;\n","import styled from 'styled-components/macro';\n\nexport const KitSelectorContainer = styled.div`\n width: 100%;\n min-height: 100%;\n display: grid;\n grid-template-columns: 42% 16% 42%;\n`;\n","import React from 'react';\nimport * as S from '../styles';\nimport KitTeam from '../components/KitTeam';\n\nexport default function KitSelector({ ...props }) {\n return (\n \n \n \n );\n}\n","import React, { useState, useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Responsive, Spinner } from '~/components';\nimport { Mobile, Desktop } from './responsive';\nimport { getSelectedMatchKitsRequest } from '~/store/modules/matches/actions';\nimport EmptyPage from '~/pages/EmptyPage';\n\nexport default function KitSelector() {\n const dispatch = useDispatch();\n const [optionSelected, setOptionSelected] = useState(1);\n const {\n selectedMatch: { data: selectedMatch },\n kits: { data: kits, loading, failed },\n publicFiles,\n } = useSelector(state => state.matches);\n useEffect(() => {\n if (\n selectedMatch &&\n Object.keys(kits).length === 0 &&\n !failed &&\n !loading\n ) {\n dispatch(getSelectedMatchKitsRequest(selectedMatch.id));\n }\n }, [dispatch, selectedMatch, kits, failed, loading]);\n\n const handleChange = ({ value }) => {\n setOptionSelected(value);\n };\n\n const kitsProps = {\n selectedMatch,\n kits,\n optionSelected,\n handleChange,\n publicFiles,\n };\n\n if (loading) return ;\n if (Object.keys(kits).length > 0 && !failed) {\n return (\n }\n lg={}\n />\n );\n }\n return ;\n}\n","import styled from 'styled-components/macro';\n\nexport const MatchSheetContainer = styled.div`\n width: 100%;\n min-height: 100%;\n display: flex;\n`;\n\nexport const ContainerSm = styled.div`\n display: flex;\n flex-direction: column;\n`;\n","import styled from 'styled-components/macro';\n\nexport const Container = styled.div`\n display: flex;\n background-color: ${({ theme, isLocal }) =>\n isLocal ? theme.light : theme.dark4};\n background-image: url(${({ bgImage }) => bgImage});\n background-position: calc(100% + 66px) center;\n background-size: 223px;\n background-repeat: no-repeat;\n`;\n","import styled from 'styled-components/macro';\nimport images from '~/constants/images';\n\nexport const LocalColumn = styled.div`\n width: 50%;\n min-height: 100%;\n position: relative;\n background-color: ${({ theme, isLocal }) =>\n isLocal ? theme.light : theme.dark4};\n @media (max-width: ${({ theme }) => `${theme.breakpoints.lg}px`}) {\n width: 100%;\n }\n`;\n\nexport const ShieldBackground = styled.div`\n width: 100%;\n height: 100%;\n position: absolute;\n background-image: url(${({ bgImage }) => bgImage});\n background-repeat: no-repeat;\n background-size: 700px;\n background-position: ${({ isLocal }) =>\n isLocal ? '-239px' : 'calc(50% + 239px)'}\n center;\n filter: grayscale(100%);\n z-index: 0;\n opacity: 0.1;\n`;\n\nexport const TeamHeader = styled.div`\n position: relative;\n width: 100%;\n max-height: 74px;\n display: flex;\n padding: 0 50px;\n justify-content: flex-start;\n align-items: center;\n flex-direction: ${({ isLocal }) => (isLocal ? 'row' : 'row-reverse')};\n font-size: ${({ theme }) => theme.title}px;\n font-family: ${({ theme }) => theme.primaryFontBold};\n color: ${({ theme, isLocal }) => (isLocal ? theme.dark : theme.white)};\n flex: 1;\n background-color: ${({ theme, isLocal }) =>\n isLocal ? 'rgba(0, 0, 0, 0.1)' : theme.dark5};\n z-index: 1;\n @media (max-width: ${({ theme }) => `${theme.breakpoints.xl}px`}) {\n padding: 0px 20px;\n }\n img {\n height: ${({ theme }) => theme.shieldBig}px;\n margin: ${({ isLocal }) => (isLocal ? '0 0 0 5px' : '0 5px 0 0')};\n }\n`;\n\nexport const TeamSquad = styled.div`\n display: flex;\n flex-direction: ${({ isLocal }) => (isLocal ? 'row' : 'row-reverse')};\n z-index: 1;\n flex-grow: 1;\n padding: 0px 50px;\n @media (max-width: ${({ theme }) => `${theme.breakpoints.xl}px`}) {\n padding: 0px 20px;\n }\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n flex-direction: column;\n min-height: 57vh;\n }\n`;\n\nexport const SquadColumn = styled.div`\n width: ${props => (props.width ? props.width : '100%')};\n padding: 30px 0px;\n display: flex;\n ${({ isCourt }) =>\n isCourt\n ? 'flex-direction:row;justify-content:center;'\n : 'flex-direction:column;'}\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n flex-direction:column;\n height:auto;\n padding:${({ isCourt }) => (isCourt ? ' 0 3%' : '0')};\n justify-content:center;\n align-items:center;\n }\n`;\n\nexport const ColumnContent = styled.div`\n display: flex;\n flex-direction: column;\n height: 100%;\n`;\n\nexport const TeamSubheaderColumn = styled.div`\n width: 100%;\n padding: 0 10px 0;\n display: flex;\n ${({ row }) =>\n row === 'single'\n ? 'justify-content:center;align-items:center;'\n : 'flex-direction:column;justify-content:space-between;'}\n text-align: center;\n h3 {\n margin-top: 5px;\n color: ${({ isLocal, theme }) => (isLocal ? theme.dark : theme.white)};\n text-transform: uppercase;\n }\n p {\n color: ${({ isLocal, theme }) => (isLocal ? theme.dark : theme.white)};\n margin-bottom: 10px;\n font-size: ${({ theme }) => theme.paragraphBig}px;\n span {\n display: block;\n font-size: ${({ theme }) => theme.paragraph}px;\n margin-bottom: 5px;\n }\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n justify-content: center;\n align-items: center;\n\n h3 {\n padding: 5px 15px;\n font-size: ${({ theme }) => theme.paragraph}px;\n border-bottom: 2px solid\n ${({ isLocal, theme }) => (isLocal ? theme.dark : theme.white)};\n margin-bottom: 20px;\n }\n p {\n text-align: center;\n font-size: ${({ theme }) => theme.paragraphBig}px;\n span {\n text-transform: uppercase;\n }\n }\n }\n`;\n\nexport const Court = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-around;\n width: 370px;\n max-width: 100%;\n height: 580px;\n background-image: url(${images.court});\n background-repeat: no-repeat;\n background-position: center;\n padding: 20px;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n width: 100%;\n padding: 3%;\n }\n`;\n\nexport const Row = styled.div`\n width: 100%;\n display: flex;\n justify-content: space-around;\n max-width: 370px;\n`;\n\nexport const Player = styled.div`\n width: 70px;\n height: 70px;\n border-radius: 50%;\n background-color: ${({ theme, hovered }) =>\n hovered ? theme.coral : theme.white};\n background-image: url(${({ image }) => image || images.playerPlaceholder});\n background-position: center;\n background-size: contain;\n transition: background-color 0.2s;\n`;\n\nexport const ShirtNumber = styled.div`\n width: 30px;\n height: 30px;\n border-radius: 50%;\n margin-top: 45px;\n margin-left: 20px;\n background-color: ${({ isLocal, theme }) =>\n isLocal ? theme.white : theme.dark};\n color: ${({ isLocal, theme }) => (isLocal ? theme.dark : theme.white)};\n line-height: 30px;\n font-size: ${({ theme }) => theme.h5}px;\n font-family: ${({ theme }) => theme.primaryFontBold};\n display: flex;\n align-items: center;\n justify-content: center;\n padding-top: 2px;\n`;\n","import styled from 'styled-components/macro';\n\nexport const PlayerCell = styled.div`\n color: ${({ theme, competition }) =>\n competition === 1 ? theme.coral : theme.turquoise};\n color: ${({ hovered }) => !hovered && ''};\n transition: color 0.2s;\n`;\n\nexport const SquadContainer = styled.div`\n display: flex;\n\n table {\n padding: 10px;\n\n th {\n width: 10%;\n color: ${({ isLocal, theme }) => (isLocal ? theme.dark : theme.white)};\n > div {\n display: block !important;\n text-align: center;\n }\n\n &:first-child {\n width: 70%;\n > div {\n display: block !important;\n text-align: left;\n }\n }\n }\n\n td {\n padding: 10px 8px 8px !important;\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.paragraphSmall}px;\n font-weight: normal;\n text-transform: uppercase;\n text-align: center;\n span {\n width: 30px;\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-weight: 200;\n display: inline-block;\n }\n\n &:first-child {\n font-family: ${({ theme }) => theme.primaryFontMedium};\n text-align: left;\n }\n }\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n width: 100%;\n padding: 0;\n table {\n width: 100%;\n padding: 0;\n th,\n td {\n padding: 10px 20px 8px !important;\n }\n }\n }\n`;\n","import { useTranslation } from 'react-i18next';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Table from '~/components/Table';\nimport { theme } from '~/styles/theme';\nimport { useSelector } from 'react-redux';\nimport * as S from './styles';\n\nexport default function SquadContent({\n squad,\n substitutes,\n isLocal,\n showAll,\n hoveredPlayer,\n onHover,\n}) {\n const { t } = useTranslation();\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n\n const columnsTitulares = React.useMemo(\n () => [\n {\n Header: t('titulars'),\n accessor: player => (\n // eslint-disable-next-line jsx-a11y/mouse-events-have-key-events\n {\n onHover(player.shirtNumber ? player.shirtNumber.toString() : '0');\n }}\n competition={match?.competitionId}\n >\n {player.shirtNumber ? player.shirtNumber : '-'}\n {player.nickname ? player.nickname : '-'}\n \n ),\n },\n ],\n [t, hoveredPlayer, onHover, match]\n );\n\n const columnsSuplentes = React.useMemo(\n () => [\n {\n Header: t('substitutes'),\n accessor: player => (\n <>\n {player.shirtNumber}\n {player.nickname}\n \n ),\n },\n ],\n [t]\n );\n\n return (\n \n {squad && (\n <>\n {/* eslint-disable-next-line jsx-a11y/mouse-events-have-key-events */}\n {\n onHover('0');\n }}\n columns={columnsTitulares}\n data={squad}\n styleOptions={{\n backgroundColor: 'transparent',\n primaryColor: isLocal ? theme.white : 'transparent',\n secondaryColor: isLocal ? theme.light2 : theme.dark5,\n textColor: isLocal ? theme.dark : theme.white,\n textHeaderColor: isLocal ? theme.dark : theme.white,\n fullWidth: true,\n }}\n />\n {showAll && (\n \n )}\n \n )}\n \n );\n}\n\nSquadContent.propTypes = {\n squad: PropTypes.array,\n substitutes: PropTypes.array,\n isLocal: PropTypes.bool,\n showAll: PropTypes.bool,\n hoveredPlayer: PropTypes.string,\n onHover: PropTypes.func,\n};\n\nSquadContent.defaultProps = {\n squad: [],\n substitutes: [],\n isLocal: false,\n showAll: true,\n hoveredPlayer: '0',\n onHover: () => {},\n};\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport { v4 } from 'uuid';\nimport * as S from '../styles';\nimport SquadContainer from '../../SquadContent';\n\nexport default function MatchTeamMobile({\n isLocal,\n squad,\n trainer,\n className,\n formation,\n}) {\n const { t } = useTranslation();\n const [hovered, setHovered] = useState('0');\n return (\n \n \n \n \n

{t('alignment')}

\n

\n {t('trainer')}\n {trainer ? trainer.nickname : '-'}\n

\n
\n
\n \n \n {formation.map(row => {\n return (\n \n {row.map(cell => {\n if (cell !== null) {\n return (\n setHovered(cell.shirtNumber)}\n onMouseOut={() => setHovered('0')}\n >\n \n {cell.shirtNumber}\n \n \n );\n }\n return null;\n })}\n \n );\n })}\n \n \n \n \n \n
\n
\n );\n}\n\nMatchTeamMobile.propTypes = {\n squad: PropTypes.array,\n trainer: PropTypes.object,\n isLocal: PropTypes.bool,\n className: PropTypes.string,\n formation: PropTypes.array,\n};\n\nMatchTeamMobile.defaultProps = {\n squad: [],\n trainer: '',\n isLocal: false,\n className: null,\n formation: [],\n};\n","import styled from 'styled-components/macro';\n\nexport const LocalColumn = styled.div`\n position: relative;\n width: 100%;\n min-height: 100%;\n background-color: ${({ isLocal, theme }) =>\n isLocal ? theme.light : theme.dark4};\n`;\n\nexport const ShieldBackground = styled.div`\n width: 100%;\n height: 100%;\n position: absolute;\n background-image: url(${({ image }) => image});\n background-repeat: no-repeat;\n background-size: 700px;\n background-position: ${({ isLocal }) => (isLocal ? '-239px' : '95px')} center;\n filter: grayscale(100%);\n opacity: 0.1;\n z-index: 0;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n background-size: 500px;\n background-position: -150px -15px;\n }\n`;\n\nexport const Content = styled.div`\n position: relative;\n`;\n\nexport const TeamHeader = styled.div`\n position: relative;\n width: 100%;\n display: flex;\n align-items: center;\n flex-direction: ${({ isLocal }) => (isLocal ? 'row-reverse' : 'row')};\n padding: 0 10px;\n height: 100px;\n font-size: ${({ theme }) => theme.h2}px;\n color: ${({ theme, isLocal }) => (isLocal ? theme.dark : theme.white)};\n background-color: rgba(0, 0, 0, 0.1);\n\n div {\n display: flex;\n flex-direction: column;\n\n .name {\n font-size: 24px;\n }\n\n .alignment {\n font-family: ${({ theme }) => theme.primaryFontLight};\n font-size: 16px;\n }\n }\n\n img {\n height: ${({ theme }) => theme.shieldBig}px;\n margin: ${({ isLocal }) => (isLocal ? '0 0 0 10px' : '0 10px 0 0')};\n }\n\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n display: none;\n }\n`;\n\nexport const SquadContainer = styled.div`\n display: flex;\n z-index: 1;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n padding: 0px;\n }\n\n table {\n padding: 10px;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n padding: 0px;\n }\n\n th {\n width: 10%;\n color: ${({ isLocal, theme }) => (isLocal ? theme.dark : theme.white)};\n font-size: ${({ theme }) => theme.paragraph}px;\n font-family: ${({ theme }) => theme.primaryFontBold};\n text-transform: uppercase;\n > div {\n display: block !important;\n text-align: center;\n }\n\n &:first-child {\n width: 70%;\n > div {\n display: block !important;\n text-align: left;\n }\n }\n }\n\n td {\n padding: 10px 8px 8px !important;\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.paragraphSmall}px;\n font-weight: normal;\n text-transform: uppercase;\n text-align: center;\n span {\n width: 30px;\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-weight: 200;\n display: inline-block;\n }\n\n &:first-child {\n font-family: ${({ theme }) => theme.primaryFontMedium};\n text-align: left;\n }\n }\n }\n`;\n\nexport const TeamSubheader = styled.div`\n display: flex;\n z-index: 1;\n position: relative;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n flex-direction: column-reverse;\n align-items: center;\n padding: 10px;\n }\n`;\n\nexport const TeamSubheaderColumn = styled.div`\n width: 50%;\n padding: 15px;\n display: flex;\n flex-direction: column;\n flex: 1;\n align-items: ${({ isLocal }) => (isLocal ? 'flex-start' : 'flex-end')};\n\n > div {\n @media (max-width: 1550px) {\n max-width: 250px;\n }\n @media (max-width: 1450px) {\n max-width: 230px;\n }\n }\n\n h3 {\n margin-top: 5px;\n color: ${({ isLocal, theme }) => (isLocal ? theme.dark : theme.white)};\n text-transform: uppercase;\n margin-bottom: 12px;\n\n @media (min-width: ${({ theme }) => theme.breakpoints.md}px) {\n display: none;\n }\n }\n\n .trainer {\n color: ${({ isLocal, theme }) => (isLocal ? theme.dark : theme.white)};\n padding-top: 26px;\n\n span {\n display: block;\n font-size: ${({ theme }) => theme.paragraph}px;\n text-transform: uppercase;\n }\n\n strong {\n text-transform: none;\n font-size: ${({ theme }) => theme.paragraphBig}px;\n font-weight: normal;\n }\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n text-align: center;\n align-items: center;\n padding: 10px 0 0;\n width: 100%;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints.md}px) {\n margin-top: -80px;\n }\n`;\n\nexport const TeamSquad = styled.div`\n height: 100%;\n z-index: 1;\n flex-grow: 1;\n position: relative;\n\n > div {\n flex-direction: ${({ isLocal }) => (isLocal ? 'row-reverse' : 'row')};\n padding: 0 10px;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n flex-direction: row;\n }\n\n .scroll {\n @media (min-width: 1601px) {\n margin-top: -200px;\n }\n\n @media (max-width: 1600px) and (min-width: ${({ theme }) =>\n theme.breakpoints.md}px) {\n margin-top: -180px;\n }\n }\n }\n`;\n","import styled from 'styled-components/macro';\n\nexport const PlayerCell = styled.div`\n color: ${({ theme, hovered }) => (hovered ? theme.coral : '')};\n font-size: ${({ theme }) => theme.h5}px;\n cursor: default;\n transition: color 0.2s;\n`;\n\nexport const SubstituteCell = styled.div`\n width: 100%;\n display: flex;\n`;\n\nexport const SubstituteLabel = styled.div`\n font-size: ${({ theme }) => theme.h5}px;\n font-family: ${({ theme, bold }) =>\n bold ? theme.primaryfontBold : theme.primaryFontMedium};\n margin-right: ${({ bold }) => (bold ? 0 : 5)}px;\n`;\n\nexport const SquadContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: row-reverse;\n\n > div {\n thead th {\n padding-bottom: 30px;\n }\n }\n`;\n\nexport const Scroll = styled.div`\n width: 100%;\n max-height: 500px;\n overflow: hidden;\n\n .scroll-content {\n height: 100%;\n overflow-y: ${({ withScroll }) => (withScroll ? 'scroll' : 'hidden')};\n\n ::-webkit-scrollbar {\n width: 5px;\n }\n\n ::-webkit-scrollbar-track {\n background: #c4c4c5;\n border-radius: 10px;\n }\n\n ::-webkit-scrollbar-thumb {\n background: #666;\n border-radius: 10px;\n }\n\n ::-webkit-scrollbar-thumb:hover {\n background-color: ${({ theme }) => theme.darkWithOpacity};\n }\n\n table {\n padding-top: 0;\n }\n\n > div {\n height: 170%;\n }\n }\n`;\n","import { useTranslation } from 'react-i18next';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport * as Styled from '~/pages/Match/subpages/Previous/components/Squad/styles';\nimport Table from '~/components/Table';\nimport { theme } from '~/styles/theme';\nimport * as S from './styles';\n\nexport default function SquadContent({\n squad,\n substitutes,\n isLocal,\n showAll,\n hoveredPlayer,\n onHover,\n isFetching,\n withScroll,\n}) {\n const { t } = useTranslation();\n\n const columnsTitulares = React.useMemo(\n () => [\n {\n Header: t('titulars'),\n accessor: player => (\n {\n onHover(player.shirtNumber ? player.shirtNumber.toString() : '0');\n }}\n >\n {player.shirtNumber ? player.shirtNumber : '-'}\n {player.nickname ? player.nickname : '-'}\n \n ),\n },\n ],\n [t, hoveredPlayer, onHover]\n );\n\n const columnsSuplentes = React.useMemo(\n () => [\n {\n Header: t('substitutes'),\n accessor: player => (\n \n {player.shirtNumber}\n {player.nickname}\n \n ),\n },\n ],\n [t]\n );\n return (\n \n \n
\n {\n onHover('0');\n }}\n columns={columnsTitulares}\n data={squad}\n styleOptions={{\n backgroundColor: 'transparent',\n primaryColor: isLocal\n ? theme.whiteWithOpacity\n : theme.dark5Opacity,\n secondaryColor: isLocal\n ? theme.light2Opacity\n : theme.dark4Opacity,\n textColor: isLocal ? theme.dark : theme.white,\n textHeaderColor: isLocal ? theme.dark : theme.white,\n fullWidth: true,\n }}\n isFetching={isFetching}\n placeholderNumElements={11}\n />\n
\n
\n\n {showAll && (\n \n )}\n
\n );\n}\n\nSquadContent.propTypes = {\n squad: PropTypes.array,\n substitutes: PropTypes.array,\n isLocal: PropTypes.bool,\n showAll: PropTypes.bool,\n hoveredPlayer: PropTypes.string,\n onHover: PropTypes.func,\n isFetching: PropTypes.bool,\n withScroll: PropTypes.bool,\n};\n\nSquadContent.defaultProps = {\n squad: [],\n substitutes: [],\n isLocal: false,\n showAll: true,\n hoveredPlayer: '0',\n onHover: () => {},\n isFetching: false,\n withScroll: false,\n};\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport { v4 } from 'uuid';\nimport * as S from '../styles';\nimport SquadContainer from '../../../../../components/SquadContent';\n\nexport default function MatchTeamDesktop({\n isLocal,\n team,\n squad,\n trainer,\n className,\n formation,\n}) {\n const { t } = useTranslation();\n const [hovered, setHovered] = useState('0');\n return (\n \n \n \n \n {team.nickname}\n \"equipo-isLocal\"\n \n \n \n \n

{t('alignment')}

\n

\n {t('trainer')}\n {trainer ? trainer.nickname : '-'}\n

\n
\n \n
\n \n \n {formation.map(row => {\n return (\n \n {row.map(cell => {\n if (cell !== null) {\n return (\n setHovered(cell.shirtNumber)}\n onMouseOut={() => setHovered('0')}\n >\n \n {cell.shirtNumber}\n \n \n );\n }\n return null;\n })}\n \n );\n })}\n \n \n
\n
\n
\n );\n}\n\nMatchTeamDesktop.propTypes = {\n team: PropTypes.object,\n squad: PropTypes.array,\n trainer: PropTypes.object,\n isLocal: PropTypes.bool,\n className: PropTypes.string,\n formation: PropTypes.array,\n};\n\nMatchTeamDesktop.defaultProps = {\n team: {},\n squad: [],\n trainer: {},\n isLocal: false,\n className: null,\n formation: [],\n};\n","import React from 'react';\nimport { Responsive } from '~/components';\nimport { Mobile, Desktop } from './responsive';\n\nexport default function MatchTeam({ ...props }) {\n return } lg={} />;\n}\n","import React from 'react';\nimport { PropTypes } from 'prop-types';\nimport * as S from './styles';\nimport MatchTeam from '../MatchTeam';\n\nexport default function TeamBlock({\n className,\n isLocal,\n bgImage,\n lineUp,\n selectedMatch,\n}) {\n const squadHome = lineUp.homeTeamLineUp\n ? lineUp.homeTeamLineUp.startPlayers\n : [];\n const trainerHome = lineUp.homeTeamLineUp\n ? lineUp.homeTeamLineUp.trainer\n : {};\n const formationHome = lineUp.homeTeamLineUp\n ? lineUp.homeTeamLineUp.playersFormation\n : [];\n\n const squadAway = lineUp.awayTeamLineUp\n ? lineUp.awayTeamLineUp.startPlayers\n : [];\n const trainerAway = lineUp.awayTeamLineUp\n ? lineUp.awayTeamLineUp.trainer\n : {};\n const formationAway = lineUp.awayTeamLineUp\n ? lineUp.awayTeamLineUp.playersFormation\n : [];\n\n return (\n \n {selectedMatch && (\n \n )}\n \n );\n}\n\nTeamBlock.propTypes = {\n className: PropTypes.string,\n isLocal: PropTypes.bool,\n bgImage: PropTypes.string,\n lineUp: PropTypes.object,\n selectedMatch: PropTypes.object,\n};\n\nTeamBlock.defaultProps = {\n className: null,\n isLocal: false,\n bgImage: null,\n lineUp: {},\n selectedMatch: {},\n};\n","import styled from 'styled-components/macro';\nimport TeamBlock from '../TeamBlock';\n\nexport const ContainerTeamContent = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const TeamLocalBlock = styled(TeamBlock)``;\n\nexport const TeamVisitorBlock = styled(TeamBlock)``;\n\nexport const TeamBlockContent = styled.div`\n display: grid;\n min-height: 100%;\n grid-template-rows: auto auto;\n ${({ tabMode }) =>\n !tabMode\n ? `\n position: absolute;\n top: 0px;\n width: 100%;\n min-height: 100%;\n `\n : null}\n`;\n\nexport const Season = styled.span`\n text-transform: uppercase;\n margin-right: 5px;\n`;\n\nexport const TeamSeasonLabel = styled.span`\n display: block;\n text-transform: uppercase;\n font-size: 9px;\n margin-bottom: 5px;\n font-family: ${({ theme }) => theme.primaryFontLight};\n`;\nexport const TeamSeason = styled.span`\n display: block;\n font-size: 13px;\n font-family: ${({ theme }) => theme.primaryFontBold};\n`;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './styles';\nimport { TabBar, TabButton } from '~/components';\n\nexport default function TeamSection({\n selectedMatch,\n optionSelected,\n tabMode,\n lineUp,\n}) {\n const [tab, setTab] = useState('local');\n\n const changeTab = ({ value }) => {\n setTab(value);\n };\n\n return (\n \n {tabMode && (\n \n \n \n \n )}\n {optionSelected === 1 && (\n \n {((tabMode && tab === 'local') || !tabMode) && (\n \n )}\n {((tabMode && tab === 'away') || !tabMode) && (\n \n )}\n \n )}\n {optionSelected === 2 && (\n \n {((tabMode && tab === 'local') || !tabMode) && (\n \n )}\n {((tabMode && tab === 'away') || !tabMode) && (\n \n )}\n \n )}\n \n );\n}\n\nTeamSection.propTypes = {\n optionSelected: PropTypes.number,\n selectedMatch: PropTypes.object,\n lineUp: PropTypes.object,\n tabMode: PropTypes.bool,\n};\n\nTeamSection.defaultProps = {\n optionSelected: 0,\n selectedMatch: {},\n lineUp: {},\n tabMode: false,\n};\n","import PropTypes from 'prop-types';\n\nconst propTypes = {\n selectedMatch: PropTypes.object,\n lineUp: PropTypes.object,\n publicFiles: PropTypes.object,\n};\n\nconst defaultProps = {\n selectedMatch: {},\n lineUp: {},\n publicFiles: { data: {} },\n};\n\nexport { propTypes, defaultProps };\n","import React, { useContext, useEffect } from 'react';\nimport * as S from '../styles';\nimport TeamSection from '../components/TeamsSection';\nimport { HeaderContext } from '~/context';\nimport { Icon } from '~/components';\nimport { propTypes, defaultProps } from './propsValidation';\nimport downloadFile from '~/utils/downloadFile';\n\nexport default function MatchSheetMobile({ publicFiles, ...props }) {\n const { setButtonRight, setHeaderProps, headerProps } = useContext(\n HeaderContext\n );\n useEffect(() => {\n if (!Object.keys(headerProps).length) {\n setButtonRight(\n {\n if (publicFiles.data.hojaPartido)\n downloadFile(publicFiles.data.hojaPartido.id);\n }}\n />\n );\n }\n }, [setButtonRight, headerProps, publicFiles]);\n useEffect(() => {\n return () => {\n setHeaderProps({});\n };\n }, [setHeaderProps]);\n return (\n \n \n \n );\n}\n\nMatchSheetMobile.propTypes = propTypes;\n\nMatchSheetMobile.defaultProps = defaultProps;\n","import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Download from '~/components/Download';\nimport downloadFile from '~/utils/downloadFile';\nimport { useSelector } from 'react-redux';\nimport MatchTeam from '../components/MatchTeam';\nimport * as S from '../styles';\nimport { propTypes, defaultProps } from './propsValidation';\n\nexport default function MatchSheetDesktop({\n selectedMatch,\n lineUp,\n publicFiles,\n}) {\n const { t } = useTranslation();\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n const [pdfLoading, setPdfLoading] = useState(false);\n\n return (\n \n {selectedMatch && (\n \n )}\n {selectedMatch && (\n \n )}\n {\n if (publicFiles.data.hojaPartido)\n downloadFile(publicFiles.data.hojaPartido.id, setPdfLoading);\n }}\n disabled={\n Object.keys(publicFiles.data).length === 0 ||\n !publicFiles.data.hojaPartido\n }\n text={t('downloadSheetDesignation')}\n loading={pdfLoading}\n competition={match?.competitionId}\n />\n \n );\n}\n\nMatchSheetDesktop.propTypes = propTypes;\n\nMatchSheetDesktop.defaultProps = defaultProps;\n","import React, { useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { Responsive, Spinner } from '~/components';\nimport { Mobile, Desktop } from './responsive';\nimport EmptyPage from '~/pages/EmptyPage';\n\nexport default function MatchSheet() {\n const {\n selectedMatch: { data: selectedMatch },\n lineup: { data: lineup, loading: isLoading, failed },\n publicFiles,\n } = useSelector(state => state.matches);\n const [optionSelected, setOptionSelected] = useState(1);\n\n const handleChange = ({ value }) => {\n setOptionSelected(value);\n };\n const matchSheetProps = {\n selectedMatch,\n lineUp: lineup,\n optionSelected,\n handleChange,\n publicFiles,\n };\n if (isLoading) return ;\n if (Object.keys(lineup).length > 0 && !failed) {\n return (\n }\n lg={}\n />\n );\n }\n return ;\n}\n","import styled from 'styled-components/macro';\nimport { Table, Download } from '~/components';\n\nexport const Container = styled.div`\n position: relative;\n display: flex;\n width: 100%;\n flex-direction: column;\n padding-bottom: 50px;\n flex: 1;\n min-height: 100%;\n background-color: ${({ theme }) => theme.white};\n &:before {\n content: ' ';\n position: absolute;\n background-color: ${({ theme }) => theme.dark5};\n width: 187px;\n height: 100%;\n\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n width: 72px;\n }\n }\n`;\n\nexport const TableCountdown = styled(Table)`\n width: 100%;\n & > table {\n width: 100%;\n & > thead {\n display: none;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n display: none;\n }\n }\n td {\n font-size: ${({ theme }) => theme.h5}px;\n font-family: ${({ theme }) => theme.primaryFontMedium};\n\n &:first-child {\n position: relative;\n width: 187px;\n background-color: ${({ theme }) => theme.blue2};\n color: ${({ theme }) => theme.white};\n text-align: right;\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.h5}px;\n padding: 0;\n & > div {\n display: inline-block;\n width: 100%;\n padding: 16px 13px;\n position: relative;\n color: ${({ theme }) => theme.white};\n\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n max-width: 100%;\n line-height: 1;\n text-align: left;\n }\n\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n width: 71px;\n }\n }\n\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n width: 71px;\n font-size: ${({ theme }) => theme.label}px;\n }\n }\n &:nth-child(2) {\n padding-left: 33px;\n padding-right: 33px;\n width: 187px;\n & > div {\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n line-height: 1;\n }\n }\n\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n padding: 13px;\n width: 71px;\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.label}px;\n }\n }\n &:nth-child(3) {\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.h5}px;\n\n & > div {\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n line-height: 1;\n }\n }\n\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.label}px;\n }\n }\n }\n }\n`;\n\nexport const DownloadButton = styled(Download)`\n position: fixed;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n`;\n\nexport const TableHeader = styled.div`\n display: grid;\n grid-template-columns: 187px 187px auto;\n background-color: ${({ theme, competition }) =>\n competition === 1 ? theme.coral : theme.turquoise};\n height: 38px;\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);\n z-index: 10;\n position: sticky;\n top: 0px;\n color: ${({ theme }) => theme.white};\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n grid-template-columns: 71px 91px auto;\n }\n`;\n\nexport const Th = styled.div`\n display: flex;\n align-items: center;\n justify-content: flex-end;\n font-family: ${({ theme }) => theme.primaryFont};\n font-size: ${({ theme }) => theme.paragraph}px;\n text-transform: uppercase;\n margin-right: 1vw;\n\n &:nth-child(2) {\n justify-content: flex-start;\n margin-left: 33px;\n }\n\n &:last-child {\n justify-content: center;\n margin: 0;\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n font-size: ${({ theme }) => theme.paragraphSmall}px;\n margin: 0 0 0 13px !important;\n justify-content: flex-start;\n }\n`;\n\nexport const TableSeparator = styled.div`\n width: calc(100% - 60px);\n height: 1px;\n background: -webkit-linear-gradient(\n left,\n ${({ theme }) => theme.white},\n ${({ theme }) => theme.white} 157px,\n ${({ theme }) => theme.gray4} 158px,\n ${({ theme }) => theme.gray4}\n );\n background: -moz-linear-gradient(\n left,\n ${({ theme }) => theme.white},\n ${({ theme }) => theme.white} 157px,\n ${({ theme }) => theme.gray4} 158px,\n ${({ theme }) => theme.gray4}\n );\n background: linear-gradient(\n left,\n ${({ theme }) => theme.white},\n ${({ theme }) => theme.white} 157px,\n ${({ theme }) => theme.gray4} 158px,\n ${({ theme }) => theme.gray4}\n );\n z-index: 1;\n margin-left: 30px;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n margin: 0 !important;\n width: 100%;\n background: -webkit-linear-gradient(\n left,\n ${({ theme }) => theme.white},\n ${({ theme }) => theme.white} 71px,\n ${({ theme }) => theme.gray4} 72px,\n ${({ theme }) => theme.gray4}\n );\n background: -moz-linear-gradient(\n left,\n ${({ theme }) => theme.white},\n ${({ theme }) => theme.white} 71px,\n ${({ theme }) => theme.gray4} 72px,\n ${({ theme }) => theme.gray4}\n );\n background: linear-gradient(\n left,\n ${({ theme }) => theme.white},\n ${({ theme }) => theme.white} 71px,\n ${({ theme }) => theme.gray4} 72px,\n ${({ theme }) => theme.gray4}\n );\n }\n`;\n","import i18next from 'i18next';\n\nconst columns = () => [\n {\n accessor: 'head',\n },\n {\n accessor: 'type',\n },\n {\n accessor: 'observations',\n },\n];\n\nconst parseData = (data, type) => {\n return data.map((item, index) => {\n return {\n ...item,\n head: index === 0 ? i18next.t(type) : ' ',\n type: i18next.t(item.type),\n };\n });\n};\n\nexport { columns, parseData };\n","import PropTypes from 'prop-types';\n\nconst propTypes = { acts: PropTypes.object, publicFiles: PropTypes.object };\n\nconst defaultProps = {\n acts: {\n data: {},\n },\n publicFiles: { data: {} },\n};\n\nexport { propTypes, defaultProps };\n","import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport downloadFile from '~/utils/downloadFile';\nimport { useSelector } from 'react-redux';\nimport * as S from '../styles';\nimport { parseData, columns } from '../utils';\nimport { propTypes, defaultProps } from './propsValidation';\n\nexport default function ProtocolCommercialActs({ acts, publicFiles }) {\n const { t } = useTranslation();\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n const [pdfLoading, setPdfLoading] = useState(false);\n\n return (\n \n \n {t('period')}\n {t('actType')}\n {t('description')}\n \n \n {acts.previousActs && }\n \n {acts.breakActs && }\n \n {\n if (publicFiles.data.actos)\n downloadFile(publicFiles.data.actos.id, setPdfLoading);\n }}\n text={t('downloadActsDesignation')}\n disabled={\n Object.keys(publicFiles.data).length === 0 || !publicFiles.data.actos\n }\n loading={pdfLoading}\n competition={match?.competitionId}\n />\n \n );\n}\n\nProtocolCommercialActs.propTypes = propTypes;\n\nProtocolCommercialActs.defaultProps = defaultProps;\n","import React, { useContext, useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { HeaderContext } from '~/context';\nimport { Icon } from '~/components';\nimport downloadFile from '~/utils/downloadFile';\nimport { useSelector } from 'react-redux';\nimport { propTypes, defaultProps } from './propsValidation';\nimport { columns, parseData } from '../utils';\nimport * as S from '../styles';\n\nexport default function ProtocolCommercialActs({ acts, publicFiles }) {\n const { t } = useTranslation();\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n const { setButtonRight, setHeaderProps, headerProps } = useContext(\n HeaderContext\n );\n useEffect(() => {\n if (!Object.keys(headerProps).length) {\n setButtonRight(\n {\n if (publicFiles.data.actos) downloadFile(publicFiles.data.actos.id);\n }}\n />\n );\n }\n }, [setButtonRight, headerProps, publicFiles]);\n useEffect(() => {\n return () => {\n setHeaderProps({});\n };\n }, [setHeaderProps]);\n\n return (\n \n \n {t('period')}\n {t('actType')}\n {t('description')}\n \n \n {acts.previousActs && }\n \n {acts.breakActs && }\n \n \n );\n}\n\nProtocolCommercialActs.propTypes = propTypes;\n\nProtocolCommercialActs.defaultProps = defaultProps;\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTranslation } from 'react-i18next';\nimport { Desktop, Mobile } from './responsive';\nimport { Responsive, Spinner } from '~/components';\nimport { getSelectedMatchActsRequest } from '~/store/modules/matches/actions';\nimport EmptyPage from '~/pages/EmptyPage';\n\nexport default function ProtocolCommercialActs() {\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const {\n selectedMatch: { data: selectedMatch },\n acts: { data: acts, loading },\n publicFiles,\n } = useSelector(state => state.matches);\n\n useEffect(() => {\n if (selectedMatch && Object.keys(acts).length === 0) {\n dispatch(getSelectedMatchActsRequest(selectedMatch.id));\n }\n }, [dispatch, selectedMatch, acts]);\n\n const actsProps = {\n publicFiles,\n acts,\n };\n\n if (loading) return ;\n if (Object.keys(acts).length > 0) {\n return (\n }\n lg={}\n />\n );\n }\n\n if (selectedMatch && selectedMatch.status === 'FullTime') {\n return ;\n }\n\n return (\n \n );\n}\n","import React from 'react';\nimport { Switch, Route, useRouteMatch } from 'react-router-dom';\nimport * as S from './styles';\nimport { match } from '~/utils/mocks/match';\nimport {\n ArbitrationTeam,\n GrassStatus,\n KitSelector,\n MatchSheet,\n ProtocolCommercialActs,\n} from '~/pages/Match/subpages/Previous/subpages';\n\nexport default function NavigationBar() {\n const { path } = useRouteMatch();\n const newPath = `${path}/previous`;\n\n return (\n \n \n \n }\n />\n \n \n \n \n \n );\n}\n","export const apps = [\n {\n id: 1,\n name: 'arbiterTeam',\n icon: 'referee',\n route: 'arbitration-team',\n },\n {\n id: 2,\n name: 'kitSelector',\n icon: 'kitSelector',\n route: 'kit-selector',\n },\n {\n id: 3,\n name: 'grassStatus',\n icon: 'grassStatus',\n route: 'grass-status',\n },\n {\n id: 4,\n name: 'matchSheet',\n icon: 'matchSheet',\n route: 'match-sheet',\n },\n {\n id: 5,\n name: 'protocolActs',\n altLoggedname: 'commercials',\n icon: 'acts',\n route: 'protocol-commercial-acts',\n },\n];\n","import styled from 'styled-components/macro';\nimport { Link } from '~/components';\n\nexport const NavBar = styled.div`\n display: flex;\n width: 100%;\n height: 60px;\n background-color: ${({ theme }) => theme.dark4};\n bottom: 0;\n left: 0;\n z-index: 1;\n padding: 11px 50px 0 50px;\n @media (max-width: ${({ theme }) => theme.breakpoints.xl}px) {\n padding: 11px 10px 0 10px;\n }\n`;\n\nexport const NavBarTitle = styled.div`\n color: ${({ theme }) => theme.light};\n font-size: ${({ theme }) => theme.paragraph}px;\n font-family: ${({ theme }) => theme.primaryFontLight};\n text-transform: uppercase;\n line-height: 24px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n`;\n\nexport const NavBarOption = styled.button`\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n background-color: ${({ theme, competition }) =>\n competition === 1 ? theme.coral : theme.turquoise};\n background-color: ${({ theme, isActive }) => !isActive && theme.gray5};\n font-size: ${({ theme }) => theme.h5}px;\n font-family: ${({ theme }) => theme.primaryFontMedium};\n border-style: none;\n margin-left: 11px;\n\n a {\n display: flex;\n align-items: center;\n font-size: ${({ theme }) => theme.h5}px;\n color: ${({ theme }) => theme.white};\n height: 100%;\n padding: 0 20px 0 20px;\n line-height: 49px;\n }\n\n svg {\n margin-left: 10px;\n polygon {\n fill: ${({ theme }) => theme.white};\n }\n }\n`;\n\nexport const CloseNavBarOptionContainer = styled.div`\n flex: 1;\n display: ${({ shouldShow }) => (shouldShow ? 'flex' : 'none')};\n align-items: center;\n justify-content: flex-end;\n padding-left: 14px;\n transform-origin: 50% 50%;\n`;\n\nexport const CloseLink = styled(Link)`\n line-height: 0;\n transition: all 0.3s;\n &:hover {\n transform: rotateZ(90deg);\n }\n`;\n\nexport const Title = styled.span`\n display: block;\n font-size: ${({ theme }) => theme.h5}px;\n font-family: ${({ theme }) => theme.primaryFont};\n color: ${({ theme }) => theme.white};\n`;\n\nexport const Subtitle = styled.span`\n display: block;\n font-family: ${({ theme }) => theme.primaryFont};\n font-size: ${({ theme }) => theme.label}px;\n color: ${({ theme }) => theme.white};\n @media (max-width: ${({ theme }) => theme.breakpoints.xl}px) {\n display: none;\n }\n`;\n\nexport const TabLabel = styled.span``;\n\nexport const Grow = styled.div`\n flex-grow: 1;\n max-width: 129px;\n`;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useRouteMatch, useLocation } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport { Icon, Link } from '~/components';\nimport { apps } from '~/utils/mocks/apps';\nimport * as S from './styles';\n\nexport default function TabBar({ isOpen }) {\n const location = useLocation();\n const { user } = useSelector(state => state.user);\n const { url } = useRouteMatch();\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n const { t } = useTranslation();\n\n const isCurrentPath = pathString => {\n return location.pathname.includes(pathString);\n };\n\n const navigateTo = route => {\n return isCurrentPath(route)\n ? `${url}/previous`\n : `${url}/previous/${route}`;\n };\n\n return (\n \n \n {t('accessAppInformation')}\n {t('apps')}\n \n \n {apps.map(app => (\n {}}\n competition={match?.competitionId}\n >\n \n \n {t(app.name)} {user && user.laliga && `/ ${t(app.altLoggedname)}`}\n \n \n \n \n ))}\n \n \n \n \n \n \n );\n}\n\nTabBar.propTypes = {\n isOpen: PropTypes.bool,\n};\n\nTabBar.defaultProps = {\n isOpen: false,\n};\n","import styled from 'styled-components/macro';\nimport { NavLink } from 'react-router-dom';\nimport { Icon } from '~/components';\n\nexport const TabIcon = styled(Icon)`\n display: none;\n width: 21px;\n width: 21px;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n display: block;\n }\n`;\n\nexport const CustomNavLink = styled(NavLink)`\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${({ theme, color }) => theme[color]};\n width: 100%;\n height: 100%;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n flex-direction: column;\n font-size: ${({ theme }) => theme.label}px;\n }\n`;\n","import React from 'react';\nimport { useRouteMatch, useLocation } from 'react-router-dom';\nimport { TabBar, TabButton } from '~/components';\nimport { apps } from '~/utils/mocks/apps';\nimport { theme } from '~/styles/theme';\nimport { useSelector } from 'react-redux';\nimport * as S from './styles';\n\nexport default function SubRouteSwitch({ ...rest }) {\n const { url } = useRouteMatch();\n const location = useLocation();\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n const isCurrentPath = pathString => {\n return location.pathname.includes(pathString);\n };\n\n const getPathname = route => `${url}/previous/${route}`;\n\n const navigateTo = route => {\n return isCurrentPath(route) ? `${url}/previous` : getPathname(route);\n };\n\n const styleTab = {\n primaryColor: match?.competitionId === 1 ? theme.coral : theme.turquoise,\n secondaryColor: theme.white,\n contrastColor: theme.dark,\n textColor: theme.white,\n };\n\n return (\n \n {apps.map(app => {\n return (\n \n \n \n }\n />\n );\n })}\n \n );\n}\n","import React from 'react';\nimport { useLocation } from 'react-router-dom';\nimport * as S from './styles';\nimport RouteContainer from './components/RouteContainer';\nimport TabBar from './components/TabBar';\nimport IconTabBar from './components/IconTabBar';\nimport { Responsive } from '~/components';\n\nexport default function NavigationBar() {\n const location = useLocation();\n\n const isOpen = () => {\n return (\n location.pathname.includes('arbitration-team') ||\n location.pathname.includes('kit-selector') ||\n location.pathname.includes('grass-status') ||\n location.pathname.includes('match-sheet') ||\n location.pathname.includes('protocol-commercial-acts')\n );\n };\n\n return (\n \n }\n lg={}\n />\n \n \n );\n}\n","import styled, { keyframes } from 'styled-components/macro';\n\nconst open = keyframes`\n 0% {\n transform: translate(-100%);\n\n }\n 100% {\n transform: translate(0%);\n }\n`;\n\nconst openRight = keyframes`\n 0% {\n transform: translate(100%);\n\n }\n 100% {\n transform: translate(0%);\n }\n`;\n\nconst openModal = keyframes`\n 0% {\n margin-top: -100px;\n\n }\n 100% {\n margin-top: 0px;\n }\n`;\n\nconst close = keyframes`\n 0% {\n transform: translate(0%);\n\n }\n 100% {\n transform: translate(-100%);\n }\n`;\n\nconst closeRight = keyframes`\n 0% {\n transform: translate(0%);\n }\n 100% {\n transform: translate(100%);\n }\n`;\n\nconst closeModal = keyframes`\n \n`;\n\nconst fadeIn = keyframes`\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n`;\n\nconst fadeOut = keyframes`\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n`;\n\nconst chooseAnimation = ({ zone, animation }) => {\n switch (zone) {\n case 'right':\n return animation === 'open' ? openRight : closeRight;\n case 'left':\n return animation === 'open' ? open : close;\n case 'whole':\n return animation === 'open' ? openModal : closeModal;\n default:\n return animation === 'open' ? fadeIn : fadeOut;\n }\n};\n\nexport const Container = styled.div`\n display: flex;\n max-width: ${({ fullWidth }) => (fullWidth ? '100%' : '648px')};\n position: ${({ zone }) => (zone === 'whole' ? `fixed` : 'absolute')};\n ${({ fullWidth }) =>\n fullWidth\n ? `\n width: 100%;\n `\n : null}\n animation: ${props => chooseAnimation(props)} 0.2s;\n ${({ zone }) => (zone !== 'whole' ? `height: 100%;` : '')}\n z-index: 99;\n ${({ zone }) => (zone === 'right' ? `right: 0px; top: 0px;` : '')}\n ${({ zone }) => (zone === 'left' ? `left: 0px; top: 0px;` : '')}\n ${({ zone }) =>\n zone === 'whole'\n ? `\n top: 50%;\n left: 50%;\n transform: translate( -50%, -50%);\n max-height:90%;\n `\n : ''}\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n max-height:100%;\n width: 100%;\n }\n\n`;\n\nexport const OpacityLayer = styled.div`\n position: ${({ zone }) => (zone === 'whole' ? 'fixed' : 'absolute')};\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.2);\n z-index: -1;\n left: 0px;\n top: 0px;\n z-index: 98;\n cursor: pointer;\n`;\n","import React, { Component, useEffect, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { PropTypes } from 'prop-types';\nimport onClickOutside from 'react-onclickoutside';\nimport * as S from './styles';\n\nconst zones = {\n left: '#modal-left-root',\n right: '#modal-right-root',\n whole: '#modal-root',\n};\n\nconst PopUpView = ({\n isOpen,\n children,\n zone,\n onClose,\n className,\n fullWidth,\n}) => {\n const [render, setRender] = useState(isOpen);\n\n useEffect(() => {\n if (isOpen) setRender(true);\n }, [isOpen]);\n\n const onAnimationEnd = () => {\n if (!isOpen) setRender(false);\n };\n\n const handleClose = () => {\n if (render && isOpen) {\n onClose();\n }\n };\n\n const refContainer = document.querySelector(zones[zone]) || document.body;\n\n if (refContainer && render) {\n return ReactDOM.createPortal(\n <>\n \n {\n handleClose();\n }}\n className={className}\n fullWidth={fullWidth}\n >\n {children}\n \n ,\n refContainer\n );\n }\n return null;\n};\n\nPopUpView.propTypes = {\n isOpen: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string,\n PropTypes.bool,\n ]),\n zone: PropTypes.string,\n onClose: PropTypes.func,\n className: PropTypes.string,\n};\n\nPopUpView.defaultProps = {\n isOpen: false,\n zone: 'left',\n onClose: () => {},\n className: '',\n};\n\nclass RenderPopUpContainer extends Component {\n handleClickOutside = evt => {\n evt.preventDefault();\n evt.stopPropagation();\n const { onClose } = this.props;\n onClose();\n };\n\n render() {\n const { children, ...rest } = this.props;\n return {children};\n }\n}\n\nRenderPopUpContainer.propTypes = {\n children: PropTypes.node.isRequired,\n onClose: PropTypes.func.isRequired,\n};\n\nconst clickOutsideConfig = {\n stopPropagation: true,\n};\n\nconst PopUpContainer = onClickOutside(RenderPopUpContainer, clickOutsideConfig);\n\nexport default PopUpView;\n","import styled from 'styled-components/macro';\nimport Select from 'react-select';\n\nexport const Container = styled.div`\n width: 100%;\n max-width: 200px;\n padding: 0 15px 0 5px;\n border-right: ${({ theme, noBorder }) =>\n noBorder ? `none` : `solid 1px ${theme.dark}`};\n margin-right: 15px;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.lg}px`}) {\n margin-right: 0;\n border-right: 0;\n border-left: ${({ theme, noBorder }) =>\n noBorder ? `none` : `solid 1px ${theme.dark}`};\n margin-bottom: 5%;\n max-width: 100%;\n }\n`;\n\nexport const Label = styled.label`\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.h5}px;\n color: ${({ theme }) => theme.white};\n width: 100%;\n transition: opacity 0.3s;\n`;\n\nexport const InputWrapper = styled.div`\n width: 100%;\n height: 25px;\n border-bottom: none;\n\n svg {\n color: ${({ theme }) => theme.white};\n z-index: 1;\n }\n`;\n\nexport const Filter = styled(Select)`\n input {\n font-family: ${({ theme }) => theme.primaryFontMedium};\n }\n .select__control {\n border: 0;\n border-radius: 0;\n box-shadow: none;\n color: ${({ theme }) => theme.black};\n height: 25px;\n width: ${({ width }) => (width ? `${width}px` : '100%')} !important;\n background-color: transparent;\n\n .select__value-container {\n height: 25px;\n padding: 0;\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.h5}px;\n\n .select__single-value {\n color: ${({ theme }) => theme.white} !important;\n }\n\n .select__multi-value {\n background-color: ${({ theme }) => theme.black};\n color: ${({ theme }) => theme.black};\n\n .select__multi-value__label {\n padding-top: 6px;\n background-color: ${({ theme }) => theme.black};\n }\n }\n\n .select__placeholder {\n color: ${({ theme }) => theme.white};\n font-size: ${({ theme }) => theme.h5}px !important;\n }\n }\n\n .select__indicator-separator {\n display: none;\n }\n\n .select__dropdown-indicator,\n .select__clear-indicator {\n padding: 0;\n color: ${({ theme }) => theme.black};\n margin-bottom: 8px;\n }\n }\n\n .select__menu {\n border-radius: 0;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);\n margin-top: 0;\n font-family: ${({ theme }) => theme.primaryFontLight};\n font-size: ${({ theme }) => theme.h5}px;\n background-color: ${({ theme }) => theme.light};\n min-width: ${({ minWidth }) => minWidth}px;\n z-index: 6;\n }\n`;\n","import styled from 'styled-components';\n\nexport const OptionContainer = styled.div`\n display: flex;\n height: 40px;\n width: 100%;\n align-items: center;\n justify-content: center;\n`;\n\nexport const DropdownImage = styled.img`\n height: 20px;\n margin: 5px;\n`;\n","import { components } from 'react-select';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './styles';\n\nexport default function CustomOption({ data, ...rest }) {\n return (\n \n {data.shieldImageUrl && }\n \n \n );\n}\n\nCustomOption.propTypes = {\n data: PropTypes.object,\n};\n\nCustomOption.defaultProps = {\n data: null,\n};\n","import React from 'react';\nimport { PropTypes } from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport * as S from './styles';\nimport Icon from '~/components/Icon';\nimport CustomOption from '~/components/Filter/Select/components/CustomOption';\n\nexport default function Filter({\n selector,\n label,\n value,\n onChange,\n error,\n icon,\n noBorder,\n minWidth,\n ...rest\n}) {\n const { t } = useTranslation();\n return (\n \n {label}\n 0}>\n {icon && }\n onChange(e === null ? null : [e])}\n components={{ Option: props => CustomOption({ ...props }) }}\n noOptionsMessage={() => t('noOptions')}\n minWidth={minWidth}\n {...rest}\n isDisabled={rest.isLoading}\n />\n \n \n );\n}\n\nFilter.propTypes = {\n selector: PropTypes.string.isRequired,\n label: PropTypes.string,\n value: PropTypes.array,\n onChange: PropTypes.func,\n error: PropTypes.string,\n icon: PropTypes.string,\n noBorder: PropTypes.bool,\n minWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n};\n\nFilter.defaultProps = {\n label: '',\n value: {},\n onChange: () => {},\n error: '',\n icon: '',\n noBorder: false,\n minWidth: 'auto',\n};\n","import styled, { keyframes } from 'styled-components/macro';\n\nexport const Container = styled.div`\n width: 100%;\n max-width: 200px;\n border-left: ${({ theme, noBorder }) =>\n noBorder ? `none` : `solid 1px ${theme.dark}`};\n padding: 0 5px 0 20px;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.lg}px`}) {\n margin-right: 0;\n border-right: 0;\n border-left: ${({ theme, noBorder }) =>\n noBorder ? `none` : `solid 1px ${theme.dark}`};\n margin-bottom: 5%;\n max-width: 100%;\n }\n`;\n\nexport const Label = styled.label`\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.h5}px;\n color: ${({ theme }) => theme.white};\n width: 100%;\n transition: opacity 0.3s;\n`;\n\nexport const InputWrapper = styled.div`\n width: 100%;\n height: 25px;\n\n .react-datepicker-wrapper {\n width: 100%;\n height: 25px;\n\n div {\n .react-datepicker__close-icon {\n margin-right: 15px;\n }\n\n .react-datepicker__close-icon::after {\n background-color: ${({ theme }) => theme.black};\n display: flex;\n width: 12px;\n height: 12px;\n position: absolute;\n top: 11px;\n left: -13px;\n justify-content: center;\n align-items: center;\n }\n }\n button {\n font-family: ${({ theme }) => theme.primaryFont};\n color: white;\n }\n }\n\n .react-datepicker__current-month {\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.h5}px;\n color: ${({ theme }) => theme.dark};\n }\n\n .react-datepicker__year-option {\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.paragraph}px;\n color: ${({ theme }) => theme.dark};\n }\n\n .react-datepicker__year-read-view--selected-year {\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.paragraph}px;\n color: ${({ theme }) => theme.dark};\n }\n\n .react-datepicker__day-name {\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.paragraph}px;\n color: ${({ theme }) => theme.dark};\n }\n\n .react-datepicker__day {\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.paragraph}px;\n color: ${({ theme }) => theme.dark};\n }\n\n .react-datepicker__day--today {\n background-color: transparent;\n color: #000;\n font-weight: 400;\n }\n\n react-datepicker__day--today:hover {\n background-color: transparent;\n color: #000;\n font-weight: 400;\n }\n\n .react-datepicker__day--keyboard-selected:hover {\n background-color: transparent;\n }\n\n .react-datepicker__day--disabled {\n opacity: 0.2;\n }\n`;\n\nconst loadingSvg = keyframes`\n 0%{\n opacity: 0;\n }\n 50%{\n opacity: 1;\n }\n 75%{\n opacity: 0;\n }\n 100%{\n opacity: 0;\n }\n`;\n\nexport const Picker = styled.button`\n display: flex;\n align-items: center;\n justify-content: space-between;\n background-color: transparent;\n border-style: none;\n width: 100%;\n height: 25px;\n line-height: 37px;\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.h5}px;\n color: ${({ theme, dateSelected }) =>\n dateSelected ? theme.dark : '#808080'};\n\n div {\n display: flex;\n flex-direction: row-reverse;\n\n svg:nth-child(2) {\n margin-right: 10px;\n path {\n opacity: 0;\n }\n\n path:first-child {\n animation: ${loadingSvg} 0.9s infinite;\n animation-delay: 0.6s;\n }\n\n path:nth-child(2) {\n animation: ${loadingSvg} 0.9s infinite;\n animation-delay: 0.3s;\n }\n\n path:nth-child(3) {\n animation: ${loadingSvg} 0.9s infinite;\n }\n }\n }\n`;\n","import React from 'react';\nimport DatePicker from 'react-datepicker';\nimport 'react-datepicker/dist/react-datepicker.css';\nimport PropTypes from 'prop-types';\nimport { es, enGB } from 'date-fns/locale';\nimport { format } from 'date-fns';\nimport { useTranslation } from 'react-i18next';\nimport Icon from '~/components/Icon';\nimport * as S from './styles';\n\nexport default function Picker({\n label,\n dateFilter,\n setDateFilter,\n options,\n isLoading,\n}) {\n const { t } = useTranslation();\n\n const filteredDates = () => {\n return options.map(opt => {\n return new Date(opt.date);\n });\n };\n\n return (\n \n {label}\n \n {\n setDateFilter(e ? format(e, 'yyyy-MM-dd') : null);\n }}\n includeDates={filteredDates()}\n showYearDropdown\n customInput={\n \n {dateFilter !== null\n ? format(new Date(dateFilter), 'dd/MM/yyyy')\n : t('allFemale')}\n
\n \n {isLoading && }\n
\n
\n }\n locale={t('languageId') === 'ES' ? es : enGB}\n />\n
\n
\n );\n}\n\nPicker.propTypes = {\n label: PropTypes.string,\n dateFilter: PropTypes.string,\n setDateFilter: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.object),\n isLoading: PropTypes.bool,\n};\n\nPicker.defaultProps = {\n label: '',\n setDateFilter: () => {},\n dateFilter: null,\n options: [],\n isLoading: false,\n};\n","import styled from 'styled-components/macro';\nimport { Icon } from '~/components';\n\nexport const DataListItem = styled.div`\n padding: 15px;\n background-color: ${({ primaryColor }) => primaryColor || '#a9aeb417'};\n display: flex;\n flex-direction: column;\n min-height: 130px;\n opacity: ${({ transparent }) => (transparent ? 0 : 1)};\n`;\nexport const DataListItemLabel = styled.div`\n color: ${({ theme, textColor }) => textColor || theme.gray2};\n text-transform: capitalize;\n`;\nexport const DataListItemValue = styled.div`\n color: ${({ theme, competition }) =>\n competition === 1 ? theme.coral : theme.turquoise};\n font-size: 30px;\n font-weight: 500;\n text-align: right;\n`;\nexport const DataListItemBottom = styled.div`\n display: flex;\n align-items: end;\n`;\nexport const DataListItemIsTop = styled.div`\n font-size: 9px;\n color: ${({ theme }) => theme.white};\n display: flex;\n align-items: center;\n`;\nexport const DataListItemIsTopIcon = styled(Icon)`\n margin-right: 5px;\n`;\n\nexport const Grow = styled.div`\n flex-grow: 1;\n`;\n","import React from 'react';\nimport { PropTypes } from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport * as S from './styles';\n\nconst DataListItem = ({ label, value, isLocal, isTop, styles, className }) => {\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n return (\n \n \n {label}\n \n \n \n {isTop && (\n \n \n Top 5\n \n )}\n \n \n {value || '-'}\n \n \n \n );\n};\n\nDataListItem.propTypes = {\n label: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n isLocal: PropTypes.bool,\n isTop: PropTypes.bool,\n className: PropTypes.string,\n styles: PropTypes.object,\n};\n\nDataListItem.defaultProps = {\n label: '',\n value: '',\n isLocal: false,\n isTop: false,\n className: null,\n styles: null,\n};\n\nexport default DataListItem;\n","import styled from 'styled-components/macro';\nimport { Icon, Image } from '~/components';\n\nexport const Container = styled.div`\n display: flex;\n flex: 1;\n justify-content: center;\n background-color: ${({ theme }) => theme.dark5};\n color: ${({ theme, eventsFailed }) =>\n eventsFailed ? theme.dark : theme.light};\n padding: ${({ eventsFailed }) => (eventsFailed ? 0 : 10)}px;\n position: relative;\n`;\n\nexport const ShieldBackground = styled.div`\n width: 50%;\n height: calc(100% - 10px);\n position: absolute;\n ${({ homeTeamShieldBg }) => (homeTeamShieldBg ? 'left:0;' : 'right:0;')}\n background-image: ${({ homeTeamShieldBg }) =>\n homeTeamShieldBg ? `url(${homeTeamShieldBg})` : ''}\n ${({ awayTeamShieldBg }) =>\n awayTeamShieldBg ? `url(${awayTeamShieldBg})` : ''};\n background-repeat: no-repeat;\n background-position: ${({ homeTeamShieldBg }) =>\n homeTeamShieldBg ? 'calc(0% - 80px)' : 'calc(100% + 80px)'} center;\n background-attachment: fixed;\n filter: grayscale(100%);\n background-size: 213px auto;\n opacity:0.3;\n`;\n\nexport const Wrapper = styled.div`\n max-width: 200px;\n width: 100%;\n`;\n\nexport const Header = styled.div`\n display: grid;\n grid-template-columns: 40px auto 40px;\n position: sticky;\n top: ${({ tabletMode }) => (tabletMode ? '0px' : '40px')};\n margin-bottom: 20px;\n z-index: 1;\n box-shadow: 0px 14px 13px ${({ theme }) => theme.dark5};\n background-color: ${({ theme }) => theme.dark5};\n`;\n\nexport const Shield = styled(Image)`\n width: 40px;\n height: 40px;\n`;\n\nexport const Grow = styled.div`\n flex-grow: 1;\n`;\n\nexport const TimelineList = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const TimelineItem = styled.div`\n display: grid;\n grid-template-columns: 1fr 30px 1fr;\n grid-template-rows: auto;\n grid-template-areas: 'label time empty';\n align-items: end;\n padding-bottom: 30px;\n position: relative;\n ${({ isLocal }) =>\n !isLocal\n ? `\n grid-template-areas: 'empty time label';\n justify-items: flex-end;\n & > div {\n &:first-child {\n align-items: flex-end;\n text-align: right;\n }\n }\n `\n : null}\n`;\n\nexport const Line = styled.div`\n position: absolute;\n width: 1px;\n height: 100%;\n left: 50%;\n bottom: 0;\n background-color: ${({ theme }) => theme.light};\n z-index: 1;\n`;\n\nexport const TimelineTime = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n border: solid 1px ${({ theme }) => theme.light};\n border-radius: 100%;\n width: 30px;\n height: 30px;\n font-size: 10px;\n grid-area: time;\n background-color: ${({ theme }) => theme.dark};\n z-index: 2;\n`;\n\nexport const TimelineLabel = styled.div`\n grid-area: label;\n font-size: 10px;\n text-transform: uppercase;\n`;\n\nexport const Tooltip = styled.span`\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: ${({ isLocal }) => (isLocal ? 'flex-start' : 'flex-end')};\n\n &:hover {\n .tooltip {\n opacity: 1;\n z-index: 1;\n transition: opacity ease 0.4s;\n }\n }\n\n .tooltip {\n background-color: ${({ theme, competition }) =>\n competition === 1 ? theme.coral : theme.turquoise};\n border-radius: 4px;\n padding: 2px 10px;\n white-space: nowrap;\n opacity: 0;\n\n position: absolute;\n top: -22px;\n z-index: -1;\n }\n`;\n\nexport const Label = styled.span``;\n\nexport const TimelineLabelIcon = styled(Icon)`\n margin-bottom: 10px;\n`;\n\nexport const EmptyDataText = styled.p`\n font-size: ${({ theme }) => theme.h3}px;\n text-align: center;\n`;\n","import i18next from 'i18next';\n\nexport default function iconName(type) {\n switch (type) {\n case 'GOAL':\n return {\n text: i18next.t('goal'),\n icon: 'footballEvent',\n };\n case 'OWN_GOAL':\n return {\n text: i18next.t('ownGoal'),\n icon: 'ownGoal',\n };\n case 'PENALTY_GOAL':\n return {\n text: i18next.t('goal'),\n icon: 'footballEvent',\n };\n case 'MISSED_PENALTY':\n return {\n text: i18next.t('missedPenalty'),\n icon: 'missedPenalty',\n };\n case 'YELLOW':\n return {\n text: i18next.t('yellowCard'),\n icon: 'yellowCard',\n };\n case 'SECOND_YELLOW':\n return {\n text: i18next.t('doubleYellowCards'),\n icon: 'doubleYellow',\n };\n case 'STRAIGHT_RED':\n return {\n text: i18next.t('redCard'),\n icon: 'redCard',\n };\n case 'POST_MISSED_PENALTY':\n return {\n text: i18next.t('missedPenalty'),\n icon: 'missedPenalty',\n };\n case 'SAVED_MISSED_PENALTY':\n return {\n text: i18next.t('missedPenalty'),\n icon: 'missedPenalty',\n };\n case 'SHOOTOUT_MISSED':\n return {\n text: '',\n icon: 'footballShot',\n };\n case 'SHOOTOUT_SAVED':\n return {\n text: '',\n icon: 'footballShot',\n };\n case 'SHOOTOUT_SCORED':\n return {\n text: '',\n icon: 'footballShot',\n };\n case 'SUBSTITUTION_INJURY':\n return {\n text: i18next.t('substitutionInjury'),\n icon: 'injurySubstitution',\n };\n case 'TACTICAL_SUBSTITUTION':\n return {\n text: i18next.t('substitutionTactical'),\n icon: 'tacticalSubstitution',\n };\n default:\n return {\n text: '',\n icon: 'avatar',\n };\n }\n}\n","import React from 'react';\nimport { v4 } from 'uuid';\nimport { PropTypes } from 'prop-types';\nimport EmptyPage from '~/pages/EmptyPage';\nimport * as S from './styles';\nimport getEvent from './utils/getEvent';\n\nconst TimelineItem = ({\n label,\n secondLabel,\n time,\n type,\n isLocal,\n competition,\n}) => {\n const tooltipText = getEvent(type).text;\n\n return (\n \n \n \n \n {label}\n {secondLabel && {secondLabel}}\n {tooltipText && (\n {getEvent(type).text}\n )}\n \n \n \n \n {time}\n '\n \n \n );\n};\n\nTimelineItem.propTypes = {\n label: PropTypes.string,\n secondLabel: PropTypes.string,\n time: PropTypes.number,\n type: PropTypes.string,\n isLocal: PropTypes.bool,\n competition: PropTypes.number,\n};\n\nTimelineItem.defaultProps = {\n label: null,\n secondLabel: null,\n time: null,\n type: '',\n isLocal: false,\n competition: 0,\n};\n\nconst Timeline = ({\n className,\n styles,\n data,\n homeTeamShield,\n awayTeamShield,\n homeTeamShieldBg,\n awayTeamShieldBg,\n homeTeam,\n eventsFailed,\n tabletMode,\n competition,\n}) => {\n const dataReverse = data.slice().reverse();\n return (\n \n {eventsFailed && }\n {!eventsFailed && (\n <>\n \n \n \n \n {homeTeamShield && }\n \n {awayTeamShield && }\n \n \n {!dataReverse.length && (\n \n Todavía no existen eventos para este partido\n \n )}\n {dataReverse.map(\n ({ playerName, time, type, teamId, playerOffName }) => {\n return (\n \n );\n }\n )}\n \n \n \n )}\n \n );\n};\n\nTimeline.propTypes = {\n className: PropTypes.string,\n styles: PropTypes.object,\n data: PropTypes.array,\n homeTeamShield: PropTypes.string,\n awayTeamShield: PropTypes.string,\n homeTeamShieldBg: PropTypes.string,\n awayTeamShieldBg: PropTypes.string,\n homeTeam: PropTypes.object,\n awayTeam: PropTypes.object,\n eventsFailed: PropTypes.bool,\n tabletMode: PropTypes.bool,\n competition: PropTypes.number,\n};\n\nTimeline.defaultProps = {\n className: null,\n styles: null,\n data: [],\n homeTeamShield: null,\n awayTeamShield: null,\n homeTeamShieldBg: null,\n awayTeamShieldBg: null,\n homeTeam: null,\n awayTeam: null,\n eventsFailed: false,\n tabletMode: false,\n competition: 0,\n};\n\nexport default Timeline;\n","import { useMediaQuery } from 'react-responsive';\nimport { theme } from '~/styles/theme';\n\nexport default function Responsive({ xs, sm, md, lg, xl }) {\n const isMobileXS = useMediaQuery({\n query: `(max-width: ${theme.breakpoints.sm}px)`,\n });\n const isMobile = useMediaQuery({\n query: `(max-width: ${theme.breakpoints.md}px)`,\n });\n const isTablet = useMediaQuery({\n query: `(max-width: ${theme.breakpoints.lg}px)`,\n });\n const isLarge = useMediaQuery({\n query: `(max-width: ${theme.breakpoints.xl}px)`,\n });\n if (isMobileXS) return xs || sm || md || lg;\n if (isMobile) return sm || md || lg;\n if (isTablet) return md || lg || xl;\n if (isLarge) return lg || xl;\n return xl || lg || md || sm || null;\n}\n","import i18next from 'i18next';\nimport api from '~/services/api';\n\nconst changeLanguage = lng => {\n i18next.changeLanguage(lng);\n api.defaults.headers['X-LOCALE'] = lng;\n};\n\nexport const languageOptions = () => {\n const defaultOptions = [\n {\n label: 'ES',\n action: () => changeLanguage('es'),\n },\n {\n label: 'EN',\n action: () => changeLanguage('en'),\n },\n ];\n return defaultOptions.filter(opt => opt.label !== i18next.t('languageId'));\n};\n","import styled from 'styled-components/macro';\nimport { keyframes } from 'styled-components';\nimport 'react-phone-number-input/style.css';\n\nexport const Container = styled.div`\n width: 100%;\n position: relative;\n opacity: ${({ disabled }) => (disabled ? '.3' : '1')};\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n ${({ type }) => type === 'checkbox' && 'margin-bottom:20px;'}\n }\n`;\n\nexport const Label = styled.label`\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.label}px;\n width: 100%;\n opacity: ${({ shouldShow }) => (shouldShow ? 1 : 0)};\n transition: opacity 0.3s;\n`;\n\nconst flashyEntranceKeyframe = keyframes`\n 0%{\n background-color:transparent;\n }\n 50%{\n background-color:#FFBABA;\n }\n 100%{\n background-color:transparent;\n }\n`;\n\nexport const InputWrapper = styled.div`\n width: 100%;\n height: ${({ type }) => (type === 'checkbox' ? 'auto' : '30px')};\n border-bottom: solid 1px\n ${({ theme, errorColor }) => (errorColor ? theme.red : theme.dark)};\n display: flex;\n align-items: center;\n ${({ type }) => type === 'checkbox' && 'border-bottom:0;'}\n animation: ${({ flashyEntrance }) =>\n flashyEntrance ? flashyEntranceKeyframe : ''}\n 0.5s ease-out;\n\n svg {\n width: 20px;\n margin-left: 5px;\n }\n`;\n\nexport const Input = styled.input`\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.paragraph}px;\n width: ${({ type }) => (type === 'checkbox' ? '20px' : '100%')};\n color: ${({ theme }) => theme.dark};\n background-color: transparent;\n height: ${({ type }) => (type === 'checkbox' ? '20px' : '100%')};\n ${({ type }) => type === 'checkbox' && 'margin:5px;'}\n border-style: none;\n line-height: 30px;\n padding-left: 10px;\n ${({ type, checkboxError, theme }) =>\n type === 'checkbox' && checkboxError && `outline: 1px solid ${theme.red};`}\n`;\n\nexport const InputTel = styled.div`\n width: 100%;\n & > div {\n display: flex;\n flex-direction: row-reverse;\n flex-grow: 1;\n width: 100%;\n input {\n margin-left: 6px;\n border: none;\n background-color: transparent;\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.paragraph}px;\n padding-right: 9px;\n }\n .PhoneInputCountryIcon {\n margin-right: 4px;\n }\n .PhoneInputCountrySelectArrow {\n width: 7px;\n font-weight: bold;\n height: 7px;\n border-bottom: solid 2px ${({ theme }) => theme.dark};\n border-right: solid 2px ${({ theme }) => theme.dark};\n opacity: 1;\n }\n }\n`;\n","import React, { useEffect, useRef } from 'react';\nimport { PropTypes } from 'prop-types';\nimport en from 'react-phone-number-input/locale/en';\nimport es from 'react-phone-number-input/locale/es';\nimport i18n from 'i18next';\nimport PhoneInput from 'react-phone-number-input';\nimport images from '~/constants/images';\nimport * as S from './styles';\nimport { ErrorMessage } from '~/components/Form/styles';\nimport Icon from '~/components/Icon';\n\nexport default function Input({\n selector,\n label,\n type,\n formikProps,\n placeholder,\n disabled,\n icon,\n flashyEntrance,\n setRef,\n forceErrorBorder,\n}) {\n const inputRef = useRef(null);\n\n useEffect(() => {\n setRef(inputRef);\n }, [selector, setRef]);\n\n const {\n values,\n errors,\n touched,\n handleChange,\n handleBlur,\n setFieldValue,\n submitCount,\n } = formikProps;\n const hasError = (touched[selector] || submitCount > 0) && !!errors[selector];\n return (\n \n {label && (\n \n {label}\n \n )}\n \n {icon && }\n {type === 'tel' ? (\n \n {\n setFieldValue(selector, valueInput);\n }}\n />\n \n ) : (\n {\n handleChange(value);\n }}\n onBlur={handleBlur}\n placeholder={placeholder}\n disabled={disabled}\n checkboxError={\n type === 'checkbox' && errors[selector] && touched[selector]\n }\n />\n )}\n \n \n {hasError ? errors[selector] : null}\n \n \n );\n}\n\nInput.propTypes = {\n selector: PropTypes.string.isRequired,\n label: PropTypes.string,\n type: PropTypes.string.isRequired,\n placeholder: PropTypes.string,\n formikProps: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n icon: PropTypes.string,\n flashyEntrance: PropTypes.bool,\n setRef: PropTypes.func,\n forceErrorBorder: PropTypes.bool,\n};\n\nInput.defaultProps = {\n label: '',\n placeholder: '',\n disabled: false,\n icon: null,\n flashyEntrance: false,\n setRef: () => {},\n forceErrorBorder: false,\n};\n","export default function validateDNI(value) {\n const validChars = 'TRWAGMYFPDXBNJZSQVHLCKET';\n const nifRexp = /^[0-9]{8}[TRWAGMYFPDXBNJZSQVHLCKET]{1}$/i;\n const nieRexp = /^[KLMXYZ]{1}[0-9]{7}[TRWAGMYFPDXBNJZSQVHLCKET]{1}$/i;\n if (value) {\n const str = value.toString().toUpperCase();\n\n if (!nifRexp.test(str) && !nieRexp.test(str)) return false;\n\n const nie = str\n .replace(/^[X]/, '0')\n .replace(/^[Y]/, '1')\n .replace(/^[Z]/, '2');\n\n const letter = str.substr(-1);\n const charIndex = parseInt(nie.substr(0, 8), 10) % 23;\n\n return validChars.charAt(charIndex) === letter;\n }\n return null;\n}\n","import React from 'react';\nimport * as Yup from 'yup';\nimport { Formik } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { toast } from 'react-toastify';\nimport validateDNI from '~/utils/validateDNI';\nimport { getUserRequest } from '~/store/modules/user/actions';\nimport { editUser } from '~/services/api';\n\nexport default function FormConfig({ children, value: editValues, onSubmit }) {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n\n const handleSubmit = async (values, { setSubmitting }) => {\n // Form data will be sent here if everything is valid\n try {\n await editUser({\n ...values,\n });\n toast.success(t('editAccountSuccess'));\n } catch (err) {\n toast.error(t('editAccountError'));\n } finally {\n onSubmit();\n }\n dispatch(getUserRequest());\n setSubmitting(false);\n };\n return (\n {\n return validateDNI(value);\n })\n .required(t('dniIsRequiredValidationError')),\n email: Yup.string()\n .email(t('invalidEmail'))\n .required(t('emailIsRequiredValidationError')),\n mediaName: Yup.string()\n .min(2, t('mustHave3OrMoreLetters'))\n .max(15, t('mustHave15OrLessLetters'))\n .matches(/^[A-Za-zÀ-ÖØ-öø-ÿ ]*$/, t('mustContainOnlyLetters'))\n .required(t('mediaNameIsRequiredValidationError')),\n mediaType: Yup.string()\n .min(2, t('mustHave2OrMoreLetters'))\n .max(50, t('mustHave50OrLessLetters'))\n .matches(/^[A-Za-zÀ-ÖØ-öø-ÿ ]*$/, t('mustContainOnlyLetters')),\n phoneNumber: Yup.string().required(\n t('telephoneIsRequiredValidationError')\n ),\n })}\n >\n {children}\n \n );\n}\n\nFormConfig.propTypes = {\n children: PropTypes.oneOfType([PropTypes.element, PropTypes.func]).isRequired,\n onSubmit: PropTypes.func,\n value: PropTypes.object,\n};\n\nFormConfig.defaultProps = {\n onSubmit: () => {},\n value: {},\n};\n","import styled from 'styled-components/macro';\nimport Form from '~/components/Form';\nimport GridCell from '~/components/GridCell';\n\nexport const EditUserForm = styled(Form)`\n border: none;\n`;\n\nexport const SubmitGridCell = styled(GridCell)`\n margin-top: 34px;\n`;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport Input from '~/components/Form/Input';\nimport FormConfig from './components/FormConfig';\nimport * as SForm from '~/components/Form/styles';\nimport * as S from './styles';\nimport GridCell from '~/components/GridCell';\n\nexport default function EditUser({ onSubmit, onClose }) {\n const { t } = useTranslation();\n const { user } = useSelector(state => state.user);\n const { loading } = useSelector(state => state.auth);\n\n const areas = {\n xs:\n '\"HEADER\" \"NAME\" \"SURNAME\" \"EMAIL\" \"PASSWORD\" \"PASSWORD2\" \"DNI\" \"MOBILE\" \"MEDIANAME\" \"MEDIATYPE\" \"MEDIATYPE2\" \"SUBMIT\" \"CANCEL\" ',\n lg:\n '\"HEADER HEADER\" \"NAME DNI\" \"SURNAME MOBILE\" \"EMAIL MEDIANAME\" \"PASSWORD MEDIATYPE\" \"PASSWORD2 MEDIATYPE2\" \"SUBMIT SUBMIT\" \"CANCEL CANCEL\" ',\n };\n return (\n \n {props => {\n // eslint-disable-next-line react/prop-types\n const { isSubmitting, handleSubmit } = props;\n return (\n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n {isSubmitting || loading ? t('loading') : t('editAccount')}\n \n \n \n \n {isSubmitting || loading ? t('loading') : t('editAccount')}\n \n \n \n \n {t('cancel')}\n \n \n \n \n );\n }}\n \n );\n}\n\nEditUser.propTypes = {\n onSubmit: PropTypes.func,\n onClose: PropTypes.func,\n};\n\nEditUser.defaultProps = {\n onSubmit: () => {},\n onClose: () => {},\n};\n","import React from 'react';\nimport * as Yup from 'yup';\nimport { Formik } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport PropTypes from 'prop-types';\nimport { toast } from 'react-toastify';\nimport { editUser } from '~/services/api';\n\nexport default function FormConfig({ children, onSubmit }) {\n const { t } = useTranslation();\n const passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[.+!@#$%^&*])(?=.{8,20})/;\n\n const handleSubmit = async (values, { setSubmitting }) => {\n // Form data will be sent here if everything is valid\n try {\n await editUser(values);\n toast.success(t('editPasswordSuccess'));\n } catch (err) {\n toast.error(t('editPasswordError'));\n } finally {\n onSubmit();\n }\n setSubmitting(false);\n };\n\n return (\n \n {children}\n \n );\n}\n\nFormConfig.propTypes = {\n children: PropTypes.oneOfType([PropTypes.element, PropTypes.func]).isRequired,\n onSubmit: PropTypes.func,\n};\n\nFormConfig.defaultProps = {\n onSubmit: () => {},\n};\n","import styled from 'styled-components/macro';\nimport Form from '~/components/Form';\nimport GridCell from '~/components/GridCell';\n\nexport const EditPasswordForm = styled(Form)`\n border: none;\n`;\n\nexport const SubmitGridCell = styled(GridCell)`\n margin-top: 34px;\n`;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport Input from '~/components/Form/Input';\nimport FormConfig from './components/FormConfig';\nimport * as SForm from '~/components/Form/styles';\nimport * as S from './styles';\nimport GridCell from '~/components/GridCell';\n\nexport default function EditUser({ onSubmit, onClose }) {\n const { t } = useTranslation();\n const { user } = useSelector(state => state.user);\n const { loading } = useSelector(state => state.auth);\n\n const areas = {\n xs: '\"HEADER\" \"OLD_PASSWORD\" \"PASSWORD\" \"PASSWORD2\" \"SUBMIT\" \"CANCEL\" ',\n lg:\n '\"HEADER HEADER\" \"OLD_PASSWORD OLD_PASSWORD\" \"PASSWORD PASSWORD\" \"PASSWORD2 PASSWORD2\" \"SUBMIT SUBMIT\" \"CANCEL CANCEL\" ',\n };\n\n return (\n \n {props => {\n // eslint-disable-next-line react/prop-types\n const { isSubmitting, handleSubmit } = props;\n return (\n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n {isSubmitting || loading ? t('loading') : t('editPassword')}\n \n \n \n \n {isSubmitting || loading ? t('loading') : t('editPassword')}\n \n \n \n \n {t('cancel')}\n \n \n \n \n );\n }}\n \n );\n}\n\nEditUser.propTypes = {\n onSubmit: PropTypes.func,\n onClose: PropTypes.func,\n};\n\nEditUser.defaultProps = {\n onSubmit: () => {},\n onClose: () => {},\n};\n","import styled from 'styled-components/macro';\nimport { Scrollbar, PopUpView } from '~/components';\n\nexport const Header = styled.header`\n display: block;\n position: sticky;\n left: 0;\n top: 0;\n height: 65px;\n width: 100%;\n background-color: ${({ theme }) => theme.white};\n padding: 15px 50px 0 50px;\n z-index: 13;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n height: 48px;\n padding: 14px 18px;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n }\n`;\n\nexport const LaLigaLogo = styled.img`\n position: relative;\n height: 21.6px;\n width: auto;\n float: left;\n margin-right: 10px;\n margin-top: 8px;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n height: 21.6px;\n margin-right: 15px;\n margin-top: 0px;\n }\n`;\n\nexport const BrandLogo = styled.img`\n position: relative;\n height: 21.6px;\n width: auto;\n float: left;\n margin-left: 15px;\n margin-top: 8px;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n height: 21.6px;\n margin: 0 15px;\n }\n`;\n\nexport const AppName = styled.p`\n position: relative;\n color: ${({ theme }) => theme.headerBlack};\n margin: 0 0 0 15px;\n height: 35px;\n line-height: 35px;\n font-family: ${({ theme }) => theme.primaryFontHead};\n font-size: 29px;\n padding-left: 15px;\n letter-spacing: 0.866px;\n float: left;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n font-family: ${({ theme }) => theme.primaryFontHead};\n height: 35px;\n font-size: 29px;\n line-height: 20px;\n margin: 0;\n text-align: center;\n display: flex;\n align-items: center;\n }\n`;\n\nexport const HeaderBackground = styled.div`\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n opacity: 0.1;\n background-repeat: no-repeat;\n background-position: center -780px;\n background-size: cover;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n background-size: 150%;\n background-position: center -150px;\n z-index: -1;\n }\n`;\n\nexport const ShowMenu = styled.div`\n padding-top: 2px;\n height: 18px;\n cursor: pointer;\n z-index: 5;\n margin-right: 15px;\n`;\n\nexport const MenuMobileContainer = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 100%;\n height: calc(100vh - 48px);\n background-color: ${({ theme }) => theme.black};\n padding: 55px;\n\n > div {\n &:first-child {\n display: flex;\n flex-direction: column;\n .link,\n a {\n cursor: pointer;\n width: 100%;\n height: 55px;\n padding: 20px 0;\n display: flex;\n align-items: center;\n text-transform: capitalize;\n font-size: ${({ theme }) => theme.button}px;\n color: ${({ theme }) => theme.white};\n svg {\n margin-left: 10px;\n }\n }\n }\n &:last-child {\n height: 70px;\n }\n }\n`;\n\nexport const MenuItem = styled.div``;\n\nexport const Separator = styled.div`\n width: 30px;\n border-bottom: 1px solid ${({ theme }) => theme.gray2};\n`;\n\nexport const Grow = styled.div`\n flex-grow: 1;\n`;\n\nexport const ContainerScrollbar = styled(Scrollbar)`\n background-color: ${({ theme }) => theme.light};\n`;\n\nexport const PopUpViewHeader = styled(PopUpView)`\n ${({ maxWidth }) => (maxWidth ? `max-width: ${maxWidth};` : null)}\n`;\n","import PropTypes from 'prop-types';\n\nconst propTypes = {\n languageSelectorIsOpen: PropTypes.bool,\n setLanguageSelectorVisibility: PropTypes.func,\n user: PropTypes.object,\n changeLanguage: PropTypes.func,\n dispatch: PropTypes.func,\n languageOptions: PropTypes.array,\n title: PropTypes.string,\n};\n\nconst defaultProps = {\n languageSelectorIsOpen: false,\n setLanguageSelectorVisibility: () => {},\n user: {},\n changeLanguage: () => {},\n dispatch: () => {},\n languageOptions: [],\n title: '',\n};\n\nexport { propTypes, defaultProps };\n","import React, { useState, useContext } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Icon from '~/components/Icon';\nimport { signOutRequest } from '~/store/modules/auth/actions';\nimport images from '~/constants/images';\nimport { AddLogoModalContent, PopUpView, Link, FoldedMenu } from '~/components';\nimport { languageOptions } from '~/utils/languageOptions';\nimport { HeaderContext } from '~/context';\nimport EditUser from '~/pages/EditUser';\nimport EditPassword from '~/pages/EditPassword';\nimport { azureLogout } from '~/services/api';\nimport * as S from '../styles';\nimport { propTypes, defaultProps } from './propsValidation';\n\nexport default function Header({ user, dispatch, title }) {\n const { t } = useTranslation();\n const [showModal, setModalVisibility] = useState(false);\n const [showMenu, setModalMenuVisibility] = useState(false);\n const { headerProps } = useContext(HeaderContext);\n\n const buttonRight =\n headerProps && headerProps.buttonRight ? headerProps.buttonRight : null;\n const buttonLeft =\n headerProps && headerProps.buttonLeft ? headerProps.buttonLeft : null;\n return (\n \n \n {buttonLeft && {buttonLeft}}\n {!buttonLeft && (\n <>\n {\n setModalMenuVisibility(!showMenu);\n setModalVisibility(false);\n }}\n >\n {showMenu ? (\n \n ) : (\n \n )}\n \n \n )}\n \n {user.logo && user.logo.filePath && (\n \n )}\n \n {title.toUpperCase() || t('appNameShort').toUpperCase()}\n \n \n {!showModal && (\n \n
\n \n {t('dashboard')}\n \n \n \n {!user.laliga && (\n <>\n setModalVisibility('editLogo')}\n onKeyDown={() => setModalVisibility(!showModal)}\n >\n {t('changeLogo')}\n \n
\n \n setModalVisibility('editUser')}\n onKeyDown={() => setModalVisibility(!showModal)}\n >\n {t('editAccount')}\n \n \n \n setModalVisibility('editPassword')}\n onKeyDown={() => setModalVisibility(!showModal)}\n >\n {t('editPassword')}\n \n \n \n \n )}\n {\n dispatch(signOutRequest());\n if (user.laliga) await azureLogout();\n }}\n onKeyDown={() => setModalVisibility(!showModal)}\n >\n {t('logout')}\n \n \n \n \n
\n )}\n {showModal === 'editLogo' && (\n \n setModalVisibility(false)} />\n \n )}\n {showModal === 'editPassword' && (\n setModalVisibility(false)}\n onSubmit={() => setModalVisibility(false)}\n />\n )}\n {showModal === 'editUser' && (\n \n setModalVisibility(false)}\n onClose={() => setModalVisibility(false)}\n />\n \n )}\n
\n {buttonRight && (\n <>\n \n {buttonRight}\n \n )}\n
\n );\n}\n\nHeader.propTypes = propTypes;\n\nHeader.defaultProps = defaultProps;\n","import React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch } from 'react-redux';\nimport Icon from '~/components/Icon';\nimport { AddLogoModalContent, FoldedMenu, Link } from '~/components';\nimport images from '~/constants/images';\nimport { signOutRequest } from '~/store/modules/auth/actions';\nimport { languageOptions } from '~/utils/languageOptions';\nimport EditUser from '~/pages/EditUser';\nimport EditPassword from '~/pages/EditPassword';\nimport * as S from '../styles';\nimport { propTypes, defaultProps } from './propsValidation';\n\nexport default function Header({ user }) {\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const [showModal, setModalVisibility] = useState(false);\n\n useEffect(() => {\n if (user.firstLogin) {\n setModalVisibility('editLogo');\n }\n }, [user, setModalVisibility]);\n\n return (\n \n \n \n \n \n {user.logo && }\n {t('appName').toUpperCase()}\n \n \n {user && user.firstName && user.lastName && user.mediaName\n ? `${user.firstName} ${user.lastName} (${user.mediaName})`\n : `${t('loading')}...`}\n \n \n }\n options={[\n {\n label: t('editAccount'),\n action: () => setModalVisibility('editUser'),\n isLaligaOption: false,\n },\n {\n label: t('changeLogo'),\n action: () => setModalVisibility('editLogo'),\n isLaligaOption: false,\n },\n {\n label: t('editPassword'),\n action: () => setModalVisibility('editPassword'),\n isLaligaOption: false,\n },\n {\n label: t('logout'),\n action: async () => {\n dispatch(signOutRequest());\n },\n isLaligaOption: true,\n },\n ].filter(item => (user.laliga ? item.isLaligaOption : true))}\n />\n {\n setModalVisibility(false);\n }}\n maxWidth={showModal === 'editPassword' ? '406px' : false}\n >\n {showModal === 'editLogo' && (\n {\n setModalVisibility(false);\n }}\n />\n )}\n {showModal === 'editPassword' && (\n setModalVisibility(false)}\n onSubmit={() => setModalVisibility(false)}\n />\n )}\n {showModal === 'editUser' && (\n setModalVisibility(false)}\n onClose={() => setModalVisibility(false)}\n />\n )}\n \n \n );\n}\n\nHeader.propTypes = propTypes;\n\nHeader.defaultProps = defaultProps;\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTranslation } from 'react-i18next';\nimport { getUserRequest } from '~/store/modules/user/actions';\nimport { Mobile, Desktop } from './responsive';\nimport { Responsive } from '~/components';\n\nexport default function Header() {\n const dispatch = useDispatch();\n const { user } = useSelector(state => state.user);\n\n useEffect(() => {\n if (!Object.keys(user).length) dispatch(getUserRequest());\n }, [dispatch, user]);\n\n const { t } = useTranslation();\n\n const renderProps = {\n user,\n dispatch,\n };\n\n return (\n }\n sm={}\n lg={}\n />\n );\n}\n","import styled from 'styled-components/macro';\nimport images from '~/constants/images';\nimport { Button } from '~/components';\n\nexport const Form = styled.form`\n display: ${({ flex }) => (flex ? 'flex' : 'grid')};\n ${({ columns }) => (columns === 2 ? `grid-template-columns: 50% 50%;` : ``)}\n grid-column-gap: 20px;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: ${({ width }) => width || 100}%;\n border: 10px solid ${({ theme }) => theme.blue};\n padding: 20px 60px;\n background-color: ${({ theme }) => theme.light};\n`;\n\nexport const FormHeader = styled.div`\n width: 100%;\n display: flex;\n flex-direction: column;\n max-width: auto;\n`;\n\nexport const Logo = styled.div`\n width: 100%;\n height: 80px;\n background-image: url(${images.logoBlackHorizontal});\n background-size: 170px;\n background-repeat: no-repeat;\n background-position: center;\n`;\n\nexport const FormTitle = styled.p`\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.h5}px;\n width: 100%;\n text-align: center;\n margin: 10px 0;\n`;\n\nexport const DeleteLogoButton = styled(Button)`\n width: 304px;\n height: 40px;\n border-style: none;\n background-color: ${({ theme, disabled }) =>\n disabled ? theme.gray : theme.dark};\n color: ${({ theme, disabled }) => (disabled ? theme.gray2 : theme.white)};\n transition: color 0.3s, background-color 0.3s;\n margin: 0 0 10px;\n`;\n\nexport const SubmitButton = styled(Button)`\n width: 304px;\n height: 40px;\n border-style: none;\n background-color: ${({ theme, disabled }) =>\n disabled ? theme.gray : theme.dark};\n color: ${({ theme, disabled }) => (disabled ? theme.gray2 : theme.white)};\n transition: color 0.3s, background-color 0.3s;\n margin: 0 0 10px;\n`;\n\nexport const CancelButton = styled(Button)`\n width: 304px;\n height: 40px;\n border-style: none;\n background-color: transparent;\n color: ${({ theme, disabled }) => (disabled ? theme.gray2 : theme.white)};\n transition: color 0.3s, background-color 0.3s;\n margin: 0 0 10px;\n`;\n\nexport const Advice = styled.p`\n width: 100%;\n text-align: center;\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.paragraph}px;\n margin-bottom: 10px;\n`;\n\nexport const Return = styled.div`\n width: 100%;\n display: flex;\n justify-content: center;\n`;\n\nexport const SmallNotification = styled.p`\n width: 100%;\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.label}px;\n color: ${({ theme }) => theme.dark2};\n margin: 0 0 10px;\n`;\n","import styled from 'styled-components/macro';\n\nexport const DropzoneContainer = styled.div`\n width: 100%;\n min-height: 100px;\n border-style: dashed;\n border-color: ${({ theme }) => theme.dark};\n border-width: 1px;\n border-radius: 3px;\n padding: 20px;\n margin-bottom: 10px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n cursor: pointer;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n min-height: 200px;\n }\n`;\n\nexport const Message1 = styled.p`\n font-size: ${({ theme }) => theme.paragraph}px;\n color: ${({ theme }) => theme.dark};\n font-family: ${({ theme }) => theme.primaryFontMedium};\n text-align: center;\n line-height: ${({ theme }) => theme.paragraph + 5}px;\n`;\n\nexport const Message2 = styled.p`\n font-size: ${({ theme }) => theme.paragraph}px;\n color: ${({ theme }) => theme.dark};\n font-family: ${({ theme }) => theme.primaryFontLight};\n text-align: center;\n line-height: ${({ theme }) => theme.paragraph + 5}px;\n`;\n","import React, { useCallback, useEffect, useState } from 'react';\nimport { useDropzone } from 'react-dropzone';\nimport { useTranslation } from 'react-i18next';\nimport PropTypes from 'prop-types';\nimport { toast } from 'react-toastify';\nimport * as S from './styles';\n\nexport default function Dropzone({ setImage, disabled }) {\n const { t } = useTranslation();\n const [fileName, setFileName] = useState();\n const onDrop = useCallback(\n acceptedFiles => {\n acceptedFiles.forEach(file => {\n const reader = new FileReader();\n\n reader.onabort = () => {};\n reader.onerror = () => {};\n reader.onload = () => {\n // Do whatever you want with the file contents\n setImage(file);\n setFileName(file.path);\n };\n reader.readAsArrayBuffer(file);\n });\n },\n [setImage]\n );\n const { getRootProps, getInputProps, rejectedFiles } = useDropzone({\n onDrop,\n accept: 'image/jpeg, image/png, image/jpg',\n disabled,\n });\n\n useEffect(() => {\n if (rejectedFiles.length > 0) toast.error(t('fileTypeNotPermitted'));\n }, [rejectedFiles, t]);\n\n return (\n \n \n {fileName || t('dropzoneMessage1')}\n {!fileName && {t('dropzoneMessage2')}}\n \n );\n}\n\nDropzone.propTypes = {\n setImage: PropTypes.func,\n disabled: PropTypes.bool,\n};\n\nDropzone.defaultProps = {\n setImage: () => {},\n disabled: false,\n};\n","import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { PropTypes } from 'prop-types';\nimport { useSelector, useDispatch } from 'react-redux';\nimport GridCell from '~/components/GridCell';\nimport * as S from './styles';\nimport Dropzone from '~/components/Form/Dropzone';\nimport Form from '~/components/Form';\nimport { changeLogo, deleteLogo } from '~/services/api';\nimport { getUserRequest } from '~/store/modules/user/actions';\n\nexport default function AddLogoModalContent({ closeModal }) {\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const [image, setImage] = useState();\n const [loading, setLoading] = useState(false);\n const { user } = useSelector(state => state.user);\n\n const areas = {\n xs: '\"LOGO\" \"HEADER\" \"DROP\" \"ADVISE\" \"DELETE_LOGO\" \"SUBMIT\" \"CANCEL\"',\n lg:\n '\"LOGO LOGO\" \"HEADER HEADER\" \"DROP DROP\" \"ADVISE ADVISE\" \"DELETE_LOGO DELETE_LOGO\" \"SUBMIT SUBMIT\" \"CANCEL CANCEL\"',\n };\n\n const handleSubmit = async e => {\n const formData = new FormData();\n e.preventDefault();\n formData.append('file', image);\n\n setLoading(true);\n\n try {\n await changeLogo(formData);\n closeModal();\n } finally {\n dispatch(getUserRequest());\n setLoading(false);\n }\n };\n\n const handleDeleteLogo = async () => {\n setLoading(true);\n try {\n await deleteLogo();\n closeModal();\n } finally {\n dispatch(getUserRequest());\n setLoading(false);\n }\n };\n\n return (\n {\n handleSubmit(e);\n }}\n areas={areas}\n >\n \n \n \n \n {user.logo ? t('changeLogo') : t('addLogo')}\n \n \n \n \n {t('addImage')}\n \n \n \n \n \n {t('profesionalAdvise')}\n \n {user.logo && (\n \n \n {t('deleteLogo')}\n \n \n )}\n \n \n {loading ? t('loading') : t('submit')}\n \n \n \n {\n closeModal();\n setLoading(false);\n }}\n type=\"button\"\n disabled={loading}\n >\n {t('cancel')}\n \n \n \n );\n}\n\nAddLogoModalContent.propTypes = {\n closeModal: PropTypes.func,\n};\n\nAddLogoModalContent.defaultProps = {\n closeModal: () => {},\n};\n","import styled from 'styled-components/macro';\nimport images from '~/constants/images';\n\nexport const Container = styled.div`\n position: relative;\n background-color: ${({ theme }) => theme.dark};\n color: ${({ theme }) => theme.white};\n`;\n\nexport const HeaderBackground = styled.div`\n background-size: 150%;\n background-position: center -150px;\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n background-image: url(${images.beat});\n opacity: 0.1;\n background-repeat: no-repeat;\n background-position: center -780px;\n z-index: 0;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n background-size: 150%;\n background-position: center -150px;\n z-index: -1;\n }\n`;\n\nexport const Content = styled.div`\n position: relative;\n z-index: 1;\n color: ${({ theme }) => theme.white};\n`;\n","import styled, { keyframes } from 'styled-components/macro';\nimport spinner from '~/assets/images/spinnerBeat.png';\n\nconst spinnerAnimation = keyframes`\n 0% {\n background-position: 0px 0px;\n }\n 100% {\n background-position: 0px -27644px;\n }\n`;\n\nexport const SpinnerContainer = styled.div`\n position: absolute;\n top: 0px;\n left: 0px;\n width: 100%;\n height: 100%;\n z-index: 10;\n`;\n\nexport const OpacityLayer = styled.div`\n position: 'absolute';\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.2);\n z-index: -1;\n left: 0px;\n top: 0px;\n z-index: 10;\n`;\n\nexport const Spinner = styled.div`\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%) scale(0.3);\n width: 919px;\n height: 165px;\n background: url(${spinner});\n z-index: 9999;\n animation: 5.45s steps(129) 0s infinite ${spinnerAnimation};\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './styles';\nimport { PopUpView } from '~/components';\n\nexport default function Spinner({ isRelative, isOpen, ...rest }) {\n if (isRelative) {\n if (!isOpen) return null;\n return (\n \n \n \n \n );\n }\n return (\n \n \n \n );\n}\n\nSpinner.propTypes = {\n isRelative: PropTypes.bool,\n isOpen: PropTypes.bool,\n};\n\nSpinner.defaultProps = {\n isRelative: false,\n isOpen: false,\n};\n","import styled from 'styled-components/macro';\n\nexport const Wrapper = styled.div`\n display: flex;\n align-items: center;\n height: 150px;\n width: auto;\n cursor: pointer;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n width: 100%;\n flex-direction: column;\n }\n`;\n\nexport const Separator = styled.div`\n width: 1px;\n height: 40px;\n background-color: white;\n margin: 10px;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n width: 100%;\n height: 3px;\n margin: 0;\n }\n`;\n\nexport const DayContainer = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-between;\n height: 135px;\n width: auto;\n padding-top: 10px;\n\n .date-mobile {\n display: none;\n border: 0;\n line-height: 15px;\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n width: calc(100vw - 100px);\n height: 85px;\n padding: 0;\n\n .date-mobile {\n display: block;\n line-height: 22px;\n }\n\n .date-desktop {\n display: none;\n }\n }\n`;\n\nexport const MatchesContainer = styled.div`\n display: grid;\n grid-template-columns: ${({ children }) =>\n children.length && `repeat(${children.length},58px)`};\n column-gap: 20px;\n height: 100px;\n width: 100%;\n padding: 0 20px 0 20px;\n justify-content: center;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n padding: 0 0 10px;\n grid-template-columns: ${({ children }) =>\n children.length > 1\n ? 'calc(50% - 10px) calc(50% - 10px)'\n : 'calc(50% - 10px)'};\n height: 72px;\n }\n`;\n\nexport const MatchItem = styled.div`\n height: 100%;\n width: 58px;\n transition: background-color 0.2s;\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n width: 100%;\n margin: 0;\n display: flex;\n height: 50px;\n }\n`;\n\nexport const MatchCompetitionLogo = styled.img`\n background-color: ${({ theme }) => theme.white};\n object-fit: contain;\n height: 50px;\n width: 58px;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n width: 50%;\n }\n`;\n\nexport const MatchInfo = styled.div`\n width: 58px;\n height: 50px;\n padding: 10px;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n background-color: ${({ theme, competition }) =>\n competition === 1 ? theme.coral : theme.turquoise};\n background-color: ${({ theme, selected }) => selected && theme.purple};\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n width: 50%;\n }\n`;\n\nexport const MatchRound = styled.p`\n font-size: ${({ theme }) => theme.label}px;\n font-family: ${({ theme }) => theme.primaryFont};\n color: ${({ theme }) => theme.white};\n line-height: 1.2;\n`;\n\nexport const RoundNumber = styled.p`\n font-size: ${({ theme }) => theme.h4}px;\n font-family: ${({ theme }) => theme.primaryFont};\n color: ${({ theme }) => theme.white};\n line-height: 1.2;\n`;\n\nexport const Date = styled.p`\n box-sizing: content-box;\n grid-column-start: 1;\n grid-column-end: 3;\n margin: 0;\n bottom: 0;\n width: 100%;\n color: ${({ theme }) => theme.white};\n text-align: center;\n font-size: ${({ theme }) => theme.h5}px;\n line-height: ${({ theme }) => theme.label * 2 + 10}px;\n font-family: ${({ theme }) => theme.primaryFont};\n border-bottom: ${({ theme, selected }) =>\n selected ? `solid 4px ${theme.white}` : `solid 0px ${theme.dark}`};\n transition: color 0.2s, border-color 0.2s, border-width 0.2s;\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport { v4 } from 'uuid';\nimport * as S from './styles';\n\nexport default function RoundItem({\n dates,\n selected,\n selectDate,\n rounds,\n showSeparator,\n}) {\n const { t } = useTranslation();\n return (\n \n \n \n {dates}\n \n \n {rounds.map(({ logo, number, competition }) => {\n return (\n \n \n \n {t('round')}\n {number}\n \n \n );\n })}\n \n \n {dates}\n \n \n {!showSeparator && }\n \n );\n}\n\nRoundItem.propTypes = {\n dates: PropTypes.string.isRequired,\n selected: PropTypes.bool.isRequired,\n selectDate: PropTypes.func.isRequired,\n rounds: PropTypes.array.isRequired,\n showSeparator: PropTypes.bool.isRequired,\n};\n","import styled from 'styled-components/macro';\n\nexport const ArrowContainer = styled.div`\n align-items: center;\n justify-content: center;\n display: ${({ className }) =>\n className.includes('slick-disabled') ? 'none' : 'default'} !important;\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Icon from '~/components/Icon';\nimport * as S from './styles';\n\nexport default function CustomArrow({\n className,\n style,\n onClick,\n orientation,\n isVisible,\n}) {\n return (\n \n \n \n );\n}\n\nCustomArrow.propTypes = {\n className: PropTypes.string,\n style: PropTypes.object,\n onClick: PropTypes.func,\n orientation: PropTypes.string,\n isVisible: PropTypes.bool,\n};\n\nCustomArrow.defaultProps = {\n className: '',\n style: {},\n onClick: () => {},\n orientation: 'left',\n isVisible: true,\n};\n","import styled from 'styled-components/macro';\n\nexport const SliderContainer = styled.div`\n position: relative;\n display: flex;\n align-items: flex-end;\n width: 100%;\n height: 150px;\n background-color: ${({ theme }) => theme.dark};\n padding: 0 75px 0 75px;\n\n > div {\n margin: 0 !important;\n align-items: center;\n width: 100%;\n height: 100%;\n\n .slick-arrow {\n display: flex;\n background-color: transparent;\n }\n\n .slick-arrow::before {\n display: none;\n background-color: transparent;\n }\n\n .slick-arrow:hover {\n background-color: transparent;\n }\n }\n\n .slick-track {\n display: flex;\n align-items: center;\n width: 95%;\n }\n\n .variable-width .slick-slide p {\n background: blue;\n height: 100px;\n color: #fff;\n margin: 5px;\n line-height: 100px;\n text-align: center;\n }\n .center .slick-center h3 {\n color: #e67e22;\n opacity: 1;\n transform: scale(1.08);\n }\n .center h3 {\n opacity: 0.8;\n transition: all 300ms ease;\n }\n .content {\n padding: 20px;\n margin: auto;\n width: 90%;\n }\n .slick-slide .image {\n padding: 10px;\n }\n .slick-slide img {\n border: 5px solid #fff;\n display: block;\n margin: auto;\n }\n .slick-slide img.slick-loading {\n border: 0;\n }\n .slick-slider {\n margin: 30px auto 50px;\n }\n .slick-dots {\n margin-left: 0;\n }\n .slick-thumb {\n bottom: -45px;\n }\n .slick-thumb li {\n width: 60px;\n height: 45px;\n }\n .slick-thumb li img {\n filter: grayscale(100%);\n }\n .slick-thumb li.slick-active img {\n filter: grayscale(0%);\n }\n @media (max-width: 768px) {\n h3 {\n font-size: 24px;\n }\n .center {\n margin-left: -40px;\n margin-right: -40px;\n }\n .center .slick-center h3 {\n color: #e67e22;\n opacity: 1;\n transform: scale(1);\n }\n .center h3 {\n opacity: 0.8;\n transform: scale(0.95);\n transition: all 300ms ease;\n }\n }\n .slick-vertical .slick-slide {\n height: 180px;\n }\n .slick-arrow {\n background-color: grey;\n /* color: black; */\n }\n .slick-arrow:hover {\n background-color: grey;\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n padding: 0 50px;\n height: 88px;\n .slick-prev svg {\n position: relative;\n right: 10px;\n }\n .slick-next svg {\n position: relative;\n left: 10px;\n }\n .slick-slide > div {\n width: ${window.innerWidth - 100}px;\n }\n }\n`;\n","import React, { useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport Slider from 'react-slick';\nimport { v4 } from 'uuid';\nimport RoundItem from '~/components/DatesSlider/RoundItem';\nimport CustomArrow from '~/components/DatesSlider/CustomArrow';\nimport * as S from './styles';\n\nexport default function DatesSlider({\n options,\n getSlideRef,\n selectedDate,\n setCarouselDatesFilter,\n currentSlide,\n setCurrentSlide,\n slidesToShow,\n setDateFilter,\n}) {\n const settings = {\n infinite: false,\n speed: 200,\n slidesToShow,\n lazyLoad: true,\n slidesToScroll: 1,\n variableWidth: true,\n prevArrow: (\n \n ),\n nextArrow: ,\n swipeToSlide: true,\n easing: 'ease-out',\n };\n\n const sliderRef = useRef();\n\n const selectDate = (date, firstMatchDay, index) => {\n setCurrentSlide(index);\n setCarouselDatesFilter(date);\n setDateFilter(firstMatchDay);\n };\n\n useEffect(() => {\n if (sliderRef.current) {\n getSlideRef(sliderRef.current);\n }\n }, [getSlideRef, sliderRef]);\n return (\n \n {options?.length ? (\n \n {options.map(\n ({ firstMatchDate, date, gameweeks, label, current }, index) => {\n const firstDate = firstMatchDate || date;\n return (\n {\n selectDate(date, firstDate, index);\n }}\n showSeparator={index === options.length - 1}\n />\n );\n }\n )}\n \n ) : null}\n \n );\n}\n\nDatesSlider.propTypes = {\n getSlideRef: PropTypes.func,\n options: PropTypes.array,\n isLoading: PropTypes.bool,\n selectedDate: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n setCarouselDatesFilter: PropTypes.func,\n currentSlide: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n setCurrentSlide: PropTypes.func,\n slidesToShow: PropTypes.number,\n setDateFilter: PropTypes.func,\n};\n\nDatesSlider.defaultProps = {\n getSlideRef: () => {},\n options: [],\n isLoading: false,\n selectedDate: null,\n setCarouselDatesFilter: () => {},\n currentSlide: 0,\n setCurrentSlide: () => {},\n slidesToShow: 0,\n setDateFilter: () => {},\n};\n","import styled from 'styled-components/macro';\n\nexport const FilterBar = styled.div`\n position: sticky;\n top: 0px;\n width: 100%;\n justify-content: flex-start;\n background-color: ${({ theme }) => theme.white};\n z-index: 1;\n`;\n\nexport const FilterContainer = styled.div`\n display: flex;\n height: 70px;\n padding: 0 50px 0 50px;\n align-items: center;\n background-color: ${({ theme }) => theme.coral};\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.lg}px`}) {\n width: 100%;\n height: calc(100vh - 48px);\n background-color: ${({ theme }) => theme.coral};\n flex-direction: column;\n }\n`;\n\nexport const FilterButtonsContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: flex-start;\n width: 100%;\n height: 100%;\n\n button {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-left: 20px;\n border-style: none;\n background-color: transparent;\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.h5}px;\n padding: 10px 20px;\n color: ${({ theme }) => theme.white};\n\n // &:first-of-type {\n // background-color: ${({ theme }) => theme.coral};\n // color: ${({ theme }) => theme.white};\n // }\n\n svg {\n margin-right: 15px;\n }\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.lg}px`}) {\n flex-direction: column-reverse;\n justify-content: center;\n button {\n margin-left: 0;\n margin-bottom: 20px;\n width: 100%;\n }\n }\n`;\n\nexport const ShowFilters = styled.div`\n width: 100%;\n height: 45px;\n background-color: ${({ theme }) => theme.coral};\n display: flex;\n justify-content: center;\n align-items: center;\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.paragraphBig}px;\n text-transform: uppercase;\n cursor: pointer;\n`;\n\nexport const FilterTitle = styled.div`\n width: 100%;\n position: relative;\n padding: 15px;\n text-align: center;\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.paragraphBig}px;\n text-transform: uppercase;\n\n > div {\n width: 30px;\n height: 30px;\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n right: 0;\n top: 10px;\n cursor: pointer;\n }\n`;\n","import PropTypes from 'prop-types';\n\nconst propTypes = {\n clubs: PropTypes.object,\n competitions: PropTypes.object,\n seasons: PropTypes.object,\n rounds: PropTypes.object,\n dates: PropTypes.array,\n stadiums: PropTypes.object,\n carouselDates: PropTypes.object,\n sliderRef: PropTypes.object,\n getSlideRef: PropTypes.func,\n resetFilters: PropTypes.func,\n clubFilter: PropTypes.array,\n seasonFilter: PropTypes.array,\n roundFilter: PropTypes.array,\n dateFilter: PropTypes.string,\n stadiumFilter: PropTypes.array,\n carouselDatesFilter: PropTypes.string,\n setClubFilter: PropTypes.func,\n setCompetitionFilter: PropTypes.func,\n setSeasonFilter: PropTypes.func,\n setRoundFilter: PropTypes.func,\n setFromDateFilter: PropTypes.func,\n setToDateFilter: PropTypes.func,\n setStadiumFilter: PropTypes.func,\n setCarouselDatesFilter: PropTypes.func,\n};\n\nexport { propTypes };\n","import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n// import { Search } from 'styled-icons/material';\nimport { PopUpView, Select as Filter } from '~/components';\nimport Picker from '~/components/Filter/Picker';\nimport Button from '~/components/Button';\nimport Icon from '~/components/Icon';\nimport DatesSlider from '~/components/DatesSlider';\nimport * as S from '../styles';\nimport { propTypes } from './propsValidation';\n\nexport default function DashboardFilters({\n clubs,\n competitions,\n seasons,\n dates,\n stadiums,\n carouselDates,\n sliderRef,\n getSlideRef,\n resetFilters,\n clubFilter,\n competitionFilter,\n seasonFilter,\n dateFilter,\n stadiumFilter,\n carouselDatesFilter,\n setClubFilter,\n setCompetitionFilter,\n setSeasonFilter,\n setDateFilter,\n setStadiumFilter,\n setCarouselDatesFilter,\n currentSlide,\n setCurrentSlide,\n}) {\n const { t } = useTranslation();\n const [showModal, setModalVisibility] = useState(false);\n\n return (\n \n setModalVisibility(!showModal)}>\n {t('showFilters')}\n \n \n setModalVisibility(false)}\n zone=\"left\"\n fullWidth\n >\n \n \n {t('filters')}\n setModalVisibility(false)}\n onKeyDown={() => setModalVisibility(false)}\n >\n \n \n \n\n option.id}\n getOptionLabel={option => option.season}\n />\n\n option.id}\n getOptionLabel={option => option.name}\n isClearable\n />\n\n option.id}\n getOptionLabel={option => option.nickname}\n isClearable\n />\n\n option.id}\n getOptionLabel={option => option.name}\n isClearable\n />\n\n \n\n \n \n \n \n \n \n );\n}\n\nDashboardFilters.propTypes = propTypes;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\n// import { Search } from 'styled-icons/material';\nimport { Select as Filter } from '~/components';\nimport Picker from '~/components/Filter/Picker';\nimport Button from '~/components/Button';\nimport Icon from '~/components/Icon';\nimport DatesSlider from '~/components/DatesSlider';\nimport * as S from '../styles';\nimport { propTypes } from './propsValidation';\n\nexport default function DashboardFilters({\n clubs,\n competitions,\n seasons,\n dates,\n stadiums,\n carouselDates,\n sliderRef,\n getSlideRef,\n resetFilters,\n clubFilter,\n competitionFilter,\n seasonFilter,\n dateFilter,\n stadiumFilter,\n carouselDatesFilter,\n setClubFilter,\n setCompetitionFilter,\n setSeasonFilter,\n setDateFilter,\n setStadiumFilter,\n setCarouselDatesFilter,\n currentSlide,\n setCurrentSlide,\n}) {\n const { t } = useTranslation();\n\n return (\n \n \n option.id}\n getOptionLabel={option => option.season}\n />\n\n option.id}\n getOptionLabel={option => option.name}\n isClearable\n />\n\n option.id}\n getOptionLabel={option => option.nickname}\n isClearable\n />\n\n option.id}\n getOptionLabel={option => option.name}\n isClearable\n />\n\n \n\n \n \n \n \n \n \n );\n}\n\nDashboardFilters.propTypes = propTypes;\n","import React, { useEffect, useState } from 'react';\nimport qs from 'qs';\nimport { batch, useDispatch, useSelector } from 'react-redux';\nimport { useLocation } from 'react-router-dom';\nimport { Responsive } from '~/components';\nimport {\n getSeasonFiltersRequest,\n getCompetitionFiltersRequest,\n getClubFiltersRequest,\n getStadiumFiltersRequest,\n getCarouselDatesFiltersRequest,\n} from '~/store/modules/filters/actions';\nimport history from '~/config/history';\nimport { Mobile, Desktop } from './responsive';\n\nexport default function DashboardFilters() {\n const dispatch = useDispatch();\n const { search, pathname } = useLocation();\n const query = qs.parse(search, {\n ignoreQueryPrefix: true,\n });\n\n const { clubs, competitions, seasons, stadiums, carouselDates } = useSelector(\n state => state.filters.filters\n );\n\n const [seasonFilter, setSeasonFilter] = useState(null);\n const [competitionFilter, setCompetitionFilter] = useState(null);\n const [clubFilter, setClubFilter] = useState(null);\n const [dateFilter, setDateFilter] = useState(null);\n const [stadiumFilter, setStadiumFilter] = useState(null);\n const [carouselDatesFilter, setCarouselDatesFilter] = useState(\n query['gameweek-date'] ? query['gameweek-date'] : null\n );\n const [currentGameweekIndex, setCurrentGameweekIndex] = useState(null);\n const [currentSlide, setCurrentSlide] = useState(null);\n const [sliderRef, setSliderRef] = useState(null);\n\n const getSlideRef = ref => {\n setSliderRef(ref);\n };\n\n useEffect(() => {\n // sets season filter to the default if none is queried\n if (!seasonFilter && !query.season && seasons.data.length > 0) {\n setSeasonFilter(seasons.data.filter(season => season.current));\n }\n // sets season filter to the queried season\n if (!seasonFilter && query.season && seasons.data.length > 0) {\n setSeasonFilter(\n seasons.data.filter(season => {\n return query.season === season.id.toString();\n })\n );\n }\n }, [seasonFilter, setSeasonFilter, seasons, query.season]);\n\n useEffect(() => {\n // whenever the query changes, new filters are requested\n batch(() => {\n dispatch(getSeasonFiltersRequest(search));\n dispatch(getCompetitionFiltersRequest(search));\n dispatch(getClubFiltersRequest(search));\n dispatch(getStadiumFiltersRequest(search));\n dispatch(getCarouselDatesFiltersRequest(search));\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [search]);\n\n useEffect(() => {\n // whenever any filter changes, the query must change\n if (\n seasonFilter ||\n competitionFilter ||\n clubFilter ||\n stadiumFilter ||\n carouselDatesFilter\n ) {\n history.push({\n pathname,\n search: qs.stringify(\n {\n season: seasonFilter && seasonFilter[0]?.id,\n championship: competitionFilter && competitionFilter[0]?.id,\n team: clubFilter && clubFilter[0]?.id,\n venue: stadiumFilter && stadiumFilter[0]?.id,\n // CHECK pass the id\n 'gameweek-date':\n carouselDatesFilter === '' ? null : carouselDatesFilter,\n },\n {\n skipNulls: true,\n }\n ),\n });\n }\n }, [\n pathname,\n seasonFilter,\n competitionFilter,\n clubFilter,\n stadiumFilter,\n carouselDatesFilter,\n ]);\n\n // Extract current round of carousel dates whenever the carousel changes\n useEffect(() => {\n let currentRoundIndex = null;\n carouselDates.data.gameweeks.forEach(({ current }, index) => {\n if (current) {\n currentRoundIndex = index;\n }\n });\n setCurrentGameweekIndex(currentRoundIndex || 0);\n }, [carouselDates, setCurrentGameweekIndex]);\n\n // Season filter changes\n useEffect(() => {\n setCompetitionFilter(null);\n setClubFilter(null);\n setStadiumFilter(null);\n setDateFilter(null);\n setCarouselDatesFilter(null);\n }, [\n seasonFilter,\n setCompetitionFilter,\n setClubFilter,\n setStadiumFilter,\n setDateFilter,\n setCarouselDatesFilter,\n ]);\n\n // Competition filter changes\n useEffect(() => {\n setClubFilter(null);\n setStadiumFilter(null);\n setDateFilter(null);\n setCarouselDatesFilter(null);\n }, [\n competitionFilter,\n setClubFilter,\n setStadiumFilter,\n setDateFilter,\n setCarouselDatesFilter,\n ]);\n\n // Club filter changes\n useEffect(() => {\n setStadiumFilter(null);\n setDateFilter(null);\n setCarouselDatesFilter(null);\n }, [clubFilter, setStadiumFilter, setDateFilter, setCarouselDatesFilter]);\n\n // Stadium filter changes\n useEffect(() => {\n setDateFilter(null);\n setCarouselDatesFilter(null);\n }, [stadiumFilter, setDateFilter, setCarouselDatesFilter]);\n\n useEffect(() => {\n if (!dateFilter) {\n setCarouselDatesFilter(null);\n }\n }, [dateFilter, setCarouselDatesFilter]);\n\n useEffect(() => {\n if (\n sliderRef &&\n carouselDates.data.dates.length > 0 &&\n currentGameweekIndex\n ) {\n if (!dateFilter) {\n if (sliderRef && sliderRef.slickGoTo) {\n sliderRef.slickGoTo(currentGameweekIndex);\n }\n setCurrentSlide(currentGameweekIndex);\n } else {\n let slideToGoTo = null;\n carouselDates.data.gameweeks.forEach(({ date }, index) => {\n if (date === dateFilter) {\n slideToGoTo = index;\n }\n });\n\n if (slideToGoTo) {\n if (sliderRef && sliderRef.slickGoTo) {\n sliderRef.slickGoTo(slideToGoTo);\n }\n setCurrentSlide(slideToGoTo);\n setCarouselDatesFilter(\n carouselDates.data.gameweeks[slideToGoTo].date\n );\n }\n }\n }\n }, [\n sliderRef,\n currentGameweekIndex,\n carouselDates,\n dateFilter,\n setCurrentSlide,\n setCarouselDatesFilter,\n ]);\n\n const resetFilters = () => {\n setSeasonFilter(seasons.data.filter(season => season.current));\n setCompetitionFilter(null);\n setClubFilter(null);\n setStadiumFilter(null);\n setDateFilter(null);\n\n let slideToGoTo = 0;\n carouselDates.data.gameweeks.forEach(({ current }, index) => {\n if (current) {\n slideToGoTo = index;\n }\n });\n setCarouselDatesFilter(null);\n if (sliderRef && sliderRef.slickGoTo) sliderRef.slickGoTo(slideToGoTo);\n setCurrentSlide(slideToGoTo);\n };\n\n const renderProps = {\n clubs,\n competitions,\n seasons,\n dates: carouselDates.data.dates,\n stadiums,\n carouselDates,\n sliderRef,\n getSlideRef,\n resetFilters,\n clubFilter,\n competitionFilter,\n seasonFilter,\n dateFilter,\n stadiumFilter,\n carouselDatesFilter,\n setSeasonFilter,\n setCompetitionFilter,\n setClubFilter,\n setStadiumFilter,\n setDateFilter,\n setCarouselDatesFilter,\n currentSlide,\n setCurrentSlide,\n };\n\n return (\n }\n lg={}\n />\n );\n}\n","import styled from 'styled-components/macro';\nimport { lighten } from 'polished';\nimport EmptyPage from '~/pages/EmptyPage';\nimport images from '~/constants/images';\n\nexport const ContentWrapper = styled.div`\n position: relative;\n height: auto;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: center;\n min-height: 100%;\n opacity: ${({ isLoading }) => (isLoading ? 0.8 : 1)};\n transition: all 0.3s;\n`;\n\nexport const EmptyPageDashboard = styled(EmptyPage)`\n background-color: ${({ theme }) => theme.white};\n`;\n\nexport const DayMatches = styled.div`\n position: relative;\n width: calc(100% - 100px);\n margin-bottom: 20px;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.xl}px`}) {\n width: calc(100% - 10px);\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n width: 100%;\n }\n`;\n\nexport const DayMatchesHeader = styled.div`\n padding-left: 35px;\n font-family: ${props => props.theme.primaryFontBold};\n font-size: ${props => props.theme.paragraphBig}px;\n text-transform: uppercase;\n color: ${props => props.theme.black};\n margin: 15px 0;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n padding-left: 15px;\n font-size: ${props => props.theme.paragraph}px;\n }\n`;\n\nexport const DayMatchesContent = styled.div`\n border-top: 3px solid ${props => props.theme.white};\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n border: 0;\n }\n`;\n\nexport const MatchLeft = styled.div`\n width: 55%;\n height: 48px;\n padding: 10px 25px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n cursor: pointer;\n background-color: ${props => props.theme.dark};\n transition: all 0.3s;\n\n &:hover {\n background-color: ${props => lighten(0.1, props.theme.dark)};\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.xl}px`}) {\n padding: 10px 10px;\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n width: 100%;\n height: 67px;\n padding: 0;\n display: grid;\n grid-template-columns: 20% 73% 7%;\n grid-template-areas: 'TIME COMPETITION LINK' 'TEAMS TEAMS TEAMS';\n }\n`;\n\nexport const Match = styled.div`\n width: 100%;\n height: 48px;\n margin-top: 4px;\n display: flex;\n transition: all 0.3s;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n height: 120px;\n flex-direction: column;\n margin-bottom: 10px;\n }\n`;\n\nexport const MatchTime = styled.div`\n width: 9%;\n color: ${props => props.theme.white};\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n width: 100%;\n height: 30px;\n padding: 7px 0px 0 15px;\n grid-area: TIME;\n }\n`;\n\nexport const Teams = styled.div`\n height: 100%;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n width: 100%;\n height: 37px;\n padding-bottom: 5px;\n grid-area: TEAMS;\n }\n`;\n\nexport const LocalTeam = styled.div`\n width: calc(50% - 1px);\n display: flex;\n color: ${props => props.theme.white};\n text-transform: uppercase;\n align-items: center;\n justify-content: flex-end;\n padding-right: 15px;\n text-align: right;\n\n div {\n margin: 0 10px;\n }\n\n img {\n margin-left: 3px;\n width: 32px;\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n font-size: ${props => props.theme.paragraph}px;\n div {\n line-height: 1;\n }\n }\n`;\n\nexport const Separator = styled.div`\n width: 2px;\n height: 17px;\n background-color: ${props => props.theme.coral};\n`;\n\nexport const VisitorTeam = styled.div`\n width: calc(50% - 1px);\n display: flex;\n color: ${props => props.theme.white};\n text-transform: uppercase;\n align-items: center;\n justify-content: flex-start;\n padding-left: 15px;\n\n div {\n margin: 0 10px;\n }\n\n img {\n margin-right: 3px;\n width: 32px;\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n font-size: ${props => props.theme.paragraph}px;\n div {\n line-height: 1;\n }\n }\n`;\n\nexport const CompetitionLogo = styled.div`\n width: 25%;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n\n img {\n width: 90%;\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n width: 100%;\n height: 30px;\n grid-area: COMPETITION;\n justify-content: flex-start;\n\n img {\n height: 30px;\n width: auto;\n padding: 5px 5px 0;\n }\n }\n`;\n\nexport const MatchRight = styled.div`\n width: 50%;\n height: 48px;\n display: flex;\n background-color: ${props => props.theme.white};\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n width: 100%;\n }\n`;\n\nexport const MatchLinks = styled.div`\n width: calc(100% - 50px);\n padding: 0 30px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n a {\n width: calc(100% / 6);\n padding: 5px 0 0;\n height: 48px;\n text-decoration: none;\n color: ${props => props.theme.dark};\n border-bottom: 5px solid transparent;\n div {\n padding: 5px 10px;\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n transition: border 0.3s;\n cursor: pointer;\n }\n &:hover {\n border-bottom: 5px solid ${props => props.theme.coral};\n }\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n width: 100%;\n }\n`;\n\nexport const MatchRedirect = styled.button`\n width: 50px;\n height: 48px;\n background-color: ${({ theme, color }) => theme[color]};\n display: flex;\n justify-content: center;\n align-items: center;\n border-style: none;\n transition: all 0.3s;\n\n &:hover {\n background-color: ${({ theme }) => theme.dark};\n }\n\n a {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 48px;\n width: 100%;\n\n svg {\n transform: rotate(${({ rotated }) => (rotated ? 90 : 0)}deg);\n }\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n &:nth-child(3) {\n display: none;\n }\n }\n`;\n\nexport const Pagination = styled.div`\n display: flex;\n padding: 20px;\n\n ul {\n display: flex;\n flex-direction: row;\n\n li {\n padding: 5px 7px;\n cursor: pointer;\n color: ${({ theme }) => theme.light};\n transition: all 0.3s;\n margin: 3px;\n\n &:hover {\n background-color: ${({ theme }) => theme.coral};\n }\n\n &.selected {\n color: ${({ theme }) => theme.coral};\n background-color: ${({ theme }) => theme.dark};\n }\n\n a {\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.h5}px;\n }\n }\n }\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n width: 100%;\n height: auto;\n padding: 0 10px 20px;\n ul {\n width: 100%;\n justify-content: space-between;\n li {\n padding: 2%;\n margin: 0;\n a {\n font-size: ${props => props.theme.paragraph}px;\n }\n }\n }\n }\n`;\n\nexport const ArrowIcon = styled.div`\n display: none;\n grid-area: LINK;\n padding: 9px 15px 0 0;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n display: block;\n }\n`;\n\nexport const Background = styled.div`\n position: absolute;\n top: 0px;\n left: 0px;\n width: 100%;\n height: 100%;\n background-attachment: fixed;\n background-image: url(${images.beat});\n background-repeat: no-repeat;\n background-size: contain;\n background-position: center;\n opacity: 0.9;\n z-index: 0;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n background-size: 302%;\n }\n`;\n","import React, { useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useLocation } from 'react-router-dom';\nimport { format, getDay } from 'date-fns';\nimport { es } from 'date-fns/locale';\nimport { useMediaQuery } from 'react-responsive';\nimport { apps } from '~/utils/mocks/apps';\nimport { Icon, Link, Spinner } from '~/components';\nimport { getMatchesRequest } from '~/store/modules/matches/actions';\nimport history from '~/config/history';\nimport { theme } from '~/styles/theme';\nimport * as S from './styles';\n\nexport default function DashboardContent() {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const {\n matches: { data: dates, loading },\n } = useSelector(state => state.matches);\n const { user } = useSelector(state => state.user);\n const { search } = useLocation();\n\n const isTablet = useMediaQuery({\n query: `(max-width: ${theme.breakpoints.lg}px)`,\n });\n\n useEffect(() => {\n dispatch(getMatchesRequest(search));\n }, [dispatch, search]);\n\n const showProcessedDate = date => {\n const newDate = new Date(date);\n const weekday = t(`weekday${getDay(newDate)}`);\n const processedDate = format(\n newDate,\n 'dd MMMM yyyy',\n t('languageId') === 'ES'\n ? {\n locale: es,\n }\n : null\n );\n return `${weekday}, ${processedDate}`;\n };\n\n const datesArr = dates && Array.isArray(dates) ? dates : [];\n\n return (\n \n \n {!loading && datesArr.length <= 0 && }\n {!loading && datesArr.length > 0 && (\n <>\n \n {datesArr.map(date => {\n return (\n \n \n {showProcessedDate(date.date)}\n \n \n {date.matches.map(match => {\n const {\n homeTeam,\n awayTeam,\n id,\n peninsulaTime,\n homeScore,\n awayScore,\n competitionLogo,\n } = match;\n return (\n \n \n !loading &&\n history.push(`/match/${id}/global-statistics`)\n }\n >\n \n {peninsulaTime ? peninsulaTime.substr(0, 5) : '-'}\n \n \n \n
\n {isTablet\n ? homeTeam.shortname\n : homeTeam.nickname}\n
\n \"\"\n
\n {typeof homeScore === 'number' ||\n typeof homeScore === 'string'\n ? homeScore\n : '-'}\n
\n
\n \n \n
\n {typeof awayScore === 'number' ||\n typeof awayScore === 'string'\n ? awayScore\n : '-'}\n
\n \"\"\n
\n {isTablet\n ? awayTeam.shortname\n : awayTeam.nickname}\n
\n
\n
\n \n \"\"\n \n \n \n \n \n \n \n \n \n {apps.map(app => {\n return (\n \n
\n \n
\n \n );\n })}\n
\n {user.laliga && (\n \n \n \n \n \n )}\n \n \n \n \n \n
\n
\n );\n })}\n
\n
\n );\n })}\n \n )}\n
\n );\n}\n","import styled from 'styled-components/macro';\n\nexport const DashboardContainer = styled.div`\n position: relative;\n height: calc(100vh - 285px);\n`;\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useSelector, useDispatch } from 'react-redux';\nimport DashboardFilters from '~/pages/Dashboard/components/DashboardFilters/';\nimport DashboardContent from '~/pages/Dashboard/components/DashboardContent/';\nimport { PrivateLayout } from '~/pages';\nimport { flushSelectedMatch } from '~/store/modules/matches/actions';\nimport * as S from './styles';\n\nconst Dashboard = ({ location }) => {\n const dispatch = useDispatch();\n const {\n selectedMatch: { data: selectedMatch },\n } = useSelector(state => state.matches);\n\n useEffect(() => {\n if (selectedMatch !== null) {\n dispatch(flushSelectedMatch());\n }\n }, [dispatch, selectedMatch]);\n\n return (\n \n \n \n \n \n \n );\n};\n\nDashboard.propTypes = {\n location: PropTypes.shape({\n search: PropTypes.string.isRequired,\n pathname: PropTypes.string,\n }).isRequired,\n};\n\nexport default Dashboard;\n","import React from 'react';\nimport * as Yup from 'yup';\nimport { Formik } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport PropTypes from 'prop-types';\nimport { useDispatch } from 'react-redux';\nimport { signInRequest } from '~/store/modules/auth/actions';\n\nexport default function FormConfig({\n children,\n captchaValue,\n setCaptchaError,\n}) {\n const { t } = useTranslation();\n\n const dispatch = useDispatch();\n return (\n {\n const captchaIsFilled = captchaValue !== null;\n if (captchaIsFilled) {\n // Form data will be sent here\n dispatch(\n signInRequest({ ...values, 'g-recaptcha-response': captchaValue })\n );\n } else {\n setCaptchaError(t('captchaIsRequiredValidationError'));\n }\n\n setSubmitting(false);\n }}\n validationSchema={Yup.object().shape({\n email: Yup.string()\n .email(t('invalidEmail'))\n .required(t('emailIsRequired')),\n password: Yup.string().required(t('passwordIsRequired')),\n code: Yup.string().required(t('smsCodeValidationError')),\n })}\n >\n {children}\n \n );\n}\n\nFormConfig.propTypes = {\n children: PropTypes.oneOfType([PropTypes.element, PropTypes.func]).isRequired,\n captchaValue: PropTypes.string,\n setCaptchaError: PropTypes.func,\n};\n\nFormConfig.defaultProps = {\n captchaValue: null,\n setCaptchaError: () => {},\n};\n","import styled from 'styled-components/macro';\n\nexport const Container = styled.div`\n display: flex;\n width: 100%;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n margin-top: 5px;\n height: 100%;\n\n p {\n text-align: center;\n }\n`;\n","import React from 'react';\nimport { GoogleReCaptcha } from 'react-google-recaptcha-v3';\nimport PropTypes from 'prop-types';\nimport { ErrorMessage } from '~/components/Form/styles';\nimport * as S from './styles';\n\nexport default function Captcha({ onVerify, captchaError }) {\n return (\n \n \n \n {captchaError !== '' && captchaError}\n \n \n );\n}\n\nCaptcha.propTypes = {\n onVerify: PropTypes.func.isRequired,\n captchaError: PropTypes.string,\n};\nCaptcha.defaultProps = {\n captchaError: '',\n};\n","export const browserWarning = {\n es: {\n title: '¡Atención! Estás utilizando un navegador no compatible',\n text:\n '

Hemos detectado que estás utilizando un explorador web no compatible con la herramienta. Recuerda que todas las aplicaciones coporativas de LaLiga deben utilizarse con el navegador Google Chrome.

Por favor, para un correcto uso de la herramienta accede mediante el navegador autorizado Google Chrome.

Si tiene alguna duda o incidencia técnica, por favor, contacte por Email en la cuenta de correo soporte@laliga.es o al teléfono +34 682 39 24 10 , le contestaremos a la mayor brevedad posible.

',\n },\n en: {\n title: 'Attention! You are using an unsupported browser',\n text:\n '

We have detected that you are using a web browser that is not compatible with the tool. Remember that all LaLiga corporate applications must be used with the Google Chrome.

Please, for a correct use of the tool, access through the authorized Google Chrome browser.

If you have any questions or technical issues, please contact us by email at soporte@laliga.es or by phone +34 682 39 24 10, we will answer you as soon as possible.

',\n },\n};\n","import styled, { css } from 'styled-components/macro';\n\nexport const Content = styled.div`\n ${({ theme }) => css`\n background: ${theme.light};\n width: 100%;\n margin: 0 auto;\n width: ${theme.breakpoints.sm}px;\n padding: 2rem;\n\n p {\n margin-bottom: 1rem;\n }\n `}\n`;\n\nexport const Title = styled.p`\n font-weight: bold;\n text-align: center;\n`;\n\nexport const WarningImage = styled.img`\n display: block;\n margin: 0 auto 1rem auto;\n height: 6rem;\n`;\n\nexport const Footer = styled.footer`\n display: flex;\n justify-content: flex-end;\n`;\n","export const checkBrowsers = {\n isChrome:\n /Google Inc/.test(navigator.vendor) && /Chrome/.test(navigator.userAgent),\n isIphoneChrome:\n /Apple/.test(navigator.vendor) && /CriOS/.test(navigator.userAgent),\n};\n\nexport const isAvailableBrowser = Object.values(checkBrowsers).some(\n match => match\n);\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport i18n from 'i18next';\nimport { PopUpView, Button } from '~/components';\nimport { theme } from '~/styles/theme';\nimport images from '~/constants/images';\nimport { browserWarning } from '~/static/browserWarning';\nimport { sanitize } from '@laliga-cdac/react';\nimport * as S from './styles';\nimport { useBrowserModal } from './hooks';\n\nexport default function BrowserWarningModal() {\n const lang = i18n.language;\n const { showModal, closeModal } = useBrowserModal(true);\n const { t } = useTranslation();\n\n return (\n \n \n \n {browserWarning[lang].title}\n

\n \n \n \n \n \n );\n}\n","import { useState } from 'react';\nimport { isAvailableBrowser } from './constants';\n\n/** Establece si el modal de navegador incompatible debe abrirse */\nexport function useBrowserModal() {\n const [isOpen, setModalDataVisibility] = useState(true);\n\n const sessionStorageKey = 'browserModalDisplayed';\n const alreadyDisplayed = sessionStorage.getItem(sessionStorageKey) === '1';\n\n const closeModal = () => {\n setModalDataVisibility(false);\n sessionStorage.setItem(sessionStorageKey, '1');\n };\n\n return {\n showModal: isOpen && !isAvailableBrowser && !alreadyDisplayed,\n closeModal,\n };\n}\n","import styled from 'styled-components/macro';\nimport images from '~/constants/images';\n\nexport const Wrapper = styled.div`\n min-height: 100%;\n background-color: yellow;\n`;\n\nexport const Container = styled.div`\n display: flex;\n flex-direction: column;\n min-height: 100vh;\n align-items: center;\n justify-content: center;\n background-color: ${({ theme }) => theme.white};\n\n &:before {\n content: ' ';\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n min-height: 100vh;\n opacity: 0.3;\n background-image: url(${images.beat});\n background-repeat: no-repeat;\n background-position: center;\n }\n\n & > * {\n position: relative;\n }\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport BrowserWarningModal from '~/components/BrowserWarningModal';\nimport * as S from './styles';\n\nexport default function DefaultLayout({ children }) {\n return (\n \n
\n \n {children}\n \n \n \n );\n}\n\nDefaultLayout.propTypes = {\n children: PropTypes.node.isRequired,\n};\n","import React, { useCallback, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useGoogleReCaptcha } from 'react-google-recaptcha-v3';\nimport { toast } from 'react-toastify';\nimport Link from '~/components/Link';\nimport Form from '~/components/Form';\nimport * as S from '~/components/Form/styles';\nimport Input from '~/components/Form/Input';\nimport routesPath from '~/constants/routes';\nimport FormConfig from '~/pages/Login/components/FormConfig';\nimport Captcha from '~/components/Form/Captcha';\nimport DefaultLayout from '~/pages/_layouts/DefaultLayout';\nimport { login, confirmRegistration, checkAzureLogin } from '~/services/api';\nimport { languageOptions } from '~/utils/languageOptions';\nimport { FoldedMenu } from '~/components';\nimport { signInSuccess } from '~/store/modules/auth/actions';\nimport history from '~/config/history';\n\nexport default function Login() {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const { executeRecaptcha } = useGoogleReCaptcha();\n const [captchaValue, setCaptchaValue] = useState(null);\n const [captchaError, setCaptchaError] = useState('');\n const [accountConfirmationMessage, setAccountConfirmationMessage] = useState(\n false\n );\n const [viewLoginInputs, setViewLoginInputs] = useState(true);\n const [loginCheckLoading, setLoginCheckLoading] = useState(false);\n const [phoneDigits, setPhoneDigits] = useState('');\n const { loading } = useSelector(state => state.auth);\n\n const handleReCaptchaVerify = useCallback(async () => {\n if (executeRecaptcha) {\n const token = await executeRecaptcha('login');\n setCaptchaValue(token);\n\n return token;\n }\n\n return '';\n }, [executeRecaptcha]);\n\n useEffect(() => {\n handleReCaptchaVerify();\n }, [handleReCaptchaVerify]);\n\n const checkValidations = () => {\n const token = handleReCaptchaVerify();\n\n if (token !== null && token !== '') {\n setCaptchaError('');\n } else {\n setCaptchaError(t('captchaIsRequiredValidationError'));\n }\n };\n\n const promptRegistrationConfirmation = useCallback(\n async code => {\n try {\n await confirmRegistration(code);\n setAccountConfirmationMessage(true);\n } catch ({ response }) {\n if (response.status === 401) toast.error(t('userActivated'));\n setAccountConfirmationMessage(false);\n }\n },\n [setAccountConfirmationMessage, t]\n );\n\n const checkIfLoggedWithAzure = useCallback(() => {\n const fetchTokens = async () => {\n try {\n const { data } = await checkAzureLogin();\n dispatch(signInSuccess(data.token, data.refreshToken));\n } catch ({ response }) {\n if (response.status === 401) {\n history.push(`/failure`);\n }\n }\n };\n fetchTokens();\n }, [dispatch]);\n\n useEffect(() => {\n const code = localStorage.getItem('confirmationCode');\n if (code) {\n promptRegistrationConfirmation(code);\n }\n localStorage.removeItem('confirmationCode');\n }, [promptRegistrationConfirmation]);\n\n useEffect(() => {\n const loginOffice365 = localStorage.getItem('loginOffice365');\n if (loginOffice365) {\n checkIfLoggedWithAzure();\n localStorage.removeItem('loginOffice365');\n }\n }, [checkIfLoggedWithAzure]);\n\n const handleGoToMFA = async (values, errors) => {\n setLoginCheckLoading(true);\n const token = await handleReCaptchaVerify();\n if (token !== null && token !== '') {\n if (Object.keys(errors).length === 1) {\n try {\n const {\n data: { phone_digits },\n } = await login({\n email: values.email,\n password: values.password,\n 'g-recaptcha-response': token,\n });\n setPhoneDigits(phone_digits);\n setViewLoginInputs(false);\n } catch (err) {\n const {\n response: {\n data: { error },\n },\n } = err;\n handleReCaptchaVerify();\n setViewLoginInputs(true);\n toast.error(error);\n }\n }\n } else {\n setCaptchaError(t('captchaIsRequiredValidationError'));\n }\n setLoginCheckLoading(false);\n };\n\n return (\n \n \n {props => {\n // eslint-disable-next-line react/prop-types\n const { isSubmitting, handleSubmit, errors, values } = props;\n return (\n \n \n \n \n {viewLoginInputs ? t('loginIntoAccount') : t('enterSmsCode')}\n \n {!viewLoginInputs && (\n {`${t(\n 'smsCodeNotification_part_1'\n )}${phoneDigits}${t(\n 'smsCodeNotification_part_2'\n )}`}\n )}\n {accountConfirmationMessage && (\n \n {t('confirmationSuccessMessage')}\n \n )}\n {viewLoginInputs ? (\n <>\n \n\n \n\n \n \n ) : (\n \n )}\n\n {viewLoginInputs ? (\n {\n handleGoToMFA(values, errors);\n }}\n >\n {!loginCheckLoading\n ? t('loginIntoAccount')\n : `${t('loading')}...`}\n \n ) : (\n {\n checkValidations();\n }}\n >\n {isSubmitting || loading\n ? `${t('loading')}...`\n : t('confirm')}\n \n )}\n\n \n {viewLoginInputs && (\n \n \n {t('passwordRecovery')}\n \n \n )}\n \n {viewLoginInputs && (\n \n

{t('noHaveAccount')}

\n
\n {t('register')}\n
\n
\n )}\n \n
\n {\n localStorage.setItem('loginOffice365', true);\n window.location = process.env.REACT_APP_AZURE_LOGIN_URL;\n }}\n >\n {t('privateAccess')}\n \n
\n
\n
\n );\n }}\n
\n \n
\n );\n}\n","import styled from 'styled-components/macro';\nimport images from '~/constants/images';\nimport { Button } from '~/components';\n\nexport const Container = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n background-color: ${({ theme }) => theme.white};\n height: 100%;\n width: 100%;\n`;\n\nexport const Background = styled.div`\n position: absolute;\n z-index: 0;\n width: 100%;\n height: 100%;\n background-image: url(${images.notFoundBackground});\n opacity: 0.2;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: top center;\n`;\n\nexport const BeatDecoration = styled.div`\n position: absolute;\n ${({ inverted }) => (inverted ? 'bottom:0;' : 'top:0;')};\n left: 0;\n width: 100%;\n height: 50px;\n background-image: url(${images.beat});\n background-size: 100%;\n background-position: center 44%;\n opacity: 0.25;\n transform-origin: center;\n transform: rotate(${({ inverted }) => (inverted ? 180 : 0)}deg);\n\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n background-size: 250%;\n background-position: center 44%;\n height: 25px;\n }\n`;\n\nexport const Logo = styled.img`\n height: 90px;\n\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n height: 75px;\n }\n`;\n\nexport const BigMessage = styled.p`\n font-size: ${({ theme }) => theme.h1 * 2}px;\n margin: 15px;\n color: ${({ theme }) => theme.dark};\n`;\n\nexport const Title = styled.p`\n font-size: ${({ theme }) => theme.h2}px;\n margin-bottom: 25px;\n font-family: ${({ theme }) => theme.primaryFontBold};\n text-transform: uppercase;\n color: ${({ theme }) => theme.dark};\n`;\n\nexport const Message = styled.p`\n font-size: ${({ theme }) => theme.h5}px;\n color: ${({ theme }) => theme.dark};\n`;\n\nexport const NavigationButton = styled(Button)`\n border: none;\n padding: 10px 50px;\n margin-top: 25px;\n font-size: ${({ theme }) => theme.h4}px;\n text-transform: uppercase;\n background-color: ${({ theme }) => theme.dark};\n z-index: 1;\n color: ${({ theme }) => theme.white};\n\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n max-width: 90%;\n }\n\n a {\n color: ${({ theme }) => theme.white};\n }\n`;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport PropTypes from 'prop-types';\nimport * as S from './styles';\nimport images from '~/constants/images';\nimport { Link, Icon } from '~/components';\n\nconst NotFoundBig = () => (\n <>\n 44\n \n);\n\nexport default function NotFound({ type = 'not-found' }) {\n const { t } = useTranslation();\n\n const content = {\n 'not-found': {\n big: ,\n title: t('offside'),\n message: t('checkUrl'),\n },\n uncaught: {\n big: t('OOPS'),\n title: t('offside'),\n message: t('uncaughtError'),\n },\n };\n\n return (\n \n \n \n \n {content[type].big}\n {content[type].title}\n {content[type].message}\n \n {t('goToWebsiteHome')}\n \n \n \n );\n}\n\nNotFound.propTypes = {\n type: PropTypes.oneOf(['not-found', 'uncaught']),\n};\n\nNotFound.defaultProps = {\n type: 'not-found',\n};\n","import React from 'react';\nimport * as Yup from 'yup';\nimport { useDispatch } from 'react-redux';\nimport { Formik } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport PropTypes from 'prop-types';\nimport { passwordRecoveryRequest } from '~/store/modules/auth/actions';\n\nexport default function FormConfig({\n children,\n captchaValue,\n setCaptchaError,\n}) {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n return (\n {\n const captchaIsFilled = captchaValue !== null;\n if (captchaIsFilled) {\n // Form data will be sent here\n dispatch(\n passwordRecoveryRequest({\n ...values,\n 'g-recaptcha-response': captchaValue,\n })\n );\n } else {\n setCaptchaError(t('captchaIsRequiredValidationError'));\n }\n\n setSubmitting(false);\n }}\n validationSchema={Yup.object().shape({\n email: Yup.string()\n .email(t('invalidEmail'))\n .required(t('emailIsRequired')),\n })}\n >\n {children}\n \n );\n}\n\nFormConfig.propTypes = {\n children: PropTypes.oneOfType([PropTypes.element, PropTypes.func]).isRequired,\n captchaValue: PropTypes.string,\n setCaptchaError: PropTypes.func,\n};\n\nFormConfig.defaultProps = {\n captchaValue: null,\n setCaptchaError: () => {},\n};\n","import React, { useCallback, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport { useGoogleReCaptcha } from 'react-google-recaptcha-v3';\nimport Link from '~/components/Link';\nimport Form from '~/components/Form';\nimport * as S from '~/components/Form/styles';\nimport Input from '~/components/Form/Input';\nimport routesPath from '~/constants/routes';\nimport FormConfig from '~/pages/PasswordRecovery/components/FormConfig';\nimport DefaultLayout from '~/pages/_layouts/DefaultLayout';\nimport Captcha from '~/components/Form/Captcha';\nimport { languageOptions } from '~/utils/languageOptions';\nimport FoldedMenu from '~/components/FoldedMenu';\n\nexport default function PasswordRecovery() {\n const { t } = useTranslation();\n const { executeRecaptcha } = useGoogleReCaptcha();\n const [captchaValue, setCaptchaValue] = useState(null);\n const [captchaError, setCaptchaError] = useState('');\n const { loading } = useSelector(state => state.auth);\n\n const handleReCaptchaVerify = useCallback(async () => {\n if (!executeRecaptcha) {\n return;\n }\n\n const token = await executeRecaptcha('passwordRecovery');\n setCaptchaValue(token);\n }, [executeRecaptcha]);\n\n useEffect(() => {\n handleReCaptchaVerify();\n }, [handleReCaptchaVerify]);\n\n return (\n \n \n {props => {\n // eslint-disable-next-line react/prop-types\n const { isSubmitting, handleSubmit } = props;\n return (\n \n \n \n {t('passwordRecovery')}\n \n \n handleReCaptchaVerify()}\n disabled={isSubmitting || loading}\n >\n {isSubmitting || loading\n ? `${t('loading')}...`\n : t('sendEmail')}\n \n \n {t('cancel')}\n \n \n \n );\n }}\n \n \n \n );\n}\n","import styled from 'styled-components/macro';\nimport ReactSelect from 'react-select';\n\nexport const Container = styled.div`\n padding: 5px 0 5px 0;\n width: 100%;\n opacity: ${({ disabled }) => (disabled ? '.3' : '1')};\n`;\n\nexport const Label = styled.label`\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.paragraph}px;\n width: 100%;\n opacity: ${({ shouldShow }) => (shouldShow ? 1 : 0)};\n transition: opacity 0.3s;\n`;\n\nexport const InputWrapper = styled.div`\n width: 100%;\n height: 30px;\n border-bottom: solid 1px\n ${({ theme, errorColor }) => (errorColor ? theme.red : theme.dark)};\n display: flex;\n align-items: center;\n\n > svg {\n color: ${({ theme }) => theme.gray2};\n width: 20px;\n margin-left: 5px;\n }\n > div {\n width: 100%;\n }\n`;\n\nexport const Select = styled(ReactSelect)`\n .select__control {\n border: 0;\n border-radius: 0;\n box-shadow: none;\n color: ${({ theme }) => theme.gray2};\n height: 30px;\n width: ${({ width }) => (width ? `${width}px` : '100%')} !important;\n background-color: transparent;\n\n .select__value-container {\n height: 30px;\n padding: 0 0 0 10px;\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.paragraph}px;\n\n .select__single-value {\n color: ${({ theme }) => theme.dark2} !important;\n text-transform: capitalize;\n }\n\n .select__multi-value {\n background-color: ${({ theme }) => theme.light};\n color: ${({ theme }) => theme.gray2};\n\n .select__multi-value__label {\n padding-top: 6px;\n background-color: ${({ theme }) => theme.light};\n }\n }\n }\n\n .select__indicator-separator {\n display: none;\n }\n\n .select__dropdown-indicator,\n .select__clear-indicator {\n padding: 0;\n color: ${({ theme }) => theme.gray2};\n margin-bottom: 8px;\n }\n }\n\n .select__menu {\n border-radius: 0;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);\n margin-top: 0;\n font-family: ${({ theme }) => theme.primaryFontLight};\n background-color: ${({ theme }) => theme.light};\n z-index: 6;\n text-transform: capitalize;\n }\n`;\n","import React from 'react';\nimport { PropTypes } from 'prop-types';\nimport { ErrorMessage } from '~/components/Form/styles';\nimport * as S from './styles';\nimport Icon from '~/components/Icon';\n\nexport default function CustomSelect({\n selector,\n label,\n value,\n onChange,\n error,\n options,\n icon,\n placeholder,\n disabled,\n}) {\n return (\n \n {label}\n 0}>\n {icon && }\n \n \n 0}>{error}\n \n );\n}\n\nCustomSelect.propTypes = {\n selector: PropTypes.string.isRequired,\n label: PropTypes.string,\n value: PropTypes.object,\n onChange: PropTypes.func,\n error: PropTypes.string,\n options: PropTypes.array,\n icon: PropTypes.string,\n placeholder: PropTypes.string,\n disabled: PropTypes.bool,\n};\n\nCustomSelect.defaultProps = {\n label: '',\n value: {},\n onChange: () => {},\n error: '',\n options: [],\n icon: '',\n placeholder: '',\n disabled: false,\n};\n","import images from '~/constants/images';\n\nexport const PrivacyPolicy = {\n logoWidth: '170px',\n logoHeight: '70px',\n logo: images.logoBlackHorizontal,\n es: {\n title: 'Política de Privacidad',\n subtitle: 'Canal Información de Partidos',\n text:\n \"

La presente Política de Privacidad (en adelante, la “Política”) tiene por objeto regular los actos de tratamiento de datos personales que realiza LA LIGA NACIONAL DE FÚTBOL PROFESIONAL (en adelante, “LaLiga”) a través del Canal de Información de Partidos (en adelante, la “Plataforma”).

¿Quién es el responsable del tratamiento de tus datos personales?

Tus datos de carácter personal serán tratados por La Liga, con NIF: G-78069762 y domicilio en Calle Torrelaguna 60, 28043, Madrid, es una Asociación Deportiva de derecho privado, a tenor de lo establecido en los artículos 12 y 41 de la Ley 10/1990, de 15 de octubre, del Deporte, la cual está integrada exclusiva y obligatoriamente por todas las Sociedades Anónimas Deportivas y Clubes que participan en competiciones oficiales de fútbol de ámbito estatal y carácter profesional. LaLiga está registrada con el número 1 en la sección Ligas Profesionales del Libro Registro de Asociaciones Deportivas del Consejo Superior de Deportes.

Contacto con el Delegado de Protección de Datos de LaLiga: dpo@laliga.es

¿Con qué finalidad tratamos tus datos personales?

Finalidades principales:

Prestación del servicio solicitado: Te informamos de que tus datos personales serán tratados por LaLiga a los efectos de facilitar, gestionar, mantener y controlar los servicios solicitados en la Plataforma. Asimismo, respecto de la gestión y mantenimiento de los servicios solicitados, LaLiga tratará tus datos de forma agregada para la elaboración de estadísticas relevantes, mejorando así los servicios prestados y, en consecuencia, la experiencia de los usuarios.

La base legal para la finalidad mencionada anteriormente es la ejecución de los servicios solicitados regulados a través de las condiciones de uso de la presente Plataforma.

Finalidades adicionales:

A continuación, se indican las finalidades adicionales para las que LaLiga tratará tus datos personales, en caso de que nos des tu consentimiento:

Para que LaLiga pueda redactar informes y extraer estadísticas con base a tu perfil y hábitos de navegación con la finalidad de evaluar el rendimiento y el servicio de la Plataforma.

En este sentido, LaLiga llevara a cabo un proceso de extracción de datos directamente de la Plataforma sin necesidad de utilizar ningún tipo de algoritmo o proceso de perfilado complejo.

La base legal para el tratamiento de tus datos para las finalidad anteriormente mencionada es el consentimiento que nos has concedido para el tratamiento de tus datos. Tus datos personales serán mantenidos para estas finalidades hasta que no revoques tu consentimiento.

Tienes derecho a retirar tu consentimiento en cualquier momento conforme al procedimiento descrito en el apartado “¿Cuáles son los derechos del usuario cuando nos facilita sus datos personales?”, sin que ello afecte a la licitud del tratamiento basado en el consentimiento de forma previa a su retirada.

¿Por cuánto tiempo conservaremos tus datos personales?

LaLiga conservará tus datos personales mientras no revoques tu consentimiento, y/o no ejerzas tu derecho de supresión, oposición o limitación del tratamiento. Conservamos tus datos personales durante el tiempo que los necesitemos para las finalidades indicadas en esta política de privacidad, para satisfacer tus necesidades y para cumplir con nuestras obligaciones legales.

Asimismo, te informamos de que una vez se cumplan las finalidades para las cuales fueron recabados tus datos o una vez ejercido los derechos anteriormente enunciados, LaLiga mantendrá tus datos personales debidamente bloqueados por un periodo de cinco (5) años con el único fin de atender las responsabilidades de cualquier índole que pudieran surgir. Dichos datos personales serán suprimidos cuando prescriba dicho plazo.

¿A qué destinatarios se comunicarán tus datos personales?

Tus datos personales no serán comunicados a terceros. No obstante, LaLiga podrá revelar los datos personales y cualquier otra información del usuario cuando le sea requerida por autoridades públicas en el ejercicio de las funciones que tienen legítimamente atribuidas y conforme a las disposiciones que resulten aplicables.

Del mismo modo, algunas entidades subcontratadas por LaLiga podrían acceder a los datos personales e información como Encargados o Subencargados del tratamiento para prestar a LaLiga un servicio necesario.

LaLiga recibe asistencia de proveedores de servicios. En aquellas ocasiones donde se requiera para la prestación del servicio, tu información se compartirá con nuestros terceros proveedores de servicios. Estos proveedores de servicios firman un contrato que les obliga a utilizar tu información personal únicamente para la prestación de servicios y de conformidad con esta política.

¿Cuáles son tus derechos cuando nos facilitas tus datos personales?

Te informamos que, en cualquier momento, puedes ejercer tus derechos de acceso, rectificación, oposición, supresión, portabilidad y limitación del tratamiento ante LaLiga.

¿En qué consisten tus derechos como usuario?

Derecho de acceso: tienes derecho a obtener confirmación sobre si LaLiga trata tus datos personales, así como a acceder a los mismos.

Derecho de rectificación: podrás solicitar la modificación o rectificación de datos personales inexactos.

Derecho de supresión: podrás solicitar la supresión de tus datos personales.

Derecho de limitación del tratamiento: En determinadas circunstancias, podrás solicitar la limitación del tratamiento de sus datos, en cuyo caso únicamente se conservarán para el ejercicio o la defensa de reclamaciones.

Derecho de oposición: podrás oponerte al tratamiento de tus datos para la finalidad que especifiques. LaLiga cesará en el tratamiento de los datos, salvo por motivos legítimos imperiosos, o el ejercicio o la defensa de posibles reclamaciones.

Derecho de portabilidad: si la Plataforma lo permite, podrás ejercer el derecho a la portabilidad de sus datos, en un formato estructurado, de uso común y lectura mecánica, y a transmitirlos a otro responsable del tratamiento.

¿Cómo ejerzo mis derechos?

Enviando un correo electrónico a lopd@laliga.es. El ejercicio de tus derechos será totalmente gratuito.

Si al acceder y, en su caso, al registrarse en la aplicación has dado tu consentimiento para las finalidades para las cuales se te ha solicitado, podrás revocarlo, en cualquier momento, siguiendo el procedimiento establecido en cada una de las comunicaciones comerciales que recibas, o enviando un correo electrónico a la dirección lopd@laliga.es.

La revocación del consentimiento prestado no afectará a la utilización que puedas hacer de la aplicación ni a la licitud del tratamiento basado en dicho consentimiento de manera previa a su retirada.

Asimismo, si consideras que no has obtenido satisfacción en el ejercicio de tus derechos o que el tratamiento de tus datos no se ha realizado conforme establece la normativa aplicable, puedes contactar con el delegado de protección de datos de LaLiga en la dirección de correo electrónico dpo@laliga.es o presentar una reclamación ante la Agencia Española de Protección de Datos a través de su página web www.aepd.es.

¿Existe algún tipo de limitación?

LaLiga te informa que para registrarte en la Plataforma debes tener, al menos, 18 años.

\",\n },\n en: {\n title: 'Privacy Policy',\n subtitle: 'Canal Información de Partidos',\n text:\n \"

This Privacy Policy (hereinafter, the “Policy”) seeks to regulate the personal data processing activities performed by LA LIGA NACIONAL DE FÚTBOL PROFESIONAL (hereinafter, “LaLiga”) via Canal de Informacion de Partidos (hereinafter, “Platform”).

Who is the data controller?

Your data will be processed by LaLiga, assigned Spanish Corporate Tax IDNo.: G-78069762, whose address is Calle Torrelaguna 60, 28043, Madrid. This institution is a private Sports Association, pursuant to the provisions of Articles 12 and 41 of Law 10/1990, of 15 October, on Sports, which is exclusively and compulsorily made up by all Public Sporting Companies and Clubs that participate in official national and professional football competitions. LaLiga is registered under number 1 in the Professional Leagues section of the Register of Sports Associations held by the HighSports Council.

Contact details of LaLiga’s Data Protection Officer: dpo@laliga.es

Why do we process your personal data?

Main purposes:

Provision of the requested service: We hereby inform you that your personal data will be processed by LaLiga in order to provide, manage and control the requested services in the Platform. Furthermore, in terms of the management and maintenance of the services requested, LaLiga will process your data in an aggregated manner to prepare relevant statistics, thus improving the services provided and, as a result, the experience of users.

The legal basis for the aforementioned purpose is the performance of the services required, regulated under the legal terms.

Additional purpose:

Below, the additional purpose for which LaLiga will process your personal data can be found, should you provide your consent:

So that LaLiga can prepare reports and statistics based onyour profile and browsing and consumption habits in order toassess the performance of the Platform.

For that purpose, LaLiga will extract these statistics directly from the Platform without using any type of complex algorithm.

The legal basis for processing your data for the aforementioned purpose is the consent that you provided for the processing of your data. Your personal data will be retained for this purpose until you withdraw your consent.

You have the right to withdraw your consent at any time in line with the procedure set out in the section “What are the user's rights when we are provided with your personal data?”, without affecting the legality of consent-based processing prior to its withdrawal.

How long do we store your personal data?

LaLiga will store your personal data until you withdraw your consent and/or you do not exercise your right of erasure, object or limitation of processing. We store your personal data for as long as we need them for the purposes indicated in this privacy policy, to satisfy your needs and fulfil our legal obligations.

Furthermore, we hereby inform you that once the purposes for which your data were collected have been achieved, or the aforementioned rights are exercised, LaLiga will store your personal data, blocking them accordingly, for a period of five (5) years, solely in order to respond to any liability that may arise. These personal data will be deleted when this period comes to an end.

Who will we send your personal data to?

Your personal data will not be sent to third parties. However, LaLiga may communicate your personal data and any other user information when required to the public authorities in the performance of the duties legally attributed to them and pursuant to the applicable provisions.

LaLiga receives assistance from service providers. When necessary to provide you with the service, your information will be shared with our third-party service providers. These service providers sign an agreement that requires them to only use your personal data for the provision of services and as set out in this policy.

What are your rights when we are provided with your personal data?

We hereby inform you that you can exercise your rights of access, rectification, object, erasure, portability or limitation of processing before LaLiga at any time.

What are your rights as a user?

Right of access: you have the right to obtain confirmation about whether LaLiga will process your personal data and access these data.

Right of rectification: you can ask for inaccurate personal data to beamended or modified.

Right of erasure: you can ask for your personal data to be deleted.

Right of limitation of processing: in certain circumstances, you may ask for the processing of your data to be limited. In this case, they may only bepreserved to file or defend against lawsuits.

Right of object: you may oppose the processing of your data for the purposes you specify. LaLiga will refrain from processing your data, unless justified on compelling legitimate grounds or to defend against possible lawsuits.

Right of portability: you may exercise the right to transfer your data, in astructured, commonly used and mechanical format to another datacontroller.

How can I exercise my rights?

Sending an email to lopd@laliga.es. The exercise of your rights is completely free of charge.

When registering in the event, you provide your consent for the purposes forwhich your data has been requested, you may withdraw this consent, at anytime, via the Subscriptions Centre on your profile menu, following the procedure established in each of the commercial communications you receive or by sending an email to lopd@laliga.es.

The withdrawal of your consent will not affect the legality of processing based on this consent prior to its withdrawal.

Furthermore, if you believe that you have not been able to exercise your rights to your satisfaction, or that your data has not been processed asestablished in the applicable regulations, you may contact the data protection officer at LaLiga at dpo@laliga.es or file a claim before the Spanish Data Protection Agency at its website, www.aepd.es.

Does any kind of limitation apply?

LaLiga hereby informs you that for you to register in the event, you must beat least 18.

\",\n },\n};\n","import images from '~/constants/images';\n\nexport const DataProtection = {\n logoWidth: '90px',\n logoHeight: '100px',\n logo: images.logoBlackVertical,\n es: {\n title: 'Información básica sobre protección de datos',\n text:\n '

Para poder participar en el concurso debes ser mayor de 18 años.

El responsable de tus datos es La Liga Nacional de Fútbol Profesional (“LaLiga”).

¿Para qué utilizaremos tus datos? Con la aceptación de las condiciones de uso vamos a prestarte los servicios que ofrecemos a través de nuestra plataforma, del mismo modo, y si nos das tu consentimiento, LaLiga podrá extraer estadísticas individualizadas con la finalidad de evaluar y mejorar el servicio de la plataforma. Asimismo, trataremos tus datos de forma agregada para elaborar estadísticas.

En cualquier momento puedes ejercer tus derechos conforme se explica en la política de privacidad.

',\n },\n en: {\n title: 'Basic data protection information',\n text:\n '

To register yourself in the platform, you must be over 18.

The Data Controller is La Liga Nacional de Fútbol Profesional (“LaLiga”).

What will we use your data for? By accepting these terms and conditions, you authorise us to allow you to access to the services provided in the platform. If you provide your consent, LaLiga can assess statistics based on your profile and browsing habits in order to improve the services. Furthermore, we will process your data in an aggregate manner to generate statistics.

You may exercise your rights at any time, as explained in the privacy policy.

',\n },\n};\n","import styled from 'styled-components/macro';\nimport images from '~/constants/images';\n\nexport const StaticContainer = styled.div`\n width: 100%;\n background-color: ${({ theme }) => theme.light};\n height: auto;\n overflow-y: scroll;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n padding: 30px;\n\n &:before {\n content: ' ';\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n opacity: 0.05;\n background-image: url(${images.beat});\n background-repeat: no-repeat;\n background-position: center 110%;\n z-index: 0;\n }\n }\n`;\n\nexport const Logo = styled.div`\n width: ${({ logoWidth }) => logoWidth || '100%'};\n height: ${({ logoHeight }) => logoHeight || 'auto'};\n background-image: url(${({ src }) => src && src});\n background-size: 100%;\n background-repeat: no-repeat;\n background-position: center;\n margin: 0 auto;\n`;\n\nexport const Title = styled.p`\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.h5}px;\n color: ${({ theme }) => theme.blue};\n width: 100%;\n text-align: center;\n margin: 20px 0 10px;\n`;\n\nexport const SubTitle = styled.p`\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.h4}px;\n color: ${({ theme }) => theme.black};\n width: 100%;\n text-align: center;\n margin: 0 0 10px;\n text-transform: uppercase;\n`;\n\nexport const Content = styled.div`\n width: 100%;\n height: auto;\n p {\n font-family: ${({ theme }) => theme.primaryFontLight};\n width: 100%;\n text-align: left;\n margin: 20px 0;\n\n b {\n font-family: ${({ theme }) => theme.primaryFontMedium};\n }\n\n a {\n text-decoration: underline;\n }\n }\n`;\n\nexport const Close = styled.a`\n width: auto;\n height: auto;\n padding: 10px 40px;\n background-color: ${({ theme }) => theme.blue};\n color: ${({ theme }) => theme.white};\n cursor: pointer;\n z-index: 50;\n`;\n\nexport const Wrapper = styled.div`\n padding: 40px 75px;\n`;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { PropTypes } from 'prop-types';\nimport i18n from 'i18next';\nimport { sanitize } from '@laliga-cdac/react';\nimport * as S from './styles';\n\nexport default function LegalTermsContent({ closeModal, data }) {\n const { t } = useTranslation();\n const lang = i18n.language;\n\n return (\n \n \n {data.logo && (\n \n )}\n {data[lang].title && {data[lang].title}}\n {data[lang].subtitle && {data[lang].subtitle}}\n \n closeModal()}>{t('close')}\n \n \n );\n}\n\nLegalTermsContent.propTypes = {\n closeModal: PropTypes.func,\n data: PropTypes.object,\n};\n\nLegalTermsContent.defaultProps = {\n closeModal: () => {},\n data: {},\n};\n","import React from 'react';\nimport * as Yup from 'yup';\nimport { Formik } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport validateDNI from '~/utils/validateDNI';\nimport { registerRequest } from '~/store/modules/auth/actions';\n\nexport default function FormConfig({\n children,\n selectedOption,\n setMediaTypeError,\n captchaValue,\n setCaptchaError,\n setCaptchaValue,\n}) {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n /**\n * La propiedad \"policy\" se ha cambiado por \"enableConsent\"\n * el endpoint no espera una propiedad profile, hay que revisar\n * que las propiedades que se envian están desactualizadas o hablar con el\n * back para ver que está pasando.\n */\n return (\n {\n const selectedOptionIsNotEmpty =\n Object.keys(selectedOption).length !== 0;\n const captchaWasFilled = captchaValue !== null;\n const otherOptionIsSelected = selectedOption.value === 'other';\n const mediaTypeDescriptionIsInvalid =\n values.mediaType === '' || values.mediaType.length < 2;\n\n if (\n captchaWasFilled &&\n selectedOptionIsNotEmpty &&\n !(otherOptionIsSelected && mediaTypeDescriptionIsInvalid)\n ) {\n // Form data will be sent here if everything is valid\n dispatch(\n registerRequest({\n ...values,\n mediaType:\n selectedOption.value === 'other'\n ? values.mediaType\n : selectedOption.value,\n 'g-recaptcha-response': captchaValue,\n })\n );\n setSubmitting(false);\n setCaptchaValue(null);\n window.grecaptcha.reset();\n return;\n }\n\n if (\n selectedOptionIsNotEmpty ||\n (otherOptionIsSelected && mediaTypeDescriptionIsInvalid)\n ) {\n setMediaTypeError(t('mediaTypeIsRequiredValidationError'));\n }\n\n if (!captchaWasFilled) {\n setCaptchaError(t('captchaIsRequiredValidationError'));\n }\n\n setSubmitting(false);\n window.grecaptcha.reset();\n }}\n validationSchema={Yup.object().shape({\n firstName: Yup.string()\n .min(3, t('mustHave3OrMoreLetters'))\n .max(30, t('mustHave30OrLessLetters'))\n .matches(/^[A-Za-zÀ-ÖØ-öø-ÿ ]*$/, t('mustContainOnlyLetters'))\n .required(t('nameIsRequiredValidationError')),\n lastName: Yup.string()\n .min(3, t('mustHave3OrMoreLetters'))\n .max(30, t('mustHave30OrLessLetters'))\n .matches(/^[A-Za-zÀ-ÖØ-öø-ÿ ]*$/, t('mustContainOnlyLetters'))\n .required(t('lastNameIsRequiredValidationError')),\n document: Yup.string()\n .test('dni-test', t('documentFormatInvalid'), value => {\n return validateDNI(value);\n })\n .required(t('dniIsRequiredValidationError')),\n email: Yup.string()\n .email(t('invalidEmail'))\n .required(t('emailIsRequiredValidationError')),\n mediaName: Yup.string()\n .min(2, t('mustHave3OrMoreLetters'))\n .max(15, t('mustHave15OrLessLetters'))\n .matches(/^[A-Za-zÀ-ÖØ-öø-ÿ ]*$/, t('mustContainOnlyLetters'))\n .required(t('mediaNameIsRequiredValidationError')),\n mediaType: Yup.string()\n .min(2, t('mustHave2OrMoreLetters'))\n .max(50, t('mustHave50OrLessLetters'))\n .matches(/^[a-zA-Z \\s]*$/, t('mustContainOnlyLetters')),\n phoneNumber: Yup.number().required(\n t('telephoneIsRequiredValidationError')\n ),\n plainPassword: Yup.string()\n .matches(\n /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[.+!@#$%^&*])(?=.{8,20})/,\n t('passwordFormatValidationError')\n )\n .required(t('passwordIsRequiredValidationError')),\n passwordConfirmation: Yup.string()\n .oneOf([Yup.ref('plainPassword'), null], t('passwordsMustMatch'))\n .required(t('confirmPasswordIsRequiredValidationError')),\n profile: Yup.boolean(),\n enabledConsent: Yup.boolean()\n .required(t('policyIsRequiredValidationError'))\n .oneOf([true], t('policyIsRequiredValidationError')),\n })}\n >\n {children}\n \n );\n}\n\nFormConfig.propTypes = {\n children: PropTypes.oneOfType([PropTypes.element, PropTypes.func]).isRequired,\n selectedOption: PropTypes.object,\n setMediaTypeError: PropTypes.func.isRequired,\n captchaValue: PropTypes.string,\n setCaptchaValue: PropTypes.func,\n setCaptchaError: PropTypes.func,\n};\n\nFormConfig.defaultProps = {\n captchaValue: null,\n setCaptchaValue: () => {},\n setCaptchaError: () => {},\n selectedOption: null,\n};\n","import React, { useCallback, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport { useGoogleReCaptcha } from 'react-google-recaptcha-v3';\nimport Link from '~/components/Link';\nimport Select from '~/components/Form/Select';\nimport Form from '~/components/Form';\nimport Input from '~/components/Form/Input';\nimport routesPath from '~/constants/routes';\nimport Captcha from '~/components/Form/Captcha';\nimport * as S from '~/components/Form/styles';\nimport GridCell from '~/components/GridCell';\nimport DefaultLayout from '~/pages/_layouts/DefaultLayout';\nimport { getMediaTypes } from '~/services/api';\nimport { theme } from '~/styles/theme';\nimport { PopUpView } from '~/components';\nimport { PrivacyPolicy } from '~/static/privacyPolicy';\nimport { DataProtection } from '~/static/dataProtection';\nimport FoldedMenu from '~/components/FoldedMenu';\nimport { languageOptions } from '~/utils/languageOptions';\nimport LegalTermsContent from './components/LegalTermsContent';\nimport FormConfig from './components/FormConfig';\n\nexport default function Register() {\n const { t } = useTranslation();\n const { executeRecaptcha } = useGoogleReCaptcha();\n const [selectedOption, setSelectedOption] = useState(null);\n const [mediaTypeError, setMediaTypeError] = useState('');\n const [captchaValue, setCaptchaValue] = useState(null);\n const [captchaError, setCaptchaError] = useState('');\n const [showModalPolicy, setModalPolicyVisibility] = useState(false);\n const [showModalData, setModalDataVisibility] = useState(false);\n\n const { loading } = useSelector(state => state.auth);\n const [mediaTypes, setMediaTypes] = useState([\n { label: t('other'), value: 'other' },\n ]);\n\n const handleReCaptchaVerify = useCallback(async () => {\n if (!executeRecaptcha) {\n return;\n }\n\n const token = await executeRecaptcha('register');\n setCaptchaValue(token);\n }, [executeRecaptcha]);\n\n useEffect(() => {\n handleReCaptchaVerify();\n }, [handleReCaptchaVerify]);\n\n const checkValidations = () => {\n handleReCaptchaVerify();\n\n if (selectedOption !== {} && captchaValue !== null) {\n setMediaTypeError('');\n setCaptchaError('');\n } else {\n if (\n selectedOption === null ||\n Object.keys(selectedOption).length === 0 ||\n selectedOption.value === 'other'\n ) {\n setMediaTypeError(t('mediaTypeIsRequiredValidationError'));\n }\n if (captchaValue === null) {\n setCaptchaError(t('captchaIsRequiredValidationError'));\n }\n }\n };\n\n const mediaTypeFetchTrigger = useCallback(() => {\n const fetchMediaTypes = async () => {\n const otherOption = { label: t('other'), value: 'other' };\n try {\n const { data } = await getMediaTypes();\n setMediaTypes([\n ...data['hydra:member'].map(opt => ({\n label: opt.name,\n value: opt.name,\n })),\n otherOption,\n ]);\n } catch (err) {\n setMediaTypes([otherOption]);\n }\n };\n fetchMediaTypes();\n }, [t, setMediaTypes]);\n\n useEffect(() => {\n mediaTypeFetchTrigger();\n }, [mediaTypeFetchTrigger]);\n\n const areas = {\n xs:\n '\"HEADER\" \"NAME\" \"SURNAME\" \"EMAIL\" \"PASSWORD\" \"PASSWORD2\" \"DNI\" \"MOBILE\" \"MEDIANAME\" \"MEDIATYPE\" \"MEDIATYPE2\" \"CHECK\" \"POLICY\" \"CAPTCHA\" \"SUBMIT\" \"ADVISE\"',\n lg:\n '\"HEADER HEADER\" \"NAME DNI\" \"SURNAME MOBILE\" \"EMAIL MEDIANAME\" \"PASSWORD MEDIATYPE\" \"PASSWORD2 MEDIATYPE2\" \"CHECK CHECK\" \"POLICY POLICY\" \"CAPTCHA CAPTCHA\" \"SUBMIT SUBMIT\" \"ADVISE ADVISE\"',\n };\n\n const handleMediaTypeChange = option => {\n setSelectedOption(option);\n };\n\n return (\n \n \n {props => {\n // eslint-disable-next-line react/prop-types\n const { isSubmitting, handleSubmit, errors } = props;\n return (\n \n \n \n \n \n {t('createAccount')}\n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n {selectedOption !== null && selectedOption.value === 'other' && (\n \n )}\n \n\n \n \n \n {t('profileConditions')}\n \n \n \n \n \n {t('legalText1')}{' '}\n setModalDataVisibility(true)}\n onClick={e => {\n e.preventDefault();\n setModalDataVisibility(true);\n }}\n >\n {t('legalTerms')}\n {' '}\n {t('and')}{' '}\n setModalPolicyVisibility(true)}\n onClick={e => {\n e.preventDefault();\n setModalPolicyVisibility(true);\n }}\n >\n {t('privacyPolicy')}\n {' '}\n {t('legalText2')}\n \n \n\n \n \n \n\n \n checkValidations()}\n disabled={isSubmitting || loading}\n >\n {isSubmitting || loading\n ? t('loading')\n : t('createAccount')}\n \n \n \n {t('profesionalAdvise')}\n \n \n \n

{t('haveAccount')}

\n
\n {t('login')}\n
\n
\n
\n );\n }}\n \n {\n setModalPolicyVisibility(false);\n }}\n zone=\"whole\"\n fullWidth={window.innerWidth <= theme.breakpoints.sm}\n >\n setModalPolicyVisibility(false)}\n />\n \n setModalDataVisibility(false)}\n zone=\"whole\"\n fullWidth={window.innerWidth <= theme.breakpoints.sm}\n >\n setModalDataVisibility(false)}\n />\n \n \n
\n );\n}\n","import styled from 'styled-components/macro';\n\nexport const FloatingMessage = styled.div`\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 150px;\n font-size: ${({ theme }) => theme.h5}px;\n font-family: ${({ theme }) => theme.primaryFontLight};\n color: ${({ theme }) => theme.dark};\n text-align: center;\n`;\n\nexport const Container = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: ${({ width }) => width || 100}%;\n border: 10px solid ${({ theme }) => theme.mainGrey};\n padding: 20px 60px;\n background-color: ${({ theme }) => theme.white};\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.sm}px`}) {\n width: 100vw;\n height: ${props => (props.height ? props.height : '100vh')};\n min-width: 0;\n border: 0;\n ${({ initialPosition }) => initialPosition && 'justify-content:flex-start;'}\n }\n`;\n","import React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport Link from '~/components/Link';\nimport * as FormStyled from '~/components/Form/styles';\nimport routesPath from '~/constants/routes';\nimport * as S from './styles';\nimport DefaultLayout from '~/pages/_layouts/DefaultLayout';\nimport { resendEmailRequest } from '~/store/modules/auth/actions';\nimport { languageOptions } from '~/utils/languageOptions';\nimport FoldedMenu from '~/components/FoldedMenu';\n\nexport default function RegisterConfirmation() {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const [emailConfirmation, setEmailConfirmation] = useState(null);\n const { loading } = useSelector(state => state.auth);\n\n useEffect(() => {\n setEmailConfirmation({\n email: localStorage.getItem('email-confirmation'),\n });\n }, []);\n\n return (\n \n \n \n {t('registerConfirmation')}\n\n \n

{t('registerConfirmationMessage')}

\n
\n\n \n {\n dispatch(resendEmailRequest(emailConfirmation));\n }}\n >\n {loading ? `${t('loading')}...` : t('sendEmailAgain')}\n \n \n\n \n {\n setEmailConfirmation('');\n localStorage.removeItem('email-confirmation');\n }}\n >\n {t('return')}\n \n \n
\n \n
\n );\n}\n","import PropTypes from 'prop-types';\n\nconst propTypes = {\n columns: PropTypes.func,\n visitorColumns: PropTypes.func,\n handleClickOnRowRight: PropTypes.func,\n handleClickOnRowLeft: PropTypes.func,\n modalContentLeft: PropTypes.object,\n modalContentRight: PropTypes.object,\n localTableData: PropTypes.array,\n visitorTableData: PropTypes.array,\n setModalContentLeft: PropTypes.func,\n setModalContentRight: PropTypes.func,\n selectedMatch: PropTypes.object,\n isFetching: PropTypes.bool,\n placeholderNumElements: PropTypes.number,\n};\n\nconst defaultProps = {\n columns: () => {},\n visitorColumns: () => {},\n handleClickOnRowRight: () => {},\n handleClickOnRowLeft: () => {},\n modalContentLeft: {},\n modalContentRight: {},\n localTableData: [],\n visitorTableData: [],\n setModalContentLeft: () => {},\n setModalContentRight: () => {},\n selectedMatch: {},\n isFetching: false,\n placeholderNumElements: 11,\n};\n\nexport { propTypes, defaultProps };\n","import styled, { keyframes } from 'styled-components/macro';\n\nconst placeholderAnimation = keyframes`\n 0%{\n opacity: 1;\n }\n 50%{\n opacity: .3;\n }\n 100%{\n opacity: 1;\n }\n`;\n\nexport const NameAndRoleContainer = styled.div`\n display: flex;\n align-items: center;\n`;\n\nexport const Content = styled.div`\n order: ${({ invert }) => (invert ? 1 : 3)};\n text-align: ${({ invert }) => (invert ? 'right' : 'left')};\n color: ${({ textColor }) => textColor || 'inherit'};\n padding: 0px 10px;\n flex-grow: 1;\n`;\n\nexport const Image = styled.img`\n width: 100%;\n height: 100%;\n order: 2;\n object-fit: cover;\n object-position: 50% 0%;\n`;\n\nexport const ImagePlaceholder = styled.div`\n width: 82px;\n height: 92px;\n order: 2;\n background-color: ${({ theme }) => theme.darkWithLowOpacity};\n animation: ${placeholderAnimation} 2s linear infinite;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n width: 64px;\n height: 70px;\n }\n`;\n\nexport const ImageContainer = styled.div`\n width: 82px;\n height: 92px;\n max-width: 82px;\n min-width: 82px;\n order: 2;\n display: flex;\n flex-direction: row;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n width: 64px;\n height: 70px;\n max-width: 64px;\n min-width: 64px;\n }\n\n svg {\n top: 0;\n left: 0;\n margin-right: -10px;\n }\n`;\n\nexport const ImageEmpty = styled.div`\n width: 53px;\n height: 53px;\n order: 2;\n background-color: ${({ theme }) => theme.darkWithLowOpacity};\n`;\n\nexport const Title = styled.span`\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: 13px;\n margin-bottom: 4px;\n display: block;\n text-transform: uppercase;\n`;\n\nexport const TitlePlaceholder = styled.div`\n display: inline-block;\n width: 80%;\n background-color: ${({ theme }) => theme.darkWithLowOpacity};\n height: 10px;\n animation: ${placeholderAnimation} 2s linear infinite;\n`;\n\nexport const Subtitle = styled.span`\n font-weight: normal;\n display: block;\n text-transform: uppercase;\n font-family: ${({ theme }) => theme.primaryFontLight};\n font-size: 9px;\n`;\n\nexport const SubtitlePlaceholder = styled.div`\n display: inline-block;\n width: 60%;\n background-color: ${({ theme }) => theme.darkWithLowOpacity};\n height: 10px;\n animation: ${placeholderAnimation} 2s linear infinite;\n`;\n","import { PropTypes } from 'prop-types';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport * as S from './styles';\nimport { Icon } from '~/components';\nimport images from '~/constants/images';\n\nexport const NameAndRole = ({\n name,\n rol,\n image,\n invert,\n styles,\n className,\n isFetching,\n isTop5,\n}) => {\n const { t } = useTranslation();\n const Content = () => {\n if (isFetching) {\n return (\n <>\n \n \n \n \n \n \n );\n }\n return (\n <>\n \n {isTop5 && }\n {!image && }\n {image && }\n \n \n {name}\n {t(rol)}\n \n \n );\n };\n return (\n \n \n \n );\n};\n\nNameAndRole.propTypes = {\n name: PropTypes.string,\n rol: PropTypes.string,\n image: PropTypes.string,\n invert: PropTypes.bool,\n styles: PropTypes.object,\n className: PropTypes.string,\n isFetching: PropTypes.bool,\n isTop5: PropTypes.bool,\n};\n\nNameAndRole.defaultProps = {\n name: null,\n rol: null,\n image: null,\n invert: false,\n styles: {},\n className: null,\n isFetching: false,\n isTop5: false,\n};\n","import { PropTypes } from 'prop-types';\nimport React from 'react';\nimport { Icon } from '~/components';\n\nexport default function CustomTd({ name, isTop5 }) {\n return (\n <>\n {isTop5 && }\n {name}\n \n );\n}\n\nCustomTd.propTypes = {\n name: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n isTop5: PropTypes.bool,\n};\n\nCustomTd.defaultProps = {\n name: '',\n isTop5: false,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { TabBar, TabButton } from '~/components';\n\nexport default function SubRouteSwitch({\n onChange,\n value,\n className,\n homeName,\n awayName,\n styleTab,\n}) {\n return (\n \n \n \n \n );\n}\n\nSubRouteSwitch.propTypes = {\n onChange: PropTypes.func,\n value: PropTypes.string,\n className: PropTypes.string,\n homeName: PropTypes.string,\n awayName: PropTypes.string,\n styleTab: PropTypes.object,\n};\n\nSubRouteSwitch.defaultProps = {\n onChange: () => {},\n value: '',\n className: '',\n homeName: '--',\n awayName: '--',\n styleTab: false,\n};\n","import styled, { css } from 'styled-components/macro';\nimport { Table, PopUpView, Icon } from '~/components';\nimport Tabs from './components/Tabs';\n\nexport const Container = styled.div`\n position: relative;\n display: grid;\n grid-template-columns: 50% 50%;\n flex-grow: 1;\n`;\n\nexport const ContainerSm = styled.div`\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n`;\n\nexport const TabsSections = styled(Tabs)`\n position: sticky;\n top: 0;\n ${({ tabletMode, theme }) =>\n tabletMode ? `border-top: solid 1px ${theme.gray3}` : null}\n`;\n\nexport const ShieldBackground = styled.div`\n width: 100%;\n height: 100%;\n position: absolute;\n background-image: url(${({ bgImage }) => bgImage});\n background-repeat: no-repeat;\n background-position: ${({ isLocal }) =>\n isLocal\n ? '-176px calc(50% + 160px)'\n : 'calc(100% + 176px) calc(50% + 160px)'};\n background-attachment: fixed;\n filter: grayscale(100%);\n background-size: 700px;\n z-index: 0;\n opacity: 0.1;\n`;\n\nexport const TableContainerLocal = styled.div`\n height: 100%;\n position: relative;\n background-color: ${({ theme }) => theme.white};\n\n > div:last-child {\n z-index: 2;\n & > div,\n > table {\n padding-left: 30px;\n padding-bottom: 20px;\n }\n }\n\n @media (max-width: ${({ theme }) => theme.breakpoints.xl}px) {\n flex-direction: column;\n > div:nth-child(1) {\n padding-left: 0px;\n background-color: ${({ theme }) => theme.lightWithOpacity};\n }\n }\n`;\n\nexport const TableContainerVisitor = styled.div`\n height: 100%;\n position: relative;\n background-color: ${({ theme }) => theme.dark4};\n > div:last-child {\n z-index: 2;\n & > div,\n > table {\n padding-right: 30px;\n padding-bottom: 20px;\n }\n }\n\n @media (max-width: ${({ theme }) => theme.breakpoints.xl}px) {\n flex-direction: column;\n > div:nth-child(1) {\n padding-right: 0px;\n background-color: ${({ theme }) => theme.dark4MidOpacity};\n }\n }\n`;\n\nexport const HeaderTable = styled.div`\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n flex-direction: ${({ isVisitor }) => (isVisitor ? 'row-reverse' : 'row')};\n padding: 25px;\n @media (max-width: ${({ theme }) => theme.breakpoints.xl}px) {\n justify-content: center;\n }\n`;\n\nexport const HeaderTableContainer = styled.div`\n background-color: ${({ bgColor }) => bgColor || 'transparent'};\n padding-bottom: 10px;\n`;\nexport const CoachSection = styled.div`\n display: flex;\n justify-content: space-evenly;\n height: 92px;\n\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n height: 70px;\n }\n`;\n\nexport const HeaderTitle = styled.span`\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: 13px;\n text-transform: uppercase;\n color: ${({ isLocal, theme }) => (isLocal ? theme.dark : theme.light)};\n @media (max-width: ${({ theme }) => theme.breakpoints.xl}px) {\n color: ${props => (props.textColor ? props.textColor : 'inherit')};\n border-bottom: solid 2px\n ${({ textColor, theme }) => textColor || theme.black};\n }\n`;\n\nexport const Grow = styled.div`\n flex-grow: 1;\n`;\n\nexport const HeaderInfo = styled.span`\n display: flex;\n font-size: 13px;\n align-items: flex-start;\n color: ${({ isLocal, theme }) => (isLocal ? theme.dark : theme.light)};\n span {\n margin-right: 3px;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.xl}px) {\n justify-content: center;\n padding: 5px;\n background-color: ${({ isLocal, theme }) =>\n isLocal ? theme.lightWithOpacity : theme.dark5};\n }\n\n @media (max-width: ${({ theme }) => theme.breakpoints.xs}px) {\n justify-content: flex-start;\n align-items: center;\n padding: 8px 2px;\n span {\n margin-top: 2px;\n margin-right: 2px;\n }\n }\n`;\n\nexport const Bold = styled.span`\n font-family: ${({ theme }) => theme.primaryFontBold};\n`;\n\nexport const HeaderInfoIcon = styled(Icon)`\n @media (max-width: ${({ theme }) => theme.breakpoints.xs}px) {\n margin-right: 2px;\n }\n`;\n\nexport const HeaderInfoText = styled.span`\n @media (max-width: ${({ theme }) => theme.breakpoints.xs}px) {\n font-size: 9px;\n }\n`;\n\nconst TableBasic = css`\n position: relative;\n font-family: ${({ theme }) => theme.primaryFontLight};\n z-index: 1;\n table {\n min-height: 100%;\n thead {\n tr {\n cursor: pointer;\n th {\n font-weight: normal;\n color: ${({ theme }) => theme.coral};\n padding: 8px;\n text-transform: uppercase;\n position: sticky;\n top: 42px;\n z-index: 1;\n font-size: 12px;\n @media (max-width: ${({ theme }) => theme.breakpoints.xl}px) {\n top: 35px;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n position: relative;\n top: 0px;\n }\n div {\n justify-content: center;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n padding-top: 100px;\n &:first-child div {\n opacity: 0;\n }\n }\n }\n }\n }\n tbody {\n tr {\n cursor: pointer;\n transition: all 0.3s;\n &.table--selected {\n color: ${({ theme }) => theme.white};\n & td {\n background-color: ${({ theme, competition }) =>\n competition === 1 ? theme.coral : theme.turquoise};\n }\n }\n td {\n border: solid 1px transparent;\n border-right: none;\n border-left: none;\n padding: 8px;\n transition: all 0.3s;\n font-size: 14px;\n height: 72px;\n &:first-child {\n border-left: solid 1px transparent;\n }\n &:last-child {\n border-right: solid 1px transparent;\n //padding-right: 20px;\n }\n &:nth-child(2n) {\n }\n }\n }\n }\n }\n`;\n\nexport const TableGlobalStats = styled(Table)`\n ${TableBasic}\n table {\n thead {\n tr {\n th {\n color: ${({ theme }) => theme.dark};\n background-color: ${({ theme }) => theme.white};\n ${({ headerSticky }) => (headerSticky ? 'position: sticky;' : '')};\n &:first-child {\n padding: 0;\n line-height: 0;\n }\n &:nth-child(2n) > div {\n font-family: ${({ theme }) => theme.primaryFontBold};\n }\n\n &:first-child {\n div {\n justify-content: left;\n padding-left: 0px;\n @media (max-width: ${({ theme }) => theme.breakpoints.xl}px) {\n padding-left: 5px;\n }\n }\n }\n }\n }\n }\n tbody {\n tr {\n td {\n text-align: center;\n &:first-child {\n padding: 0;\n line-height: 0;\n width: 53px;\n }\n &:nth-child(2n) {\n font-family: ${({ theme }) => theme.primaryFontBold};\n }\n }\n }\n }\n }\n\n @media (max-width: ${({ theme }) => theme.breakpoints.xl}px) {\n background-color: ${({ theme }) => theme.white};\n }\n`;\n\nexport const TableGlobalStatsVisitor = styled(Table)`\n ${TableBasic}\n table {\n thead {\n tr {\n th {\n color: ${({ theme }) => theme.white};\n background-color: ${({ theme }) => theme.dark4};\n &:nth-child(2n - 1) {\n font-family: ${({ theme }) => theme.primaryFontBold};\n }\n &:last-child {\n div {\n justify-content: flex-end;\n padding-right: 0px;\n @media (max-width: ${({ theme }) => theme.breakpoints.xl}px) {\n padding-right: 5px;\n }\n }\n }\n }\n }\n }\n tbody {\n tr {\n td {\n text-align: center;\n &:last-child {\n padding: 0;\n line-height: 0;\n width: 53px;\n }\n &:nth-child(2n - 1) {\n font-family: ${({ theme }) => theme.primaryFontBold};\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.xl}px) {\n &:first-child {\n padding: 0;\n line-height: 0;\n width: 53px;\n }\n }\n }\n }\n }\n }\n\n @media (max-width: ${({ theme }) => theme.breakpoints.xl}px) {\n background-color: ${({ theme }) => theme.darkWithOpacity};\n }\n`;\n\nexport const ModalPlayer = styled(PopUpView)`\n width: 100vw;\n max-width: 965px;\n`;\n\nexport const ImageTable = styled.img`\n height: 53px;\n background-color: ${({ theme }) => theme.dark};\n`;\n\nexport const TrContainer = styled.tr`\n &:hover {\n td {\n background-color: ${({ theme, competition }) =>\n competition === 1 ? theme.coral : theme.turquoise} !important;\n color: ${({ theme }) => theme.white} !important;\n }\n }\n ${({ isTop5, theme }) =>\n isTop5\n ? `\n & > td {\n position: relative;\n &:before{\n content: '';\n top: -2px;\n bottom: -1px;\n right: -1px;\n left: -2px;\n border-top: solid 1px ${theme.yellow} !important;\n border-bottom: solid 1px ${theme.yellow} !important;\n position: absolute;\n }\n &:first-child:before {\n border-left: solid 1px ${theme.yellow} !important;\n }\n &:last-child:before {\n border-right: solid 1px ${theme.yellow} !important;\n }\n }\n `\n : null}\n`;\n","import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { theme } from '~/styles/theme';\nimport { PlayerInfo } from '~/pages';\nimport { Scrollbar, Spinner } from '~/components';\nimport images from '~/constants/images';\nimport { useSelector } from 'react-redux';\nimport { propTypes, defaultProps } from './propsValidation';\nimport { NameAndRole } from '../components';\nimport * as S from '../styles';\n\nexport default function GlobalStatistics({\n columns,\n handleClickOnRowRight,\n handleClickOnRowLeft,\n modalContentLeft,\n modalContentRight,\n localTableData,\n visitorTableData,\n handleCloseLeft,\n handleCloseRight,\n selectedMatch,\n modalContentLeftInitial,\n modalContentRightInitial,\n placeholderNumElements,\n isFetching,\n localHeadCoach,\n localSecondCoach,\n visitorHeadCoach,\n visitorSecondCoach,\n tabletMode,\n customTr,\n}) {\n const [tab, setTab] = useState('local');\n const { t } = useTranslation();\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n const styleTab = {\n secondaryColor: match?.competitionId === 1 ? theme.coral : theme.turquoise,\n withBorder: tabletMode,\n };\n const homeImage = selectedMatch ? selectedMatch.homeTeam.shieldImageUrl : '';\n const awayImage = selectedMatch ? selectedMatch.awayTeam.shieldImageUrl : '';\n const homeName = selectedMatch ? selectedMatch.homeTeam.nickname : '--';\n const awayName = selectedMatch ? selectedMatch.awayTeam.nickname : '--';\n\n return (\n \n \n setTab(value)}\n value={tab}\n homeName={homeName}\n awayName={awayName}\n tabletMode={tabletMode}\n styleTab={styleTab}\n />\n {tab === 'local' && (\n \n \n \n {t('squad')}\n \n \n {localHeadCoach && (\n \n )}\n {localSecondCoach && (\n \n )}\n \n \n }\n responsiveHeader\n columns={columns()}\n data={localTableData}\n selectedRow={\n modalContentRightInitial\n ? modalContentRightInitial.original.id\n : null\n }\n onRowClick={handleClickOnRowLeft}\n styleOptions={{\n primaryColor: theme.light2Opacity,\n secondaryColor: theme.white,\n textColor: theme.dark,\n fullWidth: true,\n }}\n />\n \n \n \n {t('signaledPlayersAre')}\n Top 5\n {t('inTheCategorySignaled')}\n \n \n \n )}\n {tab === 'away' && (\n \n \n \n \n {t('squad')}\n \n \n \n {visitorHeadCoach && (\n \n )}\n {visitorSecondCoach && (\n \n )}\n \n \n }\n responsiveHeader\n columns={columns()}\n data={visitorTableData}\n selectedRow={\n modalContentLeftInitial\n ? modalContentLeftInitial.original.id\n : null\n }\n onRowClick={handleClickOnRowRight}\n styleOptions={{\n primaryColor: theme.dark5,\n secondaryColor: theme.dark4,\n textColor: theme.white,\n fullWidth: true,\n }}\n />\n \n \n {t('signaledPlayersAre')}\n Top 5\n {t('inTheCategorySignaled')}\n \n \n )}\n handleCloseLeft(null)}\n zone=\"left\"\n >\n \n handleCloseLeft(null)}\n shield={awayImage}\n />\n \n \n handleCloseRight(null)}\n zone=\"right\"\n >\n \n handleCloseRight(null)}\n shield={homeImage}\n />\n \n \n \n );\n}\n\nGlobalStatistics.propTypes = propTypes;\n\nGlobalStatistics.defaultProps = defaultProps;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { theme } from '~/styles/theme';\nimport { PlayerInfo } from '~/pages';\nimport { Scrollbar, Spinner } from '~/components';\nimport images from '~/constants/images';\nimport { NameAndRole } from '../components';\nimport * as S from '../styles';\nimport { propTypes, defaultProps } from './propsValidation';\n\nexport default function GlobalStatistics({\n columns,\n visitorColumns,\n handleClickOnRowRight,\n handleClickOnRowLeft,\n modalContentLeft,\n modalContentRight,\n localTableData,\n visitorTableData,\n handleCloseLeft,\n handleCloseRight,\n selectedMatch,\n modalContentLeftInitial,\n modalContentRightInitial,\n isFetching,\n placeholderNumElements,\n localHeadCoach,\n localSecondCoach,\n visitorHeadCoach,\n visitorSecondCoach,\n customTr,\n}) {\n const { t } = useTranslation();\n const homeImage = selectedMatch ? selectedMatch.homeTeam.shieldImageUrl : '';\n const awayImage = selectedMatch ? selectedMatch.awayTeam.shieldImageUrl : '';\n\n return (\n \n \n \n \n \n \n {t('squad')}\n \n \n \n {t('signaledPlayersAre')}\n Top 5\n {t('inTheCategorySignaled')}\n \n \n \n {localHeadCoach && (\n \n )}\n {localSecondCoach && (\n \n )}\n \n \n }\n columns={columns()}\n data={localTableData}\n selectedRow={\n modalContentRightInitial\n ? modalContentRightInitial.original.id\n : null\n }\n onRowClick={handleClickOnRowLeft}\n styleOptions={{\n primaryColor: theme.lightWithOpacity,\n secondaryColor: 'transparent',\n textColor: theme.dark,\n fullWidth: true,\n }}\n />\n \n \n \n \n \n {t('squad')}\n \n \n \n {t('signaledPlayersAre')}\n Top 5\n {t('inTheCategorySignaled')}\n \n \n \n {visitorHeadCoach && (\n \n )}\n {visitorSecondCoach && (\n \n )}\n \n \n }\n columns={visitorColumns()}\n data={visitorTableData}\n selectedRow={\n modalContentLeftInitial ? modalContentLeftInitial.original.id : null\n }\n onRowClick={handleClickOnRowRight}\n styleOptions={{\n primaryColor: theme.dark5Opacity,\n textColor: theme.white,\n fullWidth: true,\n }}\n />\n \n 0\n : false\n }\n onClose={() => handleCloseLeft(null)}\n zone=\"left\"\n >\n \n handleCloseLeft(null)}\n shield={awayImage}\n />\n \n \n 0\n : false\n }\n onClose={() => handleCloseRight(null)}\n zone=\"right\"\n >\n \n handleCloseRight(null)}\n shield={homeImage}\n />\n \n \n \n );\n}\n\nGlobalStatistics.propTypes = propTypes;\n\nGlobalStatistics.defaultProps = defaultProps;\n","export const { format: formatNumber } = new Intl.NumberFormat('de-DE', {});\n","import React from 'react';\nimport { formatNumber } from '~/utils/format';\n\nimport { NameAndRole, CustomTd } from '../components';\n\nexport const tableDataParser = ({ data, invert }) => {\n return data.map(item => {\n const isTop5 =\n item.isTop5InGoals ||\n item.isTop5InPasses ||\n item.isTop5InRecoveries ||\n item.isTop5InShots ||\n item.isTop5InAssists ||\n item.isTop5InSavesMade ||\n item.isTop5gamesPlayed;\n return {\n id: item.id,\n isTop5,\n namePosition: (\n \n ),\n goals: ,\n passes: (\n \n ),\n recoveries: (\n \n ),\n shotsStops: (\n \n ),\n assists: (\n \n ),\n stops: ,\n\n gamesPlayed: (\n \n ),\n };\n });\n};\n","import i18next from 'i18next';\nimport { tableDataParser } from './tableDataParser';\n\nconst customSortName = (rowA, rowB, accessor) => {\n const a = rowA.original[accessor].props.name;\n const b = rowB.original[accessor].props.name;\n return a > b ? 1 : -1;\n};\n\nconst customSort = (rowA, rowB, accessor) => {\n const a = parseInt(rowA.original[accessor].props.name, 10);\n const b = parseInt(rowB.original[accessor].props.name, 10);\n return a > b ? 1 : -1;\n};\n\nconst columns = () => [\n {\n Header: i18next.t('namePosition'),\n accessor: 'namePosition',\n sortType: (a, b) => customSortName(a, b, 'namePosition'),\n },\n {\n Header: i18next.t('goalsNoKey'),\n accessor: 'goals',\n sortType: (a, b) => customSort(a, b, 'goals'),\n },\n {\n Header: i18next.t('passes'),\n accessor: 'passes',\n sortType: (a, b) => customSort(a, b, 'passes'),\n },\n {\n Header: i18next.t('recoveries'),\n accessor: 'recoveries',\n sortType: (a, b) => customSort(a, b, 'recoveries'),\n },\n {\n Header: i18next.t('shotsNoKey'),\n accessor: 'shotsStops',\n sortType: (a, b) => customSort(a, b, 'shotsStops'),\n },\n {\n Header: i18next.t('assists'),\n accessor: 'assists',\n sortType: (a, b) => customSort(a, b, 'assists'),\n },\n {\n Header: i18next.t('stops'),\n accessor: 'stops',\n sortType: (a, b) => customSort(a, b, 'stops'),\n },\n {\n Header: i18next.t('games'),\n accessor: 'gamesPlayed',\n sortType: (a, b) => customSort(a, b, 'gamesPlayed'),\n },\n];\n\nconst visitorColumns = () => [\n {\n Header: i18next.t('goalsNoKey'),\n accessor: 'goals',\n sortType: (a, b) => customSort(a, b, 'goals'),\n },\n {\n Header: i18next.t('passes'),\n accessor: 'passes',\n sortType: (a, b) => customSort(a, b, 'passes'),\n },\n {\n Header: i18next.t('recoveries'),\n accessor: 'recoveries',\n sortType: (a, b) => customSort(a, b, 'recoveries'),\n },\n {\n Header: i18next.t('shotsNoKey'),\n accessor: 'shotsStops',\n sortType: (a, b) => customSort(a, b, 'shotsStops'),\n },\n {\n Header: i18next.t('assists'),\n accessor: 'assists',\n sortType: (a, b) => customSort(a, b, 'assists'),\n },\n {\n Header: i18next.t('stops'),\n accessor: 'stops',\n sortType: (a, b) => customSort(a, b, 'stops'),\n },\n {\n Header: i18next.t('games'),\n accessor: 'gamesPlayed',\n sortType: (a, b) => customSort(a, b, 'gamesPlayed'),\n },\n {\n Header: i18next.t('namePosition'),\n accessor: 'namePosition',\n sortType: (a, b) => customSortName(a, b, 'namePosition'),\n },\n];\n\nexport { columns, visitorColumns, tableDataParser };\n","import React, { useState, useEffect, useMemo } from 'react';\nimport { useSelector } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport * as api from '~/services/api';\nimport { Responsive } from '~/components';\nimport EmptyPage from '~/pages/EmptyPage';\nimport { Mobile, Desktop } from './responsive';\nimport * as utils from './utils';\nimport * as S from './styles';\n\nexport default function GlobalStatistics() {\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n const {\n localSquad: {\n data: localSquad,\n loading: loadingVisitorSquad,\n failed: localFailed,\n },\n visitorSquad: {\n data: visitorSquad,\n loading: loadingLocalSquad,\n failed: visitorFailed,\n },\n selectedMatch: { data: selectedMatch, loading: loadingMatch },\n } = useSelector(state => state.matches);\n\n const [modalContentLeft, setModalContentLeft] = useState(null);\n const [modalContentRight, setModalContentRight] = useState(null);\n const [modalContentLeftInitial, setModalContentLeftInitial] = useState(null);\n const [modalContentRightInitial, setModalContentRightInitial] = useState(\n null\n );\n const [localTableData, setLocalTableData] = useState([]);\n const [visitorTableData, setVisitorTableData] = useState([]);\n const [visitorTableDataMobile, setVisitorTableDataMobile] = useState([]);\n\n useEffect(() => {\n if (Object.keys(localSquad).length && Object.keys(visitorSquad).length) {\n setLocalTableData(\n utils.tableDataParser({ data: localSquad.players, invert: false })\n );\n setVisitorTableData(\n utils.tableDataParser({ data: visitorSquad.players, invert: true })\n );\n setVisitorTableDataMobile(\n utils.tableDataParser({ data: visitorSquad.players, invert: false })\n );\n }\n }, [\n localSquad,\n visitorSquad,\n modalContentLeft,\n modalContentRight,\n modalContentLeftInitial,\n modalContentRightInitial,\n ]);\n\n const handleClickOnRowLeft = async row => {\n setModalContentRightInitial({ ...row, loading: true, isLocal: row.local });\n const {\n homeTeam: { id },\n } = selectedMatch;\n const { data } = await api.getSquadPlayer(\n id,\n row.original.id,\n selectedMatch.id\n );\n setModalContentRight({ ...row, isLocal: row.local, ...data });\n };\n\n const handleClickOnRowRight = async row => {\n setModalContentLeftInitial({ ...row, loading: true, isLocal: row.local });\n const {\n awayTeam: { id },\n } = selectedMatch;\n const { data } = await api.getSquadPlayer(\n id,\n row.original.id,\n selectedMatch.id\n );\n setModalContentLeft({ ...row, isLocal: row.local, ...data });\n };\n\n const handleCloseLeft = () => {\n setModalContentLeftInitial(null);\n setModalContentLeft(null);\n };\n\n const handleCloseRight = () => {\n setModalContentRightInitial(null);\n setModalContentRight(null);\n };\n\n const GlobalStatsTr = ({ item, ...itemProps }) => {\n return (\n \n );\n };\n\n GlobalStatsTr.propTypes = {\n item: PropTypes.object,\n };\n\n GlobalStatsTr.defaultProps = {\n item: {},\n };\n\n const { columns, visitorColumns } = utils;\n const isFetching = loadingVisitorSquad || loadingLocalSquad || loadingMatch;\n const globalStatisticsProps = {\n columns,\n visitorColumns,\n handleClickOnRowRight,\n handleClickOnRowLeft,\n modalContentLeft,\n modalContentRight,\n localTableData,\n localHeadCoach: localSquad ? localSquad.headCoach : null,\n localSecondCoach: localSquad ? localSquad.secondCoach : null,\n visitorHeadCoach: visitorSquad ? visitorSquad.headCoach : null,\n visitorSecondCoach: visitorSquad ? visitorSquad.secondCoach : null,\n handleCloseLeft,\n handleCloseRight,\n selectedMatch,\n modalContentLeftInitial,\n modalContentRightInitial,\n isFetching,\n placeholderNumElements: 11,\n customTr: GlobalStatsTr,\n };\n\n const renderComponent = () => {\n if (\n !isFetching &&\n localTableData.length < 1 &&\n visitorTableData.length < 1 &&\n (visitorFailed || localFailed)\n )\n return ;\n return (\n \n }\n lg={\n \n }\n xl={\n \n }\n />\n );\n };\n\n return useMemo(renderComponent, [\n localTableData,\n visitorTableData,\n visitorTableDataMobile,\n isFetching,\n ]);\n}\n","import styled from 'styled-components/macro';\n\nexport const Court = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-around;\n width: 100%;\n max-width: 270px;\n\n img {\n width: 100%;\n transform: ${({ inverted }) => inverted && 'rotateZ(180deg)'};\n }\n`;\n\nexport const ColumnContainer = styled.div`\n position: absolute;\n z-index: 1;\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: space-between;\n flex-direction: ${({ inverted }) => inverted && 'row-reverse'};\n padding: 3% 3%;\n`;\n\nexport const Column = styled.div`\n display: flex;\n height: 100%;\n flex-direction: ${({ inverted }) => (inverted ? 'column' : 'column-reverse')};\n align-items: center;\n justify-content: space-around;\n z-index: 0;\n\n svg {\n cursor: default;\n }\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { v4 } from 'uuid';\nimport { Icon } from '~/components';\nimport images from '~/constants/images';\nimport * as S from './styles';\n\nexport default function CourtDiagram({ formation, inverted, hovered }) {\n return (\n \n \"court\"\n \n {formation.map(column => {\n return (\n \n {column.map(cell => {\n if (cell !== null) {\n return (\n \n );\n }\n return null;\n })}\n \n );\n })}\n \n \n );\n}\n\nCourtDiagram.propTypes = {\n formation: PropTypes.array,\n inverted: PropTypes.bool,\n hovered: PropTypes.string,\n};\n\nCourtDiagram.defaultProps = {\n formation: [],\n inverted: false,\n hovered: '0',\n};\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport * as S from './styles';\nimport SquadContent from '~/pages/Match/subpages/Previous/components/SquadContent';\nimport CourtDiagram from '~/pages/Match/subpages/Previous/components/CourtDiagram';\nimport { Spinner } from '~/components';\nimport EmptyPage from '~/pages/EmptyPage';\n\nexport default function Squad({\n isLocal,\n team,\n trainer,\n squad,\n substitutes,\n formation,\n className,\n isFetching,\n lineupFetchFailed,\n}) {\n const { t } = useTranslation();\n const [hoveredPlayer, setHoveredPlayer] = useState('0');\n if (!team) return null;\n\n if (lineupFetchFailed) {\n return ;\n }\n\n return (\n \n {isFetching && }\n {!isFetching && (\n <>\n \n \"equipo-isLocal\"\n
\n {team.nickname}\n {t('alignment')}\n
\n
\n\n \n \n\n \n \n \n\n
\n

{t('alignment')}

\n {t('trainer')}\n {trainer ? trainer.nickname : '-'}\n
\n
\n
\n\n \n \n \n
\n \n )}\n
\n );\n}\n\nSquad.propTypes = {\n team: PropTypes.object,\n trainer: PropTypes.object,\n squad: PropTypes.array,\n substitutes: PropTypes.array,\n isLocal: PropTypes.bool,\n formation: PropTypes.array,\n className: PropTypes.string,\n isFetching: PropTypes.bool,\n lineupFetchFailed: PropTypes.bool,\n};\n\nSquad.defaultProps = {\n team: {},\n trainer: {},\n squad: [],\n substitutes: [],\n isLocal: false,\n formation: [],\n className: null,\n isFetching: false,\n lineupFetchFailed: false,\n};\n","import styled from 'styled-components/macro';\n\nexport const StatsContainer = styled.div`\n padding: 19px 18px 14px;\n display: flex;\n flex-direction: column;\n min-height: 100%;\n background-color: ${props => props.theme.dark5};\n flex-grow: 1;\n`;\n\nexport const StatsVenue = styled.div`\n width: 100%;\n height: 70px;\n display: flex;\n color: ${({ theme }) => theme.white};\n font-family: ${props => props.theme.primaryFontLight};\n\n .bold {\n font-family: ${props => props.theme.primaryFontBold};\n font-size: ${props => props.theme.h5}px;\n\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n text-align: right;\n font-size: ${props => props.theme.paragraphSmall}px;\n }\n }\n > div {\n width: 35%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n &:first-child {\n justify-content: flex-end;\n align-items: flex-end;\n\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n p {\n text-align: left;\n &:first-child {\n text-align: left;\n }\n }\n }\n }\n\n p {\n padding: 0 3px;\n font-family: ${props => props.theme.primaryFontLight};\n &:first-child {\n height: 15px;\n font-size: ${props => props.theme.h5}px;\n margin-bottom: 5px;\n\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n height: auto;\n line-height: 1;\n text-align: right;\n font-size: ${props => props.theme.paragraph}px;\n }\n }\n }\n\n &:nth-child(2) {\n width: 40%;\n justify-content: center;\n align-items: center;\n img {\n height: 100%;\n width: auto;\n }\n }\n }\n`;\n\nexport const StatsTable = styled.div`\n position: sticky;\n top: 0px;\n\n @media (max-width: ${({ theme }) => `${theme.breakpoints.md}px`}) {\n padding-bottom: 30px;\n }\n\n table {\n th {\n padding:0;\n div {\n text-transform: uppercase;\n display: block !important;\n text-align: center;\n font-family: ${props => props.theme.primaryFontBold};\n font-size: ${props => props.theme.paragraph}px;\n font-weight: 200;\n color: ${({ theme }) => theme.white};\n }\n &:nth-child(2){\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n opacity: 0;\n }\n }\n }\n }\n tbody {\n tr {\n td {\n padding: 10px 6px;\n text-align: center;\n text-transform: uppercase;\n color: ${({ theme }) => theme.white};\n }\n }\n }\n }\n img {\n width: ${props => props.theme.shieldMedium}px;\n }\n`;\n","const statsOrder = [\n 'won_matches',\n 'tied_matches',\n 'lost_matches',\n 'total_shots',\n 'total_fouls_conceded',\n 'total_passes',\n 'possession_percentage',\n 'corners_won',\n 'total_successful_passes_excl_crosses_corners',\n 'recoveries',\n 'total_losses_of_possession',\n 'successful_corners_into_box',\n 'total_shots_conceded',\n 'yellow_cards',\n 'red_card_2nd_yellow',\n 'total_red_cards',\n];\n\nexport const getOrderedData = data => {\n const orderedData = [...data];\n orderedData.sort((a, b) => {\n const aIndex = statsOrder.indexOf(a.statName);\n const aOrder = aIndex >= 0 ? aIndex : statsOrder.length;\n const bIndex = statsOrder.indexOf(b.statName);\n const bOrder = bIndex >= 0 ? bIndex : statsOrder.length;\n\n return aOrder - bOrder;\n });\n\n return orderedData;\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport Table from '~/components/Table';\nimport { theme } from '~/styles/theme';\nimport EmptyPage from '~/pages/EmptyPage';\nimport * as S from './styles';\nimport * as Utils from './utils';\n\nexport default function Stats({\n className,\n statsData,\n isFetching,\n teamStatsFailed,\n}) {\n const { t } = useTranslation();\n const {\n selectedMatch: { data: selectedMatch },\n } = useSelector(state => state.matches);\n\n const columns = React.useMemo(\n () => [\n {\n Header: () =>\n selectedMatch && selectedMatch.homeTeam ? (\n \"\"\n ) : null,\n accessor: 'homeTeamValue',\n },\n {\n Header: t('globalStats'),\n accessor: stat => t(stat.statName),\n },\n {\n Header: () =>\n selectedMatch && selectedMatch.awayTeam ? (\n \"\"\n ) : null,\n accessor: 'awayTeamValue',\n },\n ],\n [selectedMatch, t]\n );\n\n return (\n \n {teamStatsFailed && }\n {!teamStatsFailed && (\n <>\n {selectedMatch && selectedMatch.venue && (\n \n {selectedMatch.homeTeam && (\n
\n

{t('foundationYear')}

\n

({t('localClub')})

\n

\n {selectedMatch.homeTeam.yearFoundation\n ? selectedMatch.homeTeam.yearFoundation\n : '----'}\n

\n
\n )}\n
\n \n
\n
\n

{t('stadium')}

\n

{selectedMatch.venue.name}

\n
\n
\n )}\n \n \n \n \n )}\n
\n );\n}\n\nStats.propTypes = {\n className: PropTypes.string,\n statsData: PropTypes.array,\n isFetching: PropTypes.bool,\n teamStatsFailed: PropTypes.bool,\n};\n\nStats.defaultProps = {\n className: null,\n statsData: [],\n isFetching: false,\n teamStatsFailed: false,\n};\n","import PropTypes from 'prop-types';\n\nconst propTypes = {\n selectedMatch: PropTypes.object,\n lineup: PropTypes.object,\n statsData: PropTypes.array,\n isFetching: PropTypes.bool,\n lineupFetchFailed: PropTypes.bool,\n teamStatsFailed: PropTypes.bool,\n};\n\nconst defaultProps = {\n selectedMatch: {},\n lineup: {},\n statsData: [],\n isFetching: false,\n lineupFetchFailed: false,\n teamStatsFailed: false,\n};\n\nexport { propTypes, defaultProps };\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport { TabBar, TabButton } from '~/components';\n\nexport default function SubRouteSwitch({\n onChange,\n value,\n className,\n tabletMode,\n styleTab,\n localTeam,\n awayTeam,\n}) {\n const { t } = useTranslation();\n if (tabletMode) {\n return (\n \n \n \n \n );\n }\n\n return (\n \n \n \n {!tabletMode && }\n \n );\n}\n\nSubRouteSwitch.propTypes = {\n onChange: PropTypes.func,\n value: PropTypes.string,\n className: PropTypes.string,\n tabletMode: PropTypes.bool,\n styleTab: PropTypes.object,\n localTeam: PropTypes.string,\n awayTeam: PropTypes.string,\n};\n\nSubRouteSwitch.defaultProps = {\n onChange: () => {},\n value: '',\n className: '',\n tabletMode: false,\n styleTab: {},\n localTeam: '',\n awayTeam: '',\n};\n","import styled from 'styled-components/macro';\nimport Tabs from './components/Tabs';\nimport Squad from './components/Squad';\nimport Stats from './components/Stats';\n\nexport const PreviousContainer = styled.div`\n position: relative;\n display: grid;\n width: 100%;\n grid-template-columns: ${({ tabletMode }) =>\n tabletMode ? `auto auto 426px` : `35% 30% 35%`};\n grid-template-rows: auto 1fr;\n grid-template-areas: ${({ tabletMode }) =>\n tabletMode\n ? `\"header header stats\"\n \"squad squad stats\"`\n : `\"local stats away\"`};\n flex-grow: 1;\n`;\n\nexport const ContainerSm = styled.div`\n padding-bottom: 42px;\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n width: 100%;\n`;\n\nexport const TabsSections = styled(Tabs)`\n position: sticky;\n top: 0;\n grid-area: header;\n z-index: 2;\n border-top: solid 1px ${({ theme }) => theme.gray3};\n`;\n\nexport const LocalSquad = styled(Squad)`\n grid-area: ${({ tabletMode }) => (tabletMode ? 'squad' : 'local')};\n`;\n\nexport const MatchStats = styled(Stats)`\n grid-area: stats;\n`;\n\nexport const AwaySquad = styled(Squad)`\n grid-area: ${({ tabletMode }) => (tabletMode ? 'squad' : 'away')};\n`;\n","import React, { useState } from 'react';\nimport Squad from '~/pages/Match/subpages/Previous/components/Squad';\nimport Stats from '~/pages/Match/subpages/Previous/components/Stats';\nimport EmptyPage from '~/pages/EmptyPage';\nimport { theme } from '~/styles/theme';\nimport { useSelector } from 'react-redux';\nimport { propTypes, defaultProps } from './propsValidation';\nimport * as S from '../styles';\n\nexport default function Previous({\n selectedMatch,\n lineup,\n statsData,\n isFetching,\n lineupFetchFailed,\n teamStatsFailed,\n}) {\n const [tab, setTab] = useState('local');\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n const styleTab = {\n secondaryColor: match?.competitionId === 1 ? theme.coral : theme.turquoise,\n };\n if (lineupFetchFailed && teamStatsFailed) return ;\n return (\n \n setTab(value)}\n value={tab}\n localTeam={selectedMatch ? selectedMatch.homeTeam.nickname : null}\n awayTeam={selectedMatch ? selectedMatch.awayTeam.nickname : null}\n styleTab={styleTab}\n />\n {tab === 'local' && (\n \n )}\n {tab === 'stats' && (\n \n )}\n {tab === 'away' && (\n \n )}\n \n );\n}\n\nPrevious.propTypes = propTypes;\n\nPrevious.defaultProps = defaultProps;\n","import React, { useState } from 'react';\nimport { Spinner } from '~/components';\nimport { theme } from '~/styles/theme';\nimport { useSelector } from 'react-redux';\nimport { propTypes, defaultProps } from './propsValidation';\nimport * as S from '../styles';\n\nexport default function Previous({\n selectedMatch,\n lineup,\n statsData,\n tabletMode,\n isFetching,\n lineupFetchFailed,\n teamStatsFailed,\n}) {\n const [tab, setTab] = useState('local');\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n\n const styleTab = {\n secondaryColor: match?.competitionId === 1 ? theme.coral : theme.turquoise,\n withBorder: true,\n };\n\n return (\n \n \n {tabletMode && (\n setTab(value)}\n value={tab}\n styleTab={styleTab}\n localTeam={selectedMatch ? selectedMatch.homeTeam.nickname : null}\n awayTeam={selectedMatch ? selectedMatch.awayTeam.nickname : null}\n />\n )}\n {(!tabletMode || (tabletMode && tab === 'local')) && (\n \n )}\n\n \n\n {(!tabletMode || (tabletMode && tab === 'away')) && (\n \n )}\n \n );\n}\n\nPrevious.propTypes = propTypes;\n\nPrevious.defaultProps = defaultProps;\n","import React, { useEffect, useMemo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Responsive } from '~/components';\nimport { Mobile, Desktop } from './responsive';\nimport {\n getSelectedMatchLineupRequest,\n getSelectedMatchTeamStatsRequest,\n} from '~/store/modules/matches/actions';\n\nexport default function Previous() {\n const {\n selectedMatch: { data: selectedMatch, loading: isFetchingMatch },\n lineup: {\n data: lineup,\n loading: isFetchingLineUp,\n failed: lineupFetchFailed,\n },\n stats: {\n data: statsData,\n loading: isFetchingStats,\n failed: teamStatsFailed,\n },\n } = useSelector(state => state.matches);\n const dispatch = useDispatch();\n\n useEffect(() => {\n if (selectedMatch) {\n dispatch(getSelectedMatchLineupRequest(selectedMatch.id));\n }\n if (selectedMatch) {\n dispatch(getSelectedMatchTeamStatsRequest(selectedMatch.id));\n }\n }, [dispatch, selectedMatch]);\n\n const previousProps = {\n selectedMatch,\n lineup,\n lineupFetchFailed,\n statsData,\n teamStatsFailed,\n isFetching: isFetchingMatch || isFetchingLineUp || isFetchingStats,\n };\n\n const renderComponent = () => {\n return (\n }\n lg={}\n xl={}\n />\n );\n };\n\n return useMemo(renderComponent, [\n selectedMatch,\n lineup,\n statsData,\n isFetchingMatch || isFetchingLineUp || isFetchingStats,\n ]);\n}\n","import styled from 'styled-components/macro';\n\nexport const LegendContainer = styled.div`\n line-height: 15px;\n`;\nexport const Item = styled.div`\n display: inline-block;\n font-size: 10px;\n margin-right: 5px;\n`;\nexport const Title = styled.span`\n font-family: ${({ theme }) => theme.primaryFontBold};\n`;\nexport const Description = styled.span`\n font-family: ${({ theme }) => theme.primaryFontLight};\n margin-left: 3px;\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport * as S from './styles';\n\nexport default function TableLegend({ data, ...rest }) {\n const { t } = useTranslation();\n return (\n \n {data.map(({ property }) => {\n return (\n \n {t(`${property}Abv`)}:\n {t(property)}\n \n );\n })}\n \n );\n}\n\nTableLegend.propTypes = {\n data: PropTypes.array,\n};\n\nTableLegend.defaultProps = {\n data: [],\n};\n","import styled, { css } from 'styled-components/macro';\nimport { Table } from '~/components';\nimport TableLegend from './components/TableLegend';\n\nexport const Container = styled.div`\n padding: 32px;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n padding: 32px 20px;\n }\n`;\n\nexport const Header = styled.div`\n display: flex;\n justify-content: center;\n flex-direction: ${({ isLocal }) => (isLocal ? 'row' : 'row-reverse')};\n padding: 5px 0;\n font-size: 13px;\n font-family: ${({ theme }) => theme.primaryFontBold};\n text-align: center;\n color: ${({ theme, isLocal }) => (isLocal ? theme.dark : theme.white)};\n svg {\n margin-right: 5px;\n }\n span {\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.h5}px;\n margin-right: 5px;\n }\n`;\n\nexport const Title = styled.span`\n text-transform: uppercase;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n padding-bottom: 10px;\n position: relative;\n margin-bottom: 20px;\n &:before {\n content: '';\n position: absolute;\n width: 80%;\n left: 50%;\n transform: translateX(-50%);\n bottom: 0;\n height: 2px;\n border-bottom: solid 2px;\n }\n }\n`;\n\nexport const StatsTable = styled(Table)`\n margin-top: 38px;\n table {\n thead {\n th {\n font-family: ${({ theme }) => theme.primaryFont};\n text-transform: uppercase;\n position: sticky;\n top: 42px;\n background-color: ${({ theme, isLocal }) =>\n isLocal ? theme.white : theme.dark4};\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n position: relative;\n top: 0;\n }\n div {\n display: flex;\n justify-content: center;\n }\n &:first-child {\n font-family: ${({ theme }) => theme.primaryFontBold};\n }\n &:nth-child(2n) {\n font-family: ${({ theme }) => theme.primaryFontBold};\n }\n }\n\n th:first-child {\n div {\n font-size: ${({ theme }) => theme.h5}px;\n justify-content: flex-start;\n }\n }\n }\n tfoot tr {\n }\n tbody tr {\n ${({ rowsThatHaveTop }) => {\n return css`\n ${rowsThatHaveTop}\n `;\n }}\n }\n tbody tr td {\n font-family: ${({ theme }) => theme.primaryFont};\n div {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n &:nth-child(2n) {\n font-family: ${({ theme }) => theme.primaryFontBold};\n }\n }\n tbody tr td:first-child {\n div {\n justify-content: flex-start;\n }\n }\n }\n`;\n\nexport const PlayerName = styled.p`\n text-transform: uppercase;\n`;\n\nexport const Bold = styled.span`\n font-family: ${({ theme }) => theme.primaryFontBold};\n margin-right: 5px;\n`;\n\nexport const TableLegendFooter = styled(TableLegend)`\n margin-top: 27px;\n margin-bottom: 27px;\n color: ${({ theme, isLocal }) => (isLocal ? theme.dark : theme.white)};\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport { theme } from '~/styles/theme';\nimport { Icon } from '~/components';\nimport * as S from './styles';\n\nexport default function ClubStats({\n title,\n local,\n columns,\n data,\n className,\n fixedColumn,\n fixedHeader,\n}) {\n const { loading } = useSelector(state => state.matches.directStats);\n\n const getTableData = () => {\n if (local) {\n return data.homeTeamStats ? data.homeTeamStats.playerStats : [];\n }\n return data.awayTeamStats ? data.awayTeamStats.playerStats : [];\n };\n\n const processPlayerStats = player => {\n const playerStatKeys = Object.keys(player);\n let resultantPlayer = { ...player };\n playerStatKeys.forEach(stat => {\n if (\n player[stat] &&\n stat[0] !== '@' &&\n typeof resultantPlayer[stat] === 'object'\n ) {\n resultantPlayer = {\n ...resultantPlayer,\n [stat]: (\n <>\n {player[stat].isTop && (\n \n )}\n {player[stat].value}\n \n ),\n };\n }\n });\n return resultantPlayer;\n };\n\n const rowsThatHaveTopCss = () => {\n let resultantRowCss = '';\n getTableData().forEach((player, index) => {\n const playerKeys = Object.keys(player);\n playerKeys.forEach(key => {\n if (\n player[key] &&\n typeof player[key] === 'object' &&\n player[key].isTop\n ) {\n resultantRowCss += `\n &:nth-child(${index + 1}){\n td {\n border-top: solid 1px ${theme.yellow};\n border-bottom: solid 1px ${theme.yellow};\n &:first-child {\n border-left: solid 1px ${theme.yellow};\n }\n &:last-child {\n border-right: solid 1px ${theme.yellow};\n }\n }}\n `;\n }\n });\n });\n return resultantRowCss;\n };\n\n return (\n \n \n {title}\n \n {\n return {\n ...processPlayerStats(player),\n playerName: (\n \n {player.shirtNumber}\n {player.playerName}\n \n ),\n };\n })}\n styleOptions={{\n backgroundColor: local ? theme.white : theme.dark4,\n primaryColor: local ? theme.white : theme.dark4MidOpacity,\n secondaryColor: local ? theme.light2 : theme.dark5,\n textColor: local ? theme.dark : theme.white,\n textHeaderColor: local ? theme.dark : theme.white,\n fullWidth: true,\n }}\n />\n \n \n );\n}\n\nClubStats.propTypes = {\n title: PropTypes.string,\n local: PropTypes.bool,\n columns: PropTypes.array,\n data: PropTypes.object,\n className: PropTypes.string,\n fixedColumn: PropTypes.bool,\n fixedHeader: PropTypes.bool,\n};\n\nClubStats.defaultProps = {\n title: null,\n local: null,\n columns: [],\n data: {},\n className: null,\n fixedColumn: false,\n fixedHeader: false,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport { TabBar, TabButton } from '~/components';\n\nexport default function SubRouteSwitch({\n onChange,\n value,\n className,\n tabletMode,\n styleTab,\n localTeam,\n awayTeam,\n}) {\n const { t } = useTranslation();\n if (tabletMode) {\n return (\n \n \n \n \n );\n }\n\n return (\n \n \n \n {!tabletMode && }\n \n );\n}\n\nSubRouteSwitch.propTypes = {\n onChange: PropTypes.func,\n value: PropTypes.string,\n className: PropTypes.string,\n tabletMode: PropTypes.bool,\n styleTab: PropTypes.object,\n localTeam: PropTypes.string,\n awayTeam: PropTypes.string,\n};\n\nSubRouteSwitch.defaultProps = {\n onChange: () => {},\n value: '',\n className: '',\n tabletMode: false,\n styleTab: {},\n localTeam: '',\n awayTeam: '',\n};\n","import styled from 'styled-components/macro';\nimport { Timeline, TabBar } from '~/components';\nimport ClubStats from './components/clubStats';\nimport Tabs from './components/Tabs';\n\nexport const Container = styled.div`\n position: relative;\n height: 100%;\n width: 100%;\n display: grid;\n grid-template-columns: ${({ tabletMode }) =>\n tabletMode ? `auto auto 200px` : `1fr 200px 1fr`};\n grid-template-rows: ${({ tabletMode }) => (tabletMode ? `auto 1fr` : `1fr`)};\n grid-template-areas: ${({ tabletMode, tab }) =>\n tabletMode\n ? `\"header header minute\"\n \"${tab} ${tab} minute\"`\n : `\"local minute away\"`};\n flex-grow: 1;\n`;\nexport const ContainerSm = styled.div`\n position: relative;\n width: 100%;\n display: flex;\n flex-direction: column;\n`;\n\nexport const ContainerTabBar = styled(TabBar)`\n z-index: 5;\n position: sticky;\n top: 0px;\n background-color: ${({ theme }) => theme.dark};\n`;\n\nexport const MinuteByMinuteBlock = styled(Timeline)`\n width: 200px;\n max-width: 200px;\n min-width: 200px;\n grid-area: minute;\n`;\n\nexport const MinuteByMinuteBlockSm = styled(Timeline)`\n width: 100%;\n height: 100%;\n`;\n\nexport const LocalBlock = styled.div`\n background-color: ${({ theme }) => theme.white};\n width: 100%;\n position: relative;\n display: flex;\n flex-direction: column-reverse;\n grid-area: local;\n flex-grow: 1;\n & table {\n width: 100%;\n }\n`;\n\nexport const VisitantBlock = styled.div`\n background-color: ${({ theme }) => theme.dark4};\n width: 100%;\n position: relative;\n display: flex;\n flex-direction: column-reverse;\n grid-area: away;\n flex-grow: 1;\n & table {\n width: 100%;\n }\n`;\n\nexport const ClubStatsMobile = styled(ClubStats)`\n position: sticky;\n bottom: 0;\n`;\n\nexport const TabsSections = styled(Tabs)`\n position: sticky;\n top: 0;\n grid-area: header;\n z-index: 3;\n height: 42px;\n border-top: solid 1px ${({ theme }) => theme.gray3};\n`;\n","import PropTypes from 'prop-types';\n\nconst propTypes = {\n homeTeamShield: PropTypes.string,\n visitorColumns: PropTypes.string,\n columns: PropTypes.array,\n title: PropTypes.string,\n directStats: PropTypes.object,\n homeTeam: PropTypes.object,\n awayTeam: PropTypes.object,\n eventsFailed: PropTypes.bool,\n tabletMode: PropTypes.bool,\n};\n\nconst defaultProps = {\n homeTeamShield: '',\n visitorColumns: '',\n columns: [],\n title: '',\n directStats: {},\n homeTeam: null,\n awayTeam: null,\n eventsFailed: false,\n tabletMode: false,\n};\n\nexport { propTypes, defaultProps };\n","import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport { TabButton, Spinner } from '~/components';\nimport EmptyPage from '~/pages/EmptyPage';\nimport { theme } from '~/styles/theme';\nimport * as S from '../styles';\nimport ClubStats from '../components/clubStats';\nimport { propTypes, defaultProps } from './propsValidation';\n\nexport default function Direct({\n homeTeamShield,\n awayTeamShield,\n columns,\n timelineData,\n title,\n directStats,\n isFetching,\n homeTeam,\n awayTeam,\n eventsFailed,\n directStatsFailed,\n}) {\n const [section, setSection] = useState('local');\n const { t } = useTranslation();\n const {\n directStats: { loading },\n } = useSelector(state => state.matches);\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n const styleTab = {\n secondaryColor: match?.competitionId === 1 ? theme.coral : theme.turquoise,\n };\n return (\n \n \n setSection(value)}\n styleTab={styleTab}\n >\n \n \n \n \n {section === 'local' && (\n \n {directStatsFailed && }\n {!directStatsFailed && (\n \n )}\n \n )}\n {section === 'timeline' && (\n \n )}\n {section === 'away' && (\n \n {directStatsFailed && }\n {!directStatsFailed && (\n \n )}\n \n )}\n \n );\n}\n\nDirect.propTypes = propTypes;\n\nDirect.defaultProps = defaultProps;\n","import React, { useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { Spinner } from '~/components';\nimport EmptyPage from '~/pages/EmptyPage';\nimport { theme } from '~/styles/theme';\nimport * as S from '../styles';\nimport { propTypes, defaultProps } from './propsValidation';\n\nexport default function Direct({\n homeTeamShield,\n awayTeamShield,\n columns,\n timelineData,\n title,\n directStats,\n isFetching,\n homeTeam,\n awayTeam,\n eventsFailed,\n directStatsFailed,\n tabletMode,\n}) {\n const {\n directStats: { loading },\n } = useSelector(state => state.matches);\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n const styleTab = {\n secondaryColor: match?.competitionId === 1 ? theme.coral : theme.turquoise,\n withBorder: true,\n };\n const [tab, setTab] = useState('local');\n\n return (\n \n \n {tabletMode && (\n setTab(value)}\n value={tab}\n localTeam={awayTeam ? homeTeam.nickname : null}\n awayTeam={awayTeam ? awayTeam.nickname : null}\n styleTab={styleTab}\n />\n )}\n {(!tabletMode || (tabletMode && tab === 'local')) && (\n \n {directStatsFailed && }\n {!directStatsFailed && (\n \n )}\n \n )}\n \n {(!tabletMode || (tabletMode && tab === 'away')) && (\n \n {directStatsFailed && }\n {!directStatsFailed && (\n \n )}\n \n )}\n \n );\n}\n\nDirect.propTypes = propTypes;\n\nDirect.defaultProps = defaultProps;\n","import i18next from 'i18next';\n\nconst columns = stats => {\n if (stats && Object.keys(stats).length) {\n const resultantColumns = stats.statsTableHeadersAndDescription.map(\n ({ property }) => {\n return {\n Header: i18next.t(`${property}Abv`),\n accessor: property,\n tooltip: i18next.t(property),\n };\n }\n );\n return [\n { Header: i18next.t('players'), accessor: 'playerName' },\n ...resultantColumns,\n ];\n }\n\n return [];\n};\n\nexport { columns };\n","import React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Responsive } from '~/components';\nimport { Mobile, Desktop } from './responsive';\nimport { columns } from './utils';\nimport EmptyPage from '~/pages/EmptyPage';\nimport {\n getSelectedMatchEventsRequest,\n getSelectedMatchDirectStatsRequest,\n} from '~/store/modules/matches/actions';\n\nexport default function Direct() {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const {\n events: { data: events, failed: eventsFailed },\n selectedMatch: { data: selectedMatch },\n directStats: { data: directStats, loading, failed: directStatsFailed },\n } = useSelector(state => state.matches);\n const {\n data: { matchIsBeingPlayed },\n } = useSelector(state => state.matches.matchStatus);\n const [wasFetchedAtLeastOnce, setHasFetched] = useState(false);\n\n const hasError = !events || !selectedMatch || !directStats;\n\n useEffect(() => {\n const shouldFetch = matchIsBeingPlayed || matchIsBeingPlayed === null;\n const fetchEvents = () => {\n if (selectedMatch) {\n if (shouldFetch || !wasFetchedAtLeastOnce) {\n dispatch(getSelectedMatchEventsRequest(selectedMatch.id));\n dispatch(getSelectedMatchDirectStatsRequest(selectedMatch.id));\n setHasFetched(true);\n }\n }\n };\n fetchEvents();\n\n const interval = setInterval(fetchEvents, 60000);\n\n return () => {\n clearInterval(interval);\n };\n }, [dispatch, selectedMatch, matchIsBeingPlayed, wasFetchedAtLeastOnce]);\n\n const showEmptyState =\n hasError ||\n (!loading &&\n Object.keys(directStats).length < 1 &&\n eventsFailed &&\n directStatsFailed);\n\n if (showEmptyState) return ;\n\n const directProps = {\n homeTeamShield: selectedMatch ? selectedMatch.homeTeam.shieldImageUrl : '',\n awayTeamShield: selectedMatch ? selectedMatch.awayTeam.shieldImageUrl : '',\n timelineData: events,\n columns: columns(directStats),\n title: t('clubStats'),\n directStats,\n homeTeam: selectedMatch ? selectedMatch.homeTeam : null,\n awayTeam: selectedMatch ? selectedMatch.awayTeam : null,\n eventsFailed,\n directStatsFailed,\n };\n\n return (\n }\n lg={}\n xl={}\n />\n );\n}\n","import styled from 'styled-components/macro';\n\nexport const Container = styled.div`\n display: flex;\n height: 100%;\n\n img {\n height: 80%;\n width: auto;\n }\n`;\n\nexport const HeaderItemLabel = styled.div`\n margin: 0;\n font-size: ${({ theme }) => theme.paragraph}px;\n font-family: ${({ theme }) => theme.primaryFontLight};\n color: ${({ theme }) => theme.white};\n padding-left: 10px;\n text-align: left;\n margin-top: 13px;\n span {\n font-size: ${({ theme }) => theme.h5}px;\n font-family: ${({ theme }) => theme.primaryFontMedium};\n }\n &:first-child {\n margin: 0px;\n }\n`;\n\nexport const ValueContainer = styled.div`\n display: flex;\n flex-direction: column;\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Icon } from '~/components';\nimport * as S from './styles';\n\nexport default function InfoItem({ value, icon, className }) {\n return (\n \n \n \n {value.map(item => {\n return (\n \n {item.text}\n
\n {item.label}\n
\n );\n })}\n
\n
\n );\n}\n\nInfoItem.propTypes = {\n value: PropTypes.array,\n icon: PropTypes.string,\n className: PropTypes.string,\n};\n\nInfoItem.defaultProps = {\n value: {},\n icon: null,\n className: null,\n};\n","import styled from 'styled-components/macro';\nimport InfoItem from './components/InfoItem';\n\nexport const Container = styled.div`\n width: 100%;\n`;\nexport const Header = styled.div`\n display: flex;\n flex-direction: column;\n background-color: ${({ theme }) => theme.white};\n padding: 20px;\n align-items: center;\n justify-content: center;\n`;\nexport const Content = styled.div`\n display: flex;\n background-color: ${({ theme }) => theme.blue};\n justify-content: center;\n`;\n\nexport const InfoList = styled.div`\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-column-gap: 30px;\n grid-row-gap: 15px;\n grid-template-areas:\n 'ROUND .'\n 'DATE WEATHER'\n 'TIME HUMIDITY'\n 'TIME TEMPERATURE'\n 'STADIUM STADIUM';\n max-width: 332px;\n padding: 30px 10px;\n width: 100%;\n`;\n\nexport const LogoContainer = styled.div``;\n\nexport const Logo = styled.div`\n width: 200px;\n height: 27px;\n background: url(${({ url }) => url}) no-repeat center;\n background-size: cover;\n filter: invert(1);\n`;\n\nexport const LogoDefault = styled.img`\n width: 151px;\n`;\n\nexport const ScoreContainer = styled.div`\n padding: 34px 0px;\n`;\n\nexport const InfoItemRound = styled(InfoItem)`\n grid-area: ROUND;\n`;\nexport const InfoItemDate = styled(InfoItem)`\n grid-area: DATE;\n`;\nexport const InfoItemTime = styled(InfoItem)`\n grid-area: TIME;\n`;\nexport const InfoItemStadium = styled(InfoItem)`\n grid-area: STADIUM;\n`;\nexport const InfoItemWeather = styled(InfoItem)`\n grid-area: WEATHER;\n`;\nexport const InfoItemHumidity = styled(InfoItem)`\n grid-area: HUMIDITY;\n`;\nexport const InfoItemTemperature = styled(InfoItem)`\n grid-area: TEMPERATURE;\n`;\n","import styled from 'styled-components/macro';\n\nexport const Container = styled.div`\n display: flex;\n align-items: flex-start;\n`;\nexport const Team = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n`;\nexport const Shield = styled.img`\n width: 60px;\n height: 60px;\n object-fit: contain;\n`;\nexport const Name = styled.span`\n font-size: 13px;\n font-family: ${({ theme }) => theme.primaryFontBold};\n margin-top: 20px;\n`;\nexport const Score = styled.div`\n display: flex;\n align-items: center;\n`;\nexport const ScoreNumber = styled.span`\n font-size: 43px;\n font-family: ${({ theme }) => theme.primaryFontBold};\n margin: 10px;\n line-height: 50px;\n`;\nexport const ScoreLine = styled.span`\n height: 2px;\n width: 10px;\n background-color: ${({ theme }) => theme.coral};\n display: inline-block;\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './styles';\n\nconst Score = ({\n homeTeamName,\n homeTeamShield,\n homeTeamScore,\n awayTeamName,\n awayTeamShield,\n awayTeamScore,\n}) => {\n return (\n \n \n \n {homeTeamName}\n \n \n {homeTeamScore}\n \n {awayTeamScore}\n \n \n \n {awayTeamName}\n \n \n );\n};\n\nScore.propTypes = {\n homeTeamName: PropTypes.string,\n homeTeamShield: PropTypes.string,\n homeTeamScore: PropTypes.string,\n awayTeamName: PropTypes.string,\n awayTeamShield: PropTypes.string,\n awayTeamScore: PropTypes.string,\n};\n\nScore.defaultProps = {\n homeTeamName: null,\n homeTeamShield: null,\n homeTeamScore: null,\n awayTeamName: null,\n awayTeamShield: null,\n awayTeamScore: null,\n};\n\nexport default Score;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { format } from 'date-fns';\nimport { useSelector } from 'react-redux';\nimport * as S from './styles';\nimport Score from './components/Score';\nimport images from '~/constants/images';\n\nexport default function Information() {\n const { t } = useTranslation();\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n const homeScore = match ? match.homeScore : '-';\n const awayScore = match ? match.awayScore : '-';\n\n return (\n \n \n {match && match.competitionLogo ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","import React from 'react';\nimport { Switch, Route, useRouteMatch } from 'react-router-dom';\nimport {\n GlobalStatistics,\n Previous,\n Direct,\n Information,\n} from '~/pages/Match/subpages';\n\nexport default function SubRouteSwitch() {\n const { path } = useRouteMatch();\n\n return (\n \n \n \n \n \n \n );\n}\n","import styled from 'styled-components/macro';\nimport { Icon } from '~/components';\n\nexport const TabIcon = styled(Icon)`\n display: none;\n width: 21px;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n display: block;\n }\n`;\n\nexport const CustomNavLink = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n text-transform: capitalize;\n ${({ color }) =>\n color\n ? `\n color: ${color} !important;\n & svg {\n fill: ${color} !important;\n }\n `\n : null}\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n flex-direction: column;\n font-size: ${({ theme }) => theme.label}px;\n }\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouteMatch, useHistory, useLocation } from 'react-router-dom';\nimport { TabBar, TabButton } from '~/components';\nimport * as S from './styles';\n\nexport default function SubRouteTabs({ styleTab, tabs, ...rest }) {\n const { url } = useRouteMatch();\n const history = useHistory();\n const location = useLocation();\n return (\n \n {tabs.map(tab => {\n const { section, icon, label } = tab;\n return (\n history.push(`${url}${section}`)}\n color={\n styleTab && location.pathname.includes(section)\n ? styleTab.contrastColor\n : null\n }\n >\n \n {label}\n \n }\n />\n );\n })}\n \n );\n}\n\nSubRouteTabs.propTypes = {\n tabs: PropTypes.array,\n styleTab: PropTypes.object,\n};\n\nSubRouteTabs.defaultProps = {\n tabs: [],\n styleTab: null,\n};\n","import styled from 'styled-components/macro';\nimport { Link } from '~/components';\n\nexport const MainContainer = styled.div`\n width: 100%;\n height: 100%;\n`;\n\nexport const HeaderContainer = styled.div`\n width: 100%;\n height: auto;\n`;\n\nexport const MainHeader = styled.div`\n height: 46px;\n width: 100%;\n background-color: ${({ theme, competition }) =>\n competition === 1 ? theme.coral : theme.turquoise};\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-right: 50px;\n @media (max-width: ${({ theme }) => theme.breakpoints.xl}px) {\n padding-right: 5px;\n }\n`;\n\nexport const GoBackButton = styled(Link)`\n width: 200px;\n height: 100%;\n background-color: ${({ theme }) => theme.white};\n border-top: 2px solid\n ${({ theme, competition }) =>\n competition === 1 ? theme.coral : theme.turquoise};\n padding-left: 50px;\n display: flex;\n align-items: center;\n transition: background-color 0.3s;\n @media (max-width: ${({ theme }) => theme.breakpoints.xl}px) {\n padding-left: 5px;\n padding-right: 5px;\n width: auto;\n }\n`;\n\nexport const ButtonLabel = styled.p`\n margin: 0;\n font-size: ${({ theme }) => theme.paragraph}px;\n font-family: ${({ theme }) => theme.primaryFont};\n color: ${({ theme }) => theme.black};\n padding-left: 10px;\n text-align: left;\n\n span {\n font-size: ${({ theme }) => theme.h5}px;\n font-family: ${({ theme }) => theme.primaryFontBold};\n }\n`;\n\nexport const HeaderItem = styled.div`\n display: flex;\n align-items: center;\n height: 100%;\n @media (max-width: ${({ theme }) => theme.breakpoints.xl}px) {\n & svg {\n width: 15px;\n height: 15px;\n }\n }\n`;\n\nexport const HeaderItemLogo = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n img {\n height: 65%;\n }\n`;\n\nexport const HeaderItemLabel = styled.div`\n margin: 0;\n font-size: ${({ theme }) => theme.paragraph}px;\n font-family: ${({ theme }) => theme.primaryFont};\n color: ${({ theme }) => theme.white};\n padding-left: 10px;\n text-align: left;\n\n span {\n font-size: ${({ theme }) => theme.h5}px;\n font-family: ${({ theme }) => theme.primaryFontBold};\n @media (max-width: ${({ theme }) => theme.breakpoints.xl}px) {\n font-size: 12px;\n }\n }\n`;\n\nexport const MatchScore = styled.div`\n height: 54px;\n width: 100%;\n background-color: ${({ theme }) => theme.white};\n display: flex;\n`;\n\nexport const TeamScore = styled.div`\n display: flex;\n align-items: center;\n flex-direction: ${({ type }) => (type === 'local' ? 'row' : 'row-reverse')};\n justify-content: space-between;\n width: 50%;\n height: 100%;\n background-color: ${({ theme, type }) =>\n type === 'local' ? theme.white : theme.dark5};\n padding: 20px;\n font-size: ${({ theme }) => theme.h3}px;\n font-family: ${({ theme }) => theme.primaryFontHead};\n\n span {\n font-size: ${({ theme }) => theme.h1}px;\n font-family: ${({ theme }) => theme.primaryFontHeadBold};\n color: ${({ theme, type }) =>\n type === 'local' ? theme.dark : theme.white};\n }\n`;\n\nexport const TeamContainer = styled.div`\n text-transform: uppercase;\n display: flex;\n align-items: center;\n flex-direction: ${({ type }) => (type === 'local' ? 'row' : 'row-reverse')};\n height: 100%;\n color: ${({ theme, type }) => (type === 'local' ? theme.dark : theme.white)};\n flex: 1;\n justify-content: center;\n font-family: ${({ theme }) => theme.primaryFontHeadBold};\n font-size: ${({ theme }) => theme.headerTitle}px;\n\n img {\n height: ${({ theme }) => theme.shieldMedium}px;\n margin: ${({ type }) => (type === 'local' ? '0 0 0 10px' : '0 10px 0 0')};\n }\n`;\n\nexport const SubRouteContainer = styled.div`\n width: 100%;\n display: grid;\n grid-template-columns: 100%;\n grid-template-rows: auto 1fr;\n min-height: 100%;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n display: flex;\n }\n`;\n\nexport const SubRouteContainerSm = styled.div`\n width: 100%;\n display: grid;\n grid-template-columns: 100%;\n grid-template-rows: 1fr;\n min-height: 100%;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n display: flex;\n }\n`;\n\nexport const SubRouteNavBar = styled.div`\n width: 100%;\n height: 38px;\n background-color: ${({ theme, background }) => theme[background]};\n display: flex;\n justify-content: center;\n`;\n\nexport const SubRouteNavBarOption = styled.button`\n border-style: ${({ isSelected }) => (isSelected ? 'solid' : 'none')};\n border-color: ${({ theme, borderColor }) => theme[borderColor]};\n border-width: 0 0 3px 0;\n height: 100%;\n width: 220px;\n font-family: ${({ theme, isSelected }) =>\n isSelected ? theme.primaryFontBold : theme.primaryFontMedium};\n background-color: transparent;\n`;\n","import React from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\nimport PropTypes from 'prop-types';\nimport { PrivateLayout } from '~/pages';\nimport SubRouteSwitch from '~/pages/Match/components/subRoute/SubRouteSwitch';\nimport SubRouteTabs from '~/pages/Match/components/subRoute/SubRouteTabs';\nimport NavigationBar from '~/components/NavigationBar';\nimport { theme } from '~/styles/theme';\nimport EmptyPage from '~/pages/EmptyPage';\nimport { useSelector } from 'react-redux';\nimport * as S from '../styles';\n\nconst Match = ({ failed }) => {\n const location = useLocation();\n const { t } = useTranslation();\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n\n const styleTab = {\n primaryColor: theme.white,\n secondaryColor: match?.competitionId === 1 ? theme.coral : theme.turquoise,\n contrastColor: theme.white,\n textColor: theme.dark,\n };\n\n const tabs = [\n {\n section: '/information',\n icon: 'info',\n label: t('information'),\n },\n {\n section: '/global-statistics',\n icon: 'stats',\n label: t('stats'),\n },\n {\n section: '/previous',\n icon: 'previous',\n label: t('previous'),\n },\n {\n section: '/direct/minute-by-minute',\n icon: 'live',\n label: t('live'),\n },\n ];\n\n return (\n \n ) : null\n }\n footer={\n !failed && \n }\n >\n {failed && }\n {!failed && (\n \n \n \n \n \n )}\n \n );\n};\n\nMatch.propTypes = { failed: PropTypes.bool };\n\nMatch.defaultProps = { failed: false };\n\nexport default Match;\n","import React, { useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { format } from 'date-fns';\nimport { useDispatch, useSelector } from 'react-redux';\nimport * as S from '~/pages/Match/styles';\nimport { Icon } from '~/components';\nimport { getSelectedMatchScoreRequest } from '~/store/modules/matches/actions';\n\nexport default function MatchHeader() {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n const {\n data: { homeScore, awayScore },\n } = useSelector(state => state.matches.selectedMatchScore);\n const {\n data: { matchIsBeingPlayed },\n } = useSelector(state => state.matches.matchStatus);\n\n useEffect(() => {\n const fetchEvents = () => {\n const shouldFetch = matchIsBeingPlayed || matchIsBeingPlayed === null;\n if (match) {\n if (shouldFetch) {\n dispatch(getSelectedMatchScoreRequest(match.id));\n }\n }\n };\n\n fetchEvents();\n const interval = setInterval(fetchEvents, 60000);\n\n return () => {\n clearInterval(interval);\n };\n }, [dispatch, match, matchIsBeingPlayed]);\n\n const returnScore = team => {\n if (team === 'home' && homeScore) {\n return homeScore;\n }\n if (team === 'home' && !homeScore) {\n return match ? match.homeScore : `-`;\n }\n if (team === 'away' && awayScore) {\n return awayScore;\n }\n if (team === 'away' && !awayScore) {\n return match ? match.awayScore : `-`;\n }\n return '-';\n };\n\n return (\n \n \n \n \n \n {t('goBackTo')}
\n {t('Dashboard')?.toUpperCase()}\n
\n
\n\n \n \n \n {match ? match.gameweek.week : '-'}\n
\n {t('round')}\n
\n
\n\n \n \n \n \n {match ? format(new Date(match.date), 'd MMM') : `-- ---`}\n \n
\n {match ? format(new Date(match.date), 'YYY') : `----`}\n
\n
\n\n \n \n \n \n {match ? `${match.localTime ? match.localTime : '-'}` : '--:--'}\n \n
\n {t('local')}\n
\n {match && match.inCanary && (\n \n \n {match\n ? `${match.peninsulaTime ? match.peninsulaTime : '-'}`\n : `--:--`}\n \n
\n {t('peninsular')}\n
\n )}\n
\n\n \n \n \n \n {match ? `${match.venue ? match.venue.name : '-'}` : `-`}\n \n
\n {t('stadium')}\n
\n
\n\n \n \n \n \n {match\n ? `${\n match.matchGrass\n ? `${\n match.matchGrass.weatherForecastRainfall\n ? match.matchGrass.weatherForecastRainfall\n : '-'\n } mm/m2`\n : '-'\n }`\n : '-'}\n \n
\n {t('rainfall')}\n
\n
\n\n \n \n \n \n {match\n ? `${\n match.matchGrass\n ? `${\n match.matchGrass.weatherForecastHumidity\n ? match.matchGrass.weatherForecastHumidity\n : '-'\n } %`\n : '-'\n }`\n : '-'}\n \n
\n {t('humidity')}\n
\n
\n\n \n \n \n \n {match\n ? `${\n match.matchGrass\n ? `${\n match.matchGrass.weatherForecastTemperature\n ? match.matchGrass.weatherForecastTemperature\n : '-'\n } °C`\n : '-'\n }`\n : '-'}\n \n
\n {t('temperature')}\n
\n
\n \n \n \n
\n \n \n \n {match ? match.homeTeam.nickname : ''}\n {match && (\n \"\n )}\n \n {returnScore('home')}\n \n \n \n {match ? match.awayTeam.nickname : ``}\n {match && (\n \"\n )}\n \n {returnScore('away')}\n \n \n
\n );\n}\n","import React from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\nimport PropTypes from 'prop-types';\nimport { PrivateLayout } from '~/pages';\nimport MatchHeader from '~/pages/Match/components/MatchHeader';\nimport SubRouteSwitch from '~/pages/Match/components/subRoute/SubRouteSwitch';\nimport SubRouteTabs from '~/pages/Match/components/subRoute/SubRouteTabs';\nimport NavigationBar from '~/components/NavigationBar';\nimport EmptyPage from '~/pages/EmptyPage';\nimport { theme } from '~/styles/theme';\nimport { useSelector } from 'react-redux';\nimport * as S from '../styles';\n\nconst Match = ({ failed }) => {\n const location = useLocation();\n const { t } = useTranslation();\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n const styleTab = {\n secondaryColor: match?.competitionId === 1 ? theme.coral : theme.turquoise,\n };\n const tabs = [\n {\n section: '/global-statistics',\n icon: 'stats',\n label: t('stats'),\n },\n {\n section: '/previous',\n icon: 'previous',\n label: t('previous'),\n },\n {\n section: '/direct/minute-by-minute',\n icon: 'live',\n label: t('live'),\n },\n ];\n return (\n : <>}\n navBar={\n location.pathname.includes('previous') && !failed ? (\n \n ) : null\n }\n >\n {failed && }\n {!failed && (\n \n \n \n \n \n \n )}\n \n );\n};\n\nMatch.propTypes = { failed: PropTypes.bool };\n\nMatch.defaultProps = { failed: false };\n\nexport default Match;\n","import React, { useEffect } from 'react';\nimport { useRouteMatch } from 'react-router-dom';\nimport { useDispatch, useSelector } from 'react-redux';\nimport * as matchActions from '~/store/modules/matches/actions';\nimport { Mobile, Desktop } from './responsive';\nimport { Responsive } from '~/components';\n\nconst Match = () => {\n const dispatch = useDispatch();\n const {\n selectedMatch: { data: selectedMatch, failed },\n } = useSelector(state => state.matches);\n const {\n data: { matchIsBeingPlayed },\n } = useSelector(state => state.matches.matchStatus);\n\n const {\n params: { id },\n } = useRouteMatch();\n\n useEffect(() => {\n if (selectedMatch) {\n dispatch(\n matchActions.getSelectedMatchPublicFilesRequest(selectedMatch.id)\n );\n }\n }, [dispatch, selectedMatch]);\n\n useEffect(() => {\n if (selectedMatch && selectedMatch.homeTeam && selectedMatch.awayTeam) {\n dispatch(\n matchActions.getSquadsRequest(\n selectedMatch.homeTeam.id,\n selectedMatch.awayTeam.id\n )\n );\n }\n }, [dispatch, selectedMatch]);\n\n useEffect(() => {\n dispatch(matchActions.getSelectedMatchRequest(id));\n }, [id, dispatch]);\n\n useEffect(() => {\n const fetchEvents = () => {\n if (selectedMatch) {\n dispatch(matchActions.getSelectedMatchStatusRequest(selectedMatch.id));\n }\n };\n\n fetchEvents();\n const interval = setInterval(fetchEvents, 60000);\n\n return () => {\n clearInterval(interval);\n };\n }, [dispatch, selectedMatch, matchIsBeingPlayed]);\n\n return (\n }\n lg={}\n />\n );\n};\n\nMatch.propTypes = {};\n\nexport default Match;\n","import styled from 'styled-components/macro';\nimport { Button, Icon } from '~/components';\n\nexport const CloseButtonIcon = styled(Icon)`\n margin-left: 11px;\n`;\n\nexport const PlayerHeader = styled.div`\n position: relative;\n height: 263px;\n background-color: ${({ theme }) => theme.white};\n > div:nth-child(2) {\n position: relative;\n display: flex;\n color: ${({ isLocal, theme }) => (isLocal ? theme.dark : theme.white)};\n width: 100%;\n height: 100%;\n padding: 20px 20px 0;\n z-index: 2;\n align-items: flex-end;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n height: auto;\n }\n`;\n\nexport const ShieldBackground = styled.div`\n width: 100%;\n height: 100%;\n position: absolute;\n background-image: url(${({ bgImage }) => bgImage});\n background-repeat: no-repeat;\n background-position: calc(100% - 41px) calc(100% - -112px);\n filter: grayscale(100%);\n background-size: 350px;\n opacity: 0.3;\n\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n background-size: 270px;\n background-position: calc(100% + 80px) center;\n }\n`;\n\nexport const PlayerHeaderImage = styled.img`\n margin-right: 34px;\n object-fit: contain;\n object-position: bottom;\n max-width: 39%;\n width: 186px;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n margin-right: 0px;\n height: 160px;\n width: 145px;\n }\n`;\n\nexport const CloseButton = styled(Button)`\n position: absolute;\n top: 27px;\n right: 27px;\n background: none;\n border: none;\n color: ${({ theme, isLocal }) => (isLocal ? theme.black : theme.white)};\n font-size: 13px;\n font-weight: bold;\n text-transform: uppercase;\n display: flex;\n justify-content: center;\n &:hover svg {\n transform: rotateZ(90deg);\n }\n svg {\n transition: transform 0.2s;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n left: 15px;\n right: auto;\n top: 15px;\n }\n`;\n\nexport const CloseButtonText = styled.span`\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n display: none;\n }\n`;\n\nexport const PlayerHeaderInfo = styled.div`\n display: flex;\n padding-bottom: 30px;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n flex-direction: column;\n padding-bottom: 13px;\n flex-grow: 1;\n padding-right: 6px;\n align-items: flex-end;\n }\n`;\n\nexport const PlayerHeaderInfoNum = styled.div`\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n align-items: flex-end;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n justify-content: end;\n }\n`;\nexport const PlayerNumber = styled.div`\n font-size: 72px;\n line-height: 53px;\n margin-top: 13px;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n font-size: 50px;\n margin-top: 0px;\n }\n`;\nexport const PlayerHeaderInfoName = styled.div`\n padding: 0px 20px;\n position: relative;\n top: 25px;\n\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n text-align: right;\n padding: 0px;\n }\n`;\nexport const PlayerName = styled.span`\n display: block;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.2;\n\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n font-size: 13px;\n margin-top: 7px;\n }\n`;\nexport const PlayerNickname = styled.span`\n display: block;\n font-size: 40px;\n font-weight: 500;\n line-height: 1.2;\n\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n font-size: 28px;\n }\n`;\n","import React from 'react';\nimport { PropTypes } from 'prop-types';\nimport ReactCountryFlag from 'react-country-flag';\nimport { useTranslation } from 'react-i18next';\nimport images from '~/constants/images';\nimport { Responsive } from '~/components';\nimport { useSelector } from 'react-redux';\nimport * as S from './styles';\n\nconst PlayerHeader = ({\n name,\n isLocal,\n onClose,\n photo,\n nickname,\n shield,\n shirtNumber,\n country,\n}) => {\n const { t } = useTranslation();\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n\n return (\n \n \n
\n \n {t('close')}\n \n \n \n \n \n {name || '--'}\n {nickname || '--'}\n {shirtNumber || '00'}\n \n }\n lg={\n \n \n \n {shirtNumber}\n \n \n {name}\n {nickname}\n \n \n }\n />\n
\n
\n );\n};\n\nPlayerHeader.propTypes = {\n name: PropTypes.string,\n nickname: PropTypes.string,\n photo: PropTypes.string,\n isLocal: PropTypes.bool,\n onClose: PropTypes.func,\n shield: PropTypes.string,\n shirtNumber: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n country: PropTypes.string,\n};\n\nPlayerHeader.defaultProps = {\n name: '',\n nickname: '',\n photo: '',\n isLocal: false,\n onClose: () => {},\n shield: '',\n shirtNumber: 0,\n country: '',\n};\n\nexport default PlayerHeader;\n","import styled from 'styled-components/macro';\n\nexport const InfoBarItem = styled.div`\n display: flex;\n flex-direction: column;\n padding: 0px 40px;\n border-right: solid 1px;\n &:last-child {\n border: none;\n }\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n padding: 10px 20px;\n border: none;\n text-align: center;\n }\n`;\nexport const PlayerInfoBar = styled.div`\n display: flex;\n padding: 20px;\n background-color: ${props =>\n props.competition === 1 ? props.theme.coral : props.theme.turquoise};\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n flex-wrap: wrap;\n padding: 0px;\n justify-content: space-around;\n }\n`;\nexport const InfoBarItemLabel = styled.div`\n font-size: 11px;\n color: ${props => props.theme.white};\n`;\nexport const InfoBarItemValue = styled.div`\n font-size: 14px;\n font-weight: bold;\n margin-top: 12px;\n color: ${props => (props.isLocal ? props.theme.white : props.theme.dark)};\n`;\n","import React from 'react';\nimport { PropTypes } from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport * as S from './styles';\n\nconst InfoBarItem = ({ label, value, isLocal }) => {\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n return (\n \n \n {label}\n \n {value || '-'}\n \n );\n};\n\nInfoBarItem.propTypes = {\n label: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n isLocal: PropTypes.bool,\n};\n\nInfoBarItem.defaultProps = {\n label: '',\n value: '',\n isLocal: false,\n};\n\nexport default InfoBarItem;\n","import React from 'react';\nimport { PropTypes } from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport { format } from 'date-fns';\nimport { useSelector } from 'react-redux';\nimport InfoBarItem from './InfoBarItem';\nimport * as S from './styles';\n\nconst MainInfoBar = ({\n squadRole,\n dateOfBirth,\n placeOfBirth,\n weight,\n height,\n isLocal,\n}) => {\n const { t } = useTranslation();\n const { data: match } = useSelector(state => state.matches.selectedMatch);\n return (\n \n \n \n \n \n \n \n );\n};\n\nMainInfoBar.propTypes = {\n squadRole: PropTypes.string,\n dateOfBirth: PropTypes.string,\n placeOfBirth: PropTypes.string,\n weight: PropTypes.number,\n height: PropTypes.number,\n isLocal: PropTypes.bool,\n};\n\nMainInfoBar.defaultProps = {\n squadRole: '',\n dateOfBirth: '',\n placeOfBirth: '',\n weight: 0,\n height: 0,\n isLocal: false,\n};\n\nexport default MainInfoBar;\n","import styled from 'styled-components/macro';\n\nexport const DataList = styled.div`\n flex-grow: 1;\n background-color: ${({ theme }) => theme.dark};\n padding: 20px;\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n grid-gap: 29px;\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n grid-template-columns: repeat(2, 1fr);\n }\n`;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport PropTypes from 'prop-types';\nimport { v4 } from 'uuid';\nimport * as S from './styles';\nimport { InfoBlock } from '~/components';\n\nconst DataList = ({ data }) => {\n const { t } = useTranslation();\n\n const parseStats = () => {\n let resultantArray = data.statsDescriptions;\n if (resultantArray.length > 8) {\n resultantArray.splice(3, 0, { property: '' });\n }\n resultantArray = resultantArray.map(({ property, description }) => {\n return (\n \n );\n });\n\n return resultantArray;\n };\n\n return (\n {data && data.statsDescriptions && parseStats()}\n );\n};\n\nDataList.propTypes = {\n data: PropTypes.object,\n};\n\nDataList.defaultProps = {\n data: { statsDescriptions: [] },\n};\n\nexport default DataList;\n","import styled from 'styled-components/macro';\n\nexport const Container = styled.div`\n display: flex;\n flex-direction: column;\n min-height: 100%;\n width: 100%;\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport PlayerHeader from './components/PlayerHeader';\nimport InfoBar from './components/InfoBar';\nimport DataList from './components/DataList';\nimport * as S from './styles';\n\nexport default function PlayerInfo({ value, onClose, isLocal, shield }) {\n return (\n \n \n \n \n \n );\n}\n\nPlayerInfo.propTypes = {\n value: PropTypes.object,\n onClose: PropTypes.func,\n isLocal: PropTypes.bool,\n shield: PropTypes.string,\n};\n\nPlayerInfo.defaultProps = {\n value: {},\n onClose: () => {},\n isLocal: false,\n shield: '',\n};\n","import React from 'react';\nimport * as Yup from 'yup';\nimport { Formik } from 'formik';\nimport { useTranslation } from 'react-i18next';\nimport PropTypes from 'prop-types';\nimport { useDispatch } from 'react-redux';\nimport { changePasswordRequest } from '~/store/modules/auth/actions';\n\nexport default function FormConfig({ children, code }) {\n const { t } = useTranslation();\n const dispatch = useDispatch();\n return (\n {\n dispatch(\n changePasswordRequest({\n password: values.password,\n code,\n })\n );\n setSubmitting(false);\n }}\n validationSchema={Yup.object().shape({\n password: Yup.string()\n .matches(\n /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[.+!@#$%^&*])(?=.{8,20})/,\n t('passwordFormatValidationError')\n )\n .required(t('passwordIsRequiredValidationError')),\n passwordConfirmation: Yup.string()\n .oneOf([Yup.ref('password'), null], t('passwordsMustMatch'))\n .required(t('confirmPasswordIsRequiredValidationError')),\n })}\n >\n {children}\n \n );\n}\n\nFormConfig.propTypes = {\n children: PropTypes.oneOfType([PropTypes.element, PropTypes.func]).isRequired,\n code: PropTypes.string,\n};\n\nFormConfig.defaultProps = { code: null };\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useParams } from 'react-router-dom';\nimport Link from '~/components/Link';\nimport Form from '~/components/Form';\nimport * as S from '~/components/Form/styles';\nimport Input from '~/components/Form/Input';\nimport routesPath from '~/constants/routes';\nimport FormConfig from '~/pages/ChangePassword/components/FormConfig';\nimport DefaultLayout from '~/pages/_layouts/DefaultLayout';\nimport { languageOptions } from '~/utils/languageOptions';\nimport { FoldedMenu } from '~/components';\n\nexport default function ChangePassword() {\n const { t } = useTranslation();\n const { code } = useParams();\n\n return (\n \n \n {props => {\n // eslint-disable-next-line react/prop-types\n const { isSubmitting, handleSubmit } = props;\n return (\n \n
\n \n {t('loginIntoAccount')}\n\n \n\n \n\n \n \n {t('changePassword')}\n \n \n\n \n {t('loginIntoAccount')}\n \n \n
\n );\n }}\n
\n \n
\n );\n}\n","import React, { useEffect } from 'react';\nimport { Redirect, useParams } from 'react-router-dom';\n\nexport default function ConfirmCode() {\n const { code } = useParams();\n\n useEffect(() => {\n if (code) {\n localStorage.setItem('confirmationCode', code);\n }\n }, [code]);\n\n return ;\n}\n","import styled from 'styled-components';\n\nexport const MainContainer = styled.div`\n width: 100%;\n min-height: 100%;\n background-color: ${({ theme }) => theme.gray4};\n display: flex;\n flex-direction: column;\n\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n padding-bottom: 20px;\n }\n\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n padding-top: 30px;\n padding-bottom: 20px;\n }\n`;\n\nexport const TitleBar = styled.div`\n width: 100%;\n height: 79px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${({ theme }) => theme.white};\n background-color: ${({ theme }) => theme.dark};\n margin-bottom: 50px;\n text-transform: uppercase;\n font-size: ${({ theme }) => theme.h4}px;\n font-family: ${({ theme }) => theme.primaryFontBold};\n`;\n\nexport const DocsSection = styled.div`\n margin-bottom: 80px;\n\n > h1 {\n text-align: center;\n margin-bottom: 16px;\n }\n`;\n\nexport const GridContainer = styled.div`\n width: 100%;\n display: grid;\n justify-content: center;\n grid-column-gap: 20px;\n grid-row-gap: 20px;\n grid-template-columns: 1fr 1fr 1fr 1fr;\n\n @media (max-width: ${({ theme }) => theme.breakpoints.xl}px) {\n grid-template-columns: 1fr 1fr 1fr;\n }\n\n @media (max-width: ${({ theme }) => theme.breakpoints.md}px) {\n grid-template-columns: 1fr 1fr;\n }\n\n @media (max-width: ${({ theme }) => theme.breakpoints.sm}px) {\n grid-template-columns: 1fr;\n }\n`;\n\nexport const TabBar = styled.div`\n display: flex;\n height: 50px;\n background-color: ${({ theme }) => theme.dark};\n`;\n\nexport const Tab = styled.div`\n display: flex;\n width: 50%;\n color: ${({ theme }) => theme.white};\n background-color: ${({ theme, isActive }) =>\n isActive ? theme.coral : theme.dark};\n text-transform: uppercase;\n align-items: center;\n justify-content: center;\n transition: all 0.3s;\n`;\n","import styled, { keyframes } from 'styled-components';\nimport { Spinner2 } from 'styled-icons/evil';\nimport { darken } from 'polished';\n\nimport { Button } from '~/components';\n\nexport const Container = styled.div`\n height: 192px;\n width: 100%;\n background-color: rgba(255, 255, 255, 0.4);\n display: flex;\n justify-content: space-between;\n padding: 10px;\n`;\n\nexport const Label = styled.p`\n position: absolute;\n margin-top: 25px;\n margin-left: 15px;\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.paragraph}px;\n color: rgba(0, 0, 0, 0.3);\n`;\n\nexport const Title = styled.p`\n background-color: #f3f3f4;\n position: absolute;\n font-family: ${({ theme }) => theme.primaryFontBold};\n font-size: ${({ theme }) => theme.h5}px;\n margin-top: 40px;\n margin-left: 10px;\n color: ${({ theme }) => theme.dark};\n padding: 5px;\n`;\n\nexport const DownloadButtonContainer = styled.div`\n height: 100%;\n display: flex;\n align-items: flex-end;\n`;\n\nexport const DownloadButton = styled(Button)`\n height: 60px;\n width: 60px;\n border: none;\n background-color: ${({ theme }) => theme.coral};\n display: flex;\n align-items: center;\n justify-content: center;\n margin-left: -10px;\n margin-bottom: -10px;\n transition: background-color ease-in-out 0.1s;\n\n &:hover {\n background-color: ${({ theme }) => darken(0.1, theme.coral)};\n }\n`;\n\nexport const Preview = styled.img`\n height: 100%;\n max-width: 230px;\n`;\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n`;\n\nexport const Spinner = styled(Spinner2)`\n color: ${({ theme }) => theme.whiteWithOpacity};\n animation: ${rotate} 0.8s linear infinite;\n`;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport { v4 } from 'uuid';\n\nimport { Icon } from '~/components';\nimport downloadFile from '~/utils/downloadFile';\nimport * as S from './styles';\n\nexport default function Card({ id, name, thumbnail, isPrivate }) {\n const { t } = useTranslation();\n const [loading, setLoading] = useState(false);\n\n return (\n \n {t('report')}\n {name}\n \n downloadFile(id, setLoading, isPrivate)}\n >\n {loading ? (\n \n ) : (\n \n )}\n \n \n \n \n );\n}\n\nCard.defaultProps = {\n isPrivate: false,\n};\n\nCard.propTypes = {\n id: PropTypes.number.isRequired,\n name: PropTypes.string.isRequired,\n thumbnail: PropTypes.string.isRequired,\n isPrivate: PropTypes.bool,\n};\n","import React, { useEffect, useState } from 'react';\nimport { useParams } from 'react-router-dom';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTranslation } from 'react-i18next';\nimport { useMediaQuery } from 'react-responsive';\nimport { PrivateLayout } from '~/pages';\nimport { Spinner } from '~/components';\nimport MatchHeader from '~/pages/Match/components/MatchHeader';\nimport * as S from './styles';\nimport {\n getSelectedMatchPrivateFilesRequest,\n getSelectedMatchRequest,\n} from '~/store/modules/matches/actions';\nimport EmptyPage from '~/pages/EmptyPage';\nimport { theme } from '~/styles/theme';\nimport { Information } from '~/pages/Match/subpages';\n\nimport Card from './components/Card';\n\nexport default function PrivateDocuments() {\n const { t } = useTranslation();\n const { id: matchId } = useParams();\n const dispatch = useDispatch();\n const [tab, setTab] = useState('reports');\n\n const { data: documents, loading } = useSelector(\n state => state.matches.privateFiles\n );\n const publicDocs = [\n 'greenkeeper',\n 'hojaPartido',\n 'kitselector',\n 'referee',\n 'actos',\n 'necesidadesProduccion',\n 'planCamaras',\n 'listaComprobacion',\n 'informeSeguridad',\n ];\n\n useEffect(() => {\n if (matchId) {\n dispatch(getSelectedMatchPrivateFilesRequest(matchId));\n }\n }, [matchId, dispatch]);\n\n useEffect(() => {\n dispatch(getSelectedMatchRequest(matchId));\n }, [matchId, dispatch]);\n\n const isMobile = useMediaQuery({\n query: `(max-width: ${theme.breakpoints.md}px)`,\n });\n const isTablet = useMediaQuery({\n query: `(max-width: ${theme.breakpoints.lg}px)`,\n });\n\n const hasPublicDocs = () => {\n const hasDocs = publicDocs.filter(key => {\n const doc = documents[key];\n if (!doc) return false;\n return Object.keys(documents[key]).length;\n });\n\n return !!hasDocs.length;\n };\n\n return (\n \n setTab('reports')}\n >\n {t('report')}s\n \n setTab('matchInfo')}\n >\n {t('matchInfo')}\n \n \n ) : (\n \n )\n }\n >\n {!Object.keys(documents).length > 0 && !loading ? (\n \n ) : (\n \n {tab === 'reports' ? (\n <>\n {!isMobile && !isTablet && (\n {t('matchReports')}\n )}\n\n \n\n {hasPublicDocs() && (\n \n

Documentos Públicos

\n \n {publicDocs.map(key => {\n const doc = { ...documents[key] };\n if (!Object.keys(doc).length) return null;\n doc.name = doc.nameType;\n return ;\n })}\n \n
\n )}\n\n {documents.private && documents.private.length > 0 && (\n \n

Documentos Privados

\n \n {documents.private.map(doc => (\n \n ))}\n \n
\n )}\n \n ) : (\n \n )}\n
\n )}\n \n );\n}\n","import styled from 'styled-components/macro';\nimport { Button } from '~/components';\n\nexport const MessageContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n width: ${({ width }) => width || 100}%;\n min-width: 320px;\n display: flex;\n flex-direction: column;\n max-width: ${({ maxWidth }) => maxWidth || '100%'};\n background-color: ${({ theme }) => theme.white};\n padding: 20px;\n`;\n\nexport const Message = styled.p`\n font-family: ${({ theme }) => theme.primaryFontMedium};\n font-size: ${({ theme }) => theme.h5}px;\n text-align: center;\n`;\n\nexport const BackButton = styled(Button)`\n background-color: ${({ theme }) => theme.dark};\n padding: 5px;\n border-radius: 5px;\n width: 100px;\n margin-top: 10px;\n border-style: none;\n\n a {\n text-align: center;\n color: ${({ theme }) => theme.white};\n text-decoration: none;\n }\n`;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\nimport DefaultLayout from '~/pages/_layouts/DefaultLayout';\nimport { languageOptions } from '~/utils/languageOptions';\nimport { FoldedMenu } from '~/components';\nimport * as S from './styles';\n\nexport default function Login() {\n const { t } = useTranslation();\n return (\n \n \n {t('azureFailure')}\n \n \n {t('return')}\n \n \n \n \n \n );\n}\n","import PropTypes from 'prop-types';\n\nconst propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.node,\n PropTypes.array,\n ]).isRequired,\n navBar: PropTypes.node,\n subHeader: PropTypes.node,\n location: PropTypes.object,\n footer: PropTypes.node,\n};\n\nconst defaultProps = {\n navBar: false,\n subHeader: {},\n location: {},\n footer: null,\n};\n\nexport { propTypes, defaultProps };\n","import styled from 'styled-components/macro';\nimport Scrollbar from '~/components/Scrollbar';\nimport images from '~/constants/images';\n\nexport const Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n height: 100%;\n max-width: 100%;\n`;\n\nexport const Container = styled.div`\n position: relative;\n overflow: hidden;\n flex-grow: 1;\n padding: ${({ hasNavBar }) => (hasNavBar ? `0 0 60px 0` : `0`)};\n background-color: ${({ theme }) => theme.light};\n display: flex;\n flex-direction: column;\n\n @media (max-width: ${({ theme }) => theme.breakpoints.xs}px) {\n background-color: ${({ theme, mobileBackground }) =>\n mobileBackground || theme.light};\n }\n`;\n\nexport const BGbit = styled.div`\n position: absolute;\n z-index: -1;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n width: 100%;\n height: 100%;\n background-color: ${({ theme }) => theme.white};\n\n &:before {\n content: ' ';\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n opacity: 0.3;\n background-image: url(${images.beat});\n background-repeat: no-repeat;\n background-position: center;\n }\n`;\n\nexport const Content = styled(Scrollbar)`\n width: 100%;\n height: 100%;\n flex-grow: 1;\n`;\n\nexport const BottomModal = styled.div`\n position: sticky;\n right: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n`;\n\nexport const HeaderContainer = styled.div`\n position: relative;\n`;\n\nexport const SubHeaderContainer = styled.div``;\n\nexport const Footer = styled.div`\n width: 100%;\n position: relative;\n`;\n","import styled from 'styled-components/macro';\n\nexport const LockViewContainer = styled.div`\n width: 100%;\n height: 100vh;\n z-index: 999;\n position: fixed;\n background-color: ${({ theme }) => theme.white};\n justify-content: center;\n align-items: center;\n display: none;\n\n @media (max-width: ${({ theme }) =>\n `${theme.breakpoints.lg}px`}) and (orientation: landscape) {\n display: flex;\n }\n`;\n\nexport const LockBlock = styled.div`\n width: 500px;\n height: auto;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n img {\n width: 70%;\n transform: rotate(90deg);\n }\n\n h4 {\n text-align: center;\n position: relative;\n bottom: 40px;\n }\n`;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport * as S from './styles';\nimport images from '~/constants/images';\n\nexport default function LockView() {\n const { t } = useTranslation();\n return (\n \n \n \"lockView\"\n

{t('lockText')}

\n
\n
\n );\n}\n","import React from 'react';\nimport { propTypes, defaultProps } from './propsValidation';\nimport * as S from '../styles';\nimport Header from '~/components/Header';\nimport LockView from '~/components/LockView';\n\nconst PrivateLayout = ({ children, navBar, subHeader, location, footer }) => {\n return (\n \n {location.pathname.includes('dashboard') && }\n \n
\n \n {subHeader}\n \n \n \n {children}\n {navBar && navBar}\n
\n
\n \n {footer}\n
\n \n \n );\n};\n\nPrivateLayout.propTypes = propTypes;\n\nPrivateLayout.defaultProps = defaultProps;\n\nexport default PrivateLayout;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport LockView from '~/components/LockView';\nimport * as S from '../styles';\nimport Header from '~/components/Header';\nimport { Spinner } from '~/components';\n\nconst PrivateLayout = ({\n children,\n navBar,\n subHeader,\n location,\n isFetching,\n footer,\n}) => {\n return (\n \n {location.pathname.includes('dashboard') && }\n \n
\n {!isFetching && (\n \n {subHeader}\n \n )}\n \n \n \n
\n
\n \n \n {!isFetching && children}\n \n {!(isFetching && navBar) && navBar}\n \n {!isFetching && {footer}}\n
\n \n \n );\n};\n\nPrivateLayout.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.node,\n PropTypes.array,\n ]).isRequired,\n navBar: PropTypes.node,\n subHeader: PropTypes.node,\n location: PropTypes.object,\n footer: PropTypes.node,\n isFetching: PropTypes.bool,\n};\n\nPrivateLayout.defaultProps = {\n navBar: false,\n subHeader: {},\n location: {},\n footer: null,\n isFetching: false,\n};\n\nexport default PrivateLayout;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useLocation } from 'react-router-dom';\nimport { useSelector } from 'react-redux';\nimport { Responsive } from '~/components';\nimport { HeaderProvider } from '~/context';\nimport BrowserWarningModal from '~/components/BrowserWarningModal';\nimport { Mobile, Desktop } from './responsive';\n\nconst PrivateLayout = ({ children, navBar, subHeader, footer }) => {\n const {\n selectedMatch: { loading: isFetchingMatch },\n } = useSelector(state => state.matches);\n\n const location = useLocation();\n const clonedNavBar = navBar ? React.cloneElement(navBar, { location }) : null;\n return (\n \n \n {children}\n \n }\n lg={\n \n {children}\n \n \n }\n />\n \n );\n};\n\nPrivateLayout.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.node,\n PropTypes.array,\n ]).isRequired,\n navBar: PropTypes.node,\n subHeader: PropTypes.node,\n footer: PropTypes.node,\n};\n\nPrivateLayout.defaultProps = {\n navBar: false,\n subHeader: {},\n footer: null,\n};\n\nexport default PrivateLayout;\n","import { em } from 'polished';\nimport styled, { css } from 'styled-components';\nimport ErrorPageBg from '~/assets/images/ErrorPageBg.jpg';\n\nconst device = {\n mobile: '@media(max-width: 420px)',\n};\n\nexport const ErrorPageContainer = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: center;\n & > * {\n z-index: 2;\n }\n &:before {\n display: block;\n content: '';\n background: url(${ErrorPageBg}) no-repeat top center;\n background-size: cover;\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 0.25;\n z-index: 1;\n }\n`;\n\nexport const Beat = styled.img`\n ${({ reverse }) => css`\n width: 100%;\n transform: ${reverse && 'rotate(180deg)'};\n `}\n`;\n\nexport const Content = styled.div`\n text-align: center;\n`;\n\nexport const Logo = styled.img`\n margin-bottom: ${em('62px')};\n ${device.mobile} {\n width: ${em('240px')};\n }\n`;\n\nexport const ErrorCode = styled.div`\n margin-bottom: ${em('32px')};\n img {\n position: relative;\n width: ${em('81px')};\n bottom: ${em('32px')};\n }\n span {\n font-size: ${em('96px')};\n }\n ${device.mobile} {\n img {\n width: ${em('60px')};\n bottom: ${em('22px')};\n }\n span {\n font-size: ${em('72px')};\n }\n }\n`;\n\nexport const Title = styled.h1`\n font-size: ${em('30px')};\n margin-bottom: ${em('8px')};\n font-weight: bold;\n line-height: 1.35;\n text-transform: uppercase;\n ${device.mobile} {\n font-size: ${em('24px')};\n }\n`;\n\nexport const Description = styled.div`\n line-height: 1.45;\n`;\n\nexport const FlexContainer = styled.div`\n display: flex;\n justify-content: center;\n`;\n\nexport const Button = styled.button`\n -webkit-align-items: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -webkit-justify-content: center;\n -ms-flex-pack: center;\n justify-content: center;\n border-radius: 290993px;\n display: -webkit-box;\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n margin: 0;\n -webkit-transition: background-color 0.3s ease, opacity 0.3s ease;\n transition: background-color 0.3s ease, opacity 0.3s ease;\n height: 2.0625em;\n line-height: 2.0625em;\n padding: 0 0.9375em;\n font-size: 1em;\n cursor: pointer;\n opacity: 1;\n background-color: #0077c8;\n color: #ffffff;\n`;\n","import images from '~/constants/images';\nimport ErrorPageBall from './ErrorPageBall.png';\nimport ErrorPageLogo from './laliga-logo.png';\n\nconst ErrorPageBeat = images.beat;\nexport { ErrorPageLogo, ErrorPageBall, ErrorPageBeat };\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from 'react-router-dom';\nimport { getError } from './utils';\nimport * as S from './styles';\nimport { ErrorPageBall, ErrorPageBeat, ErrorPageLogo } from '~/assets/images';\n\n/** el caracter '@' será sustituído por el icono del balón */\nconst codes = {\n 404: '4@4',\n 403: '4@3',\n 500: '5@5',\n oops: 'O@PS',\n};\n\nconst ErrorPage = () => {\n const { t } = useTranslation();\n const { push } = useHistory();\n const code = window.localStorage.getItem('errorCode');\n const title = getError(code);\n const errorCode = code ? codes[code] : codes.oops;\n\n return (\n \n \n \n \n \n {Array.from(errorCode).map(letter =>\n letter === '@' ? (\n \"\"\n ) : (\n {letter}\n )\n )}\n \n {title}\n \n {\n window.localStorage.removeItem('redirectError');\n push({ pathname: '/' });\n }}\n >\n {t('backToHome')}\n \n \n \n \n \n );\n};\n\nexport default ErrorPage;\n","export const getError = status => {\n switch (status) {\n case '404':\n return 'Acción no encontrada';\n case '403':\n return 'No tiene permisos para realizar la acción';\n case '414':\n return 'URI demasiado larga';\n case '500':\n return 'Error en el servicio';\n default:\n return 'Error no esperado';\n }\n};\n","import React from 'react';\nimport { Redirect, Switch, useLocation } from 'react-router-dom';\n\nimport routesPath from '~/constants/routes';\nimport Route from './Route';\nimport {\n Login,\n Register,\n RegisterConfirmation,\n PasswordRecovery,\n Dashboard,\n Match,\n NotFound,\n ChangePassword,\n ConfirmCode,\n PrivateDocuments,\n Failure,\n} from '~/pages';\nimport ErrorPage from '~/pages/ErrorPage';\n\nexport default function Routes() {\n const { pathname } = useLocation();\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","import { createGlobalStyle } from 'styled-components';\n\nimport 'react-toastify/dist/ReactToastify.css';\nimport '~/assets/css/fonts.css';\n\nexport default createGlobalStyle`\n * {\n margin: 0;\n padding: 0;\n outline: 0;\n box-sizing: border-box;\n line-height: 1.5;\n font-family: ${({ theme }) => theme.primaryFont};\n }\n\n *:focus {\n outline: 0;\n }\n\n html, body, #root {\n height: 100%;\n }\n\n body {\n -webkit-font-smoothing: antialiased;\n color: #25282a;\n }\n\n body, input, button {\n font: 14px 'Core Sans', sans-serif;\n }\n\n a {\n text-decoration: none;\n transition: all ease-out 0.1s;\n }\n\n ul {\n list-style: none;\n }\n\n button {\n cursor: pointer;\n }\n \n input[type=number]::-webkit-inner-spin-button, \n input[type=number]::-webkit-outer-spin-button { \n -webkit-appearance: none; \n margin: 0; \n }\n \n .Toastify__toast { \n padding-left: 22px !important; letter-spacing: 0.7px; \n \n div{\n font-family: ${({ theme }) => theme.primaryFontLight};\n font-size: ${({ theme }) => theme.paragraph}px;\n }\n }\n \n .Toastify__toast--success { \n background-color: ${({ theme }) => theme.success} !important \n }\n \n .Toastify__toast--error { \n background-color: ${({ theme }) => theme.danger} !important \n }\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { ErrorPage as LaLigaErrorPage } from '@laliga-cdac2/react';\nimport { useTranslation } from 'react-i18next';\n\nconst Fallback = props => {\n const { title, description, ...restProps } = props;\n const { t } = useTranslation();\n return (\n \n );\n};\n\nFallback.propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n};\n\nFallback.defaultProps = {\n title: null,\n description: null,\n};\n\nexport default Fallback;\n","import React from 'react';\nimport { ToastContainer } from 'react-toastify';\nimport { PersistGate } from 'redux-persist/integration/react';\nimport { Provider } from 'react-redux';\nimport { Router } from 'react-router-dom';\nimport { ThemeProvider } from 'styled-components';\nimport { GoogleReCaptchaProvider } from 'react-google-recaptcha-v3';\n\nimport './config/ReactotronConfig';\n\nimport { LaLigaBoundary, LaLigaProvider } from '@laliga-cdac/react';\nimport { theme } from '~/styles/theme';\nimport Routes from './routes';\nimport history from './config/history';\n\nimport { store, persistor } from './store';\n\nimport GlobalStyle from './styles/global';\nimport Tracking from './config/tracking';\nimport Fallback from './components/FallBack';\nimport { sendMonolog } from './services/api';\n\nrequire('dotenv').config();\n\nfunction App() {\n return (\n \n \n \n \n \n \n }\n onError={(error, info, location) =>\n sendMonolog(error, info, location)\n }\n >\n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport default App;\n","import 'react-app-polyfill/ie11';\nimport 'core-js/features/array/includes';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport '~/config/i18n';\nimport App from './App';\n\nReactDOM.render(, document.getElementById('root'));\n","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFkAAAAWCAYAAACrBTAWAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAASLSURBVHgBzVlrbtxGDCa1ctGiKaDeQD1B9gZVWgco4gJ2T1DnBKlPsOsTxD5BNieog6ZBgDysnCD2DXSE/ZEEQVYahqP3cEaSvaus/QH74nAkiuR85Mwi/bk7hzYUnuGLVxewBujBb4fgeaE10HNNOogCSP1/DGGaLvBlnMDg/aIpeP5BW4bPX887dcHfB6SQtUJzkC757QK+UzGe9d+X7Q3Z3kNrQKkEPqkzjOOlHPKBYGZIJlnC72s5GRBnfL3QltOMouhnlwHwGQKYCBt8P+b3BAaxM2UHzYRwLrVob/cxf5SBRHDYHeXyFSacKMf44u0CuvDFi1h1Zl/DA7iTJ9hcDnkwEjjCUytD2vjREf0twHTwEDBkZz2hvd//7lbxuscIHrnEozkZVl40oLEPWwZTYQRXdnAbeMIrL+gYnPZMDOgPphOB8ZwMnulEhFgoTHsM/zYgOhS/EyB8aL2QTsXMAO74ljPLoAXm9fjVxsSsERo+jIfI+KXwiI0/bxlVGR7DtoB4l5dwAw+f4vNXC5cq7d3nJNFFsRKAw1Y6MDg9TyRdNPFxS0kn20l71iiZXEa4JaCk6CbomSFXeADbBPUubROeOjIzPI1tJfzVvD69gx0l9awVO1ImiwgDXpZydjQ2hQLpLtxS4H9vzvrG89ZtJYKmipaPi6vumjpX7EicLCJc8bEd5WjrvDwWdOvWhl6tTS9vtrxixW6cyc4IE8b6g6N8IaIM8JOnDVjALQDbdm4Jd9KHzg1J3ksbgsvmu2Ja9JpxVJqX665m80yWEQZYmrs75q02lMj6m0VkvVaT847VJuxWDb2gJzZvGLavsbmTURQzAtOpQLGYsN3id21gyBunf9sS90ZrUjuWt/Ixf5i72WLF5hiBkzv4uILNywE9uH/1qn8ziIyOSW606u7JgOTl2i8bOdlqznNhwccVNC+DjDJSBLcB7ZZN2mj0/WKjZfBxBfVM6NSZvGnhiywJ0nsuKFIqH8Bq2G8CnI2L6jtvRvjQhywuzk8JV+I5Efb5GUmoymcMdBJqKtmMLgj6i5imDoR7HOVjMbKtLfYSNkU2iWDoHgjH8DH9BTpWw9pOziPsymSN0rkcxXt5UXDwsutsYHSgOC5V6Axs8SwiizMqOFZBV6GunavPsMtjXJOXyyRkusDE2LMrfdS3+wS6DS8c54pwUfSOy2rbiF39ctGwx/A9G7sCc4zg3EE5DTJ+sCsc6jM0TzbBRHrERdc+DVzlDha1JascJlerdu4pfEhP7PNx0S+Xmy/O5OwU1gFZWbysM9c9QbZ2ufEcADaansK3gJ9q3pdFN7RedvE+1UEsMhxDc0wdtTLXhNUvM36YRB7+/1YbEsN1QdIw2R9bE2LjJ7aWp5/NYd1/Y3qQB5Cdcq1J+lTt02qef/0MDnqZdNrp7Jd9CgpO3kn/ss5FrwscCJTNy81U7YxsBBtc19Z/JTG9DNpXc2wWObNUw90fS1jj9dFZXu0DGK74S6YFNsLSL+V9U/NzjvbNxRnBVW2o5rn0+/4IzfVdBddPk655QzY77yH88hXKpwWwgPWAfwAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/spinnerBeat.af49c810.png\";","module.exports = __webpack_public_path__ + \"static/media/ErrorPageBg.85ee1058.jpg\";"],"sourceRoot":""}