{"version":3,"sources":["i18n.ts","core/store/events/actions.ts","components/Layout.tsx","components/Divider.tsx","core/store/events/reducers.ts","components/Utils.tsx","utils/locale.ts","utils/tealium.ts","components/Table.tsx","core/store/game/reducers.ts","core/store/bootstrap/actions.ts","components/Copy.tsx","core/store/element-types/reducers.ts","GlobalStyle.ts","core/hooks/useScript.js","core/store/bootstrap/reducers.ts","core/store/global/actions.ts","core/utils/api.ts","core/store/entries/actions.ts","img/fantasy-logo.svg","core/store/entries/thunks.ts","core/store/bootstrap/thunks.ts","core/store/global/reducers.ts","img/headline-logo.svg","img/headerbackground@1.5x.png","img/headerbackground@2x.png","img/fdj-logo-only@2x.png","img/fdj-logo@2x.png","img/fdr-page-ad-image-384.png","img/fdr-page-ad-image-768.png","img/sportingbet-page-ad-image-384.png","img/sportingbet-page-ad-image-768.png","utils/adverts.ts","img/fdj-logo@1x.png","img/sportingbet-logo@1x.png","img/sportingbet-logo@2x.png","img/fdj-logo-only@1x.png","img/sportingbet-logo-only@1x.png","img/sportingbet-logo-only@2x.png","utils/sites.ts","components/HeaderAd.tsx","img/player-comp-175.png","img/player-comp-345.png","img/player-comp-460.png","img/player-comp-690.png","theme.ts","core/store/element-stats/reducers.ts","core/store/elements/actions.ts","core/store/player/actions.ts","core/store/player/reducers.ts","core/store/teams/reducers.ts","core/store/elements/reducers.ts","core/store/chips/actions.ts","core/store/my-team/actions.ts","core/store/chips/reducers.ts","core/store/squad/actions.ts","core/store/squad/reducers.ts","core/store/squad/thunks.ts","core/utils/money.ts","img/icons/close.svg","utils/decimal.ts","utils/events.ts","components/Alert.tsx","components/Badge.tsx","components/Button.tsx","core/store/fixtures/actions.ts","core/store/fixtures/reducers.ts","components/CurrentGameweekSchedule.tsx","components/Dialog.tsx","components/FixtureForElement.tsx","components/Shirt.tsx","components/SubHeading.tsx","components/tabs/TabPanel.tsx","components/tabs/Tab.tsx","components/tabs/Tabs.tsx","img/icons/arrow-double-left.svg","components/Tooltip.tsx","components/ElementDialog.tsx","core/store/player/thunks.ts","core/store/fixtures/thunks.ts","core/store/leagues/actions.ts","core/store/entries/reducers.ts","utils/chips.ts","core/store/my-team/reducers.ts","core/store/my-team/thunks.ts","core/store/urls/actions.ts","components/Link.tsx","img/icons/arrow-double-right.svg","img/icons/arrow-left.svg","img/icons/arrow-right.svg","img/icons/down.svg","components/icons/Arrows.tsx","components/BoldLink.tsx","components/ButtonLink.tsx","components/Footnote.tsx","img/icons/new.svg","img/icons/same-ltr.svg","img/icons/same-rtl.svg","img/icons/up.svg","components/icons/Movement.tsx","components/leagues/Movement.tsx","components/leagues/Styles.ts","components/Panel.tsx","components/Entry.tsx","core/store/urls/thunks.ts","components/Title.tsx","components/EntryHistory.tsx","components/EntryUnsubscribe.tsx","core/hooks/useFormHook.ts","img/icons/search.svg","img/icons/select.svg","components/FieldRenderers.tsx","img/logo.svg","components/EntryUpdate.tsx","core/store/elements/thunks.ts","img/icons/info.svg","components/Fixture.tsx","components/Pager.tsx","components/Fixtures.tsx","components/FixturesWrapper.tsx","components/help/PlayerList.tsx","img/icons/arrow-up.svg","utils/heroImages.ts","components/HomeHero.tsx","components/Login.tsx","components/PromoVideo.tsx","components/status/EventInfo.tsx","components/ScorePrefix.tsx","components/status/FixtureCell.tsx","components/status/GameweekScheduleTracker.tsx","utils/playerNews.ts","img/icons/status.svg","img/icons/no-fixture-hyphen.svg","components/ElementStatus.tsx","components/ElementDialogButton.tsx","utils/fixtures.ts","components/Media.tsx","img/icons/transfer-arrow-down.svg","components/TeamCode.tsx","components/ElementInTable.tsx","components/squad/TransfersListTable.tsx","components/ElementTable.tsx","components/status/StatusTableElement.tsx","components/status/InjuryTracker.tsx","components/status/PageAd.tsx","components/ElementCard.tsx","components/Pitch.tsx","components/PitchElementFixtures.tsx","components/PitchElementData.tsx","img/back-court-bg.png","img/front-court-bg.png","components/squad/ElementGroup.tsx","components/TopScorersAd.tsx","components/status/TopScorers.tsx","img/icons/transfer-arrow-up.svg","img/icons/dreamteam.svg","components/status/TransfersPanel.tsx","components/status/Status.tsx","components/Home.tsx","img/icons/cog.svg","components/icons/DreamTeam.tsx","core/store/leagues/autoJoinPersistentStorage.ts","core/store/leagues/reducers.ts","core/store/leagues/thunks.ts","components/leagues/admin/EntrySelector.tsx","components/leagues/admin/AddBan.tsx","components/leagues/admin/ChangeAdmin.tsx","components/leagues/admin/ClassicDetails.tsx","components/leagues/admin/Code.tsx","components/leagues/admin/Delete.tsx","components/leagues/admin/RemoveBan.tsx","components/leagues/AdminClassic.tsx","components/leagues/AutoJoin.tsx","components/leagues/CreateClassic.tsx","components/leagues/CreateJoin.tsx","components/leagues/Invite.tsx","components/leagues/Join.tsx","components/leagues/errors.ts","components/leagues/JoinLeagueError.tsx","components/leagues/JoinPrivate.tsx","components/leagues/JoinPublic.tsx","img/nba-id-logo.svg","components/DialogManager.tsx","components/LinkButton.tsx","components/leagues/MyLeagues.tsx","components/leagues/Renew.tsx","components/leagues/StandingsHeading.tsx","components/leagues/StandingsRow.tsx","components/leagues/StandingsClassic.tsx","components/element-controls/ElementFilter.tsx","components/paginator/PaginatorButton.tsx","components/element-controls/Paginator.tsx","components/news/playerNews.tsx","components/player/Logout.tsx","core/store/regions/actions.ts","core/store/regions/reducers.ts","img/icons/plus.svg","components/player/Register.tsx","core/store/regions/thunks.ts","components/Prizes.tsx","components/squad/CreateEntryDialog.tsx","components/squad/helpers.ts","components/BoldLinkButton.tsx","components/DeadlineBar.tsx","components/squad/SaveBar.tsx","components/squad/ScoreboardPanel.tsx","components/squad/Scoreboard.tsx","img/icons/remove.svg","components/PlaceholderShirt.tsx","components/squad/PitchPlaceholder.tsx","img/icons/reload.svg","components/squad/SquadPitchElement.tsx","components/squad/SquadPitchUnit.tsx","components/squad/CreateSquad.tsx","utils/stats.ts","components/element-controls/ElementSort.tsx","components/ElementListRow.tsx","components/squad/ElementList.tsx","components/PageHeader.tsx","components/squad/SquadBase.tsx","img/icons/plus-small.svg","components/squad/SquadListTable.tsx","img/player-image-blank.png","components/squad/SquadSelection.tsx","components/squad/ConfirmTransfersDialog.tsx","components/squad/Transfers.tsx","components/stats/Statistics.tsx","img/icons/sub.svg","img/icons/captain.svg","img/gov-logo.svg","components/team/TeamElementIcon.tsx","components/team/TeamPitchElement.tsx","components/team/BenchUnit.tsx","components/team/ElementExplainDialog.tsx","components/team/EntryEventTable.tsx","components/team/PitchFormation.tsx","components/team/TeamElementGroup.tsx","components/team/styles.ts","components/team/valueForPlayedElement.tsx","components/team/EntryEvent.tsx","components/team/ChipStatus.tsx","components/team/MyTeamRow.tsx","components/team/MyTeamTable.tsx","components/team/MyTeam.tsx","components/TransfersHistory.tsx","components/Routes.tsx","components/FixturesLoader.tsx","img/fdj-18.svg","components/FdjDisclaimer.tsx","components/Footer.tsx","components/ServerError.tsx","components/leagues/AutoJoinDialog.tsx","core/hooks/useWindowSize.ts","core/hooks/usePriorityNav.ts","core/hooks/useDocumentEventHandler.ts","components/nav/Dropdown.tsx","components/nav/ListItem.tsx","components/nav/Navigation.tsx","components/App.tsx","core/store/cup/actions.ts","core/store/cup/reducers.ts","core/store/dream-teams/actions.ts","core/store/dream-teams/reducers.ts","core/store/stats/actions.ts","core/store/stats/reducers.ts","core/store/urls/reducers.ts","core/store/winners/actions.ts","core/store/winners/reducers.ts","core/store/index.ts","core/configureStore.ts","index.tsx","core/utils/datetime.ts","core/store/phases/reducers.ts"],"names":["window","location","hostname","substring","assign","hostnameLocale","includes","lng","indexOf","dateLocales","de","en","enUS","es","fr","it","el","he","tr","pt","ar","i18n","on","moment","locale","setDefaultOptions","use","Backend","initReactI18next","init","ns","defaultNS","fallbackLng","debug","interpolation","escapeValue","initImmediate","fetchEventStatus","createAsyncAction","Wrapper","styled","div","theme","breakpoints","Main","props","space","isWide","Secondary","TextDivider","fontSizes","rgba","Divider","hr","combineReducers","byId","state","action","type","getType","actions","newState","payload","forEach","event","id","currentEventStatus","success","getEventsById","events","getEvents","Object","keys","map","e","getCurrentEvent","createSelector","previousEvent","filter","is_previous","length","currentEvent","is_current","getNextEvent","nextEvent","is_next","getNextNEvents","n","all","nxt","step","push","getFinishedEvents","next","finished","getLastEvent","eventsById","ids","Number","Math","max","Ellipsis","ellipsis","isRTL","language","css","UnstyledButton","button","VisuallyHidden","span","hideVisually","PrimaryGradient","colors","blueDark","blue","BoxWrapStyles","radii","BoxWrap","FixtureCellStyles","FixtureCellPositionStyles","pushToTagDataLayer","obj","playDataLayer","createDigitalData","contentTitle","userData","digitalData","page","pageInfo","pageName","siteSection","content","categoryTitle","contentType","site","propertyName","league","partner","user","EVENT_PROPERTIES","interaction","pageLoad","createInteractionData","interactionId","interactionText","ampEventName","dataObj","eventType","eventData","interactionCategory","interactionContent","eventDigitalData","JSON","parse","stringify","createCustomInteractionData","errorDetail","customDataObject","customData","interactionIdentifier","userId","userState","createPageViewData","ScrollTable","em","$wide","Table","table","size","settings","total_players","getSettings","game","getTotalPlayers","createAction","deprecated","addElementStats","resolve","elementStats","addElementTypes","elementTypes","addElements","elements","addEvents","addGameSettings","addPhases","phases","addPlayer","data","addWatched","watched","addTeams","teams","addTotalPlayers","total","bootstrap","bootstrapMe","bootstrapStatic","Copy","et","getElementTypesById","getElementTypes","getElementTypesBySquadPosition","types","count","range","squad_select","lastType","nextType","thisType","fonts","body","useScript","url","useEffect","script","document","createElement","src","async","appendChild","removeChild","timeNow","round","Date","getTime","loading","request","failure","times","browser","server","getBootstrapped","Boolean","addServerError","error","getCookie","name","cookieValue","cookie","split","trim","decodeURIComponent","responseIsEmpty","response","contentLength","headers","get","status","parseInt","responseIsJSON","_api","dispatch","asyncActions","fetchArgs","successPayloadFormat","fetch","credentials","errorText","message","ok","statusText","json","badRequest","text","code","details","Error","apiGet","_apiDeletePostPut","method","apiPost","apiPut","apiDelete","_path","_path2","_path3","_g","_defs","fetchEntrySummary","fetchEntryHistory","fetchEntryEventPicks","updateEntry","fetchEntryTransfers","fetchEntryPhaseStandings","unsubscribeEntry","entryId","phaseId","entry","phase","staticRequest","dynamicRequest","Promise","then","staticData","meData","player","element_stats","element_types","game_settings","catch","serverError","getServerError","global","_excluded","_extends","bind","target","i","arguments","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgFantasyLogo","_ref","svgRef","title","titleId","width","height","viewBox","fill","xmlns","ref","clipPath","d","style","maskType","maskUnits","x","y","mask","ForwardRef","isSiteWithAd","sitesAdData","PageAdData","main_fr","href","srcSetSmall","FdrPageAdSmall","srcSetLarge","FdrPageAdLarge","altText","main_br","SportingBetPageAdSmall","SportingBetPageAdLarge","HeaderAdData","FdjHeader2x","TopScorersAdData","FdjLogo2x","sites","getSite","StyledImg","img","$site","HeaderAd","adData","rel","srcSet","alt","orange","pink","red","yellow","baseTheme","borderWidths","blueLight","charcoal","elementStatus","bg","color","green","greyBlue","greyLight","offBlack","primary","dark","light","tertiary","turquoise","secondary","partnerYellow","white","zIndex","clientMenu","dialog","menu","overlay","select","wrap","themeEL","themeDefault","reducer","getElementStats","getElementStatsByIdentifier","stats","reduce","memo","stat","updateElementControls","controls","elementDialogShow","elementDialogHide","fetchElementSummary","fetchElementEventData","login","logout","recover","register","playerUpdate","passwordChange","passwordReset","passwordSet","addToWatched","elementCode","removeFromWatched","addToWatchlist","removeFromWatchlist","loginError","loginSuccess","passwordChangeError","passwordResetError","passwordSetError","playerUpdateError","registerError","recoveryError","recoveryStatus","getPlayerData","getWatched","getLoginError","getPlayerUpdateError","getRegisterError","getLoginSuccess","team","getTeamsById","getTeams","t","sort","a","b","localeCompare","formatNameForSearching","search","toLowerCase","replace","c","index","bootstrapActions","element","search_name","web_name","maxCost","getUnavailable","elementActions","fixturesById","fixtures","eventDataById","explain","historyById","history","seasonHistoryById","history_past","getElementsById","getElement","elementId","getElements","getElementControls","getElementTypeFilterOptions","label","plural_name","value","getTeamFilterOptions","filterElements","filterString","watchedElements","filters","element_type","matches","match","getFilter","maxCostFromElements","now_cost","minCostFromElements","min","reduceElements","searchRegexp","safeValue","RegExp","getSafeSearchRegexp","ascendingSort","stringSort","sortElements","aSort","bSort","parseFloat","getElementsFromControls","filteredElements","minCost","getAverageCostByType","elCosts","getFixturesWithBlanks","getFixturesById","getFixtures","lst","fixturesWithBlanks","expectedNextEventId","f","getHistory","getHistoryById","getHistoryTotals","statNames","s","totals","h","isInteger","toFixed","getSeasonHistory","getSeasonHistoryById","getElementsEventDataById","eventId","getTotalsByType","sortBy","getFormation","join","proposeAvailableChip","chipName","cancelProposedChip","cancelActiveChip","restoreCancelledChip","fetchChipState","saveChipTeam","saveChipTransfer","fetchMyTeam","saveMyTeam","substitutionStart","pick","possibleReplacements","substitutionStop","substitutionProcess","subsStart","changeCaptain","isVice","changeViceCaptain","potential","chips","someActiveOrProposed","status_for_entry","chip_type","some","getPotentialChips","getActiveChip","getActiveChipName","chip","getProposedChip","getProposedChipName","getAvailableChipNames","teamChipsHaveChanged","getActiveOrProposedTeamChipName","getActiveOrProposedTransferChipName","getActiveOrProposedAllChipName","proposeElementInPosition","position","removeElementInPosition","resetLastChange","resetProposed","createSquad","makeTransfers","fetchTransfersLatest","defaultLastType","lastChange","proposed","myTeamActions","picksInSquadOrder","picks","elementsById","p","saved","transferState","chipActions","transfers","latestTransfers","getProposedPicks","squad","getSavedPicks","getLastChange","getTransferState","getSquadError","getSquadMode","getProposedElements","squad_squadsize","getProposedElementsById","pos","getTransferPositionStatus","getToSpend","mode","posStatus","proposedChip","activeChip","values","toSpend","squad_total_spend","selling_price","bank","getTeamLimit","squad_team_limit","getTypesNeeded","needed","getCountByTeam","countByTeam","elementsByTeam","groupBy","teamId","getProposedTransfers","element_in","element_out","purchase_price","getErrors","teamLimit","errors","budgetExceeded","selected","needElements","overTeamLimit","noTransfersMade","toCreateEntryAPI","getNumberOfTransferChanges","positionStatus","getFreeTransfers","limit","made","getFreeTransfersRemaining","free","changes","getTransferCostsWithoutChip","overLimit","cost","getTransferCosts","freeChips","canAutocomplete","canReset","orderBy","proposeElement","getState","elementTypesByPosition","freePosition","find","savedPositions","savedPosition","proposedId","removeElement","restoreElement","autoComplete","typesByPosition","averageCostByType","elementsOwned","concat","failures","typesNeeded","avgToSpend","weightingFactor","invalidTeams","possibles","choice","shuffle","form","integerToMoney","int","divisor","SvgHeadlineLogo","isDecimalStat","integerToDecimal","getEventShortName","eventName","getPrefixedEventShortName","StyledAlert","textAlign","noRadius","AlertItem","AlertWrap","AlertGroup","Alert","children","StyledBadge","Badge","isPresentation","useSelector","imgProps","role","StyledButton","variant","disabled","fullwidth","Button","rest","addFixturesForEvent","addFixtures","addAllStatsForFixture","byEvent","eventSlice","allStatsById","fixture","getFixturesByEvent","getGroupedFixturesByEvent","fixturesByEvent","groupedFixturesByEvent","groups","currentGroup","kickoff_time","kickoffDate","fixtureDate","startOfDay","utcToZonedTime","Intl","DateTimeFormat","resolvedOptions","timeZone","isEqual","date","getFixturesForEvent","getFixturesForEventById","getFixturesForNextEventByTeam","team_h","team_a","getFixturesForEventByTeam","_","__","teamsById","isHome","suffix","oppTeam","short_name","HeaderRow","StyledRow","GameweekDay","td","FixtureField","renderBadge","CurrentGameweekSchedule","now","activePhaseEvent","activePhase","getPhases","start_event","stop_event","gameDays","neededFixtures","elementFixtures","Array","gameDay","opponentId","SvgClose","fillRule","stroke","strokeLinecap","strokeWidth","transform","x1","y2","x2","CloseButton","CloseIcon","Close","CloseLabel","StyledDialog","Overlay","StyledHeader","DialogHeading","h2","DialogButtonItem","isVisible","elem","offsetWidth","offsetHeight","getClientRects","StyledDialogBody","isPadded","DialogBody","className","defaultProps","Dialog","docref","React","focusReturn","activeElement","handleKeydown","closeDialog","handleTab","handleOutsideMouseClick","currentTarget","stopPropagation","addEventListener","docRef","current","focusElement","querySelector","focusable","focus","removeEventListener","focusedItem","focusableItems","slice","querySelectorAll","numFocusableItems","focusedIndex","shiftKey","preventDefault","ReactDOM","createPortal","onClick","open","getElementById","Header","Body","FixtureForElement","showBadge","useTranslation","shortName","FixturesForElement","myTeam","delimiter","fragments","result","item","StyledShirt","Shirt","onError","onerror","SubHeading","h3","BoldSubHeading","align","TabPanel","Item","li","Link","Tab","link","TabList","ul","centered","Tabs","getSelectedFromLocationHash","handleClick","setState","locationHash","child","panel","StyledTooltip","Tippy","TooltipLabel","$textDecoration","Tooltip","arrow","placement","ElementHeader","ElementLogo","StyledHeadlineLogo","BaseHeadlineLogo","Summary","SummaryInner","teamCode","SummaryItem","Headshot","SummaryInfo","SummaryName","SummaryType","StatList","StatItem","StatHeading","StatValue","StyledCell","HistoryTable","ElementDialog","added","addElement","elementTypesById","historyTotals","seasonHistory","elementType","hasSeasonHistory","filteredFixtures","news","m","elementTypeId","first_name","second_name","singular_name","event_points","total_points","selected_by_percent","my","w","toUpperCase","reverse","opponent_team","was_home","team_h_score","team_a_score","transfers_balance","colSpan","px","season_name","start_cost","end_cost","mt","dateTime","formatRawAsLocalI18n","event_name","mx","renderWatchlistButton","ConnectedDialog","withTranslation","connect","ownProps","ElementDialogContainer","getElementDialog","fetchFixtures","fetchFixturesPhase","createClassicLeague","createH2HLeague","joinPrivateLeague","joinPublicLeague","fetchClassicLeagueStandings","fetchH2HLeagueStandings","fetchH2HLeagueMatches","fetchClassicLeagueForAdmin","fetchH2HLeagueForAdmin","updateClassicLeague","updateH2HLeague","deleteLeague","banLeagueEntry","unbanLeagueEntry","fetchLeagueCode","regenerateLeagueCode","leaveLeague","fetchRenewableLeagues","renewRenewableLeague","deleteRenewableLeague","checkLeagueCode","setAutoJoinCode","clearAutoJoinCode","fetchLeagueEntries","fetchLeagueCupStatus","newLeague","leaguesKey","scoring","isAlreadyInLeague","leagues","updatedEntry","classic","le","h2h","eventHistoryById","past","chipHistoryById","eventPicksById","transfersById","phaseStandingsById","getEntry","entries","getEntryEventHistory","getEntrySeasonHistory","getEntryChipHistory","getEntryEventPicks","getEntryEventPoints","elementsEventDataById","multiplier","getEntryEventFormation","squad_squadplay","getPrivateClassicLeaguesForEntry","l","league_type","getPublicClassicLeaguesForEntry","getSystemClassicLeaguesForEntry","getLeagueForEntry","leagueId","getTransfersForEntry","getPhaseStandingsForEntryPhaseLeague","ps","league_id","allChipDetails","wildcard","description","rich","phcapt","getChipName","picksLastUpdated","picks_last_updated","picksProposed","subStatus","newPick","instigator","attrs","newPicks","subStart","newCaptain","attrMake","attrOther","oldCaptain","picksSaved","savingState","getMyPicksSaved","getMyPicksProposed","getMyTeamSavingState","getMyStartersProposed","getMyStartingTotalsByType","getMyFormation","isSub","getMyPossibleReplacementsForPick","pick1","pick2","p1","p2","p1Type","p2Type","p1Sub","p2Sub","validSwap","squad_max_play","squad_min_play","sub_positions_locked","isLegalSwap","isMyTeamValid","every","hasMyTeamChanged","is_captain","is_vice_captain","toUpdateMyTeamAPI","lastBootstrap","REFRESH_MINUTES","actionSubstitution","fetchURL","LinkStyles","RouterLink","SvgArrowDoubleLeft","SvgArrowDoubleRight","SvgArrowLeft","SvgArrowRight","ArrowStart","ArrowRightIcon","ArrowLeftIcon","ArrowEnd","ArrowStartDouble","ArrowRightDoubleIcon","ArrowLeftDoubleIcon","ArrowEndDouble","ControlArrowStart","ControlArrowEnd","BoldLinkStyles","StyledBoldLink","BoldLink","to","ButtonLinkStyles","StyledButtonLink","ButtonLink","Footnote","SvgDown","xmlnsXlink","enableBackground","xmlSpace","undefined","points","_rect","SvgNew","SvgSameLtr","SvgSameRtl","SvgUp","NewIcon","BaseNewIcon","SameIcon","BaseSameIconRTL","BaseSameIconLTR","arrowStyling","BaseUpIcon","BaseDownIcon","StyledUpArrow","StyledDownArrow","Movement","lastRank","rank","LeagueSummaryTable","th","StyledPanel","StyledPanelHeader","upperCase","PanelHeading","h4","StyledPanelFooter","borderBottom","Panel","Footer","EntryName","TeamName","DataList","DataListItem","DataListHeading","h5","DataListValue","BadgeWrapper","TableFixed","MovementCell","Rank","Name","linkToLeague","boldStyles","BoldText","StyledLink","StyledTdFixedWidth","MovementHead","RankHead","NameHead","LeagueSummary","as","scope","leagueEntry","LeagueSummaryRow","entry_last_rank","entry_rank","toLocaleString","Entry","favTeamArticle","mine","transfersState","privateClassicLeagues","publicClassicLeagues","systemClassicLeagues","totalPlayers","fanLeagueData","fanLeagueMatch","fanLeagues","broadcasterLeagueMatch","broadcasterLeagues","filteredSystemClassicLeagues","player_first_name","player_last_name","pb","summary_overall_points","summary_overall_rank","summary_event_points","last_deadline_total_transfers","last_deadline_value","last_deadline_bank","Component","fetchUrl","Title","EntryHistory","thisRank","eventHistory","overall_rank","mb","eh","points_on_bench","event_transfers","event_transfers_cost","movementFromIndex","chipHistory","ch","time","EntryUnsubscribe","signature","reduxDispatch","useDispatch","useState","unsubscribeState","setUnsubscribeState","pre","bad","useFormHook","initialStateObject","formState","updateFormState","newFormState","checked","hex","FieldWrap","FieldLabel","labelVisbility","Hint","InputWrap","FieldStyles","Input","input","hasErrors","SelectWrap","InlineSelectWrap","Select","InlineSelect","SearchInput","SearchIcon","FieldCols","FieldCol","LabelHint","hint","required","htmlFor","InlineLabel","InputField","maxLength","onBlur","onChange","readonly","readOnly","SearchField","Checkbox","CheckboxText","hasLogo","LogoImg","CheckboxField","logo","hideLabel","labelStyles","fieldset","StyledFieldFeedback","SelectField","InlineSelectField","FieldFeedback","EntryUpdate","favourite_team","entry_email","entry_language","initState","updateState","updateCheckboxState","updateSelectState","onSubmit","fave","kit","email","name_change_blocked","firstRoundDeadline","deadline_time","EntryUpdateFetcher","fetchEntry","navigate","updateElementControlsAndMaxCost","updateElementTypeControl","getElementSummary","showElementSummary","SvgLogo","StyledFixture","StyledTeam","TeamStyles","TeamH","TeamA","FixtureBadge","FixtureDetails","FixtureBox","FixtureKOTime","FixtureVenue","FixtureScore","Team","Fixture","teamH","teamA","started","formatRawAsISO","formatInTimeZone","Pager","PagerButtonNextStyles","EventPager","PagerButton","PagerButtonNext","PagerHeading","FixtureHeader","header","Heading","HeadingText","Deadline","EventName","DeadlineTime","Note","FixtureList","FixtureItem","FixtureButton","isOpen","FixtureStatsWrap","FixtureStatsOuterList","FixtureStat","FixtureStatHeading","FixtureStatBody","FixtureStatList","FixtureStatItem","ElementButton","FixtureStatsForTeam","showElementDialog","fs","FixtureStats","statsByIdentifier","renderStats","identifier","Fixtures","changeEvent","fetchFixturesForEvent","toggle","fixtureId","useLinks","eventFixtureGroups","Trans","i18nKey","group","toISOString","format","FixturesWrapper","ElementListElement","ElementListTable","ElementListPosition","halfElements","ceil","firstHalfElements","secondHalfElements","display","HERO_IMAGES","alt_text","HomeHeroWrap","HomeHero","path","process","lang","imagePath","media","sizes","LoginWrapper","LoginSection","PromoMain","PromoCopy","HomeSubHeading","Username","LoginForgetPassword","Password","ButtonSeparation","LoginButtonWrap","CreateAccountButtonWrap","LoginForm","LoginButton","LoginTitle","mapDispatch","postData","connector","setEmail","password","setPassword","firstName","lastName","last_name","VideoEmbed","PromoVideoSection","PromoVideo","srcUrl","frameBorder","allow","referrerPolicy","allowFullScreen","alignment","EventInfoGradient","StyledEventInfo","Background","EventItems","EventItem","ButtonWrap","ItemHeading","ItemValue","overallLeague","entryPhaseStandings","heGameWeek","gameWeek","phaseTotalPoints","ScorePrefixStyles","WinPrefix","LosePrefix","DrawPrefix","FixtureWrap","isPlayed","hasFixture","FixtureName","FixtureCell","prefix","PanelPaddingWrap","StyledScrollTable","TableRow","StyledTableHeaderNarrow","StyledTableHeader","TeamNameWrap","TeamNameDisplay","RowTitleCell","StyledTableCell","GWDayCell","TotalGames","TotalFixtures","GameweekScheduleTracker","totalCounts","teamsArray","compareDates","news_added","comparePrice","SvgInfo","cx","cy","r","fontFamily","fontSize","fontWeight","textAnchor","SvgStatus","StyledInfo","Info","StyledStatus","Status","copnr","ElementStatus","chance_of_playing_next_round","StyledElementDialogButton","SvgNoFixtureHyphen","getNextElementFixtures","numberOfFixtures","StyledMedia","centred","Img","Media","StyledTeamCode","isSmall","TeamCode","MenuButton","SecondName","StyledElementType","ElementInTable","renderElementMenu","short","singular_name_short","SquadListStatus","SquadListElement","SquadListPrice","SquadListForm","SquadListPoints","SquadListFixture","NoFixture","NoFixtureHyphen","TransfersListRow","proposedElements","savedPicks","elementState","elementRowVariant","ElementRow","ElementCell","positions","next5Events","elementPosition","ElementTable","gradientDirection","PrimaryCell","ElementList","ListItemStyles","FirstName","TeamPosition","StatusTableElement","courtPosition","StyledThead","thead","InjuryTrackerTable","StatusCol","BadgeCol","PlayerCol","NewsCol","StyledPrimaryCell","News","BoldLinkWrap","InjuryTracker","showLink","newsCount","filteredNews","AdWrap","PageAd","ElementCardMain","ElementCardBadge","ElementCardTeam","ShirtWrap","PitchRow","PitchUnit","PitchElementWrap","PitchElementOuter","PitchElementInner","isRemoved","Controls","PrimaryControl","InfoControl","ElementFixturesWrapper","NextFixtureWrapper","UpcomingFixturesWrapper","UpcomingTitle","UpcomingFixtures","UpcomingField","PitchElementFixtures","splice","StyledPitchElementData","ElementName","ElementValue","PitchElementData","from","StyledElementGroup","ElementGroupHeading","ElementGroupBody","$justifyContentCenter","$showBackground","BackCourtBg","FrontCourtBg","ElementGroup","TopScorersAd","images","StyledElementName","Score","CardWrap","SponsorWrap","StyledSubHeading","TopScorersHeading","TopGamedayScorers","mr","TopScorers","groupedElements","front_court","back_court","SvgTransferArrowDown","SvgTransferArrowUp","_g2","BodyArrowIn","ArrowUp","BodyArrowOut","ArrowDown","TransfersTable","PosCol","TransfersCol","isOut","transferStatus","inOut","StatusWrapper","StatusCols","DisclaimerText","HomeHeader","BodySubheading","Highlights","StyledHomeStep","HomeStepInner","LoginLinkWrapper","AnchorButton","LinkArrowUp","HomeStep","showButton","heading","isAlt","Home","query","qs","ignoreQueryPrefix","setTimeout","SvgDreamteam","DreamTeam","BaseDreamTeam","localStorageKey","getInitialState","localStorage","getItem","getValue","classicStandingsById","produce","draft","newData","newEntriesByPage","standingsByPhaseAndPage","new_entries","standings","lastUpdatedData","last_updated_data","getH2HMatchesKey","h2hMatchesById","byEntryEventPage","adminById","byCode","autoJoinCode","codesByLeagueId","createClassicLeagueError","createH2HLeagueError","cupStatusById","qualifying_league","h2hStandingsById","standingsByPage","entriesById","entriesErrorById","joinPrivateLeagueSuccess","joinPrivateLeagueError","joinPublicLeagueError","renewableById","rl","updateClassicLeagueError","updateH2HLeagueError","getLeagueAdmin","getCode","getRenewableLeagues","getCreateClassicLeagueError","getJoinPrivateLeagueError","getJoinPublicLeagueError","getClassicLeague","leagueData","getJoinPrivateLeagueSuccess","addEntryToTopOfNewEntries","newEntries","entry_name","joined_time","ne","getActiveEntryInLeague","activeToClassicStanding","event_total","last_rank","player_name","rank_sort","getClassicNewEntries","activeEntry","results","getClassicStandings","cs","setCode","setItem","setValue","clearCode","removeItem","clearValue","EntrySelector","handleChange","searchChange","selection","onInputValueChange","debounce","itemToString","getInputProps","getItemProps","getLabelProps","getMenuProps","highlightedIndex","selectedItem","backgroundColor","EntrySelectorWrapper","lastSearch","searchMatches","encodeURIComponent","AddBan","handleEntryChange","handleSubmit","apiDataFromState","admin_entry","ChangeAdmin","updateAdmin","ClassicDetails","requiredFields","privacyOptions","closed","code_privacy","codePrivacy","startEvent","handleNameChange","handleCodePrivacyChange","handleStartEventChange","handleClosedChange","updateLeague","Code","fetchCode","regenerateCode","Delete","remove","confirm","RemoveBan","bans","unban","AdminClassic","leagueNumber","fetchLeague","AutoJoin","CreateClassic","non_field_errors","maxPrivateEntries","league_join_private_max","CreateJoin","LeagueInvite","LeagueInviteCode","strong","Hr","codeToCopy","leagueName","origin","inviteMessage","emailText","emailBody","emailSubject","encodedEmailSubject","encodeURI","joinUrl","useClipboard","successDuration","isCopied","setCopied","isCopiedUrl","setCopiedUrl","isCopiedEmail","setCopiedEmail","onDoubleClick","line","maxPrivateLeagues","maxPublicLeagues","league_join_public_max","getErrorType","JoinLeagueError","getErrorMessage","JoinPrivate","handleCodeChange","hasJoinedPrivate","joinPublicLeagueClassic","joinPublicLeagueH2H","publicLeagueMax","maxSizePublicClassic","league_max_size_public_classic","leagueJoinPublicMax","SvgCog","DialogManager","showDialog","handleShow","handleHide","render","LinkButton","ActionBar","ActionBarItem","ActionList","MyLeaguesTable","LeagueCol","MovementCol","RankCol","OptionsCol","MenuCopy","Cog","BaseCog","MyLeagues","leave","LeagueTypeTable","LeagueMenuDialog","entry_can_leave","entry_can_admin","entry_can_invite","Renew","destroy","renew","ButtonWrapper","entryInLeague","leagueTitle","isAdmin","isEntryInLeague","showInviteBtn","showJoinBtn","alignItems","justifyContent","StandingsRow","StandingsClassic","buildLink","fetchStandings","pageNewEntries","pageStandings","fetchLeagueStandings","prevProps","ls","has_next","page_new_entries","page_standings","getStartedPhases","elementTypeFilterOptions","ElementFilter","handleFilterChange","filterTeams","unavailable","o","HiddenLabel","PaginatorButton","actionMe","PaginatorArrowIconStart","PaginatorArrowIconEnd","PaginatorIconStartDouble","PaginatorIconEndDouble","paginate","pageSize","start","totalPages","Paginator","setPage","FilterWrap","updateControls","updateControlsAndMaxCost","Logout","addRegions","getRegions","regions","SvgNbaIdLogo","SaveBar","DOBFieldset","DOBFieldsetInner","DOBLegend","legend","DOBCol","TitleStyle","StyledNBAIdLogo","NbaIDLogo","Register","errorsTxt","EDob","EEmail","EFName","ELName","EPass","EPassLength","EValidEmail","EValidPass","ERegion","EInvalid","EInvalidDob","EInvalidEmail","EInvalidPassword","EInvalidFname","EInvalidLname","EInvalidRegion","EInvalidEconsent","EInvalidPconsent","months","getMode","dirty","handleBirthDayChange","birthDay","handleBirthMonthChange","birthMonth","handleBirthYearChange","birthYear","handleEmailChange","formDisabled","handleFirstNameChange","handleLastNameChange","handlePasswordChange","handleRegionChange","region","handleEmailNbaChange","emailNba","handleNbaPrivacyChange","privacyNba","registerPlayer","scrollTo","handleServerErrors","doBootstrap","nbaciamguid","updatePlayer","handleFirstnameBlur","errorFName","handleLastnameBlur","errorLName","handlePasswordBlur","validatePassword","errorPass","handleEmailBlur","errorEmail","handleRegionBlur","errorRegion","handleDobBlur","year","month","day","ageLim","ageLimit","isValid","today","birthDate","age","getFullYear","getMonth","getDate","errorDob","updateError","formattedErrors","isFormDisabled","getRequiredFields","date_of_birth","nba_email","nba_privacy","fetchRegionData","regs","pw","test","ageLimitDefaults","default","main_ar","main_he","main_tr","main_en","main_de","main_es","main_it","main_el","update","buttonText","getIntRegions","iso_code_short","defaultValue","BoldParagraph","Prizes","CreateEntryDialog","terms_agreed","handleFaveChange","handleTermsChange","createEntry","errorCode","getCodeFromError","reload","StyledBoldLinkButton","BoldLinkButton","icon","isBack","StyledDeadlineBar","DeadlineBar","deadlineISO","deadlineLocal","headingText","Value","isError","isSuccess","ScoreboardPanel","ScoreboardBox","StyledBasicScoreboard","ScoreboardButtons","ScoreboardPanelWrap","CostScoreboardUnit","Basic","autoPick","currencyDivisor","isBudgetExceeded","isNeedElements","reset","ExplainChipDialog","transferCosts","Cost","activeChipName","availableChipNames","freeTransfersRemaining","proposedChipName","cancelChip","proposeChip","wildCardChip","AllStarChip","flexWrap","Scoreboard","scoreboard","console","log","SvgPlus","StyledPlusIcon","PlusIcon","PlaceholderShirt","StyledPlaceholder","Abbr","abbr","Span","PitchPlaceholder","SvgRemove","y1","_polygon","StyledRemove","Remove","SquadPitchElement","elementValue","StyledSquadPitchUnit","removePitchElement","restorePitchElement","showElementType","showSidebar","StyledCopy","StyledDialogButton","PlayerActions","CreateSquad","positionForMenu","showAutoPickDialog","handleShowMenuForElement","handleHideMenuForElement","hideAutoPickDialog","clearLastChange","listTable","submitDialog","showListTableAsDefault","handleAutoPick","latestAction","playerName","canEnter","sharedPitchElementProps","renderElementValueForPosition","submitButtonText","positionsByElementType","showTabsInReverseOrder","autoPickText","userPickText","renderElementDialog","renderMenu","_stats","getStats","minutes","points_scored","rebounds","assists","blocks","steals","turnovers","value_form","value_season","points_per_game","transfers_in","transfers_out","transfers_in_event","transfers_out_event","cost_change_start","cost_change_start_fall","cost_change_event","cost_change_event_fall","allStatsDetails","getStatDetails","getStatNames","ElementSort","getSortOptions","handleSortChange","sortOptions","StyledElementListRow","isProposed","ElementListStatCell","ElementListRow","SectionHeader","SectionHeading","Form","ElementsShown","ElementListPrice","ElementListStat","ElementTypeButton","elementForMenu","handleSearchChange","handleMaxCostChange","proposedElement","proposedElementsById","roomInSquad","alert","hideRef","hideSidebar","paginateAndGroup","StyledPageHeader","PageHeader","PusherWrap","Pusher","isSidebarVisible","PusherSecondary","SquadBase","showRef","createRef","handleShowSidebar","handleHideSidebar","handleTransitionEnd","onTransitionEnd","FilterElTypeButton","PlaceHolderImageWrap","ImageIconWrap","SquadListCost","SquadListSelected","PlaceholderImagePlus","SmallPlusIcon","PlaceholderImagePlayer","SquadListRow","SquadSelection","listTableProps","availableChips","freeTransfers","wildcardAvailable","formatRawAsLocal","costs","Transfers","StatsStatus","StatsElement","StatsCost","StatsSel","StatsForm","StatsPts","StatsExtra","ElementNameButton","Statistics","defaultStats","statName","extraStat","statDetail","String","SvgReload","SvgSub","rx","strokeLinejoin","SvgCaptain","StyledCaptain","Captain","SubControl","StyledSub","Sub","ElementIconWrap","BenchNumber","positionOnBench","renderPickValue","renderDreamTeam","StyledBenchUnit","BenchUnitHeading","substitute","ExplainHeading","ExplainScore","ElementExplainDialog","elementsDataById","elementData","renderExplainFixture","EntryEventStatus","EntryEventCpt","EntryEventElement","EntryEventPts","EntryEventRow","dataById","ThreeTwo","generateProps","TwoThree","formation","sharedTeamPitchElementProps","formations","StyledTeamElementGroup","isBench","TeamElementGroupTitle","TeamElementGroupBody","TeamElementGroup","isHiddenTitle","pl","BenchElements","valueForPlayerElement","initProps","unshift","PrimaryPanel","ScoreboardBoxWrapper","PointsScoreboard","PrimarySection","SecondarySection","PrimaryHeading","PrimaryValue","ReloadButton","Reload","BaseReload","ReloadButtonText","SecondaryList","StyledSecondaryItem","SecondaryItemInner","SecondaryHeading","SecondaryValue","ChipStatus","SecondaryItem","EntryEvent","pickForMenu","handleShowMenuForPickElement","entryData","handleHideMenuForPick","in_dreamteam","fetchDataAndFixtures","fetchData","fetchEventLive","eventPoints","phasePoints","active_chip","benchHeading","started_event","ActivePhaseName","average_entry_score","highest_scoring_entry","highest_score","entry_history","automatic_subs","connected","translated","ChipGamedayCounter","GamedayCounterString","GamedayCounterNumber","daysLeft","MyTeamRow","chipInPlayName","MyTeamStatus","MyTeamCpt","MyTeamElement","MyTeamPos","MyTeamForm","MyTeamGD","MyTeamPts","MyTeamFix","next3Events","ChipSection","Chip","ChipHeading","ChipSeparator","ChipInfo","ButtonHeight","ChipBorder","ChipLink","ChipLinkArrow","ArrowRight","MyTeam","startMax","showCaptButton","deactivateChip","restoreChip","played_by_entry","changed","chipAllPlayName","chipsChanged","fixturesForNextEventByTeam","save","valid","_renderPickValue","chipDetails","getAllChipDetails","phaseCaptainChip","nextPhase","ph","renderChipAction","makeCaptain","DialogButton","TransfersHistory","fetchLatestTransfers","transfersHistory","getLatestTransfers","Help","lazy","Rules","Terms","Updates","OnRouteChangeWorker","pathname","OnRouteChange","PlayerRoute","EntryRoute","NotFound","Routes","hasPlayer","setHasPlayer","hasLoginSuccess","setHasLoginSuccess","fallback","Join","JoinPublic","Invite","FixturesLoader","SvgGovLogo","SvgFdj18","Wrap","GovLogo","BaseGovLogo","Fdj18Logo","BaseFdj18Logo","CopyWrap","FdjCopyLarge","FdjCopySmall","FdjSection","FdjDisclaimer","StyledFooterOuter","footer","StyledFooterInner","FooterContent","FooterLinkWrapper","FooterLink","FooterVerticalDivider","FooterTextHeavy","FooterText","baseURL","scheme","locales","countryCode","HomeOrHelp","renderError","ServerError","ConfirmBtnWrapper","LeagueName","AutoJoinDialog","getAutoJoinCode","joinedPrivateLeagueSuccess","getLeagueFromCode","isPlayerInLeague","confirmJoinLeague","getSize","innerHeight","innerWidth","outerHeight","outerWidth","useWindowSize","windowSize","setWindowSize","handleResize","arraysEqual","usePriorityNav","links","offset","childrenWidths","setWidths","visibleLinks","setVisibleLinks","nonVisibleLinks","setNonVisibleLinks","oldLinks","setLinks","measuredRef","useCallback","node","getBoundingClientRect","left","right","useLayoutEffect","screen","filteredIndexedElements","newVisibleLinks","newNonVisibleLinks","useDocumentEventHandler","handler","eventHandler","MoreButton","NavLink","NavReachLink","NavHyperLink","Dropdown","setOpen","nativeEvent","stopImmediatePropagation","dir","useRouter","LIStyled","ListItem","forwardRef","getProps","isCurrent","isPartiallyCurrent","StyledNav","nav","StyledUL","NavigationLinks","findIndex","Sport5","SkyItaliaHeader","SkyItaliaFooter","headerStyles","euro","GameHeaderOuter","rtl","hiDPI","Background2x","BorderTop","BorderBottom","GameHeaderInner","playerComp175","playerComp345","playerComp460","playerComp690","GameTitle","h1","FantasyLogo","BaseFantasyLogo","GameHeaderWrapper","Loading","StyledHeaderWrapper","StyledFooterWrapper","App","bootstrapped","siteHeaders","main_us","sport5","sky_italia","siteFooters","Helmet","GlobalStyle","AppContainer","bootstrapApp","errorInfo","Sentry","setExtras","fetchEntryCupDetail","byEntryId","cupDetail","cup","idsFromSummary","cup_matches","cup_status","fetchOverallDreamTeam","fetchEventDreamTeam","byEventId","overall","fetchBestClassicPrivateLeagues","fetchMostValuableTeams","bestClassicPrivateLeagues","mostValuableTeams","byURL","last_fetched","fetchEventWinners","fetchPhaseWinners","byPhase","enableAllPlugins","rootReducer","dreamTeams","urls","winners","configureStore","initialState","middlewares","thunkMiddleware","enhancer","composeWithDevTools","applyMiddleware","createStore","dsn","environment","integrations","tracesSampleRate","tracePropagationTargets","profilesSampleRate","store","localTimeZone","formatDateAsLocal","dt","raw","formatDateAsLocalI18n","lastFinishedEvent"],"mappings":"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qBAAU,WACRpD,aAAmB,SAEpB,GAAE,IAGD,eAAC,KAAD,UACE,eAAC,KAAD,UACE,gBAACoC,GAAA,EAAD,WACE,8BAAKyP,EAAE,mBAAoB,wBAER,OAAlB1a,KAAKmF,SACJ,eAAC,KAAD,CAAK6xB,GAAI,EAAT,SACE,6BACGtc,EAAE,wBAAyB,uCAIhC,uCACE,gBAAC,KAAD,CAAKsc,GAAI,EAAT,UACE,8BACGtc,EACC,iCACA,gNAGJ,gCACE,8BACE,6BACGA,EACC,gCACA,yIAIN,8BACE,6BACGA,EACC,gCACA,qIAMV,gBAAC,KAAD,CAAKsc,GAAI,EAAT,UACE,8BAAKtc,EAAE,wBAAyB,iBAChC,8BACGA,EACC,2CACA,+CAGJ,6BACGA,EACC,2CACA,8JAGJ,6BACGA,EACC,2CACA,oCAGJ,gCACE,gCACE,6BACGA,EACC,2CACA,kSAGJ,gCACE,8BACGA,EACC,2CACA,oEAGJ,8BACGA,EACC,2CACA,0HAKR,gCACE,6BACGA,EACC,2CACA,8GAGJ,8BACE,8BACGA,EACC,2CACA,yFAKR,gCACE,6BACGA,EACC,2CACA,iGAGJ,8BACE,8BACGA,EACC,2CACA,kEAKR,8BACE,6BACGA,EACC,4CACA,6EAIN,8BACE,6BACGA,EACC,4CACA,2IAKR,6BACGA,EACC,4CACA,qFAGJ,6BACGA,EACC,4CACA,+FAIN,gBAAC,KAAD,CAAKsc,GAAI,EAAT,UACE,8BACGtc,EACC,iDACA,yGAGJ,6BACGA,EACC,iDACA,4OAGJ,gCACE,8BACE,+BACGA,EACC,iDACA,mEACC,IACH,oBACEnG,KAAK,sBACLzC,OAAO,SACP6D,IAAI,aAHN,iCALF,SAeF,8BACE,+BACG+E,EACC,iDACA,kEACC,IACH,oBACEnG,KAAK,sBACLzC,OAAO,SACP6D,IAAI,aAHN,iCALF,SAeF,8BACE,+BACG+E,EACC,iDACA,mEACC,IACH,oBACEnG,KAAK,sBACLzC,OAAO,SACP6D,IAAI,aAHN,iCALF,SAeF,8BACE,+BACG+E,EACC,iDACA,kEACC,IACH,oBACEnG,KAAK,sBACLzC,OAAO,SACP6D,IAAI,aAHN,iCALF,eAiBN,gBAAC,KAAD,CAAKqhB,GAAI,EAAT,UACE,8BAAKtc,EAAE,wCAAyC,aAChD,6BACGA,EACC,uCACA,2NAGJ,+BACGA,EACC,uCACA,sLACC,IACH,oBACEnG,KAAK,sBACLzC,OAAO,SACP6D,IAAI,aAHN,iCAMK,IACJ+E,EACC,uCACA,6IAGJ,6BACGA,EACC,uCACA,iMAGJ,+BACGA,EACC,uCACA,gDACC,IACH,oBACEnG,KAAK,wCACLzC,OAAO,SACP6D,IAAI,aAHN,SAKG+E,EAAE,uCAAwC,iBACxC,IACJA,EACC,uCACA,yFAIN,gBAAC,KAAD,CAAKsc,GAAI,EAAT,UACE,8BAAKtc,EAAE,wBAAyB,iBAChC,8BACGA,EACC,8BACA,8CAIJ,gCACE,8BACE,6BACGA,EACC,6BACA,4HAIN,8BACE,6BACGA,EACC,6BACA,mJAMV,gBAAC,KAAD,CAAKsc,GAAI,EAAT,UACE,8BACGtc,EACC,wCACA,mFAGJ,6BACGA,EACC,wCACA,iLAGJ,6BACGA,EACC,wCACA,yCAGJ,gCACE,gCACE,6BACGA,EACC,wCACA,8RAGJ,gCACE,8BACGA,EACC,wCACA,oEAGJ,8BACGA,EACC,wCACA,0HAKR,gCACE,6BACGA,EACC,wCACA,8GAGJ,8BACE,8BACGA,EACC,wCACA,yFAKR,gCACE,6BACGA,EACC,wCACA,iGAGJ,8BACE,8BACGA,EACC,wCACA,iEAKR,8BACE,6BACGA,EACC,yCACA,6EAIN,8BACE,6BACGA,EACC,yCACA,6IAKR,6BACGA,EACC,yCACA,wFAIN,gBAAC,KAAD,CAAKsc,GAAI,EAAT,UACE,8BACGtc,EACC,8CACA,yGAGJ,6BACGA,EACC,8CACA,mPAGJ,gCACE,8BACE,+BACGA,EACC,8CACA,mEACC,IACH,oBACEnG,KAAK,sBACLzC,OAAO,SACP6D,IAAI,aAHN,iCALF,SAeF,8BACE,+BACG+E,EACC,8CACA,kEACC,IACH,oBACEnG,KAAK,sBACLzC,OAAO,SACP6D,IAAI,aAHN,iCALF,SAeF,8BACE,+BACG+E,EACC,8CACA,mEACC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","file":"static/js/main.7a39c4dc.chunk.js","sourcesContent":["import { setDefaultOptions } from \"date-fns\";\nimport { ar, de, el, enUS, es, fr, he, it, pt, tr } from \"date-fns/locale\";\nimport i18n from \"i18next\";\nimport Backend from \"i18next-xhr-backend\";\nimport moment from \"moment\";\nimport \"moment/locale/ar\";\nimport \"moment/locale/de\";\nimport \"moment/locale/el\";\nimport \"moment/locale/es\";\nimport \"moment/locale/fr\";\nimport \"moment/locale/he\";\nimport \"moment/locale/it\";\nimport \"moment/locale/pt\";\nimport \"moment/locale/tr\";\nimport { initReactI18next } from \"react-i18next\";\n\nconst locales = [\"de\", \"en\", \"es\", \"fr\", \"it\", \"el\", \"he\", \"tr\", \"pt\", \"ar\"];\n\nif (\n process.env.REACT_APP_SENTRY_ENVIRONMENT &&\n process.env.REACT_APP_SENTRY_ENVIRONMENT === \"production\"\n) {\n if (window.location.hostname.substring(0, 2) === \"he\") {\n window.location.assign(\"https://nbafantasy.sport5.co.il\");\n }\n if (window.location.hostname.substring(0, 2) === \"it\") {\n window.location.assign(\"https://nbafantasy.sky.it\");\n }\n}\n\nconst hostnameLocale =\n window.location.hostname.substring(0, 2) === \"gr\"\n ? \"el\"\n : window.location.hostname.includes(\"sport5\")\n ? \"he\"\n : window.location.hostname.includes(\"sky\")\n ? \"it\"\n : window.location.hostname.substring(0, 2) === \"br\"\n ? \"pt\"\n : window.location.hostname.substring(0, 2);\n// hack for the GR vs EL greek domain/locale\n// and sport5 affiliate in HE\n\nconst lng = locales.indexOf(hostnameLocale) >= 0 ? hostnameLocale : \"en\";\nexport const dateLocales: Record = {\n de,\n en: enUS,\n es,\n fr,\n it,\n el,\n he,\n tr,\n pt,\n ar,\n};\n// Update moment and date-fns locale\ni18n.on(\"languageChanged\", function (lng) {\n moment.locale(lng);\n setDefaultOptions({ locale: dateLocales[lng] });\n});\n\ni18n\n .use(Backend)\n .use(initReactI18next)\n\n .init({\n ns: [\"common\"],\n defaultNS: \"common\",\n lng,\n fallbackLng: \"en\", // to stop trying to fetch dev transations\n debug: true,\n interpolation: {\n escapeValue: false, // react already safe from xss as escaped by default\n },\n initImmediate: false, // makes the language code accessible in src/theme.ts (PR #4035)\n });\n\nexport default i18n;\n","import { createAsyncAction } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport { IEventStatusData } from \"./types\";\n\nexport const fetchEventStatus = createAsyncAction(\n \"FETCH_EVENT_STATUS_START\",\n \"FETCH_EVENT_STATUS_SUCCESS\",\n \"FETCH_EVENT_STATUS_FAILURE\"\n)();\n","import styled from \"styled-components/macro\";\n\nexport const Wrapper = styled.div`\n max-width: 1220px;\n min-height: 0;\n min-width: 0;\n margin: 0 auto;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n display: flex;\n }\n`;\n\ninterface IMainProps {\n isWide?: boolean;\n}\n\nexport const Main = styled.div`\n padding: ${(props) => props.theme.space[4]} 0;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n width: ${(props) => (props.isWide ? \"100%\" : \"calc(100% / 3 * 2)\")};\n padding-right: 1rem;\n padding-left: 1rem;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: ${(props) => (props.isWide ? \"100%\" : \"calc(100% / 4 * 3)\")};\n }\n`;\n\nexport const Secondary = styled.div`\n padding-top: 2rem;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n width: calc(100% / 3);\n padding-right: 1rem;\n padding-left: 1rem;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: calc(100% / 4 * 1);\n }\n`;\n","import { rgba } from \"polished\";\nimport styled from \"styled-components/macro\";\n\nexport const TextDivider = styled.div`\n margin: ${({ theme }) => theme.space[4]} ${({ theme }) => theme.space[2]};\n font-size: ${({ theme }) => theme.fontSizes[0]};\n text-align: center;\n text-transform: lowercase;\n overflow: hidden;\n\n ::before,\n ::after {\n content: \"\";\n position: relative;\n display: inline-block;\n width: 50%;\n height: 1px;\n background-color: ${rgba(\"black\", 0.1)};\n vertical-align: middle;\n }\n\n ::before {\n right: ${({ theme }) => theme.space[2]};\n margin-left: -50%;\n }\n\n ::after {\n left: ${({ theme }) => theme.space[2]};\n margin-right: -50%;\n }\n`;\n\nexport const Divider = styled.hr`\n height: 2px;\n margin: 0;\n border: none;\n background-color: ${rgba(\"black\", 0.1)};\n color: ${rgba(\"black\", 0.1)};\n`;\n","import { combineReducers } from \"redux\";\nimport { createSelector } from \"reselect\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport * as actions from \"../bootstrap/actions\";\nimport { IEvent, IState } from \"./types\";\nimport { fetchEventStatus } from \"./actions\";\n\n// State Reducer\nexport default combineReducers({\n byId: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.addEvents):\n const newState: { [key: string]: IEvent } = {};\n action.payload.forEach((event) => {\n newState[event.id] = event;\n });\n return newState;\n default:\n return state;\n }\n },\n currentEventStatus: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(fetchEventStatus.success):\n return action.payload;\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getEventsById = (state: RootState) => state.events.byId;\n\nexport const getEvents = (state: RootState) =>\n Object.keys(state.events.byId).map((e) => state.events.byId[e]);\n\nexport const getPreviousEvent = createSelector(getEvents, (events) => {\n const previousEvent = events.filter((e) => e.is_previous);\n return previousEvent.length ? previousEvent[0] : null;\n});\n\nexport const getCurrentEvent = createSelector(getEvents, (events) => {\n const currentEvent = events.filter((e) => e.is_current);\n return currentEvent.length ? currentEvent[0] : null;\n});\n\nexport const getNextEvent = createSelector(getEvents, (events) => {\n const nextEvent = events.filter((e) => e.is_next);\n\n return nextEvent.length ? nextEvent[0] : null;\n});\n\nexport const getNextNEvents = (n: number = 3) =>\n createSelector(\n getEventsById,\n getNextEvent,\n\n (all, nxt) => {\n const events: IEvent[] = [];\n if (nxt) {\n for (let step = 0; step < n; step++) {\n if (all[nxt.id + step]) {\n events.push(all[nxt.id + step]);\n }\n }\n }\n\n return events;\n }\n );\n\nexport const getFutureEvents = createSelector(\n getEvents,\n getNextEvent,\n (events, next) => (next ? events.filter((e) => e.id >= next.id) : [])\n);\n\nexport const getFinishedEvents = createSelector(getEvents, (events) =>\n events.filter((e) => e.finished)\n);\n\nexport const getLastEvent = createSelector(getEventsById, (eventsById) => {\n const ids = Object.keys(eventsById).map((id) => Number(id));\n if (!ids.length) {\n return null;\n }\n return eventsById[Math.max(...ids)];\n});\n\nexport const getCurrentEventStatus = (state: RootState) =>\n state.events.currentEventStatus;\n","import { ellipsis, hideVisually, rgba } from \"polished\";\nimport styled, { css } from \"styled-components/macro\";\nimport i18n from \"../i18n\";\nimport { isRTL } from \"../utils/locale\";\n\nexport const Ellipsis = styled.div`\n ${ellipsis()}\n ${isRTL(i18n.language) &&\n css`\n direction: rtl;\n unicode-bidi: plaintext;\n `}\n`;\n\nexport const UnstyledButton = styled.button`\n display: block;\n width: 100%;\n padding: 0;\n border: 0;\n background-color: transparent;\n line-height: 1;\n cursor: pointer;\n`;\n\nexport const VisuallyHidden = styled.span`\n ${hideVisually}\n`;\n\nexport const PrimaryGradient = isRTL(i18n.language)\n ? css`\n background-image: linear-gradient(\n to left,\n ${(props) => props.theme.colors.blueDark} 75%,\n ${(props) => props.theme.colors.blue}\n );\n `\n : css`\n background-image: linear-gradient(\n to right,\n ${(props) => props.theme.colors.blueDark} 75%,\n ${(props) => props.theme.colors.blue}\n );\n `;\n\nexport const BoxWrapStyles = css`\n border-radius: ${(props) => props.theme.radii[1]};\n box-shadow: 1px 2px 10px 2px ${rgba(\"black\", 0.1)};\n`;\n\nexport const BoxWrap = styled.div`\n ${BoxWrapStyles}\n`;\n\nexport const FixtureCellStyles = css`\n padding: ${({ theme }) => theme.space[2]};\n border-radius: ${({ theme }) => theme.radii[1]};\n font-size: 1.2rem;\n`;\n\nexport const FixtureCellPositionStyles = css`\n position: absolute;\n top: 2px;\n bottom: 2px;\n left: 2px;\n right: 2px;\n align-content: center;\n text-align: center;\n`;\n","export const isRTL = (language: any) => {\n const rtlLanguages = [\"he\", \"ar\"];\n return rtlLanguages.includes(language);\n};\n","export interface DataLayerObject {\n [key: string]: any;\n}\n\ndeclare const window: Window & {\n playDataLayer: DataLayerObject;\n};\n\nexport const pushToTagDataLayer = (obj: DataLayerObject) => {\n window.playDataLayer = window.playDataLayer || [];\n window.playDataLayer.push(obj);\n};\n\ninterface IDigitalData {\n page: {\n pageInfo: {\n pageName: string;\n siteSection: string;\n };\n content: {\n categoryTitle: string;\n contentTitle: string;\n contentType: string;\n };\n };\n site: {\n propertyName: string;\n league: string;\n partner: string;\n };\n user: IUserData;\n}\n\nexport const createDigitalData = (\n contentTitle: string,\n userData?: IUserData\n): IDigitalData => {\n let digitalData: IDigitalData = {\n page: {\n pageInfo: {\n pageName: \"Page View: Fantasy Game\",\n siteSection: \"Fantasy\",\n },\n content: {\n categoryTitle: \"Salary Cap\",\n contentTitle: contentTitle,\n contentType: \"2024-2025 fantasy salary cap\",\n },\n },\n site: {\n propertyName: \"nba:web\",\n league: \"nba\",\n partner: \"ISM Fantasy Games\",\n },\n user: {},\n };\n\n if (userData) {\n digitalData.user = userData;\n }\n\n return digitalData;\n};\n\ninterface IEventProperties {\n interactionCategory: string;\n interactionContent: string;\n eventTypes: {\n interaction: string;\n pageLoad: string;\n };\n}\n\nexport const EVENT_PROPERTIES: IEventProperties = {\n interactionCategory: \"2024-2025 fantasy salary cap\",\n interactionContent: \"Salary Cap\",\n eventTypes: {\n interaction: \"nba fantasy game interaction\",\n pageLoad: \"pageLoad\",\n },\n};\n\ninterface ICreateInteractionData {\n interactionText: string;\n interactionId: string;\n contentTitle: string;\n userData?: IUserData;\n ampEventName?: string;\n}\n\ninterface IUserData {\n userId?: string | null | number | boolean | undefined;\n userState?: string;\n}\n\ninterface ICreateCustomInteractionData {\n interactionId: string;\n ampEventName: string;\n errorDetail?: string[] | string | null;\n userData?: IUserData;\n contentTitle: string;\n}\n\ninterface IInteractionData {\n eventType: string;\n eventData: {\n interactionCategory: string;\n interactionId: string;\n interactionContent: string;\n interactionText: string;\n eventDigitalData: any;\n ampEventName?: string;\n };\n}\n\ninterface ICustomInteractionData {\n eventType: string;\n eventData: {\n customData: IUserData & {\n interactionIdentifier: string;\n interactionCategory: string;\n ampEventName: string;\n errorDetail?: string[] | string | null;\n };\n eventDigitalData: IDigitalData;\n };\n}\n\nexport const createInteractionData = ({\n contentTitle,\n interactionId,\n interactionText,\n ampEventName,\n}: ICreateInteractionData) => {\n const digitalData = createDigitalData(contentTitle);\n const dataObj: IInteractionData = {\n eventType: EVENT_PROPERTIES.eventTypes.interaction,\n eventData: {\n interactionCategory: EVENT_PROPERTIES.interactionCategory,\n interactionId: interactionId,\n interactionContent: EVENT_PROPERTIES.interactionContent,\n interactionText: interactionText,\n eventDigitalData: JSON.parse(JSON.stringify(digitalData)),\n ...(ampEventName && { ampEventName }),\n },\n };\n pushToTagDataLayer(dataObj);\n};\n\nexport const createCustomInteractionData = ({\n interactionId,\n contentTitle,\n userData,\n ampEventName,\n errorDetail,\n}: ICreateCustomInteractionData) => {\n const digitalData = createDigitalData(contentTitle || \"\", userData);\n const customDataObject: ICustomInteractionData = {\n eventType: EVENT_PROPERTIES.eventTypes.interaction,\n eventData: {\n customData: {\n interactionIdentifier: interactionId,\n interactionCategory: EVENT_PROPERTIES.interactionCategory,\n userId: digitalData.user.userId,\n userState: digitalData.user.userState,\n ampEventName: ampEventName,\n ...(errorDetail && { errorDetail }),\n },\n eventDigitalData: JSON.parse(JSON.stringify(digitalData)),\n },\n };\n pushToTagDataLayer(customDataObject);\n};\n\nexport const createPageViewData = (contentTitle: string) => {\n const digitalData = createDigitalData(contentTitle);\n const dataObj = {\n eventType: \"pageLoad\",\n eventData: {\n customData: {},\n eventDigitalData: JSON.parse(JSON.stringify(digitalData)),\n },\n };\n pushToTagDataLayer(dataObj);\n};\n","import { em } from \"polished\";\nimport styled, { css } from \"styled-components/macro\";\n\ninterface IProps {\n size?: string;\n}\n\ninterface IScrollTable {\n $wide?: boolean;\n}\n\nexport const ScrollTable = styled.div`\n width: 100%;\n @media (max-width: ${em(\"480px\")}) {\n overflow-x: auto;\n\n table {\n width: 48rem;\n }\n }\n ${({ $wide }) =>\n $wide &&\n css`\n @media (max-width: ${em(\"700px\")}) {\n overflow-x: auto;\n\n table {\n width: 80rem;\n }\n }\n `}\n`;\n\nconst Table = styled.table`\n width: 100%;\n border-collapse: collapse;\n\n th,\n td {\n padding: ${({ theme }) => `${theme.space[2]}`};\n\n ${({ size }) =>\n size === \"lg\" &&\n css`\n padding: ${({ theme }) => `${theme.space[3]} ${theme.space[2]}`};\n `}\n }\n\n th {\n border-bottom: 1px solid #d8d8d8;\n font-weight: 300;\n text-align: start;\n }\n\n td {\n border-bottom: 1px solid #d8d8d8;\n font-weight: normal;\n }\n\n tr {\n background-color: white;\n\n &:nth-child(odd) {\n background-color: white;\n }\n }\n`;\n\nexport default Table;\n","import { combineReducers } from \"redux\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"..\";\nimport * as actions from \"../bootstrap/actions\";\nimport { IState } from \"./types\";\n\nexport default combineReducers({\n settings: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.addGameSettings):\n return action.payload;\n default:\n return state;\n }\n },\n total_players: (state = 0, action: RootAction) => {\n switch (action.type) {\n case getType(actions.addTotalPlayers):\n return action.payload;\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getSettings = (state: RootState) => state.game.settings;\n\nexport const getTotalPlayers = (state: RootState) => state.game.total_players;\n","import { createAsyncAction, deprecated } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport { IElementStat } from \"../element-stats/types\";\nimport { IElementType } from \"../element-types/types\";\nimport { IElement } from \"../elements/types\";\nimport { IEvent } from \"../events/types\";\nimport { ISettings } from \"../game/types\";\nimport { IPhase } from \"../phases/types\";\nimport { IPlayer } from \"../player/types\";\nimport { ITeam } from \"../teams/types\";\n\nconst createAction = deprecated.createAction;\n\n// Action Creators\nexport const addElementStats = createAction(\"ADD_ELEMENT_STATS\", (resolve) => {\n return (elementStats: IElementStat[]) => resolve(elementStats);\n});\n\nexport const addElementTypes = createAction(\"ADD_ELEMENT_TYPES\", (resolve) => {\n return (elementTypes: IElementType[]) => resolve(elementTypes);\n});\n\nexport const addElements = createAction(\"ADD_ELEMENTS\", (resolve) => {\n return (elements: IElement[]) => resolve(elements);\n});\n\nexport const addEvents = createAction(\"ADD_EVENTS\", (resolve) => {\n return (events: IEvent[]) => resolve(events);\n});\n\nexport const addGameSettings = createAction(\"ADD_GAME_SETTINGS\", (resolve) => {\n return (settings: ISettings) => resolve(settings);\n});\n\nexport const addPhases = createAction(\"ADD_PHASES\", (resolve) => {\n return (phases: IPhase[]) => resolve(phases);\n});\n\nexport const addPlayer = createAction(\"ADD_PLAYER\", (resolve) => {\n return (data: IPlayer | null) => resolve(data);\n});\n\nexport const addWatched = createAction(\"ADD_WATCHED\", (resolve) => {\n return (watched: number[]) => resolve(watched);\n});\n\nexport const addTeams = createAction(\"ADD_TEAMS\", (resolve) => {\n return (teams: ITeam[]) => resolve(teams);\n});\n\nexport const addTotalPlayers = createAction(\"ADD_TOTAL_PLAYERS\", (resolve) => {\n return (total: number) => resolve(total);\n});\n\nexport const bootstrap = createAsyncAction(\n \"BOOTSTRAP_START\",\n \"BOOTSTRAP_SUCCESS\",\n \"BOOTSTRAP_FAILURE\"\n)();\n\nexport const bootstrapMe = createAsyncAction(\n \"BOOTSTRAP_ME_START\",\n \"BOOTSTRAP_ME_SUCCESS\",\n \"BOOTSTRAP_ME_FAILURE\"\n)();\n\nexport const bootstrapStatic = createAsyncAction(\n \"BOOTSTRAP_STATIC_START\",\n \"BOOTSTRAP_STATIC_SUCCESS\",\n \"BOOTSTRAP_STATIC_FAILURE\"\n)();\n","import styled from \"styled-components/macro\";\n\nconst Copy = styled.div`\n margin: 0 ${({ theme }) => theme.space[2]};\n\n h4,\n h5,\n p,\n ul,\n ol,\n table {\n margin-bottom: ${({ theme }) => theme.space[2]};\n }\n\n h4 {\n margin-top: 14px;\n font-size: ${({ theme }) => theme.fontSizes[2]};\n font-weight: 600;\n }\n\n h6 {\n margin-bottom: ${({ theme }) => theme.space[1]};\n }\n\n h3 {\n font-size: ${({ theme }) => theme.fontSizes[3]};\n }\n\n ul,\n ol {\n margin-top: 0;\n margin-bottom: ${({ theme }) => theme.space[2]};\n padding-left: 4rem;\n }\n\n ol li {\n list-style-type: decimal;\n }\n ul li {\n list-style-type: disc;\n margin-bottom: ${({ theme }) => theme.space[2]};\n }\n`;\n\nexport default Copy;\n","import range from \"lodash/range\";\nimport { combineReducers } from \"redux\";\nimport { createSelector } from \"reselect\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"..\";\nimport * as actions from \"../bootstrap/actions\";\nimport { getSettings } from \"../game/reducers\";\nimport { IElementType, IElementTypesBySquadPosition, IState } from \"./types\";\n\n// State Reducer\nexport default combineReducers({\n byId: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.addElementTypes):\n const newState: { [key: string]: IElementType } = {};\n action.payload.forEach((et) => {\n newState[et.id] = et;\n });\n return newState;\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getElementTypesById = (state: RootState) =>\n state.elementTypes.byId;\n\nexport const getElementTypes = (state: RootState) =>\n Object.keys(state.elementTypes.byId).map((et) => state.elementTypes.byId[et]);\n\nexport const getElementTypesBySquadPosition = createSelector(\n getElementTypes,\n getSettings,\n (types) => {\n const data: IElementTypesBySquadPosition = {};\n\n // First pass to set types by position\n let count = 1;\n types.forEach((et) => {\n range(et.squad_select).forEach(() => {\n data[count] = { lastType: null, nextType: null, thisType: et };\n count++;\n });\n });\n\n // Second pass to set last and next types which help with rendering\n count = 1;\n types.forEach((et) => {\n range(et.squad_select).forEach(() => {\n if (data[count - 1]) {\n data[count].lastType = data[count - 1].thisType;\n }\n if (data[count + 1]) {\n data[count].nextType = data[count + 1].thisType;\n }\n count++;\n });\n });\n\n return data;\n }\n);\n","import * as styled from \"styled-components\";\n\nexport default styled.createGlobalStyle`\n *,\n *::before,\n *::after {\n box-sizing: inherit;\n }\n\n html {\n box-sizing: border-box;\n font-family: ${(props) => props.theme.fonts.body};\n font-size: 62.5%;\n }\n\n body {\n margin: 0;\n font-size: ${(props) => props.theme.fontSizes[1]};\n background-color: white;\n color: black;\n font-feature-settings: \"liga\", \"kern\";\n }\n\n p {\n color: inherit;\n line-height: 1.6;\n }\n\n svg {\n vertical-align: middle;\n }\n`;\n","// https://stackoverflow.com/questions/34424845/adding-script-tag-to-react-jsx\nimport { useEffect } from \"react\";\n\nconst useScript = (url) => {\n useEffect(() => {\n const script = document.createElement(\"script\");\n\n script.src = url;\n script.type = \"text/javascript\";\n script.async = true;\n\n document.body.appendChild(script);\n\n return () => {\n document.body.removeChild(script);\n };\n }, [url]);\n};\n\nexport default useScript;\n","import { combineReducers } from \"redux\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport * as actions from \"./actions\";\nimport { IState } from \"./types\";\n\nexport const timeNow = () => Math.round(new Date().getTime() / 1000);\n\n// State Reducer\nexport default combineReducers({\n loading: (state = false, action) => {\n switch (action.type) {\n case getType(actions.bootstrap.request):\n return true;\n case getType(actions.bootstrap.failure):\n case getType(actions.bootstrap.success):\n return false;\n default:\n return state;\n }\n },\n\n times: (state = { browser: null, server: null }, action) => {\n switch (action.type) {\n case getType(actions.bootstrap.success):\n return {\n browser: timeNow(),\n server: null,\n };\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getBootstrapped = (state: RootState) =>\n Boolean(state.bootstrap.times.browser);\n\nexport const getBootstrapTime = (state: RootState) =>\n state.bootstrap.times.browser;\n","import { deprecated } from \"typesafe-actions\";\nimport { IServerError } from \"./types\";\n\nconst createAction = deprecated.createAction;\n\nexport const addServerError = createAction(\n \"ADD_SERVER_ERROR\",\n (resolve) => (error: IServerError) => resolve(error)\n);\n","import { Dispatch } from \"redux\";\nimport { IError, RootAction } from \"../store\";\nimport { addServerError } from \"../store/global/actions\";\n\nexport const getCookie = (name: string): string => {\n let cookieValue = \"\";\n if (document.cookie && document.cookie !== \"\") {\n for (let cookie of document.cookie.split(\";\")) {\n cookie = cookie.trim();\n if (cookie.substring(0, name.length + 1) === `${name}=`) {\n cookieValue = decodeURIComponent(cookie.substring(name.length + 1));\n break;\n }\n }\n }\n return cookieValue;\n};\n\nconst responseIsEmpty = (response: Response) => {\n const contentLength = response.headers.get(\"content-length\");\n return (\n response.status === 204 ||\n (contentLength && parseInt(contentLength, 10) === 0)\n );\n};\n\nconst responseIsJSON = (response: Response) => {\n const contentType = response.headers.get(\"content-type\");\n return contentType && contentType.indexOf(\"application/json\") !== -1;\n};\n\n// TODO - Type this better\ninterface IAsyncActions {\n request: any;\n failure: any;\n success: any;\n}\n\nasync function _api(\n url: string,\n dispatch: Dispatch,\n asyncActions: IAsyncActions,\n fetchArgs: RequestInit,\n successPayloadFormat?: {}\n): Promise {\n let response;\n try {\n dispatch(asyncActions.request());\n response = await fetch(`/api/${url}`, {\n ...fetchArgs,\n credentials: \"same-origin\",\n });\n } catch (e) {\n // Network error\n const error: IError = { errorText: e.message, url };\n dispatch(asyncActions.failure(error));\n throw e;\n }\n if (!response.ok) {\n // Not 2xx\n const error: IError = { statusText: response.statusText, url };\n if (response.status === 400) {\n error.badRequest = await response.json();\n } else {\n // Non 400 errors are handled globally\n dispatch(\n addServerError({\n code: response.status,\n details: await response.text(),\n })\n );\n }\n dispatch(asyncActions.failure(error));\n throw new Error(response.statusText);\n }\n const data = responseIsJSON(response)\n ? responseIsEmpty(response)\n ? {}\n : await response.json()\n : responseIsEmpty(response)\n ? \"\"\n : await response.json();\n dispatch(\n asyncActions.success(\n successPayloadFormat\n ? {\n ...successPayloadFormat,\n data,\n }\n : data\n )\n );\n return data as T;\n}\n\nexport async function apiGet(\n url: string,\n dispatch: Dispatch,\n asyncActions: IAsyncActions,\n successPayloadFormat?: {}\n): Promise {\n return _api(url, dispatch, asyncActions, {}, successPayloadFormat);\n}\n\nasync function _apiDeletePostPut(\n method: \"DELETE\" | \"POST\" | \"PUT\",\n url: string,\n data: object,\n dispatch: Dispatch,\n asyncActions: IAsyncActions,\n successPayloadFormat?: {}\n): Promise {\n return _api(\n url,\n dispatch,\n asyncActions,\n {\n body: JSON.stringify(data),\n headers: {\n \"Content-Type\": \"application/json\",\n \"X-CSRFToken\": getCookie(\"csrftoken\"),\n },\n method,\n },\n successPayloadFormat\n );\n}\n\nexport async function apiPost(\n url: string,\n data: object,\n dispatch: Dispatch,\n asyncActions: IAsyncActions,\n successPayloadFormat?: {}\n): Promise {\n return _apiDeletePostPut(\n \"POST\",\n url,\n data,\n dispatch,\n asyncActions,\n successPayloadFormat\n );\n}\n\nexport async function apiPut(\n url: string,\n data: object,\n dispatch: Dispatch,\n asyncActions: IAsyncActions,\n successPayloadFormat?: {}\n): Promise {\n return _apiDeletePostPut(\n \"PUT\",\n url,\n data,\n dispatch,\n asyncActions,\n successPayloadFormat\n );\n}\n\nexport async function apiDelete(\n url: string,\n data: object,\n dispatch: Dispatch,\n asyncActions: IAsyncActions,\n successPayloadFormat?: {}\n): Promise {\n return _apiDeletePostPut(\n \"DELETE\",\n url,\n data,\n dispatch,\n asyncActions,\n successPayloadFormat\n );\n}\n","import { createAsyncAction } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport {\n IEntry,\n IEntryChipHistory,\n IEntryEvent,\n IEntryEventHistory,\n IEntryPhaseStanding,\n IEntrySeasonHistory,\n ITransfer,\n} from \"./types\";\n\nexport const fetchEntrySummary = createAsyncAction(\n \"FETCH_ENTRY_SUMMARY_START\",\n \"FETCH_ENTRY_SUMMARY_SUCCESS\",\n \"FETCH_ENTRY_SUMMARY_FAILURE\"\n)();\n\nexport const fetchEntryHistory = createAsyncAction(\n \"FETCH_ENTRY_HISTORY_START\",\n \"FETCH_ENTRY_HISTORY_SUCCESS\",\n \"FETCH_ENTRY_HISTORY_FAILURE\"\n)<\n void,\n {\n id: number;\n data: {\n current: IEntryEventHistory[];\n past: IEntrySeasonHistory[];\n chips: IEntryChipHistory[];\n };\n },\n IError\n>();\n\nexport const fetchEntryEventPicks = createAsyncAction(\n \"FETCH_ENTRY_EVENT_PICKS_START\",\n \"FETCH_ENTRY_EVENT_PICKS_SUCCESS\",\n \"FETCH_ENTRY_EVENT_PICKS_FAILURE\"\n)();\n\nexport const updateEntry = createAsyncAction(\n \"UPDATE_ENTRY_START\",\n \"UPDATE_ENTRY_SUCCESS\",\n \"UPDATE_ENTRY_FAILURE\"\n)();\n\nexport const fetchEntryTransfers = createAsyncAction(\n \"FETCH_ENTRY_TRANSFERS_START\",\n \"FETCH_ENTRY_TRANSFERS_SUCCESS\",\n \"FETCH_ENTRY_TRANSFERS_FAILURE\"\n)();\n\nexport const fetchEntryPhaseStandings = createAsyncAction(\n \"FETCH_ENTRY_PHASE_STANDINGS_START\",\n \"FETCH_ENTRY_PHASE_STANDINGS_SUCCESS\",\n \"FETCH_ENTRY_PHASE_STANDINGS_FAILURE\"\n)<\n void,\n { entry: number; phase: number; data: IEntryPhaseStanding[] },\n IError\n>();\n\nexport const unsubscribeEntry = createAsyncAction(\n \"UNSUBSCRIBE_ENTRY_START\",\n \"UNSUBSCRIBE_ENTRY_SUCCESS\",\n \"UNSUBSCRIBE_ENTRY_FAILURE\"\n)();\n","var _path, _path2, _path3, _g, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFantasyLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 324,\n height: 152,\n viewBox: \"0 0 324 152\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_2068_10349)\"\n }, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M112.802 74.8801H103.442V114H91.9219V28.3201H114.242V39.1201H103.442V65.5201H112.802V74.8801ZM136.172 114L135.092 97.0801H128.012L127.052 114H115.412L123.692 28.3201H140.132L148.292 114H136.172ZM129.452 72.4801L128.612 86.4001H134.492L133.652 72.4801C133.172 66.0001 131.972 45.1201 131.372 34.8001C130.652 45.1201 129.812 66.3601 129.452 72.4801ZM163.291 89.4001V114H153.211V28.3201H168.811L179.251 99.7201C177.691 83.0401 175.651 55.3201 175.651 40.8001V28.3201H185.731V114H171.451L161.851 45.6001C162.691 60.9601 163.291 79.0801 163.291 89.4001ZM191.366 39.1201V28.3201H220.766V39.1201H211.766V114H200.246V39.1201H191.366ZM241.406 114L240.326 97.0801H233.246L232.286 114H220.646L228.926 28.3201H245.366L253.526 114H241.406ZM234.686 72.4801L233.846 86.4001H239.726L238.886 72.4801C238.406 66.0001 237.206 45.1201 236.606 34.8001C235.886 45.1201 235.046 66.3601 234.686 72.4801ZM287.365 93.2401V97.2001C287.365 109.92 281.005 114.72 272.725 114.72C262.765 114.72 257.725 109.68 257.725 97.9201V85.9201H269.245V98.7601C269.245 102.84 270.685 103.92 272.605 103.92C275.125 103.92 275.845 101.4 275.845 97.5601V94.3201C275.845 88.0801 274.285 86.1601 267.325 75.6001C261.445 66.4801 258.205 58.5601 258.205 50.0401V46.5601C258.205 33.8401 263.485 27.6001 272.965 27.6001C281.245 27.6001 287.485 30.2401 287.485 46.5601V57.3601H276.205V45.4801C276.205 40.8001 275.365 38.4001 272.965 38.4001C270.445 38.4001 269.485 40.2001 269.485 45.4801V47.7601C269.485 55.2001 271.645 59.5201 277.525 68.4001C283.645 77.8801 287.365 83.5201 287.365 93.2401ZM324.288 28.3201L313.608 91.0801V114H302.088V91.0801L291.768 28.3201H303.888L308.328 73.9201L312.528 28.3201H324.288Z\",\n fill: \"#2A63D2\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M97.5625 137.87V139.01C97.5625 142.04 96.2425 143.18 94.3225 143.18C92.1025 143.18 91.0225 142.01 91.0225 139.1V135.98H93.2425V139.37C93.2425 140.63 93.5425 141.08 94.3225 141.08C95.0725 141.08 95.3425 140.45 95.3425 139.22V138.2C95.3425 136.58 95.0725 135.86 93.3025 133.31C91.8625 131.18 91.0825 129.59 91.0825 127.13V125.75C91.0825 122.72 92.2825 121.4 94.3525 121.4C96.3325 121.4 97.5925 122.24 97.5925 125.75V128.72H95.4025V125.45C95.4025 124.1 95.1925 123.5 94.3525 123.5C93.6025 123.5 93.2725 124.04 93.2725 125.45V126.71C93.2725 128.75 93.7225 129.68 95.1625 131.75C96.8725 134.27 97.5625 135.41 97.5625 137.87ZM98.8585 143L101.048 121.58H104.198L106.238 143H103.928L103.568 138.29H101.438L101.078 143H98.8585ZM101.888 132.77L101.618 136.13H103.388L103.118 132.77C102.998 131.21 102.668 126.32 102.488 123.35C102.278 126.26 102.038 130.97 101.888 132.77ZM107.606 143V121.58H109.826V140.9H112.586V143H107.606ZM113.565 143L115.755 121.58H118.905L120.945 143H118.635L118.275 138.29H116.145L115.785 143H113.565ZM116.595 132.77L116.325 136.13H118.095L117.825 132.77C117.705 131.21 117.375 126.32 117.195 123.35C116.985 126.26 116.745 130.97 116.595 132.77ZM126.603 143L125.373 135.83H124.533V143H122.313V121.58H125.043C127.593 121.58 128.853 122.75 128.853 126.95V130.85C128.853 133.55 128.163 134.96 126.963 135.5C127.353 135.86 127.623 136.49 127.833 137.42C128.013 138.17 129.003 143 129.003 143H126.603ZM125.193 123.71H124.533V133.82H125.193C126.183 133.82 126.633 133.01 126.633 130.88V126.92C126.633 124.82 126.303 123.71 125.193 123.71ZM132.489 143V137.27L130.089 121.58H132.459L133.779 133.43L135.129 121.58H137.379L134.739 137.51V143H132.489ZM148.569 135.08V139.01C148.569 142.1 147.519 143.18 145.299 143.18C143.139 143.18 142.029 142.1 142.029 139.01V125.57C142.029 122.48 143.139 121.4 145.299 121.4C147.519 121.4 148.569 122.48 148.569 125.57V129.68H146.349V125.27C146.349 123.95 146.109 123.5 145.299 123.5C144.579 123.5 144.249 123.95 144.249 125.27V139.31C144.249 140.63 144.579 141.08 145.299 141.08C146.109 141.08 146.349 140.63 146.349 139.31V135.08H148.569ZM149.952 143L152.142 121.58H155.292L157.332 143H155.022L154.662 138.29H152.532L152.172 143H149.952ZM152.982 132.77L152.712 136.13H154.482L154.212 132.77C154.092 131.21 153.762 126.32 153.582 123.35C153.372 126.26 153.132 130.97 152.982 132.77ZM165.239 126.95V131.27C165.239 135.08 163.859 136.31 161.639 136.31H160.919V143H158.699V121.58H161.429C163.979 121.58 165.239 122.75 165.239 126.95ZM161.579 123.71H160.919V134.24H161.579C162.569 134.24 163.019 133.43 163.019 131.33V126.92C163.019 124.82 162.689 123.71 161.579 123.71ZM170.477 143V121.58H175.607V123.68H172.697V131.06H175.217V133.01H172.697V140.9H175.607V143H170.477ZM179.973 143H177.303V121.58H179.733C182.583 121.58 183.843 122.87 183.843 127.19V137.66C183.843 141.77 182.313 143 179.973 143ZM180.183 140.9C181.203 140.9 181.623 139.88 181.623 137.57V127.25C181.623 124.97 181.323 123.71 180.183 123.71H179.523V140.9H180.183ZM185.946 121.58H188.166V143H185.946V121.58ZM191.872 143V123.74H189.652V121.58H196.312V123.74H194.092V143H191.872ZM197.811 121.58H200.031V143H197.811V121.58ZM205.387 121.4C207.607 121.4 208.657 122.48 208.657 125.57V139.01C208.657 142.1 207.547 143.18 205.387 143.18C203.167 143.18 202.117 142.1 202.117 139.01V125.57C202.117 122.48 203.227 121.4 205.387 121.4ZM206.437 139.31V125.27C206.437 123.95 206.197 123.5 205.387 123.5C204.667 123.5 204.337 123.95 204.337 125.27V139.31C204.337 140.63 204.577 141.08 205.387 141.08C206.107 141.08 206.437 140.63 206.437 139.31ZM210.76 121.58H213.88L216.55 140.6C216.25 137 215.86 130.91 215.86 128.27V121.58H217.9V143H214.96L212.38 124.4C212.59 127.91 212.77 132.68 212.77 134.78V143H210.76V121.58Z\",\n fill: \"black\"\n })), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask0_2068_10349\",\n style: {\n maskType: \"luminance\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 0,\n y: 19,\n width: 59,\n height: 133\n }, _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M59 19H0V152H59V19Z\",\n fill: \"white\"\n }))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask0_2068_10349)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1501 19H13.8406C6.20295 19 0 25.179 0 32.7664V138.215C0 145.814 6.20295 152 13.8406 152H45.1269C52.7622 152 58.9977 145.814 58.9977 138.215V32.7664C58.9977 25.179 52.7808 19 45.1478 19\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.3826 43.3811L37.4151 43.8314C38.3692 44.3855 38.8544 44.8358 39.8155 45.4523C42.3691 47.0502 45.5147 49.8926 45.1177 59.6828C45.8327 61.8187 46.1508 66.0142 46.81 67.3604C48.1402 69.9834 49.027 71.6898 49.4147 74.1651C49.4147 74.1651 49.7978 78.0188 50.2992 78.2982C52.9387 78.8917 52.1773 79.1503 52.5626 79.6005C52.9712 80.127 54.4964 80.1039 54.4964 81.517C55.0257 82.2213 55.4157 82.9532 55.7152 83.7129V32.7665C55.7152 26.9616 50.9678 22.2466 45.1479 22.2466H35.0309C36.656 22.8192 37.5729 23.4981 38.1092 24.5741C39.4162 24.6849 40.9692 27.5966 38.5503 31.8983C39.6228 32.6072 38.7871 33.6693 38.0163 34.9001C37.7912 35.2949 37.5451 35.9945 36.8301 35.9484C35.9108 37.8695 34.8011 39.7329 33.9631 39.8506C33.71 40.1623 33.5243 40.989 33.9074 41.3769C35.1377 41.9264 36.6397 42.6792 37.3826 43.3788\",\n fill: \"#C8102E\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.7176 90.6147C54.3456 94.0782 50.9284 96.5258 46.9378 96.5258C41.7145 96.5258 37.5034 92.3257 37.5034 87.1465C37.5034 82.7224 40.5608 79.0095 44.7116 78.0189C43.6228 75.3128 41.3292 70.9256 40.6467 69.4848C40.0013 68.0555 38.4459 59.1334 38.1116 57.3693C38.035 56.9837 34.0421 59.6737 34.0351 59.84C33.8007 60.0663 31.0381 67.2404 30.9221 67.6283C30.8663 67.8731 30.8594 68.8313 30.8594 68.8313C30.8594 68.8313 32.2174 68.9976 32.9998 71.3551C33.7728 73.7103 36.1337 82.3045 36.1337 82.3045C36.1337 82.3045 35.4953 82.9626 35.4675 82.921C38.4459 92.8429 37.4059 97.1123 38.7431 100.022C40.4238 104.123 40.8765 103.585 42.3181 107.032C43.3535 109.542 44.5049 119.422 44.8903 119.859C46.4991 121.886 47.365 123.472 47.365 124.617C47.365 125.763 46.0023 129.171 46.4991 131.152C46.8009 132.318 46.9564 134.932 47.5043 135.428C47.5043 135.428 48.0057 136.41 47.7596 136.844C47.6877 136.994 47.5461 137.222 47.6111 137.403C48.4979 140.52 51.3625 145.83 46.7243 148.613H46.8241C51.8872 147.835 55.7199 143.515 55.7199 138.211V90.6101L55.7176 90.6147Z\",\n fill: \"#C8102E\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.8034 136.195C42.1041 134.685 43.2393 134.047 43.172 133.452C42.0507 128.845 38.3712 126.058 40.2748 124.539C39.8058 123.017 38.8494 121.107 38.8842 121.11C33.1525 117.836 28.2705 112.518 27.4417 111.737C26.4365 110.65 24.7233 109.56 24.4029 108.676C23.0263 107.417 16.2685 97.8833 14.6946 94.3735L11.9529 93.9879C10.7063 88.9196 6.54158 84.671 6.43711 79.5888C6.39765 77.6677 7.3123 73.5507 7.65356 72.731C7.98785 71.8998 9.5827 70.5305 9.5827 70.5305V69.1705C3.60028 69.3391 5.32049 68.7318 4.28976 66.4181C3.56546 64.8157 4.08547 64.4647 4.34547 63.3541C5.1487 60.0752 7.81374 55.0185 8.91876 52.7187C9.25537 51.5596 10.4091 48.7633 10.4091 48.7633C14.8687 39.7327 16.5332 40.3977 21.8284 39.8874L22.0884 39.5134C27.3953 39.2848 26.5247 38.8876 27.2746 33.8031C26.5015 34.1333 26.2717 32.2122 26.2717 32.2122C25.8492 29.319 27.0749 29.8662 27.6576 29.8085C27.783 25.0519 28.2728 23.5534 31.7225 22.2441H13.8472C7.99946 22.2441 3.26367 26.9592 3.26367 32.771V138.213C3.26367 144.031 7.99946 148.747 13.8472 148.747H45.1498C41.5655 146.821 43.6804 143.154 43.8034 136.192V136.195Z\",\n fill: \"#1D428A\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.7674 142.12V123.029H23.4911C25.6454 123.029 26.9756 124.179 26.9756 126.852V129.686C26.9756 131.422 26.444 132.306 25.6965 132.734C26.4417 133.242 26.9756 134.098 26.9756 135.541V138.324C26.9756 140.944 25.5641 142.12 23.4911 142.12H19.7674ZM22.3211 133.83V139.714H23.3054C24.1829 139.714 24.422 139.259 24.422 138.349V135.114C24.422 134.177 24.1295 133.83 23.2775 133.83H22.3211ZM22.3211 125.435V131.745H23.2775C24.1829 131.745 24.422 131.422 24.422 130.381V126.719C24.422 125.834 24.155 125.435 23.3054 125.435H22.3211ZM32.9882 138.243H30.6737L30.3533 142.12H27.7742L30.0887 123.029H33.7589L35.9922 142.12H33.3062L32.9882 138.243ZM31.8437 125.169H31.7114C31.5512 127.469 31.2332 131.505 31.1264 132.789L30.8362 136.077H32.8303L32.5378 132.789C32.431 131.48 32.0596 127.494 31.846 125.169M12.1623 142.12H9.92676V123.029H13.467L16.3131 138.67C16.074 134.927 15.7536 130.408 15.7536 126.557V123.026H17.9892V142.117H14.7438L11.8977 126.822C12.0834 130.353 12.1623 133.161 12.1623 136.102V142.117V142.12Z\",\n fill: \"white\"\n })))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_2068_10349\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 324,\n height: 152,\n fill: \"white\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFantasyLogo);\nexport default __webpack_public_path__ + \"static/media/fantasy-logo.03efc9d7.svg\";\nexport { ForwardRef as ReactComponent };","import { ThunkResult } from \"..\";\nimport { apiGet, apiPost, apiPut } from \"../../utils/api\";\nimport { bootstrap } from \"../bootstrap/thunks\";\nimport * as actions from \"./actions\";\nimport { IUpdateEntryData } from \"./types\";\n\nexport const fetchEntrySummary =\n (entryId: number): ThunkResult =>\n async (dispatch) => {\n try {\n await apiGet(`entry/${entryId}/`, dispatch, actions.fetchEntrySummary, {\n id: entryId,\n });\n } catch (e) {\n return;\n }\n };\n\nexport const fetchEntryHistory =\n (entryId: number): ThunkResult =>\n async (dispatch) => {\n try {\n await apiGet(\n `entry/${entryId}/history/`,\n dispatch,\n actions.fetchEntryHistory,\n {\n id: entryId,\n }\n );\n } catch (e) {\n return;\n }\n };\n\nexport const fetchEntryEventPicks =\n (entryId: number, eventId: number): ThunkResult =>\n async (dispatch) => {\n try {\n await apiGet(\n `entry/${entryId}/event/${eventId}/picks/`,\n dispatch,\n actions.fetchEntryEventPicks,\n {\n entry: entryId,\n event: eventId,\n }\n );\n } catch (e) {\n return;\n }\n };\n\nexport const updateEntry =\n (data: IUpdateEntryData): ThunkResult> =>\n async (dispatch) => {\n await apiPut(\"entry-update/\", data, dispatch, actions.updateEntry);\n dispatch(bootstrap());\n };\n\nexport const fetchEntryTransfers =\n (entryId: number): ThunkResult =>\n async (dispatch) => {\n try {\n await apiGet(\n `entry/${entryId}/transfers/`,\n dispatch,\n actions.fetchEntryTransfers,\n { id: entryId }\n );\n } catch (e) {\n return;\n }\n };\n\nexport const fetchEntryPhaseStandings =\n (entryId: number, phaseId: number): ThunkResult =>\n async (dispatch) => {\n try {\n await apiGet(\n `entry/${entryId}/phase/${phaseId}/standings/`,\n dispatch,\n actions.fetchEntryPhaseStandings,\n { entry: entryId, phase: phaseId }\n );\n } catch (e) {\n return;\n }\n };\n\nexport const unsubscribeEntry =\n (signature: string): ThunkResult> =>\n async (dispatch) => {\n await apiPost(\n \"entry/unsubscribe/\",\n { signature },\n dispatch,\n actions.unsubscribeEntry\n );\n dispatch(bootstrap());\n };\n","import { ThunkResult } from \"..\";\nimport { apiGet } from \"../../utils/api\";\nimport { IElementStat } from \"../element-stats/types\";\nimport { IElementType } from \"../element-types/types\";\nimport { IElement } from \"../elements/types\";\nimport { IEvent } from \"../events/types\";\nimport { ISettings } from \"../game/types\";\nimport { IPhase } from \"../phases/types\";\nimport { IPlayer } from \"../player/types\";\nimport { ITeam } from \"../teams/types\";\nimport * as actions from \"./actions\";\nimport { timeNow, getBootstrapTime } from \"./reducers\";\nimport { fetchEntrySummary } from \"../entries/thunks\";\n\nexport const bootstrap = (): ThunkResult> => async (dispatch) => {\n dispatch(actions.bootstrap.request());\n\n const staticRequest = apiGet<{\n element_stats: IElementStat[];\n element_types: IElementType[];\n elements: IElement[];\n events: IEvent[];\n game_settings: ISettings;\n phases: IPhase[];\n teams: ITeam[];\n total_players: number;\n }>(\"bootstrap-static/\", dispatch, actions.bootstrapStatic);\n\n const dynamicRequest = apiGet<{ player: IPlayer | null; watched: number[] }>(\n \"me/\",\n dispatch,\n actions.bootstrapMe\n );\n\n await Promise.all([staticRequest, dynamicRequest])\n .then(([staticData, meData]) => {\n if (meData.player && meData.player.entry) {\n // If the player has an entry then fetch their summary. This is done\n // asynchronously, users of `getEntry` should be prepared to handle\n // null and delay rendering as necessary\n dispatch(fetchEntrySummary(meData.player.entry));\n }\n dispatch(actions.addElementStats(staticData.element_stats));\n dispatch(actions.addElementTypes(staticData.element_types));\n dispatch(actions.addElements(staticData.elements));\n dispatch(actions.addEvents(staticData.events));\n dispatch(actions.addGameSettings(staticData.game_settings));\n dispatch(actions.addPhases(staticData.phases));\n dispatch(actions.addTeams(staticData.teams));\n dispatch(actions.addTotalPlayers(staticData.total_players));\n dispatch(actions.addPlayer(meData.player));\n dispatch(actions.addWatched(meData.watched));\n dispatch(actions.bootstrap.success({}));\n })\n .catch((e) => {\n dispatch(actions.bootstrap.failure(e.message));\n });\n};\n\nexport const checkGame =\n (): ThunkResult> => async (dispatch, getState) => {\n const REFRESH_MINUTES = 10;\n const lastBootstrap = getBootstrapTime(getState());\n if (lastBootstrap && timeNow() - lastBootstrap > REFRESH_MINUTES * 60) {\n dispatch(bootstrap());\n }\n };\n","import { combineReducers } from \"redux\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"..\";\nimport * as actions from \"./actions\";\nimport { IState } from \"./types\";\n\nexport default combineReducers({\n serverError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.addServerError):\n return action.payload;\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getServerError = (state: RootState) => state.global.serverError;\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgHeadlineLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 70,\n height: 42,\n viewBox: \"0 0 70 42\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.67143 21.59H4.94143V33H1.58143V8.01H8.09143V11.16H4.94143V18.86H7.67143V21.59ZM14.4877 33L14.1727 28.065H12.1077L11.8277 33H8.43268L10.8477 8.01H15.6427L18.0227 33H14.4877ZM12.5277 20.89L12.2827 24.95H13.9977L13.7527 20.89C13.6127 19 13.2627 12.91 13.0877 9.9C12.8777 12.91 12.6327 19.105 12.5277 20.89ZM22.3974 25.825V33H19.4574V8.01H24.0074L27.0524 28.835C26.5974 23.97 26.0024 15.885 26.0024 11.65V8.01H28.9424V33H24.7774L21.9774 13.05C22.2224 17.53 22.3974 22.815 22.3974 25.825ZM30.586 11.16V8.01H39.161V11.16H36.536V33H33.176V11.16H30.586ZM45.181 33L44.866 28.065H42.801L42.521 33H39.126L41.541 8.01H46.336L48.716 33H45.181ZM43.221 20.89L42.976 24.95H44.691L44.446 20.89C44.306 19 43.956 12.91 43.781 9.9C43.571 12.91 43.326 19.105 43.221 20.89ZM58.5858 26.945V28.1C58.5858 31.81 56.7308 33.21 54.3158 33.21C51.4108 33.21 49.9408 31.74 49.9408 28.31V24.81H53.3008V28.555C53.3008 29.745 53.7208 30.06 54.2808 30.06C55.0158 30.06 55.2258 29.325 55.2258 28.205V27.26C55.2258 25.44 54.7708 24.88 52.7408 21.8C51.0258 19.14 50.0808 16.83 50.0808 14.345V13.33C50.0808 9.62 51.6208 7.8 54.3858 7.8C56.8008 7.8 58.6208 8.57 58.6208 13.33V16.48H55.3308V13.015C55.3308 11.65 55.0858 10.95 54.3858 10.95C53.6508 10.95 53.3708 11.475 53.3708 13.015V13.68C53.3708 15.85 54.0008 17.11 55.7158 19.7C57.5008 22.465 58.5858 24.11 58.5858 26.945ZM69.3548 8.01L66.2398 26.315V33H62.8798V26.315L59.8698 8.01H63.4048L64.6998 21.31L65.9248 8.01H69.3548Z\",\n fill: \"#2A63D2\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgHeadlineLogo);\nexport default __webpack_public_path__ + \"static/media/headline-logo.23433c73.svg\";\nexport { ForwardRef as ReactComponent };","export default __webpack_public_path__ + \"static/media/headerbackground@1.5x.02572dae.png\";","export default __webpack_public_path__ + \"static/media/headerbackground@2x.66e15591.png\";","export default __webpack_public_path__ + \"static/media/fdj-logo-only@2x.16169df9.png\";","export default __webpack_public_path__ + \"static/media/fdj-logo@2x.cf7fe08a.png\";","export default __webpack_public_path__ + \"static/media/fdr-page-ad-image-384.98b0a98c.png\";","export default __webpack_public_path__ + \"static/media/fdr-page-ad-image-768.cf4f8f7b.png\";","export default __webpack_public_path__ + \"static/media/sportingbet-page-ad-image-384.19f357bc.png\";","export default __webpack_public_path__ + \"static/media/sportingbet-page-ad-image-768.51d67090.png\";","import FdjLogo1x from \"../img/fdj-logo-only@1x.png\";\nimport FdjLogo2x from \"../img/fdj-logo-only@2x.png\";\nimport FdjHeader1x from \"../img/fdj-logo@1x.png\";\nimport FdjHeader2x from \"../img/fdj-logo@2x.png\";\nimport FdrPageAdSmall from \"../img/fdr-page-ad-image-384.png\";\nimport FdrPageAdLarge from \"../img/fdr-page-ad-image-768.png\";\nimport SportingBetLogo1x from \"../img/sportingbet-logo-only@1x.png\";\nimport SportingBetLogo2x from \"../img/sportingbet-logo-only@2x.png\";\nimport SportingBetHeader1x from \"../img/sportingbet-logo@1x.png\";\nimport SportingBetHeader2x from \"../img/sportingbet-logo@2x.png\";\nimport SportingBetPageAdSmall from \"../img/sportingbet-page-ad-image-384.png\";\nimport SportingBetPageAdLarge from \"../img/sportingbet-page-ad-image-768.png\";\n\ntype SiteAdData = Record<\n string,\n { href?: string; srcSetSmall: string; srcSetLarge: string; altText: string }\n>;\n\n// SITE_IDS represents the valid keys of the sitesAdData obj.\nexport type SITE_IDS = \"main_fr\" | \"main_br\";\n\n// Checks if the site string is a valid key in sitesAdData obj.\nexport const isSiteWithAd = (\n site: string,\n sitesAdData: SiteAdData\n): site is SITE_IDS => {\n return site in sitesAdData;\n};\n\nexport const PageAdData = {\n main_fr: {\n href: \"https://ad.doubleclick.net/ddm/trackclk/N30402.2403113NBA/B25332343.407727817;dc_trk_aid=599854830;dc_trk_cid=225034333;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=;ltd=;dc_tdv=1\",\n srcSetSmall: FdrPageAdSmall,\n srcSetLarge: FdrPageAdLarge,\n altText: \"PrĂ©sentĂ© Par Parions Sport en ligne\",\n },\n main_br: {\n href: \"https://sports.sportingbet.bet.br/?wm=5507762&utm_source=app-nba-voa&utm_campaign=linkdabioappnba2025&utm_content={{ad.id}}&utm_medium=appnba-{{campaign.id}}_{{adset.id}}_{{ad.id}}&utm_term=5507762-linkdabioappnba2025-sptbet-sprts-br-2025-1-2-pt-app--acq-app&tdpeh=fb-{{ad.id}}{{site_source_name}}{{placement}}\",\n srcSetSmall: SportingBetPageAdSmall,\n srcSetLarge: SportingBetPageAdLarge,\n altText: \"Sporting Bet\",\n },\n};\n\nexport const HeaderAdData = {\n main_fr: {\n href: \"https://ad.doubleclick.net/ddm/trackclk/N30402.2403113NBA/B25332343.407727289;dc_trk_aid=599854809;dc_trk_cid=225077246;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=;ltd=;dc_tdv=1\",\n srcSetSmall: FdjHeader1x,\n srcSetLarge: FdjHeader2x,\n altText: \"PrĂ©sentĂ© Par Parions Sport en ligne\",\n },\n main_br: {\n href: \"https://sports.sportingbet.bet.br/?wm=5507762&utm_source=app-nba-voa&utm_campaign=linkdabioappnba2025&utm_content={{ad.id}}&utm_medium=appnba-{{campaign.id}}_{{adset.id}}_{{ad.id}}&utm_term=5507762-linkdabioappnba2025-sptbet-sprts-br-2025-1-2-pt-app--acq-app&tdpeh=fb-{{ad.id}}{{site_source_name}}{{placement}\",\n srcSetSmall: SportingBetHeader1x,\n srcSetLarge: SportingBetHeader2x,\n altText: \"Sporting Bet\",\n },\n};\n\nexport const TopScorersAdData = {\n main_fr: {\n srcSetSmall: FdjLogo1x,\n srcSetLarge: FdjLogo2x,\n altText: \"PrĂ©sentĂ© Par Parions Sport en ligne\",\n },\n main_br: {\n srcSetSmall: SportingBetLogo1x,\n srcSetLarge: SportingBetLogo2x,\n altText: \"Sporting Bet\",\n },\n};\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export type SITE_IDS =\n | \"main_us\"\n | \"main_en\"\n | \"main_fr\"\n | \"main_es\"\n | \"main_it\"\n | \"main_de\"\n | \"main_el\"\n | \"main_he\"\n | \"main_br\"\n | \"main_tr\"\n | \"main_ar\"\n | \"sport5\"\n | \"sky_italia\";\n\nconst sites: Record = {\n \"nba.app\": \"main_en\",\n \"nbafantasy.nba.com\": \"main_en\",\n \"nba.staging.ismgames.com\": \"main_en\",\n \"en.nba.app\": \"main_us\",\n \"en.nbafantasy.nba.com\": \"main_us\",\n \"en.nba.staging.ismgames.com\": \"main_us\",\n \"fr.nba.app\": \"main_fr\",\n \"fr.nbafantasy.nba.com\": \"main_fr\",\n \"fr.nba.staging.ismgames.com\": \"main_fr\",\n \"es.nba.app\": \"main_es\",\n \"es.nbafantasy.nba.com\": \"main_es\",\n \"es.nba.staging.ismgames.com\": \"main_es\",\n \"it.nba.app\": \"main_it\",\n \"it.nbafantasy.nba.com\": \"main_it\",\n \"it.nba.staging.ismgames.com\": \"main_it\",\n \"de.nba.app\": \"main_de\",\n \"de.nbafantasy.nba.com\": \"main_de\",\n \"de.nba.staging.ismgames.com\": \"main_de\",\n \"gr.nba.app\": \"main_el\",\n \"gr.nbafantasy.nba.com\": \"main_el\",\n \"gr.nba.staging.ismgames.com\": \"main_el\",\n \"he.nba.app\": \"main_he\",\n \"he.nbafantasy.nba.com\": \"main_he\",\n \"he.nba.staging.ismgames.com\": \"main_he\",\n \"br.nba.app\": \"main_br\",\n \"br.nbafantasy.nba.com\": \"main_br\",\n \"br.nba.staging.ismgames.com\": \"main_br\",\n \"tr.nba.app\": \"main_tr\",\n \"tr.nbafantasy.nba.com\": \"main_tr\",\n \"tr.nba.staging.ismgames.com\": \"main_tr\",\n \"ar.nba.app\": \"main_ar\",\n \"ar.nbafantasy.nba.com\": \"main_ar\",\n \"ar.nba.staging.ismgames.com\": \"main_ar\",\n \"sport5.nba.app\": \"sport5\",\n \"nbafantasy.sport5.co.il\": \"sport5\",\n \"sport5.nba.staging.ismgames.com\": \"sport5\",\n \"skyit.nba.app\": \"sky_italia\",\n \"skyit.nba.staging.ismgames.com\": \"sky_italia\",\n \"nbafantasy.sky.it\": \"sky_italia\",\n};\n\nexport const getSite = () => sites[window.location.hostname] || \"\";\n","import styled, { css } from \"styled-components\";\nimport { isSiteWithAd, HeaderAdData } from \"../utils/adverts\";\nimport { getSite } from \"../utils/sites\";\n\nconst StyledImg = styled.img<{ $site: string }>`\n position: absolute;\n right: 0.5rem;\n\n ${(props) =>\n props.$site === \"main_fr\" &&\n css`\n bottom: 8rem;\n width: 70px;\n height: 45px;\n @media (min-width: ${(props) => props.theme.breakpoints[1]}) {\n right: 2rem;\n bottom: 6.5rem;\n width: 100px;\n height: 70px;\n }\n @media (min-width: ${(props) => props.theme.breakpoints[3]}) {\n right: 6rem;\n bottom: 7rem;\n width: 140px;\n height: 105px;\n }\n `}\n\n ${(props) =>\n props.$site === \"main_br\" &&\n css`\n bottom: 8.8rem;\n width: 77px;\n height: 27px;\n @media (min-width: ${(props) => props.theme.breakpoints[1]}) {\n right: 1rem;\n bottom: 8.3rem;\n width: 110px;\n height: 39px;\n }\n @media (min-width: ${(props) => props.theme.breakpoints[3]}) {\n right: 2rem;\n bottom: 10rem;\n width: 190px;\n height: 67px;\n }\n `}\n`;\n\nconst HeaderAd = () => {\n const site = getSite();\n\n if (!isSiteWithAd(site, HeaderAdData)) {\n return null;\n }\n\n const adData = HeaderAdData[site];\n\n return (\n \n \n \n );\n};\n\nexport default HeaderAd;\n","export default __webpack_public_path__ + \"static/media/player-comp-175.41652e92.png\";","export default __webpack_public_path__ + \"static/media/player-comp-345.4a283cc7.png\";","export default __webpack_public_path__ + \"static/media/player-comp-460.3dcde219.png\";","export default __webpack_public_path__ + \"static/media/player-comp-690.b356cd0d.png\";","import { em } from \"polished\";\nimport i18n from \"./i18n\";\n\nconst borderWidths = [\"3px\"];\n\nconst blue = \"#2a63d2\";\nconst blueDark = \"#1d428a\";\nconst greyBlue = \"#c4ced4\";\nconst orange = \"#d9731c\";\nconst pink = \"#e7358d\";\nconst red = \"#c8102e\";\nconst yellow = \"#eabd0c\";\n\n// Default theme\nconst baseTheme = {\n borderWidths,\n breakpoints: [\n em(\"400px\"),\n em(\"610px\"),\n em(\"700px\"),\n em(\"900px\"),\n em(\"1024px\"),\n em(\"1220px\"),\n ],\n colors: {\n blue,\n blueDark,\n blueLight: \"#53bde6\",\n charcoal: \"#333d47\",\n elementTypes: {\n 1: {\n colors: [blueDark, blue],\n },\n 2: {\n colors: [red, pink],\n },\n },\n elementStatus: {\n 0: {\n bg: \"#fff\",\n color: red,\n },\n 25: {\n bg: \"#fff\",\n color: red,\n },\n 50: {\n bg: \"#fff\",\n color: orange,\n },\n 75: {\n bg: \"#fff\",\n color: yellow,\n },\n },\n error: red,\n green: \"#06ac0d\",\n greyBlue,\n greyLight: \"#e6e6e6\",\n offBlack: \"#262626\",\n orange,\n pink,\n primary: blueDark,\n red,\n teams: {\n 1610612737: {\n dark: \"#cb102e\",\n light: \"#000\",\n },\n 1610612738: {\n dark: \"#00b348\",\n light: \"#000\",\n },\n 1610612739: {\n dark: \"#860038\",\n light: \"#bc945c\",\n },\n 1610612740: {\n dark: \"#0a2240\",\n light: \"#8c734b\",\n },\n 1610612741: {\n dark: \"#ce1141\",\n light: \"#000\",\n },\n 1610612742: {\n dark: \"#0064b1\",\n light: \"#002b5e\",\n },\n 1610612743: {\n dark: \"#0e2240\",\n light: \"#fec524\",\n },\n 1610612744: {\n dark: \"#1d428a\",\n light: \"#fdb927\",\n },\n 1610612745: {\n dark: \"#ce1141\",\n light: \"#000\",\n },\n 1610612746: {\n dark: \"#c8102e\",\n light: \"#1d42ba\",\n },\n 1610612747: {\n dark: \"#552583\",\n light: \"#fdb927\",\n },\n 1610612748: {\n dark: \"#000\",\n light: \"#98002e\",\n },\n 1610612749: {\n dark: \"#00471b\",\n light: \"#000\",\n },\n 1610612750: {\n dark: \"#0c233f\",\n light: \"#266092\",\n },\n 1610612751: {\n dark: \"#000\",\n light: \"#707271\",\n },\n 1610612752: {\n dark: \"#1d428a\",\n light: \"#f58426\",\n },\n 1610612753: {\n dark: \"#0077c0\",\n light: \"#000\",\n },\n 1610612754: {\n dark: \"#002d62\",\n light: \"#fdbb30\",\n },\n 1610612755: {\n dark: \"#006bb6\",\n light: \"#ed174c\",\n },\n 1610612756: {\n dark: \"#1d116d\",\n light: \"#e56020\",\n },\n 1610612757: {\n dark: \"#e03a3e\",\n light: \"#000\",\n },\n 1610612758: {\n dark: \"#5a2d81\",\n light: \"#000\",\n },\n 1610612759: {\n dark: \"#000\",\n light: \"#c4ced4\",\n },\n 1610612760: {\n dark: \"#007ac1\",\n light: \"#ef3824\",\n },\n 1610612761: {\n dark: \"#ce1141\",\n light: \"#000\",\n },\n 1610612762: {\n dark: \"#000\",\n light: \"#fff21f\",\n },\n 1610612763: {\n dark: \"#5d76a9\",\n light: \"#12173f\",\n },\n 1610612764: {\n dark: \"#002b5c\",\n light: \"#e31837\",\n },\n 1610612765: {\n dark: \"#1d42ba\",\n light: \"#c8102e\",\n },\n 1610612766: {\n dark: \"#00788c\",\n light: \"#1d1160\",\n },\n },\n tertiary: \"#06ac0d\",\n turquoise: \"#3be9e4\",\n secondary: \"#1d42bb\",\n success: \"#24db00\",\n yellow: yellow,\n partnerYellow: \"#ffdd00\",\n white: \"#ffffff\",\n },\n fonts: {\n action: '\"Action NBA Web\", sans-serif;',\n body: '\"Roboto\", sans-serif;',\n },\n fontSizes: [\"1.3rem\", \"1.4rem\", \"1.6rem\", \"1.8rem\", \"3rem\", \"4rem\"],\n radii: [\"3px\", \"5px\", \"8px\"],\n space: [\n \"0\",\n \"0.5rem\",\n \"1rem\",\n \"1.5rem\",\n \"2rem\",\n \"2.5rem\",\n \"3rem\",\n \"3.5rem\",\n \"4rem\",\n ],\n zIndex: {\n clientMenu: 7000,\n dialog: 9000,\n menu: 6000,\n overlay: 8000,\n select: {\n select: 5000,\n wrap: 4000,\n },\n },\n};\n\n/* Locale themes with custom css */\n\n// Greece (Language code: EL)\nconst themeEL = {\n ...baseTheme,\n fonts: {\n action: '\"Sofia Sans Extra Condensed\", sans-serif;',\n body: '\"Roboto\", sans-serif;',\n },\n fontSizes: [\"1.1rem\", \"1.1rem\", \"1.4rem\", \"1.7rem\", \"2.5rem\", \"3.8rem\"],\n};\n\nconst themeDefault = {\n ...baseTheme,\n};\n\nconst i18nThemes: any = {\n en: themeDefault,\n el: themeEL,\n es: themeDefault,\n de: themeDefault,\n fr: themeDefault,\n it: themeDefault,\n he: themeDefault,\n tr: themeDefault,\n pt: themeDefault,\n ar: themeDefault,\n};\n\nconst theme = i18nThemes[i18n.language];\n\nexport default theme;\n","import { createSelector } from \"reselect\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport * as actions from \"../bootstrap/actions\";\nimport { IState } from \"./types\";\n\n// State Reducer\nconst reducer = (state: IState = [], action: RootAction) => {\n switch (action.type) {\n case getType(actions.addElementStats):\n return action.payload;\n default:\n return state;\n }\n};\nexport default reducer;\n\n// State Selectors\nexport const getElementStats = (state: RootState) => state.elementStats;\n\nexport const getElementStatsByIdentifier = createSelector(\n getElementStats,\n (stats) => stats.reduce((memo, stat) => ({ ...memo, [stat.name]: stat }), {})\n);\n","import { createAsyncAction, deprecated } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport {\n IElementControls,\n IElementEventRaw,\n IElementSummaryData,\n} from \"./types\";\n\nconst createAction = deprecated.createAction;\n\nexport const updateElementControls = createAction(\n \"UPDATE_ELEMENT_CONTROLS\",\n (resolve) => {\n return (controls: IElementControls) => resolve(controls);\n }\n);\n\nexport const elementDialogShow = createAction(\n \"ELEMENT_DIALOG_SHOW\",\n (resolve) => (id: number) => resolve(id)\n);\n\nexport const elementDialogHide = createAction(\n \"ELEMENT_DIALOG_HIDE\",\n (resolve) => () => resolve()\n);\n\nexport const fetchElementSummary = createAsyncAction(\n \"FETCH_ELEMENT_SUMMARY_START\",\n \"FETCH_ELEMENT_SUMMARY_SUCCESS\",\n \"FETCH_ELEMENT_SUMMARY_FAILURE\"\n)();\n\nexport const fetchElementEventData = createAsyncAction(\n \"FETCH_ELEMENT_EVENT_DATA_START\",\n \"FETCH_ELEMENT_EVENT_DATA_SUCCESS\",\n \"FETCH_ELEMENT_EVENT_DATA_FAILURE\"\n)();\n","import { createAsyncAction, deprecated } from \"typesafe-actions\";\nimport { IError } from \"..\";\n\nconst createAction = deprecated.createAction;\n\nexport const login = createAsyncAction(\n \"LOGIN_START\",\n \"LOGIN_SUCCESS\",\n \"LOGIN_FAILURE\"\n)();\n\nexport const logout = createAsyncAction(\n \"LOGOUT_START\",\n \"LOGOUT_SUCCESS\",\n \"LOGOUT_FAILURE\"\n)();\n\nexport const recover = createAsyncAction(\n \"RECOVER_START\",\n \"RECOVER_SUCCESS\",\n \"RECOVER_FAILURE\"\n)();\n\nexport const register = createAsyncAction(\n \"REGISTER_START\",\n \"REGISTER_SUCCESS\",\n \"REGISTER_FAILURE\"\n)();\n\nexport const playerUpdate = createAsyncAction(\n \"PLAYER_UPDATE_START\",\n \"PLAYER_UPDATE_SUCCESS\",\n \"PLAYER_UPDATE_FAILURE\"\n)();\n\nexport const passwordChange = createAsyncAction(\n \"PASSWORD_CHANGE_START\",\n \"PASSWORD_CHANGE_SUCCESS\",\n \"PASSWORD_CHANGE_FAILURE\"\n)();\n\nexport const passwordReset = createAsyncAction(\n \"PASSWORD_RESET_START\",\n \"PASSWORD_RESET_SUCCESS\",\n \"PASSWORD_RESET_FAILURE\"\n)();\n\nexport const passwordSet = createAsyncAction(\n \"PASSWORD_SET_START\",\n \"PASSWORD_SET_SUCCESS\",\n \"PASSWORD_SET_FAILURE\"\n)();\n\nexport const addToWatched = createAction(\n \"ADD_TO_WATCHED\",\n (resolve) => (elementCode: number) => resolve(elementCode)\n);\n\nexport const removeFromWatched = createAction(\n \"REMOVE_FROM_WATCHED\",\n (resolve) => (elementCode: number) => resolve(elementCode)\n);\n\nexport const addToWatchlist = createAsyncAction(\n \"ADD_TO_WATCHLIST_START\",\n \"ADD_TO_WATCHLIST_SUCCESS\",\n \"ADD_TO_WATCHLIST_FAILURE\"\n)();\n\nexport const removeFromWatchlist = createAsyncAction(\n \"REMOVE_FROM_WATCHLIST_START\",\n \"REMOVE_FROM_WATCHLIST_SUCCESS\",\n \"REMOVE_FROM_WATCHLIST_FAILURE\"\n)();\n","import { combineReducers } from \"redux\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"..\";\nimport { addPlayer, addWatched } from \"../bootstrap/actions\";\nimport * as actions from \"./actions\";\nimport { IState } from \"./types\";\n\n// State Reducer\nexport default combineReducers({\n data: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(addPlayer):\n return action.payload;\n default:\n return state;\n }\n },\n loginError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.login.failure):\n return action.payload;\n default:\n return null;\n }\n },\n loginSuccess: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.login.success):\n return action.type;\n default:\n return null;\n }\n },\n passwordChangeError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.passwordChange.failure):\n return action.payload;\n default:\n return null;\n }\n },\n passwordResetError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.passwordReset.failure):\n return action.payload;\n default:\n return null;\n }\n },\n passwordSetError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.passwordSet.failure):\n return action.payload;\n default:\n return null;\n }\n },\n playerUpdateError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.playerUpdate.failure):\n return action.payload;\n default:\n return null;\n }\n },\n registerError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.register.failure):\n return action.payload;\n default:\n return null;\n }\n },\n watched: (state = [], action: RootAction) => {\n switch (action.type) {\n case getType(addWatched):\n return action.payload;\n case getType(actions.addToWatched):\n return state.indexOf(action.payload) === -1\n ? [...state, action.payload]\n : state;\n case getType(actions.removeFromWatched):\n return state.filter((code) => code !== action.payload);\n default:\n return state;\n }\n },\n recoveryError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.recover.failure):\n return action.payload;\n default:\n return state;\n }\n },\n recoveryStatus: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.recover.success):\n return action.payload;\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getPlayerData = (state: RootState) => state.player.data;\n\nexport const getWatched = (state: RootState) => state.player.watched;\n\nexport const getLoginError = (state: RootState) => state.player.loginError;\n\nexport const getPasswordChangeError = (state: RootState) =>\n state.player.passwordChangeError;\n\nexport const getPasswordResetError = (state: RootState) =>\n state.player.passwordResetError;\n\nexport const getPasswordSetError = (state: RootState) =>\n state.player.passwordSetError;\n\nexport const getPlayerUpdateError = (state: RootState) =>\n state.player.playerUpdateError;\n\nexport const getRegisterError = (state: RootState) =>\n state.player.registerError;\n\nexport const getLoginSuccess = (state: RootState) => state.player.loginSuccess;\n\nexport const getRecoveryError = (state: RootState) =>\n state.player.recoveryError;\n\nexport const getRecoveryStatus = (state: RootState) =>\n state.player.recoveryStatus;\n","import { combineReducers } from \"redux\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport * as actions from \"../bootstrap/actions\";\nimport { IState, ITeam } from \"./types\";\n\n// State Reducer\nexport default combineReducers({\n byId: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.addTeams):\n const newState: { [key: string]: ITeam } = {};\n action.payload.forEach((team) => {\n newState[team.id] = team;\n });\n return newState;\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getTeamsById = (state: RootState) => state.teams.byId;\n\nexport const getTeams = (state: RootState) =>\n Object.keys(state.teams.byId)\n .map((t) => state.teams.byId[t])\n .sort((a, b) => a.name.localeCompare(b.name));\n","import range from \"lodash/range\";\nimport sortBy from \"lodash/sortBy\";\nimport { combineReducers } from \"redux\";\nimport { createSelector } from \"reselect\";\nimport { getType } from \"typesafe-actions\";\nimport { ISelectOption, RootAction, RootState } from \"../\";\nimport * as bootstrapActions from \"../bootstrap/actions\";\nimport { getElementTypes } from \"../element-types/reducers\";\nimport * as elementActions from \"../elements/actions\";\nimport { getLastEvent, getNextEvent } from \"../events/reducers\";\nimport { getWatched } from \"../player/reducers\";\nimport { getTeams } from \"../teams/reducers\";\nimport {\n IElement,\n IElementFixture,\n IElementFixtureBlank,\n IState,\n} from \"./types\";\nimport { getElementStats } from \"../element-stats/reducers\";\n\nexport const formatNameForSearching = (name: string): string => {\n const search = name.toLowerCase();\n const from = \"Ä…Ă ĂĄĂ€ĂąĂŁĂ„ĂŠÄƒÄ‡ÄÄ‰Ä™ĂšĂ©Ă«ĂȘÄÄ„ĂŹĂ­ĂŻĂźÄ”Ć‚ÄŸĆ„ĆˆĂČĂłĂ¶Ć‘ĂŽĂ”Ă°ĂžĆ›È™ĆŸĆĄĆĆ„È›ĆŁĆ­ĂčĂșĂŒĆ±Ă»Ă±ĂżĂœĂ§ĆŒĆșĆŸ.\";\n const to = \"aaaaaaaaaccceeeeeghiiiijllnnoooooooossssstttuuuuuunyyczzz \";\n return search.replace(/.{1}/g, (c) => {\n const index = from.indexOf(c);\n return index === -1 ? c : to[index];\n });\n};\n\n// State Reducer\nexport default combineReducers({\n byId: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(bootstrapActions.addElements):\n const newState: { [key: string]: IElement } = {};\n action.payload.forEach((element) => {\n newState[element.id] = {\n ...element,\n search_name: formatNameForSearching(element.web_name),\n };\n });\n return newState;\n default:\n return state;\n }\n },\n\n controls: (\n state = {\n filter: \"\",\n search: \"\",\n sort: \"total_points\",\n maxCost: 0,\n getUnavailable: true,\n },\n action: RootAction\n ) => {\n switch (action.type) {\n case getType(elementActions.updateElementControls):\n return action.payload;\n default:\n return state;\n }\n },\n\n dialog: (state = 0, action: RootAction) => {\n switch (action.type) {\n case getType(elementActions.elementDialogShow):\n return action.payload;\n case getType(elementActions.elementDialogHide):\n return 0;\n default:\n return state;\n }\n },\n\n fixturesById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(elementActions.fetchElementSummary.success):\n return {\n ...state,\n [action.payload.id]: action.payload.data.fixtures,\n };\n default:\n return state;\n }\n },\n\n eventDataById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(elementActions.fetchElementEventData.success):\n return {\n ...state,\n [action.payload.id]: action.payload.data.elements.reduce(\n (memo, data) => ({\n ...memo,\n [data.id]: { explain: data.explain, stats: data.stats },\n }),\n {}\n ),\n };\n default:\n return state;\n }\n },\n\n historyById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(elementActions.fetchElementSummary.success):\n return {\n ...state,\n [action.payload.id]: action.payload.data.history,\n };\n default:\n return state;\n }\n },\n\n seasonHistoryById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(elementActions.fetchElementSummary.success):\n return {\n ...state,\n [action.payload.id]: action.payload.data.history_past,\n };\n default:\n return state;\n }\n },\n});\n\n// State Selectors and helper functions\nexport const getElementsById = (state: RootState) => state.elements.byId;\n\nexport const getElement = (\n state: RootState,\n elementId: number\n): IElement | undefined => getElementsById(state)[elementId];\n\nexport const getElements = (state: RootState) =>\n Object.keys(state.elements.byId).map((e) => state.elements.byId[e]);\n\nexport const getElementControls = (state: RootState) => state.elements.controls;\n\nexport const getElementCount = createSelector(\n getElements,\n (elements) => elements.length\n);\n\nexport const getElementTypeFilterOptions = createSelector(\n getElementTypes,\n (types): ISelectOption[] =>\n types.map((et) => ({\n label: et.plural_name,\n value: `et_${et.id}`,\n }))\n);\n\nexport const getTeamFilterOptions = createSelector(\n getTeams,\n (teams): ISelectOption[] =>\n teams.map((t) => ({\n label: t.name,\n value: `te_${t.id}`,\n }))\n);\n\nexport const getFilterOptions = createSelector(\n getElementTypeFilterOptions,\n getTeamFilterOptions,\n (types, teams) => [...types, ...teams]\n);\n\nexport const getFilter = (filter: string) => {\n const filters = {\n element_type: 0,\n team: 0,\n };\n const filterRegexp = /^(te|et)_(\\d+)$/;\n const matches = filter.match(filterRegexp);\n if (matches) {\n const key = matches[1];\n const value = parseInt(matches[2], 10);\n switch (key) {\n case \"te\":\n filters.team = value;\n break;\n case \"et\":\n filters.element_type = value;\n break;\n default:\n break;\n }\n }\n return filters;\n};\n\nexport const getSafeSearchRegexp = (search: string) => {\n const safeValue = formatNameForSearching(search).replace(\n /[-/\\\\^$*+?.()|[\\]{}]/g,\n \"\\\\$&\"\n );\n return new RegExp(`(^${safeValue}| ${safeValue})`);\n};\n\nexport const filterElements = (\n elements: IElement[],\n filterString: string,\n watched: number[]\n) => {\n if (filterString === \"wl\") {\n return watchedElements(elements, watched);\n }\n const filter = getFilter(filterString);\n return elements.filter((e) => {\n if (!filterString) {\n return false;\n }\n if (filter.team && filter.team !== e.team) {\n return false;\n }\n if (filter.element_type && filter.element_type !== e.element_type) {\n return false;\n }\n return true;\n });\n};\n\nexport const watchedElements = (elements: IElement[], watched: number[]) =>\n elements.filter((e) => watched.indexOf(e.code) > -1);\n\nexport const maxCostFromElements = (elements: IElement[]) =>\n elements.length\n ? elements.reduce(\n (max, e) => (e.now_cost > max ? e.now_cost : max),\n elements[0].now_cost\n )\n : 0;\n\nexport const minCostFromElements = (elements: IElement[]) =>\n elements.length\n ? elements.reduce(\n (min, e) => (e.now_cost < min ? e.now_cost : min),\n elements[0].now_cost\n )\n : 0;\n\nexport const reduceElements = (\n elements: IElement[],\n search: string,\n maxCost: number\n) => {\n const searchRegexp = getSafeSearchRegexp(search);\n return elements.filter((e) => {\n if (search && !e.search_name.match(searchRegexp)) {\n return false;\n }\n if (maxCost && e.now_cost > maxCost) {\n return false;\n }\n return true;\n });\n};\n\nconst ascendingSort: Array = [\"chance_of_playing_next_round\"];\n\nconst stringSort: Array = [\"news_added\"];\n\nexport const sortElements = (elements: IElement[], sort: keyof IElement) =>\n elements.sort((a, b) => {\n let aSort, bSort;\n if (stringSort.indexOf(sort) > -1) {\n aSort = a[sort] || \"\";\n bSort = b[sort] || \"\";\n } else {\n // sort value must be either a float represented as a string or a number\n // all bets are off if not ...\n aSort = a[sort] || 0;\n bSort = b[sort] || 0;\n if (typeof aSort === \"string\" && typeof bSort === \"string\") {\n aSort = parseFloat(aSort);\n bSort = parseFloat(bSort);\n }\n }\n\n if (ascendingSort.indexOf(sort) > -1) {\n bSort = [aSort, (aSort = bSort)][0];\n }\n\n // Descending stat order\n if (aSort !== bSort) {\n return aSort > bSort ? -1 : 1;\n }\n\n // Ascending team order\n if (a.team !== b.team) {\n return a.team > b.team ? 1 : -1;\n }\n\n // Ascending element type order\n if (a.element_type !== b.element_type) {\n return a.element_type > b.element_type ? 1 : -1;\n }\n\n // Finally ascending id\n return a.id > b.id ? 1 : -1;\n });\n\nexport const getElementsFromControls = createSelector(\n getElements,\n getElementControls,\n getWatched,\n (elements, controls, watched) => {\n const filteredElements = filterElements(\n elements.filter((e) => controls.getUnavailable || e.status !== \"u\"),\n controls.filter,\n watched\n );\n\n return {\n data: sortElements(\n reduceElements(filteredElements, controls.search, controls.maxCost),\n controls.sort\n ),\n maxCost: maxCostFromElements(filteredElements),\n minCost: minCostFromElements(filteredElements),\n };\n }\n);\n\nexport const getAverageCostByType = createSelector(getElements, (elements): {\n [key: string]: number;\n} => {\n const elCosts: {\n [key: string]: {\n total: number;\n count: number;\n };\n } = {};\n elements.forEach((e) => {\n if (!elCosts[e.element_type]) {\n elCosts[e.element_type] = { total: 0, count: 0 };\n }\n elCosts[e.element_type].total += e.now_cost;\n elCosts[e.element_type].count++;\n });\n return Object.keys(elCosts).reduce(\n (memo, et) => ({\n ...memo,\n [et]: elCosts[et].total / elCosts[et].count,\n }),\n {}\n );\n});\n\nexport const getElementDialog = (state: RootState) => state.elements.dialog;\n\nexport const getFixturesById = (state: RootState) =>\n state.elements.fixturesById;\n\nexport const getFixtures = (state: RootState, elementId: number) => {\n const fixturesById = getFixturesById(state);\n return fixturesById[elementId] || [];\n};\n\nexport const getFixturesWithBlanks = (state: RootState, elementId: number) => {\n const fixtures = getFixtures(state, elementId);\n const nxt = getNextEvent(state);\n const lst = getLastEvent(state);\n\n // No more events so just return any fixtures\n if (!nxt) {\n return fixtures;\n }\n\n // Pad out any blank events\n const fixturesWithBlanks: Array = [];\n let expectedNextEventId = nxt.id;\n fixtures.forEach((f) => {\n // TBA fixtures are at the end\n if (!f.event) {\n fixturesWithBlanks.push(f);\n return;\n }\n if (f.event > expectedNextEventId) {\n range(expectedNextEventId, f.event).map((i) =>\n fixturesWithBlanks.push({ code: null, event: i })\n );\n }\n fixturesWithBlanks.push(f);\n expectedNextEventId = f.event + 1;\n });\n\n // Also need to consider missing fixture until the last event\n if (lst && lst.id >= expectedNextEventId) {\n range(expectedNextEventId, lst.id + 1).map((i) =>\n fixturesWithBlanks.push({ code: null, event: i })\n );\n }\n\n return fixturesWithBlanks;\n};\n\nexport const getHistoryById = (state: RootState) => state.elements.historyById;\n\nexport const getHistory = (state: RootState, elementId: number) => {\n const historyById = getHistoryById(state);\n return historyById[elementId] || [];\n};\n\nexport const getHistoryTotals = (state: RootState, elementId: number) => {\n const statNames = [\n ...getElementStats(state).map((s) => s.name),\n \"total_points\",\n ];\n const totals: Record = statNames.reduce(\n (memo, n) => ({ ...memo, [n]: 0 }),\n {}\n );\n getHistory(state, elementId).forEach((h) => {\n statNames.forEach((s) => {\n totals[s] = Number(totals[s]) + Number(h[s]);\n });\n });\n statNames.forEach((s) => {\n if (!Number.isInteger(totals[s])) {\n totals[s] = Number(totals[s]).toFixed(1);\n }\n });\n return totals;\n};\n\nexport const getSeasonHistoryById = (state: RootState) =>\n state.elements.seasonHistoryById;\n\nexport const getSeasonHistory = (state: RootState, elementId: number) => {\n const seasonHistoryById = getSeasonHistoryById(state);\n return seasonHistoryById[elementId] || [];\n};\n\nexport const getElementsEventDataById = (state: RootState, eventId: number) =>\n state.elements.eventDataById[eventId] || null;\n\nexport const getTotalsByType = (elements: IElement[]) =>\n sortBy(elements, \"element_type\").reduce>(\n (memo, e) => ({\n ...memo,\n [e.element_type]: memo[e.element_type] ? memo[e.element_type] + 1 : 1,\n }),\n {}\n );\n\nexport const getFormation = (elements: IElement[]) => {\n const totals = getTotalsByType(elements);\n return sortBy(Object.keys(totals), (et) => Number(et))\n .map((et) => totals[et])\n .join(\"-\");\n};\n","import { createAsyncAction, deprecated } from \"typesafe-actions\";\nimport { IMyTeamData } from \"../my-team/types\";\nimport { IElementsById } from \"../elements/types\";\nimport { IError } from \"..\";\n\nconst createAction = deprecated.createAction;\n\nexport const proposeAvailableChip = createAction(\n \"PROPOSE_AVAILABLE_CHIP\",\n (resolve) => (chipName: string) => resolve(chipName)\n);\n\nexport const cancelProposedChip = createAction(\n \"CANCEL_PROPOSED_CHIP\",\n (resolve) => (chipName: string) => resolve(chipName)\n);\n\nexport const cancelActiveChip = createAction(\n \"CANCEL_ACTIVE_CHIP\",\n (resolve) => (chipName: string) => resolve(chipName)\n);\n\nexport const restoreCancelledChip = createAction(\n \"RESTORE_CANCELLED_CHIP\",\n (resolve) => (chipName: string) => resolve(chipName)\n);\n\nexport const fetchChipState = createAsyncAction(\n \"FETCH_CHIP_STATE_START\",\n \"FETCH_CHIP_STATE_SUCCESS\",\n \"FETCH_CHIP_STATE_FAILURE\"\n)();\n\nexport const saveChipTeam = createAsyncAction(\n \"SAVE_CHIP_TEAM_START\",\n \"SAVE_CHIP_TEAM_SUCCESS\",\n \"SAVE_CHIP_TEAM_FAILURE\"\n)();\n\nexport const saveChipTransfer = createAsyncAction(\n \"SAVE_CHIP_TRANSFER_START\",\n \"SAVE_CHIP_TRANSFER_SUCCESS\",\n \"SAVE_CHIP_TRANSFER_FAILURE\"\n)();\n","import { createAsyncAction, deprecated } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport { IElementsById } from \"../elements/types\";\nimport { IMyTeamData, IPickProposed } from \"./types\";\n\nconst createAction = deprecated.createAction;\n\nexport const fetchMyTeam = createAsyncAction(\n \"FETCH_MY_TEAM_START\",\n \"FETCH_MY_TEAM_SUCCESS\",\n \"FETCH_MY_TEAM_FAILURE\"\n)();\n\nexport const saveMyTeam = createAsyncAction(\n \"SAVE_MY_TEAM_START\",\n \"SAVE_MY_TEAM_SUCCESS\",\n \"SAVE_MY_TEAM_FAILURE\"\n)();\n\nexport const substitutionStart = createAction(\n \"SUBSTITUTION_START\",\n (resolve) => {\n return (pick: IPickProposed, possibleReplacements: IPickProposed[]) =>\n resolve({ pick, possibleReplacements });\n }\n);\n\nexport const substitutionStop = createAction(\n \"SUBSTITUTION_STOP\",\n (resolve) => () => resolve()\n);\n\nexport const substitutionProcess = createAction(\n \"SUBSTITUTION_PROCESS\",\n (resolve) => (pick: IPickProposed, subsStart: number) =>\n resolve({ pick, subsStart })\n);\n\nexport const changeCaptain = createAction(\n \"CHANGE_CAPTAIN\",\n (resolve) => (elementId: number) => resolve({ elementId, isVice: false })\n);\n\nexport const changeViceCaptain = createAction(\n \"CHANGE_VICE_CAPTAIN\",\n (resolve) => (elementId: number) => resolve({ elementId, isVice: true })\n);\n","import { combineReducers } from \"redux\";\nimport { createSelector } from \"reselect\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport { fetchMyTeam, saveMyTeam } from \"../my-team/actions\";\nimport * as actions from \"./actions\";\nimport { IPotentialChip, IState } from \"./types\";\n\n// State Reducer\nexport default combineReducers({\n potential: (state = [], action: RootAction) => {\n switch (action.type) {\n case getType(fetchMyTeam.success):\n case getType(saveMyTeam.success):\n case getType(actions.saveChipTeam.success):\n case getType(actions.fetchChipState.success):\n return action.payload.data.chips;\n\n case getType(actions.proposeAvailableChip): {\n if (someActiveOrProposed(state)) {\n return state;\n }\n return state.map((c) => ({\n ...c,\n status_for_entry:\n c.name === action.payload &&\n c.status_for_entry.match(/^(available|unavailable)$/)\n ? \"proposed\"\n : c.status_for_entry,\n }));\n }\n\n case getType(actions.cancelProposedChip): {\n return state.map((c) => ({\n ...c,\n status_for_entry:\n c.name === action.payload && c.status_for_entry === \"proposed\"\n ? \"available\"\n : c.status_for_entry,\n }));\n }\n\n case getType(actions.cancelActiveChip):\n return state.map((c) => ({\n ...c,\n status_for_entry:\n c.name === action.payload &&\n c.status_for_entry === \"active\" &&\n c.chip_type === \"team\"\n ? \"cancelled\"\n : c.status_for_entry,\n }));\n\n case getType(actions.restoreCancelledChip): {\n if (someActiveOrProposed(state)) {\n return state;\n }\n return state.map((c) => ({\n ...c,\n status_for_entry:\n c.name === action.payload && c.status_for_entry === \"cancelled\"\n ? \"active\"\n : c.status_for_entry,\n }));\n }\n\n default:\n return state;\n }\n },\n});\n\nconst someActiveOrProposed = (chips: IPotentialChip[]) =>\n chips.some(\n (c) => c.status_for_entry === \"active\" || c.status_for_entry === \"proposed\"\n );\n\n// State Selectors / Helpers\nexport const getPotentialChips = (state: RootState) => state.chips.potential;\n\nexport const getPlayedChips = createSelector(getPotentialChips, (chips) =>\n chips.filter((c) => c.status_for_entry === \"played\")\n);\n\nexport const getActiveChip = createSelector(getPotentialChips, (chips) => {\n const matches = chips.filter((c) => c.status_for_entry === \"active\");\n return matches.length ? matches[0] : null;\n});\n\nexport const getActiveChipName = createSelector(getActiveChip, (chip) =>\n chip ? chip.name : \"\"\n);\n\nexport const getProposedChip = createSelector(getPotentialChips, (chips) => {\n const matches = chips.filter((c) => c.status_for_entry === \"proposed\");\n return matches.length ? matches[0] : null;\n});\n\nexport const getProposedChipName = createSelector(getProposedChip, (chip) =>\n chip ? chip.name : \"\"\n);\n\n// This is most relevent for transfer chips. On team chips we have to consider\n// unavailable as well as they can become 'available' if an active chip is\n// cancelled\nexport const getAvailableChipNames = createSelector(\n getPotentialChips,\n (chips) =>\n chips.filter((c) => c.status_for_entry === \"available\").map((c) => c.name)\n);\n\nexport const teamChipsHaveChanged = createSelector(getPotentialChips, (chips) =>\n chips.some(\n (c) =>\n c.chip_type === \"team\" &&\n Boolean(c.status_for_entry.match(/^(cancelled|proposed)$/))\n )\n);\n\nexport const getActiveOrProposedTeamChipName = createSelector(\n getPotentialChips,\n (chips) =>\n chips.reduce(\n (memo, c) =>\n c.chip_type === \"team\" &&\n c.status_for_entry.match(/^(active|proposed)$/)\n ? c.name\n : memo,\n null\n )\n);\n\nexport const getActiveOrProposedTransferChipName = createSelector(\n getPotentialChips,\n (chips) =>\n chips.reduce(\n (memo, c) =>\n c.chip_type === \"transfer\" &&\n c.status_for_entry.match(/^(active|proposed)$/)\n ? c.name\n : memo,\n null\n )\n);\n\nexport const getActiveOrProposedAllChipName = createSelector(\n getPotentialChips,\n (chips) =>\n chips.reduce(\n (memo, c) =>\n c.status_for_entry.match(/^(active|proposed)$/) ? c.name : memo,\n null\n )\n);\n","import { createAsyncAction, deprecated } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport { ITransfer } from \"../entries/types\";\nimport { IProposedPicks } from \"./types\";\n\nconst createAction = deprecated.createAction;\n\nexport const proposeElementInPosition = createAction(\n \"PROPOSE_ELEMENT_IN_POSITION\",\n (resolve) => {\n return (element: number, position: number) =>\n resolve({ element, position });\n }\n);\n\nexport const removeElementInPosition = createAction(\n \"REMOVE_ELEMENT_IN_POSITION\",\n (resolve) => {\n return (element: number, position: number) =>\n resolve({ element, position });\n }\n);\n\nexport const resetLastChange = createAction(\"RESET_LAST_CHANGE\", (resolve) => {\n return () => resolve();\n});\n\nexport const resetProposed = createAction(\"RESET_PROPOSED\", (resolve) => {\n return (data: IProposedPicks = {}) => resolve(data);\n});\n\nexport const createSquad = createAsyncAction(\n \"CREATE_SQUAD_START\",\n \"CREATE_SQUAD_SUCCESS\",\n \"CREATE_SQUAD_FAILURE\"\n)();\n\nexport const makeTransfers = createAsyncAction(\n \"MAKE_TRANSFERS_START\",\n \"MAKE_TRANSFERS_SUCCESS\",\n \"MAKE_TRANSFERS_FAILURE\"\n)();\n\nexport const fetchTransfersLatest = createAsyncAction(\n \"FETCH_TRANSFERS_LATEST_START\",\n \"FETCH_TRANSFERS_LATEST_SUCCESS\",\n \"FETCH_TRANSFERS_LATEST_FAILURE\"\n)();\n","import groupBy from \"lodash/groupBy\";\nimport orderBy from \"lodash/orderBy\";\nimport range from \"lodash/range\";\nimport values from \"lodash/values\";\nimport { combineReducers } from \"redux\";\nimport { createSelector } from \"reselect\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"..\";\nimport { getActiveChipName, getProposedChipName } from \"../chips/reducers\";\nimport { getElementTypes } from \"../element-types/reducers\";\nimport { getElementsById } from \"../elements/reducers\";\nimport { IElementsById } from \"../elements/types\";\nimport { getSettings } from \"../game/reducers\";\nimport * as myTeamActions from \"../my-team/actions\";\nimport * as chipActions from \"../chips/actions\";\nimport { IPick } from \"../my-team/types\";\nimport { getTeams } from \"../teams/reducers\";\nimport * as actions from \"./actions\";\nimport {\n ILastChange,\n IProposedElements,\n IProposedElementsById,\n ISquadErrors,\n IState,\n ITransfersData,\n SquadMode,\n} from \"./types\";\n\n// State Reducer\nconst defaultLastType: ILastChange = { type: \"none\", element: 0 };\nexport default combineReducers({\n lastChange: (state = defaultLastType, action: RootAction) => {\n switch (action.type) {\n case getType(actions.proposeElementInPosition):\n return {\n element: action.payload.element,\n type: \"addition\",\n };\n case getType(actions.removeElementInPosition):\n return {\n element: action.payload.element,\n type: \"removal\",\n };\n case getType(actions.resetLastChange):\n case getType(actions.resetProposed):\n return defaultLastType;\n default:\n return state;\n }\n },\n proposed: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.proposeElementInPosition):\n return {\n ...state,\n [action.payload.position]: action.payload.element,\n };\n case getType(actions.removeElementInPosition):\n const newState = { ...state };\n if (\n newState[action.payload.position] &&\n newState[action.payload.position] === action.payload.element\n ) {\n delete newState[action.payload.position];\n }\n return newState;\n case getType(actions.resetProposed):\n return action.payload;\n case getType(myTeamActions.fetchMyTeam.success):\n case getType(myTeamActions.saveMyTeam.success):\n return picksInSquadOrder(\n action.payload.data.picks,\n action.payload.elementsById\n ).reduce>(\n (memo, p, i) => ({ ...memo, [i + 1]: p.element }),\n {}\n );\n\n default:\n return state;\n }\n },\n saved: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(myTeamActions.fetchMyTeam.success):\n case getType(myTeamActions.saveMyTeam.success):\n return picksInSquadOrder(\n action.payload.data.picks,\n action.payload.elementsById\n ).reduce>(\n (memo, p, i) => ({ ...memo, [i + 1]: p }),\n {}\n );\n\n default:\n return state;\n }\n },\n transferState: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(myTeamActions.fetchMyTeam.success):\n case getType(chipActions.fetchChipState.success):\n return action.payload.data.transfers;\n default:\n return state;\n }\n },\n latestTransfers: (state = [], action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchTransfersLatest.success):\n return action.payload;\n default:\n return state;\n }\n },\n error: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.createSquad.failure):\n case getType(actions.makeTransfers.failure):\n return action.payload;\n default:\n return null;\n }\n },\n});\n\n// State Selectors / Helper Functions\nexport const getProposedPicks = (state: RootState) => state.squad.proposed;\n\nexport const getSavedPicks = (state: RootState) => state.squad.saved;\n\nexport const getLastChange = (state: RootState) => state.squad.lastChange;\n\nexport const getTransferState = (state: RootState) => state.squad.transferState;\n\nexport const getLatestTransfers = (state: RootState) =>\n state.squad.latestTransfers;\n\nexport const getSquadError = (state: RootState) => state.squad.error;\n\nexport const getSquadMode = createSelector(\n getSavedPicks,\n (picks): SquadMode => (Object.keys(picks).length ? \"transfers\" : \"selection\")\n);\n\nexport const getProposedElements = createSelector(\n getProposedPicks,\n getSettings,\n getElementsById,\n (picks, settings, elementsById) => {\n const data: IProposedElements = {};\n if (settings) {\n range(1, settings.squad_squadsize + 1).forEach((id) => {\n if (picks[id]) {\n data[id] = elementsById[picks[id]];\n }\n });\n }\n return data;\n }\n);\n\nexport const getProposedElementsById = createSelector(\n getProposedElements,\n (elements) =>\n Object.keys(elements).reduce((obj, pos) => {\n obj[elements[pos].id] = {\n ...elements[pos],\n position: parseInt(pos, 10),\n };\n return obj;\n }, {})\n);\n\n// Returns removed, original or replaced for each squad position\nexport const getTransferPositionStatus = createSelector(\n getSavedPicks,\n getProposedPicks,\n (saved, proposed) =>\n Object.keys(saved).reduce<\n Record\n >(\n (memo, pos) => ({\n ...memo,\n [pos]: !proposed[pos]\n ? \"removed\"\n : saved[pos].element === proposed[pos]\n ? \"original\"\n : \"replaced\",\n }),\n {}\n )\n);\n\nexport const getToSpend = createSelector(\n getSquadMode,\n getProposedElements,\n getSavedPicks,\n getTransferPositionStatus,\n getSettings,\n getTransferState,\n getProposedChipName,\n getActiveChipName,\n (\n mode,\n proposed,\n saved,\n posStatus,\n settings,\n transferState,\n proposedChip,\n activeChip\n ) => {\n if (settings) {\n if (mode === \"selection\") {\n return values(proposed).reduce(\n (toSpend, e) => toSpend - e.now_cost,\n settings.squad_total_spend\n );\n } else if (mode === \"transfers\" && transferState !== null) {\n if (proposedChip === \"rich\" || activeChip === \"rich\") {\n return 1000000;\n }\n\n return Object.keys(saved).reduce((toSpend, pos) => {\n if (posStatus[pos] === \"removed\") {\n toSpend += saved[pos].selling_price;\n } else if (posStatus[pos] === \"replaced\") {\n toSpend += saved[pos].selling_price - proposed[pos].now_cost;\n }\n return toSpend;\n }, transferState.bank);\n }\n }\n return 0;\n }\n);\n\nexport const getTeamLimit = createSelector(\n getSettings,\n getProposedChipName,\n getActiveChipName,\n (settings, proposedChip, activeChip) => {\n if (settings) {\n return proposedChip === \"uteam\" || activeChip === \"uteam\"\n ? settings.squad_squadsize\n : settings.squad_team_limit;\n }\n return 0; // Only temporary (if at all) whilst settings are loaded\n }\n);\n\nexport const getTypesNeeded = createSelector(\n getProposedElements,\n getElementTypes,\n getSettings,\n (elements, types) => {\n let needed: { [id: string]: number } = {};\n needed = types.reduce(\n (memo, et) => ({ ...memo, [et.id]: et.squad_select }),\n {}\n );\n values(elements).forEach((e) => {\n needed[e.element_type]--;\n });\n return needed;\n }\n);\n\nexport const getCountByTeam = createSelector(\n getProposedElements,\n getTeams,\n (elements, teams) => {\n const countByTeam: { [id: string]: number } = teams.reduce(\n (memo, t) => ({ ...memo, [t.id]: 0 }),\n {}\n );\n const elementsByTeam = groupBy(elements, \"team\");\n Object.keys(elementsByTeam).forEach((teamId) => {\n countByTeam[teamId] = elementsByTeam[teamId].length;\n });\n return countByTeam;\n }\n);\n\nexport const getProposedTransfers = createSelector(\n getProposedElements,\n getSavedPicks,\n (elements, picks) => {\n const data: Array = [];\n Object.keys(picks).forEach((i) => {\n if (elements[i] && elements[i].id !== picks[i].element) {\n data.push({\n element_in: elements[i].id,\n element_out: picks[i].element,\n purchase_price: elements[i].now_cost,\n selling_price: picks[i].selling_price,\n });\n }\n });\n return data;\n }\n);\n\nexport const getErrors = createSelector(\n getProposedElements,\n getSettings,\n getToSpend,\n getTeamLimit,\n getCountByTeam,\n getProposedTransfers,\n getSquadMode,\n (elements, settings, toSpend, teamLimit, countByTeam, transfers, mode) => {\n const errors: ISquadErrors = {};\n if (!settings) {\n return errors;\n }\n const needed = settings.squad_squadsize;\n\n if (toSpend < 0) {\n errors.budgetExceeded = -toSpend;\n }\n\n const selected = Object.keys(elements).length;\n if (selected !== needed) {\n errors.needElements = needed - selected;\n }\n\n Object.keys(countByTeam).forEach((teamId) => {\n if (countByTeam[teamId] > teamLimit) {\n if (!errors.overTeamLimit) {\n errors.overTeamLimit = [];\n }\n errors.overTeamLimit.push(parseInt(teamId, 10));\n }\n });\n\n if (mode === \"transfers\") {\n if (!transfers.length) {\n errors.noTransfersMade = true;\n } else {\n delete errors.noTransfersMade;\n }\n }\n\n return errors;\n }\n);\n\nexport const toCreateEntryAPI = createSelector(\n getProposedElements,\n (elements) =>\n values(elements).map((e) => ({\n element: e.id,\n purchase_price: e.now_cost,\n }))\n);\n\nexport const getNumberOfTransferChanges = createSelector(\n getTransferPositionStatus,\n (positionStatus) =>\n values(positionStatus).reduce(\n (count, s) => (s === \"original\" ? count : count + 1),\n 0\n )\n);\n\nexport const getFreeTransfers = createSelector(\n getTransferState,\n (transferState) => {\n if (!transferState || transferState.limit === null) {\n return 0;\n }\n return Math.max(transferState.limit - transferState.made, 0);\n }\n);\n\nexport const getFreeTransfersRemaining = createSelector(\n getFreeTransfers,\n getNumberOfTransferChanges,\n (free, changes) => Math.max(free - changes, 0)\n);\n\nexport const getTransferCostsWithoutChip = createSelector(\n getTransferState,\n getNumberOfTransferChanges,\n (transferState, changes) => {\n if (!transferState || transferState.limit === null) {\n return 0;\n }\n const overLimit = -(\n Math.max(transferState.limit - transferState.made, 0) - changes\n );\n return overLimit > 0 ? overLimit * transferState.cost : 0;\n }\n);\n\nexport const getTransferCosts = createSelector(\n getTransferCostsWithoutChip,\n getActiveChipName,\n getProposedChipName,\n (cost, activeChip, proposedChip) => {\n const freeChips = [\"wildcard\", \"freehit\", \"rich\", \"uteam\"];\n if (activeChip && freeChips.indexOf(activeChip) > -1) {\n return 0;\n }\n if (proposedChip && freeChips.indexOf(proposedChip) > -1) {\n return 0;\n }\n return cost;\n }\n);\n\nexport const canAutocomplete = createSelector(getErrors, (errors) =>\n Boolean(\n errors.needElements && !errors.budgetExceeded && !errors.overTeamLimit\n )\n);\n\nexport const canReset = createSelector(\n getSquadMode,\n getProposedElements,\n getNumberOfTransferChanges,\n (mode, proposed, changes) =>\n Boolean(mode === \"selection\" ? Object.keys(proposed).length : changes)\n);\n\nconst picksInSquadOrder = (picks: IPick[], elementsById: IElementsById) =>\n orderBy(picks, [\n (p) => elementsById[p.element].element_type,\n (p) => p.element,\n ]);\n","import { navigate } from \"@reach/router\";\nimport shuffle from \"lodash/shuffle\";\nimport values from \"lodash/values\";\nimport { ThunkResult } from \"..\";\nimport { apiPost, apiGet } from \"../../utils/api\";\nimport { bootstrap } from \"../bootstrap/thunks\";\nimport { cancelProposedChip } from \"../chips/actions\";\nimport {\n getProposedChip,\n getProposedChipName,\n getActiveOrProposedTransferChipName,\n} from \"../chips/reducers\";\nimport { getElementTypesBySquadPosition } from \"../element-types/reducers\";\nimport {\n getAverageCostByType,\n getElement,\n getElements,\n} from \"../elements/reducers\";\nimport { getNextEvent } from \"../events/reducers\";\nimport { getSettings } from \"../game/reducers\";\nimport { getPlayerData } from \"../player/reducers\";\nimport {\n getCountByTeam,\n getProposedElements,\n getProposedTransfers,\n getSavedPicks,\n getToSpend,\n getTransferCostsWithoutChip,\n getTypesNeeded,\n toCreateEntryAPI,\n} from \"../squad/reducers\";\nimport * as actions from \"./actions\";\nimport { resetProposed } from \"./actions\";\nimport { ICreateEntryData } from \"./types\";\n\nexport const proposeElement =\n (elementId: number): ThunkResult =>\n (dispatch, getState) => {\n const element = getElement(getState(), elementId);\n const proposed = getProposedElements(getState());\n const saved = getSavedPicks(getState());\n const elementTypesByPosition = getElementTypesBySquadPosition(getState());\n if (!element || !elementTypesByPosition) {\n return false;\n }\n\n // Element must not already be selected\n if (values(proposed).indexOf(element) > -1) {\n return false;\n }\n\n // Can we find a free position based on type?\n const freePosition = Object.keys(elementTypesByPosition).find((pos) => {\n return (\n elementTypesByPosition[pos].thisType.id === element.element_type &&\n !proposed[pos]\n );\n });\n if (!freePosition) {\n return false;\n }\n let position = Number(freePosition);\n\n // TODO - Look at bulk dispatching these with new react-redux\n const savedPositions = Object.keys(saved).filter(\n (p) => saved[p].element === elementId\n );\n // We already have this element\n if (savedPositions.length) {\n const savedPosition = Number(savedPositions[0]);\n // In a different position\n if (savedPosition !== position) {\n const proposedId =\n proposed[savedPosition] && proposed[savedPosition].id;\n // Someone is in saved position so remove them and put in this position\n if (proposedId) {\n dispatch(actions.removeElementInPosition(proposedId, savedPosition));\n dispatch(actions.proposeElementInPosition(proposedId, position));\n }\n position = savedPosition;\n }\n }\n dispatch(actions.proposeElementInPosition(element.id, position));\n return true;\n };\n\nexport const removeElement =\n (position: number): ThunkResult =>\n (dispatch, getState) => {\n const proposed = getProposedElements(getState());\n if (!proposed[position]) {\n return false;\n }\n dispatch(actions.removeElementInPosition(proposed[position].id, position));\n return true;\n };\n\nexport const restoreElement =\n (position: number): ThunkResult =>\n (dispatch, getState) => {\n const saved = getSavedPicks(getState());\n if (!saved[position]) {\n return false;\n }\n dispatch(\n actions.proposeElementInPosition(saved[position].element, position)\n );\n // If proposing wildcard and no transfer costs cancel it\n if (\n getProposedChipName(getState()) === \"wildcard\" &&\n getTransferCostsWithoutChip(getState()) === 0\n ) {\n dispatch(cancelProposedChip(\"wildcard\"));\n }\n return true;\n };\n\nexport const reset = (): ThunkResult => (dispatch, getState) => {\n const savedPicks = getSavedPicks(getState());\n dispatch(\n resetProposed(\n Object.keys(savedPicks).reduce>(\n (memo, i) => ({ ...memo, [i]: savedPicks[i].element }),\n {}\n )\n )\n );\n // Cancel any proposed transfer chips\n const chip = getProposedChip(getState());\n if (chip && chip.chip_type === \"transfer\") {\n dispatch(cancelProposedChip(chip.name));\n }\n};\n\nexport const autoComplete =\n (): ThunkResult => (dispatch, getState) => {\n const typesByPosition = getElementTypesBySquadPosition(getState());\n const settings = getSettings(getState());\n if (!settings || !typesByPosition) {\n return false;\n }\n const averageCostByType = getAverageCostByType(getState());\n const proposed = getProposedElements(getState());\n const elementsOwned = values(proposed)\n .map((e) => e.id)\n .concat(values(getSavedPicks(getState())).map((p) => p.element));\n const countByTeam = getCountByTeam(getState());\n let failures = 0;\n\n Object.keys(typesByPosition).forEach((pos) => {\n if (!proposed[pos]) {\n const typesNeeded = getTypesNeeded(getState());\n const avgToSpend = Object.keys(typesNeeded).reduce(\n (memo, et) => memo + typesNeeded[et] * averageCostByType[et],\n 0\n );\n const weightingFactor = getToSpend(getState()) / avgToSpend;\n const invalidTeams = Object.keys(countByTeam)\n .filter((id) => countByTeam[id] >= settings.squad_team_limit)\n .map((id) => parseInt(id, 10));\n const possibles = getElements(getState()).filter(\n (e) =>\n // Correct type\n e.element_type === typesByPosition[pos].thisType.id &&\n // Cheap enough\n e.now_cost <=\n averageCostByType[typesByPosition[pos].thisType.id] *\n weightingFactor &&\n // Don't have\n elementsOwned.indexOf(e.id) === -1 &&\n // Available\n e.status === \"a\" &&\n // Within team limit\n invalidTeams.indexOf(e.team) === -1\n );\n if (possibles.length) {\n const choice = shuffle(possibles).sort(\n (a, b) =>\n parseFloat(b.form) - parseFloat(a.form) || b.now_cost - a.now_cost\n )[0];\n dispatch(\n actions.proposeElementInPosition(choice.id, parseInt(pos, 10))\n );\n elementsOwned.push(choice.id);\n countByTeam[choice.team]++;\n } else {\n failures++;\n }\n }\n });\n return !failures;\n };\n\nexport const createEntry =\n (data: ICreateEntryData): ThunkResult> =>\n async (dispatch, getState) => {\n try {\n await apiPost(\n \"entry-create/\",\n { ...data, picks: toCreateEntryAPI(getState()) },\n dispatch,\n actions.createSquad\n );\n } catch (e) {\n return;\n }\n await dispatch(bootstrap());\n navigate(\"/my-team\");\n };\n\nexport const makeTransfers =\n (): ThunkResult> => async (dispatch, getState) => {\n const nextEvent = getNextEvent(getState());\n const player = getPlayerData(getState());\n if (!nextEvent || !player || !player.entry) {\n return;\n }\n try {\n await apiPost(\n \"transfers/\",\n {\n chip: getActiveOrProposedTransferChipName(getState()),\n entry: player.entry,\n event: nextEvent.id,\n transfers: getProposedTransfers(getState()),\n },\n dispatch,\n actions.makeTransfers\n );\n } catch (e) {\n return;\n }\n navigate(\"/my-team\");\n };\n\nexport const fetchLatestTransfers =\n (): ThunkResult => async (dispatch, getState) => {\n const player = getPlayerData(getState());\n if (!player || !player.entry) {\n return;\n }\n try {\n await apiGet(\n `entry/${player.entry}/transfers-latest/`,\n dispatch,\n actions.fetchTransfersLatest\n );\n } catch (e) {\n return;\n }\n };\n","import { IElementBase } from \"../store/elements/types\";\n\nexport const isMoneyStat = (stat: any): boolean => {\n const moneyStats: Array = [\n \"cost_change_event\",\n \"cost_change_event_fall\",\n \"cost_change_start\",\n \"cost_change_start_fall\",\n \"now_cost\",\n ];\n return moneyStats.indexOf(stat) > -1;\n};\n\nexport const integerToMoney = (int: number, divisor: number) =>\n (int / divisor).toFixed(1);\n\nexport const integerToMoneyFloat = (int: number, divisor: number) =>\n int / divisor;\n\nexport const moneyToInteger = (money: string, divisor: number) =>\n Math.round(parseFloat(money) * divisor);\n","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgClose(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\",\n stroke: \"#FFF\",\n strokeLinecap: \"round\",\n strokeWidth: 3,\n transform: \"translate(2 2)\"\n }, /*#__PURE__*/React.createElement(\"line\", {\n x1: 16,\n y2: 16\n }), /*#__PURE__*/React.createElement(\"line\", {\n x2: 16,\n y2: 16\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgClose);\nexport default __webpack_public_path__ + \"static/media/close.4b1d5f67.svg\";\nexport { ForwardRef as ReactComponent };","import { IElementBase } from \"../core/store/elements/types\";\n\nexport const isDecimalStat = (stat: any): boolean => {\n const decimalStats: Array = [\n \"event_points\",\n \"total_points\",\n \"form\",\n \"value_form\",\n \"value_season\",\n \"points_per_game\",\n ];\n return decimalStats.indexOf(stat) > -1;\n};\n\nexport const integerToDecimal = (int: number, divisor: number) =>\n (int / divisor).toFixed(1);\n","import i18n from \"../i18n\";\n\nexport const getEventShortName = (eventName: string) =>\n eventName.match(/\\d+/g)?.join(\".\");\n\nexport const getPrefixedEventShortName = (eventName: string) =>\n i18n.t(\"events.prefixedShortName\", \"GW{{eventName}}\", {\n eventName: getEventShortName(eventName),\n });\n\nexport const isBlankWeek = (eventId: number) => (eventId === 7 ? true : false);\n","import * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\n\nconst StyledAlert = styled.div`\n padding: 1rem 1.25rem;\n text-align: ${(props) => props.textAlign};\n border: 1px solid transparent;\n border-radius: ${({ noRadius }) => (noRadius ? 0 : \".25rem\")};\n color: white;\n\n ${(props) =>\n props.type === \"error\" &&\n css`\n background-color: ${props.theme.colors.error};\n `}\n\n ${(props) =>\n props.type === \"success\" &&\n css`\n background-color: ${(props) => props.theme.colors.blueDark};\n `}\n \n ${(props) =>\n props.type === \"warning\" &&\n css`\n background-color: ${(props) => props.theme.colors.blueDark};\n `}\n \n ${(props) =>\n props.type === \"info\" &&\n css`\n background-color: ${(props) => props.theme.colors.blueDark};\n `}\n`;\n\nexport const AlertItem = styled.p`\n margin-top: ${(props) => props.theme.space[1]};\n margin-bottom: ${(props) => props.theme.space[1]};\n color: currentColor;\n`;\n\nexport const AlertWrap = styled.div`\n margin: ${(props) => props.theme.space[2]};\n`;\n\nexport const AlertGroup = styled.div`\n margin-top: ${({ theme }) => theme.space[3]};\n margin-bottom: ${({ theme }) => theme.space[3]};\n`;\n\ninterface IStyleProps {\n type: \"error\" | \"success\" | \"warning\" | \"info\";\n textAlign?: \"start\" | \"center\";\n noRadius?: boolean;\n}\n\ninterface IProps extends IStyleProps {\n children: React.ReactNode;\n}\n\nconst Alert: React.FC = ({\n children,\n textAlign = \"center\",\n type,\n noRadius = false,\n}) => (\n \n {children}\n \n);\n\nexport default Alert;\n","import * as React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { getTeamsById } from \"../core/store/teams/reducers\";\n\nconst StyledBadge = styled.img`\n width: ${(props) => (props.width ? props.width : \"100%\")};\n display: inline-block;\n vertical-align: middle;\n`;\n\ninterface IStyledProps {\n width?: string;\n}\n\ninterface IProps {\n isPresentation?: boolean;\n teamId: number;\n}\n\ntype Props = IProps & IStyledProps;\n\nconst Badge: React.FC = ({ isPresentation, teamId, width = \"\" }) => {\n const teamsById = useSelector(getTeamsById);\n const team = teamsById[teamId];\n\n const imgProps = {\n alt: team.name,\n role: \"\",\n src: `//cdn.nba.com/logos/nba/${team.code}/global/L/logo.svg`,\n width,\n };\n\n if (isPresentation) {\n imgProps.alt = \"\";\n imgProps.role = \"presentation\";\n }\n\n return ;\n};\n\nexport default Badge;\n","import React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\n\nconst StyledButton = styled.button`\n display: block;\n padding: 1.5rem ${(props) => props.theme.space[3]};\n border: 0;\n background-color: ${(props) => props.theme.colors.yellow};\n font-family: ${(props) => props.theme.fonts.body};\n font-size: ${(props) => props.theme.fontSizes[1]};\n font-weight: 500;\n border-radius: ${(props) => props.theme.radii[1]};\n color: black;\n text-align: center;\n line-height: 1;\n cursor: pointer;\n\n ${(props) =>\n props.variant === \"secondary\" &&\n css`\n background-color: ${(props) => props.theme.colors.secondary};\n color: ${(props) => props.theme.colors.white};\n `}\n\n ${(props) =>\n props.variant === \"tertiary\" &&\n css`\n background-color: ${(props) => props.theme.colors.tertiary};\n color: ${(props) => props.theme.colors.white};\n `}\n\n ${(props) =>\n props.disabled &&\n css`\n border: 1px solid ${(props) => props.theme.colors.offBlack};\n background-color: ${(props) => `${props.theme.colors.greyLight}99`};\n color: ${(props) => props.theme.colors.offBlack};\n cursor: default;\n &:hover {\n cursor: not-allowed;\n }\n `}\n\n ${(props) =>\n props.fullwidth &&\n css`\n width: 100%;\n `};\n`;\n\nexport interface IButtonStyledProps {\n /**\n * Is the button disabled?\n */\n disabled?: boolean;\n /**\n * Should the button be the full width of the container?\n */\n fullwidth?: \"true\" | \"\";\n /**\n * Set visual prominence of the button\n */\n variant?: \"primary\" | \"secondary\" | \"tertiary\";\n}\n\ninterface IProps {\n /**\n * Optional click handler\n */\n onClick?: () => void;\n /** Specifiy the button type */\n type?: \"button\" | \"submit\" | \"reset\";\n}\n\ntype Props = IButtonStyledProps & IProps;\n\nconst Button: React.FC = ({\n children,\n disabled,\n fullwidth = \"\",\n type = \"button\",\n variant = \"primary\",\n ...rest\n}) => (\n \n {children}\n \n);\n\nexport default Button;\n","import { createAsyncAction } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport { IFixture, IFixtureAllStats } from \"./types\";\n\n// Action Creators\nexport const addFixturesForEvent = createAsyncAction(\n \"ADD_FIXTURES_EVENT_START\",\n \"ADD_FIXTURES_EVENT_SUCCESS\",\n \"ADD_FIXTURES_EVENT_FAILURE\"\n)();\n\nexport const addFixtures = createAsyncAction(\n \"ADD_FIXTURES_START\",\n \"ADD_FIXTURES_SUCCESS\",\n \"ADD_FIXTURES_FAILURE\"\n)();\n\nexport const addAllStatsForFixture = createAsyncAction(\n \"ADD_ALL_STATS_FOR_FIXTURE_START\",\n \"ADD_ALL_STATS_FOR_FIXTURE_SUCCESS\",\n \"ADD_ALL_STATS_FOR_FIXTURE_FAILURE\"\n)();\n","import { startOfDay } from \"date-fns\";\nimport { utcToZonedTime } from \"date-fns-tz\";\nimport { isEqual } from \"lodash\";\nimport { combineReducers } from \"redux\";\nimport { createSelector } from \"reselect\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport { IElement } from \"../elements/types\";\nimport { getNextEvent } from \"../events/reducers\";\nimport { getTeamsById } from \"../teams/reducers\";\nimport * as actions from \"./actions\";\nimport {\n FixturesByEvent,\n IFixture,\n IFixtureGroup,\n IFixturesForEventByTeam,\n IGroupedFixturesByEvent,\n IState,\n} from \"./types\";\n\n// State Reducer\nexport default combineReducers({\n byEvent: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.addFixturesForEvent.success):\n return {\n ...state,\n [action.payload.event]: action.payload.data,\n };\n case getType(actions.addFixtures.success): {\n const eventSlice: FixturesByEvent = {};\n action.payload.forEach((f) => {\n if (f.event) {\n if (!eventSlice[f.event]) {\n eventSlice[f.event] = [];\n }\n eventSlice[f.event].push(f);\n }\n });\n return {\n ...state,\n ...eventSlice,\n };\n }\n default:\n return state;\n }\n },\n allStatsById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.addAllStatsForFixture.success):\n return {\n ...state,\n [action.payload.fixture]: action.payload.data,\n };\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getFixturesByEvent = (state: RootState) => state.fixtures.byEvent;\n\nexport const getGroupedFixturesByEvent = (state: RootState) => {\n const fixturesByEvent = getFixturesByEvent(state);\n const groupedFixturesByEvent: IGroupedFixturesByEvent = {};\n\n Object.keys(fixturesByEvent).forEach((eventId) => {\n const fixtures = fixturesByEvent[eventId];\n const groups: IFixtureGroup[] = [];\n let currentGroup: IFixtureGroup | null = null;\n fixtures.forEach((fixture: IFixture) => {\n if (fixture.kickoff_time) {\n const kickoffDate = new Date(fixture.kickoff_time);\n const fixtureDate = startOfDay(\n utcToZonedTime(\n kickoffDate,\n Intl.DateTimeFormat().resolvedOptions().timeZone\n )\n );\n if (currentGroup == null || !isEqual(fixtureDate, currentGroup.date)) {\n currentGroup = {\n date: fixtureDate,\n fixtures: [],\n };\n groups.push(currentGroup);\n }\n currentGroup.fixtures.push({ kickoffDate, ...fixture });\n }\n });\n groupedFixturesByEvent[eventId] = groups;\n });\n return groupedFixturesByEvent;\n};\n\nexport const getFixturesForEvent = (state: RootState, eventId: number) =>\n state.fixtures.byEvent[eventId] || [];\n\nexport const getFixturesForEventById = (state: RootState, eventId: number) => {\n const fixtures = getFixturesForEvent(state, eventId);\n if (!fixtures.length) {\n return null;\n }\n return fixtures.reduce((memo, f) => ({ ...memo, [f.id]: f }), {});\n};\n\nexport const getFixturesForEventByTeam = (\n state: RootState,\n eventId: number\n) => {\n const data: IFixturesForEventByTeam = Object.keys(getTeamsById(state)).reduce(\n (memo, id) => ({\n ...memo,\n [id]: [],\n }),\n {}\n );\n getFixturesForEvent(state, eventId).forEach((f) => {\n data[f.team_h].push(f);\n data[f.team_a].push(f);\n });\n return data;\n};\n\nexport const getFixturesForNextEventByTeam = (state: RootState) => {\n const nextEvent = getNextEvent(state);\n return getFixturesForEventByTeam(state, nextEvent ? nextEvent.id : 0);\n};\n\nexport const getElementFixtureOpponent = createSelector(\n [\n (state) => state.teams.byId,\n (_: RootState, element: IElement) => element,\n (_: RootState, __: IElement, fixture) => fixture,\n ],\n (teamsById, element, fixture) => {\n const isHome = element.team === fixture.team_h;\n const neutralIds: number[] = [];\n const suffix =\n neutralIds.indexOf(fixture.id) > -1 ? \"(N)\" : isHome ? \"(H)\" : \"(A)\";\n const oppTeam = isHome\n ? teamsById[fixture.team_a]\n : teamsById[fixture.team_h];\n return `${oppTeam.short_name} ${suffix}`;\n }\n);\n\nexport const getElementEventOpponents = (\n state: RootState,\n element: IElement,\n fixtures: IFixture[]\n) =>\n fixtures.map((f: IFixture) => getElementFixtureOpponent(state, element, f));\n\nexport const getAllStatsForFixture = (state: RootState, fixtureId: number) =>\n state.fixtures.allStatsById[fixtureId] || null;\n","import { useSelector } from \"react-redux\";\nimport styled, { css } from \"styled-components/macro\";\nimport { IElement } from \"../core/store/elements/types\";\nimport { getCurrentEvent, getEventsById } from \"../core/store/events/reducers\";\nimport { getFixturesByEvent } from \"../core/store/fixtures/reducers\";\nimport { getPhases } from \"../core/store/phases/reducers\";\nimport { getPrefixedEventShortName } from \"../utils/events\";\nimport Badge from \"./Badge\";\nimport Table from \"./Table\";\nimport { isRTL } from \"../utils/locale\";\nimport i18n from \"../i18n\";\n\ninterface IProps {\n element: IElement;\n}\n\nconst Wrapper = styled.div`\n border: 1.5px solid ${(props) => props.theme.colors.pink};\n border-radius: ${(props) => props.theme.radii[1]};\n padding: ${(props) => props.theme.space[1]} 0;\n`;\n\nconst HeaderRow = styled.tr`\n border-bottom: 1.5px solid ${(props) => props.theme.colors.pink};\n`;\n\nconst StyledRow = styled.tr`\n border: 0;\n`;\n\nconst GameweekDay = styled.td`\n position: relative;\n text-align: center;\n font-size: 1.2rem;\n &&& {\n padding: ${(props) => `${props.theme.space[2]} ${props.theme.space[1]}`};\n }\n\n ::after {\n content: \"\";\n position: absolute;\n right: 0;\n bottom: 0.5rem;\n left: 0;\n top: 0;\n ${isRTL(i18n.language)\n ? css`\n border-left: 1.5px solid ${(props) => props.theme.colors.pink};\n `\n : css`\n border-right: 1.5px solid ${(props) => props.theme.colors.pink};\n `}\n }\n\n &:last-child::after {\n ${isRTL(i18n.language)\n ? css`\n border-left: 0;\n `\n : css`\n border-right: 0;\n `}\n }\n\n @media (min-width: ${(props) => props.theme.breakpoints[1]}) {\n font-size: ${(props) => props.theme.fontSizes[0]};\n }\n`;\n\nconst FixtureField = styled.td`\n position: relative;\n text-align: center;\n\n ::after {\n content: \"\";\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n top: 0.5rem;\n ${isRTL(i18n.language)\n ? css`\n border-left: 1.5px solid ${(props) => props.theme.colors.pink};\n `\n : css`\n border-right: 1.5px solid ${(props) => props.theme.colors.pink};\n `}\n }\n\n &:last-child::after {\n ${isRTL(i18n.language)\n ? css`\n border-left: 0;\n `\n : css`\n border-right: 0;\n `}\n }\n\n &&& {\n border-bottom: 0;\n }\n`;\n\nconst renderBadge = (teamId: number) => {\n return ;\n};\n\nconst CurrentGameweekSchedule = ({ element }: IProps) => {\n // Get game days in a phase\n const eventsById = useSelector(getEventsById);\n const now = useSelector(getCurrentEvent);\n const activePhaseEvent = now ? now.id : 1;\n const activePhase = useSelector(getPhases).find(\n (p) =>\n p.id > 1 &&\n p.start_event <= activePhaseEvent &&\n p.stop_event >= activePhaseEvent\n );\n\n const gameDays = [];\n\n if (activePhase) {\n for (let i = activePhase.start_event; i <= activePhase.stop_event; i++) {\n gameDays.push([getPrefixedEventShortName(eventsById[i].name), i]);\n }\n }\n\n const fixturesByEvent = useSelector(getFixturesByEvent);\n const neededFixtures = gameDays.length;\n const elementFixtures: number[] = new Array(neededFixtures);\n elementFixtures.fill(0);\n\n const teamId = element.team;\n for (let i = 0; i < neededFixtures; i++) {\n const eventId = gameDays[i][1];\n if (fixturesByEvent[eventId]) {\n // No chance of a team having more than one fixture\n const fixture = fixturesByEvent[eventId].find(\n (f) => f.team_h === teamId || f.team_a === teamId\n );\n if (fixture) {\n elementFixtures[i] =\n teamId === fixture.team_h ? fixture.team_a : fixture.team_h;\n }\n }\n }\n\n return (\n \n \n \n \n {gameDays.map((gameDay, index) => (\n {gameDay[0]}\n ))}\n \n \n\n \n \n {elementFixtures.map((opponentId) =>\n opponentId ? (\n {renderBadge(opponentId)}\n ) : (\n -\n )\n )}\n \n \n
\n
\n );\n};\nexport default CurrentGameweekSchedule;\n","import { hideVisually, rgba } from \"polished\";\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport styled, { css } from \"styled-components/macro\";\nimport { ReactComponent as Close } from \"../img/icons/close.svg\";\nimport \"./OverflowScrolling.css\";\nimport { PrimaryGradient } from \"./Utils\";\n\nexport const CloseButton = styled.button`\n padding: 0.7rem;\n border: 0;\n border-radius: ${(props) => props.theme.radii[0]};\n background-color: ${(props) => props.theme.colors.red};\n cursor: pointer;\n`;\n\nexport const CloseIcon = styled(Close)`\n fill: white;\n`;\n\nconst CloseLabel = styled.span`\n ${hideVisually}\n`;\n\n// https://css-tricks.com/considerations-styling-modal/\n// 1. commented out height to see if we can be more flexible\n\nconst StyledDialog = styled.dialog`\n z-index: ${(props) => props.theme.zIndex.dialog};\n max-width: 100%;\n /* height: 400px; [1] */\n max-height: 90%;\n padding: 0;\n border: 0;\n border-radius: ${(props) => props.theme.radii[1]};\n /* Ugly hack to deal with sub-pixel rounding in chrome bug causing blurry content with transform */\n width: 515px;\n background-color: white;\n color: currentColor;\n`;\n\nconst Overlay = styled.div`\n position: fixed;\n z-index: ${(props) => props.theme.zIndex.overlay};\n top: 0;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n background-color: ${rgba(\"black\", 0.5)};\n`;\n\nconst StyledHeader = styled.div`\n ${PrimaryGradient}\n display: flex;\n align-items: center;\n padding: ${(props) => `${props.theme.space[3]} ${props.theme.space[2]}`};\n border-top-left-radius: ${(props) => props.theme.radii[1]};\n border-top-right-radius: ${(props) => props.theme.radii[1]};\n`;\n\nconst DialogHeading = styled.h2`\n flex: 1;\n margin: 0;\n font-family: ${(props) => props.theme.fonts.action};\n font-style: italic;\n font-size: 2.8rem;\n color: #fff;\n`;\n\nexport const DialogButtonItem = styled.div`\n margin-bottom: ${({ theme }) => theme.space[2]};\n\n &:last-child {\n margin-bottom: 0;\n }\n`;\n\ninterface IDialogHeaderProps {\n children: React.ReactNode;\n closeDialog: () => void;\n}\n\ntype DialogHeaderProps = IDialogHeaderProps;\n\nconst DialogHeader: React.FC = ({\n children,\n closeDialog,\n}) => (\n \n {children}\n \n close\n \n \n \n);\n\nconst isVisible = (elem: HTMLElement) =>\n !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length);\n\ninterface IDialogBodyProps {\n children: any;\n isPadded?: boolean;\n}\n\nconst StyledDialogBody = styled.div`\n max-height: calc(90vh - 128px);\n overflow-y: auto;\n ${(props) =>\n props.isPadded &&\n css`\n margin: ${props.theme.space[2]} 0;\n padding: 0 ${props.theme.space[2]};\n overflow: auto;\n `};\n`;\n\nconst DialogBody: React.SFC = ({ children, isPadded }) => (\n \n {children}\n \n);\n\nDialogBody.defaultProps = {\n isPadded: true,\n};\n\ninterface IDialogProps {\n children: any;\n closeDialog: (\n e:\n | React.MouseEvent\n | React.MouseEvent\n | KeyboardEvent\n ) => void;\n focusable: string;\n}\n\nclass Dialog extends React.Component {\n public static Header = DialogHeader;\n public static Body = DialogBody;\n\n public static defaultProps = {\n focusable:\n \"a[href], area[href], input:not([disabled]), \" +\n \"select:not([disabled]), textarea:not([disabled]), \" +\n \"button:not([disabled]), iframe, object, embed, \" +\n \"*[tabindex], *[contenteditable]\",\n };\n\n private docref = React.createRef();\n private focusReturn = document.activeElement;\n\n public componentDidMount() {\n document.addEventListener(\"keydown\", this.handleKeydown);\n const docRef = this.docref.current;\n if (docRef) {\n const focusElement = docRef.querySelector(\n this.props.focusable\n ) as HTMLElement;\n if (focusElement) {\n focusElement.focus();\n }\n }\n }\n\n public componentWillUnmount() {\n document.removeEventListener(\"keydown\", this.handleKeydown);\n const focusReturn = this.focusReturn as HTMLElement;\n if (focusReturn) {\n if (focusReturn.focus) {\n focusReturn.focus();\n }\n }\n }\n\n public handleKeydown = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") {\n this.props.closeDialog(e);\n } else if (e.key === \"9\") {\n this.handleTab(e);\n }\n };\n\n public handleOutsideMouseClick = (e: React.MouseEvent) => {\n if (e.target === e.currentTarget) {\n this.props.closeDialog(e);\n e.stopPropagation();\n }\n };\n\n public handleTab(e: KeyboardEvent) {\n const docRef = this.docref.current;\n const focusedItem = document.activeElement;\n if (docRef) {\n const focusableItems = Array.prototype.slice\n .call(docRef.querySelectorAll(this.props.focusable))\n .filter(isVisible);\n const numFocusableItems = focusableItems.length;\n const focusedIndex = focusableItems.indexOf(focusedItem);\n if (!e.shiftKey && focusedIndex === numFocusableItems - 1) {\n // Moving past last focusable item so focus first\n focusableItems[0].focus();\n e.preventDefault();\n } else if (e.shiftKey && focusedIndex === 0) {\n // Moving before first focusable item so focus last\n focusableItems[numFocusableItems - 1].focus();\n e.preventDefault();\n }\n }\n }\n\n public render() {\n // https://github.com/facebook/react/issues/11387\n return ReactDOM.createPortal(\n {\n e.stopPropagation();\n this.handleOutsideMouseClick(e);\n }}\n role=\"presentation\"\n >\n \n
\n {this.props.children}\n
\n
\n ,\n document.getElementById(\"root-dialog\") as HTMLElement\n );\n }\n}\n\nexport default Dialog;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { IElement, IElementFixture } from \"../core/store/elements/types\";\nimport { IFixture } from \"../core/store/fixtures/types\";\nimport { ITeamsById } from \"../core/store/teams/types\";\nimport Badge from \"./Badge\";\n\ninterface IProps {\n showBadge?: boolean;\n fixture: IFixture | IElementFixture;\n element: IElement;\n teamsById: ITeamsById;\n}\n\nconst FixtureForElement: React.FC = ({\n showBadge,\n fixture,\n element,\n teamsById,\n}) => {\n const isHome = element.team === fixture.team_h;\n const { t } = useTranslation();\n return isHome ? (\n <>\n {showBadge && (\n \n )}\n\n \n {t(\"fixtureForElement.oppHome\", \"vs.{{ shortName }}\", {\n shortName: teamsById[fixture.team_a].short_name,\n })}\n \n \n ) : (\n <>\n {showBadge && (\n \n )}\n \n {t(\"fixtureForElement.oppAway\", \"@{{ shortName }}\", {\n shortName: teamsById[fixture.team_h].short_name,\n })}\n \n \n );\n};\n\nexport default FixtureForElement;\n\ninterface IMultiProps {\n myTeam?: boolean;\n delimiter?: React.ReactNode;\n fixtures: IFixture[] | any;\n element: IElement;\n teamsById: ITeamsById;\n}\n\nexport const FixturesForElement: React.FC = ({\n myTeam,\n delimiter = \", \",\n fixtures,\n element,\n teamsById,\n}) => {\n const fragments = fixtures.map(\n (f: any) =>\n !myTeam && (\n \n )\n );\n return fragments && fragments.length\n ? fragments.reduce((result: any, item: any) => (\n <>\n {result}\n {delimiter}\n {item}\n \n ))\n : null;\n};\n","import * as React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { RootState } from \"../core/store\";\nimport { getElement } from \"../core/store/elements/reducers\";\n\nexport const StyledShirt = styled.img`\n width: ${(props) => (props.width ? props.width : \"100%\")};\n vertical-align: middle;\n`;\n\ninterface IStyledProps {\n width?: string;\n}\n\ninterface IProps {\n elementId: number;\n}\n\ntype Props = IProps & IStyledProps;\n\nconst Shirt: React.FC = ({ elementId, width }) => {\n const element = useSelector((state: RootState) =>\n getElement(state, elementId)\n );\n\n if (!element) {\n return null;\n }\n\n return (\n {\n currentTarget.onerror = null; // prevents looping\n currentTarget.src =\n \"//cdn.nba.com/headshots/nba/latest/520x380/logoman.png\";\n }}\n width={width}\n />\n );\n};\n\nexport default Shirt;\n","import styled from \"styled-components/macro\";\nimport { PrimaryGradient } from \"./Utils\";\n\ninterface IProps {\n align?: \"start\" | \"center\";\n}\n\nconst SubHeading = styled.h3`\n margin: 0 0 ${(props) => props.theme.space[3]};\n font-family: ${(props) => props.theme.fonts.body};\n font-size: 2rem;\n font-weight: bold;\n`;\n\nexport const BoldSubHeading = styled.h3`\n ${PrimaryGradient}\n margin: 0;\n padding: ${(props) => props.theme.space[1]};\n color: ${(props) => props.theme.colors.white};\n font-family: ${(props) => props.theme.fonts.body};\n font-size: ${(props) => props.theme.fontSizes[0]};\n text-align: ${(props) => props.align || \"start\"};\n`;\n\nexport default SubHeading;\n","import * as React from \"react\";\n\nexport interface ITabPanel {\n children: React.ReactNode;\n label: React.ReactNode;\n link: string;\n}\n\nconst TabPanel: React.FC = ({ children }) =>
{children}
;\n\nexport default TabPanel;\n","import * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\n\nconst Item = styled.li`\n flex: 1;\n`;\n\nconst Link = styled.a`\n display: block;\n padding: ${({ theme }) => theme.space[2]};\n background-color: transparent;\n color: inherit;\n text-align: center;\n text-decoration: none;\n\n ${(props) =>\n props.selected &&\n css`\n background-color: ${({ theme }) => theme.colors.yellow};\n `}\n`;\n\ninterface IStyleProps {\n selected: boolean;\n}\n\ninterface IProps {\n key: number;\n index: number;\n label: React.ReactNode;\n link: string;\n onClick: (index: number) => void;\n}\n\ntype Props = IStyleProps & IProps;\n\nclass Tab extends React.Component {\n public onClick = (e: React.SyntheticEvent) => {\n e.preventDefault();\n this.props.onClick(this.props.index);\n };\n\n public render() {\n const { label, link, selected } = this.props;\n return (\n \n \n {label}\n \n \n );\n }\n}\n\nexport default Tab;\n","import * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\nimport Tab from \"./Tab\";\nimport { ITabPanel } from \"./TabPanel\";\n\ninterface ITabListProps {\n centered?: boolean;\n}\n\nconst TabList = styled.ul`\n display: flex;\n align-items: center;\n margin: 0;\n padding: 0;\n background-color: #ddd;\n list-style-type: none;\n\n ${({ centered }) =>\n centered === true &&\n css`\n width: 70%;\n margin: 0 auto;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 35%;\n }\n `}\n`;\n\ninterface IProps {\n children: Array>;\n locationHash: string;\n selected: number;\n centered?: boolean;\n}\n\ninterface IState {\n selected: number;\n}\n\nclass Tabs extends React.Component {\n public static defaultProps = {\n locationHash: \"\",\n selected: 0,\n };\n\n public state: IState = {\n selected: this.getSelectedFromLocationHash(),\n };\n\n public getSelectedFromLocationHash() {\n // Default to prop, can override with location hash\n let selected = this.props.selected;\n if (this.props.locationHash) {\n React.Children.forEach(this.props.children, (child, index) => {\n const panel = child as React.ReactElement;\n if (`#${panel.props.link}` === this.props.locationHash) {\n selected = index;\n }\n });\n }\n return selected;\n }\n\n public handleClick = (index: number) => {\n this.setState({ selected: index });\n };\n\n public render() {\n const { centered = false } = this.props;\n return (\n <>\n \n {React.Children.map(this.props.children, (child, index) => {\n const panel = child as React.ReactElement;\n return (\n \n );\n })}\n \n {this.props.children[this.state.selected]}\n \n );\n }\n}\n\nexport default Tabs;\n","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgArrowDoubleLeft(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 9,\n height: 8,\n viewBox: \"0 0 9 8\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fillRule: \"evenodd\",\n transform: \"matrix(-1 0 0 1 8.705 .644)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(4)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 4.746,\n height: 1,\n x: -0.341,\n y: 4.178,\n transform: \"rotate(135 2.031 4.678)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n width: 4.746,\n height: 1,\n x: -0.341,\n y: 1.531,\n transform: \"rotate(-135 2.031 2.031)\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: 4.746,\n height: 1,\n x: -0.341,\n y: 4.178,\n transform: \"rotate(135 2.031 4.678)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n width: 4.746,\n height: 1,\n x: -0.341,\n y: 1.531,\n transform: \"rotate(-135 2.031 2.031)\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowDoubleLeft);\nexport default __webpack_public_path__ + \"static/media/arrow-double-left.d026cdc2.svg\";\nexport { ForwardRef as ReactComponent };","import Tippy from \"@tippyjs/react\";\nimport * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\n\nconst StyledTooltip = styled(Tippy)`\n padding: ${({ theme }) => theme.space[1]} ${({ theme }) => theme.space[2]};\n background-color: white;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);\n\n .tippy-backdrop {\n background-color: white;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);\n }\n .tippy-content {\n color: black;\n font-size: 1.4rem;\n }\n\n /* Styling the arrow for different placements */\n &[x-placement^=\"top\"] {\n .tippy-arrow {\n border-top-color: white;\n }\n }\n\n &[x-placement^=\"bottom\"] {\n .tippy-arrow {\n border-bottom-color: white;\n }\n }\n`;\n\nexport const TooltipLabel = styled.span`\n text-decoration: underline dotted;\n ${(props) =>\n props.$textDecoration === false &&\n css`\n text-decoration: none;\n `}\n`;\n\nexport interface ITooltipLabelProps {\n $textDecoration?: boolean;\n}\n\ninterface IProps {\n content: string;\n children: React.ReactElement;\n}\n\nconst Tooltip: React.FC = ({ children, content }) => {\n // We wrap in a span to stop issues with google translate\n return (\n {content}}\n arrow={true}\n placement=\"top\"\n >\n {children}\n \n );\n};\n\nexport default Tooltip;\n","import { size } from \"polished\";\nimport * as React from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../core/store\";\nimport { getElementStats } from \"../core/store/element-stats/reducers\";\nimport { IElementStat } from \"../core/store/element-stats/types\";\nimport { getElementTypesById } from \"../core/store/element-types/reducers\";\nimport { IElementTypesById } from \"../core/store/element-types/types\";\nimport { elementDialogHide } from \"../core/store/elements/actions\";\nimport {\n getElement,\n getElementDialog,\n getFixturesWithBlanks,\n getHistory,\n getHistoryTotals,\n getSeasonHistory,\n} from \"../core/store/elements/reducers\";\nimport {\n IElement,\n IElementFixture,\n IElementFixtureBlank,\n IElementHistory,\n IElementSeasonHistory,\n} from \"../core/store/elements/types\";\nimport {\n getCurrentEvent,\n getEvents,\n getEventsById,\n getNextEvent,\n} from \"../core/store/events/reducers\";\nimport { IEvent, IEventsById } from \"../core/store/events/types\";\nimport { getPlayerData, getWatched } from \"../core/store/player/reducers\";\nimport {\n addToWatchlist,\n removeFromWatchlist,\n} from \"../core/store/player/thunks\";\nimport { IPlayer } from \"../core/store/player/types\";\nimport { proposeElement } from \"../core/store/squad/thunks\";\nimport { getTeamsById } from \"../core/store/teams/reducers\";\nimport { ITeamsById } from \"../core/store/teams/types\";\nimport { formatRawAsLocalI18n } from \"../core/utils/datetime\";\nimport { integerToMoney } from \"../core/utils/money\";\nimport { dateLocales } from \"../i18n\";\nimport { ReactComponent as BaseHeadlineLogo } from \"../img/headline-logo.svg\";\nimport { integerToDecimal } from \"../utils/decimal\";\nimport { getPrefixedEventShortName } from \"../utils/events\";\nimport Alert from \"./Alert\";\nimport Badge from \"./Badge\";\nimport Button from \"./Button\";\nimport CurrentGameweekSchedule from \"./CurrentGameweekSchedule\";\nimport Dialog, { CloseButton, CloseIcon } from \"./Dialog\";\nimport FixtureForElement from \"./FixtureForElement\";\nimport \"./OverflowScrolling.css\";\nimport Shirt from \"./Shirt\";\nimport SubHeading from \"./SubHeading\";\nimport Table from \"./Table\";\nimport TabPanel from \"./tabs/TabPanel\";\nimport Tabs from \"./tabs/Tabs\";\nimport Tooltip, { TooltipLabel } from \"./Tooltip\";\nimport { VisuallyHidden } from \"./Utils\";\n\nconst ElementHeader = styled.div`\n display: flex;\n align-items: center;\n margin: ${(props) => props.theme.space[2]} 0;\n padding: 0 ${(props) => props.theme.space[2]};\n`;\n\nconst ElementLogo = styled.div`\n flex: 1;\n`;\n\nconst StyledHeadlineLogo = styled(BaseHeadlineLogo)`\n ${size(42, 70)}\n`;\n\nconst Summary = styled.div<{ elementTypeId: number }>`\n margin-bottom: ${(props) => props.theme.space[2]};\n padding: 0.7rem 0;\n`;\n\nconst SummaryInner = styled.div<{ teamCode: number }>`\n position: relative;\n display: flex;\n justify-content: space-around;\n background-color: ${(props) => props.theme.colors.teams[props.teamCode].dark};\n border-radius: ${(props) => props.theme.radii[0]};\n color: ${(props) => props.theme.colors.white};\n font-size: ${(props) => props.theme.fontSizes[3]};\n overflow: hidden;\n\n ::after {\n ${size(250)}\n content: \"\";\n position: absolute;\n left: 0;\n top: 0;\n background-image: ${(props) =>\n props.teamCode\n ? `url(//cdn.nba.com/logos/nba/${props.teamCode}/global/D/logo.svg)`\n : \"none\"};\n background-repeat: no-repeat;\n background-size: contain;\n background-position: -90px -55px;\n opacity: 0.25;\n\n @media (min-width: ${(props) => props.theme.breakpoints[4]}) {\n ${size(310)}\n background-position: -105px -70px;\n }\n }\n`;\nconst SummaryItem = styled.div`\n position: relative;\n z-index: 100;\n flex: 0 0 calc(50% - (${(props) => props.theme.space[3]} * 2));\n align-self: center;\n`;\n\nconst Headshot = styled.div`\n padding-top: ${(props) => props.theme.space[1]};\n width: 148px;\n\n @media (min-width: ${(props) => props.theme.breakpoints[4]}) {\n width: 190px;\n }\n`;\n\nconst SummaryInfo = styled.div`\n padding: ${(props) => props.theme.space[1]} 0;\n\n @media (min-width: ${(props) => props.theme.breakpoints[4]}) {\n padding-top: ${(props) => props.theme.space[2]};\n padding-bottom: ${(props) => props.theme.space[2]};\n }\n`;\n\nconst SummaryName = styled.h2`\n margin: 0 0 ${(props) => props.theme.space[2]};\n font-size: 2rem;\n font-weight: 500;\n\n @media (min-width: ${(props) => props.theme.breakpoints[4]}) {\n margin-bottom: ${(props) => props.theme.space[4]};\n }\n`;\n\nconst SummaryType = styled.div`\n font-weight: 300;\n font-style: italic;\n`;\n\nconst StatList = styled.ul`\n display: flex;\n gap: ${({ theme }) => theme.space[1]};\n margin: 0 0 ${({ theme }) => theme.space[2]};\n padding: 0;\n list-style-type: none;\n`;\n\nconst StatItem = styled.li`\n flex: 1;\n padding: ${({ theme }) => theme.space[1]};\n text-align: center;\n border: 0.25rem solid ${(props) => props.theme.colors.pink};\n border-radius: ${(props) => props.theme.radii[2]};\n`;\n\nconst StatHeading = styled.h3`\n margin: 0 0 ${({ theme }) => theme.space[1]};\n font-size: ${(props) => props.theme.fontSizes[0]};\n font-weight: 400;\n`;\n\nconst StatValue = styled.div`\n font-size: ${(props) => props.theme.fontSizes[1]};\n font-weight: 500;\n`;\n\nconst ScrollTable = styled.div`\n overflow-x: auto;\n width: 100%;\n /* We're adding this in OverflowScrolling.css\n\t * because the property gets removed from the\n\t * styled component on test */\n /* -webkit-overflow-scrolling: touch; */\n`;\n\nconst StyledCell = styled.td`\n &&& {\n padding: ${({ theme }) => theme.space[2]};\n }\n font-size: ${(props) => props.theme.fontSizes[0]};\n @media (min-width: ${(props) => props.theme.breakpoints[1]}) {\n font-size: ${(props) => props.theme.fontSizes[1]};\n }\n`;\n\nconst HistoryTable = styled(Table)`\n white-space: nowrap;\n > tbody > tr > td:nth-child(3) {\n font-weight: 500;\n }\n > tbody > tr > td:first-child {\n font-weight: 500;\n }\n > tbody > tr:last-child > td:nth-child(2) {\n font-weight: 500;\n }\n > tbody > tr:last-child > td:nth-child(3) {\n font-weight: 400;\n }\n`;\n\ninterface IElementFixtureFPL extends IElementFixture {\n difficulty: number;\n}\n\ninterface IOwnProps {\n element: IElement;\n}\n\ninterface IPropsFromDispatch {\n addToWatched: (elementCode: number) => void;\n closeDialog: () => void;\n proposeElement: (elementId: number) => boolean;\n removeFromWatched: (elementCode: number) => void;\n}\n\ninterface IPropsFromState {\n currentEvent: IEvent | null;\n elementTypesById: IElementTypesById;\n events: IEvent[];\n eventsById: IEventsById;\n fixtures: Array;\n nextEvent: IEvent | null;\n now: IEvent | null;\n player: IPlayer | null;\n seasonHistory: IElementSeasonHistory[];\n stats: ReadonlyArray;\n teamsById: ITeamsById;\n watched: number[];\n history: IElementHistory[];\n historyTotals: Record;\n}\n\ntype Props = IOwnProps & IPropsFromDispatch & IPropsFromState & WithTranslation;\n\nclass ElementDialog extends React.Component {\n public added = false;\n public componentWillUnmount() {\n this.props.closeDialog();\n }\n\n public addElement = (elementId: number) => {\n this.props.proposeElement(elementId);\n this.props.closeDialog();\n };\n\n public renderWatchlistButton() {\n const { addToWatched, element, player, removeFromWatched, t, watched } =\n this.props;\n if (!player || !player.entry) {\n return null;\n }\n const inWatched = watched.indexOf(element.code) > -1;\n if (inWatched) {\n return this.added ? (\n

\n {t(\n \"elementDialog.watchlist.view\",\n \"View your watchlist on the transactions page\"\n )}\n

\n ) : (\n {\n removeFromWatched(element.code);\n }}\n fullwidth=\"true\"\n >\n {t(\"elementDialog.watchlist.remove\", \"Remove from Watchlist\")}\n \n );\n }\n return (\n {\n this.added = true;\n addToWatched(element.code);\n }}\n fullwidth=\"true\"\n >\n {t(\"elementDialog.watchlist.add\", \"Add to Watchlist\")}\n \n );\n }\n\n public render() {\n const {\n closeDialog,\n currentEvent,\n element,\n elementTypesById,\n events,\n eventsById,\n fixtures,\n history,\n historyTotals,\n i18n,\n nextEvent,\n now,\n seasonHistory,\n stats,\n t,\n teamsById: teams,\n } = this.props;\n\n const getEventId = () => {\n if (currentEvent) {\n return currentEvent.id;\n }\n if (nextEvent) {\n return nextEvent.id;\n }\n return null;\n };\n\n const eventId = getEventId();\n const event = eventId ? eventsById[eventId] : null;\n // Element info\n const elementType = elementTypesById[element.element_type];\n const team = teams[element.team];\n const hasSeasonHistory = seasonHistory && seasonHistory.length > 0;\n\n // Get first 10 scheduled fixtures\n let count = 0;\n let filteredFixtures = [];\n for (const fixture of fixtures) {\n filteredFixtures.push(fixture);\n if (fixture.code) {\n count++;\n }\n if (count >= 10) {\n break;\n }\n }\n\n return (\n \n \n \n \n \n \n {t(\"elementDialog.close\", \"Close\")}\n \n \n \n \n {element.news && (\n \n {element.news}\n \n )}\n \n \n \n \n \n \n \n \n \n \n
{element.first_name}
\n
{element.second_name}
\n
\n {elementType.singular_name}\n
{team.name}
\n
\n
\n
\n
\n \n \n \n {event && (\n \n \n {getPrefixedEventShortName(event.name)}\n \n \n )}\n \n \n {integerToDecimal(element.event_points, 10)}pts\n \n \n \n \n {t(\"elementDialog.tabs.summary.total\", \"Total\")}\n \n \n {integerToDecimal(element.total_points, 10)}pts\n \n \n \n \n {t(\"elementDialog.tabs.summary.pricen\", \"Salary\")}\n \n ${integerToMoney(element.now_cost, 10)}\n \n \n \n {t(\"elementDialog.tabs.summary.selectedBy\", \"Selected\")}\n \n {element.selected_by_percent}%\n \n \n\n \n \n \n\n \n \n {hasSeasonHistory && (\n \n \n {t(\"elementDialog.tabs.history.subHeading\", \"This Season\")}\n \n \n )}\n \n {history.length ? (\n \n \n \n \n \n {t(\"elementDialog.tabs.history.roundShort\", \"GD\")}\n \n \n {t(\n \"elementDialog.tabs.history.opponentShort\",\n \"OPP\"\n )}\n \n \n {t(\"elementDialog.tabs.history.pointsShort\", \"PTS\")}\n \n {stats.map((s) => (\n \n \n {s.label\n .split(\" \")\n .map((w) => w[0])\n .join(\"\")\n .toUpperCase()}\n \n \n ))}\n \n {t(\n \"elementDialog.tabs.history.netTransfersShort\",\n \"NT\"\n )}\n \n \n {t(\n \"elementDialog.tabs.history.selectedByShort\",\n \"SB\"\n )}\n \n $\n \n \n \n {[...history].reverse().map((h) => (\n \n \n {eventsById[h.round] && (\n \n \n {getPrefixedEventShortName(\n eventsById[h.round].name\n )}\n \n \n )}\n \n \n \n {h.was_home\n ? t(\n \"elementDialog.tabs.history.oppHome\",\n \"vs.{{ shortName }}\",\n {\n shortName:\n teams[h.opponent_team].short_name,\n }\n )\n : t(\n \"elementDialog.tabs.history.oppAway\",\n \"@{{ shortName }}\",\n {\n shortName:\n teams[h.opponent_team].short_name,\n }\n )}{\" \"}\n {h.team_h_score !== null &&\n `${h.team_h_score} - ${h.team_a_score}`}\n \n \n {integerToDecimal(h.total_points, 10)}\n \n {stats.map((s) => (\n {h[s.name]}\n ))}\n {h.transfers_balance}\n {h.selected}\n \n ${integerToMoney(h.value, 10)}\n \n \n ))}\n \n \n {t(\"elementDialog.tabs.history.totals\", \"Totals\")}\n \n \n {integerToDecimal(\n historyTotals.total_points as number,\n 10\n )}\n \n {stats.map((s) => (\n \n {historyTotals[s.name]}\n \n ))}\n  \n  \n  \n \n \n \n \n ) : (\n \n

\n {t(\n \"elementDialog.tabs.history.noData\",\n \"Data will appear here once the season is underway.\"\n )}\n

\n
\n )}\n
\n\n {hasSeasonHistory && (\n <>\n \n \n {t(\n \"elementDialog.tabs.history.previousSeasons\",\n \"Previous Seasons\"\n )}\n \n \n \n \n \n \n \n \n {t(\"elementDialog.tabs.history.season\", \"Season\")}\n \n \n \n TP\n \n \n {stats.map((s) => (\n \n \n \n {s.label\n .split(\" \")\n .map((w) => w[0])\n .join(\"\")\n .toUpperCase()}\n \n \n \n ))}\n \n \n krS\n \n \n \n \n krE\n \n \n \n \n \n {seasonHistory.map((h) => (\n \n {h.season_name}\n \n {integerToDecimal(h.total_points, 10)}\n \n {stats.map((s) => (\n \n {h[s.name]}\n \n ))}\n \n {integerToMoney(h.start_cost, 10)}\n \n \n {integerToMoney(h.end_cost, 10)}\n \n \n ))}\n \n \n \n \n \n )}\n \n\n \n \n \n \n \n \n \n \n \n \n \n {filteredFixtures.map((fixture) =>\n fixture.code ? (\n \n \n {fixture.kickoff_time ? (\n \n ) : (\n \n \n \n {t(\n \"elementDialog.tabs.schedule.tbcShort\",\n \"TBC\"\n )}\n \n \n \n )}\n \n {fixture.event_name}\n \n \n \n \n ) : (\n \n  \n \n {events.map((event) => {\n if (event.id === fixture.event) {\n return event.name;\n } else {\n return null;\n }\n })}\n \n {\"-\"}\n \n )\n )}\n \n
\n {t(\"elementDialog.tabs.schedule.date\", \"Game date\")}\n \n {t(\"elementDialog.tabs.schedule.roundShort\", \"GD\")}\n \n {t(\"elementDialog.tabs.schedule.opponent\", \"Opponent\")}\n
\n
\n \n
\n \n {this.renderWatchlistButton()}\n \n
\n
\n );\n }\n}\n\nexport { ElementDialog as ElementDialogTest };\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: IOwnProps\n): IPropsFromState => ({\n currentEvent: getCurrentEvent(state),\n elementTypesById: getElementTypesById(state),\n events: getEvents(state),\n eventsById: getEventsById(state),\n fixtures: getFixturesWithBlanks(state, ownProps.element.id) as Array<\n IElementFixtureFPL | IElementFixtureBlank\n >,\n history: getHistory(state, ownProps.element.id),\n historyTotals: getHistoryTotals(state, ownProps.element.id),\n nextEvent: getNextEvent(state),\n now: getCurrentEvent(state),\n player: getPlayerData(state),\n seasonHistory: getSeasonHistory(state, ownProps.element.id).slice().reverse(),\n stats: getElementStats(state),\n teamsById: getTeamsById(state),\n watched: getWatched(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n addToWatched: (elementCode) => dispatch(addToWatchlist(elementCode)),\n closeDialog: () => dispatch(elementDialogHide()),\n proposeElement: (elementId) => dispatch(proposeElement(elementId)),\n removeFromWatched: (elementCode) =>\n dispatch(removeFromWatchlist(elementCode)),\n});\n\nconst ConnectedDialog = withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(ElementDialog)\n);\n\n/* tslint:disable:max-classes-per-file */\ninterface IContainerProps {\n element: IElement | undefined;\n}\n\nclass ElementDialogContainer extends React.Component {\n public render() {\n const element = this.props.element;\n return element ? : null;\n }\n}\n\nexport default connect((state: RootState): IContainerProps => {\n const elementId = getElementDialog(state);\n return {\n element: getElement(state, elementId),\n };\n})(ElementDialogContainer);\n","import { ThunkResult } from \"..\";\nimport { apiDelete, apiGet, apiPost, apiPut } from \"../../utils/api\";\nimport { bootstrap } from \"../bootstrap/thunks\";\nimport * as actions from \"./actions\";\nimport {\n ILoginData,\n IPasswordChangeData,\n IPasswordResetData,\n IPasswordSetData,\n} from \"./types\";\n\nexport const login =\n (postData: ILoginData): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiPost(\"player/login/\", postData, dispatch, actions.login);\n } catch (e) {\n return;\n }\n dispatch(bootstrap());\n };\n\nexport const logout = (): ThunkResult> => (dispatch) =>\n apiGet(\"player/logout/\", dispatch, actions.logout);\n\nexport const register =\n (postData: {}): ThunkResult> =>\n (dispatch) =>\n apiPost(\"player/create/\", postData, dispatch, actions.register);\n\nexport const playerUpdate =\n (postData: {}): ThunkResult> =>\n (dispatch) =>\n apiPut(\"player/update/\", postData, dispatch, actions.playerUpdate);\n\nexport const passwordChange =\n (postData: IPasswordChangeData): ThunkResult> =>\n (dispatch) =>\n apiPut(\n \"player/password-change/\",\n postData,\n dispatch,\n actions.passwordChange\n );\n\nexport const passwordReset =\n (postData: IPasswordResetData): ThunkResult> =>\n (dispatch) =>\n apiPost(\n \"player/password-reset/\",\n postData,\n dispatch,\n actions.passwordReset\n );\n\nexport const passwordSet =\n (postData: IPasswordSetData): ThunkResult> =>\n (dispatch) =>\n apiPut(\"player/password-set/\", postData, dispatch, actions.passwordSet);\n\nexport const addToWatchlist =\n (elementCode: number): ThunkResult> =>\n async (dispatch) => {\n dispatch(actions.addToWatched(elementCode));\n return apiPost(\n `watchlist/${elementCode}/`,\n {},\n dispatch,\n actions.addToWatchlist\n );\n };\n\nexport const removeFromWatchlist =\n (elementCode: number): ThunkResult> =>\n async (dispatch) => {\n dispatch(actions.removeFromWatched(elementCode));\n return apiDelete(\n `watchlist/${elementCode}/`,\n {},\n dispatch,\n actions.removeFromWatchlist\n );\n };\n\nexport const accountRecovery =\n (postData: ILoginData): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiPost(\"player/recovery/\", postData, dispatch, actions.recover);\n } catch (e) {\n return;\n }\n dispatch(bootstrap());\n };\n","import { ThunkResult } from \"..\";\nimport { apiGet } from \"../../utils/api\";\nimport * as actions from \"./actions\";\nimport { IFixture, IFixtureAllStats } from \"./types\";\n\nexport const fetchFixtures =\n (eventId: number): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiGet(\n `fixtures/?event=${eventId}`,\n dispatch,\n actions.addFixturesForEvent,\n { event: eventId }\n );\n } catch (e) {\n return;\n }\n };\n\nexport const fetchFixturesFuture =\n (): ThunkResult> => async (dispatch) => {\n try {\n await apiGet(\n `fixtures/?future=1`,\n dispatch,\n actions.addFixtures\n );\n } catch (e) {\n return;\n }\n };\n\nexport const fetchFixtureAllStats =\n (fixtureId: number): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiGet(\n `fixture/${fixtureId}/stats/`,\n dispatch,\n actions.addAllStatsForFixture,\n { fixture: fixtureId }\n );\n } catch (e) {\n return;\n }\n };\n\nexport const fetchFixturesPhase =\n (phaseId: number): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiGet(\n `fixtures/?phase=${phaseId}`,\n dispatch,\n actions.addFixtures\n );\n } catch (e) {\n return;\n }\n };\n","import { createAsyncAction, deprecated } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport { ILeagueEntry } from \"../entries/types\";\nimport {\n IClassicStandingsAPIData,\n IEntryInLeague,\n IH2HMatchesData,\n IH2HStandingsAPIData,\n ILeague,\n ILeagueAdmin,\n ILeagueCode,\n ILeagueCupStatus,\n IRenewableLeague,\n} from \"./types\";\n\nconst createAction = deprecated.createAction;\n\n// Action Creators\nexport const createClassicLeague = createAsyncAction(\n \"CREATE_CLASSIC_LEAGUE_START\",\n \"CREATE_CLASSIC_LEAGUE_SUCCESS\",\n \"CREATE_CLASSIC_LEAGUE_FAILURE\"\n)();\n\nexport const createH2HLeague = createAsyncAction(\n \"CREATE_H2H_LEAGUE_START\",\n \"CREATE_H2H_LEAGUE_SUCCESS\",\n \"CREATE_H2H_LEAGUE_FAILURE\"\n)();\n\nexport const joinPrivateLeague = createAsyncAction(\n \"JOIN_PRIVATE_LEAGUE_START\",\n \"JOIN_PRIVATE_LEAGUE_SUCCESS\",\n \"JOIN_PRIVATE_LEAGUE_FAILURE\"\n)();\n\nexport const joinPublicLeague = createAsyncAction(\n \"JOIN_PUBLIC_LEAGUE_START\",\n \"JOIN_PUBLIC_LEAGUE_SUCCESS\",\n \"JOIN_PUBLIC_LEAGUE_FAILURE\"\n)();\n\nexport const fetchClassicLeagueStandings = createAsyncAction(\n \"FETCH_CLASSIC_LEAGUE_STANDINGS_START\",\n \"FETCH_CLASSIC_LEAGUE_STANDINGS_SUCCESS\",\n \"FETCH_CLASSIC_LEAGUE_STANDINGS_FAILURE\"\n)();\n\nexport const fetchH2HLeagueStandings = createAsyncAction(\n \"FETCH_H2H_LEAGUE_STANDINGS_START\",\n \"FETCH_H2H_LEAGUE_STANDINGS_SUCCESS\",\n \"FETCH_H2H_LEAGUE_STANDINGS_FAILURE\"\n)();\n\nexport const fetchH2HLeagueMatches = createAsyncAction(\n \"FETCH_H2H_LEAGUE_MATCHES_START\",\n \"FETCH_H2H_LEAGUE_MATCHES_SUCCESS\",\n \"FETCH_H2H_LEAGUE_MATCHES_FAILURE\"\n)<\n void,\n { entryId: number; eventId: number; leagueId: number; data: IH2HMatchesData },\n IError\n>();\n\nexport const fetchClassicLeagueForAdmin = createAsyncAction(\n \"FETCH_CLASSIC_LEAGUE_FOR_ADMIN_START\",\n \"FETCH_CLASSIC_LEAGUE_FOR_ADMIN_SUCCESS\",\n \"FETCH_CLASSIC_LEAGUE_FOR_ADMIN_FAILURE\"\n)();\n\nexport const fetchH2HLeagueForAdmin = createAsyncAction(\n \"FETCH_H2H_LEAGUE_FOR_ADMIN_START\",\n \"FETCH_H2H_LEAGUE_FOR_ADMIN_SUCCESS\",\n \"FETCH_H2H_LEAGUE_FOR_ADMIN_FAILURE\"\n)();\n\nexport const updateClassicLeague = createAsyncAction(\n \"UPDATE_CLASSIC_LEAGUE_START\",\n \"UPDATE_CLASSIC_LEAGUE_SUCCESS\",\n \"UPDATE_CLASSIC_LEAGUE_FAILURE\"\n)();\n\nexport const updateH2HLeague = createAsyncAction(\n \"UPDATE_H2H_LEAGUE_START\",\n \"UPDATE_H2H_LEAGUE_SUCCESS\",\n \"UPDATE_H2H_LEAGUE_FAILURE\"\n)();\n\nexport const deleteLeague = createAsyncAction(\n \"DELETE_LEAGUE_START\",\n \"DELETE_LEAGUE_SUCCESS\",\n \"DELETE_LEAGUE_FAILURE\"\n)();\n\nexport const banLeagueEntry = createAsyncAction(\n \"BAN_LEAGUE_ENTRY_START\",\n \"BAN_LEAGUE_ENTRY_SUCCESS\",\n \"BAN_LEAGUE_ENTRY_FAILURE\"\n)();\n\nexport const unbanLeagueEntry = createAsyncAction(\n \"UNBAN_LEAGUE_ENTRY_START\",\n \"UNBAN_LEAGUE_ENTRY_SUCCESS\",\n \"UNBAN_LEAGUE_ENTRY_FAILURE\"\n)();\n\nexport const fetchLeagueCode = createAsyncAction(\n \"FETCH_LEAGUE_CODE_START\",\n \"FETCH_LEAGUE_CODE_SUCCESS\",\n \"FETCH_LEAGUE_CODE_FAILURE\"\n)();\n\nexport const regenerateLeagueCode = createAsyncAction(\n \"REGENERATE_LEAGUE_CODE_START\",\n \"REGENERATE_LEAGUE_CODE_SUCCESS\",\n \"REGENERATE_LEAGUE_CODE_FAILURE\"\n)();\n\nexport const leaveLeague = createAsyncAction(\n \"LEAVE_LEAGUE_START\",\n \"LEAVE_LEAGUE_SUCCESS\",\n \"LEAVE_LEAGUE_FAILURE\"\n)();\n\nexport const fetchRenewableLeagues = createAsyncAction(\n \"FETCH_RENEWABLE_LEAGUES_START\",\n \"FETCH_RENEWABLE_LEAGUES_SUCCESS\",\n \"FETCH_RENEWABLE_LEAGUES_FAILURE\"\n)();\n\nexport const renewRenewableLeague = createAsyncAction(\n \"RENEW_RENEWABLE_LEAGUE_START\",\n \"RENEW_RENEWABLE_LEAGUE_SUCCESS\",\n \"RENEW_RENEWABLE_LEAGUE_FAILURE\"\n)();\n\nexport const deleteRenewableLeague = createAsyncAction(\n \"DELETE_RENEWABLE_LEAGUE_START\",\n \"DELETE_RENEWABLE_LEAGUE_SUCCESS\",\n \"DELETE_RENEWABLE_LEAGUE_FAILURE\"\n)();\n\nexport const checkLeagueCode = createAsyncAction(\n \"CHECK_LEAGUE_CODE_START\",\n \"CHECK_LEAGUE_CODE_SUCCESS\",\n \"CHECK_LEAGUE_CODE_FAILURE\"\n)();\n\nexport const setAutoJoinCode = createAction(\n \"SET_AUTO_JOIN_CODE\",\n (resolve) => (code: string) => resolve(code)\n);\n\nexport const clearAutoJoinCode = createAction(\n \"CLEAR_AUTO_JOIN_CODE\",\n (resolve) => () => resolve()\n);\n\nexport const fetchLeagueEntries = createAsyncAction(\n \"FETCH_LEAGUE_ENTRIES_START\",\n \"FETCH_LEAGUE_ENTRIES_SUCCESS\",\n \"FETCH_LEAGUE_ENTRIES_FAILURE\"\n)();\n\nexport const fetchLeagueCupStatus = createAsyncAction(\n \"FETCH_LEAGUE_CUP_STATUS_START\",\n \"FETCH_LEAGUE_CUP_STATUS_SUCCESS\",\n \"FETCH_LEAGUE_CUP_STATUS_FAILURE\"\n)();\n","import { combineReducers } from \"redux\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport {\n getElementsById,\n getElementsEventDataById,\n getFormation,\n} from \"../elements/reducers\";\nimport { getSettings } from \"../game/reducers\";\nimport {\n deleteLeague,\n joinPrivateLeague,\n leaveLeague,\n} from \"../leagues/actions\";\nimport { getTeamsById } from \"../teams/reducers\";\nimport * as actions from \"./actions\";\nimport { IState } from \"./types\";\n\n// State Reducer\nexport default combineReducers({\n byId: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchEntrySummary.success):\n return {\n ...state,\n [action.payload.id]: action.payload.data,\n };\n case getType(joinPrivateLeague.success): {\n const newLeague = action.payload.data;\n const leaguesKey = newLeague.scoring === \"c\" ? \"classic\" : \"h2h\";\n const entry = state[action.payload.entry];\n\n if (entry) {\n const isAlreadyInLeague = entry.leagues[leaguesKey].some(\n (league) => league.id === newLeague.id\n );\n\n if (!isAlreadyInLeague) {\n const updatedEntry = {\n ...entry,\n leagues: {\n ...entry.leagues,\n [leaguesKey]: entry.leagues[leaguesKey].concat([newLeague]),\n },\n };\n\n return {\n ...state,\n [action.payload.entry]: updatedEntry,\n };\n }\n }\n return state;\n }\n case getType(deleteLeague.success):\n case getType(leaveLeague.success): {\n const newState = { ...state };\n const entry = newState[action.payload.entry];\n if (entry) {\n entry.leagues.classic = entry.leagues.classic.filter(\n (le) => le.id !== action.payload.league\n );\n entry.leagues.h2h = entry.leagues.h2h.filter(\n (le) => le.id !== action.payload.league\n );\n }\n return newState;\n }\n default:\n return state;\n }\n },\n eventHistoryById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchEntryHistory.success):\n return {\n ...state,\n [action.payload.id]: action.payload.data.current,\n };\n default:\n return state;\n }\n },\n seasonHistoryById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchEntryHistory.success):\n return {\n ...state,\n [action.payload.id]: action.payload.data.past,\n };\n default:\n return state;\n }\n },\n chipHistoryById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchEntryHistory.success):\n return {\n ...state,\n [action.payload.id]: action.payload.data.chips,\n };\n default:\n return state;\n }\n },\n eventPicksById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchEntryEventPicks.success):\n return {\n ...state,\n [action.payload.entry]: {\n ...state[action.payload.entry],\n [action.payload.event]: action.payload.data,\n },\n };\n default:\n return state;\n }\n },\n transfersById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchEntryTransfers.success):\n return {\n ...state,\n [action.payload.id]: action.payload.data,\n };\n default:\n return state;\n }\n },\n phaseStandingsById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchEntryPhaseStandings.success):\n return {\n ...state,\n [action.payload.entry]: {\n ...state[action.payload.entry],\n [action.payload.phase]: action.payload.data,\n },\n };\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getEntry = (state: RootState, entryId: number) =>\n state.entries.byId[entryId] || null;\n\nexport const getEntryEventHistory = (state: RootState, entryId: number) =>\n state.entries.eventHistoryById[entryId] || [];\n\nexport const getEntrySeasonHistory = (state: RootState, entryId: number) =>\n state.entries.seasonHistoryById[entryId] || [];\n\nexport const getEntryChipHistory = (state: RootState, entryId: number) =>\n state.entries.chipHistoryById[entryId] || [];\n\nexport const getEntryEventPicks = (\n state: RootState,\n entryId: number,\n eventId: number\n) => {\n if (\n !state.entries.eventPicksById[entryId] ||\n !state.entries.eventPicksById[entryId][eventId]\n ) {\n return null;\n }\n return state.entries.eventPicksById[entryId][eventId];\n};\n\nexport const getEntryEventPoints = (\n state: RootState,\n entryId: number,\n eventId: number\n) => {\n const data = getEntryEventPicks(state, entryId, eventId);\n const elementsEventDataById = getElementsEventDataById(state, eventId);\n if (!data || !elementsEventDataById) {\n return 0;\n }\n return data.picks.reduce(\n (total, p) =>\n total +\n elementsEventDataById[p.element].stats.total_points * p.multiplier,\n 0\n );\n};\n\nexport const getEntryEventFormation = (\n state: RootState,\n entryId: number,\n eventId: number\n) => {\n const data = getEntryEventPicks(state, entryId, eventId);\n const elementsById = getElementsById(state);\n const settings = getSettings(state);\n if (!data || !elementsById || !settings) {\n return \"\";\n }\n return getFormation(\n data.picks\n .slice(0, settings.squad_squadplay)\n .map((p) => elementsById[p.element])\n );\n};\n\nexport const getPrivateClassicLeaguesForEntry = (\n state: RootState,\n entryId: number\n) => {\n const entry = getEntry(state, entryId);\n return entry\n ? entry.leagues.classic.filter((l) => l.league_type === \"x\")\n : [];\n};\n\nexport const getPrivateClassicCupLeaguesForEntry = (\n state: RootState,\n entryId: number\n) => {\n const entry = getEntry(state, entryId);\n return entry\n ? entry.leagues.classic.filter(\n (l) => l.league_type === \"x\" && l.has_cup === true\n )\n : [];\n};\n\nexport const getPrivateH2HLeaguesForEntry = (\n state: RootState,\n entryId: number\n) => {\n const entry = getEntry(state, entryId);\n return entry ? entry.leagues.h2h.filter((l) => l.league_type === \"x\") : [];\n};\n\nexport const getPublicClassicLeaguesForEntry = (\n state: RootState,\n entryId: number\n) => {\n const entry = getEntry(state, entryId);\n return entry\n ? entry.leagues.classic.filter((l) => l.league_type === \"c\")\n : [];\n};\n\nexport const getPublicClassicCupLeaguesForEntry = (\n state: RootState,\n entryId: number\n) => {\n const entry = getEntry(state, entryId);\n return entry\n ? entry.leagues.classic.filter(\n (l) => l.league_type === \"c\" && l.has_cup === true\n )\n : [];\n};\n\nexport const getPublicH2HLeaguesForEntry = (\n state: RootState,\n entryId: number\n) => {\n const entry = getEntry(state, entryId);\n return entry ? entry.leagues.h2h.filter((l) => l.league_type === \"c\") : [];\n};\n\nexport const getSystemClassicLeaguesForEntry = (\n state: RootState,\n entryId: number\n) => {\n const entry = getEntry(state, entryId);\n return entry\n ? entry.leagues.classic.filter((l) => l.league_type === \"s\")\n : [];\n};\n\nexport const getSystemClassicCupLeaguesForEntry = (\n state: RootState,\n entryId: number\n) => {\n const entry = getEntry(state, entryId);\n return entry\n ? entry.leagues.classic.filter(\n (l) => l.league_type === \"s\" && l.has_cup === true\n )\n : [];\n};\n\nexport const getLeagueForEntry = (\n state: RootState,\n entryId: number,\n leagueId: number\n) => {\n const entry = getEntry(state, entryId);\n if (entry) {\n const classic = entry.leagues.classic.filter((l) => l.id === leagueId);\n if (classic.length) {\n return classic[0];\n }\n const h2h = entry.leagues.h2h.filter((l) => l.id === leagueId);\n if (h2h.length) {\n return h2h[0];\n }\n }\n return null;\n};\n\nexport const getCupMatchesByLeagueId = (state: RootState, entryId: number) => {\n const entry = getEntry(state, entryId);\n if (entry) {\n const cupMatches = entry.leagues.cup_matches;\n if (cupMatches.length > 0) {\n return cupMatches.reduce(\n (memo, match) => ({ ...memo, [match.league]: match }),\n {}\n );\n }\n return null;\n }\n return null;\n};\n\nexport const getTransfersForEntry = (state: RootState, entryId: number) =>\n state.entries.transfersById[entryId] || [];\n\nexport const getFanLeagueDetails = (state: RootState, entryId: number) => {\n const fanLeagueMatch = /^team-(\\d+)$/;\n const teamsById = getTeamsById(state);\n const systemClassicLeagues = getSystemClassicLeaguesForEntry(state, entryId);\n\n // Please note the \"!\" non-null assertion operator on the filter\n const fanLeagues = systemClassicLeagues.filter((l) =>\n l.short_name!.match(fanLeagueMatch)\n );\n\n if (fanLeagues.length) {\n return {\n league: fanLeagues[0],\n team: teamsById[fanLeagues[0].short_name!.match(fanLeagueMatch)![1]],\n };\n }\n\n return null;\n};\n\nexport const getPhaseStandingsForEntry = (state: RootState, entryId: number) =>\n state.entries.phaseStandingsById[entryId];\n\nexport const getPhaseStandingsForEntryPhase = (\n state: RootState,\n entryId: number,\n phaseId: number\n) => state.entries.phaseStandingsById[entryId]?.[phaseId];\n\nexport const getPhaseStandingsForEntryPhaseLeague = (\n state: RootState,\n entryId: number,\n phaseId: number,\n leagueId: number\n) =>\n state.entries.phaseStandingsById[entryId]?.[phaseId]?.find(\n (ps) => ps.league_id === leagueId\n );\n","import { TFunction } from \"i18next\";\nexport type ChipName = \"phcapt\" | \"rich\" | \"wildcard\";\n\ninterface IChipDetails {\n description: string;\n name: string;\n}\n\nconst allChipDetails = (t: TFunction): Record => ({\n wildcard: {\n name: t(\"chips.wildcard.name\", \"Wildcard\"),\n description: t(\n \"chips.wildcard.description\",\n \"Make unlimited free transactions.\"\n ),\n },\n rich: {\n name: t(\"chips.allstar.name\", \"All-Star\"),\n description: t(\n \"chips.allstar.description\",\n \"Make unlimited free transactions with an unlimited budget for a single round. Next round your team will be set back to how it was before using the chip.\"\n ),\n },\n phcapt: {\n name: t(\"chips.phcapt.name\", \"Gameday Captain\"),\n description: t(\n \"chips.phcapt.description\",\n \"Pick a player to score double points.\"\n ),\n },\n});\n\nexport const getChipName = (name: ChipName, t: TFunction) =>\n allChipDetails(t)[name].name;\n\nexport const getChipDetails = (name: ChipName, t: TFunction) =>\n allChipDetails(t)[name];\n\nexport const getAllChipDetails = (t: TFunction) => allChipDetails(t);\n","import sortBy from \"lodash/sortBy\";\nimport { combineReducers } from \"redux\";\nimport { createSelector } from \"reselect\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport { getElementTypesById } from \"../element-types/reducers\";\nimport {\n getElementsById,\n getFormation,\n getTotalsByType,\n} from \"../elements/reducers\";\nimport { getSettings } from \"../game/reducers\";\nimport { ISettings } from \"../game/types\";\nimport * as actions from \"./actions\";\nimport { IPickProposed, IState, SubStatus } from \"./types\";\n\n// State Reducer\nexport default combineReducers({\n picksLastUpdated: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchMyTeam.success):\n case getType(actions.saveMyTeam.success):\n return action.payload.data.picks_last_updated;\n default:\n return state;\n }\n },\n picksProposed: (state = [], action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchMyTeam.success):\n case getType(actions.saveMyTeam.success):\n return sortBy(action.payload.data.picks, \"position\").map((e) => ({\n ...e,\n elementType: action.payload.elementsById[e.element].element_type,\n subStatus: \"\" as SubStatus,\n }));\n\n case getType(actions.substitutionStart):\n return state.map((p) => {\n const newPick = { ...p };\n if (p === action.payload.pick) {\n newPick.subStatus = \"instigator\";\n } else if (action.payload.possibleReplacements.indexOf(p) > -1) {\n newPick.subStatus = \"target\";\n } else {\n newPick.subStatus = \"invalid\";\n }\n return newPick;\n });\n\n case getType(actions.substitutionStop):\n return state.map((p) => ({ ...p, subStatus: \"\" as SubStatus }));\n\n case getType(actions.substitutionProcess): {\n // Find the pick who instigated the substitution\n const instigator = state.reduce(\n (memo, p) => (p.subStatus === \"instigator\" ? p : memo),\n null\n );\n if (!instigator) {\n return state;\n }\n\n // Swap positions / captain data and reset subStatus\n const attrs: Array = [\n \"position\",\n \"is_captain\",\n \"is_vice_captain\",\n ];\n const target = action.payload.pick;\n const newPicks = state.map((p) => {\n const newPick = { ...p };\n // See https://github.com/microsoft/TypeScript/issues/31663 for\n // explanation for use of 'as any'\n if (p.element === instigator.element) {\n attrs.forEach((a) => ((newPick[a] as any) = target[a]));\n } else if (p.element === target.element) {\n attrs.forEach((a) => ((newPick[a] as any) = instigator[a]));\n }\n newPick.subStatus = \"\";\n return newPick;\n });\n\n // Order by position, factoring in elementType for starters\n const subStart = action.payload.subsStart;\n newPicks.sort((a, b) => {\n if (a.position < subStart && b.position < subStart) {\n return (\n a.elementType * 99 +\n a.position -\n (b.elementType * 99 + b.position)\n );\n }\n return a.position - b.position;\n });\n\n // Reset position based on index and return\n return newPicks.map((p, index) => {\n const newPick = { ...p };\n newPick.position = index + 1;\n return newPick;\n });\n }\n\n case getType(actions.changeCaptain):\n case getType(actions.changeViceCaptain): {\n const newCaptain = state.reduce(\n (memo, p) => (p.element === action.payload.elementId ? p : memo),\n null\n );\n const attrMake = action.payload.isVice\n ? \"is_vice_captain\"\n : \"is_captain\";\n const attrOther = action.payload.isVice\n ? \"is_captain\"\n : \"is_vice_captain\";\n\n if (!newCaptain || newCaptain[attrMake]) {\n return state;\n }\n const oldCaptain = state.reduce(\n (memo, p) => (p[attrMake] ? p : memo),\n null\n );\n\n return state.map((p) => {\n const newPick = { ...p };\n if (p.element === action.payload.elementId) {\n newPick[attrMake] = true;\n newPick[attrOther] = false;\n } else {\n newPick[attrMake] = false;\n // Handle case of roles being swapped\n if (\n oldCaptain &&\n oldCaptain.element === p.element &&\n newCaptain[attrOther]\n ) {\n newPick[attrOther] = true;\n }\n }\n return newPick;\n });\n }\n\n default:\n return state;\n }\n },\n picksSaved: (state = [], action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchMyTeam.success):\n case getType(actions.saveMyTeam.success):\n return sortBy(action.payload.data.picks, \"position\");\n default:\n return state;\n }\n },\n savingState: (state, action: RootAction) => {\n switch (action.type) {\n case getType(actions.saveMyTeam.success):\n return \"saved\";\n case getType(actions.saveMyTeam.request):\n return \"saving\";\n default:\n return \"\";\n }\n },\n});\n\n// State Selectors / Helpers\nexport const getMyPicksLastUpdated = (state: RootState) =>\n state.myTeam.picksLastUpdated;\n\nexport const getMyPicksSaved = (state: RootState) => state.myTeam.picksSaved;\n\nexport const getMyPicksProposed = (state: RootState) =>\n state.myTeam.picksProposed;\n\nexport const getMyTeamSavingState = (state: RootState) =>\n state.myTeam.savingState;\n\nexport const getMyStartersProposed = createSelector(\n getMyPicksProposed,\n getSettings,\n (picks, settings) => picks.slice(0, settings ? settings.squad_squadplay : 0)\n);\n\nexport const getMySubsProposed = createSelector(\n getMyPicksProposed,\n getSettings,\n (picks, settings) =>\n picks.slice(\n settings ? settings.squad_squadplay : picks.length,\n picks.length\n )\n);\n\nexport const getMyStartingTotalsByType = createSelector(\n getMyStartersProposed,\n getElementsById,\n (picks, elements) => getTotalsByType(picks.map((p) => elements[p.element]))\n);\n\nexport const getMyFormation = createSelector(\n getMyStartersProposed,\n getElementsById,\n (picks, elements) => getFormation(picks.map((p) => elements[p.element]))\n);\n\nexport const isSub = (state: RootState, pick: IPickProposed) => {\n const settings = getSettings(state) as ISettings;\n return pick.position > settings.squad_squadplay;\n};\n\nexport const isLegalSwap = (\n state: RootState,\n p1: IPickProposed,\n p2: IPickProposed,\n totals: Record\n): boolean => {\n const elementsById = getElementsById(state);\n const elementTypesById = getElementTypesById(state);\n const p1Type = elementsById[p1.element].element_type;\n const p2Type = elementsById[p2.element].element_type;\n const p1Sub = isSub(state, p1);\n const p2Sub = isSub(state, p2);\n // const locks = getPositionTypeLocks(state);\n let validSwap = false;\n\n // Swapping starters disallowed\n if (!p1Sub && !p2Sub) {\n return false;\n }\n\n // Swapping self disallowed\n if (p1.element === p2.element) {\n return false;\n }\n\n // Can always swap like for like\n if (p1Type === p2Type) {\n return true;\n }\n\n // Can swap subs unless positions locked\n if (p1Sub && p2Sub) {\n validSwap = true;\n } else if (p1Sub) {\n // Bringing p1 in, p2 out\n validSwap =\n totals[p1Type] < elementTypesById[p1Type].squad_max_play &&\n totals[p2Type] > elementTypesById[p2Type].squad_min_play;\n } else {\n // Bringing p2 in, p1 out\n validSwap =\n totals[p2Type] < elementTypesById[p2Type].squad_max_play &&\n totals[p1Type] > elementTypesById[p1Type].squad_min_play;\n }\n\n // Check any subs are allowed to be in their new positions\n if (\n p2Sub && // p1 becoinng a sub\n elementTypesById[p1Type].sub_positions_locked.length && // locked type\n elementTypesById[p1Type].sub_positions_locked.indexOf(p2.position) === -1\n ) {\n return false;\n }\n if (\n p1Sub && // p2 becoming a sub\n elementTypesById[p2Type].sub_positions_locked.length && // locked type\n elementTypesById[p2Type].sub_positions_locked.indexOf(p1.position) === -1\n ) {\n return false;\n }\n\n return validSwap;\n};\n\nexport const getMyPossibleReplacementsForPick = (\n state: RootState,\n pick1: IPickProposed\n) => {\n const possibles: IPickProposed[] = [];\n const totals = getMyStartingTotalsByType(state);\n getMyPicksProposed(state).forEach((pick2) => {\n if (isLegalSwap(state, pick1, pick2, totals)) {\n possibles.push(pick2);\n }\n });\n return possibles;\n};\n\nexport const isMyTeamValid = createSelector(getMyPicksProposed, (proposed) =>\n proposed.every((p) => p.subStatus === \"\")\n);\n\nexport const hasMyTeamChanged = createSelector(\n getMyPicksSaved,\n getMyPicksProposed,\n (saved, proposed) =>\n saved.some(\n (p, i) =>\n p.element !== proposed[i].element ||\n p.is_captain !== proposed[i].is_captain ||\n p.is_vice_captain !== proposed[i].is_vice_captain\n )\n);\n\nexport const toUpdateMyTeamAPI = createSelector(getMyPicksProposed, (picks) =>\n picks.map((p) => ({\n element: p.element,\n position: p.position,\n is_captain: p.is_captain,\n is_vice_captain: p.is_vice_captain,\n }))\n);\n\nexport const toUpdateChipAPI = createSelector(getMyPicksSaved, (picks) =>\n picks.map((p) => ({\n element: p.element,\n position: p.position,\n is_captain: p.is_captain,\n is_vice_captain: p.is_vice_captain,\n }))\n);\n","import { ThunkResult } from \"..\";\nimport { apiGet, apiPost } from \"../../utils/api\";\nimport { checkGame } from \"../bootstrap/thunks\";\nimport { getActiveOrProposedTeamChipName } from \"../chips/reducers\";\nimport { getElementsById } from \"../elements/reducers\";\nimport { getSettings } from \"../game/reducers\";\nimport { getPlayerData } from \"../player/reducers\";\nimport * as actions from \"./actions\";\nimport {\n getMyPicksProposed,\n getMyPossibleReplacementsForPick,\n toUpdateMyTeamAPI,\n} from \"./reducers\";\nimport { IMyTeamData, IPickProposed } from \"./types\";\n\nexport const fetchMyTeam =\n (): ThunkResult> => async (dispatch, getState) => {\n dispatch(checkGame());\n const player = getPlayerData(getState());\n if (player && player.entry) {\n try {\n await apiGet(\n `my-team/${player.entry}/`,\n dispatch,\n actions.fetchMyTeam,\n { elementsById: getElementsById(getState()) }\n );\n } catch (e) {\n return;\n }\n }\n };\n\nexport const actionSubstitution =\n (elementId: number): ThunkResult =>\n (dispatch, getState) => {\n const pick = getMyPicksProposed(getState()).reduce(\n (memo: IPickProposed | null, p) => (p.element === elementId ? p : memo),\n null\n );\n const settings = getSettings(getState());\n if (pick && settings) {\n if (pick.subStatus === \"\") {\n dispatch(\n actions.substitutionStart(\n pick,\n getMyPossibleReplacementsForPick(getState(), pick)\n )\n );\n } else if (pick.subStatus === \"instigator\") {\n dispatch(actions.substitutionStop());\n } else if (pick.subStatus === \"target\") {\n dispatch(\n actions.substitutionProcess(pick, settings.squad_squadplay + 1)\n );\n }\n }\n };\n\nexport const saveMyTeam =\n (): ThunkResult> => async (dispatch, getState) => {\n try {\n const player = getPlayerData(getState());\n if (!player || !player.entry) {\n return;\n }\n await apiPost(\n `my-team/${player.entry}/`,\n {\n chip: getActiveOrProposedTeamChipName(getState()),\n picks: toUpdateMyTeamAPI(getState()),\n },\n dispatch,\n actions.saveMyTeam,\n { elementsById: getElementsById(getState()) }\n );\n } catch (e) {\n // TODO - there ae no expected errors\n return;\n }\n };\n","import { createAsyncAction } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport { IURLResponse } from \"./types\";\n\nexport const fetchURL = createAsyncAction(\n \"FETCH_URL_START\",\n \"FETCH_URL_SUCCESS\",\n \"FETCHURL_FAILURE\"\n)();\n","import styled, { css } from \"styled-components/macro\";\nimport { Link as RouterLink } from \"@reach/router\";\n\nexport const LinkStyles = css`\n color: ${({ theme }) => `${theme.colors.blueDark}`};\n font-weight: 500;\n text-decoration: none;\n\n :hover {\n text-decoration: underline;\n }\n`;\n\nexport const Hyperlink = styled.a`\n ${LinkStyles}\n`;\n\nconst Link = styled(RouterLink)`\n ${LinkStyles}\n`;\n\nexport default Link;\n","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgArrowDoubleRight(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 9,\n height: 8,\n viewBox: \"0 0 9 8\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fillRule: \"evenodd\",\n transform: \"translate(.642 .644)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(4)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 4.746,\n height: 1,\n x: -0.341,\n y: 4.178,\n transform: \"rotate(135 2.031 4.678)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n width: 4.746,\n height: 1,\n x: -0.341,\n y: 1.531,\n transform: \"rotate(-135 2.031 2.031)\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n width: 4.746,\n height: 1,\n x: -0.341,\n y: 4.178,\n transform: \"rotate(135 2.031 4.678)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n width: 4.746,\n height: 1,\n x: -0.341,\n y: 1.531,\n transform: \"rotate(-135 2.031 2.031)\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowDoubleRight);\nexport default __webpack_public_path__ + \"static/media/arrow-double-right.a017acb1.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgArrowLeft(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 5,\n height: 8,\n viewBox: \"0 0 5 8\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fillRule: \"evenodd\",\n transform: \"matrix(-1 0 0 1 4.705 .644)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 4.746,\n height: 1,\n x: -0.341,\n y: 4.178,\n transform: \"rotate(135 2.031 4.678)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n width: 4.746,\n height: 1,\n x: -0.341,\n y: 1.531,\n transform: \"rotate(-135 2.031 2.031)\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowLeft);\nexport default __webpack_public_path__ + \"static/media/arrow-left.b3b21d1a.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgArrowRight(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 5,\n height: 8,\n viewBox: \"0 0 5 8\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fillRule: \"evenodd\",\n transform: \"translate(.642 .644)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 4.746,\n height: 1,\n x: -0.341,\n y: 4.178,\n transform: \"rotate(135 2.031 4.678)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n width: 4.746,\n height: 1,\n x: -0.341,\n y: 1.531,\n transform: \"rotate(-135 2.031 2.031)\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrowRight);\nexport default __webpack_public_path__ + \"static/media/arrow-right.a5236705.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDown(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"16px\",\n height: \"16px\",\n viewBox: \"-7 9 16 16\",\n enableBackground: \"new -7 9 16 16\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"down\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Down_league\"\n }, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"1,23 9,16 9,11 -7,11 -7,16 \"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDown);\nexport default __webpack_public_path__ + \"static/media/down.4848e94e.svg\";\nexport { ForwardRef as ReactComponent };","import { size } from \"polished\";\nimport styled, { css } from \"styled-components/macro\";\nimport i18n from \"../../i18n\";\nimport { ReactComponent as ArrowLeftDoubleIcon } from \"../../img/icons/arrow-double-left.svg\";\nimport { ReactComponent as ArrowRightDoubleIcon } from \"../../img/icons/arrow-double-right.svg\";\nimport { ReactComponent as ArrowLeftIcon } from \"../../img/icons/arrow-left.svg\";\nimport { ReactComponent as ArrowRightIcon } from \"../../img/icons/arrow-right.svg\";\nimport { isRTL } from \"../../utils/locale\";\n\ninterface IArrow {\n color?: \"blueDark\" | \"\";\n}\n\n// RTL: start = right, end = left\n// LTR: start = left, end = right\n\nexport const ArrowStart = isRTL(i18n.language)\n ? styled(ArrowRightIcon)`\n fill: ${(props) =>\n props.color ? props.theme.colors[props.color] : \"currentColor\"};\n `\n : styled(ArrowLeftIcon)`\n fill: ${(props) =>\n props.color ? props.theme.colors[props.color] : \"currentColor\"};\n `;\n\nexport const ArrowEnd = isRTL(i18n.language)\n ? styled(ArrowLeftIcon)`\n fill: ${(props) =>\n props.color ? props.theme.colors[props.color] : \"currentColor\"};\n `\n : styled(ArrowRightIcon)`\n fill: ${(props) =>\n props.color ? props.theme.colors[props.color] : \"currentColor\"};\n `;\n\nexport const ArrowStartDouble = isRTL(i18n.language)\n ? styled(ArrowRightDoubleIcon)`\n fill: ${(props) =>\n props.color ? props.theme.colors[props.color] : \"currentColor\"};\n `\n : styled(ArrowLeftDoubleIcon)`\n fill: ${(props) =>\n props.color ? props.theme.colors[props.color] : \"currentColor\"};\n `;\n\nexport const ArrowEndDouble = isRTL(i18n.language)\n ? styled(ArrowLeftDoubleIcon)`\n fill: ${(props) =>\n props.color ? props.theme.colors[props.color] : \"currentColor\"};\n `\n : styled(ArrowRightDoubleIcon)`\n fill: ${(props) =>\n props.color ? props.theme.colors[props.color] : \"currentColor\"};\n `;\n\nexport const ControlArrowStart = styled(ArrowStart)`\n ${size(8, 5)};\n ${isRTL(i18n.language)\n ? css`\n margin-left: 0.3rem;\n `\n : css`\n margin-right: 0.3rem;\n `}\n`;\n\nexport const ControlArrowEnd = styled(ArrowEnd)`\n ${size(8, 5)};\n ${isRTL(i18n.language)\n ? css`\n margin-right: 0.3rem;\n `\n : css`\n margin-left: 0.3rem;\n `}\n`;\n","import { Link } from \"@reach/router\";\nimport * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\nimport { LinkStyles } from \"./Link\";\nimport { ControlArrowStart, ControlArrowEnd } from \"./icons/Arrows\";\n\ninterface IBoldLinkStyles {\n color?: \"blueDark\";\n}\n\ninterface IBoldLinkWrapProps {\n align?: \"left\" | \"center\" | \"right\";\n}\n\nexport const BoldLinkWrap = styled.div`\n margin: ${({ theme }) => `${theme.space[3]} ${theme.space[2]}`};\n text-align: ${(props) => (props.align ? props.align : \"left\")};\n`;\n\nconst BoldLinkStyles = css`\n ${LinkStyles}\n\n display: inline-flex;\n align-items: center;\n font-size: ${({ theme }) => theme.fontSizes[1]};\n`;\n\nconst StyledBoldHyperlink = styled.a`\n ${BoldLinkStyles}\n`;\n\nconst StyledBoldLink = styled(Link)`\n ${BoldLinkStyles}\n`;\n\ninterface IBoldLinkProps {\n children: React.ReactNode;\n color?: \"blueDark\";\n to: string;\n}\n\ninterface IBoldHyperlinkProps {\n children: React.ReactNode;\n href: string;\n}\n\nexport const BoldHyperlink: React.FC = ({\n children,\n href,\n}) => (\n \n {children}\n \n \n);\n\nconst BoldLink: React.FC = ({ children, color, to }) => (\n \n {children}\n \n \n);\n\nexport default BoldLink;\n","import { Link } from \"@reach/router\";\nimport * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\nimport { IButtonStyledProps } from \"./Button\";\n\nconst ButtonLinkStyles = css`\n display: inline-block;\n padding: 1.5rem ${(props) => props.theme.space[3]};\n border: 0;\n background-color: ${(props) => props.theme.colors.yellow};\n font-family: ${(props) => props.theme.fonts.body};\n font-size: ${(props) => props.theme.fontSizes[1]};\n font-weight: 500;\n border-radius: ${(props) => props.theme.radii[1]};\n color: black;\n text-align: center;\n text-decoration: none;\n line-height: 1;\n cursor: pointer;\n\n ${(props) =>\n props.fullwidth &&\n css`\n width: 100%;\n `}\n`;\n\nexport const ButtonHyperlink = styled.a`\n ${ButtonLinkStyles}\n`;\n\nexport const StyledButtonLink = styled(Link)`\n ${ButtonLinkStyles}\n`;\n\ninterface IProps {\n onClick?: () => void;\n to: string;\n children: React.ReactNode;\n}\n\ntype Props = IProps & IButtonStyledProps;\n\nconst ButtonLink: React.FC = ({\n children,\n fullwidth,\n onClick,\n to,\n variant = \"primary\",\n}) => (\n \n {children}\n \n);\n\nexport default ButtonLink;\n","import styled from \"styled-components/macro\";\n\nconst Footnote = styled.p`\n font-size: 1.2rem;\n`;\n\nexport default Footnote;\n","var _rect;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgNew(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"New_in_league\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"16px\",\n height: \"16px\",\n viewBox: \"0 0 16 16\",\n enableBackground: \"new 0 0 16 16\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"new\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n y: 6,\n width: 16,\n height: 4\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNew);\nexport default __webpack_public_path__ + \"static/media/new.567bfff9.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSameLtr(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"16px\",\n height: \"16px\",\n viewBox: \"-7 9 16 16\",\n enableBackground: \"new -7 9 16 16\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"same\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Non_mover\"\n }, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"7,17 0,9 -5,9 -5,25 0,25 \"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSameLtr);\nexport default __webpack_public_path__ + \"static/media/same-ltr.e0ae0653.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSameRtl(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"16px\",\n height: \"16px\",\n viewBox: \"-7 9 16 16\",\n enableBackground: \"new -7 9 16 16\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"same\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Non_mover\"\n }, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"-7,17 0,9 5,9 5,25 0,25 \"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSameRtl);\nexport default __webpack_public_path__ + \"static/media/same-rtl.58af709e.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUp(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"16px\",\n height: \"16px\",\n viewBox: \"-7 9 16 16\",\n enableBackground: \"new -7 9 16 16\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"up\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Up_league\"\n }, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"1,11 -7,18 -7,23 9,23 9,18 \"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUp);\nexport default __webpack_public_path__ + \"static/media/up.4b566bbe.svg\";\nexport { ForwardRef as ReactComponent };","import { size } from \"polished\";\nimport styled from \"styled-components/macro\";\nimport i18n from \"../../i18n\";\nimport { ReactComponent as BaseDownIcon } from \"../../img/icons/down.svg\";\nimport { ReactComponent as BaseNewIcon } from \"../../img/icons/new.svg\";\nimport { ReactComponent as BaseSameIconLTR } from \"../../img/icons/same-ltr.svg\";\nimport { ReactComponent as BaseSameIconRTL } from \"../../img/icons/same-rtl.svg\";\nimport { ReactComponent as BaseUpIcon } from \"../../img/icons/up.svg\";\nimport { isRTL } from \"../../utils/locale\";\n\nexport const NewIcon = styled(BaseNewIcon)`\n ${size(12)}\n fill: grey;\n`;\n\nexport const SameIcon = isRTL(i18n.language)\n ? styled(BaseSameIconRTL)`\n ${size(10)}\n fill: grey;\n `\n : styled(BaseSameIconLTR)`\n ${size(10)}\n fill: grey;\n `;\n\nexport const UpIcon = styled(BaseUpIcon)`\n ${size(12)}\n fill: ${({ theme }) => theme.colors.success};\n`;\n\nexport const DownIcon = styled(BaseDownIcon)`\n ${size(12)}\n fill: ${({ theme }) => theme.colors.error};\n`;\n","import * as React from \"react\";\nimport styled, { css } from \"styled-components\";\nimport { NewIcon, SameIcon } from \"../icons/Movement\";\n\nconst ARROW_SIZE = 6;\n\nconst arrowStyling = css`\n width: 0;\n height: 0;\n border-left: ${ARROW_SIZE}px solid transparent;\n border-right: ${ARROW_SIZE}px solid transparent;\n`;\n\nconst StyledUpArrow = styled.div`\n ${arrowStyling};\n border-bottom: ${ARROW_SIZE}px solid ${({ theme }) => theme.colors.success};\n`;\n\nconst StyledDownArrow = styled.div`\n ${arrowStyling};\n border-top: ${ARROW_SIZE}px solid ${({ theme }) => theme.colors.error};\n`;\n\ninterface IProps {\n lastRank: number | null;\n rank: number | null;\n}\n\nconst Movement: React.FC = ({ lastRank, rank }) => {\n if (lastRank === 0 || rank === 0 || lastRank === null || rank === null) {\n return ;\n }\n if (rank === lastRank) {\n return ;\n }\n if (rank > lastRank) {\n return ;\n }\n if (rank < lastRank) {\n return ;\n }\n return null;\n};\n\nexport default Movement;\n","import styled from \"styled-components/macro\";\nimport Table from \"../Table\";\n\nexport const PrimaryWrap = styled.div`\n background-color: ${({ theme }) => theme.colors.primary};\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n padding: ${({ theme }) => `${theme.space[2]} ${theme.space[2]} 0`};\n }\n`;\n\nexport const SummaryRoundCol = styled.th`\n width: 24%;\n`;\n\nexport const SummaryStatusCol = styled.th`\n width: 27%;\n`;\n\nexport const LeagueSummaryTable = styled(Table)`\n table-layout: fixed;\n margin-bottom: ${({ theme }) => theme.space[3]};\n`;\n\nexport const SelectWrap = styled.div`\n margin: ${({ theme }) => `${theme.space[4]} ${theme.space[2]}`};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n display: flex;\n justify-content: space-between;\n }\n`;\n\nexport const SelectBox = styled.div`\n margin-bottom: ${({ theme }) => theme.space[2]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 49%;\n }\n`;\n","import * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\nimport { PrimaryGradient } from \"./Utils\";\n\nconst StyledPanel = styled.div``;\n\nconst StyledPanelHeader = styled.div`\n ${PrimaryGradient}\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: ${({ theme }) => theme.space[2]} ${({ theme }) => theme.space[2]};\n border-top-left-radius: ${(props) => props.theme.radii[1]};\n border-top-right-radius: ${(props) => props.theme.radii[1]};\n\n ${(props) =>\n props.upperCase &&\n css`\n text-transform: uppercase;\n `}\n`;\n\nconst PanelHeading = styled.h4`\n flex: 1;\n margin: 0;\n color: ${({ theme }) => theme.colors.white};\n font-family: ${(props) => props.theme.fonts.body};\n font-size: ${({ theme }) => theme.fontSizes[3]};\n`;\n\nconst StyledPanelFooter = styled.div`\n padding: ${({ theme }) =>\n `${theme.space[4]} ${theme.space[2]} ${theme.space[2]}`};\n border-bottom: 1px solid #d8d8d8;\n\n ${(props) =>\n !props.borderBottom &&\n css`\n border-bottom: none;\n `}\n`;\n\ninterface IPanelHeaderProps {\n title?: React.ReactNode;\n children?: React.ReactNode;\n upperCase?: boolean;\n}\n\nconst PanelHeader: React.FC = ({\n children,\n title,\n upperCase,\n}) => (\n \n {title}\n {children}\n \n);\n\ninterface IPanelBodyProps {\n children: React.ReactNode;\n}\n\nconst PanelBody: React.FC = ({ children }) => (\n
{children}
\n);\n\ninterface IPanelFooterProps {\n children: React.ReactNode;\n borderBottom?: boolean;\n}\n\nconst PanelFooter: React.FC = ({\n children,\n borderBottom,\n}) => (\n {children}\n);\n\ninterface IPanelProps {\n children?: React.ReactNode;\n}\n\nclass Panel extends React.Component {\n public static Header = PanelHeader;\n public static Body = PanelBody;\n public static Footer = PanelFooter;\n\n render() {\n return {this.props.children};\n }\n}\n\nexport default Panel;\n","import React from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled, { css } from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../core/store\";\nimport {\n getEntry,\n getPrivateClassicLeaguesForEntry,\n getPublicClassicLeaguesForEntry,\n getSystemClassicLeaguesForEntry,\n} from \"../core/store/entries/reducers\";\nimport { fetchEntrySummary } from \"../core/store/entries/thunks\";\nimport { IEntry, ILeagueEntry } from \"../core/store/entries/types\";\nimport { getTotalPlayers } from \"../core/store/game/reducers\";\nimport { fetchMyTeam } from \"../core/store/my-team/thunks\";\nimport { ITransferState } from \"../core/store/my-team/types\";\nimport { getPlayerData } from \"../core/store/player/reducers\";\nimport { getTransferState } from \"../core/store/squad/reducers\";\nimport { getTeamsById } from \"../core/store/teams/reducers\";\nimport { ITeam, ITeamsById } from \"../core/store/teams/types\";\nimport { fetchURL } from \"../core/store/urls/thunks\";\nimport { integerToMoney } from \"../core/utils/money\";\nimport i18n from \"../i18n\";\nimport { integerToDecimal } from \"../utils/decimal\";\nimport Badge from \"./Badge\";\nimport BoldLink from \"./BoldLink\";\nimport ButtonLink from \"./ButtonLink\";\nimport Footnote from \"./Footnote\";\nimport Movement from \"./leagues/Movement\";\nimport { LeagueSummaryTable } from \"./leagues/Styles\";\nimport Link from \"./Link\";\nimport Panel from \"./Panel\";\nimport { BoldSubHeading } from \"./SubHeading\";\nimport Table from \"./Table\";\nimport { BoxWrap, VisuallyHidden } from \"./Utils\";\n\nconst EntryName = styled.h3`\n margin: ${(props) => `0 ${props.theme.space[2]} ${props.theme.space[3]}`};\n font-size: ${(props) => props.theme.fontSizes[2]};\n font-weight: bold;\n`;\n\nconst TeamName = styled.h2`\n margin: ${(props) => `0 ${props.theme.space[2]} ${props.theme.space[3]}`};\n padding-top: ${(props) => props.theme.space[3]};\n font-family: ${(props) => props.theme.fonts.action};\n font-size: 3rem;\n font-weight: bold;\n text-transform: uppercase;\n ${i18n.language === \"tr\" &&\n css`\n text-transform: lowercase;\n &::first-letter {\n text-transform: capitalize;\n }\n `}\n`;\n\nconst DataList = styled.ul`\n margin: 0;\n padding: 0;\n list-style-type: none;\n`;\n\nconst DataListItem = styled.li`\n display: flex;\n align-items: center;\n padding: ${({ theme }) => theme.space[2]} 0;\n border-bottom: 1px solid #d8d8d8;\n font-size: ${({ theme }) => theme.fontSizes[1]};\n`;\n\nconst DataListHeading = styled.h5`\n flex: 1 0 65%;\n margin: 0;\n padding: 0 ${({ theme }) => theme.space[3]};\n font-size: ${(props) => props.theme.fontSizes[1]};\n font-weight: normal;\n`;\n\nconst DataListValue = styled.div`\n flex: 1 0 35%;\n padding: 0 ${({ theme }) => theme.space[2]};\n font-size: ${(props) => props.theme.fontSizes[2]};\n text-align: end;\n`;\n\nconst BadgeWrapper = styled.div`\n text-align: center;\n`;\n\nconst TableFixed = styled(Table)`\n table-layout: fixed;\n`;\n\nconst MovementCell = styled.td`\n width: 16%;\n`;\n\nconst Rank = styled.td`\n width: 30%;\n font-weight: 800;\n`;\n\nconst Name = styled.td`\n width: 54%;\n overflow-wrap: break-word;\n hyphens: auto;\n`;\n\nconst linkToLeague = (l: ILeagueEntry) =>\n `/leagues/${l.id}/standings/${l.scoring}`;\n\nconst boldStyles = css`\n color: inherit;\n font-weight: bold;\n`;\n\nconst BoldText = styled.span`\n ${boldStyles}\n`;\n\nconst StyledLink = styled(Link)`\n ${boldStyles}\n`;\n\nconst StyledTdFixedWidth = styled.td`\n width: 33%;\n`;\n\nconst MovementHead = styled.th`\n width: 16%;\n`;\n\nconst RankHead = styled.th`\n width: 30%;\n`;\n\nconst NameHead = styled.th`\n width: 54%;\n`;\n\ninterface ILeagueSummaryProps {\n title: React.ReactNode;\n leagues: ILeagueEntry[];\n}\n\ninterface IRowProps {\n leagueEntry: ILeagueEntry;\n}\n\nconst LeagueSummary: React.FC = ({ leagues, title }) => (\n \n {title}\n \n \n \n \n Movement\n \n Rank\n League\n \n \n \n {leagues.map((l) => (\n \n ))}\n \n \n \n);\n\nconst LeagueSummaryRow: React.FC = ({ leagueEntry }) => (\n \n \n \n \n \n {leagueEntry.entry_rank ? leagueEntry.entry_rank.toLocaleString() : null}\n \n \n {leagueEntry.name}\n \n \n);\n\ninterface IFanLeagueData {\n league: ILeagueEntry | null;\n team: ITeam | null;\n}\n\ninterface IPropsFromState {\n entry: IEntry | null;\n mine: Boolean;\n privateClassicLeagues: ILeagueEntry[];\n publicClassicLeagues: ILeagueEntry[];\n systemClassicLeagues: ILeagueEntry[];\n teamsById: ITeamsById;\n totalPlayers: number;\n transfersState: ITransferState | null;\n}\n\ninterface IPropsFromDispatch {\n fetchEntrySummary: (entryId: number) => void;\n fetchMyTeam: () => void;\n fetchUrl: (url: string) => void;\n}\n\ninterface IOwnProps {\n entryId: number;\n}\n\ntype Props = IPropsFromState & IPropsFromDispatch & IOwnProps & WithTranslation;\n\nclass Entry extends React.Component {\n public state: IState = { favTeamArticle: null };\n\n public componentDidMount() {\n if (this.props.mine && !this.props.transfersState) {\n this.props.fetchMyTeam();\n }\n if (!this.props.entry) {\n this.props.fetchEntrySummary(this.props.entryId);\n }\n }\n\n public render() {\n const {\n entry,\n privateClassicLeagues,\n publicClassicLeagues,\n systemClassicLeagues,\n teamsById,\n totalPlayers,\n transfersState,\n mine = false,\n t,\n } = this.props;\n\n if (!entry) {\n return null;\n }\n\n // Extract any fan league\n const fanLeagueData: IFanLeagueData = {\n league: null,\n team: null,\n };\n const fanLeagueMatch = /^team-(\\d+)$/;\n\n // Please note the \"!\" non-null assertion operator on the filter\n const fanLeagues = systemClassicLeagues.filter((l) =>\n l.short_name!.match(fanLeagueMatch)\n );\n if (fanLeagues.length) {\n fanLeagueData.league = fanLeagues[0];\n fanLeagueData.team =\n teamsById[fanLeagues[0].short_name!.match(fanLeagueMatch)![1]];\n }\n\n // Extract any broadcaster leagues\n const broadcasterLeagueMatch = /^brd-/;\n // Please note the \"!\" non-null assertion operator on the filter\n const broadcasterLeagues: ILeagueEntry[] = systemClassicLeagues.filter(\n (l) => l.short_name!.match(broadcasterLeagueMatch)\n );\n const filteredSystemClassicLeagues = systemClassicLeagues.filter(\n (l) => !broadcasterLeagues.length || broadcasterLeagues.indexOf(l) === -1\n );\n\n return (\n \n {entry.name}\n \n {entry.player_first_name} {entry.player_last_name}\n \n \n \n \n \n \n \n \n {t(\"myTeam.overallPoints\", \"Overall Points\")}\n \n \n {integerToDecimal(entry.summary_overall_points || 0, 10)}\n \n \n \n \n {t(\"myTeam.overallRank\", \"Overall Rank\")}\n \n \n {entry.summary_overall_rank &&\n entry.summary_overall_rank.toLocaleString()}\n \n \n \n \n {t(\"myTeam.totalPlayers\", \"Total Players\")}\n \n {totalPlayers.toLocaleString()}\n \n \n \n {t(\"myTeam.roundPointsn\", \"Gameday Fantasy Points\")}\n \n \n {integerToDecimal(entry.summary_event_points || 0, 10)}\n \n \n \n \n \n \n {t(\"myTeam.viewRoundHistory\", \"View Gameday History\")}\n \n \n \n \n {fanLeagueData.league && fanLeagueData.team && (\n \n \n \n \n \n \n \n \n \n \n {t(\"MyTeam.fanLeagueLink\", \"View {{team}} Fan League\", {\n team: fanLeagueData.team.name,\n })}\n \n \n \n \n )}\n\n \n \n \n \n \n \n \n \n\n {broadcasterLeagues.length > 0 && (\n \n \n \n \n \n \n {broadcasterLeagues.map((l) => (\n \n ))}\n \n \n \n \n \n )}\n\n {(privateClassicLeagues.length > 0 ||\n publicClassicLeagues.length > 0) && (\n \n \n \n \n \n \n {privateClassicLeagues.map((l) => (\n \n ))}\n {publicClassicLeagues.map((l) => (\n \n ))}\n \n \n \n \n \n )}\n\n \n \n {t(\"myTeam.createAndJoinLeagues\", \"Create and Join Leagues\")}\n \n \n\n {mine && transfersState && (\n \n \n \n \n \n \n \n \n \n {transfersState.made}\n \n \n \n \n \n \n {entry.last_deadline_total_transfers}\n \n \n \n \n
\n {t(\"myTeam.roundTransfers\", \"Gameweek transactions\")}:\n
\n {t(\"myTeam.totalTransfers\", \"Total transactions\")}:\n
\n
\n \n \n {t(\"myTeam.viewTransferHistory\", \"View transaction history\")}\n \n \n \n \n \n \n \n \n \n {integerToMoney(transfersState.value, 10)}\n \n \n \n \n \n \n \n {integerToMoney(transfersState.bank, 10)}\n \n \n \n \n
{t(\"myTeam.squadValue\", \"Roster value\")}:
{t(\"myTeam.inTheBank\", \"In the bank\")}:
\n
\n
\n
\n )}\n {!mine && (\n \n \n \n {t(\n \"myTeam.transfersAndFinance\",\n \"Transactions and Finance\"\n )}{\" \"}\n *\n \n }\n />\n \n

\n

    \n \n \n {t(\"myTeam.totalTransfers\", \"Total transactions\")}:\n \n \n {entry.last_deadline_total_transfers}\n \n \n
\n
\n \n \n {t(\"myTeam.viewTransferHistory\", \"View transaction history\")}\n \n \n \n
    \n \n \n {t(\"myTeam.squadValue\", \"Roster value\")}:\n \n \n {entry.last_deadline_value !== null &&\n entry.last_deadline_bank !== null\n ? `${integerToMoney(\n entry.last_deadline_value -\n entry.last_deadline_bank,\n 10\n )}`\n : \"-\"}\n \n \n \n \n {t(\"myTeam.inTheBank\", \"In the bank\")}:\n \n \n {entry.last_deadline_bank !== null\n ? `${integerToMoney(entry.last_deadline_bank, 10)}`\n : \"-\"}\n \n \n
\n \n * Values at the last deadline\n \n
\n
\n
\n )}\n {mine && (\n \n \n \n \n {mine && (\n \n \n \n {t(\"teamDetails\", \"Team Details\")}\n \n \n \n \n {t(\"userProfile\", \"User profile\")}\n \n \n \n )}\n \n \n \n )}\n
\n );\n }\n}\n\nexport { Entry as EntryTest };\n\ninterface IState {\n favTeamArticle: any | null;\n}\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: IOwnProps\n): IPropsFromState => {\n const player = getPlayerData(state);\n const entryId = ownProps.entryId;\n return {\n entry: getEntry(state, entryId),\n mine: Boolean(player && player.entry && player.entry === entryId),\n privateClassicLeagues: getPrivateClassicLeaguesForEntry(state, entryId),\n publicClassicLeagues: getPublicClassicLeaguesForEntry(state, entryId),\n systemClassicLeagues: getSystemClassicLeaguesForEntry(state, entryId),\n teamsById: getTeamsById(state),\n transfersState: getTransferState(state),\n totalPlayers: getTotalPlayers(state),\n };\n};\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n fetchEntrySummary: (entryId) => dispatch(fetchEntrySummary(entryId)),\n fetchMyTeam: () => dispatch(fetchMyTeam()),\n fetchUrl: (url) => dispatch(fetchURL(url)),\n});\n\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(Entry)\n);\n","import { ThunkResult } from \"..\";\nimport { apiGet } from \"../../utils/api\";\nimport * as actions from \"./actions\";\nimport { IURLResponse } from \"./types\";\n\nexport const fetchURL =\n (url: string): ThunkResult> =>\n async (dispatch) => {\n // We should do some rate limiting here and don't fetch if we have received\n // the url data in the last 60(?) seconds\n // Another enhancement is to handle the 'empty' response, trying again\n // after 3(?) seconds could be a solution.\n try {\n await apiGet(\n `get-url/?url=${url}`,\n dispatch,\n actions.fetchURL,\n { url }\n );\n } catch (e) {\n return;\n }\n };\n","import styled, { css } from \"styled-components/macro\";\nimport i18n from \"../i18n\";\n\nconst Title = styled.h2`\n margin: ${({ theme }) => theme.space[3]} 0;\n font-family: ${(props) => props.theme.fonts.action};\n font-size: ${(props) => props.theme.fontSizes[5]};\n font-weight: bold;\n font-style: italic;\n text-transform: uppercase;\n ${i18n.language === \"tr\" &&\n css`\n text-transform: capitalize;\n `}\n`;\n\nexport default Title;\n","import { RouteComponentProps } from \"@reach/router\";\nimport React from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { RootState, ThunkDispatch } from \"../core/store\";\nimport {\n getEntry,\n getEntryChipHistory,\n getEntryEventHistory,\n getEntrySeasonHistory,\n} from \"../core/store/entries/reducers\";\nimport {\n fetchEntryHistory,\n fetchEntrySummary,\n} from \"../core/store/entries/thunks\";\nimport {\n IEntry,\n IEntryChipHistory,\n IEntryEventHistory,\n IEntrySeasonHistory,\n} from \"../core/store/entries/types\";\nimport { getEventsById } from \"../core/store/events/reducers\";\nimport { IEventsById } from \"../core/store/events/types\";\nimport { getPlayerData } from \"../core/store/player/reducers\";\nimport { formatRawAsLocalI18n } from \"../core/utils/datetime\";\nimport { integerToMoney } from \"../core/utils/money\";\nimport { dateLocales } from \"../i18n\";\nimport { ChipName, getChipName } from \"../utils/chips\";\nimport { integerToDecimal } from \"../utils/decimal\";\nimport { getPrefixedEventShortName } from \"../utils/events\";\nimport Entry from \"./Entry\";\nimport { Main, Secondary, Wrapper } from \"./Layout\";\nimport Movement from \"./leagues/Movement\";\nimport Link from \"./Link\";\nimport SubHeading from \"./SubHeading\";\nimport Table, { ScrollTable } from \"./Table\";\nimport Title from \"./Title\";\nimport Tooltip, { TooltipLabel } from \"./Tooltip\";\n\ntype OwnProps = RouteComponentProps<{ entryId: string }>;\n\ninterface IPropsFromState {\n chipHistory: IEntryChipHistory[];\n entry: IEntry | null;\n eventsById: IEventsById;\n eventHistory: IEntryEventHistory[];\n mine: boolean;\n seasonHistory: IEntrySeasonHistory[];\n}\n\ninterface IPropsFromDispatch {\n fetchEntryHistory: (entryId: number) => void;\n fetchEntrySummary: (entryId: number) => void;\n}\n\ntype Props = OwnProps & WithTranslation & IPropsFromState & IPropsFromDispatch;\n\nclass EntryHistory extends React.Component {\n public componentDidMount() {\n this.props.fetchEntryHistory(Number(this.props.entryId));\n this.props.fetchEntrySummary(Number(this.props.entryId));\n }\n\n public movementFromIndex(index: number): React.ReactNode {\n const thisRank = this.props.eventHistory[index].overall_rank;\n const lastRank =\n index === 0 ? null : this.props.eventHistory[index - 1].overall_rank;\n return ;\n }\n\n public render() {\n const { entry, eventsById, i18n, t } = this.props;\n if (!entry) {\n return null;\n }\n return (\n \n
\n \n {t(\"entryHistory.title\", \"Entry History\")}\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {this.props.eventHistory.map((eh, i) => (\n \n \n \n \n \n \n \n \n \n \n \n \n ))}\n \n
\n \n GD\n \n \n \n GP\n \n \n \n PB\n \n \n \n GR\n \n \n \n TM\n \n \n \n TC\n \n \n \n OP\n \n \n \n OR\n \n \n \n $\n \n \n \n #\n \n
\n \n {getPrefixedEventShortName(eventsById[eh.event].name)}\n \n {integerToDecimal(eh.points, 10)}{integerToDecimal(eh.points_on_bench, 10)}{eh.rank ? eh.rank.toLocaleString() : \"-\"}{eh.event_transfers}{integerToDecimal(eh.event_transfers_cost, 10)}{integerToDecimal(eh.total_points, 10)}\n {eh.overall_rank\n ? eh.overall_rank.toLocaleString()\n : \"-\"}\n {integerToMoney(eh.value, 10)}{this.movementFromIndex(i)}
\n
\n
\n \n \n {t(\"entryHistory.chips\", \"Chips\")}\n \n \n \n \n \n \n \n \n \n \n {this.props.chipHistory.map((ch, i) => (\n \n \n \n \n \n ))}\n \n
{t(\"entryHistory.date\", \"Date\")}{t(\"entryHistory.name\", \"Name\")}{t(\"entryHistory.active\", \"Active\")}
\n {formatRawAsLocalI18n(\n ch.time,\n dateLocales[i18n.language]\n )}\n {getChipName(ch.name as ChipName, t)}\n \n {getPrefixedEventShortName(eventsById[ch.event].name)}\n \n
\n
\n
\n \n \n \n
\n );\n }\n}\n\nexport { EntryHistory as EntryHistoryTest };\n\nconst mapStateToProps = (state: RootState, ownProps: OwnProps) => {\n const entryId = Number(ownProps.entryId);\n const player = getPlayerData(state);\n return {\n chipHistory: getEntryChipHistory(state, entryId),\n entry: getEntry(state, entryId),\n eventsById: getEventsById(state),\n eventHistory: getEntryEventHistory(state, entryId),\n mine: Boolean(player && player.entry && player.entry === entryId),\n seasonHistory: getEntrySeasonHistory(state, entryId),\n };\n};\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n fetchEntryHistory: (entryId: number) => dispatch(fetchEntryHistory(entryId)),\n fetchEntrySummary: (entryId: number) => dispatch(fetchEntrySummary(entryId)),\n});\n\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(EntryHistory)\n);\n","import { RouteComponentProps } from \"@reach/router\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch } from \"react-redux\";\nimport { Box } from \"rebass\";\nimport { ThunkDispatch } from \"../core/store\";\nimport { unsubscribeEntry } from \"../core/store/entries/thunks\";\nimport Button from \"./Button\";\nimport Copy from \"./Copy\";\nimport { Main, Wrapper } from \"./Layout\";\nimport Title from \"./Title\";\n\ntype OwnProps = RouteComponentProps<{ signature: string }>;\n\nconst EntryUnsubscribe: React.FC = ({ signature }) => {\n const { t } = useTranslation();\n const reduxDispatch = useDispatch();\n\n const [unsubscribeState, setUnsubscribeState] =\n React.useState<\"pre\" | \"ok\" | \"bad\">(\"pre\");\n\n const doUnsubscribe = () => {\n reduxDispatch(unsubscribeEntry(signature!))\n .then(() => setUnsubscribeState(\"ok\"))\n .catch(() => setUnsubscribeState(\"bad\"));\n };\n\n const body = {\n pre: (\n <>\n

\n {t(\n \"entryUnsubscribe.Explainn\",\n \"Unsubscribe from all emails about your NBA Fantasy team.\"\n )}\n

\n {\n \n }\n \n ),\n bad: (\n

\n {t(\n \"entryUnsubscribe.bad\",\n \"There was a problem with the newsletter unsubscribe. Please try again or contact nbafantasy@ismgames.com.\"\n )}\n

\n ),\n ok: (\n

\n {t(\n \"entryUnsubscribe.ok\",\n \"You have successfully unsubscribed from the newsletter.\"\n )}\n

\n ),\n };\n\n return (\n \n
\n \n {t(\"entryUnsubscribe.Title\", \"Unsubscribe\")}\n \n {body[unsubscribeState]}\n
\n
\n );\n};\n\nexport default EntryUnsubscribe;\n","import { useState } from \"react\";\n\nexport function useFormHook(initialStateObject: T) {\n const [formState, updateFormState] = useState(initialStateObject);\n\n // event handler\n const updateState = (event: React.FormEvent) => {\n const { id, value } = event.currentTarget;\n const newFormState = {\n ...formState,\n [id]: value,\n };\n updateFormState(newFormState);\n };\n\n const updateCheckboxState = (event: React.FormEvent) => {\n const { id, checked } = event.currentTarget;\n const newFormState = {\n ...formState,\n [id]: checked,\n };\n updateFormState(newFormState);\n };\n\n // color change handler\n const updateColorState = (name: string, hex: string) => {\n const newFormState = {\n ...formState,\n [name]: hex,\n };\n updateFormState(newFormState);\n };\n\n const updateSelectState = (event: React.ChangeEvent) => {\n const { id, value } = event.currentTarget;\n const newFormState = {\n ...formState,\n [id]: value,\n };\n updateFormState(newFormState);\n };\n\n return [\n formState,\n updateState,\n updateCheckboxState,\n updateColorState,\n updateSelectState,\n ] as [\n typeof formState,\n typeof updateState,\n typeof updateCheckboxState,\n typeof updateColorState,\n typeof updateSelectState\n ];\n}\n\nexport default useFormHook;\n","export default __webpack_public_path__ + \"static/media/search.a21d4689.svg\";","export default __webpack_public_path__ + \"static/media/select.18aacc81.svg\";","import { hideVisually, rgba, size } from \"polished\";\nimport * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\nimport i18n from \"../i18n\";\nimport search from \"../img/icons/search.svg\";\nimport select from \"../img/icons/select.svg\";\nimport theme from \"../theme\";\nimport { isRTL } from \"../utils/locale\";\n\nexport const FieldWrap = styled.div`\n margin-bottom: ${theme.space[4]};\n`;\n\ninterface ILabelProps {\n labelVisbility?: boolean;\n}\n\nexport const FieldLabel = styled.label`\n display: block;\n margin-bottom: ${theme.space[1]};\n cursor: pointer;\n\n ${({ labelVisbility }) => labelVisbility === false && hideVisually};\n`;\n\nconst Hint = styled.span`\n margin-bottom: ${theme.space[1]};\n display: block;\n color: ${theme.colors.offBlack};\n font-weight: 100;\n font-size: 14px;\n`;\n\ninterface InputProps {\n hasErrors?: boolean;\n required?: boolean;\n}\n\nconst InputWrap = styled.div`\n position: relative;\n padding-bottom: 4px;\n\n ::after {\n content: \"\";\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n height: 4px;\n border-bottom-right-radius: ${(props) => props.theme.radii[0]};\n border-bottom-left-radius: ${(props) => props.theme.radii[0]};\n background-color: ${(props) => props.theme.colors.yellow};\n }\n`;\n\nconst FieldStyles = css`\n display: block;\n width: 100%;\n padding: ${(props) => props.theme.space[2]};\n border: 1px solid ${(props) => rgba(props.theme.colors.greyBlue, 0.1)};\n border-top-left-radius: ${(props) => props.theme.radii[0]};\n border-top-right-radius: ${(props) => props.theme.radii[0]};\n background-color: #efefef;\n color: #000;\n font-size: 16px;\n`;\n\nexport const Input = styled.input`\n ${FieldStyles}\n ${(props) =>\n props.hasErrors &&\n css`\n border-color: ${theme.colors.error};\n\n &:focus {\n border-color: ${theme.colors.error};\n }\n `}\n`;\n\nexport const SelectWrap = styled.div`\n position: relative;\n z-index: ${theme.zIndex.select.wrap};\n border-top-left-radius: ${(props) => props.theme.radii[0]};\n border-top-right-radius: ${(props) => props.theme.radii[0]};\n background-color: #efefef;\n\n ::after {\n content: \"\";\n position: absolute;\n background: url(${select}) no-repeat;\n top: 50%;\n transform: translateY(-50%);\n /* right: 10px; */\n ${size(8, 15)};\n background-size: contain;\n ${isRTL(i18n.language)\n ? css`\n left: 10px;\n `\n : css`\n right: 10px;\n `}\n }\n`;\n\n// Unable to extend SelectWrap for some reason\nconst InlineSelectWrap = styled.div`\n position: relative;\n display: inline-block;\n z-index: ${theme.zIndex.select.wrap};\n border: grey;\n\n ::after {\n content: \"\";\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n background-size: contain;\n /* Triangle */\n width: 0;\n height: 0;\n border-left: 10px solid transparent;\n border-right: 10px solid transparent;\n border-top: blue;\n ${isRTL(i18n.language)\n ? css`\n left: 10px;\n `\n : css`\n right: 10px;\n `}\n }\n`;\n\nexport const Select = styled.select`\n ${FieldStyles}\n position: relative;\n z-index: ${theme.zIndex.select.select};\n background-color: transparent;\n appearance: none;\n cursor: pointer;\n\n ::-ms-expand {\n display: none; /* [1] */\n }\n`;\n\nconst InlineSelect = styled(Select)`\n display: inline-block;\n width: auto;\n ${isRTL(i18n.language)\n ? css`\n padding-left: 40px;\n `\n : css`\n padding-right: 40px;\n `}\n`;\n\nconst SearchInput = styled(Input)`\n ${isRTL(i18n.language)\n ? css`\n padding-right: 45px;\n `\n : css`\n padding-left: 45px;\n `}\n\n /* stylelint-disable property-no-vendor-prefix */\n -webkit-appearance: textfield;\n`;\n\nconst SearchIcon = styled.span`\n ${size(\"32px\")}\n position: absolute;\n top: 50%;\n left: ${(props) => props.theme.space[2]};\n border-radius: 50%;\n transform: translateY(-50%);\n background: ${(props) => props.theme.colors.yellow} url(${search}) no-repeat\n center;\n background-size: 16px 16px, auto;\n ${isRTL(i18n.language)\n ? css`\n right: ${(props) => props.theme.space[2]};\n `\n : css`\n left: ${(props) => props.theme.space[2]};\n `}\n`;\n\nexport const FieldCols = styled.div`\n position: relative;\n z-index: 1;\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n display: flex;\n }\n`;\n\nexport const FieldCol = styled.div`\n padding-right: ${({ theme }) => theme.space[2]};\n padding-left: ${({ theme }) => theme.space[2]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n flex: 1;\n }\n`;\n\ninterface ILabelHintProps {\n hint?: React.ReactNode;\n id: string;\n label: React.ReactNode;\n labelVisbility?: boolean;\n required?: boolean;\n}\n\ninterface IFieldProps extends ILabelHintProps {\n name?: string;\n value?: string | number;\n}\n\ninterface IInputProps extends IFieldProps {\n maxLength?: number;\n onChange?: (e: React.ChangeEvent) => void;\n onBlur?: (e: React.ChangeEvent) => void;\n type?: string;\n disabled?: boolean;\n readonly?: boolean;\n hasErrors?: boolean;\n required?: boolean;\n}\n\nexport const LabelHint: React.FC = ({\n id,\n label,\n hint,\n required = false,\n labelVisbility = true,\n}) => (\n \n {`${label}${required ? \"*\" : \"\"}`}\n {hint && {hint}}\n \n);\n\nconst InlineLabel: React.FC = ({\n id,\n label,\n labelVisbility = true,\n}) => (\n \n {label}\n \n);\n\nexport const InputField: React.FC = ({\n hint,\n id,\n label,\n maxLength,\n name,\n onBlur,\n onChange,\n type,\n value,\n required = true,\n hasErrors,\n disabled = false,\n readonly = false,\n labelVisbility = true,\n}) => (\n <>\n \n \n \n \n \n);\n\ninterface ISearchProps extends IFieldProps {\n onChange?: (e: React.ChangeEvent) => void;\n}\n\nexport const SearchField: React.FC = ({\n hint,\n id,\n label,\n name,\n onChange,\n value,\n ...rest\n}) => (\n <>\n \n \n \n \n \n \n);\n\ninterface INumberProps extends IFieldProps {\n ariaValueMax?: number;\n ariaValueMin?: number;\n ariaValueNow?: number;\n max?: string | number;\n min?: string | number;\n onChange?: (e: React.ChangeEvent) => void;\n step?: string | number;\n}\n\nexport const NumberField: React.FC = ({\n ariaValueMax,\n ariaValueMin,\n ariaValueNow,\n hint,\n id,\n label,\n max = \"\",\n min = \"\",\n name,\n onChange,\n step = \"\",\n value,\n}) => (\n <>\n \n \n \n);\n\nconst Checkbox = styled.input`\n ${hideVisually()};\n\n :hover + span::before {\n border-color: black;\n background-image: url('data:image/svg+xml;utf8,');\n }\n\n :focus + span {\n outline: -webkit-focus-ring-color auto 5px;\n }\n\n :checked + span::before {\n background-color: black;\n background-image: url('data:image/svg+xml;utf8,');\n }\n`;\n\ninterface ICheckboxText {\n hasLogo?: boolean;\n}\n\nconst CheckboxText = styled.span`\n display: inline-block;\n position: relative;\n padding: 6px 0 6px 42px;\n line-height: 1.6;\n\n ::before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 0;\n width: 30px;\n height: 30px;\n transform: translateY(-50%);\n border: 1px solid black;\n background-repeat: no-repeat;\n background-size: contain;\n vertical-align: middle;\n }\n\n ${({ hasLogo }) =>\n hasLogo &&\n css`\n display: flex;\n align-items: center;\n `}\n`;\n\ninterface ICheckboxProps {\n checked?: boolean;\n id: string;\n label: React.ReactNode;\n name?: string;\n onChange?: (e: React.FormEvent) => void;\n logo?: any;\n hideLabel?: boolean;\n}\n\nconst LogoImg = styled.img`\n height: 29px;\n width: auto;\n max-width: 100%;\n`;\n\nexport const CheckboxField: React.SFC = ({\n id,\n onChange,\n label,\n checked,\n logo,\n hideLabel = false,\n}) => {\n let labelStyles = {};\n if (hideLabel) {\n labelStyles = hideVisually;\n }\n\n return (\n
\n \n
\n );\n};\n\nCheckboxField.defaultProps = {\n checked: false,\n};\n\nexport const Fieldset = styled.fieldset`\n padding: 0;\n border: 0;\n`;\n\ninterface ILabelLegendProps {\n children: React.ReactNode;\n legend: string;\n}\n\nexport const LabelLegend: React.SFC = ({\n children,\n legend,\n}) => (\n
\n \n {legend}\n \n {children}\n
\n);\n\nconst Radio = styled.input`\n ${hideVisually()};\n\n &:hover + span::before {\n background-color: #e5e5e5;\n box-shadow: 0 0 0 0.2rem blue;\n }\n\n &:focus + span {\n outline: -webkit-focus-ring-color auto 5px;\n }\n\n &:checked + span::before {\n box-shadow: 0 0 0 0.2rem blue;\n background-color: blue;\n }\n`;\n\nconst RadioText = styled.span`\n display: inline-block;\n position: relative;\n padding: 6px 0 6px 42px;\n line-height: 1.6;\n\n &::before {\n /* [1] */\n display: inline-block;\n position: absolute;\n top: 50%;\n left: 0;\n width: 23px;\n height: 23px;\n transform: translateY(-50%);\n border: 5px solid white;\n border-radius: 50%;\n box-shadow: 0 0 0 2px #e5e5e5;\n content: \"\";\n vertical-align: middle;\n }\n`;\n\nconst StyledFieldFeedback = styled.p`\n color: ${theme.colors.error};\n margin-top: 0;\n`;\n\ninterface IOptions {\n checked?: boolean;\n id: string;\n label: string;\n onChange?: (e: React.FormEvent) => void;\n value: string;\n}\ninterface IRadioGroupProps {\n legend: React.ReactNode;\n name: string;\n options: IOptions[];\n}\n\nexport const RadioGroup: React.SFC = ({\n legend,\n name,\n options,\n}) => (\n
\n \n {legend}\n \n {options.map((o) => (\n
\n \n
\n ))}\n
\n);\n\ninterface ISelectProps extends IFieldProps {\n children: React.ReactNode;\n onBlur?: (e: React.ChangeEvent) => void;\n onChange?: (e: React.ChangeEvent) => void;\n required?: boolean;\n labelVisbility?: boolean;\n}\n\nexport const SelectField: React.FC = ({\n children,\n hint,\n id,\n label,\n onBlur,\n onChange,\n value,\n labelVisbility = true,\n required = true,\n}) => (\n <>\n \n \n \n \n \n \n \n);\n\nexport const InlineSelectField: React.FC = ({\n children,\n id,\n label,\n onChange,\n value,\n}) => (\n <>\n \n \n \n {children}\n \n \n \n);\n\ninterface IFieldFeedback {\n children: React.ReactNode;\n}\n\nexport const FieldFeedback: React.FC = ({ children }) => (\n {children}\n);\n","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 23,\n height: 46,\n viewBox: \"0 0 23 46\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFF\",\n d: \"M9.15525421,31.0129032 L16.9356028,0 L5.19229082,0 C2.32466778,0 0,2.13256883 0,4.76322581 L0,41.2367742 C0,43.8674312 2.32466778,46 5.19229082,46 L16.9194274,46 C19.7896788,46 22.1189798,43.8698296 22.1278936,41.2367742 L22.1278936,4.76322581 C22.1278936,2.13256883 19.8032258,0 16.9356028,0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#C8102E\",\n d: \"M14.2324477 8.42557239 14.2324477 8.58886473C14.5932024 8.78184659 14.7657372 8.93029418 15.1108069 9.15296555 16.0362209 9.70222162 17.1812248 10.6374414 17.04006 14.0665806 17.3067047 14.8088185 17.4164996 16.2636049 17.6517744 16.7237924 18.1109683 17.4529938 18.4345894 18.2513435 18.6085584 19.084109 18.6085584 19.084109 18.7497233 20.4201372 18.9222581 20.5685848 19.8790422 20.7764114 19.6123974 20.86548 19.7535623 21.0139276 19.8947271 21.1623752 20.4437016 21.1920647 20.4437016 21.6819417 20.6301995 21.9140492 20.7831686 22.168653 20.8985662 22.4390244L20.8985662 4.75891705C20.8985662 2.75027628 19.1780765 1.12195122 17.0557449 1.12195122L13.3697736 1.12195122C13.8472557 1.22962926 14.2561757 1.51989018 14.4990925 1.92356818 14.969642 1.92356818 15.5343014 2.96270127 14.6559423 4.46202188 15.0480669 4.69953801 14.7343672 5.07065697 14.4520375 5.50115497 14.3736126 5.6347578 14.2795027 5.93165297 14.0285429 5.93165297 13.6991583 6.5996671 13.2913487 7.23799171 12.977649 7.28252599 12.977649 7.3864393 12.8207991 7.68333447 12.977649 7.81693729 13.4335915 7.98563892 13.86148 8.21562021 14.2481327 8.49979618M20.8512084 24.9273663C20.2518786 26.3544947 18.6627673 27.1913204 17.0471959 26.9305584 15.4316244 26.6697964 14.2343626 25.3832351 14.1811923 23.8507896 14.1280219 22.3183442 15.2335808 20.9618997 16.8276778 20.6037347 16.4174354 19.6740801 15.5811722 18.1541686 15.3287154 17.6524503 15.0762586 17.1507319 14.5240093 14.0813962 14.4135594 13.4763829 14.4135594 13.3435751 12.8357043 14.2732296 12.8357043 14.3322553 12.8357043 14.391281 11.7469842 16.8703599 11.6996486 17.0031677 11.6523129 17.1359755 11.6996486 17.4311039 11.6996486 17.4311039 11.6996486 17.4311039 12.2045622 17.4311039 12.4885761 18.2869764 12.7725901 19.1428489 13.6404104 22.0646204 13.6404104 22.0646204 13.6404104 22.0646204 13.4037321 22.2859668 13.3879536 22.2712103 14.4766736 25.6799438 14.0979884 27.155586 14.5871235 28.1737791 15.202487 29.5756392 15.376051 29.3985621 15.8967432 30.5790759 16.2754285 31.4349484 16.7014494 34.8436818 16.8434563 35.0060025 17.3366934 35.4427362 17.6776279 36.0084359 17.8217265 36.6292089 17.8217265 37.0276323 17.3168129 38.1933896 17.5061555 38.872185 17.5628016 39.3759919 17.6846627 39.8715002 17.8690622 40.3478272 17.8690622 40.3478272 18.0584048 40.6872249 17.9637335 40.8347892 17.8690622 40.9823534 17.8848407 40.967597 17.9637335 41.0266226 18.2793045 42.089085 19.3364674 43.977907 17.6323839 44.8780488L17.6323839 44.8780488C19.5161187 44.6077896 20.9049598 43.089301 20.8985662 41.3069947L20.8512084 24.9273663Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#1D428A\",\n d: \"M16.7003687,40.5439984 C16.0420265,40.0096634 16.4699489,39.8018665 16.4534904,39.5940696 C16.025568,37.9910646 14.6265908,37.1005063 15.3507672,36.5068008 C15.1948723,36.0998163 15.0078943,35.7030624 14.7911764,35.3193897 C13.1909525,34.4121292 11.7253293,33.3248218 10.4296594,32.0836946 C10.0511127,31.697786 9.39277048,31.3267201 9.2775606,31.0150247 C7.86509615,29.4818939 6.62463919,27.8262656 5.57438582,26.0724261 L4.52103833,25.9388424 C4.04374025,24.1874111 2.46371901,22.7179899 2.41434335,20.9517159 C2.45927649,20.14605 2.61405446,19.3484401 2.87518288,18.5768938 C3.08174905,18.2858471 3.33715329,18.0254759 3.63227639,17.8050766 L3.63227639,17.3301122 C1.3445373,17.3301122 1.98642093,17.1816858 1.60787418,16.3801833 C1.3445373,15.8310057 1.60787418,15.7122646 1.60787418,15.326356 C2.07530662,14.058032 2.67028882,12.8308851 3.38539807,11.6602244 C3.5170665,11.2594731 3.94498892,10.2947017 3.94498892,10.2947017 C5.6566786,7.16290499 6.28210367,7.41522984 8.30650588,7.22227554 L8.40525721,7.0886918 C10.4296594,7.0886918 10.0511127,6.88089486 10.3802838,5.11462091 C10.0840298,5.23336201 10.001737,4.56544329 10.001737,4.56544329 C9.83715145,3.57098653 10.3144495,3.74909819 10.5284107,3.73425555 C10.5284107,2.08672271 10.7588305,1.56723037 12.0755149,1.12195122 L5.26167329,1.12195122 C3.03467016,1.12195122 1.22932742,2.75004372 1.22932742,4.75839759 L1.22932742,41.2416024 C1.22932742,43.2499563 3.03467016,44.8780488 5.26167329,44.8780488 L17.2105839,44.8780488 C15.8445239,44.2101301 16.650993,42.9485058 16.7003687,40.5439984 Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFF\",\n d: \"M7.38813608,42.6341463 L7.38813608,35.902439 L8.80003688,35.902439 C9.61147413,35.902439 10.0983365,36.3108797 10.0983365,37.2487805 L10.0983365,38.247191 C10.0983365,38.8522883 9.90359153,39.1699644 9.62770287,39.3212387 C9.95448507,39.5525346 10.1319651,39.9233393 10.0983365,40.3045218 L10.0983365,41.2878049 C10.0983365,42.2105782 9.57901664,42.6341463 8.80003688,42.6341463 L7.38813608,42.6341463 Z M8.34563203,39.7145519 L8.34563203,41.7870101 L8.71889316,41.7870101 C9.0596968,41.7870101 9.14084053,41.6206084 9.14084053,41.3029323 L9.14084053,40.1532475 C9.14084053,39.8355714 9.02723931,39.7145519 8.71889316,39.7145519 L8.34563203,39.7145519 Z M8.34563203,36.6890655 L8.34563203,38.912798 L8.71889316,38.912798 C9.0596968,38.912798 9.14084053,38.7917786 9.14084053,38.4287202 L9.14084053,37.1428885 C9.14084053,36.8252124 9.04346806,36.6890655 8.71889316,36.6890655 L8.34563203,36.6890655 Z M12.3703607,41.2272951 L11.4940085,41.2272951 L11.3154923,42.6341463 L10.3417676,42.6341463 L11.3154923,35.902439 L12.6949356,35.902439 L13.5226016,42.6341463 L12.483962,42.6341463 L12.3703607,41.2272951 Z M11.9321846,36.6890655 L11.9321846,36.6890655 C11.9321846,37.4908194 11.7536684,38.912798 11.721211,39.366621 L11.6076097,40.5314333 L12.354132,40.5314333 L12.2405308,39.366621 C12.2405308,38.912798 12.0620146,37.5059468 11.9808709,36.6890655 M4.53187699,42.6341463 L3.68798226,42.6341463 L3.68798226,35.902439 L5.01873934,35.902439 L6.0898365,41.4088243 C6.0898365,40.0927377 5.87886281,38.5043574 5.87886281,37.1428885 L5.87886281,35.902439 L6.72275755,35.902439 L6.72275755,42.6341463 L5.50560168,42.6341463 L4.43450452,37.2336531 C4.43450452,38.4741025 4.53187699,39.472513 4.53187699,40.5163058 L4.53187699,42.6341463 Z\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogo);\nexport default __webpack_public_path__ + \"static/media/logo.0710ce70.svg\";\nexport { ForwardRef as ReactComponent };","import { navigate } from \"@reach/router\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport useFormHook from \"../core/hooks/useFormHook\";\nimport { RootState, ThunkDispatch } from \"../core/store\";\nimport { getEntry } from \"../core/store/entries/reducers\";\nimport { fetchEntrySummary, updateEntry } from \"../core/store/entries/thunks\";\nimport { IEntry, IUpdateEntryData } from \"../core/store/entries/types\";\nimport { getEvents } from \"../core/store/events/reducers\";\nimport { IEvent } from \"../core/store/events/types\";\nimport { getPlayerData } from \"../core/store/player/reducers\";\nimport { ILoggedInPlayer, IPlayer } from \"../core/store/player/types\";\nimport { getTeams } from \"../core/store/teams/reducers\";\nimport { ITeam } from \"../core/store/teams/types\";\nimport { formatRawAsLocalI18n } from \"../core/utils/datetime\";\nimport { dateLocales } from \"../i18n\";\nimport Button from \"./Button\";\nimport {\n CheckboxField,\n FieldWrap,\n InputField,\n SelectField,\n} from \"./FieldRenderers\";\nimport { Main, Wrapper } from \"./Layout\";\nimport SubHeading from \"./SubHeading\";\nimport Title from \"./Title\";\n\nexport type ShirtValues = \"plain\" | \"stripes\" | \"hoops\";\n\nexport type SockValues = \"plain\" | \"hoops\";\n\ntype KitState = {\n \"ism-shirt-style\": ShirtValues;\n \"ism-sock-style\": SockValues;\n \"ism-shirt-color\": string;\n \"ism-shirt-style-color\": string;\n \"ism-sleeve-color\": string;\n \"ism-short-color\": string;\n \"ism-sock-color\": string;\n \"ism-sock-style-color\": string;\n};\n\nexport type FormState = KitState & {\n \"ism-team-name\": string;\n \"ism-fav-club\": number;\n \"ism-email\": boolean;\n \"ism-language\": string;\n};\n\nexport const initState = (entry: IEntry, player: IPlayer): FormState => ({\n \"ism-shirt-style\": \"plain\",\n \"ism-sock-style\": \"plain\",\n \"ism-shirt-color\": \"#E1E1E1\",\n \"ism-sleeve-color\": \"#E1E1E1\",\n \"ism-short-color\": \"#E1E1E1\",\n \"ism-sock-color\": \"#E1E1E1\",\n \"ism-shirt-style-color\": \"#E1E1E1\",\n \"ism-sock-style-color\": \"#E1E1E1\",\n \"ism-team-name\": entry.name,\n \"ism-fav-club\": entry.favourite_team || -1,\n \"ism-email\": player.entry_email ? true : false,\n \"ism-language\": player.entry_language || \"\",\n});\n\ntype Props = {\n entry: IEntry;\n player: IPlayer;\n events: IEvent[];\n teams: ITeam[];\n updateEntry: (data: IUpdateEntryData) => void;\n};\n\nconst EntryUpdate: React.FunctionComponent = ({\n entry,\n events,\n player,\n teams,\n updateEntry,\n}) => {\n const [\n formState,\n updateState,\n updateCheckboxState,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n updateColorState,\n updateSelectState,\n ] = useFormHook(initState(entry, player));\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n const fave = Number(formState[\"ism-fav-club\"]);\n updateEntry({\n name: formState[\"ism-team-name\"],\n kit: \"\",\n favourite_team: fave === -1 ? null : fave,\n email: formState[\"ism-email\"],\n language: formState[\"ism-language\"],\n });\n };\n\n const { i18n, t } = useTranslation();\n return (\n \n
\n \n
\n {t(\"entryUpdate.myDetails\", \"My Details\")}\n \n {t(\"entryUpdate.teamDetails\", \"Team Details\")}\n \n \n \n \n \n

\n {entry.name_change_blocked\n ? t(\n \"entryUpdate.p1n\",\n \"Your requested team name is currently pending moderation and can't be edited at this time.\"\n )\n : t(\n \"entryUpdate.p1\",\n \"Please think carefully before entering your team name. Teams with names that are deemed inappropriate or offensive may result in your account being deleted. Please refer to the Terms & Conditions of entry for more information.\"\n )}\n

\n
\n \n {t(\"entryUpdate.favouriteTeamHeadingn\", \"Favorite Team\")}\n \n \n \n \n\n {teams.map((t) => (\n \n {t.name}\n \n ))}\n \n {t(\"createEntryDialog.none\", \"None\")}\n \n \n \n \n

\n {t(\n \"entryUpdate.p2n\",\n \"Choose your favorite NBA team if you would like to be entered into a favorite team league. If you do not select an option before {{ firstRoundDeadline }}, you will not be entered into a favorite team league.\",\n {\n firstRoundDeadline: formatRawAsLocalI18n(\n events[0].deadline_time,\n dateLocales[i18n.language]\n ),\n }\n )}\n

\n
\n

\n {t(\n \"entryUpdate.newsletter.titlen\",\n \"Subscribe to Email Newsletters\"\n )}\n

\n \n \n \n \n
\n
\n
\n
\n );\n};\n\nexport { EntryUpdate as EntryUpdateTest };\n\ninterface IPropsFromState {\n entry: IEntry | null;\n events: IEvent[];\n player: ILoggedInPlayer;\n teams: ITeam[];\n}\n\ninterface IPropsFromDispatch {\n fetchEntry: (entryId: number) => void;\n updateEntry: (data: IUpdateEntryData) => void;\n}\n\ntype FetcherProps = IPropsFromState & IPropsFromDispatch;\n\nclass EntryUpdateFetcher extends React.Component {\n public componentDidMount() {\n this.props.fetchEntry(Number(this.props.player.entry));\n }\n public render() {\n return this.props.entry ? (\n \n ) : null;\n }\n}\n\nconst mapStateToProps = (state: RootState) => {\n const player = getPlayerData(state) as ILoggedInPlayer; // enforced by EntryRoute\n return {\n player,\n entry: getEntry(state, player.entry),\n events: getEvents(state),\n teams: getTeams(state),\n };\n};\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n fetchEntry: (entryId: number) => dispatch(fetchEntrySummary(entryId)),\n updateEntry: async (data: IUpdateEntryData) => {\n await dispatch(updateEntry(data))\n .then(() => navigate(\"/my-team\"))\n .catch(() => {});\n },\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(EntryUpdateFetcher);\n","import { ThunkResult } from \"..\";\nimport { apiGet } from \"../../utils/api\";\nimport * as actions from \"./actions\";\nimport {\n filterElements,\n getElementControls,\n getElements,\n getElementTypeFilterOptions,\n maxCostFromElements,\n} from \"./reducers\";\nimport { IElementControls } from \"./types\";\nimport { getWatched } from \"../player/reducers\";\n\nexport const updateElementControlsAndMaxCost =\n (controls: IElementControls): ThunkResult =>\n (dispatch, getState) => {\n const elements = getElements(getState());\n dispatch(\n actions.updateElementControls({\n ...controls,\n maxCost: maxCostFromElements(\n filterElements(elements, controls.filter, getWatched(getState()))\n ),\n })\n );\n };\n\nexport const updateElementTypeControl =\n (elementTypeId: number): ThunkResult =>\n (dispatch, getState) => {\n dispatch(\n updateElementControlsAndMaxCost({\n ...getElementControls(getState()),\n filter: getElementTypeFilterOptions(getState())[elementTypeId - 1]\n .value,\n })\n );\n };\n\nexport const getElementSummary =\n (elementId: number): ThunkResult =>\n async (dispatch) => {\n try {\n await apiGet(\n `element-summary/${elementId}/`,\n dispatch,\n actions.fetchElementSummary,\n { id: elementId }\n );\n } catch (e) {\n return;\n }\n };\n\nexport const showElementSummary =\n (elementId: number): ThunkResult =>\n async (dispatch) => {\n dispatch(actions.elementDialogShow(elementId));\n dispatch(getElementSummary(elementId));\n };\n\nexport const fetchEventLive =\n (eventId: number): ThunkResult =>\n async (dispatch) => {\n try {\n await apiGet(\n `event/${eventId}/live/`,\n dispatch,\n actions.fetchElementEventData,\n {\n id: eventId,\n }\n );\n } catch (e) {\n return;\n }\n };\n","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgInfo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 15,\n height: 15,\n viewBox: \"0 0 15 15\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 7.5,\n cy: 7.5,\n r: 7,\n fill: \"#FFF\",\n stroke: \"#000\"\n }), /*#__PURE__*/React.createElement(\"text\", {\n fill: \"#000\",\n fontFamily: \"Helvetica-Bold, Helvetica\",\n fontSize: 12,\n fontWeight: \"bold\"\n }, /*#__PURE__*/React.createElement(\"tspan\", {\n x: 7.5,\n y: 12,\n textAnchor: \"middle\"\n }, \"i\")))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgInfo);\nexport default __webpack_public_path__ + \"static/media/info.648e6fba.svg\";\nexport { ForwardRef as ReactComponent };","import { formatInTimeZone } from \"date-fns-tz\";\nimport * as React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport styled, { css } from \"styled-components/macro\";\nimport { IGroupFixture } from \"../core/store/fixtures/types\";\nimport { getTeamsById } from \"../core/store/teams/reducers\";\nimport { ITeam } from \"../core/store/teams/types\";\nimport { formatRawAsISO } from \"../core/utils/datetime\";\nimport Badge from \"./Badge\";\n\nconst StyledFixture = styled.div`\n display: flex;\n align-items: center;\n padding: ${(props) => `${props.theme.space[2]} ${props.theme.space[1]}`};\n`;\n\nconst StyledTeam = styled.div`\n font-size: 1.3rem;\n`;\n\nconst TeamStyles = css`\n flex: 0 0 calc(50% - (11rem / 2));\n text-align: start;\n`;\n\nconst TeamH = styled.div`\n ${TeamStyles}\n display: flex;\n align-items: center;\n`;\n\nconst TeamA = styled.div`\n ${TeamStyles}\n display: flex;\n align-items: center;\n justify-content: flex-end;\n text-align: end;\n`;\n\nconst TeamName = styled.div`\n vertical-align: middle;\n font-weight: 500;\n text-decoration: none;\n`;\n\nconst FixtureBadge = styled.div`\n display: inline-block;\n margin-right: 0.6rem;\n margin-left: 0.6rem;\n width: 40px;\n height: 40px;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n margin-right: 0.8rem;\n margin-left: 0.8rem;\n }\n`;\n\nconst FixtureDetails = styled.div`\n position: relative;\n flex: 0 0 11rem;\n padding: ${(props) =>\n `0.2rem ${props.theme.space[1]} ${props.theme.space[3]}`};\n text-align: center;\n`;\n\nconst FixtureBox = css`\n margin: 0 1.5rem;\n padding: 0.3rem 0.7rem;\n border-radius: ${(props) => props.theme.radii[2]};\n line-height: 1.1;\n font-weight: 500;\n white-space: nowrap;\n`;\n\nconst FixtureKOTime = styled.time`\n ${FixtureBox}\n border: 1px solid ${(props) => props.theme.colors.primary};\n`;\n\nconst FixtureVenue = styled.div`\n position: absolute;\n width: 100%;\n bottom: 0;\n left: 0;\n font-size: 1.1rem;\n text-align: center;\n`;\n\nconst FixtureScore = styled.div`\n ${FixtureBox}\n background-color: ${({ theme }) => theme.colors.primary};\n color: #fff;\n`;\n\ninterface ITeamProps {\n team: ITeam;\n}\n\nconst Team: React.FC = ({ team }) => (\n \n {team.name}\n \n);\ninterface IProps {\n fixture: IGroupFixture;\n}\n\nconst Fixture: React.FC = ({ fixture }) => {\n const teamsById = useSelector(getTeamsById);\n const teamH = teamsById[fixture.team_h];\n const teamA = teamsById[fixture.team_a];\n return (\n \n \n \n \n \n \n \n \n {fixture.started && fixture.team_h_score !== null ? (\n \n {fixture.team_a_score} - {fixture.team_h_score}\n \n ) : fixture.kickoff_time ? (\n \n {formatInTimeZone(\n fixture.kickoffDate,\n Intl.DateTimeFormat().resolvedOptions().timeZone,\n \"HH:mm\"\n )}\n \n ) : (\n -\n )}\n @\n \n \n \n \n \n \n \n \n );\n};\n\nexport default Fixture;\n","import styled, { css } from \"styled-components/macro\";\nimport i18n from \"../i18n\";\nimport { isRTL } from \"../utils/locale\";\n\nexport const Pager = styled.div`\n display: flex;\n`;\n\nconst PagerButtonNextStyles = isRTL(i18n.language)\n ? css`\n margin-right: auto;\n `\n : css`\n margin-left: auto;\n `;\n\nexport const EventPager = styled.div`\n display: flex;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n margin-top: -4.5rem;\n }\n`;\n\nexport const PagerItem = styled.div`\n flex: 1;\n padding: 0 ${(props) => props.theme.space[2]};\n`;\n\nexport const PagerButton = styled.div`\n flex-basis: 40%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n flex-basis: 30%;\n }\n`;\n\nexport const PagerButtonNext = styled(PagerButton)`\n ${PagerButtonNextStyles}\n`;\n\nexport const PagerHeading = styled.h3`\n margin: ${({ theme }) => theme.space[2]};\n font-family: ${(props) => props.theme.fonts.action};\n font-size: 3rem;\n text-transform: uppercase;\n text-align: center;\n padding: 0.8rem 1rem;\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n margin: 0 33%;\n }\n`;\n","import { format } from \"date-fns\";\nimport { rgba } from \"polished\";\nimport * as React from \"react\";\nimport { Trans, WithTranslation, withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled, { css } from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../core/store\";\nimport { getElementStatsByIdentifier } from \"../core/store/element-stats/reducers\";\nimport { IElementStat } from \"../core/store/element-stats/types\";\nimport { getElementsById } from \"../core/store/elements/reducers\";\nimport { showElementSummary } from \"../core/store/elements/thunks\";\nimport { IElementsById } from \"../core/store/elements/types\";\nimport {\n getCurrentEvent,\n getEventsById,\n getNextEvent,\n} from \"../core/store/events/reducers\";\nimport { IEvent, IEventsById } from \"../core/store/events/types\";\nimport { getGroupedFixturesByEvent } from \"../core/store/fixtures/reducers\";\nimport { fetchFixtures } from \"../core/store/fixtures/thunks\";\nimport {\n IFixtureStat,\n IFixtureStats,\n IGroupedFixturesByEvent,\n} from \"../core/store/fixtures/types\";\nimport { formatRawAsISO, formatRawAsLocalI18n } from \"../core/utils/datetime\";\nimport i18n, { dateLocales } from \"../i18n\";\nimport { ReactComponent as Logo } from \"../img/logo.svg\";\nimport Button from \"./Button\";\nimport ButtonLink from \"./ButtonLink\";\nimport Fixture from \"./Fixture\";\nimport { Pager, PagerButton, PagerButtonNext } from \"./Pager\";\nimport { BoldSubHeading } from \"./SubHeading\";\nimport { BoxWrap, PrimaryGradient } from \"./Utils\";\n\nconst FixtureHeader = styled.header``;\n\nconst Heading = styled.h3`\n ${PrimaryGradient}\n padding: ${(props) => props.theme.space[3]};\n display: flex;\n align-items: center;\n margin: auto 0;\n border-top-right-radius: ${(props) => props.theme.radii[1]};\n border-top-left-radius: ${(props) => props.theme.radii[1]};\n color: white;\n font-family: ${(props) => props.theme.fonts.body};\n font-size: ${(props) => props.theme.fontSizes[3]};\n font-weight: 500;\n text-transform: uppercase;\n ${i18n.language === \"tr\" &&\n css`\n text-transform: capitalize;\n `}\n`;\n\nconst HeadingText = styled.span`\n margin-inline-start: ${(props) => props.theme.space[2]};\n line-height: 1;\n`;\n\nconst Deadline = styled.h2`\n display: flex;\n align-items: center;\n justify-content: center;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 40%;\n margin: -4.8rem auto 0;\n }\n`;\n\nconst EventName = styled.span`\n margin: 0 0.6rem 0 1.5rem;\n font-family: ${(props) => props.theme.fonts.action};\n font-size: 3.5rem;\n font-weight: 500;\n text-transform: uppercase;\n\n ${i18n.language === \"he\" &&\n css`\n margin: 0 1.5rem 0 0.6rem;\n `}\n`;\n\nconst DeadlineTime = styled.time`\n margin-right: ${({ theme }) => theme.space[3]};\n font-weight: normal;\n font-size: ${(props) => props.theme.fontSizes[1]};\n\n ${i18n.language === \"he\" &&\n css`\n margin-right: 0;\n margin-left: ${({ theme }) => theme.space[3]};\n `}\n`;\n\nconst Note = styled.p`\n color: #6c6c6c;\n text-align: center;\n`;\n\nconst FixtureList = styled.ul`\n margin: 0;\n padding: 0;\n list-style: none;\n`;\n\nconst FixtureItem = styled.li`\n padding: 0;\n border-bottom: 1px solid #d8d8d8;\n list-style: none;\n`;\n\nconst FixtureButton = styled.button`\n width: 100%;\n padding: 0;\n border: 0;\n background-color: ${(props) =>\n props.isOpen ? props.theme.colors.yellow : \"transparent\"};\n text-align: left;\n cursor: pointer;\n\n :hover {\n background-color: ${(props) => props.theme.colors.yellow};\n }\n`;\n\nconst FixtureStatsWrap = styled.div`\n display: ${(props) => (props.isOpen ? \"block\" : \"none\")};\n padding: ${({ theme }) => `${theme.space[4]} 5%`};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[0]}) {\n padding-right: 15%;\n padding-left: 15%;\n }\n`;\n\nconst FixtureStatsOuterList = styled.ul`\n list-style: none;\n padding: 0;\n`;\n\nconst FixtureStat = styled.li`\n margin-bottom: ${({ theme }) => theme.space[4]};\n box-shadow: 1px 2px 10px 2px ${rgba(\"black\", 0.1)};\n background-color: white;\n`;\n\nconst FixtureStatHeading = styled.h5`\n ${PrimaryGradient}\n margin: 0;\n padding: 0.3rem ${({ theme }) => theme.space[2]};\n color: white;\n font-size: ${({ theme }) => theme.fontSizes[1]};\n font-weight: bold;\n text-align: center;\n`;\n\nconst FixtureStatBody = styled.div`\n display: flex;\n padding-top: ${({ theme }) => theme.space[1]};\n padding-bottom: ${({ theme }) => theme.space[1]};\n border-width: 0 1px 1px;\n border-style: solid;\n border-color: ${(props) => props.theme.colors.yellow};\n border-bottom-left-radius: 5px;\n border-bottom-right-radius: 5px;\n`;\n\nconst FixtureStatList = styled.ul`\n flex: 1;\n padding-right: ${({ theme }) => theme.space[2]};\n padding-left: ${({ theme }) => theme.space[2]};\n\n :first-child {\n border-right: 1px solid #e2e2e2;\n text-align: end;\n }\n`;\n\nconst FixtureStatItem = styled.li`\n padding-top: ${({ theme }) => theme.space[1]};\n padding-bottom: ${({ theme }) => theme.space[1]};\n border-bottom: 1px solid #e2e2e2;\n font-size: ${({ theme }) => theme.fontSizes[1]};\n list-style: none;\n\n :last-child {\n border-bottom: 0;\n }\n`;\n\nconst ElementButton = styled.button`\n background-color: transparent;\n padding: 0;\n border: 0;\n color: black;\n font-size: ${({ theme }) => theme.fontSizes[2]};\n\n :hover {\n text-decoration: underline;\n cursor: pointer;\n }\n`;\n\ninterface IFixtureStatsForTeamProps {\n elementsById: IElementsById;\n showElementDialog: (elementId: number) => void;\n stats: IFixtureStat[];\n}\n\nconst FixtureStatsForTeam: React.FC = ({\n elementsById,\n showElementDialog,\n stats,\n}) => (\n \n {stats\n .filter((fs) => elementsById[fs.element])\n .map((fs) => (\n \n showElementDialog(fs.element)}>\n {elementsById[fs.element].web_name}\n {\" \"}\n ({fs.value})\n \n ))}\n \n);\n\ninterface IFixtureStatsProps {\n elementsById: IElementsById;\n showElementDialog: (elementId: number) => void;\n stats: IFixtureStats[];\n statsByIdentifier: Record;\n}\n\ninterface IStyledFixtureStatsProps {\n isOpen?: boolean;\n}\n\ntype FixtureStatProps = IFixtureStatsProps & IStyledFixtureStatsProps;\n\nconst FixtureStats: React.FC = ({\n elementsById,\n isOpen = false,\n showElementDialog,\n stats,\n statsByIdentifier,\n}) => {\n // Our render stats should contain only stats with data and a maximum\n // of 5 per team of BPS\n const renderStats = stats\n .filter((stat) => stat.h.length || stat.a.length)\n .map((stat) =>\n stat.identifier === \"bps\"\n ? {\n identifier: stat.identifier,\n h: stat.h.slice(0, 5),\n a: stat.a.slice(0, 5),\n }\n : stat\n );\n return (\n \n \n {renderStats.map((stat) => (\n \n \n {statsByIdentifier[stat.identifier].label}\n \n \n \n \n \n \n ))}\n \n \n );\n};\n\ninterface IOwnProps {\n eventId?: number;\n useLinks?: boolean;\n}\n\ninterface IPropsFromDispatch {\n fetchFixturesForEvent: (eventId: number) => void;\n showElementDialog: (elementId: number) => void;\n}\n\ninterface IPropsFromState {\n currentEvent: IEvent | null;\n elementsById: IElementsById;\n eventsById: IEventsById;\n groupedFixturesByEvent: IGroupedFixturesByEvent;\n nextEvent: IEvent | null;\n statsByIdentifier: Record;\n}\n\ntype Props = IOwnProps & WithTranslation & IPropsFromDispatch & IPropsFromState;\n\ninterface IState {\n eventId: number;\n isOpen: Record;\n}\n\nclass Fixtures extends React.Component {\n public constructor(props: Props) {\n super(props);\n let eventId = 0;\n if (props.eventId) {\n eventId = props.eventId;\n } else if (props.nextEvent) {\n eventId = props.nextEvent.id;\n } else if (props.currentEvent) {\n eventId = props.currentEvent.id;\n }\n this.state = { eventId, isOpen: {} };\n }\n\n public componentDidMount() {\n this.props.fetchFixturesForEvent(this.state.eventId);\n }\n\n public changeEvent = (eventId: number) => {\n this.props.fetchFixturesForEvent(eventId);\n this.setState({ eventId });\n };\n\n public toggle = (fixtureId: number) => {\n this.setState({\n isOpen: {\n ...this.state.isOpen,\n [fixtureId]: !this.state.isOpen[fixtureId],\n },\n });\n };\n\n public render() {\n const {\n elementsById,\n eventsById,\n groupedFixturesByEvent,\n i18n,\n showElementDialog,\n statsByIdentifier,\n t,\n useLinks = false,\n } = this.props;\n const { eventId } = this.state;\n const event = eventsById[eventId];\n if (!event) {\n return null;\n }\n\n const eventFixtureGroups = groupedFixturesByEvent[eventId] || [];\n return (\n
\n \n \n \n \n {t(\"fixtures.title\", \"Schedule\")}\n \n \n \n {eventsById[eventId - 1] && (\n \n {useLinks ? (\n this.changeEvent(eventId - 1)}\n fullwidth=\"true\"\n >\n {t(\"fixtures.previous\", \"Previous\")}\n \n ) : (\n this.changeEvent(eventId - 1)}\n fullwidth=\"true\"\n >\n {\" \"}\n {t(\"fixtures.previous\", \"Previous\")}\n \n )}\n \n )}\n {eventsById[eventId + 1] && (\n \n {useLinks ? (\n this.changeEvent(eventId + 1)}\n fullwidth=\"true\"\n >\n {t(\"fixtures.next\", \"Next\")}\n \n ) : (\n this.changeEvent(eventId + 1)}\n fullwidth=\"true\"\n >\n {t(\"fixtures.next\", \"Next\")}\n \n )}\n \n )}\n \n \n \n {event.name}: \n \n {formatRawAsLocalI18n(\n event.deadline_time,\n dateLocales[i18n.language]\n )}\n \n \n \n \n \n All times are shown in your local time\n \n \n {/* {event.id >= 39 && event.id <= 43 && (\n \n \n \n {t(\n \"fixtures.TBD\",\n \"Schedule to be announced at a later date\"\n )}\n \n \n \n )} */}\n {eventFixtureGroups.map((group) => (\n
\n \n \n \n \n {group.fixtures.map((f) => (\n \n {f.started && f.team_h_score !== null ? (\n \n this.toggle(f.id)}\n isOpen={this.state.isOpen[f.id]}\n >\n \n \n \n \n ) : (\n \n \n \n )}\n \n ))}\n \n
\n ))}\n
\n
\n );\n }\n}\n\nexport { Fixtures as FixturesTest };\n\nconst mapStateToProps = (state: RootState, ownProps: IOwnProps) => ({\n currentEvent: getCurrentEvent(state),\n elementsById: getElementsById(state),\n eventsById: getEventsById(state),\n groupedFixturesByEvent: getGroupedFixturesByEvent(state),\n nextEvent: getNextEvent(state),\n statsByIdentifier: getElementStatsByIdentifier(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n fetchFixturesForEvent: (eventId) => dispatch(fetchFixtures(eventId)),\n showElementDialog: (elementId) => dispatch(showElementSummary(elementId)),\n});\n\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(Fixtures)\n);\n","import { RouteComponentProps } from \"@reach/router\";\nimport React, { useEffect } from \"react\";\nimport { createPageViewData } from \"../utils/tealium\";\nimport Fixtures from \"./Fixtures\";\nimport { Main, Wrapper } from \"./Layout\";\n\nconst FixturesWrapper: React.FC> = ({\n eventId = 0,\n}) => {\n useEffect(() => {\n createPageViewData(\"schedule\");\n }, []);\n\n return (\n \n
\n \n
\n
\n );\n};\n\nexport default FixturesWrapper;\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport { getElements } from \"../../core/store/elements/reducers\";\nimport { getElementTypes } from \"../../core/store/element-types/reducers\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { RootState } from \"../../core/store\";\nimport { ITeam, ITeamsById } from \"../../core/store/teams/types\";\nimport { IElement } from \"../../core/store/elements/types\";\nimport { IElementType } from \"../../core/store/element-types/types\";\nimport { RouteComponentProps } from \"@reach/router\";\nimport { integerToMoney } from \"../../core/utils/money\";\nimport { Wrapper, Main } from \"../Layout\";\nimport Table from \"../Table\";\nimport SubHeading from \"../SubHeading\";\nimport { integerToDecimal } from \"../../utils/decimal\";\n\ninterface IElementListElementProps {\n element: IElement;\n team: ITeam;\n}\nconst ElementListElement: React.FC = ({\n element,\n team,\n}) => (\n \n {element.web_name}\n {team.name}\n {integerToDecimal(element.total_points, 10)}\n ${integerToMoney(element.now_cost, 10)}\n \n);\n\ninterface IElementListTableProps {\n elements: IElement[];\n teamsById: ITeamsById;\n}\nconst ElementListTable: React.FC = ({\n elements,\n teamsById,\n}) => (\n \n \n \n \n \n \n \n \n \n \n {elements.map((element) => (\n \n ))}\n \n
PlayerTeamPointsCost
\n);\n\ninterface IElementListPositionProps {\n elements: IElement[];\n elementType: IElementType;\n teamsById: ITeamsById;\n}\nconst ElementListPosition: React.FC = ({\n elements,\n elementType,\n teamsById,\n}) => {\n const halfElements = Math.ceil(elements.length / 2);\n const firstHalfElements = elements.slice(0, halfElements);\n const secondHalfElements = elements.slice(halfElements, elements.length);\n return (\n \n
\n {elementType.plural_name}\n
\n \n \n
\n
\n
\n );\n};\n\ninterface IPropsFromState {\n elements: IElement[];\n elementTypes: IElementType[];\n teamsById: ITeamsById;\n}\n\ntype Props = RouteComponentProps & IPropsFromState;\n\nconst PlayerList: React.FC = ({ elements, elementTypes, teamsById }) => (\n
\n {elementTypes.map((et) => (\n e.element_type === et.id)\n .sort((a, b) => b.now_cost - a.now_cost)}\n elementType={et}\n key={et.id}\n teamsById={teamsById}\n />\n ))}\n
\n);\n\nexport { PlayerList as PlayerListTest };\n\nconst mapStateToProps = (state: RootState) => ({\n elements: getElements(state),\n elementTypes: getElementTypes(state),\n teamsById: getTeamsById(state),\n});\n\nexport default connect(mapStateToProps)(PlayerList);\n","export default __webpack_public_path__ + \"static/media/arrow-up.dc27a724.svg\";","export const HERO_IMAGES = [\n {\n language: \"de\",\n alt_text: \"Gewinn eine Reise zu den NBA Finals\",\n },\n {\n site: \"main_en\",\n language: \"en\",\n alt_text: \"Win a trip to the NBA finals\",\n },\n {\n language: \"el\",\n alt_text: \"\",\n },\n {\n language: \"es\",\n alt_text: \"Gana un viaje a las Finales NBA\",\n },\n {\n language: \"fr\",\n alt_text: \"Gagnez un voyage pour les Finales NBA\",\n },\n {\n language: \"it\",\n alt_text: \"Vinci un viaggio alle NBA Finals\",\n },\n {\n language: \"pt\",\n alt_text: \"Ganhe uma viagem para as finais da NBA\",\n },\n {\n language: \"ar\",\n alt_text: \"\",\n },\n {\n site: \"main_us\",\n language: \"en\",\n alt_text: \"Your decisions. Your team.\",\n },\n {\n language: \"he\",\n alt_text: \"\",\n },\n {\n language: \"tr\",\n alt_text: \"\",\n },\n];\n","import { useTranslation } from \"react-i18next\";\nimport styled from \"styled-components\";\nimport { HERO_IMAGES } from \"../utils/heroImages\";\nimport { getSite } from \"../utils/sites\";\n\nconst HomeHeroWrap = styled.div`\n margin: ${({ theme }) => theme.space[4]} ${({ theme }) => theme.space[2]};\n position: relative;\n`;\n\nconst HomeHero = () => {\n const { i18n } = useTranslation();\n const site = getSite();\n const path = `${process.env.PUBLIC_URL}/img/hero/`;\n\n return (\n <>\n {HERO_IMAGES.map((locale) => {\n const lang =\n locale.site && site === locale.site ? locale.site : locale.language;\n const imagePath = `${path}${lang}`;\n return (locale.site && site === locale.site) ||\n (!locale.site && i18n.language === locale.language) ? (\n \n \n \n \n \n \n ) : null;\n })}\n \n );\n};\n\nexport default HomeHero;\n","import { navigate } from \"@reach/router\";\nimport { rgba } from \"polished\";\nimport React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect, ConnectedProps } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled, { css } from \"styled-components/macro\";\nimport { RootState } from \"../core/store\";\nimport { getLoginError, getPlayerData } from \"../core/store/player/reducers\";\nimport { login } from \"../core/store/player/thunks\";\nimport { ILoginData } from \"../core/store/player/types\";\nimport i18n from \"../i18n\";\nimport { isRTL } from \"../utils/locale\";\nimport {\n createInteractionData,\n createCustomInteractionData,\n} from \"../utils/tealium\";\nimport Alert from \"./Alert\";\nimport Button from \"./Button\";\nimport Copy from \"./Copy\";\nimport { FieldWrap, InputField } from \"./FieldRenderers\";\nimport SubHeading from \"./SubHeading\";\n\nconst LoginWrapper = styled.div`\n padding: 0 ${(props) => props.theme.space[4]};\n border-radius: ${(props) => props.theme.radii[2]};\n background-color: ${(props) => props.theme.colors.white};\n color: ${(props) => props.theme.colors.offBlack};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n box-shadow: 1px 2px 10px 2px\n ${({ theme }) => `${rgba(`${theme.colors.offBlack}`, 0.1)}`};\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n padding: ${(props) => props.theme.space[4]};\n box-shadow: 1px 2px 10px 2px\n ${({ theme }) => `${rgba(`${theme.colors.offBlack}`, 0.1)}`};\n }\n`;\n\nconst LoginSection = styled.div`\n display: flex;\n flex-direction: column;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n position: relative;\n flex-direction: row;\n gap: 6%;\n }\n`;\n\nconst PromoMain = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n flex: 55%;\n padding-top: ${(props) => props.theme.space[2]};\n }\n`;\n\nconst PromoCopy = styled.p``;\n\nconst HomeSubHeading = styled(SubHeading)`\n font-family: ${(props) => props.theme.fonts.action};\n text-transform: uppercase;\n color: inherit;\n font-style: italic;\n font-size: 6.5rem;\n`;\n\nconst Username = styled(FieldWrap)``;\n\nconst LoginForgetPassword = styled.div`\n display: flex;\n flex-direction: column;\n gap: 8px;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n flex-direction: row;\n align-items: center;\n gap: ${(props) => props.theme.space[3]};\n }\n`;\n\nconst Password = styled(FieldWrap)``;\n\nconst ButtonSeparation = styled.div`\n margin-bottom: ${(props) => props.theme.space[3]};\n text-align: center;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n display: none;\n }\n`;\n\nconst LoginButtonWrap = styled.div`\n flex: 1;\n width: 100%;\n margin-bottom: ${({ theme }) => theme.space[2]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n margin: 0;\n }\n`;\n\nconst CreateAccountButtonWrap = styled.div`\n margin-bottom: ${({ theme }) => theme.space[2]};\n`;\n\nconst LoginForm = styled.form`\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n flex: 45%;\n }\n`;\n\nconst LoginButton = styled(Button)`\n display: block;\n margin-bottom: ${({ theme }) => theme.space[2]};\n padding: 1.5rem;\n border-radius: ${(props) => props.theme.radii[1]};\n background-color: ${(props) => props.theme.colors.yellow};\n text-align: center;\n text-decoration: none;\n font-weight: 500;\n color: black;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n position: absolute;\n width: 320px;\n bottom: 0;\n ${isRTL(i18n.language)\n ? css`\n right: 0;\n `\n : css`\n left: 0;\n `}\n }\n`;\n\nconst LoginTitle = styled.h3`\n margin-top: 0;\n margin-bottom: ${(props) => props.theme.space[3]};\n font-size: 2rem;\n`;\n\nconst mapState = (state: RootState) => ({\n error: getLoginError(state),\n player: getPlayerData(state),\n});\n\nconst mapDispatch = {\n login: (data: ILoginData) => login(data),\n};\nconst connector = connect(mapState, mapDispatch);\n\ntype PropsFromRedux = ConnectedProps;\n\nconst Login: React.FC = ({ error, login, player }) => {\n const [email, setEmail] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n const { t } = useTranslation();\n const handleCreateAccount = () => {\n createInteractionData({\n contentTitle: \"home\",\n interactionId: \"nba-fantasy-game:create-account:cta\",\n interactionText: t(\"login.form.create\", \"Create account\"),\n });\n navigate(\"/player/\");\n };\n\n useEffect(() => {\n if (error) {\n createCustomInteractionData({\n contentTitle: \"home\",\n interactionId: \"fantasy:sign-in:error\",\n ampEventName: \"User Account: Login Error\",\n errorDetail: \"Incorrect login details\",\n });\n }\n }, [error]);\n\n // TODO - Probably should send user to correct page after login\n const doLogin = (e: React.FormEvent) => {\n e.preventDefault();\n createInteractionData({\n contentTitle: \"home\",\n interactionId: \"nba-fantasy-game:sign-in:cta\",\n interactionText: t(\"login.form.loginCta\", \"Login\"),\n });\n\n login({\n email,\n password,\n });\n };\n\n if (player && player.id) {\n return (\n \n \n

\n {t(\n \"login.loggedInAs\",\n \"You are logged in as {{firstName}} {{lastName}}\",\n {\n firstName: player.first_name,\n lastName: player.last_name,\n }\n )}\n

\n
\n
\n );\n }\n\n return (\n <>\n \n \n \n \n {t(\"home.promoHeading\", \"Play NBA Fantasy\")}\n \n \n {t(\n \"home.promoCopyn\",\n \"Create your account or sign in with your NBA ID to play the new NBA Fantasy game. Create a league and invite your friends to see who will win.\"\n )}\n \n \n \n {error && (\n \n \n {t(\"login.incorrectDetails\", \"Incorrect login details\")}\n \n \n )}\n {t(\"login.title\", \"Login\")}\n \n setEmail(e.target.value)}\n value={email}\n />\n \n \n setPassword(e.target.value)}\n value={password}\n />\n \n \n \n \n {t(\"login.form.loginCta\", \"Login\")}\n \n \n\n {\n createInteractionData({\n contentTitle: \"home\",\n interactionId: \"nba-fantasy-game:forgot-password:cta\",\n interactionText: t(\n \"login.form.forgotPwd\",\n \"Forgot your password?\"\n ),\n ampEventName: \"User Account: Begin Forgot Password\",\n });\n }}\n >\n {t(\"login.form.forgotPwd\", \"Forgot your password?\")}\n \n \n \n or\n \n \n \n {t(\"login.form.create\", \"Create account\")}\n \n \n \n \n \n \n );\n};\n\nexport default connector(Login);\n","import styled from \"styled-components\";\nimport SubHeading from \"./SubHeading\";\nimport { useTranslation } from \"react-i18next\";\nimport { getSite } from \"../utils/sites\";\n\nconst HomeSubHeading = styled(SubHeading)`\n color: inherit;\n font-family: ${(props) => props.theme.fonts.action};\n font-size: 6.5rem;\n font-style: italic;\n text-transform: uppercase;\n`;\n\nconst VideoEmbed = styled.div`\n display: flex;\n justify-content: center;\n margin: ${({ theme }) => `${theme.space[4]} ${theme.space[2]}`};\n`;\n\nconst PromoVideoSection = styled.div`\n margin: ${({ theme }) =>\n `${theme.space[5]} ${theme.space[2]} ${theme.space[3]}`};\n text-align: center;\n`;\n\nconst PromoVideo = () => {\n const { t } = useTranslation();\n const site = getSite();\n\n const srcUrl =\n site === \"main_br\"\n ? \"https://www.youtube.com/embed/Y9bwLu7JWZk?si=CEFJ47PthA5NPk24\"\n : site === \"main_fr\"\n ? \"https://www.youtube.com/embed/vFQLxUiifgg?si=aHt-Loau4_JLFkoN\"\n : \"https://www.youtube.com/embed/z3ZBZ_43oIE?si=pl6weGD66BDhnnRc\";\n\n return (\n \n {t(\"home.videoHeadingn\", \"how to play\")}\n \n \n \n \n );\n};\n\nexport default PromoVideo;\n","import { ellipsis, rgba } from \"polished\";\nimport React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport styled, { css } from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { getElementsById } from \"../../core/store/elements/reducers\";\nimport { IElementsById } from \"../../core/store/elements/types\";\nimport {\n getEntry,\n getPhaseStandingsForEntryPhaseLeague,\n} from \"../../core/store/entries/reducers\";\nimport { fetchEntryPhaseStandings } from \"../../core/store/entries/thunks\";\nimport { IEntry, IEntryPhaseStanding } from \"../../core/store/entries/types\";\nimport { getCurrentEvent } from \"../../core/store/events/reducers\";\nimport { IEvent } from \"../../core/store/events/types\";\nimport { getPhases } from \"../../core/store/phases/reducers\";\nimport { IPhase } from \"../../core/store/phases/types\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { IPlayer } from \"../../core/store/player/types\";\nimport i18n from \"../../i18n\";\nimport { integerToDecimal } from \"../../utils/decimal\";\nimport { isRTL } from \"../../utils/locale\";\nimport ButtonLink from \"../ButtonLink\";\n\nconst alignment = isRTL(i18n.language) ? \"to left\" : \" to right\";\n\nconst EventInfoGradient = css`\n background-image: linear-gradient(\n ${alignment},\n ${(props) => props.theme.colors.red} 10%,\n ${(props) => props.theme.colors.pink}\n );\n`;\n\nconst StyledEventInfo = styled.div`\n margin: ${({ theme }) => theme.space[2]};\n padding: 0.3rem 0;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n margin: ${({ theme }) => theme.space[4]};\n padding: 0.3rem;\n border-radius: ${({ theme }) => theme.radii[2]};\n box-shadow: 1px 2px 10px 2px\n ${({ theme }) => `${rgba(`${theme.colors.offBlack}`, 0.1)}`};\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n margin-inline-start: 0;\n margin-inline-end: 0;\n }\n`;\n\nconst Background = styled.div`\n background-color: ${(props) => props.theme.colors.white};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n padding: ${(props) => props.theme.space[3]};\n border-radius: ${(props) => props.theme.radii[1]};\n }\n`;\n\nconst EventItems = styled.ul`\n display: flex;\n gap: ${(props) => props.theme.space[4]};\n flex-direction: column;\n margin: 0;\n padding: 0;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n justify-content: space-around;\n flex-direction: row;\n }\n`;\n\nconst EventItem = styled.li`\n ${EventInfoGradient}\n flex: 1;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n padding: ${({ theme }) => `${theme.space[2]} ${theme.space[4]}`};\n border-radius: ${({ theme }) => theme.radii[2]};\n color: ${({ theme }) => theme.colors.white};\n list-style-type: none;\n font-size: ${({ theme }) => theme.fontSizes[3]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n align-self: center;\n padding: ${({ theme }) => `${theme.space[7]} ${theme.space[3]}`};\n }\n`;\n\nconst ButtonWrap = styled.div`\n display: flex;\n flex-direction: column;\n gap: ${({ theme }) => theme.space[2]};\n flex: 0.7;\n align-self: center;\n width: 100%;\n`;\n\nconst ItemHeading = styled.h3`\n flex: 0 0 calc(65%);\n margin: 0;\n color: inherit;\n font-size: ${({ theme }) => theme.fontSizes[1]};\n font-weight: 400;\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n flex: 0 0 calc(60%);\n font-size: ${({ theme }) => theme.fontSizes[2]};\n }\n`;\n\nconst ItemValue = styled.div`\n flex: 0 0 calc(35%);\n ${ellipsis()};\n font-size: 3rem;\n color: inherit;\n text-align: end;\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n flex: 0 0 calc(40%);\n font-size: ${({ theme }) => theme.fontSizes[4]};\n }\n`;\n\ninterface IPropsFromState {\n elementsById: IElementsById;\n entry: IEntry | null;\n now: IEvent | null;\n player: IPlayer;\n entryPhaseStandings: IEntryPhaseStanding | undefined;\n activePhase: IPhase | undefined;\n}\n\ninterface IPropsFromDispatch {\n fetchEntryPhaseStandings: (entryId: number, phaseId: number) => void;\n}\n\ntype Props = IPropsFromState & IPropsFromDispatch;\n\nconst EventInfo: React.FC = ({\n entry,\n now,\n fetchEntryPhaseStandings,\n activePhase,\n entryPhaseStandings,\n}) => {\n const { t } = useTranslation();\n\n useEffect(() => {\n if (activePhase && entry) {\n fetchEntryPhaseStandings(entry.id, activePhase.id);\n }\n }, [activePhase, entry, fetchEntryPhaseStandings]);\n\n if (!now || !entry) {\n return null;\n }\n\n const heGameWeek = activePhase?.name.split(\" \")[2];\n const gameWeek =\n i18n.language === \"he\" ? heGameWeek : activePhase?.name.split(\" \")[1];\n const gameDay = now.name;\n\n const phaseTotalPoints = entryPhaseStandings\n ? Number(entryPhaseStandings.total)\n : 0;\n\n return (\n \n \n \n \n \n {t(\"eventInfo.GameweekPoints\", \"Gameweek {{gameWeek}} points\", {\n gameWeek,\n })}\n \n \n {integerToDecimal(phaseTotalPoints, 10) || \"-\"}\n \n \n \n \n {t(\"eventInfo.GamedayPoints\", \"{{ gameDay }} points\", {\n gameDay,\n })}\n \n \n {entry.summary_event_points\n ? integerToDecimal(entry.summary_event_points, 10)\n : \"-\"}\n \n \n \n \n {t(\"myTeamN\", \"Edit line-up\")}\n \n \n {t(\"transactionsN\", \"Make Transactions\")}\n \n \n {t(\"myLeaguesN\", \"View leagues\")}\n \n \n \n \n \n );\n};\n\nconst mapStateToProps = (state: RootState): IPropsFromState => {\n const player = getPlayerData(state) as IPlayer;\n const entryId = player.entry || 0;\n const now = getCurrentEvent(state) as IEvent;\n const phases = getPhases(state);\n const entry = getEntry(state, entryId);\n const overallLeague = entry\n ? entry.leagues.classic.filter((l) => l.short_name === \"overall\")\n : null;\n const activePhase = phases.find(\n (p) =>\n p.id > 1 &&\n p.start_event <= Number(now.id) &&\n p.stop_event >= Number(now.id)\n );\n const entryPhaseStandings =\n activePhase && overallLeague\n ? getPhaseStandingsForEntryPhaseLeague(\n state,\n entryId,\n activePhase.id,\n overallLeague[0].id\n )\n : undefined;\n return {\n elementsById: getElementsById(state),\n entry: getEntry(state, entryId),\n now,\n player,\n entryPhaseStandings,\n activePhase,\n };\n};\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n fetchEntryPhaseStandings: (entryId: number, phaseId: number) =>\n dispatch(fetchEntryPhaseStandings(entryId, phaseId)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(EventInfo);\n","import styled, { css } from \"styled-components/macro\";\n\nconst ScorePrefixStyles = css`\n text-transform: uppercase;\n padding-inline-end: ${({ theme }) => theme.space[1]};\n &&& {\n font-weight: 600;\n }\n`;\n\nexport const WinPrefix = styled.span`\n ${ScorePrefixStyles}\n color: ${({ theme }) => theme.colors.green};\n`;\n\nexport const LosePrefix = styled.span`\n ${ScorePrefixStyles}\n color: ${({ theme }) => theme.colors.red};\n`;\n\nexport const DrawPrefix = styled.span`\n ${ScorePrefixStyles}\n color: ${({ theme }) => theme.colors.offBlack};\n`;\n","import { rgba } from \"polished\";\nimport { useTranslation } from \"react-i18next\";\nimport styled, { css } from \"styled-components/macro\";\nimport { IFixture } from \"../../core/store/fixtures/types\";\nimport { ITeamsById } from \"../../core/store/teams/types\";\nimport Badge from \"../Badge\";\nimport { DrawPrefix, LosePrefix, WinPrefix } from \"../ScorePrefix\";\nimport { FixtureCellStyles, FixtureCellPositionStyles } from \"../Utils\";\n\ninterface IProps {\n fixture?: IFixture;\n teamsById: ITeamsById;\n teamId: number;\n}\n\ninterface IFixtureProps {\n isPlayed?: boolean;\n hasFixture?: boolean;\n}\n\nconst FixtureWrap = styled.div`\n ${FixtureCellPositionStyles}\n ${FixtureCellStyles}\n flex-direction: row-reverse;\n display: flex;\n justify-content: center;\n\n ${(props) =>\n props.isPlayed &&\n css`\n padding: 2px ${({ theme }) => theme.space[2]};\n border: ${(props) => `1px solid ${props.theme.colors.greyLight}`};\n border-radius: ${(props) => props.theme.radii[1]};\n background-color: ${(props) => props.theme.colors.white};\n `};\n\n ${(props) =>\n props.hasFixture &&\n !props.isPlayed &&\n css`\n background-color: ${(props) =>\n `${rgba(`${props.theme.colors[\"green\"]}`, 0.15)}`};\n `}\n\n ${(props) =>\n !props.hasFixture &&\n css`\n background-color: ${(props) =>\n `${rgba(`${props.theme.colors[\"red\"]}`, 0.15)}`};\n `}\n`;\n\nconst FixtureName = styled.div`\n display: flex;\n align-items: center;\n gap: 0.1rem;\n font-weight: 500;\n`;\n\nconst FixtureCell = ({ fixture, teamId, teamsById }: IProps) => {\n const { t } = useTranslation();\n const hasFixture = !!fixture;\n\n if (!hasFixture) {\n return (\n \n -\n \n );\n }\n\n if (fixture) {\n const isHome = teamId === fixture.team_h;\n const team = isHome ? teamsById[fixture.team_a] : teamsById[fixture.team_h];\n const prefix = isHome\n ? t(\"fixtureCell.oppHome\", \"vs\")\n : t(\"fixtureCell.oppAway\", \"@\");\n const isPlayed =\n fixture.team_h_score !== null &&\n fixture.team_a_score !== null &&\n fixture.started;\n\n if (isPlayed)\n return (\n \n \n {prefix}\n \n \n \n {fixture.team_h_score! === fixture.team_a_score! ? (\n {t(\"fixtureCell.draw\", \"D\")}\n ) : fixture.team_h_score! > fixture.team_a_score! && isHome ? (\n {t(\"fixtureCell.win\", \"W\")}\n ) : fixture.team_a_score! > fixture.team_h_score! && !isHome ? (\n {t(\"fixtureCell.win\", \"W\")}\n ) : (\n {t(\"fixtureCell.lose\", \"L\")}\n )}\n \n \n );\n else\n return (\n \n \n {prefix}\n \n \n \n );\n }\n return null;\n};\n\nexport default FixtureCell;\n","import { hideVisually, rgba } from \"polished\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\nimport styled, { css } from \"styled-components/macro\";\nimport {\n getCurrentEvent,\n getEventsById,\n} from \"../../core/store/events/reducers\";\nimport { getFixturesByEvent } from \"../../core/store/fixtures/reducers\";\nimport { getPhases } from \"../../core/store/phases/reducers\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { ITeam } from \"../../core/store/teams/types\";\nimport i18n from \"../../i18n\";\nimport { getPrefixedEventShortName } from \"../../utils/events\";\nimport { isRTL } from \"../../utils/locale\";\nimport Badge from \"../Badge\";\nimport Panel from \"../Panel\";\nimport Table, { ScrollTable } from \"../Table\";\nimport { FixtureCellStyles, FixtureCellPositionStyles } from \"../Utils\";\nimport FixtureCell from \"./FixtureCell\";\n\nconst Wrapper = styled.div`\n border-radius: ${({ theme }) => theme.radii[1]};\n box-shadow: 1px 2px 10px 2px\n ${({ theme }) => `${rgba(`${theme.colors.offBlack}`, 0.1)}`};\n`;\n\nconst PanelPaddingWrap = styled.div`\n padding: ${({ theme }) => theme.space[2]};\n`;\n\nconst StyledScrollTable = styled(ScrollTable)`\n overflow-x: auto;\n`;\n\nconst TableFixed = styled(Table)`\n table-layout: fixed;\n`;\n\nconst TableRow = styled.tr`\n &&& {\n background: transparent;\n }\n`;\n\nconst StyledTableHeaderNarrow = styled.th`\n &&& {\n position: relative;\n width: 60px;\n border-bottom: none;\n padding: 0.2rem;\n }\n`;\n\nconst StyledTableHeader = styled.th`\n &&& {\n position: relative;\n width: 80px;\n border-bottom: none;\n overflow: hidden;\n text-align: center;\n padding: 0.2rem;\n font-weight: 500;\n\n &:first-child {\n z-index: 1;\n position: sticky;\n padding-right: 0.3rem;\n background: ${({ theme }) => theme.colors.white};\n\n ${isRTL(i18n.language)\n ? css`\n right: 0;\n `\n : css`\n left: 0;\n `};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 120px;\n }\n }\n }\n`;\n\nconst TeamNameWrap = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n font-size: 1.2rem;\n font-weight: 500;\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n justify-content: space-between;\n }\n`;\n\nconst TeamNameDisplay = styled.div`\n padding: 0.2rem;\n @media (max-width: ${({ theme }) => theme.breakpoints[2]}) {\n ${hideVisually()};\n }\n`;\n\nconst RowTitleCell = styled.td`\n &&& {\n position: sticky;\n left: 0px;\n right: 0px;\n z-index: 1;\n width: 130px;\n padding: 0.2rem;\n border-bottom: none;\n overflow: hidden;\n\n // Using linear gradient in place of border bottom as border bottom didn't stay sticky\n\n background-image: linear-gradient(\n ${({ theme }) => theme.colors.white} 98%,\n ${({ theme }) => theme.colors.greyLight} 2%\n );\n }\n`;\n\nconst StyledTableCell = styled.td`\n &&& {\n padding: 0 0.2rem;\n border-bottom: none;\n position: relative;\n }\n`;\n\nconst GWDayCell = styled.div`\n ${FixtureCellStyles}\n background-color: #f5f5f5;\n text-align: center;\n`;\n\nconst Team = styled.div`\n ${FixtureCellPositionStyles}\n ${FixtureCellStyles}\n background-color: #f5f5f5;\n`;\n\nconst TotalGames = styled.div`\n ${FixtureCellPositionStyles}\n ${FixtureCellStyles}\n background-color: ${({ theme }) =>\n `${rgba(`${theme.colors.offBlack}`, 0.05)}`};\n font-weight: 500;\n`;\n\nconst TotalFixtures = styled.div`\n ${FixtureCellPositionStyles}\n ${FixtureCellStyles}\n padding: 1.2rem;\n background-color: ${({ theme }) =>\n `${rgba(`${theme.colors.offBlack}`, 0.1)}`};\n font-weight: 500;\n`;\n\nconst GameweekScheduleTracker = () => {\n const { t } = useTranslation();\n const teamsById = useSelector(getTeamsById);\n const now = useSelector(getCurrentEvent);\n const activePhaseEvent = now ? now.id : 1;\n const fixturesByEvent = useSelector(getFixturesByEvent);\n const activePhase = useSelector(getPhases).find(\n (p) =>\n p.id > 1 &&\n p.start_event <= activePhaseEvent &&\n p.stop_event >= activePhaseEvent\n );\n const eventsById = useSelector(getEventsById);\n const gameDays: [string, number][] = [];\n let totalCounts: Record = {};\n const teamsArray: ITeam[] = [];\n\n Object.values(teamsById).forEach((team) => {\n teamsArray.push(team);\n });\n\n if (activePhase) {\n for (let i = activePhase.start_event; i <= activePhase.stop_event; i++) {\n gameDays.push([getPrefixedEventShortName(eventsById[i].name), i]);\n teamsArray.forEach((team) => {\n if (!totalCounts[team.id]) {\n totalCounts[team.id] = 0;\n }\n const fixtCount =\n fixturesByEvent[i] &&\n fixturesByEvent[i].find(\n (f) => f.team_h === team.id || f.team_a === team.id\n );\n if (fixtCount) {\n totalCounts[team.id] += 1;\n }\n });\n }\n }\n\n // Sort the team list alphabetically by name\n teamsArray.sort((a, b) => a.name.localeCompare(b.name, i18n.language));\n\n return (\n \n \n \n \n \n \n \n \n \n \n Team\n \n \n Games\n \n {gameDays.map(([gameDay, eventId]) => (\n \n {gameDay}\n \n ))}\n \n \n \n {teamsById &&\n teamsArray.map((team) => {\n return (\n \n \n \n {team.name}\n \n \n \n\n \n \n {totalCounts && totalCounts[team.id]}\n \n \n {gameDays.map(([gameDay, eventId]) => (\n \n \n f.team_h === team.id ||\n f.team_a === team.id\n )\n }\n teamsById={teamsById}\n />\n \n ))}\n \n );\n })}\n \n \n \n \n \n \n \n );\n};\n\nexport default GameweekScheduleTracker;\n","import { IElement } from \"../core/store/elements/types\";\n\n// news_added is string || null, so to\n// convert it to a number in order to compare it.\nexport const compareDates = (a: IElement, b: IElement) => {\n const dateA = a.news_added ? new Date(a.news_added).getTime() : 0;\n const dateB = b.news_added ? new Date(b.news_added).getTime() : 0;\n return dateA - dateB;\n};\n\nexport const comparePrice = (a: IElement, b: IElement) => {\n return b.now_cost - a.now_cost;\n};\n","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgStatus(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n textAnchor: \"middle\",\n width: 15,\n height: 15,\n viewBox: \"0 0 15 15\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 7.5,\n cy: 7.5,\n r: 7,\n fill: \"currentColor\"\n }), /*#__PURE__*/React.createElement(\"text\", {\n fill: \"#FFF\",\n fontFamily: \"Helvetica-Bold, Helvetica\",\n fontSize: 12,\n fontWeight: \"bold\"\n }, /*#__PURE__*/React.createElement(\"tspan\", {\n x: 7.502,\n y: 12\n }, \"!\")))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgStatus);\nexport default __webpack_public_path__ + \"static/media/status.b5e195f0.svg\";\nexport { ForwardRef as ReactComponent };","var _rect;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgNoFixtureHyphen(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 17,\n height: 5,\n viewBox: \"0 0 17 5\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.5,\n y: 0.5,\n width: 16,\n height: 4,\n fill: \"#7A7A7A\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNoFixtureHyphen);\nexport default __webpack_public_path__ + \"static/media/no-fixture-hyphen.ce6baa2a.svg\";\nexport { ForwardRef as ReactComponent };","import { size } from \"polished\";\nimport * as React from \"react\";\nimport styled from \"styled-components/macro\";\nimport { IElement } from \"../core/store/elements/types\";\nimport { ReactComponent as Info } from \"../img/icons/info.svg\";\nimport { ReactComponent as Status } from \"../img/icons/status.svg\";\n\nconst StyledInfo = styled(Info)`\n ${size(14)}\n display: block;\n margin: auto;\n\n .box {\n fill: white;\n }\n\n .icon {\n fill: blue;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n ${size(16)}\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n ${size(20)}\n }\n`;\n\nconst StyledStatus = styled(Status)<{ copnr: number }>`\n ${size(14)}\n display: block;\n margin: auto;\n fill: ${(props) => props.theme.colors.elementStatus[props.copnr].bg};\n color: ${(props) => props.theme.colors.elementStatus[props.copnr].color};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n ${size(16)}\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n ${size(20)}\n }\n`;\n\ninterface IProps {\n element: IElement;\n}\n\nconst ElementStatus: React.FC = ({ element }) => {\n const copnr = element.chance_of_playing_next_round as number;\n return element.news ? : ;\n};\n\nexport default ElementStatus;\n","import * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport styled, { css } from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../core/store\";\nimport { getElementsById } from \"../core/store/elements/reducers\";\nimport { showElementSummary } from \"../core/store/elements/thunks\";\nimport { IElementsById } from \"../core/store/elements/types\";\nimport ElementStatus from \"./ElementStatus\";\nimport { useTranslation } from \"react-i18next\";\n\nconst StyledElementDialogButton = styled.button`\n display: block;\n width: 100%;\n padding: 1.7rem 14%;\n border: 0;\n background-color: transparent;\n line-height: 1;\n cursor: pointer;\n\n ${({ variant }) =>\n variant === \"pitch\" &&\n css`\n padding: 0;\n background-color: transparent;\n `}\n`;\n\ninterface IPropsFromDispatch {\n showElementDialog: (elementId: number) => void;\n}\n\ninterface IPropsFromState {\n elementsById: IElementsById;\n}\n\ninterface IOwnProps {\n elementId: number;\n}\n\ninterface IStyledProps {\n variant?: \"list\" | \"pitch\";\n}\n\ntype Props = IPropsFromDispatch & IPropsFromState & IOwnProps & IStyledProps;\n\nconst ElementDialogButton: React.FC = ({\n elementId,\n elementsById,\n showElementDialog,\n variant = \"pitch\",\n}) => {\n const { t } = useTranslation();\n return (\n showElementDialog(elementId)}\n title={t(\"viewInfoTitle\", \"View player information\")}\n variant={variant}\n >\n \n \n );\n};\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n elementsById: getElementsById(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n showElementDialog: (elementId) => dispatch(showElementSummary(elementId)),\n});\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(ElementDialogButton);\n","import { IEvent } from \"../core/store/events/types\";\nimport { FixturesByEvent } from \"../core/store/fixtures/types\";\nimport { IElement } from \"../core/store/elements/types\";\n\nexport const getNextElementFixtures = (\n nextEvent: IEvent | null,\n numberOfFixtures: number,\n fixturesByEvent: FixturesByEvent,\n element: IElement\n) => {\n const elementFixtures: any[] = [];\n if (nextEvent) {\n for (let i = 0; i < numberOfFixtures; i++) {\n const eventId = nextEvent.id + i;\n if (fixturesByEvent[eventId]) {\n // No chance of a team having more than one fixture\n const fixture = fixturesByEvent[eventId].find(\n (f: any) => f.team_h === element.team || f.team_a === element.team\n );\n if (fixture) {\n elementFixtures[i] = fixture;\n } else {\n elementFixtures[i] = { code: null };\n }\n }\n }\n }\n return elementFixtures;\n};\n","import * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\nimport { isRTL } from \"../utils/locale\";\nimport i18n from \"../i18n\";\n\nconst StyledMedia = styled.div`\n display: flex;\n ${(props) =>\n props.centred &&\n css`\n align-items: center;\n `}\n`;\n\nconst Img = styled.div`\n margin-inline-end: ${({ theme }) => theme.space[2]};\n`;\n\nconst Body = styled.div`\n flex: 1;\n ${isRTL(i18n.language)\n ? css`\n text-align: right;\n `\n : css`\n text-align: left;\n `}\n /* For ElementInTable webname ellipsis */\n max-width: 100%;\n overflow: hidden;\n`;\n\ninterface IStyledMediaProps {\n centred: boolean | undefined;\n}\n\ninterface IMediaProps {\n img: React.ReactNode;\n centred?: boolean;\n children: React.ReactNode;\n}\n\nconst Media: React.FC = ({ img, centred, children }) => (\n \n {img}\n {children}\n \n);\n\nMedia.defaultProps = {\n centred: false,\n};\n\nexport default Media;\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgTransferArrowDown(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 12,\n viewBox: \"0 0 22 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.6673 10.9022C11.2875 11.2424 10.7125 11.2424 10.3327 10.9022L0.39021 1.99482C-0.293233 1.38253 0.13988 0.250002 1.05748 0.250002L20.9425 0.25C21.8601 0.25 22.2932 1.38253 21.6098 1.99482L11.6673 10.9022Z\",\n fill: \"#C70909\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTransferArrowDown);\nexport default __webpack_public_path__ + \"static/media/transfer-arrow-down.15527864.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport styled, { css } from \"styled-components/macro\";\nimport { getTeamsById } from \"../core/store/teams/reducers\";\nimport i18n from \"../i18n\";\n\nconst StyledTeamCode = styled.p`\n display: inline-block;\n margin: 0;\n color: ${(props) => props.theme.colors.teams[props.code].dark};\n font-size: 1.5rem;\n font-weight: ${(props) => (props.isSmall ? \"500\" : \"normal\")};\n text-decoration: none;\n\n ${(props) =>\n !props.isSmall &&\n css`\n font-family: ${(props) => props.theme.fonts.action};\n font-size: 3rem;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n font-size: 3.5rem;\n }\n `}\n\n ${i18n.language === \"tr\" &&\n css`\n text-transform: lowercase;\n &::first-letter {\n text-transform: uppercase;\n }\n `}\n`;\n\ninterface IStyledProps {\n isSmall?: boolean;\n code: number;\n}\n\ninterface IProps {\n isSmall?: boolean;\n teamId: number;\n}\n\nconst TeamCode: React.FC = ({ isSmall, teamId }) => {\n const teamsById = useSelector(getTeamsById);\n const team = teamsById[teamId];\n\n return (\n \n {team.short_name}\n \n );\n};\n\nexport default TeamCode;\n","import * as React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\nimport styled, { css } from \"styled-components/macro\";\nimport { RootState } from \"../core/store\";\nimport { getElementTypesById } from \"../core/store/element-types/reducers\";\nimport { getElement } from \"../core/store/elements/reducers\";\nimport i18n from \"../i18n\";\nimport { isRTL } from \"../utils/locale\";\nimport Media from \"./Media\";\nimport Shirt from \"./Shirt\";\nimport TeamCode from \"./TeamCode\";\nimport { Ellipsis } from \"./Utils\";\n\nconst MenuButton = styled.button`\n width: 100%;\n padding: 0;\n border: 0;\n background-color: transparent;\n color: black;\n font-family: inherit;\n text-align: left;\n line-height: 1;\n cursor: pointer;\n`;\n\nconst Name = styled.div`\n :hover {\n text-decoration: underline;\n }\n text-align: start;\n`;\n\nconst SecondName = styled.span`\n font-weight: 500;\n`;\n\ninterface IStyledElementType {\n elementTypeId: number;\n}\n\nconst StyledElementType = styled.p`\n display: inline-block;\n ${isRTL(i18n.language)\n ? css`\n margin: ${(theme) => `0 ${theme.theme.space[2]} 0 0`};\n `\n : css`\n margin: ${(theme) => `0 0 0 ${theme.theme.space[2]}`};\n `}\n color: ${(props) =>\n props.theme.colors.elementTypes[props.elementTypeId].colors[0]};\n font-weight: 300;\n font-style: italic;\n font-size: 1.3rem;\n text-decoration: none;\n`;\n\ninterface IProps {\n elementId: number;\n renderElementMenu: () => void;\n}\n\nconst ElementInTable: React.FC = ({ elementId, renderElementMenu }) => {\n const { t } = useTranslation();\n const element = useSelector((state: RootState) =>\n getElement(state, elementId)\n );\n const elementTypesById = useSelector(getElementTypesById);\n\n if (!element) {\n return null;\n }\n\n const elementType = elementTypesById[element.element_type];\n\n return (\n \n } centred={true}>\n \n
\n {element.first_name}\n
\n
\n \n {element.second_name}\n \n
\n
\n
\n \n \n {elementType.id === 2\n ? t(\"elementType.frontcourtShort\", \"{{short}}\", {\n short: elementType.singular_name_short,\n })\n : t(\"elementType.backcourtShort\", \"{{short}}\", {\n short: elementType.singular_name_short,\n })}\n \n
\n
\n
\n );\n};\n\nexport default ElementInTable;\n","import { size } from \"polished\";\nimport React from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport { connect, useSelector } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { RootState } from \"../../core/store\";\nimport { getElementTypesBySquadPosition } from \"../../core/store/element-types/reducers\";\nimport { IElementTypesBySquadPosition } from \"../../core/store/element-types/types\";\nimport { getElementsById } from \"../../core/store/elements/reducers\";\nimport { IElement, IElementsById } from \"../../core/store/elements/types\";\nimport { getNextEvent, getNextNEvents } from \"../../core/store/events/reducers\";\nimport { getFixturesByEvent } from \"../../core/store/fixtures/reducers\";\nimport {\n getProposedElements,\n getSavedPicks,\n} from \"../../core/store/squad/reducers\";\nimport { IProposedElements, ISavedPicks } from \"../../core/store/squad/types\";\nimport { integerToMoney } from \"../../core/utils/money\";\nimport { ReactComponent as NoFixtureHyphen } from \"../../img/icons/no-fixture-hyphen.svg\";\nimport { integerToDecimal } from \"../../utils/decimal\";\nimport { getPrefixedEventShortName } from \"../../utils/events\";\nimport { getNextElementFixtures } from \"../../utils/fixtures\";\nimport Badge from \"../Badge\";\nimport ElementDialogButton from \"../ElementDialogButton\";\nimport ElementInTable from \"../ElementInTable\";\nimport { ElementCell, ElementRow, ElementTable } from \"../ElementTable\";\nimport { ScrollTable } from \"../Table\";\nimport Tooltip, { TooltipLabel } from \"../Tooltip\";\n\nconst SquadListStatus = styled.th`\n width: 7%;\n`;\n\nconst StyledElementType = styled.span`\n font-weight: 500;\n text-transform: uppercase;\n`;\n\nconst SquadListElement = styled.th`\n width: 30%;\n font-family: ${(props) => props.theme.fonts.body};\n\n ${StyledElementType} {\n font-size: ${(props) => props.theme.fontSizes[3]};\n }\n`;\n\nconst SquadListPrice = styled.th`\n width: 11%;\n`;\n\nconst SquadListForm = styled.th`\n width: 10%;\n`;\n\nconst SquadListPoints = styled.th`\n width: 10%;\n`;\n\nexport const SquadListFixture = styled.th`\n width: 12%;\n`;\n\nconst NoFixture = styled(NoFixtureHyphen)`\n ${size(16)}\n margin: auto;\n`;\n\nconst FixtureCell = styled.td`\n text-align: center;\n`;\n\ninterface ISquadListRowProps {\n elementsById: IElementsById;\n elementTypesByPosition: IElementTypesBySquadPosition | null;\n proposedElements: IProposedElements;\n pos: number;\n renderElementMenu: (position: number) => void;\n savedPicks: ISavedPicks;\n}\n\nconst TransfersListRow: React.FC = ({\n elementsById,\n elementTypesByPosition,\n proposedElements,\n pos,\n renderElementMenu,\n savedPicks,\n}) => {\n let element = proposedElements[pos];\n // TODO - We need a visual indicator of the row elementState, in the past we\n // have rendered the '0' shirt instead of the regular one\n let elementState: \"original\" | \"removed\" | \"replaced\" = \"original\";\n if (!element) {\n element = elementsById[savedPicks[pos].element];\n elementState = \"removed\";\n } else if (element.id !== savedPicks[pos].element) {\n elementState = \"replaced\";\n }\n\n const elementRowVariant = elementState === \"removed\" ? \"invalid\" : \"\";\n const fixturesByEvent = useSelector(getFixturesByEvent);\n const nextEvent = useSelector(getNextEvent);\n const neededFixtures = 5;\n const elementFixtures =\n element &&\n getNextElementFixtures(nextEvent, neededFixtures, fixturesByEvent, element);\n\n if (!elementTypesByPosition) {\n return null;\n }\n\n return (\n \n \n \n \n \n renderElementMenu(pos)}\n elementId={element.id}\n />\n \n\n {elementState === \"replaced\" ? (\n {integerToMoney(element.now_cost, 10)}\n ) : (\n {integerToMoney(savedPicks[pos].selling_price, 10)}\n )}\n {integerToDecimal(Number(element.form), 10)}\n {integerToDecimal(element.total_points, 10)}\n\n {elementFixtures.map((fixture, index) =>\n fixture.code ? (\n \n \n \n ) : (\n \n \n \n )\n )}\n \n );\n};\n\ninterface IPropsFromState {\n elementsById: IElementsById;\n elementTypesByPosition: IElementTypesBySquadPosition | null;\n proposedElements: IProposedElements;\n savedPicks: ISavedPicks;\n}\n\ninterface IOwnProps {\n elementType: number;\n positions: number[];\n renderElementDialog: (element: IElement) => void;\n renderElementMenu: (pos: number) => void;\n}\n\ntype Props = IPropsFromState & IOwnProps & WithTranslation;\n\nconst TransfersListTable: React.SFC = ({\n t,\n elementType,\n elementTypesByPosition,\n positions,\n ...rest\n}) => {\n const next5Events = useSelector(getNextNEvents(5));\n\n if (!elementTypesByPosition) {\n return null;\n }\n\n const elementPosition =\n elementTypesByPosition[positions[0]].thisType.plural_name;\n\n return (\n \n \n \n \n  \n \n \n {elementPosition === \"Front Court\"\n ? t(\"elementType.frontcourtLong\", \"{{ elementPosition }}\", {\n elementPosition: elementPosition,\n })\n : t(\"elementType.backcourtLong\", \"{{ elementPosition}}\", {\n elementPosition: elementPosition,\n })}\n \n \n \n \n \n {t(\"squadListTabel.label.sellingPricen\", \"SS\")}\n \n \n \n \n \n \n {t(\"squadListTabel.label.form\", \"F\")}\n \n \n \n \n \n \n {t(\"squadListTabel.label.totalPoints\", \"TP\")}\n \n \n \n\n {next5Events.length\n ? next5Events.map((e) => (\n \n {getPrefixedEventShortName(e.name)}\n \n ))\n : null}\n \n \n \n {positions.map((p) => (\n \n ))}\n \n \n \n );\n};\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n elementsById: getElementsById(state),\n elementTypesByPosition: getElementTypesBySquadPosition(state),\n proposedElements: getProposedElements(state),\n savedPicks: getSavedPicks(state),\n});\n\nexport default withTranslation()(connect(mapStateToProps)(TransfersListTable));\n","import { rgba } from \"polished\";\nimport styled, { css } from \"styled-components/macro\";\nimport { SubStatus } from \"../core/store/my-team/types\";\nimport i18n from \"../i18n\";\nimport { isRTL } from \"../utils/locale\";\nimport { SquadListFixture } from \"./squad/TransfersListTable\";\nimport Table from \"./Table\";\n\ninterface IProps {\n elementTypeId?: number;\n}\n\nconst textStyleAdjustmentLocales: string[] = [\"ar\", \"de\", \"es\", \"he\"];\nconst gradientDirection = isRTL(i18n.language) ? \"to left\" : \"to right\";\n\nexport const ElementTable = styled(Table)`\n width: 100%;\n white-space: nowrap;\n table-layout: fixed;\n background-color: white;\n border-collapse: collapse;\n\n th,\n td {\n padding-top: 1rem;\n padding-bottom: 1rem;\n\n font-size: 1.1rem;\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n font-size: 1.4rem;\n }\n }\n th {\n ${textStyleAdjustmentLocales.includes(i18n.language) &&\n css`\n overflow-wrap: break-word;\n hyphens: auto;\n white-space: normal;\n font-size: 1.2rem;\n `}\n }\n\n ${SquadListFixture} {\n text-align: center;\n }\n\n ${(props) =>\n props.elementTypeId &&\n css`\n thead {\n tr {\n background-image: linear-gradient(\n ${gradientDirection},\n ${props.theme.colors.elementTypes[props.elementTypeId].colors[0]}\n 75%,\n ${props.theme.colors.elementTypes[props.elementTypeId].colors[1]}\n );\n background-attachment: fixed;\n }\n th {\n color: #fff;\n }\n }\n `}\n`;\n\nexport const PrimaryCell = styled.td`\n position: relative;\n text-align: center;\n`;\n\nexport const PrimaryCellLined = styled(PrimaryCell)`\n ::after {\n content: \"\";\n position: absolute;\n top: 1rem;\n left: 0;\n bottom: 1rem;\n display: block;\n width: 2px;\n background: white;\n }\n`;\n\ninterface IElementRowProps {\n variant?: SubStatus;\n}\n\nexport const ElementRow = styled.tr`\n td {\n padding: ${(props) => props.theme.space[1]};\n\n :first-child {\n padding: 0.2rem;\n }\n }\n\n ${(props) =>\n props.variant === \"instigator\" &&\n css`\n background-color: ${rgba(\"yellow\", 0.6)};\n `}\n\n ${(props) =>\n props.variant === \"target\" &&\n css`\n background-color: ${rgba(\"#f60\", 0.6)};\n `}\n\n ${(props) =>\n props.variant === \"invalid\" &&\n css`\n opacity: 0.6;\n `}\n`;\n\ninterface IElementCellProps {\n bold?: boolean;\n}\n\nexport const ElementCell = styled.td`\n position: relative;\n\n ::after {\n content: \"\";\n position: absolute;\n top: 1rem;\n right: 0;\n bottom: 1rem;\n display: block;\n width: 2px;\n background: white;\n }\n`;\n","import { ellipsis } from \"polished\";\nimport { useTranslation } from \"react-i18next\";\nimport styled, { css } from \"styled-components/macro\";\nimport { IElement } from \"../../core/store/elements/types\";\nimport { ITeamsById } from \"../../core/store/teams/types\";\nimport i18n from \"../../i18n\";\nimport { isRTL } from \"../../utils/locale\";\nimport TeamCode from \"../TeamCode\";\nimport Tooltip, { TooltipLabel } from \"../Tooltip\";\n\ninterface IProps {\n element: IElement;\n teamsById: ITeamsById;\n}\n\ninterface IStyledElementData {\n elementType: number;\n}\n\nconst ElementList = styled.ul`\n margin: 0;\n`;\n\nexport const ListItemStyles = css`\n list-style: none;\n text-align: start;\n`;\n\nconst FirstName = styled.li`\n ${ListItemStyles}\n`;\n\nconst SecondName = styled.li`\n ${ListItemStyles}\n ${ellipsis()};\n font-weight: 600;\n`;\n\nconst Team = styled.li`\n ${ListItemStyles}\n`;\n\nconst TeamPosition = styled.p`\n display: inline-block;\n margin: 0;\n padding-inline-start: ${({ theme }) => theme.space[2]};\n font-style: italic;\n ${(props) =>\n props.elementType &&\n css`\n color: ${props.theme.colors.elementTypes[props.elementType].colors[0]};\n `}\n`;\n\nconst StatusTableElement = ({ element, teamsById }: IProps) => {\n const { t } = useTranslation();\n const team = teamsById[element.team];\n const courtPosition =\n element.element_type === 1\n ? t(\"news.backcourtShort\", \"BC\")\n : t(\"news.frontcourtShort\", \"FC\");\n return (\n \n {element.first_name}\n {element.second_name}\n \n {isRTL(i18n.language) && (\n \n {courtPosition}\n \n )}\n \n \n \n {team.short_name}\n \n \n \n {!isRTL(i18n.language) && (\n \n {courtPosition}\n \n )}\n \n \n );\n};\nexport default StatusTableElement;\n","import { useTranslation } from \"react-i18next\";\nimport styled, { css } from \"styled-components/macro\";\nimport { IElement } from \"../../core/store/elements/types\";\nimport { ITeamsById } from \"../../core/store/teams/types\";\nimport { compareDates, comparePrice } from \"../../utils/playerNews\";\nimport Badge from \"../Badge\";\nimport BoldLink from \"../BoldLink\";\nimport ElementDialogButton from \"../ElementDialogButton\";\nimport { ElementRow, ElementTable, PrimaryCell } from \"../ElementTable\";\nimport Panel from \"../Panel\";\nimport { ScrollTable } from \"../Table\";\nimport StatusTableElement from \"./StatusTableElement\";\n\ninterface IProps {\n elements: IElement[];\n teamsById: ITeamsById;\n showLink: boolean;\n newsCount?: number;\n borderBottom: boolean;\n}\n\nconst StyledThead = styled.thead`\n visibility: collapse;\n`;\n\nconst InjuryTrackerTable = styled(ElementTable)`\n th:not(:nth-child(3)) {\n text-align: right;\n }\n`;\n\nconst StyledScrollTable = styled(ScrollTable)`\n overflow-y: auto;\n`;\n\nconst StatusCol = styled.th`\n width: 12%;\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 10%;\n }\n`;\n\nconst BadgeCol = styled.th`\n width: 5%;\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 10%;\n }\n`;\n\nconst PlayerCol = styled.th`\n width: 25%;\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 35%;\n }\n`;\n\nconst NewsCol = styled.th`\n width: 65%;\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 50%;\n }\n`;\n\nconst StyledPrimaryCell = styled(PrimaryCell)`\n text-align: start;\n`;\n\nexport const ListItemStyles = css`\n list-style: none;\n text-align: start;\n`;\n\nconst News = styled.span`\n display: inline-block;\n word-wrap: break-word;\n max-width: 60%;\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n max-width: 100%;\n }\n`;\n\nconst BoldLinkWrap = styled.div`\n text-align: end;\n`;\n\nconst InjuryTracker = ({\n elements,\n teamsById,\n showLink,\n newsCount,\n borderBottom,\n}: IProps) => {\n const { t } = useTranslation();\n\n let filteredNews = elements\n .filter((el) => el.news !== \"\")\n .sort(compareDates)\n .sort(comparePrice)\n .slice(0, newsCount);\n\n return (\n \n \n \n \n \n \n \n  \n  \n  \n  \n \n \n \n {filteredNews.map((element) => {\n const team = teamsById[element.team];\n return (\n \n \n \n \n \n \n \n \n \n \n \n {element.news}\n \n \n );\n })}\n \n \n \n \n \n {showLink && (\n \n \n {t(\"news.seeMore\", \"See more\")}\n \n \n )}\n \n \n );\n};\n\nexport default InjuryTracker;\n","import styled from \"styled-components\";\nimport { isSiteWithAd, PageAdData } from \"../../utils/adverts\";\nimport { getSite } from \"../../utils/sites\";\n\nconst AdWrap = styled.div`\n width: 95%;\n margin-left: auto;\n margin-top: ${({ theme }) => theme.space[1]};\n margin-right: auto;\n margin-bottom: ${({ theme }) => theme.space[6]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[0]}) {\n width: 85%;\n }\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n width: 70%;\n }\n`;\n\nconst PageAd = () => {\n const site = getSite();\n\n if (!isSiteWithAd(site, PageAdData)) {\n return null;\n }\n\n const adData = PageAdData[site];\n\n return (\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default PageAd;\n","import { size } from \"polished\";\nimport styled from \"styled-components/macro\";\n\nexport const ElementCardMain = styled.div`\n border-top-left-radius: ${(props) => props.theme.radii[1]};\n border-top-right-radius: ${(props) => props.theme.radii[1]};\n`;\n\nexport const ElementCardBadge = styled.div`\n ${size(40)}\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n ${size(50)}\n }\n`;\n\nexport const ElementCardTeam = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin: ${(props) => `0 ${props.theme.space[1]} -${props.theme.space[2]}`};\n`;\n\nexport const ShirtWrap = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 140px;\n margin: auto;\n }\n`;\n","import { rgba } from \"polished\";\nimport styled, { css } from \"styled-components/macro\";\nimport { SubStatus } from \"../core/store/my-team/types\";\n\nexport const PitchRow = styled.div`\n display: flex;\n justify-content: center;\n`;\n\nexport const PitchUnit = styled.div`\n flex: 0 0 calc(100% / 3);\n min-height: 7.2rem;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n min-height: 9.6rem;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n min-height: 11.6rem;\n }\n`;\n\nexport const PitchElementWrap = styled.div`\n ${(props) =>\n (props.variant === \"instigator\" || props.variant === \"target\") &&\n css`\n transition: all 0.15s;\n box-shadow: 0 0 0.6rem 0 rgba(0, 0, 0, 0.4);\n `}\n\n ${(props) =>\n props.variant === \"instigator\" &&\n css`\n background-color: ${rgba(\"yellow\", 0.6)};\n `}\n\n ${(props) =>\n props.variant === \"target\" &&\n css`\n background-color: ${rgba(\"#f60\", 0.6)};\n `}\n\n ${(props) =>\n props.variant === \"invalid\" &&\n css`\n opacity: 0.6;\n `}\n`;\n\nexport const PitchElementOuter = styled.div`\n position: relative;\n width: 11.7rem;\n margin: auto;\n padding: 2.5rem 0;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 15.5rem;\n }\n`;\n\nexport const PitchElementInner = styled.div`\n border-radius: ${(props) => props.theme.radii[1]};\n box-shadow: 1px 2px 10px 2px ${rgba(\"black\", 0.1)};\n background-color: #fff;\n opacity: ${(props) => (props.isRemoved ? \"0.8\" : \"1\")};\n`;\n\nexport const Controls = styled.div`\n display: block;\n`;\n\nexport const PrimaryControl = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n position: absolute;\n top: 0;\n inset-inline-end: ${(props) => props.theme.space[2]};\n }\n`;\n\nexport const InfoControl = styled.div`\n position: absolute;\n top: 0;\n inset-inline-start: ${(props) => props.theme.space[2]};\n`;\n\ninterface IWrapStyleProps {\n variant?: SubStatus;\n}\n\ninterface IPitchElementStyleProps {\n elementType?: number;\n isRemoved?: boolean;\n}\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\nimport styled, { css } from \"styled-components/macro\";\nimport Badge from \"../components/Badge\";\nimport { IElement } from \"../core/store/elements/types\";\nimport { getNextEvent } from \"../core/store/events/reducers\";\nimport { getFixturesByEvent } from \"../core/store/fixtures/reducers\";\n\ninterface IStyledPitchElementData {\n elementTypeId: number;\n}\n\ninterface IProps {\n element: IElement;\n}\n\nexport const ElementFixturesWrapper = styled.div`\n padding: ${({ theme }) => theme.space[1]};\n`;\n\nexport const NextFixtureWrapper = styled.div`\n display: flex;\n justify-content: center;\n height: ${({ theme }) => theme.space[6]};\n margin-bottom: ${({ theme }) => theme.space[1]};\n padding: ${({ theme }) => theme.space[1]};\n border-top-left-radius: ${({ theme }) => theme.radii[1]};\n border-top-right-radius: ${({ theme }) => theme.radii[1]};\n background-color: ${({ theme }) => theme.colors.white};\n opacity: 0.98;\n`;\n\nexport const FixtureField = styled.div`\n flex: 1;\n align-self: center;\n padding: 0px 8px;\n text-align: start;\n &:first-child {\n margin: auto;\n ${(props) =>\n props.elementTypeId &&\n css`\n border-inline-end: 1.5px solid\n ${props.theme.colors.elementTypes[props.elementTypeId].colors[1]}50;\n `}\n text-align: end;\n }\n`;\n\nexport const UpcomingFixturesWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: ${({ theme }) => theme.space[1]};\n padding: ${({ theme }) => theme.space[1]};\n border-bottom-left-radius: 5px;\n border-bottom-right-radius: 5px;\n background-color: ${({ theme }) => theme.colors.white};\n opacity: 0.96;\n`;\n\nexport const UpcomingTitle = styled.div`\n padding: ${({ theme }) => theme.space[1]};\n ${(props) =>\n props.elementTypeId &&\n css`\n border-bottom: 1.5px solid\n ${props.theme.colors.elementTypes[props.elementTypeId].colors[1]}50;\n `};\n`;\n\nexport const UpcomingFixtures = styled.ul`\n display: flex;\n flex-direction: row;\n justify-content: space-around;\n margin: 0;\n padding: 0;\n`;\n\nconst UpcomingField = styled.li`\n flex: 1;\n padding: ${({ theme }) => theme.space[0]};\n list-style: none;\n ${(props) =>\n props.elementTypeId &&\n css`\n border-inline-end: 1.5px solid\n ${props.theme.colors.elementTypes[props.elementTypeId].colors[1]}50;\n `};\n &:last-child {\n border: none;\n }\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n padding: ${({ theme }) => theme.space[1]};\n }\n`;\n\nconst renderBadge = (teamId: number) => {\n return ;\n};\n\nconst PitchElementFixtures: React.FC = ({ element }) => {\n const { t } = useTranslation();\n // We don't use getFixturesForEventByTeam as hooks shouldn't be used in loops\n const fixturesByEvent = useSelector(getFixturesByEvent);\n const nextEvent = useSelector(getNextEvent);\n const neededFixtures = 5;\n const elementFixtures: number[] = new Array(neededFixtures);\n elementFixtures.fill(0);\n const teamId = element.team;\n\n if (nextEvent) {\n for (let i = 0; i < neededFixtures; i++) {\n const eventId = nextEvent.id + i;\n if (fixturesByEvent[eventId]) {\n // No chance of a team having more than one fixture\n const fixture = fixturesByEvent[eventId].find(\n (f) => f.team_h === teamId || f.team_a === teamId\n );\n if (fixture) {\n elementFixtures[i] =\n teamId === fixture.team_h ? fixture.team_a : fixture.team_h;\n }\n }\n }\n }\n return (\n \n \n \n {t(\"fixtures.next\", \"Next\")}\n \n \n {elementFixtures[0] ? renderBadge(elementFixtures[0]) : \"-\"}\n \n \n \n \n {t(\"fixtures.upcoming\", \"Upcoming\")}\n \n \n {elementFixtures.splice(1).map((opponentId, index) =>\n opponentId ? (\n \n {renderBadge(opponentId)}\n \n ) : (\n \n -\n \n )\n )}\n \n \n \n );\n};\n\nexport default PitchElementFixtures;\n","import React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\nimport { IElement } from \"../core/store/elements/types\";\nimport i18n from \"../i18n\";\nimport PitchElementFixtures from \"./PitchElementFixtures\";\n\nexport const StyledPitchElementData = styled.div`\n padding-top: ${(props) => props.theme.space[1]};\n border-bottom-left-radius: ${(props) => props.theme.radii[1]};\n border-bottom-right-radius: ${(props) => props.theme.radii[1]};\n\n ${(props) =>\n props.elementTypeId &&\n css`\n background-image: linear-gradient(\n to right,\n ${props.theme.colors.elementTypes[props.elementTypeId].colors[0]} 75%,\n ${props.theme.colors.elementTypes[props.elementTypeId].colors[1]}\n );\n `};\n`;\n\nexport const ElementName = styled.div`\n padding: 0.3rem;\n background-color: blue;\n color: black;\n background-color: white;\n font-family: ${(props) => props.theme.fonts.action};\n font-size: 2.2rem;\n text-transform: uppercase;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n\n ${i18n.language === \"tr\" &&\n css`\n text-transform: capitalize;\n `}\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n padding: 0.4rem;\n font-size: 3rem;\n }\n`;\n\nexport const ElementValue = styled.div`\n padding: 0.1rem;\n color: white;\n font-family: ${(props) => props.theme.fonts.action};\n font-size: 2rem;\n font-weight: bold;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n padding: 0.6rem;\n font-size: 3.5rem;\n }\n`;\n\ninterface IStyledPitchElementData {\n elementTypeId: number;\n}\n\ninterface IProps {\n element: IElement;\n value: React.ReactNode;\n}\n\nconst PitchElementData: React.FC = ({ element, value }) => (\n \n \n {Array.from(element.first_name)[0]}.{element.second_name}\n \n {value}\n \n \n);\n\nexport default PitchElementData;\n","export default __webpack_public_path__ + \"static/media/back-court-bg.687dc41b.png\";","export default __webpack_public_path__ + \"static/media/front-court-bg.e8d57501.png\";","import React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport styled, { css } from \"styled-components/macro\";\nimport { getElementTypesById } from \"../../core/store/element-types/reducers\";\nimport BackCourtBg from \"../../img/back-court-bg.png\";\nimport FrontCourtBg from \"../../img/front-court-bg.png\";\nimport { BoxWrapStyles } from \"../Utils\";\n\nconst StyledElementGroup = styled.div`\n ${BoxWrapStyles}\n padding: 0 0.4rem 0.8rem;\n background-image: linear-gradient(\n to right,\n ${(props) => props.theme.colors.elementTypes[props.elementTypeId].colors[0]}\n 75%,\n ${(props) => props.theme.colors.elementTypes[props.elementTypeId].colors[1]}\n );\n`;\n\nconst ElementGroupHeading = styled.h3`\n margin: 0;\n padding: ${(props) => props.theme.space[1]};\n background-color: ${(props) => props.theme.colors.greyBlue};\n color: black;\n font-family: ${(props) => props.theme.fonts.body};\n font-size: ${(props) => props.theme.fontSizes[3]};\n font-weight: bold;\n text-transform: uppercase;\n\n ${(props) =>\n props.elementTypeId &&\n css`\n background-image: linear-gradient(\n to right,\n ${props.theme.colors.elementTypes[props.elementTypeId].colors[0]} 75%,\n ${props.theme.colors.elementTypes[props.elementTypeId].colors[1]}\n );\n color: white;\n `};\n`;\n\nconst ElementGroupBody = styled.div`\n display: flex;\n flex-wrap: wrap;\n justify-content: ${(props) =>\n props.$justifyContentCenter ? \"center\" : \"space-around\"};\n padding: ${(props) => props.theme.space[2]} 0;\n background-color: #fff;\n background-repeat: no-repeat;\n\n @media (min-width: ${(props) => props.theme.breakpoints[2]}) {\n ${(props) =>\n props.elementTypeId === 1 &&\n props.$showBackground &&\n css`\n background-image: url(${BackCourtBg});\n background-position: top right;\n `};\n\n ${(props) =>\n props.elementTypeId === 2 &&\n props.$showBackground &&\n css`\n background-image: url(${FrontCourtBg});\n background-position: bottom left;\n `};\n }\n`;\ninterface IProps {\n elementTypeId: number;\n $showBackground?: boolean;\n $justifyContentCenter?: boolean;\n}\n\nconst ElementGroup: React.FC = ({\n children,\n elementTypeId = 0,\n $showBackground = true,\n $justifyContentCenter = true,\n}) => {\n const elementTypesById = useSelector(getElementTypesById);\n const elementType = elementTypesById[elementTypeId];\n return (\n \n {elementTypeId && (\n \n {elementType.plural_name}\n \n )}\n \n {children}\n \n \n );\n};\n\nexport default ElementGroup;\n","import { isSiteWithAd, TopScorersAdData } from \"../utils/adverts\";\nimport { getSite } from \"../utils/sites\";\n\nconst TopScorersAd = () => {\n const site = getSite();\n\n if (!isSiteWithAd(site, TopScorersAdData)) {\n return null;\n }\n\n const images = TopScorersAdData[site];\n return (\n \n );\n};\n\nexport default TopScorersAd;\n","import orderBy from \"lodash/orderBy\";\nimport { useTranslation } from \"react-i18next\";\nimport { Box } from \"rebass\";\nimport styled from \"styled-components\";\nimport { IElement } from \"../../core/store/elements/types\";\nimport { integerToDecimal } from \"../../utils/decimal\";\nimport Badge from \"../Badge\";\nimport {\n ElementCardBadge,\n ElementCardMain,\n ElementCardTeam,\n ShirtWrap,\n} from \"../ElementCard\";\nimport { PitchElementInner } from \"../Pitch\";\nimport { ElementName, StyledPitchElementData } from \"../PitchElementData\";\nimport Shirt from \"../Shirt\";\nimport ElementGroup from \"../squad/ElementGroup\";\nimport SubHeading from \"../SubHeading\";\nimport TeamCode from \"../TeamCode\";\nimport TopScorersAd from \"../TopScorersAd\";\n\nconst StyledElementName = styled(ElementName)`\n text-align: center;\n`;\n\nconst Score = styled.div<{ elementTypeId: number }>`\n background-image: linear-gradient(\n to right,\n ${(props) => props.theme.colors.elementTypes[props.elementTypeId].colors[0]}\n 75%,\n ${(props) => props.theme.colors.elementTypes[props.elementTypeId].colors[1]}\n );\n border-bottom-right-radius: ${(props) => props.theme.radii[2]};\n border-bottom-left-radius: ${(props) => props.theme.radii[2]};\n padding: ${(props) => props.theme.space[1]};\n color: ${(props) => props.theme.colors.white};\n font-family: ${(props) => props.theme.fonts.action};\n font-size: 2.5rem;\n text-align: center;\n`;\n\nconst Rank = styled.div`\n align-self: center;\n padding: ${(props) => props.theme.space[1]};\n font-family: ${(props) => props.theme.fonts.action};\n font-size: 2.2rem;\n font-style: italic;\n`;\n\nconst CardWrap = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-evenly;\n flex: 0 1 140px;\n max-width: 140px;\n gap: ${(props) => props.theme.space[1]};\n margin: ${(props) => props.theme.space[1]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n margin: ${(props) => props.theme.space[0]};\n }\n`;\n\nconst SponsorWrap = styled.div`\n display: flex;\n align-items: center;\n gap: ${(props) => props.theme.space[3]};\n margin: ${(props) => `${props.theme.space[4]} ${props.theme.space[2]}`};\n @media (min-width: ${(props) => props.theme.breakpoints[3]}) {\n margin-left: 0;\n }\n`;\n\nconst StyledSubHeading = styled(SubHeading)`\n margin: 0;\n text-transform: uppercase;\n`;\n\nconst TopScorersHeading = () => {\n const { t } = useTranslation();\n return (\n \n \n {t(\"status.topScorers\", \"Top Gameday Performers\")}\n \n \n \n );\n};\n\nconst TopGamedayScorers = ({ elements }: { elements: IElement[] }) => {\n return (\n <>\n \n \n {orderBy(elements, [\"event_points\", \"now_cost\"], [\"desc\", \"desc\"])\n .slice(0, 5)\n .map((element: IElement, index: number) => (\n \n {index + 1}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {Array.from(element.first_name)[0]}.\n {element.second_name}\n \n \n \n {integerToDecimal(element.event_points, 10)}\n \n \n \n \n ))}\n \n \n \n );\n};\n\nconst TopScorers = ({ elements }: { elements: IElement[] }) => {\n const groupedElements: { front_court: IElement[]; back_court: IElement[] } = {\n front_court: [],\n back_court: [],\n };\n\n Object.values(elements).forEach((element: IElement) => {\n if (element.element_type === 2) {\n groupedElements.front_court.push(element);\n } else if (element.element_type === 1) {\n groupedElements.back_court.push(element);\n }\n });\n\n return (\n <>\n \n \n \n \n );\n};\n\nexport default TopScorers;\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgTransferArrowUp(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 12,\n viewBox: \"0 0 22 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.3327 1.0978C10.7125 0.757553 11.2875 0.757554 11.6673 1.0978L21.6098 10.0052C22.2932 10.6175 21.8601 11.75 20.9425 11.75H1.05748C0.139883 11.75 -0.293231 10.6175 0.390213 10.0052L10.3327 1.0978Z\",\n fill: \"#0C8527\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTransferArrowUp);\nexport default __webpack_public_path__ + \"static/media/transfer-arrow-up.b528879d.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _g2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDreamteam(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n \"data-name\": \"Layer 1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"dreamteam\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon_circle\",\n \"data-name\": \"icon circle\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 16,\n cy: 16,\n r: 16\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"symbol_star\",\n \"data-name\": \"symbol star\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.13,26L16,21.5,9.75,26l2.13-7.5L6,13.63l7.5-.25L16,6l2.5,7.5L26,13.75,20,18.5Z\",\n fill: \"currentColor\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDreamteam);\nexport default __webpack_public_path__ + \"static/media/dreamteam.090c7ae3.svg\";\nexport { ForwardRef as ReactComponent };","import orderBy from \"lodash/orderBy\";\nimport { size } from \"polished\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { RootState } from \"../../core/store\";\nimport { getElements } from \"../../core/store/elements/reducers\";\nimport { IElement } from \"../../core/store/elements/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { ITeamsById } from \"../../core/store/teams/types\";\nimport { ReactComponent as ArrowDown } from \"../../img/icons/transfer-arrow-down.svg\";\nimport { ReactComponent as ArrowUp } from \"../../img/icons/transfer-arrow-up.svg\";\nimport Badge from \"../Badge\";\nimport BoldLink from \"../BoldLink\";\nimport ElementDialogButton from \"../ElementDialogButton\";\nimport { ElementRow, ElementTable, PrimaryCell } from \"../ElementTable\";\nimport Panel from \"../Panel\";\nimport StatusTableElement from \"./StatusTableElement\";\n\nconst BodyArrowIn = styled(ArrowUp)`\n ${size(16)}\n`;\n\nconst BodyArrowOut = styled(ArrowDown)`\n ${size(16)}\n`;\n\nconst StyledPrimaryCell = styled(PrimaryCell)`\n font-style: italic;\n`;\n\nconst TransfersTable = styled(ElementTable)`\n th:not(:nth-child(4)) {\n text-align: center;\n }\n`;\n\nconst StyledThead = styled.thead`\n visibility: collapse;\n`;\n\nconst StatusCol = styled.th`\n width: 12%;\n`;\n\nconst PosCol = styled.th`\n width: 14%;\n text-align: center;\n`;\n\nconst BadgeCol = styled.th`\n width: 5%;\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 10%;\n }\n`;\n\nconst PlayerCol = styled.th`\n width: 32%;\n`;\n\nconst TransfersCol = styled.th`\n width: 16%;\n`;\n\nconst BoldLinkWrap = styled.div`\n text-align: end;\n`;\n\ninterface IPropsFromState {\n elements: IElement[];\n teamsById: ITeamsById;\n}\n\ninterface IOwnProps {\n isOut?: boolean;\n}\n\ntype Props = IPropsFromState & IOwnProps;\n\nconst TransfersPanel: React.FC = ({ elements, isOut, teamsById }) => {\n const { t } = useTranslation();\n const stat = isOut ? \"transfers_out_event\" : \"transfers_in_event\";\n const transferStatus = isOut\n ? t(\"transfersPanel.out\", \"Waived\")\n : t(\"transfersPanel.in\", \"Picked Up\");\n\n return (\n \n \n \n \n \n \n  \n  \n  \n  \n  \n \n \n \n {orderBy(elements, [stat], [\"desc\"])\n .slice(0, 5)\n .map((e) => {\n const team = teamsById[e.team];\n return (\n \n \n \n \n \n \n \n \n \n \n \n {isOut ? : }\n \n {e[stat]}\n \n );\n })}\n \n \n \n \n \n \n {t(\"transfersPanel.seeMore\", \"See more\")}\n \n \n \n \n );\n};\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n elements: getElements(state),\n teamsById: getTeamsById(state),\n});\n\nexport default connect(mapStateToProps)(TransfersPanel);\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { RootState } from \"../../core/store\";\nimport { getElements } from \"../../core/store/elements/reducers\";\nimport { IElement } from \"../../core/store/elements/types\";\nimport { getCurrentEvent } from \"../../core/store/events/reducers\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport Title from \"../Title\";\nimport EventInfo from \"./EventInfo\";\nimport GameweekScheduleTracker from \"./GameweekScheduleTracker\";\nimport InjuryTracker from \"./InjuryTracker\";\nimport PageAd from \"./PageAd\";\nimport TopScorers from \"./TopScorers\";\nimport TransfersPanel from \"./TransfersPanel\";\n\nconst StatusWrapper = styled.div`\n max-width: 1220px;\n margin: 0 auto;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n padding-right: ${({ theme }) => theme.space[2]};\n padding-left: ${({ theme }) => theme.space[2]};\n }\n`;\n\nconst StatusCols = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n display: flex;\n justify-content: space-between;\n gap: 10rem;\n }\n`;\n\nconst Status: React.FC = () => {\n const { t } = useTranslation();\n const now = useSelector(getCurrentEvent);\n const player = useSelector((state: RootState) => getPlayerData(state));\n const elements = useSelector((state: RootState) => getElements(state));\n const teamsById = useSelector(getTeamsById);\n\n if (!player) {\n return null;\n }\n\n const groupedElements: { front_court: IElement[]; back_court: IElement[] } = {\n front_court: [],\n back_court: [],\n };\n\n Object.values(elements).forEach((element: IElement) => {\n if (element.element_type === 2) {\n groupedElements.front_court.push(element);\n } else if (element.element_type === 1) {\n groupedElements.back_court.push(element);\n }\n });\n\n return (\n \n \n {now && (\n \n {t(\"status.titleN\", \"{{name}} Status\", { name: `${now.name}` })}\n \n )}\n \n {now && (\n \n \n \n )}\n \n {now && }\n \n \n \n {now && (\n \n \n \n \n \n \n \n \n )}\n \n \n \n \n );\n};\n\nexport default Status;\n","import { navigate, RouteComponentProps } from \"@reach/router\";\nimport qs from \"qs\";\nimport React from \"react\";\nimport {\n useTranslation,\n withTranslation,\n WithTranslation,\n} from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { RootState } from \"../core/store\";\nimport { getPlayerData } from \"../core/store/player/reducers\";\nimport { IPlayer } from \"../core/store/player/types\";\nimport LinkArrowUp from \"../img/icons/arrow-up.svg\";\nimport { createPageViewData } from \"../utils/tealium\";\nimport ButtonLink from \"./ButtonLink\";\nimport Copy from \"./Copy\";\nimport HomeHero from \"./HomeHero\";\nimport { Main, Wrapper } from \"./Layout\";\nimport Login from \"./Login\";\nimport PromoVideo from \"./PromoVideo\";\nimport Status from \"./status/Status\";\nimport SubHeading from \"./SubHeading\";\nimport { VisuallyHidden } from \"./Utils\";\n\nconst DisclaimerText = styled.p`\n font-size: 1rem;\n`;\n\nconst HomeHeader = styled.div`\n margin: 0 ${(props) => props.theme.space[2]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n margin: 0 0 3rem;\n }\n`;\n\nconst BodySubheading = styled(SubHeading)`\n font-family: ${(props) => props.theme.fonts.action};\n text-transform: uppercase;\n color: inherit;\n font-style: italic;\n font-size: 3rem;\n`;\n\nconst Highlights = styled.div`\n margin: ${({ theme }) =>\n `${theme.space[4]} ${theme.space[2]} ${theme.space[2]}`};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n display: flex;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n margin-left: 0;\n margin-right: 0;\n }\n`;\n\nconst StyledHomeStep = styled.div`\n border-bottom: 2px solid ${(props) => props.theme.colors.greyLight};\n position: relative;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n padding-top: 0;\n border-bottom: 0;\n flex: 1;\n &:not(:first-child)::after {\n content: \"\";\n position: absolute;\n display: block;\n width: 2px;\n top: 50%;\n height: 100px;\n margin-top: -50px;\n background-color: ${(props) => props.theme.colors.greyLight};\n }\n }\n`;\n\nconst HomeStepInner = styled.div`\n padding: ${(props) => props.theme.space[3]};\n background-color: ${(props) => props.theme.colors.white};\n color: ${(props) => props.theme.colors.offBlack};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n flex: 1;\n }\n`;\n\nconst LoginLinkWrapper = styled.div`\n display: flex;\n justify-content: center;\n gap: ${({ theme }) => theme.space[3]};\n margin: ${({ theme }) => theme.space[2]} 0;\n width: 100%;\n`;\n\nconst AnchorButton = styled.div`\n background: center no-repeat url(${LinkArrowUp});\n width: 50px;\n height: 50px;\n border-radius: ${(props) => props.theme.radii[2]};\n background-color: ${(props) => props.theme.colors.yellow};\n`;\n\ninterface IHomeStepStyledProps {\n isAlt?: boolean;\n}\n\ninterface IHomeStepProps {\n showButton?: boolean;\n content: string;\n heading: string;\n}\n\ntype HomeStepProps = IHomeStepProps & IHomeStepStyledProps;\n\nconst HomeStep: React.FC = ({\n showButton,\n content,\n heading,\n isAlt,\n}) => {\n const { t } = useTranslation();\n\n return (\n \n \n {heading}\n

{content}

\n {showButton && (\n \n {t(\"home.step1Headingn\", \"Build your roster\")}\n \n )}\n
\n
\n );\n};\n\ninterface IPropsFromState {\n player: IPlayer | null;\n}\n\ntype Props = RouteComponentProps & IPropsFromState & WithTranslation;\n\nclass Home extends React.Component {\n public componentDidMount() {\n createPageViewData(\"home\");\n }\n\n public render() {\n const { t, player } = this.props;\n const query = qs.parse(window.location.search, { ignoreQueryPrefix: true });\n if (query.login) {\n switch (query.login) {\n case \"success\":\n let url = \"/\";\n if (player && player.entry) {\n // Season start\n url = \"/my-team\";\n } else if (player && player.id) {\n url = \"/squad-selection\";\n }\n // Need this to make sure LocationProvider is ready\n setTimeout(() => {\n navigate(url, {\n replace: true,\n });\n }, 0);\n return null;\n default:\n break;\n }\n }\n\n return (\n \n
\n \n {player && (\n \n \n

\n {t(\n \"login.loggedInAs\",\n \"You are logged in as {{firstName}} {{lastName}}\",\n {\n firstName: player.first_name,\n lastName: player.last_name,\n }\n )}\n

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

{t(\"home.title\", \"Home\")}

\n
\n {!player && (\n <>\n \n \n )}\n
\n {!player || !player.entry ? (\n <>\n \n \n \n\n \n\n \n\n \n \n \n ) : (\n \n \n \n )}\n \n {!player && (\n \n

{t(\"home.anchorLinkn\", \"Back to Login or Register\")}

\n \n \n \n
\n )}\n\n \n \n \n *{\" \"}\n {t(\n \"home.disclaimer1n\",\n \"No purchase necessary for the entire duration of the competition. You must be 18 years or older. Participation is only available to legal residents of Austria, Belgium, Czechia, Denmark, Finland, Germany, Greece, Hungary, Ireland, Italy, Netherlands, Norway, Portugal, Serbia, Spain, Switzerland, and the United Kingdom.\"\n )}{\" \"}\n \n {t(\n \"home.disclaimer2n\",\n \"Click here for full official rules.\"\n )}\n \n \n \n \n
\n
\n );\n }\n}\n\nexport { Home as HomeTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => {\n return {\n player: getPlayerData(state),\n };\n};\n\nexport default withTranslation()(connect(mapStateToProps)(Home));\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCog(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M24,10.295858 L24,13.7651471 C24,13.8898242 23.9583351,14.0095008 23.8750052,14.124177 C23.7916753,14.2388532 23.6873464,14.3065255 23.5620182,14.3271939 L20.6711387,14.7652304 C20.473147,15.327944 20.2701554,15.8019835 20.0621641,16.1873489 C20.4268155,16.708059 20.9841257,17.4267856 21.7340944,18.3435286 C21.8380901,18.4682057 21.8900879,18.5985499 21.8900879,18.7345612 C21.8900879,18.8705725 21.8430899,18.9902492 21.7490938,19.0935911 C21.4677722,19.4789566 20.952127,20.0413368 20.2021582,20.7807317 C19.4521895,21.5201267 18.9625432,21.8898242 18.7332194,21.8898242 C18.608558,21.8898242 18.4732303,21.8428202 18.3272364,21.7488124 L16.1713262,20.0616718 C15.7126786,20.3010251 15.2386984,20.4990416 14.7493854,20.6557213 C14.5827257,22.072506 14.431732,23.0412534 14.2964043,23.5619635 C14.2237407,23.8539878 14.0364151,24 13.7344277,24 L10.2655723,24 C10.1195784,24 9.991917,23.955663 9.88258823,23.8669889 C9.77325945,23.7783149 9.71326195,23.6663055 9.70259573,23.5309609 L9.26461397,20.6557213 C8.75396858,20.4890408 8.28532144,20.296358 7.85867256,20.0776731 L5.65576434,21.7498125 C5.55176868,21.8438203 5.42144077,21.8908242 5.26478063,21.8908242 C5.11878672,21.8908242 4.98845881,21.8334861 4.87379693,21.7188099 C3.56118495,20.5313776 2.70188742,19.6563047 2.29590434,19.0935911 C2.2232407,18.9895825 2.18690888,18.8699058 2.18690888,18.7345612 C2.18690888,18.6098842 2.22857381,18.4902075 2.31190367,18.3755313 C2.46789717,18.1568464 2.73355277,17.8104842 3.10887046,17.3364447 C3.48418816,16.8624052 3.76550977,16.4950413 3.9528353,16.2343529 C3.67151369,15.7136428 3.45785592,15.1979332 3.31186201,14.6872239 L0.452981126,14.2651888 C0.317653431,14.2445204 0.208324653,14.179515 0.124994792,14.0701725 C0.0416649306,13.9608301 0,13.8384865 0,13.7031419 L0,10.2338528 C0,10.1091758 0.0416649306,9.98949912 0.124994792,9.8748229 C0.208324653,9.76014668 0.307320528,9.69247437 0.421982417,9.67180598 L3.32786134,9.23376948 C3.47385526,8.7543962 3.6768468,8.27535628 3.93683597,7.79664972 C3.52018666,7.20260022 2.96287655,6.48387366 2.26490563,5.64047004 C2.16090996,5.51579298 2.10891213,5.39078257 2.10891213,5.26543879 C2.10891213,5.16143012 2.15591017,5.04175348 2.24990625,4.90640887 C2.52056164,4.53171098 3.03354027,3.97166431 3.78884213,3.22626886 C4.54414399,2.48087341 5.03645681,2.10850904 5.26578059,2.10917576 C5.40110829,2.10917576 5.53643598,2.1611801 5.67176368,2.26518877 L7.82767385,3.93732811 C8.2863214,3.69797483 8.76030165,3.49995833 9.2496146,3.34327861 C9.41627432,1.92649387 9.56726803,0.957746479 9.70259573,0.43703642 C9.77525936,0.145678807 9.96258489,0 10.2645723,0 L13.7334278,0 C13.8794217,0 14.007083,0.0443370281 14.1164118,0.133011084 C14.2257406,0.22168514 14.2857381,0.333694475 14.2964043,0.469039087 L14.7343861,3.34427869 C15.2450315,3.51095925 15.7136786,3.70364197 16.1403275,3.92232686 L18.359235,2.25018752 C18.4532311,2.15617968 18.5782259,2.10917576 18.7342194,2.10917576 C18.8695471,2.10917576 18.999875,2.1611801 19.1252031,2.26518877 C20.4691471,3.50462539 21.3284446,4.3900325 21.7030957,4.92141012 C21.7757593,5.0047504 21.8120912,5.11942662 21.8120912,5.26543879 C21.8120912,5.39011584 21.7704262,5.50979248 21.6870964,5.62446871 C21.5311029,5.8431536 21.2654473,6.18951579 20.8901296,6.6635553 C20.5148119,7.1375948 20.2334903,7.50495875 20.0461647,7.76564714 C20.3168201,8.2863572 20.5304779,8.79673306 20.687138,9.29677473 L23.5460189,9.73481123 C23.6813466,9.75547962 23.7906754,9.82048504 23.8740052,9.92982749 C23.9573351,10.0391699 23.999,10.1615135 23.999,10.2968581 L24,10.295858 Z M16,12 C16,10.896 15.6093333,9.95333333 14.828,9.172 C14.0466667,8.39066667 13.104,8 12,8 C10.896,8 9.95333333,8.39066667 9.172,9.172 C8.39066667,9.95333333 8,10.896 8,12 C8,13.104 8.39066667,14.0466667 9.172,14.828 C9.95333333,15.6093333 10.896,16 12,16 C13.104,16 14.0466667,15.6093333 14.828,14.828 C15.6093333,14.0466667 16,13.104 16,12 Z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCog);\nexport default __webpack_public_path__ + \"static/media/cog.1562668d.svg\";\nexport { ForwardRef as ReactComponent };","import { size } from \"polished\";\nimport styled from \"styled-components/macro\";\nimport { ReactComponent as BaseDreamTeam } from \"../../img/icons/dreamteam.svg\";\n\nconst DreamTeam = styled(BaseDreamTeam)`\n ${size(14)};\n color: white;\n fill: #005baa;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n ${size(16)}\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n ${size(20)}\n }\n`;\n\nexport default DreamTeam;\n","export const localStorageKey = \"autoJoinCode\";\n\nexport const setValue = (key: string, value: string) =>\n window.localStorage?.setItem(localStorageKey, value);\nexport const getValue = (key: string) => window.localStorage?.getItem(key);\nexport const clearValue = (key: string) => window.localStorage?.removeItem(key);\n\nexport const getInitialState = () => getValue(localStorageKey) || null;\n","import produce from \"immer\";\nimport { combineReducers } from \"redux\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport { getEntry } from \"../entries/reducers\";\nimport { IEntry, ILeagueEntry } from \"../entries/types\";\nimport { getPlayerData } from \"../player/reducers\";\nimport * as actions from \"./actions\";\nimport { getInitialState } from \"./autoJoinPersistentStorage\";\nimport {\n IClassicStanding,\n IH2HStanding,\n INewEntry,\n IRenewableLeague,\n IState,\n} from \"./types\";\n\nconst classicStandingsById = produce(\n (draft: IState[\"classicStandingsById\"], action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchClassicLeagueStandings.success): {\n const { data, phaseId } = action.payload;\n const newData = {\n league: data.league,\n newEntriesByPage: draft[data.league.id]?.newEntriesByPage || {},\n standingsByPhaseAndPage:\n draft[data.league.id]?.standingsByPhaseAndPage || {},\n };\n newData[\"newEntriesByPage\"][data.new_entries.page] = data.new_entries;\n if (!newData[\"standingsByPhaseAndPage\"][phaseId]) {\n newData[\"standingsByPhaseAndPage\"][phaseId] = {};\n }\n newData[\"standingsByPhaseAndPage\"][phaseId][data.standings.page] = {\n ...data.standings,\n lastUpdatedData: data.last_updated_data,\n };\n draft[data.league.id] = newData;\n break;\n }\n case getType(actions.deleteLeague.success): {\n if (draft[action.payload.league]) {\n delete draft[action.payload.league];\n }\n }\n }\n },\n {}\n);\n\nconst getH2HMatchesKey = (entryId: number, eventId: number, page: number) =>\n `${entryId}-${eventId}-${page}`;\n\nconst h2hMatchesById = produce(\n (draft: IState[\"h2hMatchesById\"], action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchH2HLeagueMatches.success): {\n const { data, entryId, eventId, leagueId } = action.payload;\n const key = getH2HMatchesKey(entryId, eventId, data.page);\n const newData = {\n byEntryEventPage: draft[leagueId]?.byEntryEventPage || {},\n };\n newData[\"byEntryEventPage\"][key] = data;\n draft[leagueId] = newData;\n break;\n }\n }\n },\n {}\n);\n\n// State Reducer\nexport default combineReducers({\n adminById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.createClassicLeague.success):\n case getType(actions.fetchClassicLeagueForAdmin.success):\n case getType(actions.updateClassicLeague.success):\n case getType(actions.createH2HLeague.success):\n case getType(actions.fetchH2HLeagueForAdmin.success):\n case getType(actions.updateH2HLeague.success):\n return {\n ...state,\n [action.payload.id]: action.payload,\n };\n case getType(actions.deleteLeague.success): {\n const newState = { ...state };\n if (newState[action.payload.league]) {\n delete newState[action.payload.league];\n }\n return newState;\n }\n default:\n return state;\n }\n },\n byCode: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.checkLeagueCode.success): {\n return {\n ...state,\n [action.payload.code]: action.payload.data,\n };\n }\n default:\n return state;\n }\n },\n autoJoinCode: (state = getInitialState(), action: RootAction) => {\n switch (action.type) {\n case getType(actions.setAutoJoinCode):\n return action.payload;\n case getType(actions.clearAutoJoinCode):\n return null;\n default:\n return state;\n }\n },\n classicStandingsById,\n codesByLeagueId: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchLeagueCode.success):\n case getType(actions.regenerateLeagueCode.success):\n return {\n ...state,\n [action.payload.league]: action.payload.data.code,\n };\n case getType(actions.deleteLeague.success): {\n const newState = { ...state };\n if (newState[action.payload.league]) {\n delete newState[action.payload.league];\n }\n return newState;\n }\n default:\n return state;\n }\n },\n createClassicLeagueError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.createClassicLeague.failure):\n return action.payload;\n default:\n return null;\n }\n },\n createH2HLeagueError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.createH2HLeague.failure):\n return action.payload;\n default:\n return null;\n }\n },\n cupStatusById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchLeagueCupStatus.success):\n return {\n ...state,\n [action.payload.qualifying_league]: action.payload,\n };\n default:\n return state;\n }\n },\n h2hMatchesById,\n h2hStandingsById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchH2HLeagueStandings.success): {\n const data = action.payload;\n const s = state[data.league.id];\n return {\n ...state,\n [data.league.id]: {\n league: data.league,\n newEntriesByPage: {\n ...(s ? s.newEntriesByPage : {}),\n [data.new_entries.page]: data.new_entries,\n },\n standingsByPage: {\n ...(s ? s.standingsByPage : {}),\n [data.standings.page]: data.standings,\n },\n },\n };\n }\n case getType(actions.deleteLeague.success): {\n const newState = { ...state };\n if (newState[action.payload.league]) {\n delete newState[action.payload.league];\n }\n return newState;\n }\n default:\n return state;\n }\n },\n entriesById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchLeagueEntries.success): {\n return {\n ...state,\n [action.payload.leagueId]: action.payload.data,\n };\n }\n default:\n return state;\n }\n },\n entriesErrorById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchLeagueEntries.failure): {\n if (action.payload.url) {\n const match = action.payload.url.match(/^league\\/(\\d+)\\/entries\\/$/);\n if (match) {\n return {\n ...state,\n [match[1]]: action.payload,\n };\n }\n }\n return state;\n }\n default:\n return state;\n }\n },\n joinPrivateLeagueSuccess: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.joinPrivateLeague.success):\n return action.payload.data.id;\n default:\n return null;\n }\n },\n joinPrivateLeagueError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.joinPrivateLeague.failure):\n return action.payload;\n default:\n return null;\n }\n },\n joinPublicLeagueError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.joinPublicLeague.failure):\n return action.payload;\n default:\n return null;\n }\n },\n renewableById: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.fetchRenewableLeagues.success): {\n const newState: Record = {};\n action.payload.forEach((rl) => {\n newState[rl.id] = rl;\n });\n return newState;\n }\n case getType(actions.deleteRenewableLeague.success):\n case getType(actions.renewRenewableLeague.success): {\n const newState = { ...state };\n delete newState[action.payload.id];\n return newState;\n }\n default:\n return state;\n }\n },\n updateClassicLeagueError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.updateClassicLeague.failure):\n return action.payload;\n default:\n return null;\n }\n },\n updateH2HLeagueError: (state = null, action: RootAction) => {\n switch (action.type) {\n case getType(actions.updateH2HLeague.failure):\n return action.payload;\n default:\n return null;\n }\n },\n});\n\n// State Selectors and Helpers\nexport const getLeagueAdmin = (state: RootState, leagueId: number) =>\n state.leagues.adminById[leagueId] || null;\n\nexport const getCode = (state: RootState, leagueId: number) =>\n state.leagues.codesByLeagueId[leagueId] || null;\n\nexport const getRenewableLeagues = (state: RootState) =>\n Object.values(state.leagues.renewableById);\n\nexport const getCreateClassicLeagueError = (state: RootState) =>\n state.leagues.createClassicLeagueError;\n\nexport const getCreateH2HLeagueError = (state: RootState) =>\n state.leagues.createH2HLeagueError;\n\nexport const getJoinPrivateLeagueError = (state: RootState) =>\n state.leagues.joinPrivateLeagueError;\n\nexport const getJoinPublicLeagueError = (state: RootState) =>\n state.leagues.joinPublicLeagueError;\n\nexport const getUpdateClassicLeagueError = (state: RootState) =>\n state.leagues.updateClassicLeagueError;\n\nexport const getUpdateH2HLeagueError = (state: RootState) =>\n state.leagues.updateH2HLeagueError;\n\nexport const getClassicLeague = (state: RootState, leagueId: number) => {\n const leagueData = state.leagues.classicStandingsById[leagueId];\n return leagueData ? leagueData.league : null;\n};\n\nexport const getJoinPrivateLeagueSuccess = (state: RootState) =>\n typeof state.leagues.joinPrivateLeagueSuccess === \"number\";\n\nconst addEntryToTopOfNewEntries = (newEntries: INewEntry[], entry: IEntry) => [\n {\n entry: entry.id,\n entry_name: entry.name,\n player_first_name: entry.player_first_name,\n player_last_name: entry.player_last_name,\n joined_time: \"\", // We don't have so leave as a string\n },\n ...newEntries.filter((ne) => ne.entry !== entry.id),\n];\n\nexport const getActiveEntryInLeague = (\n state: RootState,\n leagueId: number,\n scoring: \"classic\" | \"h2h\"\n) => {\n const player = getPlayerData(state);\n if (player && player.entry) {\n const entry = getEntry(state, player.entry);\n if (entry) {\n const matches = entry.leagues[scoring].filter((l) => l.id === leagueId);\n if (matches.length) {\n return {\n entry,\n league: matches[0],\n };\n }\n }\n }\n return null;\n};\n\nconst activeToClassicStanding = (\n entry: IEntry,\n league: ILeagueEntry\n): IClassicStanding => ({\n entry: entry.id,\n entry_name: entry.name,\n event_total: entry.summary_event_points || 0,\n last_rank: league.entry_last_rank || 0,\n player_name: `${entry.player_first_name} ${entry.player_last_name}`,\n rank: league.entry_rank || 0,\n rank_sort: 0, // Need to add this\n total: entry.summary_overall_points || 0, // Needs to be league\n});\n\nconst activeToH2HStanding = (\n entry: IEntry,\n league: ILeagueEntry\n): IH2HStanding => ({\n division: 0,\n entry: entry.id,\n entry_name: entry.name,\n last_rank: league.entry_last_rank || 0,\n matches_drawn: 0,\n matches_lost: 0,\n matches_played: 0,\n matches_won: 0,\n player_name: `${entry.player_first_name} ${entry.player_last_name}`,\n points_for: 0,\n rank: league.entry_rank || 0,\n rank_sort: 0,\n total: 0,\n});\n\n// TODO - getClassicNewEntries and getH2HNewEntries are almost the same,\n// refactor.\nexport const getClassicNewEntries = (\n state: RootState,\n leagueId: number,\n page: number\n) => {\n const leagueData = state.leagues.classicStandingsById[leagueId];\n if (\n leagueData &&\n leagueData.newEntriesByPage[page] &&\n leagueData.league.league_type !== \"s\"\n ) {\n if (page === 1) {\n const activeEntry = getActiveEntryInLeague(state, leagueId, \"classic\");\n if (activeEntry && !activeEntry.league.entry_rank) {\n return {\n ...leagueData.newEntriesByPage[page],\n results: addEntryToTopOfNewEntries(\n leagueData.newEntriesByPage[page].results,\n activeEntry.entry\n ),\n };\n }\n }\n return leagueData.newEntriesByPage[page];\n }\n return null;\n};\n\nexport const getClassicStandings = (\n state: RootState,\n leagueId: number,\n phaseId: number,\n page: number\n) => {\n const leagueData = state.leagues.classicStandingsById[leagueId];\n if (\n leagueData &&\n leagueData.standingsByPhaseAndPage[phaseId] &&\n leagueData.standingsByPhaseAndPage[phaseId][page]\n ) {\n const standings = leagueData.standingsByPhaseAndPage[phaseId][page];\n const activeEntry = getActiveEntryInLeague(state, leagueId, \"classic\");\n // This needs some thought. We have hardcoded phase 1 as this data is\n // only for the overall phase but we should be fetching this data via\n // an api call - issue 789\n if (\n phaseId === 1 &&\n standings.results.length &&\n activeEntry &&\n activeEntry.league.entry_rank\n ) {\n if (!standings.results.some((cs) => cs.entry === activeEntry.entry.id)) {\n return {\n ...standings,\n results:\n activeEntry.league.entry_rank <= standings.results[0].rank\n ? [\n activeToClassicStanding(\n activeEntry.entry,\n activeEntry.league\n ),\n ...standings.results,\n ]\n : [\n ...standings.results,\n activeToClassicStanding(\n activeEntry.entry,\n activeEntry.league\n ),\n ],\n };\n }\n }\n return standings;\n }\n return null;\n};\n\nexport const getH2HLeague = (state: RootState, leagueId: number) => {\n const leagueData = state.leagues.h2hStandingsById[leagueId];\n return leagueData ? leagueData.league : null;\n};\n\nexport const getH2HNewEntries = (\n state: RootState,\n leagueId: number,\n page: number\n) => {\n const leagueData = state.leagues.h2hStandingsById[leagueId];\n if (leagueData && leagueData.newEntriesByPage[page]) {\n // Only add on 1st page and if we have some newEntries\n if (page === 1 && leagueData.newEntriesByPage[page].results.length) {\n const activeEntry = getActiveEntryInLeague(state, leagueId, \"h2h\");\n if (activeEntry && !activeEntry.league.entry_rank) {\n return {\n ...leagueData.newEntriesByPage[page],\n results: addEntryToTopOfNewEntries(\n leagueData.newEntriesByPage[page].results,\n activeEntry.entry\n ),\n };\n }\n }\n return leagueData.newEntriesByPage[page];\n }\n return null;\n};\n\nexport const getH2HStandings = (\n state: RootState,\n leagueId: number,\n page: number\n) => {\n const leagueData = state.leagues.h2hStandingsById[leagueId];\n if (leagueData && leagueData.standingsByPage[page]) {\n const standings = leagueData.standingsByPage[page];\n const activeEntry = getActiveEntryInLeague(state, leagueId, \"h2h\");\n if (\n activeEntry &&\n activeEntry.league.entry_rank &&\n standings.results.length\n ) {\n if (!standings.results.some((cs) => cs.entry === activeEntry.entry.id)) {\n return {\n ...standings,\n results:\n activeEntry.league.entry_rank <= standings.results[0].rank\n ? [\n activeToH2HStanding(activeEntry.entry, activeEntry.league),\n ...standings.results,\n ]\n : [\n ...standings.results,\n activeToH2HStanding(activeEntry.entry, activeEntry.league),\n ],\n };\n }\n }\n return standings;\n }\n return null;\n};\n\nexport const getH2HMatches = (\n state: RootState,\n leagueId: number,\n entryId: number,\n eventId: number,\n page: number\n) => {\n const key = getH2HMatchesKey(entryId, eventId, page);\n return state.leagues.h2hMatchesById[leagueId]?.byEntryEventPage[key] || null;\n};\n\nexport const getLeagueFromCode = (state: RootState, code: string) =>\n state.leagues.byCode[code] || null;\n\nexport const getAutoJoinCode = (state: RootState) => state.leagues.autoJoinCode;\n\nexport const getLeagueEntries = (state: RootState, leagueId: number) =>\n state.leagues.entriesById[leagueId] || null;\n\nexport const getLeagueEntriesError = (state: RootState, leagueId: number) =>\n state.leagues.entriesErrorById[leagueId] || null;\n\nexport const getAllLeagueCupStatus = (state: RootState) =>\n state.leagues.cupStatusById;\n\nexport const getLeagueCupStatus = (state: RootState, leagueId: number) =>\n state.leagues.cupStatusById[leagueId] || null;\n","import { navigate } from \"@reach/router\";\nimport { ThunkResult } from \"..\";\nimport { apiDelete, apiGet, apiPost, apiPut } from \"../../utils/api\";\nimport { getPlayerData } from \"../player/reducers\";\nimport * as actions from \"./actions\";\nimport {\n IBanEntryData,\n ICreateClassicLeagueData,\n ICreateH2HLeagueData,\n IJoinPrivateLeagueData,\n IJoinPublicLeagueData,\n IUpdateClassicLeagueData,\n IUpdateH2HLeagueData,\n} from \"./types\";\nimport {\n localStorageKey,\n setValue,\n clearValue,\n} from \"./autoJoinPersistentStorage\";\n\nexport const createClassicLeague =\n (data: ICreateClassicLeagueData): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiPost(\n \"leagues-classic/\",\n data,\n dispatch,\n actions.createClassicLeague\n );\n } catch (e) {\n return;\n }\n navigate(\"/leagues\");\n };\n\nexport const createH2HLeague =\n (data: ICreateH2HLeagueData): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiPost(\"leagues-h2h/\", data, dispatch, actions.createH2HLeague);\n } catch (e) {\n return;\n }\n navigate(\"/leagues\");\n };\n\nexport const fetchClassicLeagueForAdmin =\n (leagueId: number): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiGet(\n `leagues-classic/${leagueId}/`,\n dispatch,\n actions.fetchClassicLeagueForAdmin\n );\n } catch (e) {\n return;\n }\n };\n\nexport const fetchH2HLeagueForAdmin =\n (leagueId: number): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiGet(\n `leagues-h2h/${leagueId}/`,\n dispatch,\n actions.fetchH2HLeagueForAdmin\n );\n } catch (e) {\n return;\n }\n };\n\nexport const updateClassicLeague =\n (\n leagueId: number,\n data: IUpdateClassicLeagueData\n ): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiPut(\n `leagues-classic/${leagueId}/`,\n data,\n dispatch,\n actions.updateClassicLeague\n );\n } catch (e) {\n return;\n }\n navigate(\"/leagues\");\n };\n\nexport const updateH2HLeague =\n (leagueId: number, data: IUpdateH2HLeagueData): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiPut(\n `leagues-h2h/${leagueId}/`,\n data,\n dispatch,\n actions.updateH2HLeague\n );\n } catch (e) {\n return;\n }\n navigate(\"/leagues\");\n };\n\nexport const banLeagueEntry =\n (leagueId: number, data: IBanEntryData): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiPost(\n `league/${leagueId}/bans/ban/`,\n data,\n dispatch,\n actions.banLeagueEntry\n );\n } catch (e) {\n return;\n }\n navigate(\"/leagues\");\n };\n\nexport const unbanLeagueEntry =\n (leagueId: number, data: IBanEntryData): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiPost(\n `league/${leagueId}/bans/unban/`,\n data,\n dispatch,\n actions.unbanLeagueEntry\n );\n } catch (e) {\n return;\n }\n navigate(\"/leagues\");\n };\n\nexport const joinPrivateLeague =\n (data: IJoinPrivateLeagueData): ThunkResult> =>\n async (dispatch, getState) => {\n const player = getPlayerData(getState());\n if (player && player.entry) {\n try {\n await apiPost(\n \"leagues-private/join/\",\n data,\n dispatch,\n actions.joinPrivateLeague,\n {\n entry: player.entry,\n }\n );\n } catch (e) {\n return;\n }\n }\n };\n\nexport const joinPublicLeague =\n (data: IJoinPublicLeagueData): ThunkResult> =>\n async (dispatch, getState) => {\n const player = getPlayerData(getState());\n if (player && player.entry) {\n try {\n await apiPost(\n \"leagues-public/join/\",\n data,\n dispatch,\n actions.joinPublicLeague,\n {\n entry: player.entry,\n }\n );\n } catch (e) {\n return;\n }\n }\n navigate(\"/leagues\");\n };\n\nexport const fetchLeagueCode =\n (leagueId: number): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiGet(\n `league/${leagueId}/code/`,\n dispatch,\n actions.fetchLeagueCode,\n { league: leagueId }\n );\n } catch (e) {\n return;\n }\n };\n\nexport const regenerateLeagueCode =\n (leagueId: number): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiPost(\n `league/${leagueId}/code/regenerate/`,\n {},\n dispatch,\n actions.regenerateLeagueCode,\n { league: leagueId }\n );\n } catch (e) {\n return;\n }\n };\n\nexport const leaveLeague =\n (leagueId: number): ThunkResult> =>\n async (dispatch, getState) => {\n const player = getPlayerData(getState());\n if (player && player.entry) {\n try {\n await apiPost(\n `league/${leagueId}/leave/`,\n {},\n dispatch,\n actions.leaveLeague,\n { entry: player.entry, league: leagueId }\n );\n } catch (e) {\n return;\n }\n }\n };\n\nexport const deleteLeague =\n (leagueId: number): ThunkResult> =>\n async (dispatch, getState) => {\n const player = getPlayerData(getState());\n if (player && player.entry) {\n try {\n // TODO - Change endpoint to handle all types of league\n await apiPost(\n `leagues-private/delete/`,\n { league: leagueId },\n dispatch,\n actions.deleteLeague,\n { entry: player.entry, league: leagueId }\n );\n } catch (e) {\n return;\n }\n navigate(\"/leagues\");\n }\n };\n\nexport const fetchRenewableLeagues =\n (): ThunkResult> => async (dispatch) =>\n apiGet(`leagues-renewable/`, dispatch, actions.fetchRenewableLeagues);\n\nexport const renewRenewableLeague =\n (id: number): ThunkResult> =>\n async (dispatch) =>\n apiPost(\n `leagues-renewable/${id}/renew/`,\n {},\n dispatch,\n actions.renewRenewableLeague,\n { id }\n );\n\nexport const deleteRenewableLeague =\n (id: number): ThunkResult> =>\n async (dispatch) =>\n apiDelete(\n `leagues-renewable/${id}/`,\n {},\n dispatch,\n actions.deleteRenewableLeague,\n { id }\n );\n\nexport const fetchClassicLeagueStandings =\n (\n leagueId: number,\n pageNewEntries: number,\n pageStandings: number,\n phaseId: number\n ): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiGet(\n `leagues-classic/${leagueId}/standings/` +\n `?page_new_entries=${pageNewEntries}&page_standings=${pageStandings}` +\n `&phase=${phaseId}`,\n dispatch,\n actions.fetchClassicLeagueStandings,\n { phaseId }\n );\n } catch (e) {\n return;\n }\n };\n\nexport const fetchH2HLeagueStandings =\n (\n leagueId: number,\n pageNewEntries: number,\n pageStandings: number\n ): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiGet(\n `leagues-h2h/${leagueId}/standings/` +\n `?page_new_entries=${pageNewEntries}&page_standings=${pageStandings}`,\n dispatch,\n actions.fetchH2HLeagueStandings\n );\n } catch (e) {\n return;\n }\n };\n\nexport const fetchH2HLeagueMatches = (\n leagueId: number,\n entryId: number,\n eventId: number,\n page: number\n): ThunkResult> => {\n let url = `leagues-h2h-matches/league/${leagueId}/?page=${page}`;\n if (entryId) {\n url += `&entry=${entryId}`;\n }\n if (eventId) {\n url += `&event=${eventId}`;\n }\n return async (dispatch) => {\n try {\n await apiGet(url, dispatch, actions.fetchH2HLeagueMatches, {\n entryId,\n eventId,\n leagueId,\n });\n } catch (e) {\n return;\n }\n };\n};\n\nexport const checkLeagueCode =\n (code: string): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiPost(\n `league/code-check/`,\n { code },\n dispatch,\n actions.checkLeagueCode,\n {\n code,\n }\n );\n } catch (e) {\n dispatch(clearCode());\n }\n };\n\nexport const setCode =\n (code: string): ThunkResult =>\n (dispatch) => {\n setValue(localStorageKey, code);\n dispatch(actions.setAutoJoinCode(code));\n };\n\nexport const clearCode = (): ThunkResult => (dispatch) => {\n clearValue(localStorageKey);\n dispatch(actions.clearAutoJoinCode());\n};\n\nexport const fetchLeagueEntries =\n (leagueId: number): ThunkResult> =>\n async (dispatch) => {\n try {\n await apiGet(\n `league/${leagueId}/entries/`,\n dispatch,\n actions.fetchLeagueEntries,\n {\n leagueId,\n }\n );\n } catch (e) {\n // Error will be in store and available via a selector\n return;\n }\n };\n\nexport const fetchLeagueCupStatus =\n (leagueId: number): ThunkResult> =>\n async (dispatch) =>\n apiGet(\n `league/${leagueId}/cup-status/`,\n dispatch,\n actions.fetchLeagueCupStatus\n );\n","import React from \"react\";\nimport Downshift from \"downshift\";\nimport { SearchField } from \"../../FieldRenderers\";\nimport debounce from \"lodash/debounce\";\nimport { useTranslation } from \"react-i18next\";\n\ninterface IEntry {\n entry: number;\n player_name: string;\n entry_name: string;\n}\n\ninterface IEntrySelectorProps {\n entries: IEntry[];\n handleChange: (selectedItem: any) => void;\n searchChange: (value: string) => any;\n}\n\nconst EntrySelector: React.FC = ({\n entries,\n handleChange,\n searchChange,\n}) => {\n const { t } = useTranslation();\n\n return (\n handleChange(Number(selection.entry))}\n onInputValueChange={debounce(searchChange, 400)}\n itemToString={(item) => (item ? item.player_name : \"\")}\n >\n {({\n getInputProps,\n getItemProps,\n getLabelProps,\n getMenuProps,\n isOpen,\n highlightedIndex,\n selectedItem,\n }) => (\n
\n \n
    \n {isOpen\n ? entries.map((item, index) => (\n \n {item.player_name} ({item.entry_name})\n \n ))\n : null}\n
\n
\n )}\n \n );\n};\n\ninterface IProps {\n excluded?: number[];\n handleChange: (selectedItem: any) => void;\n leagueId: number;\n}\n\ninterface IState {\n entries: IEntry[];\n}\n\nclass EntrySelectorWrapper extends React.Component {\n public state: IState = {\n entries: [],\n };\n\n public lastSearch = \"\";\n\n public searchChange = async (value: string) => {\n const { excluded = [], handleChange, leagueId } = this.props;\n\n // If the search term has been cleared, clear any state\n if (!value.length) {\n handleChange(0);\n this.setState({ entries: [] });\n this.lastSearch = \"\";\n }\n\n // We are only interested in first name searches\n const searchMatches = value.match(/^(.*?) /);\n if (searchMatches && searchMatches[1] !== this.lastSearch) {\n const response = await fetch(\n `/api/league/${leagueId}/search-entries/?search=${encodeURIComponent(\n searchMatches[1]\n )}`\n );\n this.lastSearch = searchMatches[1];\n if (response.ok) {\n const entries: IEntry[] = await response.json();\n this.setState({\n entries: entries.filter((e) => excluded.indexOf(e.entry) === -1),\n });\n }\n }\n };\n\n public render() {\n return (\n \n );\n }\n}\n\nexport default EntrySelectorWrapper;\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport { ThunkDispatch } from \"../../../core/store\";\nimport { banLeagueEntry } from \"../../../core/store/leagues/thunks\";\nimport {\n IBanEntryData,\n IPrivateLeagueAdmin,\n} from \"../../../core/store/leagues/types\";\nimport Button from \"../../Button\";\nimport { FieldWrap } from \"../../FieldRenderers\";\nimport SubHeading from \"../../SubHeading\";\nimport EntrySelector from \"./EntrySelector\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\n\ninterface IOwnProps {\n league: IPrivateLeagueAdmin;\n}\n\ninterface IPropsFromDispatch {\n banLeagueEntry: (leagueId: number, data: IBanEntryData) => void;\n}\n\ntype Props = IOwnProps & IPropsFromDispatch & WithTranslation;\n\ninterface IState {\n entry: number;\n}\n\nclass AddBan extends React.Component {\n public state: IState = {\n entry: 0,\n };\n\n public handleEntryChange = (entryId: number) => {\n this.setState({ entry: entryId });\n };\n\n public handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n this.props.banLeagueEntry(this.props.league.id, this.apiDataFromState());\n };\n\n public apiDataFromState = (): IBanEntryData => ({\n entry: this.state.entry,\n });\n\n public render() {\n const disabled = !this.state.entry;\n const { t, league } = this.props;\n return (\n <>\n {t(\"addBan.title\", \"Add league suspensions\")}\n

\n {t(\n \"addBan.description\",\n \"Search for the player you wish to suspend from this league. Once the player has been suspended they will be unable to rejoin the league again.\"\n )}\n

\n
\n \n \n \n \n \n \n
\n \n );\n }\n}\nexport { AddBan as AddBanTest };\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n banLeagueEntry: (leagueId: number, data: IBanEntryData) =>\n dispatch(banLeagueEntry(leagueId, data)),\n});\n\nexport default withTranslation()(connect(null, mapDispatchToProps)(AddBan));\n","import React from \"react\";\nimport { IPrivateLeagueAdmin } from \"../../../core/store/leagues/types\";\nimport Button from \"../../Button\";\nimport { FieldWrap } from \"../../FieldRenderers\";\nimport SubHeading from \"../../SubHeading\";\nimport EntrySelector from \"./EntrySelector\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\n\ninterface IProps {\n updateAdmin: (entryId: number) => void;\n league: IPrivateLeagueAdmin;\n}\n\ntype Props = IProps & WithTranslation;\n\ninterface IState {\n entry: number;\n}\n\nclass ChangeAdmin extends React.Component {\n public state: IState = {\n entry: 0,\n };\n\n public handleEntryChange = (entryId: number) => {\n this.setState({ entry: entryId });\n };\n\n public handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n this.props.updateAdmin(this.state.entry);\n };\n\n public render() {\n const disabled = !this.state.entry;\n const { league, t } = this.props;\n return (\n <>\n \n {t(\"changeAdmin.title\", \"Change league administrator\")}\n \n
\n \n \n \n \n \n \n
\n \n );\n }\n}\n\nexport default withTranslation()(ChangeAdmin);\n","import React from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { RootState, ThunkDispatch } from \"../../../core/store\";\nimport { getEvents } from \"../../../core/store/events/reducers\";\nimport { IEvent } from \"../../../core/store/events/types\";\nimport { updateClassicLeague } from \"../../../core/store/leagues/thunks\";\nimport {\n IPrivateLeagueAdmin,\n IUpdateClassicLeagueData,\n LeagueCodePrivacy,\n} from \"../../../core/store/leagues/types\";\nimport Button from \"../../Button\";\nimport {\n CheckboxField,\n FieldWrap,\n InputField,\n SelectField,\n} from \"../../FieldRenderers\";\nimport SubHeading from \"../../SubHeading\";\n\ninterface IOwnProps {\n league: IPrivateLeagueAdmin;\n}\n\ninterface IPropsFromState {\n events: IEvent[];\n}\n\ninterface IPropsFromDispatch {\n updateLeague: (leagueId: number, data: IUpdateClassicLeagueData) => void;\n}\n\ntype Props = IOwnProps & IPropsFromState & IPropsFromDispatch & WithTranslation;\n\ninterface IState {\n codePrivacy: LeagueCodePrivacy;\n closed: boolean;\n name: string;\n startEvent: number;\n}\n\nclass ClassicDetails extends React.Component {\n public requiredFields: Array = [\n \"codePrivacy\",\n \"name\",\n \"startEvent\",\n ];\n\n public privacyOptions: { [key: string]: string } = {\n a: \"All game players\",\n l: \"League members\",\n p: \"League administrator\",\n };\n\n constructor(props: Props) {\n super(props);\n this.state = {\n closed: props.league.closed,\n codePrivacy: props.league.code_privacy,\n name: props.league.name,\n startEvent: props.league.start_event,\n };\n }\n\n public apiDataFromState = (): IUpdateClassicLeagueData => ({\n admin_entry: this.props.league.admin_entry,\n closed: this.state.closed,\n code_privacy: this.state.codePrivacy,\n name: this.state.name,\n start_event: this.state.startEvent,\n });\n\n public handleNameChange = (e: React.FormEvent) =>\n this.setState({ name: e.currentTarget.value });\n\n public handleCodePrivacyChange = (e: React.FormEvent) =>\n this.setState({ codePrivacy: e.currentTarget.value as LeagueCodePrivacy });\n\n public handleStartEventChange = (e: React.FormEvent) =>\n this.setState({ startEvent: parseInt(e.currentTarget.value, 10) });\n\n public handleClosedChange = (e: React.FormEvent) =>\n this.setState({ closed: e.currentTarget.checked ? true : false });\n\n public handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n this.props.updateLeague(this.props.league.id, this.apiDataFromState());\n };\n\n public render() {\n const { t, events } = this.props;\n const disabled = this.requiredFields.some((e) => !this.state[e]);\n return (\n <>\n {t(\"classicDetails.title\", \"League details\")}\n
\n \n \n \n \n

\n {this.props.league.name_change_blocked\n ? t(\n \"classicDetails.p1n\",\n \"Your requested league name is currently pending moderation and can't be edited at this time.\"\n )\n : t(\n \"classicDetails.p1\",\n \"Please think carefully before entering your league name. Leagues with names that are deemed inappropriate or offensive may result in your account being deleted. Please refer to the Terms & Conditions of entry for more information.\"\n )}\n

\n
\n \n \n {Object.keys(this.privacyOptions).map((p) => (\n \n {this.privacyOptions[p]}\n \n ))}\n \n \n \n \n {events.map((e) => (\n \n {e.name}\n \n ))}\n \n \n \n \n \n \n \n \n
\n \n );\n }\n}\n\nexport { ClassicDetails as ClassicDetailsTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n events: getEvents(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n updateLeague: (leagueId: number, data: IUpdateClassicLeagueData) =>\n dispatch(updateClassicLeague(leagueId, data)),\n});\n\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(ClassicDetails)\n);\n","import React from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { RootState, ThunkDispatch } from \"../../../core/store\";\nimport { getCode } from \"../../../core/store/leagues/reducers\";\nimport {\n fetchLeagueCode,\n regenerateLeagueCode,\n} from \"../../../core/store/leagues/thunks\";\nimport { IPrivateLeagueAdmin } from \"../../../core/store/leagues/types\";\nimport Button from \"../../Button\";\n\ninterface IOwnProps {\n league: IPrivateLeagueAdmin;\n}\n\ninterface IPropsFromState {\n code: string | null;\n}\n\ninterface IPropsFromDispatch {\n fetchCode: (leagueId: number) => void;\n regenerateCode: (leagueId: number) => void;\n}\n\ntype Props = IOwnProps & IPropsFromState & IPropsFromDispatch & WithTranslation;\n\nclass Code extends React.Component {\n public componentDidMount() {\n if (!this.props.league.closed) {\n this.props.fetchCode(this.props.league.id);\n }\n }\n\n public render() {\n const { code, league, regenerateCode, t } = this.props;\n if (league.closed) {\n return null;\n }\n return (\n <>\n

\n {t(\"leagues.code\", \"League code\")}: {code}\n

\n \n \n \n \n );\n }\n}\n\nexport { Code as CodeTest };\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: IOwnProps\n): IPropsFromState => ({\n code: getCode(state, ownProps.league.id),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n fetchCode: (leagueId: number) => dispatch(fetchLeagueCode(leagueId)),\n regenerateCode: (leagueId: number) =>\n dispatch(regenerateLeagueCode(leagueId)),\n});\n\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(Code)\n);\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport { ThunkDispatch } from \"../../../core/store\";\nimport { deleteLeague } from \"../../../core/store/leagues/thunks\";\nimport { IPrivateLeagueAdmin } from \"../../../core/store/leagues/types\";\nimport Button from \"../../Button\";\nimport SubHeading from \"../../SubHeading\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\n\ninterface IOwnProps {\n league: IPrivateLeagueAdmin;\n}\n\ninterface IPropsFromDispatch {\n remove: (leagueId: number) => void;\n}\n\ntype Props = IOwnProps & IPropsFromDispatch & WithTranslation;\n\nclass Delete extends React.Component {\n public render() {\n const { t, league, remove } = this.props;\n return (\n <>\n {t(\"delete.title\", \"Delete league\")}\n

\n {t(\n \"delete.description\",\n \"To delete the league, click on the button below. The players entered in the league will still exist and can enter other leagues if desired.\"\n )}\n

\n \n \n );\n }\n}\n\nexport { Delete as DeleteTest };\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n remove: (leagueId: number) => {\n if (window.confirm(\"Are you sure you want to delete this league?\")) {\n dispatch(deleteLeague(leagueId));\n }\n },\n});\n\nexport default withTranslation()(connect(null, mapDispatchToProps)(Delete));\n","import React from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { ThunkDispatch } from \"../../../core/store\";\nimport { unbanLeagueEntry } from \"../../../core/store/leagues/thunks\";\nimport {\n IBanEntryData,\n IPrivateLeagueAdmin,\n} from \"../../../core/store/leagues/types\";\nimport Button from \"../../Button\";\nimport SubHeading from \"../../SubHeading\";\n\ninterface IOwnProps {\n league: IPrivateLeagueAdmin;\n}\n\ninterface IPropsFromDispatch {\n unban: (leagueId: number, data: IBanEntryData) => void;\n}\n\ntype Props = IOwnProps & IPropsFromDispatch & WithTranslation;\n\nclass RemoveBan extends React.Component {\n public render() {\n if (!this.props.league.bans.length) {\n return null;\n }\n const { league, t, unban } = this.props;\n return (\n <>\n \n {t(\"removeBan.title\", \"Remove league suspensions\")}\n \n

\n {t(\n \"removeBan.description\",\n \"If a player has a suspension removed, they will need to join the league again.\"\n )}\n

\n
    \n {league.bans.map((b) => (\n
  • \n {b.player_name}\n \n
  • \n ))}\n
\n \n );\n }\n}\nexport { RemoveBan as RemoveBanTest };\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n unban: (leagueId: number, data: IBanEntryData) =>\n dispatch(unbanLeagueEntry(leagueId, data)),\n});\n\nexport default withTranslation()(connect(null, mapDispatchToProps)(RemoveBan));\n","import { RouteComponentProps } from \"@reach/router\";\nimport React from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { getLeagueAdmin } from \"../../core/store/leagues/reducers\";\nimport {\n fetchClassicLeagueForAdmin,\n updateClassicLeague,\n} from \"../../core/store/leagues/thunks\";\nimport {\n IPrivateLeagueAdmin,\n IUpdateClassicLeagueData,\n} from \"../../core/store/leagues/types\";\nimport Copy from \"../Copy\";\nimport { Main, Wrapper } from \"../Layout\";\nimport Title from \"../Title\";\nimport AddBan from \"./admin/AddBan\";\nimport ChangeAdmin from \"./admin/ChangeAdmin\";\nimport ClassicDetails from \"./admin/ClassicDetails\";\nimport Code from \"./admin/Code\";\nimport Delete from \"./admin/Delete\";\nimport RemoveBan from \"./admin/RemoveBan\";\n\ntype OwnProps = RouteComponentProps<{ leagueId: string }>;\n\ninterface IPropsFromState {\n league: IPrivateLeagueAdmin | null;\n leagueNumber: number;\n}\n\ninterface IPropsFromDispatch {\n fetchLeague: (leagueId: number) => void;\n updateLeague: (leagueId: number, data: IUpdateClassicLeagueData) => void;\n}\n\ntype Props = OwnProps & IPropsFromState & IPropsFromDispatch & WithTranslation;\n\nclass AdminClassic extends React.Component {\n public componentDidMount() {\n if (this.props.leagueNumber) {\n this.props.fetchLeague(this.props.leagueNumber);\n }\n }\n\n public render() {\n const { league, t, updateLeague } = this.props;\n if (!league) {\n return null;\n }\n return (\n \n
\n \n {t(\"leagues.adminTitle\", \"League Administration\")}\n \n \n \n \n \n \n \n \n \n \n \n \n updateLeague(league.id, {\n admin_entry: entryId,\n closed: league.closed,\n code_privacy: league.code_privacy,\n name: league.name,\n start_event: league.start_event,\n })\n }\n />\n \n \n \n \n \n
\n
\n );\n }\n}\n\nexport { AdminClassic as AdminClassicTest };\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: OwnProps\n): IPropsFromState => {\n const leagueNumber =\n ownProps.leagueId && parseInt(ownProps.leagueId, 10)\n ? parseInt(ownProps.leagueId, 10)\n : 0;\n return {\n league: leagueNumber\n ? (getLeagueAdmin(state, leagueNumber) as IPrivateLeagueAdmin)\n : null,\n leagueNumber,\n };\n};\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n fetchLeague: (leagueId: number) =>\n dispatch(fetchClassicLeagueForAdmin(leagueId)),\n updateLeague: (leagueId: number, data: IUpdateClassicLeagueData) =>\n dispatch(updateClassicLeague(leagueId, data)),\n});\n\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(AdminClassic)\n);\n","import React, { useEffect } from \"react\";\nimport { RouteComponentProps, navigate } from \"@reach/router\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { ThunkDispatch } from \"../../core/store\";\nimport { setCode, clearCode } from \"../../core/store/leagues/thunks\";\n\n// AutoJoin component simply stores the code in local storage and redirects\n// the user somewhere sensible.\n\ntype OwnProps = RouteComponentProps<{ code: string }>;\n\nconst AutoJoin: React.FC = ({ code }) => {\n const player = useSelector(getPlayerData);\n const reduxDispatch = useDispatch();\n useEffect(() => {\n code ? reduxDispatch(setCode(code)) : reduxDispatch(clearCode());\n });\n const next =\n player && player.entry ? \"/my-team\" : player ? \"/squad-selection\" : \"/\";\n\n // Need this to make sure LocationProvider is ready\n setTimeout(() => {\n return navigate(next, {\n replace: true,\n });\n }, 0);\n return
;\n};\n\nexport default AutoJoin;\n","import React from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { IError, RootState, ThunkDispatch } from \"../../core/store\";\nimport { getEvents } from \"../../core/store/events/reducers\";\nimport { IEvent } from \"../../core/store/events/types\";\nimport { getSettings } from \"../../core/store/game/reducers\";\nimport { ISettings } from \"../../core/store/game/types\";\nimport { getCreateClassicLeagueError } from \"../../core/store/leagues/reducers\";\nimport { createClassicLeague } from \"../../core/store/leagues/thunks\";\nimport { ICreateClassicLeagueData } from \"../../core/store/leagues/types\";\nimport { createInteractionData } from \"../../utils/tealium\";\nimport Button from \"../Button\";\nimport Copy from \"../Copy\";\nimport { FieldWrap, InputField, SelectField } from \"../FieldRenderers\";\nimport { Main, Wrapper } from \"../Layout\";\nimport Title from \"../Title\";\n\ninterface IPropsFromState {\n error: IError | null;\n events: IEvent[];\n settings: ISettings | null;\n}\n\ninterface IPropsFromDispatch {\n createClassicLeague: (data: ICreateClassicLeagueData) => Promise;\n}\n\ntype Props = WithTranslation & IPropsFromState & IPropsFromDispatch;\n\ninterface IState {\n name: string;\n startEvent: number;\n}\n\nclass CreateClassic extends React.Component {\n public state: IState = {\n name: \"\",\n startEvent: 1,\n };\n\n public requiredFields: Array = [\"name\", \"startEvent\"];\n\n public apiDataFromState = (): ICreateClassicLeagueData => ({\n name: this.state.name,\n start_event: this.state.startEvent,\n });\n\n public handleNameChange = (e: React.FormEvent) =>\n this.setState({ name: e.currentTarget.value });\n\n public handleStartEventChange = (e: React.FormEvent) =>\n this.setState({ startEvent: parseInt(e.currentTarget.value, 10) });\n\n public handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n this.props.createClassicLeague(this.apiDataFromState()).then(() => {\n if (!this.props.error) {\n createInteractionData({\n contentTitle: \"leagues\",\n interactionId: \"nba-fantasy-game:create-league:button\",\n interactionText: this.props.t(\n \"createClassic.button\",\n \"Create league\"\n ),\n });\n }\n });\n };\n\n public render() {\n const { error, events, settings, t } = this.props;\n const disabled = this.requiredFields.some((e) => !this.state[e]);\n return (\n \n
\n \n \n {t(\"createClassic.title\", \"Create a new classic league\")}\n \n {error ? (\n error.badRequest &&\n error.badRequest.non_field_errors &&\n error.badRequest.non_field_errors[0].code ===\n \"max_private_entries\" ? (\n

\n {t(\n \"createClassic.error\",\n \"You may only enter {{ maxPrivateEntries }} private leagues\",\n {\n maxPrivateEntries:\n settings && settings.league_join_private_max,\n }\n )}\n

\n ) : (\n

{JSON.stringify(error)}

\n )\n ) : (\n \"\"\n )}\n
\n \n \n \n \n \n {events.map((e) => (\n \n {e.name}\n \n ))}\n \n \n \n \n \n
\n
\n
\n
\n );\n }\n}\n\nexport { CreateClassic as CreateClassicTest };\n\nconst mapStateToProps = (state: RootState) => ({\n error: getCreateClassicLeagueError(state),\n events: getEvents(state),\n settings: getSettings(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n createClassicLeague: (data: ICreateClassicLeagueData) =>\n dispatch(createClassicLeague(data)),\n});\n\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(CreateClassic)\n);\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport ButtonLink from \"../ButtonLink\";\nimport Copy from \"../Copy\";\nimport { Main, Wrapper } from \"../Layout\";\nimport SubHeading from \"../SubHeading\";\nimport { TextDivider } from \"../Divider\";\nimport Title from \"../Title\";\n\nconst CreateJoin: React.FC = () => {\n const { t } = useTranslation();\n return (\n \n
\n \n {t(\"createJoin.title\", \"Create and join leagues\")}\n \n {t(\"createJoin.joinLeague.title\", \"Join a League\")}\n \n

\n {t(\n \"createJoin.joinLeague.p1\",\n \"Join a private or public league to compete against friends and other game players.\"\n )}\n

\n \n {t(\"createJoin.joinLeague.button\", \"Join a league\")}\n \n {t(\"createJoin.or\", \"or\")}\n \n {t(\"createJoin.createLeague.title\", \"Create a new league\")}\n \n

\n {t(\n \"createJoin.createLeague.p1\",\n \"Create a private league to compete against friends.\"\n )}\n

\n \n {t(\"createJoin.createLeague.button\", \"Create a league\")}\n \n
\n
\n
\n );\n};\n\nexport default CreateJoin;\n","import { RouteComponentProps } from \"@reach/router\";\nimport { TFunction } from \"i18next\";\nimport React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport useClipboard from \"react-use-clipboard\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { getLeagueForEntry } from \"../../core/store/entries/reducers\";\nimport { fetchEntrySummary } from \"../../core/store/entries/thunks\";\nimport { ILeagueEntry } from \"../../core/store/entries/types\";\nimport { getCode } from \"../../core/store/leagues/reducers\";\nimport { fetchLeagueCode } from \"../../core/store/leagues/thunks\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { ILoggedInPlayer } from \"../../core/store/player/types\";\nimport Button from \"../Button\";\nimport Copy from \"../Copy\";\nimport { Main, Wrapper } from \"../Layout\";\nimport Title from \"../Title\";\nimport { ControlArrowEnd } from \"../icons/Arrows\";\n\nconst LeagueInvite = styled.div`\n margin-bottom: ${({ theme }) => theme.space[4]};\n padding: ${({ theme }) => theme.space[2]};\n background-color: ${({ theme }) => theme.colors.primary};\n color: #fff;\n font-size: ${({ theme }) => theme.space[3]};\n text-align: center;\n`;\n\nconst LeagueInviteCode = styled.strong`\n margin-left: ${({ theme }) => theme.space[1]};\n color: ${({ theme }) => theme.colors.yellow};\n`;\n\nconst Hr = styled.hr`\n border: 0;\n height: 1px;\n margin-top: 23px;\n margin-bottom: 23px;\n background-color: grey;\n`;\n\nconst inviteMessage = (code: string, leagueName: string, t: TFunction) => [\n t(\"invite.inviteMsg1\", \"Hi\"),\n t(\"invite.inviteMsg2\", \"I've created a league called {{leagueName}}.\", {\n leagueName: leagueName,\n }),\n `${window.location.origin}/leagues/auto-join/${code}`,\n t(\n \"invite.inviteMsg3\",\n \"You shouldn't need the league code, but just in case here it is: {{code}}\",\n {\n code: code,\n }\n ),\n t(\"invite.inviteMsg4\", \"Enjoy the game!\"),\n];\n\ntype OwnProps = RouteComponentProps<{ leagueId: string }>;\n\ninterface IPropsFromState {\n code: string | null;\n entryId: number;\n leagueNumber: number;\n league: ILeagueEntry | null;\n}\n\ninterface IPropsFromDispatch {\n fetchCode: (leagueId: number) => void;\n fetchEntrySummary: (entryId: number) => void;\n}\n\ntype Props = OwnProps & IPropsFromState & IPropsFromDispatch;\n\nconst Invite: React.FC = ({\n code,\n league,\n leagueNumber,\n entryId,\n fetchCode,\n fetchEntrySummary,\n}) => {\n const { t } = useTranslation();\n const codeToCopy = code ? code : \"\";\n const leagueName = league ? league.name : \"\";\n const message = inviteMessage(codeToCopy, leagueName, t);\n const emailText = message ? message.join(\"\\n\\n\") : \"\";\n const emailBody = encodeURIComponent(emailText);\n const emailSubject = t(\"invite.emailSubject\", \"Play NBA Fantasy\");\n const encodedEmailSubject = encodeURI(emailSubject);\n const joinUrl = `${window.location.origin}/leagues/auto-join/${code}`;\n const [isCopied, setCopied] = useClipboard(codeToCopy, {\n successDuration: 500,\n });\n const [isCopiedUrl, setCopiedUrl] = useClipboard(joinUrl, {\n successDuration: 500,\n });\n const [isCopiedEmail, setCopiedEmail] = useClipboard(emailText, {\n successDuration: 500,\n });\n\n useEffect(() => {\n if (leagueNumber) {\n fetchCode(leagueNumber);\n }\n\n fetchEntrySummary(entryId);\n }, [leagueNumber, entryId, fetchCode, fetchEntrySummary]);\n\n if (!codeToCopy || !leagueNumber || !league) {\n return null;\n }\n\n return (\n \n
\n \n \n {t(\"invite.title\", \"Invite players to join\")} {leagueName}\n \n \n {t(\"invite.codeToJoin\", \"Code to join this league\")}:\n \n {isCopied ? t(\"invite.copied\", \"Copied!\") : codeToCopy}\n \n \n\n \n\n
\n\n

\n {t(\n \"invite.description1\",\n \"When you click the link below, the link will attempt to open your default email program and start a new email.\"\n )}\n

\n\n

\n {t(\n \"invite.description2\",\n \"If you do not have a default email program, like Outlook or Mail, enabled on your computer, clicking the link may not result in any action or you may be prompted to set up an email program.\"\n )}\n

\n\n \n (window.location.href = `mailto:?to=&subject=${encodedEmailSubject}&body=${emailBody}`)\n }\n >\n {t(\"invite.byEmailButton\", \"Share league code by email\")}{\" \"}\n \n \n\n
\n\n

\n {t(\n \"invite.description3\",\n \"If you use a browser based webmail application, like Gmail or Yahoo!, you can copy and paste the text below:\"\n )}\n

\n\n \n {message.map((line) => (\n

{line}

\n ))}\n
\n\n \n
\n
\n
\n );\n};\n\nexport { Invite as InviteTest };\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: OwnProps\n): IPropsFromState => {\n const player = getPlayerData(state) as ILoggedInPlayer; // enforced by EntryRoute\n const entry = player.entry;\n const leagueNumber =\n ownProps.leagueId && parseInt(ownProps.leagueId, 10)\n ? parseInt(ownProps.leagueId, 10)\n : 0;\n return {\n code: leagueNumber ? getCode(state, leagueNumber) : null,\n league: leagueNumber ? getLeagueForEntry(state, entry, leagueNumber) : null,\n leagueNumber,\n entryId: entry,\n };\n};\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n fetchCode: (leagueId: number) => dispatch(fetchLeagueCode(leagueId)),\n fetchEntrySummary: (entryId: number) => dispatch(fetchEntrySummary(entryId)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Invite);\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { RootState } from \"../../core/store\";\nimport { getSettings } from \"../../core/store/game/reducers\";\nimport { ISettings } from \"../../core/store/game/types\";\nimport ButtonLink from \"../ButtonLink\";\nimport Copy from \"../Copy\";\nimport { Main, Wrapper } from \"../Layout\";\nimport SubHeading from \"../SubHeading\";\nimport Title from \"../Title\";\n\ninterface IPropsFromState {\n settings: ISettings | null;\n}\n\nconst Join: React.FC = ({ settings }) => {\n const { t } = useTranslation();\n if (!settings) {\n return null;\n }\n return (\n \n
\n \n {t(\"join.title\", \"Choose a league type to join\")}\n

\n {t(\n \"join.p1\",\n \"You can join up to {{ maxPrivateLeagues }} private leagues and {{ maxPublicLeagues }} public leagues.\",\n {\n maxPrivateLeagues: settings.league_join_private_max,\n maxPublicLeagues: settings.league_join_public_max,\n }\n )}\n

\n \n \n {t(\"join.private.title\", \"Private leagues\")}\n \n

\n {t(\n \"join.private.p1\",\n \"Join a private league if somebody has given you a league code to enter.\"\n )}\n

\n\n \n {t(\"join.private.button\", \"Join private league\")}\n \n
\n {t(\"join.public.title\", \"Public leagues\")}\n

\n {t(\n \"join.public.p1\",\n \"Join a public league to play against a small, randomly selected group of other game players.\"\n )}\n

\n \n {t(\"join.public.button\", \"Join public league\")}\n \n
\n
\n
\n );\n};\n\nexport { Join as JoinTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n settings: getSettings(state),\n});\n\nexport default connect(mapStateToProps)(Join);\n","import { IError } from \"../../core/store\";\n\nexport const getErrorType = (errors: IError | null) => {\n if (errors) {\n if (errors.badRequest) {\n if (errors.badRequest.non_field_errors) {\n return errors.badRequest.non_field_errors[0].code;\n }\n if (errors.badRequest.code) {\n return errors.badRequest.code[0].code;\n }\n }\n return JSON.stringify(errors);\n }\n return \"\";\n};\n","import { TFunction } from \"i18next\";\nimport React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { ISettings } from \"../../core/store/game/types\";\n\ninterface IProps {\n error: string;\n settings: ISettings;\n}\n\nconst JoinLeagueError: React.FC = ({ error, settings }) => {\n const { t } = useTranslation();\n const getErrorMessage = (\n error: string,\n settings: ISettings,\n t: TFunction\n ) => {\n switch (error) {\n case \"max_length\": {\n return t(\n \"joinPrivate.errors.maxLength\",\n \"Invalid code entered. Please check the code.\"\n );\n }\n case \"invalid\": {\n return t(\n \"joinPrivate.errors.invalid\",\n \"Invalid code entered. Please check the code and confirm with the league administrator if you are still having problems.\"\n );\n }\n case \"league_closed\": {\n return t(\n \"joinPrivate.errors.leagueClosed\",\n \"This league is closed to new entries.\"\n );\n }\n case \"already_joined\": {\n return t(\n \"joinPrivate.errors.alreadyJoined\",\n \"You are already entered in this league.\"\n );\n }\n case \"entry_banned\": {\n return t(\n \"joinPrivate.errors.entryBanned\",\n \"The creator of this league has banned you from entering.\"\n );\n }\n case \"max_private_entries\": {\n return t(\n \"joinPrivate.errors.maxPrivate\",\n \"You are in the maximum number of {{ maxPrivateEntries }} private leagues. Before you can join a new league you will need to leave one of these leagues.\",\n {\n maxPrivateEntries: settings.league_join_private_max,\n }\n );\n }\n case \"public_league_max_exceeded\": {\n return `You may only enter ${settings.league_join_public_max} public leagues`;\n }\n default:\n return error;\n }\n };\n return

{getErrorMessage(error, settings, t)}

;\n};\n\nexport default JoinLeagueError;\n","import { navigate } from \"@reach/router\";\nimport React from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { IError, RootState, ThunkDispatch } from \"../../core/store\";\nimport { getSettings } from \"../../core/store/game/reducers\";\nimport { ISettings } from \"../../core/store/game/types\";\nimport {\n getJoinPrivateLeagueError,\n getJoinPrivateLeagueSuccess,\n} from \"../../core/store/leagues/reducers\";\nimport { joinPrivateLeague } from \"../../core/store/leagues/thunks\";\nimport { IJoinPrivateLeagueData } from \"../../core/store/leagues/types\";\nimport { createInteractionData } from \"../../utils/tealium\";\nimport Alert from \"../Alert\";\nimport Button from \"../Button\";\nimport Copy from \"../Copy\";\nimport { FieldWrap, InputField } from \"../FieldRenderers\";\nimport { Main, Wrapper } from \"../Layout\";\nimport Title from \"../Title\";\nimport { getErrorType } from \"./errors\";\nimport JoinLeagueError from \"./JoinLeagueError\";\n\ninterface IState {\n code: string;\n}\n\ninterface IPropsFromState {\n error: IError | null;\n settings: ISettings;\n hasJoinedPrivate: boolean;\n}\n\ninterface IPropsFromDispatch {\n joinPrivateLeague: (data: IJoinPrivateLeagueData) => Promise;\n}\n\ntype Props = WithTranslation & IPropsFromState & IPropsFromDispatch;\n\nclass JoinPrivate extends React.Component {\n public state = { code: \"\" };\n\n public apiDataFromState = (): IJoinPrivateLeagueData => ({\n code: this.state.code,\n });\n\n public handleCodeChange = (e: React.FormEvent) =>\n this.setState({ code: e.currentTarget.value });\n\n public handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n this.props.joinPrivateLeague(this.apiDataFromState()).then(() => {\n if (!this.props.error) {\n createInteractionData({\n contentTitle: \"leagues\",\n interactionId: \"nba-fantasy-game:join-league:button\",\n interactionText: this.props.t(\"joinPrivate.button\", \"Join league\"),\n });\n }\n });\n };\n\n public render() {\n const disabled = !this.state.code;\n const error = getErrorType(this.props.error);\n const { settings, t, hasJoinedPrivate } = this.props;\n\n if (hasJoinedPrivate) {\n navigate(\"/leagues\");\n return null;\n }\n\n return (\n \n
\n \n {t(\"joinPrivate.title\", \"Join private league\")}\n {error && (\n \n \n {settings && (\n \n )}\n \n \n )}\n
\n \n \n \n \n \n \n
\n
\n
\n
\n );\n }\n}\n\nexport { JoinPrivate as JoinPrivateTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n error: getJoinPrivateLeagueError(state),\n settings: getSettings(state) as ISettings,\n hasJoinedPrivate: getJoinPrivateLeagueSuccess(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n joinPrivateLeague: (data: IJoinPrivateLeagueData) =>\n dispatch(joinPrivateLeague(data)),\n});\n\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(JoinPrivate)\n);\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { IError, RootState, ThunkDispatch } from \"../../core/store\";\nimport { getSettings } from \"../../core/store/game/reducers\";\nimport { ISettings } from \"../../core/store/game/types\";\nimport { getJoinPublicLeagueError } from \"../../core/store/leagues/reducers\";\nimport { joinPublicLeague } from \"../../core/store/leagues/thunks\";\nimport Alert from \"../Alert\";\nimport Button from \"../Button\";\nimport Copy from \"../Copy\";\nimport { Main, Wrapper } from \"../Layout\";\nimport SubHeading from \"../SubHeading\";\nimport Title from \"../Title\";\n\ninterface IPropsFromState {\n error: IError | null;\n settings: ISettings;\n}\n\ninterface IPropsFromDispatch {\n joinPublicLeagueClassic: () => void;\n joinPublicLeagueH2H: () => void;\n}\n\ntype Props = IPropsFromState & IPropsFromDispatch;\n\nconst JoinPublic: React.FC = ({\n error,\n joinPublicLeagueClassic,\n joinPublicLeagueH2H,\n settings,\n}) => {\n const { t } = useTranslation();\n return (\n \n
\n \n {t(\"joinPublic.title\", \"Join public league\")}\n {error ? (\n error.badRequest &&\n error.badRequest.non_field_errors &&\n error.badRequest.non_field_errors[0].code ===\n \"public_league_max_exceeded\" ? (\n \n \n {t(\n \"joinPublic.error\",\n \"You may only enter {{ publicLeagueMax }} public leagues\",\n { publicLeagueMax: settings.league_join_public_max }\n )}\n \n \n ) : (\n

{JSON.stringify(error)}

\n )\n ) : (\n \"\"\n )}\n \n

\n {t(\n \"joinPublic.p1\",\n \"Public leagues allow you to compete against {{ maxSizePublicClassic }} randomly assigned game players in a classic league. You can join up to {{ leagueJoinPublicMax }} public leagues.\",\n {\n maxSizePublicClassic: settings.league_max_size_public_classic,\n leagueJoinPublicMax: settings.league_join_public_max,\n }\n )}\n

\n

\n \n {t(\n \"joinPublic.p2\",\n \"Note, you can't remove your team from a public league after the league has started, once the challenge is on there's no quitting.\"\n )}\n \n

\n
\n\n \n \n {t(\"joinPublic.classic.title\", \"Classic scoring\")}\n \n

\n {t(\n \"joinPublic.classic.p1\",\n \"In a league with classic scoring, teams are ranked based on their total points in the game. You can join or leave a league with classic scoring at any point during the season\"\n )}\n

\n \n
\n
\n
\n
\n );\n};\n\nexport { JoinPublic as JoinPublicTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n error: getJoinPublicLeagueError(state),\n settings: getSettings(state) as ISettings,\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n joinPublicLeagueClassic: () => dispatch(joinPublicLeague({ scoring: \"c\" })),\n joinPublicLeagueH2H: () => dispatch(joinPublicLeague({ scoring: \"h\" })),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(JoinPublic);\n","var _g, _path, _path2, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgNbaIdLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 90,\n height: 80,\n viewBox: \"0 0 90 80\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_1967_1810)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.6009 53.9403L27.012 0H8.28007C6.0846 0.00220613 3.9797 0.875327 2.42727 2.42776C0.87484 3.98018 0.00171785 6.08509 -0.000488281 8.28056V71.7083C0.000244385 73.9053 0.87254 76.0122 2.42497 77.5667C3.9774 79.1212 6.08313 79.9963 8.28007 80H27.0009C29.1997 79.9971 31.3078 79.1228 32.8632 77.5686C34.4187 76.0145 35.2947 73.9072 35.2995 71.7083V8.28056C35.2958 6.08482 34.4217 3.98014 32.8687 2.42791C31.3157 0.875677 29.2105 0.00257063 27.0148 0\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.3657 14.6651L22.3851 14.9429C22.9573 15.2762 23.2462 15.5471 23.8212 15.9151C25.349 16.8762 27.231 18.586 26.9935 24.4749C27.4226 25.7596 27.6115 28.2832 28.0073 29.0929C28.8032 30.6707 29.3337 31.6971 29.5657 33.186C29.5657 33.186 29.7962 35.504 30.0948 35.6721C31.674 36.0276 31.2185 36.1832 31.449 36.454C31.6935 36.7721 32.606 36.7568 32.606 37.6068C32.9077 38.0121 33.1529 38.4564 33.3351 38.9276V8.28041C33.3337 6.6036 32.6673 4.9958 31.4821 3.80958C30.2969 2.62337 28.6897 1.95558 27.0129 1.95264H20.9601C21.9323 2.29708 22.481 2.70541 22.8018 3.35264C23.5837 3.4193 24.5129 5.17208 23.0643 7.75819C23.706 8.18597 23.2032 8.82347 22.7462 9.56375C22.6073 9.80264 22.4685 10.2235 22.0351 10.1957C21.4865 11.3512 20.8226 12.4721 20.3212 12.5429C20.1685 12.7304 20.0587 13.2276 20.2865 13.461C21.024 13.7915 21.9212 14.2443 22.3698 14.6651\",\n fill: \"#C8102E\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33.3346 43.0754C32.9764 43.9758 32.3925 44.7689 31.6392 45.3785C30.8858 45.9881 29.9883 46.3935 29.033 46.556C28.0776 46.7184 27.0965 46.6323 26.1841 46.306C25.2716 45.9797 24.4584 45.4241 23.8227 44.6927C23.187 43.9613 22.7502 43.0786 22.5542 42.1295C22.3583 41.1805 22.4098 40.197 22.7038 39.2736C22.9978 38.3502 23.5244 37.518 24.233 36.8569C24.9416 36.1959 25.8084 35.7283 26.7499 35.499C26.0985 33.8712 24.7263 31.2323 24.318 30.3671C23.9319 29.5073 23.0013 24.1407 22.8013 23.0796C22.7555 22.8476 20.3652 24.4685 20.361 24.5657C20.2221 24.7046 18.568 29.0101 18.4985 29.2504C18.4739 29.4908 18.4619 29.7323 18.4624 29.974C18.4624 29.974 19.2749 30.0754 19.743 31.4935C20.211 32.9115 21.6166 38.0754 21.6166 38.0754C21.6166 38.0754 21.2346 38.4698 21.218 38.4462C23.0013 44.4185 22.3777 46.9823 23.1777 48.7323C24.1833 51.199 24.4541 50.8754 25.3166 52.949C25.936 54.4587 26.6263 60.4004 26.8569 60.6643C27.8194 61.8837 28.3374 62.8379 28.3374 63.5268C28.3374 64.2157 27.5221 66.2657 27.8194 67.4573C27.9999 68.1518 28.0971 69.7309 28.4208 70.0296C28.4208 70.0296 28.7194 70.6184 28.5721 70.8809C28.5305 70.9712 28.4444 71.1087 28.4833 71.2171C29.0138 73.0907 30.7277 76.2865 27.9527 77.9601H28.011C29.501 77.7284 30.8582 76.9692 31.8353 75.8207C32.8125 74.6723 33.3446 73.211 33.3346 71.7032V43.0754Z\",\n fill: \"#C8102E\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.2067 70.4925C25.1887 69.5842 25.8692 69.2009 25.8276 68.8425C25.1567 66.0717 22.9567 64.3981 24.0942 63.4814C23.8164 62.5661 23.2428 61.4175 23.2609 61.4189C19.8303 59.4495 16.9109 56.2508 16.4137 55.7814C15.8123 55.1272 14.7887 54.4717 14.5956 53.9397C13.772 53.1828 9.7345 47.4495 8.78728 45.337L7.147 45.105C6.39978 42.0564 3.90812 39.5008 3.847 36.4439C3.82339 35.2883 4.37062 32.8119 4.57478 32.3189C4.77895 31.8258 5.72895 30.9953 5.72895 30.9953V30.1772C2.14978 30.28 3.17895 29.9147 2.56228 28.5231C2.12895 27.5592 2.43867 27.3481 2.59562 26.6786C3.07478 24.7064 4.67062 21.6647 5.33034 20.2897C5.53173 19.5953 6.222 17.9106 6.222 17.9106C8.89006 12.4786 9.88589 12.8772 13.0539 12.5717L13.2095 12.3467C16.3845 12.2078 15.8651 11.9703 16.3123 8.91193C15.8498 9.11054 15.7123 7.95499 15.7123 7.95499C15.4595 6.21332 16.1942 6.54388 16.5456 6.50916C16.6192 3.64804 16.9137 2.74665 18.9776 1.95776H8.28312C6.60498 1.95776 4.99548 2.62392 3.80821 3.80989C2.62094 4.99586 1.95301 6.60463 1.95117 8.28277V71.7078C1.95081 72.5396 2.11432 73.3632 2.43236 74.1318C2.75041 74.9003 3.21676 75.5987 3.80477 76.187C4.39279 76.7752 5.09094 77.2419 5.85934 77.5603C6.62775 77.8786 7.45136 78.0425 8.28312 78.0425H27.0123C24.8678 76.8842 26.1331 74.6786 26.2067 70.4925Z\",\n fill: \"#1D428A\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.1514 1.76172V15.0947H55.3319V1.76172H45.1514ZM45.1514 21.9831V77.9257H55.3319V21.9831H45.1514Z\",\n fill: \"#1D428A\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M72.7123 77.9257C82.1485 77.9257 89.3899 72.5925 89.3899 60.2171V18.9356C89.3899 7.52128 82.9977 1.76172 72.7123 1.76172H62.0005V77.9257H72.7123ZM79.2093 15.4616V64.2257C79.2093 65.313 78.7774 66.3557 78.0086 67.1245C77.2398 67.8933 76.197 68.3252 75.1098 68.3252H72.1776V11.3587H75.1063C75.6452 11.3582 76.179 11.464 76.677 11.67C77.175 11.8761 77.6275 12.1783 78.0086 12.5594C78.3897 12.9405 78.6919 13.393 78.8979 13.891C79.1039 14.389 79.2097 14.9227 79.2093 15.4616V15.4616Z\",\n fill: \"#1D428A\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_1967_1810\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 35.2986,\n height: 80,\n fill: \"white\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNbaIdLogo);\nexport default __webpack_public_path__ + \"static/media/nba-id-logo.0b64c94a.svg\";\nexport { ForwardRef as ReactComponent };","import * as React from \"react\";\n\ninterface IDialogProps {\n render: (\n showDialog: boolean,\n handleHide: () => void,\n handleShow: () => void\n ) => React.ReactNode;\n}\n\ninterface IDialogState {\n readonly showDialog: boolean;\n}\n\nclass DialogManager extends React.Component {\n public readonly state: Readonly = { showDialog: false };\n\n public handleShow = () => {\n this.setState({ showDialog: true });\n };\n\n public handleHide = () => {\n this.setState({ showDialog: false });\n };\n\n public render() {\n return (\n <>\n {this.props.render(\n this.state.showDialog,\n this.handleShow,\n this.handleHide\n )}\n \n );\n }\n}\n\nexport default DialogManager;\n","import styled from \"styled-components/macro\";\n\nconst LinkButton = styled.button`\n display: inline-flex;\n align-items: center;\n padding: 0;\n border: 0;\n background-color: transparent;\n color: black;\n font-family: inherit;\n font-size: inherit;\n font-weight: 500;\n text-align: left;\n cursor: pointer;\n\n :hover {\n text-decoration: underline;\n }\n`;\n\nexport default LinkButton;\n","import { hideVisually, size } from \"polished\";\nimport React from \"react\";\nimport {\n WithTranslation,\n useTranslation,\n withTranslation,\n} from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled, { css } from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport {\n getEntry,\n getPrivateClassicLeaguesForEntry,\n getPublicClassicLeaguesForEntry,\n getSystemClassicLeaguesForEntry,\n} from \"../../core/store/entries/reducers\";\nimport { fetchEntrySummary } from \"../../core/store/entries/thunks\";\nimport { IEntry, ILeagueEntry } from \"../../core/store/entries/types\";\nimport { leaveLeague } from \"../../core/store/leagues/thunks\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { ILoggedInPlayer } from \"../../core/store/player/types\";\nimport i18n from \"../../i18n\";\nimport { ReactComponent as BaseCog } from \"../../img/icons/cog.svg\";\nimport { isRTL } from \"../../utils/locale\";\nimport { createPageViewData } from \"../../utils/tealium\";\nimport Button from \"../Button\";\nimport ButtonLink from \"../ButtonLink\";\nimport Dialog, { DialogButtonItem } from \"../Dialog\";\nimport DialogManager from \"../DialogManager\";\nimport { Main, Secondary, Wrapper } from \"../Layout\";\nimport Link from \"../Link\";\nimport LinkButton from \"../LinkButton\";\nimport { BoldSubHeading } from \"../SubHeading\";\nimport Table from \"../Table\";\nimport { BoxWrap, VisuallyHidden } from \"../Utils\";\nimport Movement from \"./Movement\";\n\nconst ActionBar = styled.ul`\n list-style-type: none;\n padding: 0;\n margin: 0;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n display: flex;\n }\n`;\n\nconst ActionBarItem = styled.li`\n padding: ${({ theme }) => theme.space[2]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n flex: 1;\n }\n`;\n\nconst ActionList = styled.ul`\n margin: 0;\n padding: 0;\n list-style: none;\n text-align: center;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n width: 50%;\n margin: 0 auto;\n }\n`;\n\nconst MyLeaguesTable = styled(Table)`\n table-layout: fixed;\n\n th {\n padding: ${({ theme }) => theme.space[1]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n padding: ${({ theme }) => theme.space[2]};\n }\n }\n td {\n padding: ${({ theme }) => `${theme.space[2]} ${theme.space[1]}`};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n padding: ${({ theme }) => theme.space[2]};\n }\n }\n`;\n\nconst LeagueCol = styled.th`\n width: 40%;\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 36%;\n }\n`;\n\nconst MovementCol = styled.th`\n width: 8%;\n`;\n\nconst RankCol = styled.th`\n width: 24%;\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 18%;\n }\n`;\n\nconst OptionsCol = styled.th`\n width: 10%;\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: 20%;\n }\n`;\n\nconst MenuCopy = styled.span`\n ${isRTL(i18n.language)\n ? css`\n margin-right: ${({ theme }) => theme.space[1]};\n `\n : css`\n margin-left: ${({ theme }) => theme.space[1]};\n `}\n\n @media (max-width: ${({ theme }) => theme.breakpoints[2]}) {\n ${hideVisually}\n }\n`;\n\nconst Cog = styled(BaseCog)`\n ${size(14)};\n`;\n\ninterface IPropsFromState {\n entry: IEntry | null;\n player: ILoggedInPlayer;\n privateClassicLeagues: ILeagueEntry[];\n publicClassicLeagues: ILeagueEntry[];\n systemClassicLeagues: ILeagueEntry[];\n}\n\ninterface IPropsFromDispatch {\n fetchEntrySummary: (entryId: number) => void;\n leave: (leagueId: number) => void;\n}\n\ntype Props = WithTranslation & IPropsFromState & IPropsFromDispatch;\n\nclass MyLeagues extends React.Component {\n public componentDidMount() {\n this.props.fetchEntrySummary(this.props.player.entry);\n createPageViewData(\"leagues\");\n }\n\n public render() {\n const {\n entry,\n leave,\n privateClassicLeagues,\n publicClassicLeagues,\n systemClassicLeagues,\n t,\n } = this.props;\n if (!entry) {\n return null;\n }\n return (\n \n
\n \n

{t(\"myLeagues.title\", \"My Leagues\")}

\n
\n \n \n \n \n \n {t(\n \"myLeagues.createJoinButton\",\n \"Create and join new leagues\"\n )}\n \n \n \n \n {t(\"myLeagues.renewButton\", \"Renew your leagues\")}\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
\n \n
\n );\n }\n}\n\nexport { MyLeagues as MyLeaguesTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => {\n const player = getPlayerData(state) as ILoggedInPlayer; // enforced by EntryRoute\n const entry = player.entry;\n return {\n entry: getEntry(state, entry),\n player,\n privateClassicLeagues: getPrivateClassicLeaguesForEntry(state, entry),\n publicClassicLeagues: getPublicClassicLeaguesForEntry(state, entry),\n systemClassicLeagues: getSystemClassicLeaguesForEntry(state, entry),\n };\n};\n\nconst mapDispatchToProps = (\n dispatch: ThunkDispatch,\n ownProps: WithTranslation\n): IPropsFromDispatch => ({\n fetchEntrySummary: (entryId) => dispatch(fetchEntrySummary(entryId)),\n leave: (leagueId: number) => {\n if (\n window.confirm(\n ownProps.t(\n \"myLeagues.confirmLeave\",\n \"Are you sure you want to leave this league?\"\n )\n )\n ) {\n dispatch(leaveLeague(leagueId));\n }\n },\n});\n\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(MyLeagues)\n);\n\ninterface ILeagueTypeTableProps {\n leagues: ILeagueEntry[];\n leave: (leagueId: number) => void;\n title: React.ReactNode;\n}\n\nconst LeagueTypeTable: React.FC = ({\n leagues,\n leave,\n title,\n}) => {\n const { t } = useTranslation();\n return (\n
\n {title}\n \n \n \n {t(\"myLeagues.th.league\", \"League\")}\n  \n {t(\"myLeagues.th.currentRank\", \"Current Rank\")}\n {t(\"myLeagues.th.lastRank\", \"Last Rank\")}\n  \n \n \n \n {leagues.map((l) => (\n \n \n \n {l.name}\n \n \n \n \n \n {l.entry_rank ? l.entry_rank.toLocaleString() : \"-\"}\n \n {l.entry_last_rank ? l.entry_last_rank.toLocaleString() : \"-\"}\n \n \n (\n <>\n \n \n \n {t(\"myLeagues.optionsLink\", \"Options\")}\n \n \n {showDialog && (\n \n )}\n \n )}\n />\n \n \n ))}\n \n \n
\n );\n};\n\ninterface ILeagueMenuDialogProps {\n handleHide: () => void;\n leagueEntry: ILeagueEntry;\n leave: (leagueId: number) => void;\n}\n\nconst LeagueMenuDialog: React.FC = ({\n handleHide,\n leagueEntry,\n leave,\n}) => {\n const { t } = useTranslation();\n return (\n \n {leagueEntry.name}\n \n \n \n \n {t(\"myLeagues.menuDialog.standings\", \"Standings\")}\n \n \n {leagueEntry.entry_can_leave && (\n \n {\n leave(leagueEntry.id);\n handleHide();\n }}\n fullwidth=\"true\"\n >\n {t(\"myLeagues.menuDialog.leave\", \"Leave league\")}\n \n \n )}\n {leagueEntry.entry_can_admin && (\n \n \n {t(\"myLeagues.menuDialog.admin\", \"Administer\")}\n \n \n )}\n {leagueEntry.entry_can_invite && (\n \n \n {t(\"myLeagues.menuDialog.invite\", \"Invite friends\")}\n \n \n )}\n \n \n \n );\n};\n","import React from \"react\";\nimport { connect } from \"react-redux\";\nimport { Box, Flex } from \"rebass/styled-components\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { getRenewableLeagues } from \"../../core/store/leagues/reducers\";\nimport {\n deleteRenewableLeague,\n fetchRenewableLeagues,\n renewRenewableLeague,\n} from \"../../core/store/leagues/thunks\";\nimport { IRenewableLeague } from \"../../core/store/leagues/types\";\nimport Alert from \"../Alert\";\nimport Button from \"../Button\";\nimport Copy from \"../Copy\";\nimport { Main, Wrapper } from \"../Layout\";\nimport SubHeading from \"../SubHeading\";\nimport Title from \"../Title\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\n\ninterface IPropsFromState {\n leagues: IRenewableLeague[];\n}\n\ninterface IPropsFromDispatch {\n destroy: (id: number) => void;\n fetch: () => void;\n renew: (id: number) => void;\n}\n\ntype Props = WithTranslation & IPropsFromState & IPropsFromDispatch;\n\nclass Renew extends React.Component {\n public componentDidMount() {\n this.props.fetch();\n }\n\n public render() {\n const { destroy, leagues, renew, t } = this.props;\n return (\n \n
\n \n {t(\"renew.title\", \"Renew your leagues\")}\n

\n {t(\n \"renew.p1\",\n \"Choose whether you wish to renew or delete last season's private leagues.\"\n )}\n

\n

\n {t(\n \"renew.p2\",\n \"All players from last season will automatically be entered into the renewed league(s) when they join the game.\"\n )}\n

\n\n {leagues.length ? (\n
    \n {leagues.map((l) => (\n
  • \n {l.name}\n \n \n \n \n \n \n \n \n
  • \n ))}\n
\n ) : (\n \n {t(\"renew.none\", \"You have no leagues to renew.\")}\n \n )}\n
\n
\n
\n );\n }\n}\n\nexport { Renew as RenewTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n leagues: getRenewableLeagues(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n destroy: async (id: number) =>\n await dispatch(deleteRenewableLeague(id)).catch((e) => {}),\n fetch: async () => await dispatch(fetchRenewableLeagues()).catch((e) => {}),\n renew: async (id: number) =>\n await dispatch(renewRenewableLeague(id)).catch((e) => {}),\n});\n\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(Renew)\n);\n","import { RouteComponentProps, navigate } from \"@reach/router\";\nimport React, { useEffect } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\nimport { Flex } from \"rebass\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport {\n getActiveEntryInLeague,\n getCode,\n} from \"../../core/store/leagues/reducers\";\nimport {\n fetchLeagueCode,\n joinPrivateLeague,\n setCode,\n} from \"../../core/store/leagues/thunks\";\nimport { IJoinPrivateLeagueData } from \"../../core/store/leagues/types\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport Button from \"../Button\";\nimport ButtonLink from \"../ButtonLink\";\nimport Title from \"../Title\";\nimport { IPlayer } from \"../../core/store/player/types\";\nimport { useTranslation } from \"react-i18next\";\n\nconst StyledHeader = styled.div`\n padding-left: ${({ theme }) => theme.space[2]};\n padding-right: ${({ theme }) => theme.space[2]};\n`;\n\nconst ButtonWrapper = styled.div``;\n\ntype OwnProps = RouteComponentProps<{\n type: string;\n leagueNumber: number;\n leagueTitle: string;\n codePrivacy: string | null;\n}>;\n\ninterface IPropsFromState {\n entryInLeague: any | null;\n leagueNumber: number;\n code: string | null;\n player: IPlayer | null;\n}\n\ninterface IPropsFromDispatch {\n fetchCode: (leagueId: number) => void;\n joinPrivateLeague: (data: IJoinPrivateLeagueData) => void;\n}\n\ntype Props = OwnProps & IPropsFromState & IPropsFromDispatch;\n\nconst StandingsHeading: React.FC = ({\n code,\n player,\n fetchCode,\n codePrivacy,\n leagueTitle,\n leagueNumber,\n entryInLeague,\n}) => {\n const { t } = useTranslation();\n const isAdmin =\n entryInLeague &&\n entryInLeague.league &&\n entryInLeague.league.entry_can_admin;\n const isEntryInLeague = entryInLeague && entryInLeague.league;\n const reduxDispatch = useDispatch();\n\n useEffect(() => {\n if (!isEntryInLeague && codePrivacy === \"a\" && leagueNumber) {\n fetchCode(leagueNumber);\n }\n }, [codePrivacy, isAdmin, isEntryInLeague, leagueNumber, fetchCode]);\n\n let showInviteBtn = false;\n let showJoinBtn = false;\n\n if (isAdmin) {\n showInviteBtn = true;\n } else {\n if (isEntryInLeague) {\n if (codePrivacy === \"a\") {\n showInviteBtn = true;\n }\n if (codePrivacy === \"l\") {\n showInviteBtn = true;\n }\n }\n\n if (!isEntryInLeague) {\n if (codePrivacy === \"a\") {\n showJoinBtn = true;\n }\n }\n }\n\n return (\n \n \n {leagueTitle}\n \n {showInviteBtn && (\n \n {t(\n \"standingsHeading.inviteButton\",\n \"Invite people to join this league\"\n )}\n \n )}\n\n {code && showJoinBtn && (\n \n player && player.entry\n ? reduxDispatch(setCode(code))\n : navigate(`/leagues/auto-join/${code}`)\n }\n >\n {t(\"standingsHeading.joinButton\", \"Join this league\")}\n \n )}\n \n \n \n );\n};\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: OwnProps\n): IPropsFromState => {\n const leagueNumber = ownProps.leagueNumber || 0;\n const entryInLeague = getActiveEntryInLeague(\n state,\n leagueNumber,\n ownProps.type === \"classic\" ? \"classic\" : \"h2h\"\n );\n\n return {\n leagueNumber,\n entryInLeague: entryInLeague,\n player: getPlayerData(state),\n code: leagueNumber ? getCode(state, leagueNumber) : null,\n };\n};\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n fetchCode: (leagueNumber: number) => dispatch(fetchLeagueCode(leagueNumber)),\n joinPrivateLeague: (data: IJoinPrivateLeagueData) => {\n dispatch(joinPrivateLeague(data));\n },\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(StandingsHeading);\n","import styled, { css } from \"styled-components/macro\";\n\ninterface IProps {\n mine: boolean;\n}\n\nconst StandingsRow = styled.tr`\n ${(props) =>\n props.mine &&\n css`\n td {\n background-color: ${({ theme }) => theme.colors.primary};\n color: white;\n > a {\n color: ${({ theme }) => theme.colors.yellow};\n }\n }\n `}\n`;\nexport default StandingsRow;\n","import { navigate, RouteComponentProps } from \"@reach/router\";\nimport qs from \"qs\";\nimport React from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box, Flex } from \"rebass/styled-components\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport {\n getCurrentEvent,\n getEventsById,\n} from \"../../core/store/events/reducers\";\nimport { IEvent, IEventsById } from \"../../core/store/events/types\";\nimport {\n getClassicLeague,\n getClassicNewEntries,\n getClassicStandings,\n} from \"../../core/store/leagues/reducers\";\nimport { fetchClassicLeagueStandings } from \"../../core/store/leagues/thunks\";\nimport {\n IClassicStandingsData,\n ILeague,\n INewEntriesData,\n} from \"../../core/store/leagues/types\";\nimport { getStartedPhases } from \"../../core/store/phases/reducers\";\nimport { IPhase } from \"../../core/store/phases/types\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { IPlayer } from \"../../core/store/player/types\";\nimport { integerToDecimal } from \"../../utils/decimal\";\nimport Alert from \"../Alert\";\nimport ButtonLink from \"../ButtonLink\";\nimport Copy from \"../Copy\";\nimport { InlineSelectField } from \"../FieldRenderers\";\nimport { ControlArrowEnd, ControlArrowStart } from \"../icons/Arrows\";\nimport { Main, Wrapper } from \"../Layout\";\nimport Link from \"../Link\";\nimport { Pager, PagerButton, PagerButtonNext } from \"../Pager\";\nimport SubHeading from \"../SubHeading\";\nimport Table from \"../Table\";\nimport Tooltip, { TooltipLabel } from \"../Tooltip\";\nimport Movement from \"./Movement\";\nimport StandingsHeading from \"./StandingsHeading\";\nimport StandingsRow from \"./StandingsRow\";\n\ntype OwnProps = RouteComponentProps<{ leagueId: string }>;\n\ninterface IPropsFromState {\n league: ILeague | null;\n leagueNumber: number;\n newEntries: INewEntriesData | null;\n now: IEvent | null;\n pageNewEntries: number;\n pageStandings: number;\n phase: number;\n phases: IPhase[];\n player: IPlayer | null;\n standings: IClassicStandingsData | null;\n eventsById: IEventsById;\n}\n\ninterface IPropsFromDispatch {\n fetchStandings: (\n leagueId: number,\n phaseId: number,\n pageNewEntries: number,\n pageStandings: number\n ) => void;\n}\n\ntype Props = OwnProps & IPropsFromState & IPropsFromDispatch & WithTranslation;\n\nclass StandingsClassic extends React.Component {\n public fetchLeagueStandings() {\n if (this.props.leagueNumber) {\n this.props.fetchStandings(\n this.props.leagueNumber,\n this.props.phase,\n this.props.pageNewEntries,\n this.props.pageStandings\n );\n }\n }\n\n public componentDidMount() {\n this.fetchLeagueStandings();\n }\n\n public componentDidUpdate(prevProps: Props) {\n if (\n prevProps.pageNewEntries !== this.props.pageNewEntries ||\n prevProps.pageStandings !== this.props.pageStandings ||\n prevProps.phase !== this.props.phase\n ) {\n this.fetchLeagueStandings();\n }\n }\n\n public buildLink(\n phase: number,\n pageNewEntries: number,\n pageStandings: number\n ) {\n return `/leagues/${\n this.props.league!.id\n }/standings/c?phase=${phase}&page_new_entries=${pageNewEntries}&page_standings=${pageStandings}`;\n }\n\n public handleChange = (e: React.FormEvent) =>\n navigate(this.buildLink(parseInt(e.currentTarget.value, 10), 1, 1));\n\n public render() {\n const {\n t,\n league,\n newEntries,\n now,\n pageNewEntries,\n pageStandings,\n phase,\n phases,\n player,\n standings,\n leagueNumber,\n eventsById,\n } = this.props;\n\n if (!league) {\n return null;\n }\n const started = now && league.start_event <= now.id;\n return (\n <>\n \n
\n \n \n {league.start_event > 1 && (\n \n \n {started\n ? t(\n \"myLeagues.standingsClassic.alertStarted\",\n \"League scoring started in {{startEvent}}\",\n { startEvent: eventsById[league.start_event].name }\n )\n : t(\n \"myLeagues.standingsClassic.alertWillStart\",\n \"League scoring will start in {{startEvent}}\",\n { startEvent: eventsById[league.start_event].name }\n )}\n \n \n )}\n\n \n
\n \n {phases.map((p) => (\n \n {p.name}\n \n ))}\n \n \n
\n\n \n \n \n \n \n \n \n \n \n \n {standings &&\n standings.results.map((ls) => (\n \n \n \n \n \n \n ))}\n \n
{t(\"standingsClassic.rank\", \"Rank\")}\n {t(\n \"standingsClassic.teamAndManagern\",\n \"Team & General Manager\"\n )}\n \n \n GD\n \n \n \n TOT\n \n
\n \n {ls.rank}\n \n \n \n {now ? (\n \n {ls.entry_name}\n \n ) : (\n {ls.entry_name}\n )}\n
\n {ls.player_name}\n
{integerToDecimal(ls.event_total, 10)}{integerToDecimal(ls.total, 10)}
\n {standings && (\n \n \n {pageStandings > 1 && (\n \n \n {t(\"standingsClassic.previous\", \"Previous\")}\n \n )}\n \n \n {standings.has_next && (\n \n {t(\"standingsClassic.next\", \"Next\")}\n \n \n )}\n \n \n )}\n {newEntries && newEntries.results.length > 0 && (\n <>\n \n {t(\"standingsClassic.newEntries\", \"New Entries\")}\n \n \n \n \n \n \n \n \n \n {newEntries.results.map((ne) => (\n \n \n \n \n ))}\n \n
{t(\"standingsClassic.team\", \"Team\")}\n {t(\"standingsClassic.managern\", \"General Manager\")}\n
{ne.entry_name}\n \n {ne.player_first_name} {ne.player_last_name}\n \n
\n \n \n {pageNewEntries > 1 && (\n \n \n {t(\"standingsClassic.previous\", \"Previous\")}\n \n )}\n \n \n {newEntries.has_next && (\n \n {t(\"standingsClassic.next\", \"Next\")}\n \n \n )}\n \n \n \n )}\n
\n
\n
\n \n );\n }\n}\n\nexport { StandingsClassic as StandingClassicTest };\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: OwnProps\n): IPropsFromState => {\n // Get league id from path\n const leagueNumber = parseInt(ownProps.leagueId!, 10) || 0;\n\n // Get phase and page numbers from query string\n const query = qs.parse(ownProps.location!.search, {\n ignoreQueryPrefix: true,\n });\n const phase = parseInt(query.phase as string, 10) || 1;\n const pageNewEntries = parseInt(query.page_new_entries as string, 10) || 1;\n const pageStandings = parseInt(query.page_standings as string, 10) || 1;\n\n return {\n now: getCurrentEvent(state),\n league: getClassicLeague(state, leagueNumber),\n leagueNumber,\n newEntries: getClassicNewEntries(state, leagueNumber, pageNewEntries),\n pageNewEntries,\n pageStandings,\n phase,\n phases: getStartedPhases(state),\n player: getPlayerData(state),\n standings: getClassicStandings(state, leagueNumber, phase, pageStandings),\n eventsById: getEventsById(state),\n };\n};\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n fetchStandings: (\n leagueId: number,\n phaseId: number,\n pageNewEntries: number,\n pageStandings: number\n ) =>\n dispatch(\n fetchClassicLeagueStandings(\n leagueId,\n pageNewEntries,\n pageStandings,\n phaseId\n )\n ),\n});\n\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(StandingsClassic)\n);\n","import React from \"react\";\nimport { connect, ConnectedProps } from \"react-redux\";\nimport { RootState } from \"../../core/store\";\nimport {\n getElementControls,\n getElementTypeFilterOptions,\n} from \"../../core/store/elements/reducers\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { getTeams } from \"../../core/store/teams/reducers\";\nimport { FieldWrap, SelectField } from \"../FieldRenderers\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport { ITeam } from \"../../core/store/teams/types\";\n\nconst mapState = (state: RootState) => ({\n teams: getTeams(state),\n controls: getElementControls(state),\n elementTypeFilterOptions: getElementTypeFilterOptions(state),\n player: getPlayerData(state),\n});\n\nconst connector = connect(mapState, {});\n\ntype PropsFromRedux = ConnectedProps;\n\ntype Props = PropsFromRedux &\n WithTranslation & {\n teams: ITeam[];\n handleFilterChange: (e: React.ChangeEvent) => void;\n };\n\nclass ElementFilter extends React.Component {\n public render() {\n const {\n controls,\n elementTypeFilterOptions,\n handleFilterChange,\n player,\n t,\n teams,\n } = this.props;\n\n // filterTeams\n const filterTeams = teams\n .filter((team: any) => team.unavailable === false)\n .sort((a, b) => a.name.localeCompare(b.name));\n\n return (\n \n \n \n \n {player && player.entry && (\n \n )}\n \n \n {elementTypeFilterOptions.map((o) => (\n \n {o.label}\n \n ))}\n \n \n {filterTeams.map((o) => (\n \n {o.name}\n \n ))}\n \n \n \n );\n }\n}\n\nexport { ElementFilter as ElementFilterTest };\n\nexport default withTranslation()(connector(ElementFilter));\n","import { hideVisually, size } from \"polished\";\nimport * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\n\nconst Button = styled.button`\n display: flex;\n justify-content: center;\n align-items: center;\n ${size(32)};\n border: 1px;\n border-radius: ${(props) => props.theme.radii[2]};\n background-color: ${(props) => props.theme.colors.yellow};\n cursor: pointer;\n\n ${(props) =>\n props.disabled &&\n css`\n background-color: lightgrey;\n color: grey;\n `}\n\n ${(props) =>\n props.isSmall &&\n css`\n ${size(24)};\n `}\n`;\n\nconst HiddenLabel = styled.span`\n ${hideVisually}\n`;\n\ninterface IStyledProps {\n disabled?: boolean;\n isSmall?: boolean;\n}\n\ninterface IProps {\n actionMe: () => void;\n children: React.ReactNode;\n label: string;\n}\n\ntype Props = IProps & IStyledProps;\n\nconst PaginatorButton: React.FC = ({\n actionMe,\n children,\n disabled,\n isSmall,\n label,\n}) => (\n \n {children}\n {label}\n \n);\n\nexport default PaginatorButton;\n","import { size } from \"polished\";\nimport React from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { Flex } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { IElement } from \"../../core/store/elements/types\";\nimport {\n ArrowEnd,\n ArrowEndDouble,\n ArrowStart,\n ArrowStartDouble,\n} from \"../icons/Arrows\";\nimport PaginatorButton from \"../paginator/PaginatorButton\";\n\nexport const PaginatorArrowIconStart = styled(ArrowStart)`\n ${size(12, 14)}\n`;\n\nexport const PaginatorArrowIconEnd = styled(ArrowEnd)`\n ${size(12, 14)}\n`;\n\nexport const PaginatorIconStartDouble = styled(ArrowStartDouble)`\n ${size(8, 16)}\n`;\nexport const PaginatorIconEndDouble = styled(ArrowEndDouble)`\n ${size(8, 16)}\n`;\n\nexport const paginate = (\n elements: IElement[],\n page: number,\n pageSize: number\n) => {\n const start = (page - 1) * pageSize;\n return {\n data: elements.slice(start, start + pageSize),\n totalPages: Math.ceil(elements.length / pageSize),\n };\n};\n\ninterface IProps {\n page: number;\n setPage: (page: number) => void;\n totalPages: number;\n}\n\nconst Paginator: React.FunctionComponent = ({\n page,\n setPage,\n totalPages,\n}) => {\n const { t } = useTranslation();\n return (\n \n setPage(1)}\n label={t(\"paginator.first\", \"First\")}\n disabled={page === 1}\n isSmall={true}\n >\n \n \n setPage(page - 1)}\n label={t(\"paginator.previous\", \"Previous\")}\n disabled={page === 1}\n >\n \n \n
\n \n {{ page }} of {{ totalPages }}\n \n
\n setPage(page + 1)}\n label={t(\"paginator.next\", \"Next\")}\n disabled={page === totalPages}\n >\n \n \n setPage(totalPages)}\n label={t(\"paginator.last\", \"Last\")}\n disabled={page === totalPages}\n isSmall={true}\n >\n \n \n
\n );\n};\n\nexport default Paginator;\n","import { RouteComponentProps } from \"@reach/router\";\nimport React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { updateElementControls } from \"../../core/store/elements/actions\";\nimport {\n getElementControls,\n getElementsFromControls,\n} from \"../../core/store/elements/reducers\";\nimport { updateElementControlsAndMaxCost } from \"../../core/store/elements/thunks\";\nimport {\n IElementControls,\n IElementDataFromControls,\n} from \"../../core/store/elements/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { ITeamsById } from \"../../core/store/teams/types\";\nimport { compareDates, comparePrice } from \"../../utils/playerNews\";\nimport { createPageViewData } from \"../../utils/tealium\";\nimport { FieldCol, FieldCols } from \"../FieldRenderers\";\nimport { Main, Wrapper } from \"../Layout\";\nimport Title from \"../Title\";\nimport ElementFilter from \"../element-controls/ElementFilter\";\nimport Paginator, { paginate } from \"../element-controls/Paginator\";\nimport InjuryTracker from \"../status/InjuryTracker\";\n\ntype Props = RouteComponentProps;\n\ninterface IPropsFromState {\n teamsById: ITeamsById;\n elements: IElementDataFromControls;\n controls: IElementControls;\n}\n\ninterface IPropsFromDispatch {\n updateControls: (controls: IElementControls) => void;\n updateControlsAndMaxCost: (controls: IElementControls) => void;\n}\n\ntype IProps = Props & IPropsFromState & IPropsFromDispatch;\n\nconst FilterWrap = styled.div`\n width: 100%;\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n width: 40%;\n }\n`;\n\nconst News = ({\n teamsById,\n elements,\n controls,\n updateControls,\n updateControlsAndMaxCost,\n}: IProps) => {\n const [page, setPage] = useState(1);\n const { t } = useTranslation();\n\n const handleFilterChange = (e: React.ChangeEvent) => {\n setPage(1);\n updateControls({\n ...controls,\n filter: e.target.value,\n });\n };\n\n useEffect(() => {\n updateControlsAndMaxCost({\n ...controls,\n filter: \"all\",\n });\n createPageViewData(\"player news\");\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const { data, totalPages } = paginate(\n elements.data\n ?.filter((element) => element.news !== \"\")\n .sort(compareDates)\n .sort(comparePrice),\n page,\n 15\n );\n\n return (\n <>\n \n
\n \n {t(\"news.title\", \"Player News\")}\n \n\n
\n \n \n \n \n \n \n \n
\n \n \n
\n
\n \n );\n};\n\nexport { News as NewsTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n teamsById: getTeamsById(state),\n controls: getElementControls(state),\n elements: getElementsFromControls(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n updateControls: (controls) => dispatch(updateElementControls(controls)),\n updateControlsAndMaxCost: (controls) =>\n dispatch(updateElementControlsAndMaxCost(controls)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(News);\n","import { RouteComponentProps } from \"@reach/router\";\nimport React from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport { connect, ConnectedProps } from \"react-redux\";\nimport { logout } from \"../../core/store/player/thunks\";\nimport {\n createInteractionData,\n createCustomInteractionData,\n} from \"../../utils/tealium\";\n\nconst mapDispatch = {\n logout: () => logout(),\n};\n\nconst connector = connect(null, mapDispatch);\n\ntype PropsFromRedux = ConnectedProps;\n\ntype Props = RouteComponentProps & PropsFromRedux & WithTranslation;\n\nclass Logout extends React.Component {\n public async componentDidMount() {\n const { t } = this.props;\n await this.props\n .logout()\n .then(() => {\n createInteractionData({\n contentTitle: \"home\",\n interactionId: \"nba-fantasy-game:sign-out:cta\",\n interactionText: t(\"navigation.signOut\", \"Sign out\"),\n });\n window.location.replace(\"/\");\n })\n .then(() => {\n const userData = {\n userState: \"guest\",\n };\n createCustomInteractionData({\n contentTitle: \"home\",\n interactionId: \"fantasy:logout:success\",\n userData: userData,\n ampEventName: \"User Account: Logout Success\",\n });\n })\n .catch(() => {});\n }\n\n public render() {\n return
;\n }\n}\n\nexport default connector(withTranslation()(Logout));\n","import { createAsyncAction } from \"typesafe-actions\";\nimport { IError } from \"..\";\nimport { IRegion } from \"./types\";\n\n// Action Creators\nexport const addRegions = createAsyncAction(\n \"ADD_REGIONS_START\",\n \"ADD_REGIONS_SUCCESS\",\n \"ADD_REGIONS_FAILURE\"\n)();\n","import { combineReducers } from \"redux\";\nimport { getType } from \"typesafe-actions\";\nimport { RootAction, RootState } from \"../\";\nimport * as actions from \"./actions\";\nimport { IRegion, IState } from \"./types\";\n\n// State Reducer\nexport default combineReducers({\n byId: (state = {}, action: RootAction) => {\n switch (action.type) {\n case getType(actions.addRegions.success):\n const newState: { [key: string]: IRegion } = {};\n action.payload.forEach((team) => {\n newState[team.id] = team;\n });\n return newState;\n default:\n return state;\n }\n },\n});\n\n// State Selectors\nexport const getRegionsById = (state: RootState) => state.regions.byId;\n\nexport const getRegions = (state: RootState) =>\n Object.keys(state.regions.byId).map((r) => state.regions.byId[r]);\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPlus(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 61,\n height: 63,\n viewBox: \"0 0 61 63\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#E8E8E8\",\n fillRule: \"evenodd\",\n stroke: \"#979797\",\n strokeWidth: 4,\n d: \"M68.5,2 L68.5,23.5 L88,23.5 L88,40.5 L68.5,40.5 L68.5,61 L51.5,61 L51.5,40.5 L32,40.5 L32,23.5 L51.5,23.5 L51.5,2 L68.5,2 Z\",\n transform: \"translate(-29.5)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPlus);\nexport default __webpack_public_path__ + \"static/media/plus.cfec5797.svg\";\nexport { ForwardRef as ReactComponent };","import { navigate, RouteComponentProps } from \"@reach/router\";\nimport range from \"lodash/range\";\nimport sortBy from \"lodash/sortBy\";\nimport values from \"lodash/values\";\nimport moment from \"moment\";\nimport { size } from \"polished\";\nimport React from \"react\";\nimport { Trans, withTranslation, WithTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { IError, RootState, ThunkDispatch } from \"../../core/store\";\nimport { bootstrap } from \"../../core/store/bootstrap/thunks\";\nimport {\n getPlayerData,\n getPlayerUpdateError,\n getRegisterError,\n} from \"../../core/store/player/reducers\";\nimport { playerUpdate, register } from \"../../core/store/player/thunks\";\nimport { getRegions } from \"../../core/store/regions/reducers\";\nimport { fetchRegions } from \"../../core/store/regions/thunks\";\nimport { IRegion } from \"../../core/store/regions/types\";\nimport { ReactComponent as NbaIDLogo } from \"../../img/nba-id-logo.svg\";\nimport { IPlayer } from \"../../types\";\nimport { getSite } from \"../../utils/sites\";\nimport {\n createInteractionData,\n createCustomInteractionData,\n} from \"../../utils/tealium\";\nimport Alert from \"../Alert\";\nimport Button from \"../Button\";\nimport Copy from \"../Copy\";\nimport {\n CheckboxField,\n FieldFeedback,\n InputField,\n SelectField,\n} from \"../FieldRenderers\";\nimport { Main, Wrapper } from \"../Layout\";\n\nconst SaveBar = styled.div`\n margin-bottom: ${(props) => props.theme.space[4]};\n padding: 0 20% ${(props) => props.theme.space[4]};\n border-bottom: 3px solid #bfbfbf;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n margin-right: 10%;\n margin-left: 10%;\n }\n`;\n\nconst DOBFieldset = styled.fieldset`\n margin: 0;\n padding: 0;\n border: 0;\n`;\n\nconst DOBFieldsetInner = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n display: flex;\n align-items: flex-end;\n justify-content: space-between;\n margin-top: ${({ theme }) => theme.space[2]};\n margin-left: -${({ theme }) => theme.space[2]};\n margin-right: -${({ theme }) => theme.space[2]};\n }\n`;\n\nconst DOBLegend = styled.legend`\n display: block;\n padding: 0;\n margin-bottom: ${({ theme }) => theme.space[1]};\n color: ${({ theme }) => theme.colors.white};\n font-size: 1.5rem;\n font-weight: bold;\n cursor: pointer;\n`;\n\nconst DOBCol = styled.div`\n margin-top: ${({ theme }) => theme.space[2]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n width: calc(100% / 3);\n margin-top: 0;\n padding-left: ${({ theme }) => theme.space[2]};\n padding-right: ${({ theme }) => theme.space[2]};\n }\n`;\n\nconst TitleStyle = styled.h2`\n margin-top: ${({ theme }) => theme.space[2]};\n margin-bottom: ${({ theme }) => theme.space[3]};\n font-family: ${(props) => props.theme.fonts.action};\n font-size: 4rem;\n font-style: italic;\n text-transform: uppercase;\n`;\n\nconst StyledNBAIdLogo = styled(NbaIDLogo)`\n ${size(45)};\n`;\n\ninterface IPropsFromState {\n player: IPlayer | null;\n regions: IRegion[];\n registerError: IError | null;\n updateError: IError | null;\n}\n\ninterface IPropsFromDispatch {\n doBootstrap: () => Promise;\n registerPlayer: (data: {}) => Promise;\n updatePlayer: (data: {}) => Promise;\n fetchRegionData: () => void;\n}\n\ntype Props = RouteComponentProps &\n WithTranslation &\n IPropsFromState &\n IPropsFromDispatch;\n\ninterface IState {\n birthDay: number;\n birthMonth: number;\n birthYear: number;\n email: string;\n firstName: string;\n lastName: string;\n password: string;\n errorEmail: string;\n errorFName: string;\n errorLName: string;\n errorPass: string;\n region: string;\n emailNba: boolean;\n privacyNba: boolean;\n errorRegion: string;\n formDisabled: boolean;\n errorDob: string;\n}\n\nclass Register extends React.Component {\n public errorsTxt: { [key: string]: string } = {\n EDob: this.props.t(\"register.errors.dobn\", \"Date of birth not valid\"),\n EEmail: this.props.t(\"register.errors.email\", \"An email is required\"),\n EFName: this.props.t(\"register.errors.fname\", \"First name is required\"),\n ELName: this.props.t(\"register.errors.lname\", \"Last name is required\"),\n EPass: this.props.t(\"register.errors.pass\", \"A password is required\"),\n EPassLength: this.props.t(\n \"register.errors.passLength\",\n \"Password must be at least 8 characters long and include 1 capital letter and 1 symbol or number\"\n ),\n EValidEmail: this.props.t(\n \"register.errors.validEmail\",\n \"This Email address is already registered\"\n ),\n EValidPass: this.props.t(\"register.errors.validPass\", \"Password not valid\"),\n ERegion: this.props.t(\"register.errors.region\", \"A region is required\"),\n EInvalid: this.props.t(\n \"register.errors.invalid\",\n \"There was an error with your registration. If you already have an account, please try to log in\"\n ),\n EInvalidDob: this.props.t(\n \"register.errors.invalidDob\",\n \"The game is only available to individuals aged 16 and over\"\n ),\n EInvalidEmail: this.props.t(\n \"register.errors.invalidEmail\",\n \"Email address is already taken. If you already have an account, please try to log in\"\n ),\n EInvalidPassword: this.props.t(\n \"register.errors.invalidPassword\",\n \"Password must be at least 8 characters long and include 1 capital letter and 1 symbol or number.\"\n ),\n EInvalidFname: this.props.t(\n \"register.errors.invalidFname\",\n \"First Name must be provided\"\n ),\n EInvalidLname: this.props.t(\n \"register.errors.invalidLname\",\n \"Last Name must be provided\"\n ),\n EInvalidRegion: this.props.t(\n \"register.errors.invalidRegion\",\n \"The region selected is invalid\"\n ),\n EInvalidEconsent: this.props.t(\n \"register.errors.invalidEconsent\",\n \"NBA Email consent invalid\"\n ),\n EInvalidPconsent: this.props.t(\n \"register.errors.invalidPconsent\",\n \"NBA Privacy consent invalid\"\n ),\n };\n\n public months: { [key: string]: string } = {\n 1: this.props.t(\"months.janShort\", \"Jan\"),\n 2: this.props.t(\"months.febShort\", \"Feb\"),\n 3: this.props.t(\"months.marShort\", \"Mar\"),\n 4: this.props.t(\"months.aprShort\", \"Apr\"),\n 5: this.props.t(\"months.mayShort\", \"May\"),\n 6: this.props.t(\"months.junShort\", \"Jun\"),\n 7: this.props.t(\"months.julShort\", \"Jul\"),\n 8: this.props.t(\"months.augShort\", \"Aug\"),\n 9: this.props.t(\"months.sepShort\", \"Sep\"),\n 10: this.props.t(\"months.octShort\", \"Oct\"),\n 11: this.props.t(\"months.novShort\", \"Nov\"),\n 12: this.props.t(\"months.decShort\", \"Dec\"),\n };\n\n constructor(props: Props) {\n super(props);\n const player = props.player;\n this.state = {\n birthDay:\n player && player.date_of_birth\n ? Number(player.date_of_birth.split(\"-\")[2])\n : 0,\n birthMonth:\n player && player.date_of_birth\n ? Number(player.date_of_birth.split(\"-\")[1])\n : 0,\n birthYear:\n player && player.date_of_birth\n ? Number(player.date_of_birth.split(\"-\")[0])\n : 0,\n email:\n player && player.email.indexOf(\"@ismfgsocial\") === -1\n ? player.email\n : \"\",\n errorDob: \"\",\n errorEmail: \"\",\n errorFName: \"\",\n errorLName: \"\",\n errorPass: \"\",\n firstName: player ? player.first_name : \"\",\n lastName: player ? player.last_name : \"\",\n password: \"\",\n emailNba: player && player.nba_email ? true : false,\n privacyNba: player ? true : false,\n errorRegion: \"\",\n region: props.player ? props.player.region : \"\",\n formDisabled: false,\n };\n }\n\n public getMode = () => {\n if (!this.props.player) {\n return \"register\";\n }\n return this.props.player.dirty ? \"confirm\" : \"update\";\n };\n\n public getRequiredFields(): Array {\n switch (this.getMode()) {\n case \"register\":\n return [\n \"birthDay\",\n \"birthMonth\",\n \"birthYear\",\n \"email\",\n \"firstName\",\n \"lastName\",\n \"password\",\n \"region\",\n \"privacyNba\",\n ];\n case \"confirm\":\n return [\"firstName\", \"lastName\"];\n case \"update\":\n return [];\n }\n }\n\n public apiDataFromState() {\n switch (this.getMode()) {\n case \"register\":\n return {\n date_of_birth: `${this.state.birthYear}-${this.state.birthMonth}-${this.state.birthDay}`,\n email: this.state.email,\n first_name: this.state.firstName,\n last_name: this.state.lastName,\n password: this.state.password,\n region: this.state.region,\n nba_email: this.state.emailNba ? \"1\" : \"0\",\n nba_privacy: this.state.privacyNba ? \"1\" : \"0\",\n };\n case \"confirm\":\n return {\n date_of_birth: `${this.state.birthYear}-${this.state.birthMonth}-${this.state.birthDay}`,\n email: this.state.email,\n first_name: this.state.firstName,\n last_name: this.state.lastName,\n password: this.state.password,\n region: this.state.region,\n nba_email: this.state.emailNba,\n nba_privacy: this.state.privacyNba,\n };\n case \"update\":\n return {};\n }\n }\n\n public handleBirthDayChange = (e: React.FormEvent) =>\n this.setState({ birthDay: parseInt(e.currentTarget.value, 10) });\n\n public handleBirthMonthChange = (e: React.FormEvent) =>\n this.setState({ birthMonth: parseInt(e.currentTarget.value, 10) });\n\n public handleBirthYearChange = (e: React.FormEvent) =>\n this.setState({ birthYear: parseInt(e.currentTarget.value, 10) });\n\n public handleEmailChange = (e: React.FormEvent) =>\n this.setState({ email: e.currentTarget.value, formDisabled: false });\n\n public handleFirstNameChange = (e: React.FormEvent) =>\n this.setState({ firstName: e.currentTarget.value });\n\n public handleLastNameChange = (e: React.FormEvent) =>\n this.setState({ lastName: e.currentTarget.value });\n\n public handlePasswordChange = (e: React.FormEvent) =>\n this.setState({ password: e.currentTarget.value, formDisabled: false });\n\n public handleRegionChange = (e: React.FormEvent) =>\n this.setState({ region: e.currentTarget.value });\n\n public handleEmailNbaChange = (e: React.FormEvent) =>\n this.setState({ emailNba: e.currentTarget.checked ? true : false });\n\n public handleNbaPrivacyChange = (e: React.FormEvent) =>\n this.setState({ privacyNba: e.currentTarget.checked ? true : false });\n\n public handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n const mode = this.getMode();\n this.setState({ formDisabled: true });\n if (mode === \"register\") {\n try {\n createInteractionData({\n contentTitle: \"home\",\n interactionId: \"nba-fantasy-game:sign-up:cta\",\n interactionText: this.props.t(\"register.label.register\", \"Register\"),\n });\n await this.props.registerPlayer(this.apiDataFromState());\n } catch (e) {\n window.scrollTo(0, 0); // To see error if failure ...\n const errors = this.handleServerErrors();\n createCustomInteractionData({\n contentTitle: \"home\",\n interactionId: \"fantasy:sign-up:error\",\n ampEventName: \"User Account: Registration Error\",\n errorDetail: values(errors)\n .map((error) => error.errorDetail)\n .join(\", \"),\n });\n return;\n }\n await this.props.doBootstrap();\n const userData = {\n userId: this.props.player?.nbaciamguid,\n userState: \"authenticated\",\n };\n createCustomInteractionData({\n contentTitle: \"home\",\n interactionId: \"fantasy:sign-up:success\",\n userData: userData,\n ampEventName: \"User Account: Registration Success\",\n });\n navigate(\"/squad-selection\");\n } else if (mode === \"confirm\") {\n try {\n await this.props.updatePlayer(this.apiDataFromState());\n } catch (e) {\n window.scrollTo(0, 0); // To see error if failure ...\n return;\n }\n await this.props.doBootstrap();\n navigate(\"/squad-selection\");\n } else if (mode === \"update\") {\n await this.props.doBootstrap();\n // Maybe this should be back to my team, maybe our LoggedIn component\n navigate(\"/squad-selection\");\n }\n this.setState({ formDisabled: false });\n };\n\n public componentDidMount() {\n this.props.fetchRegionData();\n }\n\n public getIntRegions() {\n const regs = this.props.regions;\n return sortBy(regs, [\"name\"]);\n }\n\n public handleFirstnameBlur = (e: React.FormEvent) => {\n if (!e.currentTarget.value) {\n this.setState({ errorFName: this.errorsTxt.EFName });\n } else {\n this.setState({ errorFName: \"\" });\n }\n };\n public validatePassword(pw: string) {\n return (\n /[A-Z]/.test(pw) &&\n (/[0-9]/.test(pw) || /[^A-Za-z0-9]/.test(pw)) &&\n pw.length > 7\n );\n }\n\n public handleLastnameBlur = (e: React.FormEvent) => {\n if (!e.currentTarget.value) {\n this.setState({ errorLName: this.errorsTxt.ELName });\n } else {\n this.setState({ errorLName: \"\" });\n }\n };\n public handlePasswordBlur = (e: React.FormEvent) => {\n if (!e.currentTarget.value) {\n this.setState({ errorPass: this.errorsTxt.EPass });\n } else {\n if (!this.validatePassword(e.currentTarget.value)) {\n this.setState({ errorPass: this.errorsTxt.EPassLength });\n } else {\n this.setState({ errorPass: \"\" });\n }\n }\n };\n\n public handleEmailBlur = (e: React.FormEvent) => {\n if (!e.currentTarget.value) {\n this.setState({ errorEmail: this.errorsTxt.EEmail });\n } else {\n this.setState({ errorEmail: \"\" });\n }\n };\n\n public handleRegionBlur = (e: React.FormEvent) => {\n if (!e.currentTarget.value || e.currentTarget.value === \"0\") {\n this.setState({ errorRegion: this.errorsTxt.ERegion });\n } else {\n this.setState({ errorRegion: \"\" });\n }\n };\n public ageLimit() {\n const site = getSite();\n interface Dictionary {\n [key: string]: number;\n }\n const ageLimitDefaults: Dictionary = {\n default: 16,\n main_ar: 16,\n main_he: 16,\n main_tr: 16,\n main_en: 18,\n main_fr: 18,\n main_de: 18,\n main_es: 18,\n main_it: 18,\n main_el: 18,\n main_br: 18,\n };\n const ageLimit =\n site in ageLimitDefaults\n ? ageLimitDefaults[site.toLowerCase()]\n : ageLimitDefaults[\"default\"];\n return ageLimit;\n }\n\n public handleDobBlur = (e: React.FormEvent) => {\n const year = this.state.birthYear;\n const month = this.state.birthMonth;\n const day = this.state.birthDay;\n const ageLim = this.ageLimit();\n if (year > 0 && month > 0 && day > 0) {\n if (moment(new Date(year, month - 1, day)).isValid()) {\n const today = new Date();\n const birthDate = new Date(year, month - 1, day);\n let age = today.getFullYear() - birthDate.getFullYear();\n const m = today.getMonth() - birthDate.getMonth();\n if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {\n age--;\n }\n if (age < ageLim) {\n this.setState({ errorDob: this.errorsTxt.EDob });\n this.setState({ formDisabled: true });\n } else {\n this.setState({ errorDob: \"\" });\n this.setState({ formDisabled: false });\n }\n } else {\n this.setState({ errorDob: this.errorsTxt.EDob });\n this.setState({ formDisabled: true });\n }\n } else {\n this.setState({ formDisabled: true });\n }\n };\n\n public handleServerErrors = () => {\n const errors =\n this.getMode() === \"register\"\n ? this.props.registerError\n : this.props.updateError;\n const formattedErrors = [];\n if (errors) {\n if (\n errors.badRequest &&\n errors.badRequest.password &&\n errors.badRequest.password[0].code === \"invalid\"\n ) {\n formattedErrors.push({\n errorText: this.errorsTxt.EValidPass,\n errorDetail: \"password|Password not valid\",\n });\n }\n if (\n errors.badRequest &&\n errors.badRequest.email &&\n errors.badRequest.email[0].code === \"duplicate\"\n ) {\n formattedErrors.push({\n errorText: this.errorsTxt.EValidEmail,\n errorDetail: \"email|Email already registered\",\n });\n }\n if (\n errors.badRequest &&\n errors.badRequest.email &&\n errors.badRequest.email[0].code === \"blank\"\n ) {\n formattedErrors.push({\n errorText: this.errorsTxt.EEmail,\n errorDetail: \"email|Email is required\",\n });\n }\n if (\n errors.badRequest &&\n errors.badRequest.password &&\n errors.badRequest.password[0].code === \"blank\"\n ) {\n formattedErrors.push({\n errorText: this.errorsTxt.EPass,\n errorDetail: \"password|Password is required\",\n });\n }\n if (\n errors.badRequest &&\n errors.badRequest.first_name &&\n errors.badRequest.first_name[0].code === \"blank\"\n ) {\n formattedErrors.push({\n errorText: this.errorsTxt.EFName,\n errorDetail: \"first name|First name is required\",\n });\n }\n if (\n errors.badRequest &&\n errors.badRequest.last_name &&\n errors.badRequest.last_name[0].code === \"blank\"\n ) {\n formattedErrors.push({\n errorText: this.errorsTxt.ELName,\n errorDetail: \"last name|Last name is required\",\n });\n }\n if (\n errors.badRequest &&\n errors.badRequest.region &&\n errors.badRequest.region[0].code === \"does_not_exist\"\n ) {\n formattedErrors.push({\n errorText: this.errorsTxt.ERegion,\n errorDetail: \"region|Region is required\",\n });\n }\n if (\n errors.badRequest &&\n errors.badRequest.non_field_errors &&\n errors.badRequest.non_field_errors[0].code === \"invalid\" &&\n errors.badRequest.non_field_errors[0].message.includes(\"EMAIL_TAKEN\")\n ) {\n formattedErrors.push({\n errorText: this.errorsTxt.EInvalidEmail,\n errorDetail: \"email address|Email address is already taken\",\n });\n }\n if (\n errors.badRequest &&\n errors.badRequest.non_field_errors &&\n errors.badRequest.non_field_errors[0].code === \"invalid\" &&\n errors.badRequest.non_field_errors[0].message.includes(\n \"INVALID_PASSWORD\"\n )\n ) {\n formattedErrors.push({\n errorText: this.errorsTxt.EInvalidPassword,\n errorDetail: \"password|Incorrect format\",\n });\n }\n if (\n errors.badRequest &&\n errors.badRequest.non_field_errors &&\n errors.badRequest.non_field_errors[0].code === \"invalid\" &&\n errors.badRequest.non_field_errors[0].message.includes(\n \"INVALID_FIRST_NAME\"\n )\n ) {\n formattedErrors.push({\n errorText: this.errorsTxt.EInvalidFname,\n errorDetail: \"first name|First name must be provided\",\n });\n }\n if (\n errors.badRequest &&\n errors.badRequest.non_field_errors &&\n errors.badRequest.non_field_errors[0].code === \"invalid\" &&\n errors.badRequest.non_field_errors[0].message.includes(\n \"INVALID_LAST_NAME\"\n )\n ) {\n formattedErrors.push({\n errorText: this.errorsTxt.EInvalidLname,\n errorDetail: \"last name|Last name must be provided\",\n });\n }\n if (\n errors.badRequest &&\n errors.badRequest.non_field_errors &&\n errors.badRequest.non_field_errors[0].code === \"invalid\" &&\n errors.badRequest.non_field_errors[0].message.includes(\n \"INVALID_COUNTRY\"\n )\n ) {\n formattedErrors.push({\n errorText: this.errorsTxt.EInvalidRegion,\n errorDetail: \"region|Region selected is invalid\",\n });\n }\n if (\n errors.badRequest &&\n errors.badRequest.non_field_errors &&\n errors.badRequest.non_field_errors[0].code === \"invalid\" &&\n errors.badRequest.non_field_errors[0].message.includes(\n \"INVALID_EMAIL_CONSENT\"\n )\n ) {\n formattedErrors.push({\n errorText: this.errorsTxt.EInvalidEconsent,\n errorDetail: \"consent|NBA Email consent invalid\",\n });\n }\n if (\n errors.badRequest &&\n errors.badRequest.non_field_errors &&\n errors.badRequest.non_field_errors[0].code === \"invalid\" &&\n errors.badRequest.non_field_errors[0].message.includes(\n \"INVALID_PRIVACY_CONSENT\"\n )\n ) {\n formattedErrors.push({\n errorText: this.errorsTxt.EInvalidPconsent,\n errorDetail: \"consent|NBA Privacy consent invalid\",\n });\n }\n if (\n errors.badRequest &&\n errors.badRequest.non_field_errors &&\n errors.badRequest.non_field_errors[0].code === \"under_age\"\n ) {\n formattedErrors.push({\n errorText: this.errorsTxt.EInvalidDob,\n errorDetail: \"date of birth|Underage\",\n });\n }\n\n return formattedErrors;\n }\n };\n\n public isFormDisabled = () => {\n const requiredFieldsMissing = this.getRequiredFields().some(\n (e) => !this.state[e]\n );\n return requiredFieldsMissing || this.state.formDisabled;\n };\n\n public render() {\n const { t } = this.props;\n const mode = this.getMode();\n const title = {\n register: t(\n \"register.title.registration\",\n \"Register your NBA fantasy account\"\n ),\n confirm: t(\"register.title.confirm\", \"Confirm your details\"),\n update: t(\"register.title.updaten\", \"Update your details\"),\n };\n const buttonText = {\n register: t(\"register.label.register\", \"Register\"),\n confirm: t(\"register.label.confirm\", \"Update\"),\n update: t(\"register.label.update\", \"Update\"),\n };\n const age = this.ageLimit();\n const errors = this.handleServerErrors();\n\n return (\n \n
\n
\n {(mode === \"confirm\" || mode === \"register\") && (\n \n \n\n {title[mode]}\n

\n {t(\n \"register.required\",\n \"Fields marked with an asterisk (*) are required.\"\n )}\n .\n

\n
\n )}\n {errors && (\n \n \n {values(errors).map((r) => r.errorText)}\n \n \n )}\n {(mode === \"confirm\" || mode === \"register\") && (\n \n
\n {mode === \"register\" && (\n \n \n {this.state.errorEmail && (\n {this.state.errorEmail}\n )}\n \n )}\n {mode === \"register\" && (\n \n \n {this.state.errorPass && (\n {this.state.errorPass}\n )}\n \n )}\n\n \n \n {this.state.errorFName && (\n {this.state.errorFName}\n )}\n \n \n \n {this.state.errorLName && (\n {this.state.errorLName}\n )}\n \n {mode === \"register\" && (\n \n {this.state.errorRegion && (\n {this.state.errorRegion}\n )}\n \n \n {values(this.getIntRegions()).map((r) => (\n \n {r.name}\n \n ))}\n \n \n )}\n {mode === \"register\" && (\n \n \n \n {t(\"register.label.dob\", \"Date of birth\")}\n \n \n The game is only available to individuals aged{\" \"}\n {{ age }} and over\n \n \n \n \n \n {t(\"register.label.day\", \"Day\")}\n \n {range(1, 32).map((d) => (\n \n {d}\n \n ))}\n \n \n \n \n \n {t(\"register.label.month\", \"Month\")}\n \n {Object.keys(this.months).map((m) => (\n \n {this.months[m]}\n \n ))}\n \n \n \n \n \n {t(\"register.label.year\", \"Year\")}\n \n {range(\n new Date().getFullYear() - this.ageLimit(),\n 1900\n ).map((y) => (\n \n {y}\n \n ))}\n \n \n \n {this.state.errorDob && (\n {this.state.errorDob}\n )}\n \n \n )}\n {mode === \"register\" && (\n \n \n \n \n I agree to the  \n \n Terms and Conditions\n \n   and \n \n Privacy Policy\n \n \n *\n \n }\n onChange={this.handleNbaPrivacyChange}\n />\n \n )}\n \n \n \n {buttonText[mode]}\n \n \n \n
\n
\n )}\n {mode === \"update\" && (\n \n

{title[mode]}

\n

\n \n To update your details and password please visit  \n \n https://www.nba.com/account/nbaprofile\n \n \n

\n

\n {t(\n \"register.updateDetailsNba.notice\",\n \"Please note, your changes will only be available in the game once you log in again\"\n )}\n

\n
\n )}\n
\n
\n
\n );\n }\n}\n\nexport { Register as RegisterTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n player: getPlayerData(state) as IPlayer | null,\n regions: getRegions(state),\n registerError: getRegisterError(state),\n updateError: getPlayerUpdateError(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n doBootstrap: () => dispatch(bootstrap()),\n registerPlayer: (data) => dispatch(register(data)),\n updatePlayer: (data) => dispatch(playerUpdate(data)),\n fetchRegionData: () => dispatch(fetchRegions()),\n});\n\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(Register)\n);\n","import { ThunkResult } from \"..\";\nimport { apiGet } from \"../../utils/api\";\nimport * as actions from \"./actions\";\nimport { IRegion } from \"./types\";\n\nexport const fetchRegions =\n (): ThunkResult> => async (dispatch) => {\n try {\n await apiGet(\"regions/\", dispatch, actions.addRegions);\n } catch (e) {\n return;\n }\n };\n","import { RouteComponentProps } from \"@reach/router\";\nimport React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Box } from \"rebass\";\nimport styled from \"styled-components\";\nimport i18n from \"../i18n\";\nimport { createPageViewData } from \"../utils/tealium\";\nimport Copy from \"./Copy\";\nimport { Main, Wrapper } from \"./Layout\";\n\nconst BoldParagraph = styled.p`\n font-weight: bold;\n`;\n\nconst Prizes: React.FC = () => {\n const { t } = useTranslation(\"prizes\");\n useEffect(() => {\n createPageViewData(\"prizes\");\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n \n
\n \n

{t(\"prizes.pageTitle\", \"NBA Fantasy Prizes\")}

\n\n {i18n.language === \"pt\" ? (\n \n

\n {t(\"prizes.portugal.text1\", \"Prizes to be announced shortly.\")}\n

\n
\n ) : (\n <>\n \n

\n {t(\n \"prizes.season.countries.title1\",\n \"Prizes Available for Residents of Austria, Belgium, Czechia, Denmark, Finland, Germany, Greece, Hungary, Ireland, Italy, Netherlands, Norway, Portugal, Serbia, Spain, Switzerland, and the United Kingdom\"\n )}\n

\n
    \n
  • \n

    \n {t(\n \"prizes.season.countries.text1\",\n \"Prizes will be awarded to the top five (5) users from the above countries with the most points on a cumulative season long basis.\"\n )}\n

    \n
  • \n
  • \n

    \n {t(\n \"prizes.season.countries.text2\",\n \"One (1) Prize will be awarded per week (twenty-five (25) in total) to the Entrant with the most points in a given week.\"\n )}\n

    \n
  • \n
\n
\n \n

{t(\"prizes.season.titleNN\", \"Season Long\")}

\n

\n {t(\n \"prizes.season.countries.grandPrize.title\",\n \"Grand Prize - First (1st) Overall Ranking\"\n )}\n

\n

\n {t(\n \"prizes.season.countries.grandPrize.text1\",\n 'There will be one (1) Grand Prize Winner (\"Grand Prize Winner\") awarded to the Entrant with the most accumulated points for the duration of the Contest.'\n )}\n

\n

\n {t(\n \"prizes.season.countries.grandPrize.text2\",\n 'The \"Grand Prize\" consists of:'\n )}\n

\n
    \n
  • \n

    \n {t(\n \"prizes.season.countries.grandPrize.text3\",\n \"Two (2) Economy class round trip airline tickets from the closest international airport to the Winners residence, to an airport in the USA, in a city where one of the NBA Finals games will be played (in each case, as determined and communicated by the Sponsor in its sole discretion).\"\n )}\n

    \n
      \n
    • \n {t(\n \"prizes.season.countries.grandPrize.text4\",\n \"Specific seat selection is the sole discretion of the Sponsor.\"\n )}\n
    • \n
    • \n {t(\n \"prizes.season.countries.grandPrize.text5\",\n \"Exact destination city, dates and times of flights will be determined by the Sponsor in their sole discretion.\"\n )}\n
    • \n
    \n
  • \n
  • \n

    \n {t(\n \"prizes.season.countries.grandPrize.text6\",\n \"One (1) hotel room for two (2) in the selected City for a total of three (3) nights at a 3-4 star hotel.\"\n )}\n

    \n
      \n
    • \n {t(\n \"prizes.season.countries.grandPrize.text7\",\n \"Hotels, rooms, and dates to be chosen by the Sponsor in their sole discretion.\"\n )}\n
    • \n
    \n
  • \n
  • \n

    \n {t(\n \"prizes.season.countries.grandPrize.text8\",\n 'Two (2) game tickets to one (1) NBA Finals game during the 2024-25 NBA season (the \"Game\").'\n )}\n

    \n
      \n
    • \n {t(\n \"prizes.season.countries.grandPrize.text9\",\n \"Exact Game date i s the sole discretion of the Sponsor.\"\n )}\n
    • \n
    \n
  • \n
  • \n

    \n {t(\n \"prizes.season.countries.grandPrize.text10\",\n \"An NBA merchandise box (consisting of a jersey, a hoodie, and a cap).\"\n )}\n

    \n
  • \n
  • \n

    \n {t(\n \"prizes.season.countries.grandPrize.text11\",\n \"A First Place trophy, delivered in person or via courier to the winner's address, decided at the Sponsor’s sole discretion.\"\n )}\n

    \n
  • \n
\n

\n {t(\n \"prizes.season.countries.grandPrize.text12\",\n \"Approximate total cumulative retail value of the Grand Prize is €4,000.00.\"\n )}\n

\n

\n {t(\n \"prizes.season.countries.grandPrize.text13\",\n 'Winner can nominate one (1) friend or family member to attend with them (the \"Guest\").'\n )}\n

\n
\n \n

\n {t(\n \"prizes.season.countries.additionalPrizes.title\",\n \"Four (4) Additional Secondary Season Long Prizes - Second (2nd) through fifth (5th) Overall Ranking\"\n )}\n

\n

\n {t(\n \"prizes.season.countries.additionalPrizes.text1\",\n 'These four (4) additional secondary prizes will be awarded to the Entrants with the second (2nd), third (3rd), fourth (4th), and fifth (5th) most cumulative points for the duration of the Contest (each a \"Secondary Prize Winner\").'\n )}\n

\n
    \n
  • \n

    \n {t(\n \"prizes.season.countries.additionalPrizes.text2\",\n \"Second (2nd) place prize: NBA Store gift card x €100.00 at\"\n )}{\" \"}\n \n https://nbastore.eu\n \n .\n

    \n
  • \n
  • \n

    \n {t(\n \"prizes.season.countries.additionalPrizes.text3\",\n \"Third (3rd) place prize: NBA Store gift card x €100.00 at\"\n )}{\" \"}\n \n https://nbastore.eu\n \n .\n

    \n
  • \n
  • \n

    \n {t(\n \"prizes.season.countries.additionalPrizes.text4\",\n \"Fourth (4th) place prize: NBA Store gift card x €100.00 at\"\n )}{\" \"}\n \n https://nbastore.eu\n \n .\n

    \n
  • \n
  • \n

    \n {t(\n \"prizes.season.countries.additionalPrizes.text5\",\n \"Fifth (5th) place prize: NBA Store gift card x €100.00 at\"\n )}{\" \"}\n \n https://nbastore.eu\n \n .\n

    \n
  • \n
\n
\n \n

{t(\"prizes.season.countries.weekly.title1\", \"Weekly:\")}

\n

\n {t(\n \"prizes.season.countries.weekly.text1\",\n 'Twenty-five (25) additional prizes will be awarded to the Entrant with the most points in a given week (each a \"Weekly Prize Winner\"). One (1) Weekly Prize to be awarded per week x 25 total weeks Contest duration.'\n )}\n

\n

\n {t(\n \"prizes.season.countries.weekly.text2\",\n \"The Weekly Prize will consist of a Digital Copy of NBA 2K25 and either an NBA League Pass code for season-long NBA League Pass Premium or an NBA Store gift card x €100.00 at\"\n )}{\" \"}\n \n https://nbastore.eu\n {\" \"}\n {t(\n \"prizes.season.countries.weekly.text3\",\n \"(to be determined by the Sponsor in its sole discretion). Approximate total cumulative retail value of a Weekly Prize is €150.00.\"\n )}\n

\n

\n {t(\n \"prizes.season.countries.weekly.text4\",\n \"To be eligible to win the Weekly Prizes, users must have entered the game either before the start of the season or a minimum of 14 days prior to the start of the relevant gameweek period.\"\n )}\n

\n

\n {t(\n \"prizes.season.countries.weekly.text5\",\n \"A full list of gameweeks is available in the\"\n )}{\" \"}\n \n {t(\"prizes.season.countries.weekly.text6\", \"how to play\")}\n {\" \"}\n {t(\n \"prizes.season.countries.weekly.text7\",\n \"section. Gameweeks are subject to change at the Sponsor’s sole discretion.\"\n )}\n

\n
\n \n

{t(\"prizes.season.titleNN\", \"Season Long\")}

\n

\n {t(\n \"prizes.season.france.title1\",\n \"Prizes Available for Residents of France\"\n )}\n

\n\n
    \n
  • \n

    \n {t(\n \"prizes.season.france.text1\",\n \"Prizes will be awarded to the top five (5) users from France with the most points on a cumulative season long basis.\"\n )}\n

    \n
  • \n
  • \n

    \n {t(\n \"prizes.season.france.text2\",\n \"One (1) Prize will be awarded per week, (twenty-five (25) in total), to the Entrant from France with the most points in a given week.\"\n )}\n

    \n
  • \n
\n
\n \n

\n {t(\n \"prizes.season.france.grandPrize.title\",\n 'Grand Prize - First (1st) Overall Ranking - France (the \"France Grand Prize\")'\n )}\n

\n

\n {t(\n \"prizes.season.france.grandPrize.text1\",\n 'There will be one (1) Grand Prize Winner (\"France Grand Prize Winner\") awarded to the Entrant with the most accumulated points for the duration of the Contest from France.'\n )}\n

\n

\n {t(\n \"prizes.season.france.grandPrize.text2\",\n \"The France Grand Prize consists of:\"\n )}\n

\n
    \n
  • \n

    \n {t(\n \"prizes.season.france.grandPrize.text3\",\n \"(2) Economy class round trip airline tickets from the closest international airport to the Winners residence, to an airport in the USA, in a city where one of the NBA Finals games will be played (in each case, as determined and communicated by the Sponsor in its sole discretion).\"\n )}\n

    \n
      \n
    • \n {t(\n \"prizes.season.france.grandPrize.text4\",\n \"Specific seat selection is the sole discretion of the Sponsor.\"\n )}\n
    • \n
    • \n {t(\n \"prizes.season.france.grandPrize.text5\",\n \"Exact destination city, dates and times of flights will be determined by the Sponsor in their sole discretion.\"\n )}\n
    • \n
    \n
  • \n
  • \n

    \n {t(\n \"prizes.season.france.grandPrize.text6\",\n \"One (1) hotel room for two (2) in the selected City for a total of three (3) nights at a 3-4 star hotel.\"\n )}\n

    \n
      \n
    • \n {t(\n \"prizes.season.france.grandPrize.text7\",\n \"Hotels, rooms, and dates to be chosen by the Sponsor in their sole discretion.\"\n )}\n
    • \n
    \n
  • \n
  • \n

    \n {t(\n \"prizes.season.france.grandPrize.text8\",\n 'Two (2) game tickets to one (1) NBA Finals game during the 2024-25 NBA season (the \"Game\").'\n )}\n

    \n
      \n
    • \n {t(\n \"prizes.season.france.grandPrize.text9\",\n \"Exact Game date is the sole discretion of the Sponsor.\"\n )}\n
    • \n
    \n
  • \n
  • \n

    \n {t(\n \"prizes.season.france.grandPrize.text10\",\n \"An NBA merchandise box (consisting of a jersey, a hoodie, and a cap).\"\n )}\n

    \n
  • \n
  • \n

    \n {t(\n \"prizes.season.france.grandPrize.text11\",\n \"A 'First Place' trophy, delivered in person or via courier to the winner's address, decided at the Sponsor’s sole discretion.\"\n )}\n

    \n
  • \n
\n

\n {t(\n \"prizes.season.france.grandPrize.text12\",\n \"Approximate total cumulative retail value of the Grand Prize is €4,000.00.\"\n )}\n

\n
\n \n

\n {t(\n \"prizes.season.france.additionalPrizes.title\",\n \"Four (4) Additional Secondary Season Long Prizes - Second (2nd) through fifth (5th) Overall Ranking\"\n )}\n

\n

\n {t(\n \"prizes.season.france.additionalPrizes.text1\",\n 'These four (4) additional secondary prizes will be awarded to the Entrants with the second (2nd), third (3rd), fourth (4th), and fifth (5th) most cumulative points for the duration of the Contest (each a \"France Secondary Prize Winner\").'\n )}\n

\n
    \n
  • \n

    \n {t(\n \"prizes.season.france.additionalPrizes.text2\",\n \"Second (2nd) place prize: NBA Store gift card x €100.00 at\"\n )}{\" \"}\n \n https://nbastore.eu\n \n .\n

    \n
  • \n
  • \n

    \n {t(\n \"prizes.season.france.additionalPrizes.text3\",\n \"Third (3rd) place prize: NBA Store gift card x €100.00 at\"\n )}{\" \"}\n \n https://nbastore.eu\n \n .\n

    \n
  • \n
  • \n

    \n {t(\n \"prizes.season.france.additionalPrizes.text4\",\n \"Fourth (4th) place prize: NBA Store gift card x €100.00 at\"\n )}{\" \"}\n \n https://nbastore.eu\n \n .\n

    \n
  • \n
  • \n

    \n {t(\n \"prizes.season.france.additionalPrizes.text5\",\n \"Fifth (5th) place prize: NBA Store gift card x €100.00 at\"\n )}{\" \"}\n \n https://nbastore.eu\n \n .\n

    \n
  • \n
\n
\n \n

{t(\"prizes.season.france.weekly.title\", \"Weekly:\")}

\n

\n {t(\n \"prizes.season.france.weekly.text1\",\n 'Twenty-five (25) additional prizes will be awarded to the Entrant with the most points in a given week (each a \"Weekly Prize Winner\"). One (1) Weekly Prize to be awarded per week x 25 total weeks Contest duration.'\n )}\n

\n

\n {t(\n \"prizes.season.france.weekly.text2\",\n \" The Weekly Prize will consist of a Digital Copy of NBA 2K25 and either an NBA League Pass code for season-long NBA League Pass Premium or an NBA Store gift card x €100.00 at\"\n )}{\" \"}\n \n https://nbastore.eu\n {\" \"}\n {t(\n \"prizes.season.france.weekly.text3\",\n \"(to be determined by the Sponsor in its sole discretion). Approximate total cumulative retail value of a Weekly Prize is €150.00.\"\n )}\n

\n

\n {t(\n \"prizes.season.france.weekly.text4\",\n \"To be eligible to win the Weekly Prizes, users must have entered the game either before the start of the season or a minimum of 14 days prior to the start of the relevant gameweek period.\"\n )}\n

\n

\n {t(\n \"prizes.season.france.weekly.text5\",\n \"A full list of gameweeks is available in the\"\n )}{\" \"}\n \n {t(\"prizes.season.france.weekly.text6\", \"how to play\")}\n {\" \"}\n {t(\n \"prizes.season.france.weekly.text7\",\n \"section. Gameweeks are subject to change at the Sponsor’s sole discretion.\"\n )}\n

\n
\n \n \n {t(\n \"prizes.season.general.title\",\n \"The France Grand Prize Winner, the France Secondary Prize Winners and the France Weekly Winners are NOT eligible to win Prizes other than the Prizes available for residents of France.\"\n )}\n \n

\n {t(\n \"prizes.season.general.para1.text1\",\n \"All Winners and their Guests must comply with all venue, hotel and transportation carrier rules and regulations. Failure to do so may result in the forfeiture of the Prize element.\"\n )}\n {t(\n \"prizes.season.general.para1.text2\",\n \"Exact seat locations at the venue are to be determined by the Sponsor in its sole discretion. The Prize is not negotiable or transferable.\"\n )}\n

\n

\n {t(\n \"prizes.season.general.para2.text1\",\n \"Any and all other costs and expenses associated with the acceptance and use of the Grand Prize and any other Prizes not specified herein as being awarded are the Winner's sole responsibility including, without limitation, applicable ground\"\n )}{\" \"}\n {t(\n \"prizes.season.general.para2.text2\",\n \"transportation, gratuities, merchandise, telephone calls, personal expenses of any nature for overnight layovers, meals and beverages, service charges, in-flight meals and entertainment;\"\n )}{\" \"}\n {t(\n \"prizes.season.general.para2.text3\",\n \"costs incurred to and from the departure point for the Grand Prize to the residence of the Grand Prize Winner, obtaining sufficient personal travel insurance prior to departure, if desired;\"\n )}{\" \"}\n {t(\n \"prizes.season.general.para2.text4\",\n \"obtaining and carrying all necessary travel documentation, such as passports and visas and complying with entry, health, customs and immigrations regulations and requirements.\"\n )}\n

\n

\n {t(\n \"prizes.season.general.para3.text1\",\n \"The Winner and the Guest must both be at least 18 years old unless the Guest is the child or other person for whom the Winner has parental or legal guardian responsibility.\"\n )}\n

\n

\n {t(\n \"prizes.season.general.para4.text1\",\n \"The Winner and the Guest are responsible for obtaining and carrying all necessary travel documentation, such as passports and\"\n )}{\" \"}\n {t(\n \"prizes.season.general.para4.text2\",\n \"visas and complying with entry, health, customs and immigrations regulations and requirements.\"\n )}\n

\n

\n {t(\n \"prizes.season.general.para5.text1\",\n \"In the event that the Winner or the Guest are unable to accept a Prize or are unable to travel or participate in any part of the Grand Prize for any reason, the Winner in question will forfeit\"\n )}{\" \"}\n {t(\n \"prizes.season.general.para5.text2\",\n \"the Prize in its entirety and, time permitting, the Prize will be awarded to an alternate Winner that will be randomly selected from any other eligible Entrants. The Sponsor retains the right to\"\n )}{\" \"}\n {t(\n \"prizes.season.general.para5.text3\",\n \"postpone or substitute the Prize with an item(s)/activity(s) of comparable or greater value as determined solely by the Sponsor\"\n )}{\" \"}\n {t(\n \"prizes.season.general.para5.text4\",\n \"and no additional compensation prize, cash or other alternative will be awarded to the Winner in such event.\"\n )}\n

\n
\n \n )}\n
\n
\n
\n );\n};\nexport default Prizes;\n","import React from \"react\";\nimport { Trans, withTranslation, WithTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { getNextEvent } from \"../../core/store/events/reducers\";\nimport { IEvent } from \"../../core/store/events/types\";\nimport { getSquadError } from \"../../core/store/squad/reducers\";\nimport { createEntry } from \"../../core/store/squad/thunks\";\nimport { ICreateEntryData } from \"../../core/store/squad/types\";\nimport { getTeams } from \"../../core/store/teams/reducers\";\nimport { ITeam } from \"../../core/store/teams/types\";\nimport { getSite } from \"../../utils/sites\";\nimport { createInteractionData } from \"../../utils/tealium\";\nimport Alert from \"../Alert\";\nimport Button from \"../Button\";\nimport Dialog from \"../Dialog\";\nimport {\n CheckboxField,\n FieldWrap,\n InputField,\n SelectField,\n} from \"../FieldRenderers\";\nimport { getCodeFromError } from \"./helpers\";\n\ninterface IProps {\n handleHide: () => void;\n}\n\ninterface IPropsFromState {\n error: any;\n teams: ITeam[];\n nextEvent: IEvent | null;\n}\n\ninterface IPropsFromDispatch {\n createEntry: (data: ICreateEntryData) => void;\n}\n\ntype Props = IProps & IPropsFromState & IPropsFromDispatch & WithTranslation;\n\ninterface IState extends ICreateEntryData {\n favourite_team: number;\n}\n\nclass CreateEntryDialog extends React.Component {\n public state: IState = {\n email: false,\n favourite_team: 0,\n name: \"\",\n terms_agreed: false,\n language: this.props.i18n.language,\n };\n\n public requiredFields: Array = [\n \"favourite_team\",\n \"name\",\n \"terms_agreed\",\n \"language\",\n ];\n\n public apiDataFromState = () => ({\n email: this.state.email,\n favourite_team:\n this.state.favourite_team > 0 ? this.state.favourite_team : null,\n name: this.state.name,\n terms_agreed: this.state.terms_agreed,\n language: this.props.i18n.language,\n });\n\n public handleEmailChange = (e: React.FormEvent) =>\n this.setState({ email: e.currentTarget.checked ? true : false });\n\n public handleFaveChange = (e: React.FormEvent) =>\n this.setState({ favourite_team: parseInt(e.currentTarget.value, 10) });\n\n public handleNameChange = (e: React.FormEvent) =>\n this.setState({ name: e.currentTarget.value });\n\n public handleTermsChange = (e: React.FormEvent) =>\n this.setState({ terms_agreed: e.currentTarget.checked ? true : false });\n\n public handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n if (this.isValid()) {\n createInteractionData({\n contentTitle: \"roster selection\",\n interactionId: \"nba-fantasy-game:enter-roster:button\",\n interactionText: this.props.t(\n \"createEntryDialog.enterSquad\",\n \"Enter roster\"\n ),\n });\n this.props.createEntry(this.apiDataFromState());\n }\n };\n\n public isValid = () =>\n this.requiredFields.every((e) => Boolean(this.state[e]));\n\n public render() {\n const ageLimit = () => {\n const site = getSite();\n interface Dictionary {\n [key: string]: number;\n }\n const ageLimitDefaults: Dictionary = {\n default: 16,\n main_ar: 16,\n main_he: 16,\n main_tr: 16,\n main_en: 18,\n main_fr: 18,\n main_de: 18,\n main_es: 18,\n main_it: 18,\n main_el: 18,\n main_br: 18,\n };\n const ageLimit =\n site in ageLimitDefaults\n ? ageLimitDefaults[site.toLowerCase()]\n : ageLimitDefaults[\"default\"];\n return ageLimit;\n };\n const age = ageLimit();\n\n const { handleHide, nextEvent, error, teams, t } = this.props;\n const errorCode = getCodeFromError(error);\n\n if (error) {\n const handledErrorCodes = [\"price_changed\"];\n if (handledErrorCodes.indexOf(errorCode) === -1) {\n window.location.reload();\n return null;\n }\n }\n if (!nextEvent) {\n return (\n \n \n {t(\"createEntryDialog.over\", \"Game over\")}\n \n \n

\n {t(\n \"createEntryDialog.finished\",\n \"This game has now finished. Thanks for your interest, come back soon to select your roster for next season's game.\"\n )}\n

\n
\n
\n );\n }\n\n return (\n \n \n {t(\"createEntryDialog.enterSquadn\", \"Enter roster\")}\n \n\n \n
\n \n \n \n \n \n \n {t(\"createEntryDialog.chooseATeam\", \"Choose a team\")}...\n \n\n {teams.map((t) => (\n \n {t.name}\n \n ))}\n\n \n {t(\"createEntryDialog.none\", \"None\")}\n \n \n \n \n \n \n \n \n I’m aged {{ age }} or over and agree to the \n \n official rules\n \n \n }\n onChange={this.handleTermsChange}\n checked={this.state.terms_agreed}\n />\n \n {errorCode && (\n \n \n {errorCode === \"price_changed\" &&\n t(\n \"createEntryDialog.errornn\",\n \"Unable to enter roster as player salaries have changed. Please refresh the page and try again.\"\n )}\n \n \n )}\n \n
\n
\n
\n );\n }\n}\n\nexport { CreateEntryDialog as CreateEntryDialogTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n error: getSquadError(state),\n nextEvent: getNextEvent(state),\n teams: getTeams(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n createEntry: (data) => dispatch(createEntry(data)),\n});\n\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(CreateEntryDialog)\n);\n","// Look for errors we potentally can handle\nexport const getCodeFromError = (error: any) => {\n let errorCode = \"\";\n if (error && error.badRequest) {\n const e = error.badRequest;\n if (e.transfers && e.transfers.length) {\n for (let i = 0; i < e.transfers.length; i++) {\n if (\n e.transfers[i].non_field_errors &&\n e.transfers[i].non_field_errors.length\n ) {\n errorCode = e.transfers[i].non_field_errors[0].code;\n break;\n }\n }\n } else if (e.non_field_errors && e.non_field_errors.length) {\n errorCode = e.non_field_errors[0].code;\n } else if (e.picks && e.picks.length) {\n for (let i = 0; i < e.picks.length; i++) {\n if (e.picks[i].purchase_price && e.picks[i].purchase_price.length) {\n errorCode = e.picks[i].purchase_price[0].code;\n break;\n }\n }\n }\n }\n return errorCode || \"\";\n};\n","import * as React from \"react\";\nimport styled from \"styled-components/macro\";\n\ninterface IStyledProps {\n ref?: any;\n variant?: \"light\";\n}\n\ninterface IProps {\n icon: React.ReactNode;\n isBack?: boolean;\n label: string;\n onClick?: () => void;\n}\n\ntype Props = IStyledProps & IProps;\n\nconst StyledBoldLinkButton = styled.button`\n display: inline-flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n padding: 1.5rem ${(props) => props.theme.space[3]};\n border: 0;\n border-radius: 3px;\n background-color: ${(props) => props.theme.colors.yellow};\n color: ${(props) => props.theme.colors.offBlack};\n font-size: ${({ theme }) => theme.fontSizes[1]};\n font-weight: 500;\n text-decoration: none;\n cursor: pointer;\n\n &:hover {\n text-decoration: none;\n }\n\n svg {\n fill: currentColor;\n }\n`;\n\nconst BoldLinkButton: React.ForwardRefExoticComponent = React.forwardRef(\n ({ icon, isBack = false, label, ...rest }, ref) => (\n \n {isBack ? (\n <>\n {icon}\n {label}\n \n ) : (\n <>\n {label}\n {icon}\n \n )}\n \n )\n);\n\nexport default BoldLinkButton;\n","import React from \"react\";\nimport styled from \"styled-components/macro\";\nimport { PrimaryGradient } from \"./Utils\";\n\nconst StyledDeadlineBar = styled.div`\n ${PrimaryGradient}\n position: relative;\n display: flex;\n justify-content: center;\n padding: 1px;\n border-radius: ${(props) => props.theme.radii[1]};\n align-items: center;\n font-size: 1.8rem;\n\n ::after {\n ${PrimaryGradient}\n content: \"\";\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n height: 5px;\n border-bottom-right-radius: ${(props) => props.theme.radii[1]};\n border-bottom-left-radius: ${(props) => props.theme.radii[1]};\n }\n`;\n\nconst Background = styled.div`\n display: inherit;\n justify-content: center;\n align-items: center;\n width: 100%;\n padding: ${(props) => props.theme.space[2]};\n border-radius: 0.4rem;\n background-color: ${(props) => props.theme.colors.white};\n`;\n\nconst Heading = styled.h3`\n margin-top: 0;\n margin-bottom: 0;\n font-family: ${(props) => props.theme.fonts.action};\n font-size: 2.7rem;\n text-transform: uppercase;\n\n @media (min-width: ${(props) => props.theme.breakpoints[0]}) {\n font-size: 3rem;\n }\n`;\n\nconst Deadline = styled.time`\n margin-left: ${(props) => props.theme.space[4]};\n font-weight: bold;\n`;\n\ninterface IProps {\n /**\n * Local ISO formatted deadline time\n */\n deadlineISO: string;\n /**\n * Human-friendly local deadline time\n */\n deadlineLocal: string;\n /**\n * Deadline heading\n */\n headingText: string;\n}\n\nconst DeadlineBar: React.FC = ({\n deadlineISO,\n deadlineLocal,\n headingText,\n}) => (\n \n \n {headingText}:\n  \n {deadlineLocal}\n \n \n);\n\nexport default DeadlineBar;\n","import styled from \"styled-components/macro\";\n\nconst SaveBar = styled.div`\n margin-bottom: ${(props) => props.theme.space[4]};\n padding: 0 20% ${(props) => props.theme.space[4]};\n border-bottom: 3px solid #bfbfbf;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n margin-right: 10%;\n margin-left: 10%;\n }\n`;\n\nexport default SaveBar;\n","import * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\nimport { ScoreboardBox } from \"./Scoreboard\";\n\nconst Heading = styled.h3`\n font-family: ${(props) => props.theme.fonts.body};\n font-size: ${(props) => props.theme.fontSizes[2]};\n font-weight: normal;\n line-height: 1;\n`;\n\nconst Value = styled.div`\n display: inline-block;\n border-radius: 11px;\n padding: ${(props) => props.theme.space[1]} ${(props) => props.theme.space[2]}\n 0.4rem;\n font-family: ${(props) => props.theme.fonts.action};\n font-size: 3rem;\n line-height: 1;\n\n ${(props) =>\n props.isError &&\n css`\n background-color: ${props.theme.colors.error};\n color: ${props.theme.colors.white};\n `}\n\n ${(props) =>\n props.isSuccess &&\n css`\n background-color: ${props.theme.colors.success};\n `}\n`;\n\ninterface IScoreboardPanel {\n heading: string;\n value: string;\n}\n\ninterface IValue {\n isError?: boolean;\n isSuccess?: boolean;\n}\n\ntype Props = IScoreboardPanel & IValue;\n\nexport const ScoreboardPanel: React.FC = ({\n heading,\n isError,\n isSuccess,\n value,\n}) => (\n \n {heading}\n \n {value}\n \n \n);\n\nexport default ScoreboardPanel;\n","import * as React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Flex } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport {\n cancelProposedChip,\n proposeAvailableChip,\n} from \"../../core/store/chips/actions\";\nimport {\n getActiveChipName,\n getAvailableChipNames,\n getPotentialChips,\n getProposedChipName,\n} from \"../../core/store/chips/reducers\";\nimport { IPotentialChip } from \"../../core/store/chips/types\";\nimport { getElementTypesBySquadPosition } from \"../../core/store/element-types/reducers\";\nimport { IElementTypesBySquadPosition } from \"../../core/store/element-types/types\";\nimport {\n canAutocomplete,\n canReset,\n getErrors,\n getFreeTransfersRemaining,\n getProposedElements,\n getToSpend,\n getTransferCosts,\n} from \"../../core/store/squad/reducers\";\nimport { autoComplete, reset } from \"../../core/store/squad/thunks\";\nimport { IProposedElements, ISquadErrors } from \"../../core/store/squad/types\";\nimport { integerToMoney } from \"../../core/utils/money\";\nimport { ChipName, getChipName } from \"../../utils/chips\";\nimport { integerToDecimal } from \"../../utils/decimal\";\nimport { createInteractionData } from \"../../utils/tealium\";\nimport Alert from \"../Alert\";\nimport Button from \"../Button\";\nimport Dialog from \"../Dialog\";\nimport DialogManager from \"../DialogManager\";\nimport { BoxWrapStyles, PrimaryGradient } from \"../Utils\";\nimport { ScoreboardPanel } from \"./ScoreboardPanel\";\n\nconst StyledBasicScoreboard = styled.div`\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n margin-bottom: ${(props) => props.theme.space[4]};\n`;\n\nconst ScoreboardButtons = styled.div`\n flex: 0 0 100%;\n margin-bottom: ${(props) => props.theme.space[2]};\n\n @media (min-width: ${(props) => props.theme.breakpoints[4]}) {\n flex-basis: 33.3%;\n margin-bottom: 0;\n }\n`;\n\nconst ButtonWrap = styled.div`\n display: flex;\n gap: ${(props) => props.theme.space[4]};\n\n @media (min-width: ${(props) => props.theme.breakpoints[4]}) {\n flex-direction: column;\n }\n`;\n\nconst ScoreboardPanelWrap = styled.div`\n flex: 0 0 calc(50% - ${(props) => props.theme.space[1]});\n\n @media (min-width: ${(props) => props.theme.breakpoints[4]}) {\n flex-basis: calc(33.3% - ${(props) => props.theme.space[2]});\n display: flex;\n flex-direction: column;\n }\n`;\n\nexport const ScoreboardBox = styled.div`\n ${BoxWrapStyles}\n position: relative;\n flex: 1;\n border: 1px solid ${(props) => props.theme.colors.blueDark};\n padding: ${(props) =>\n `${props.theme.space[2]} ${props.theme.space[2]} ${props.theme.space[3]}`};\n text-align: center;\n\n ::after {\n ${PrimaryGradient}\n content: \"\";\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n height: ${(props) => props.theme.space[1]};\n border-bottom-right-radius: ${(props) => props.theme.radii[1]};\n border-bottom-left-radius: ${(props) => props.theme.radii[1]};\n }\n`;\n\nconst CostScoreboardUnit = styled.div`\n flex: 1 0 50%;\n padding: ${({ theme }) => theme.space[1]} ${({ theme }) => theme.space[2]};\n\n :nth-child(4) > div {\n border-bottom-width: 0;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n flex: 1 0 25%;\n\n :nth-child(3) > div {\n border-bottom-width: 0;\n }\n\n :nth-child(4) > div {\n border-bottom-width: 1px;\n }\n }\n`;\n\ninterface IBasicProps {\n autoPick: () => void;\n canAutocomplete: boolean;\n canReset: boolean;\n currencyDivisor: number;\n elementTypesByPosition: IElementTypesBySquadPosition;\n isBudgetExceeded: boolean;\n isNeedElements: boolean;\n proposedElements: IProposedElements;\n reset: () => void;\n toSpend: number;\n contentTitle: string;\n}\n\nconst Basic: React.FC = ({\n autoPick,\n canAutocomplete,\n canReset,\n contentTitle,\n currencyDivisor,\n elementTypesByPosition,\n isBudgetExceeded,\n isNeedElements,\n proposedElements,\n reset,\n toSpend,\n}) => {\n const { t } = useTranslation();\n\n const handleAutoPick = () => {\n createInteractionData({\n contentTitle: contentTitle,\n interactionId: \"nba-fantasy-game:auto-pick-roster:button\",\n interactionText: t(\"scoreboard.autoPick\", \"Auto Pick\"),\n });\n autoPick();\n };\n\n const handleReset = () => {\n createInteractionData({\n contentTitle: contentTitle,\n interactionId: \"nba-fantasy-game:reset-roster:button\",\n interactionText: t(\"reset\", \"Reset\"),\n });\n reset();\n };\n\n return (\n \n \n \n \n \n {t(\"scoreboard.autoPick\", \"Auto Pick\")}\n \n \n {t(\"reset\", \"Reset\")}\n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\ninterface IExplainChipDialogProps {\n chip: string;\n handleHide: () => void;\n transferCosts: number;\n}\n\nconst ExplainChipDialog: React.FC = ({\n chip,\n handleHide,\n transferCosts,\n}) => {\n const { t } = useTranslation();\n return (\n \n \n {chip === \"wildcard\" && t(\"squad.playWildcardText\", \"Play Wildcard\")}\n {chip === \"rich\" && t(\"squad.playAllStarText\", \"Play All-Star\")}\n \n \n \n {transferCosts ? (\n <>\n

\n {chip === \"wildcard\" &&\n t(\n \"squad.wildcardText1\",\n \"You are now proposing to play your wildcard. Unlimited transactions can be made this Gameday without points deduction.\"\n )}\n {chip === \"rich\" &&\n t(\n \"squad.allStarext1\",\n \"You are now proposing to play your All-Star chip. Unlimited transactions with an unlimted budget can be made this Gameday without points deduction.\"\n )}\n

\n

\n {chip === \"wildcard\" &&\n t(\n \"squad.wildcardText2\",\n \"Your wildcard will not be activated until you confirm your transactions.\"\n )}\n {chip === \"rich\" &&\n t(\n \"squad.allStarText2\",\n \"Your All-Star will not be activated until you confirm your transactions\"\n )}\n

\n \n ) : (\n

\n {chip === \"wildcard\" &&\n t(\n \"squad.wildcardText3\",\n \"To activate your wildcard you must be making enough proposed transactions that points will be deducted.\"\n )}\n {chip === \"rich\" &&\n t(\n \"squad.allStarText3\",\n \"To activate your All-Star chip you must be making enough proposed transactions that points will be deducted.\"\n )}\n

\n )}\n
\n
\n
\n );\n};\n\ninterface ICostProps {\n activeChipName: string;\n availableChipNames: string[];\n autoPick: () => void;\n canAutocomplete: boolean;\n canReset: boolean;\n currencyDivisor: number;\n freeTransfersRemaining: number;\n isBudgetExceeded: boolean;\n proposedChipName: string;\n reset: () => void;\n toSpend: number;\n transferCosts: number;\n cancelChip: (chip: string) => void;\n proposeChip: (chip: string) => void;\n chips: IPotentialChip[];\n}\n\nconst Cost: React.FC = ({\n activeChipName,\n availableChipNames,\n autoPick,\n canAutocomplete,\n canReset,\n currencyDivisor,\n freeTransfersRemaining,\n isBudgetExceeded,\n proposedChipName,\n reset,\n toSpend,\n transferCosts,\n cancelChip,\n proposeChip,\n chips,\n}) => {\n const { t } = useTranslation();\n const wildCardChip = chips.filter((c) => c.name === \"wildcard\")[0];\n const AllStarChip = chips.filter((c) => c.name === \"rich\")[0];\n return (\n <>\n \n \n \n {t(\"scoreboard.cost.autoPick\", \"Auto Pick\")}\n \n \n \n \n {t(\"scoreboard.cost.reset\", \"Reset\")}\n \n \n\n {activeChipName ? (\n \n \n \n ) : wildCardChip.status_for_entry === \"played\" ? (\n \n \n \n ) : wildCardChip.status_for_entry === \"active\" ? (\n \n \n \n ) : proposedChipName === \"wildcard\" ? (\n \n \n \n ) : (\n (\n <>\n \n \n {t(\"squad.playWildcardTest\", \"Play Wildcard\")}\n \n \n {showDialog && (\n {\n handleHide();\n if (transferCosts) {\n proposeChip(\"wildcard\");\n }\n }}\n transferCosts={transferCosts}\n />\n )}\n \n )}\n />\n )}\n {activeChipName ? (\n <> \n ) : AllStarChip.status_for_entry === \"played\" ? (\n \n \n \n ) : AllStarChip.status_for_entry === \"active\" ? (\n \n \n \n ) : proposedChipName === \"rich\" ? (\n \n \n \n ) : (\n (\n <>\n \n \n {t(\"squad.playAllStarText\", \"Play All-Star\")}\n \n \n {showDialog && (\n {\n handleHide();\n if (transferCosts) {\n proposeChip(\"rich\");\n }\n }}\n transferCosts={transferCosts}\n />\n )}\n \n )}\n />\n )}\n \n \n \n \n \n \n 0}\n />\n \n \n \n \n \n \n );\n};\n\ninterface IOwnProps {\n scoreboard: string;\n contentTitle: string;\n}\n\ninterface IPropsFromState {\n activeChipName: string;\n availableChipNames: string[];\n canAutocomplete: boolean;\n canReset: boolean;\n currencyDivisor: number;\n elementTypesByPosition: IElementTypesBySquadPosition | null;\n errors: ISquadErrors;\n freeTransfersRemaining: number;\n proposedChipName: string;\n proposedElements: IProposedElements;\n toSpend: number;\n transferCosts: number;\n chips: IPotentialChip[];\n}\n\ninterface IPropsFromDispatch {\n autoPick: () => void;\n reset: () => void;\n cancelChip: (chip: string) => void;\n proposeChip: (chip: string) => void;\n}\n\ntype Props = IOwnProps & IPropsFromState & IPropsFromDispatch;\n\nclass Scoreboard extends React.Component {\n public render() {\n const {\n contentTitle,\n elementTypesByPosition,\n errors,\n proposedElements,\n scoreboard,\n ...rest\n } = this.props;\n if (!elementTypesByPosition) {\n return null;\n }\n const isNeedElements = Boolean(errors.needElements);\n const isBudgetExceeded = Boolean(errors.budgetExceeded);\n switch (scoreboard) {\n case \"basic\":\n return (\n \n );\n case \"cost\":\n return ;\n default:\n return null;\n }\n }\n}\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n activeChipName: getActiveChipName(state),\n availableChipNames: getAvailableChipNames(state),\n canAutocomplete: canAutocomplete(state),\n canReset: canReset(state),\n currencyDivisor: 10,\n elementTypesByPosition: getElementTypesBySquadPosition(state),\n errors: getErrors(state),\n freeTransfersRemaining: getFreeTransfersRemaining(state),\n proposedChipName: getProposedChipName(state),\n proposedElements: getProposedElements(state),\n toSpend: getToSpend(state),\n transferCosts: getTransferCosts(state),\n chips: getPotentialChips(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n autoPick: () => {\n if (!dispatch(autoComplete())) {\n // We should do something :-)\n window.console.log(\"Failed to autocomplete\");\n }\n },\n cancelChip: (chip: string) => dispatch(cancelProposedChip(chip)),\n proposeChip: (chip: string) => dispatch(proposeAvailableChip(chip)),\n reset: () => dispatch(reset()),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Scoreboard);\n","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgRemove(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 15,\n height: 15,\n viewBox: \"0 0 15 15\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 7.5,\n cy: 7.5,\n r: 7,\n fill: \"#FFF\",\n stroke: \"#000\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n stroke: \"#000\",\n transform: \"translate(4 4)\"\n }, /*#__PURE__*/React.createElement(\"line\", {\n x2: 7,\n y1: 7\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: 7,\n y1: 7\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRemove);\nexport default __webpack_public_path__ + \"static/media/remove.7ee4ca75.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\nimport styled from \"styled-components/macro\";\nimport { ReactComponent as PlusIcon } from \"../img/icons/plus.svg\";\n\nconst StyledPlusIcon = styled(PlusIcon)`\n margin: 2.6rem 0;\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n margin: ${({ theme }) => theme.space[8]} 0;\n }\n`;\n\nconst PlaceholderShirt: React.FC = () => (\n Placeholder\n);\n\nexport default PlaceholderShirt;\n","import * as React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\nimport styled, { css } from \"styled-components/macro\";\nimport { getElementTypesById } from \"../../core/store/element-types/reducers\";\nimport {\n PitchElementInner,\n PitchElementOuter,\n PitchElementWrap,\n} from \"../Pitch\";\nimport PlaceholderShirt from \"../PlaceholderShirt\";\nimport { isRTL } from \"../../utils/locale\";\nimport i18n from \"../../i18n\";\n\nconst StyledPlaceholder = styled.button`\n display: block;\n width: 100%;\n min-height: 232px;\n margin: auto;\n padding: 0;\n border: 0;\n background-color: white;\n text-align: center;\n line-height: 1;\n cursor: pointer;\n`;\n\nconst Title = styled.div`\n font-family: ${(props) => props.theme.fonts.action};\n ${isRTL(i18n.language)\n ? css`\n font-size: ${(props) => props.theme.fontSizes[3]};\n `\n : css`\n font-size: ${(props) => props.theme.fontSizes[4]};\n `};\n\n font-weight: bold;\n text-transform: uppercase;\n`;\n\nconst Abbr = styled.abbr`\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n text-decoration: none;\n ::after {\n content: attr(title);\n }\n }\n`;\n\nconst Span = styled.span`\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n display: none;\n }\n`;\n\ninterface IProps {\n elementTypeId: number;\n onClick: () => void;\n}\n\nconst PitchPlaceholder: React.FC = ({ elementTypeId, onClick }) => {\n const elementTypesById = useSelector(getElementTypesById);\n const elementType = elementTypesById[elementTypeId];\n const { t } = useTranslation();\n if (!elementType) {\n return null;\n }\n return (\n \n \n \n \n \n \n {t(\"add\", \"Add\")}{\" \"}\n <Abbr title={elementType.singular_name}>\n <Span>{elementType.singular_name_short}</Span>\n </Abbr>\n \n \n \n \n \n );\n};\n\nexport default PitchPlaceholder;\n","var _polygon, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgReload(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Non_mover\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"16px\",\n height: \"16px\",\n viewBox: \"0 0 16 16\",\n enableBackground: \"new 0 0 16 16\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"Reload\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"7,16 11,16 16,11 11,6 7,6 12,11 \"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.3,0L16,0v3H6.3C4.5,3,3,4.5,3,6.2s1.5,3.2,3.3,3.2h7.2v3H6.3C2.9,12.4,0,9.6,0,6.2S2.8,0,6.3,0z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgReload);\nexport default __webpack_public_path__ + \"static/media/reload.0ae64c38.svg\";\nexport { ForwardRef as ReactComponent };","import { size } from \"polished\";\nimport * as React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { RootState } from \"../../core/store\";\nimport { getElement } from \"../../core/store/elements/reducers\";\nimport { ReactComponent as Remove } from \"../../img/icons/remove.svg\";\nimport Badge from \"../Badge\";\nimport {\n ElementCardBadge,\n ElementCardMain,\n ElementCardTeam,\n ShirtWrap,\n} from \"../ElementCard\";\nimport ElementDialogButton from \"../ElementDialogButton\";\nimport {\n Controls,\n InfoControl,\n PitchElementInner,\n PitchElementOuter,\n PitchElementWrap,\n PrimaryControl,\n} from \"../Pitch\";\nimport PitchElementData from \"../PitchElementData\";\nimport PlaceholderShirt from \"../PlaceholderShirt\";\nimport Shirt from \"../Shirt\";\nimport TeamCode from \"../TeamCode\";\nimport { UnstyledButton } from \"../Utils\";\n\nconst StyledRemove = styled(Remove)`\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n ${size(20)}\n }\n`;\n\ninterface IOwnProps {\n actionMe: () => void;\n elementId: number;\n elementValue: React.ReactNode;\n renderElementMenu: () => void;\n}\n\ninterface IStyleProps {\n isRemoved?: boolean;\n}\ntype Props = IOwnProps & IStyleProps;\n\nconst SquadPitchElement: React.FC = ({\n actionMe,\n elementId,\n elementValue,\n isRemoved,\n renderElementMenu,\n}) => {\n const element = useSelector((state: RootState) =>\n getElement(state, elementId)\n );\n\n if (!element) {\n return null;\n }\n\n return (\n \n \n \n \n {isRemoved ? (\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\nexport default SquadPitchElement;\n","import { RouteComponentProps } from \"@reach/router\";\nimport * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { getElementTypesBySquadPosition } from \"../../core/store/element-types/reducers\";\nimport { IElementTypesBySquadPosition } from \"../../core/store/element-types/types\";\nimport {\n showElementSummary,\n updateElementTypeControl,\n} from \"../../core/store/elements/thunks\";\nimport {\n getProposedElements,\n getSavedPicks,\n} from \"../../core/store/squad/reducers\";\nimport { removeElement, restoreElement } from \"../../core/store/squad/thunks\";\nimport { IProposedElements, ISavedPicks } from \"../../core/store/squad/types\";\nimport PitchPlaceholder from \"./PitchPlaceholder\";\nimport SquadPitchElement from \"./SquadPitchElement\";\n\nconst StyledSquadPitchUnit = styled.div`\n flex: 0 0 33.3%;\n`;\n\ninterface IPropsFromState {\n elementTypesByPosition: IElementTypesBySquadPosition | null;\n proposedElements: IProposedElements;\n savedPicks: ISavedPicks;\n}\n\ninterface IPropsFromDispatch {\n removePitchElement: (position: number) => void;\n restorePitchElement: (position: number) => void;\n showElementDialog: (elementId: number) => void;\n showElementType: (elementTypeId: number) => void;\n}\n\ninterface IOwnProps {\n pos: number;\n elementValue: React.ReactNode;\n renderElementMenu: (pos: number) => void;\n showSidebar: () => void;\n}\n\ntype Props = RouteComponentProps &\n IPropsFromState &\n IPropsFromDispatch &\n IOwnProps;\n\nconst SquadPitchUnit: React.FC = ({\n elementTypesByPosition,\n elementValue,\n proposedElements,\n pos,\n renderElementMenu,\n removePitchElement,\n restorePitchElement,\n savedPicks,\n showElementType,\n}) => {\n if (!elementTypesByPosition) {\n return null;\n }\n\n return (\n \n {proposedElements[pos] ? (\n {\n removePitchElement(pos);\n }}\n elementId={proposedElements[pos].id}\n elementValue={elementValue}\n renderElementMenu={() => renderElementMenu(pos)}\n />\n ) : savedPicks[pos] ? (\n {\n restorePitchElement(pos);\n }}\n elementId={savedPicks[pos].element}\n elementValue={elementValue}\n renderElementMenu={() => renderElementMenu(pos)}\n isRemoved={true}\n />\n ) : (\n \n showElementType(elementTypesByPosition[pos].thisType.id)\n }\n />\n )}\n \n );\n};\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n elementTypesByPosition: getElementTypesBySquadPosition(state),\n proposedElements: getProposedElements(state),\n savedPicks: getSavedPicks(state),\n});\n\nconst mapDispatchToProps = (\n dispatch: ThunkDispatch,\n ownProps: IOwnProps\n): IPropsFromDispatch => ({\n removePitchElement: (position) => {\n dispatch(removeElement(position));\n },\n restorePitchElement: (position) => {\n dispatch(restoreElement(position));\n },\n showElementDialog: (elementId) => dispatch(showElementSummary(elementId)),\n showElementType: (elementTypeId) => {\n dispatch(updateElementTypeControl(elementTypeId));\n ownProps.showSidebar();\n },\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(SquadPitchUnit);\n","import * as React from \"react\";\nimport { Trans, withTranslation, WithTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { getElementsById } from \"../../core/store/elements/reducers\";\nimport {\n showElementSummary,\n updateElementTypeControl,\n} from \"../../core/store/elements/thunks\";\nimport { IElement, IElementsById } from \"../../core/store/elements/types\";\nimport { getNextEvent } from \"../../core/store/events/reducers\";\nimport { IEvent } from \"../../core/store/events/types\";\nimport { getSettings } from \"../../core/store/game/reducers\";\nimport { ISettings } from \"../../core/store/game/types\";\nimport { IPick } from \"../../core/store/my-team/types\";\nimport { resetLastChange } from \"../../core/store/squad/actions\";\nimport {\n getErrors,\n getLastChange,\n getProposedElements,\n getSavedPicks,\n getSquadMode,\n} from \"../../core/store/squad/reducers\";\nimport {\n autoComplete,\n removeElement,\n restoreElement,\n} from \"../../core/store/squad/thunks\";\nimport {\n ILastChange,\n IProposedElements,\n ISavedPicks,\n ISquadErrors,\n SquadMode,\n} from \"../../core/store/squad/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { ITeamsById } from \"../../core/store/teams/types\";\nimport {\n formatRawAsISO,\n formatRawAsLocalI18n,\n} from \"../../core/utils/datetime\";\nimport { integerToMoney } from \"../../core/utils/money\";\nimport { dateLocales } from \"../../i18n\";\nimport { createInteractionData } from \"../../utils/tealium\";\nimport Alert, { AlertWrap } from \"../Alert\";\nimport Button from \"../Button\";\nimport Copy from \"../Copy\";\nimport DeadlineBar from \"../DeadlineBar\";\nimport Dialog, { DialogButtonItem } from \"../Dialog\";\nimport DialogManager from \"../DialogManager\";\nimport TabPanel from \"../tabs/TabPanel\";\nimport Tabs from \"../tabs/Tabs\";\nimport ElementGroup from \"./ElementGroup\";\nimport SaveBar from \"./SaveBar\";\nimport Scoreboard from \"./Scoreboard\";\nimport SquadPitchUnit from \"./SquadPitchUnit\";\n\nconst ButtonWrap = styled.div`\n display: flex;\n gap: ${(props) => props.theme.space[2]};\n margin: 0 ${(props) => props.theme.space[2]};\n`;\n\nconst StyledCopy = styled(Copy)`\n margin-bottom: ${(props) => props.theme.space[5]};\n`;\n\nconst StyledDialogButton = styled(DialogButtonItem)`\n flex: 1;\n`;\n\nconst PlayerActions = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n width: 50%;\n margin: 0 auto;\n }\n`;\n\n//TODO: Move IListTableProps somewhere more abstract?\nexport interface IListTableProps {\n elementType: number;\n key: string;\n positions: number[];\n renderElementDialog: (element: IElement) => void;\n renderElementMenu: (position: number) => void;\n}\n\ninterface IOwnProps {\n listTable: (listTableProps: IListTableProps) => void;\n scoreboard: string;\n showSidebar: () => void;\n submitDialog: (handleHide: () => void) => React.ReactNode;\n showListTableAsDefault?: boolean;\n contentTitle: string;\n}\n\ninterface IPropsFromState {\n currencyDivisor: number;\n elementsById: IElementsById;\n errors: ISquadErrors;\n lastChange: ILastChange;\n mode: SquadMode;\n nextEvent: IEvent | null;\n proposedElements: IProposedElements;\n savedPicks: ISavedPicks;\n settings: ISettings | null;\n teamsById: ITeamsById;\n}\n\ninterface IPropsFromDispatch {\n clearLastChange: () => void;\n removeElement: (position: number) => void;\n restoreElement: (position: number) => void;\n showElementDialog: (elementId: number) => void;\n showElementType: (elementTypeId: number) => void;\n autoPick: () => void;\n}\n\ntype Props = IOwnProps & IPropsFromState & IPropsFromDispatch & WithTranslation;\n\ninterface IState {\n positionForMenu: number;\n showAutoPickDialog: boolean;\n}\n\nclass CreateSquad extends React.Component {\n public state: IState = {\n positionForMenu: 0,\n showAutoPickDialog: false,\n };\n\n public handleShowMenuForElement = (position: number) =>\n this.setState({ positionForMenu: position });\n\n public handleHideMenuForElement = () => {\n this.setState({ positionForMenu: 0 });\n };\n\n public removeElement = (position: number) => {\n this.handleHideMenuForElement();\n this.props.removeElement(position);\n };\n\n public restoreElement = (position: number) => {\n this.handleHideMenuForElement();\n this.props.restoreElement(position);\n };\n\n public showElementType = (elementType: number) => {\n this.handleHideMenuForElement();\n this.props.showElementType(elementType);\n };\n\n public showDialog = (element: IElement) => {\n this.props.showElementDialog(element.id);\n this.handleHideMenuForElement();\n };\n\n public showAutoPickDialog = () => {\n this.setState({ showAutoPickDialog: true });\n };\n\n public hideAutoPickDialog = () => {\n this.setState({ showAutoPickDialog: false });\n };\n\n public renderMenu() {\n const { t } = this.props;\n let element: IElement | undefined;\n let mode: \"remove\" | \"restore\" | undefined;\n if (this.props.proposedElements[this.state.positionForMenu]) {\n element = this.props.proposedElements[this.state.positionForMenu];\n mode = \"remove\";\n } else if (this.props.savedPicks[this.state.positionForMenu]) {\n element =\n this.props.elementsById[\n this.props.savedPicks[this.state.positionForMenu].element\n ];\n mode = \"restore\";\n }\n if (!mode || !element) {\n return null;\n }\n return (\n \n \n {`${element.first_name} ${element.second_name}`}\n \n \n \n {mode === \"remove\" ? (\n \n this.removeElement(this.state.positionForMenu)}\n fullwidth=\"true\"\n >\n {t(\"createSquad.removePlayer\", \"Remove Player\")}\n \n \n ) : mode === \"restore\" ? (\n <>\n \n \n this.restoreElement(this.state.positionForMenu)\n }\n fullwidth=\"true\"\n variant=\"tertiary\"\n >\n {t(\"createSquad.restorePlayer\", \"Restore Player\")}\n \n \n \n this.showElementType(element!.element_type)}\n fullwidth=\"true\"\n >\n {t(\"createSquad.replacePlayer\", \"Select Replacement\")}\n \n \n \n ) : (\n \"\"\n )}\n \n this.showDialog(element as IElement)}\n fullwidth=\"true\"\n variant=\"secondary\"\n >\n {t(\"createSquad.viewInformation\", \"View Information\")}\n \n \n \n \n \n );\n }\n\n public renderElementValueForPosition(pos: number) {\n const element: IElement = this.props.proposedElements[pos];\n const pick: IPick | undefined = this.props.savedPicks[pos];\n // Initial element selection (squad selection)\n if (!pick && element) {\n return integerToMoney(element.now_cost, this.props.currencyDivisor);\n }\n // Removed element (transfers)\n if (pick && !element) {\n return integerToMoney(pick.selling_price, this.props.currencyDivisor);\n }\n // Original element (transfers)\n if (pick && element && pick.element === element.id) {\n return integerToMoney(pick.selling_price, this.props.currencyDivisor);\n }\n // Replaced element (transfers)\n if (pick && element && pick.element !== element.id) {\n return integerToMoney(element.now_cost, this.props.currencyDivisor);\n }\n return null;\n }\n\n public componentDidMount() {\n this.props.clearLastChange();\n Object.keys(this.props.proposedElements).length === 0 &&\n this.showAutoPickDialog();\n }\n\n public render() {\n const {\n t,\n autoPick,\n elementsById,\n errors,\n i18n,\n listTable,\n lastChange,\n mode,\n nextEvent,\n scoreboard,\n settings,\n showSidebar,\n submitDialog,\n teamsById,\n showListTableAsDefault,\n } = this.props;\n\n interface IHandleAutoPickProps {\n interactionText: string;\n action: () => void;\n }\n\n const handleAutoPick = ({\n action,\n interactionText,\n }: IHandleAutoPickProps) => {\n createInteractionData({\n contentTitle: \"roster selection\",\n interactionId: \"nba-fantasy-game:roster-selection:button\",\n interactionText: interactionText,\n });\n action();\n this.hideAutoPickDialog();\n };\n\n if (!settings) {\n return null;\n }\n\n let latestAction: React.ReactNode = null;\n if (lastChange.type === \"addition\") {\n latestAction = (\n \n \n \n {{ playerName: elementsById[lastChange.element].web_name }}\n {\" \"}\n has been added to your roster.\n \n \n );\n } else if (lastChange.type === \"removal\") {\n latestAction = (\n \n \n \n {{ playerName: elementsById[lastChange.element].web_name }}\n {\" \"}\n has been removed from your roster.\n \n \n );\n }\n\n // Button enablers\n const canEnter = !Boolean(Object.keys(errors).length);\n\n // Helper functions to generate props used by multiple component instances\n const sharedPitchElementProps = (pos: number) => ({\n pos,\n renderElementMenu: this.handleShowMenuForElement,\n elementValue: this.renderElementValueForPosition(pos),\n showSidebar,\n });\n\n const sharedSquadListTableProps = (\n pos: number[],\n elementType: number,\n key: string\n ) => ({\n elementType,\n key,\n positions: pos,\n renderElementDialog: this.showDialog,\n renderElementMenu: this.handleShowMenuForElement,\n });\n\n const submitButtonText = {\n selection: t(\"createSquad.enterSquad\", \"Enter roster\"),\n transfers: t(\"createSquad.makeTransfers\", \"Make Transactions\"),\n };\n\n const positionsByElementType: {\n [index: string]: number[];\n } = {\n 1: [1, 2, 3, 4, 5],\n 2: [6, 7, 8, 9, 10],\n };\n\n const showTabsInReverseOrder = showListTableAsDefault;\n const autoPickText = t(\"createSquad.onboarding.autoPickn\", \"Auto Pick\");\n const userPickText = t(\n \"createSquad.onboarding.entryPickn\",\n \"I'll pick my squad!\"\n );\n\n return (\n
\n {nextEvent && (\n \n \n \n )}\n \n {errors.overTeamLimit && (\n \n \n {t(\n \"createSquad.errors.overTeamLimit\",\n \"Too many players selected from\"\n )}{\" \"}\n \n {errors.overTeamLimit\n .map((team) => teamsById[team].name)\n .join(\", \")}\n \n \n \n )}\n {latestAction && {latestAction}}\n \n \n {[\n \n \n {Object.keys(positionsByElementType)\n .reverse()\n .map((et) =>\n listTable(\n sharedSquadListTableProps(\n positionsByElementType[et],\n parseInt(et, 10),\n et\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 ].sort((a, b) => (showTabsInReverseOrder ? 1 : -1))}\n \n \n\n {this.renderMenu()}\n (\n <>\n \n \n {submitButtonText[mode]}\n \n \n {showDialog && submitDialog(handleHide)}\n \n )}\n />\n\n {this.state.showAutoPickDialog && (\n \n \n {t(\"createSquad.onboarding.titlen\", \"Roster Selection\")}\n \n \n \n

\n {t(\n \"createSquad.onboarding.p1n\",\n \"It's time to pick your team. Auto pick to get started quickly or choose your roster yourself.\"\n )}\n

\n

\n {t(\n \"createSquad.onboarding.p2n\",\n \"You can sign and drop players for free before your first gameday deadline in the transactions tab. After this deadline, you'll get two free changes every week and any extra changes to your roster will cost 100 fantasy points.\"\n )}\n

\n

\n {t(\n \"createSquad.onboarding.p3n\",\n \"You can pick a maximum of 2 players from one NBA team.\"\n )}\n

\n
\n \n \n {\n handleAutoPick({\n action: () => {\n autoPick();\n this.hideAutoPickDialog();\n },\n interactionText: autoPickText,\n });\n }}\n fullwidth=\"true\"\n >\n {autoPickText}\n \n \n \n {\n handleAutoPick({\n action: this.hideAutoPickDialog,\n interactionText: userPickText,\n });\n }}\n fullwidth=\"true\"\n >\n {userPickText}\n \n \n \n
\n
\n )}\n
\n );\n }\n}\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n currencyDivisor: 10,\n elementsById: getElementsById(state),\n errors: getErrors(state),\n lastChange: getLastChange(state),\n mode: getSquadMode(state),\n nextEvent: getNextEvent(state),\n proposedElements: getProposedElements(state),\n savedPicks: getSavedPicks(state),\n settings: getSettings(state),\n teamsById: getTeamsById(state),\n});\n\nconst mapDispatchToProps = (\n dispatch: ThunkDispatch,\n ownProps: IOwnProps\n): IPropsFromDispatch => ({\n autoPick: () => {\n if (!dispatch(autoComplete())) {\n // We should do something :-)\n window.console.log(\"Failed to autocomplete\");\n }\n },\n clearLastChange: () => dispatch(resetLastChange()),\n removeElement: (position) => dispatch(removeElement(position)),\n restoreElement: (position) => dispatch(restoreElement(position)),\n showElementDialog: (elementId) => dispatch(showElementSummary(elementId)),\n showElementType: (elementTypeId) => {\n dispatch(updateElementTypeControl(elementTypeId));\n ownProps.showSidebar();\n },\n});\n\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(CreateSquad)\n);\n","import { TFunction } from \"i18next\";\n\ninterface IStatDetails {\n description: string;\n label: string;\n}\n\nconst allStatsDetails = (\n t: TFunction\n): Record => ({\n total_points: {\n description: t(\n \"stats.total_points.description\",\n \"Total fantasy points earned this season.\"\n ),\n label: t(\"stats.total_points.labeln\", \"Total fantasy points\"),\n },\n event_points: {\n description: t(\n \"stats.round_points.descriptionn\",\n \"Total fantasy points earned in the latest Gameday. \"\n ),\n label: t(\"stats.round_points.labeln\", \"Gameday fantasy points\"),\n },\n now_cost: {\n description: t(\n \"stats.now_cost.descriptionn\",\n \"Cost of signing salary in transactions.\"\n ),\n label: t(\"stats.now_cost.labeln\", \"Salary\"),\n },\n selected_by_percent: {\n description: t(\n \"stats.selected_by_percent.descriptionn\",\n \"The percentage of overall Fantasy general managers who currently own the player.\"\n ),\n label: t(\"stats.selected_by_percent.label\", \"Team selected by %\"),\n },\n minutes: {\n description: t(\n \"stats.minutes.description\",\n \"Total minutes played this season.\"\n ),\n label: t(\"stats.minutes.label\", \"Minutes played\"),\n },\n points_scored: {\n description: t(\n \"stats.points_scored.description\",\n \"Total points scored this season.\"\n ),\n label: t(\"stats.points_scored.label\", \"Points scored\"),\n },\n rebounds: {\n description: t(\n \"stats.rebounds.descriptionn\",\n \"Total rebounds this season.\"\n ),\n label: t(\"stats.rebounds.label\", \"Rebounds\"),\n },\n assists: {\n description: t(\"stats.assists.descriptionn\", \"Total assists this season.\"),\n label: t(\"stats.assists.label\", \"Assists\"),\n },\n blocks: {\n description: t(\"stats.blocks.descriptionn\", \"Total blocks this season.\"),\n label: t(\"stats.blocks.label\", \"Blocks\"),\n },\n steals: {\n description: t(\"stats.steals.descriptionn\", \"Total steals this season.\"),\n label: t(\"stats.steals.label\", \"Steals\"),\n },\n turnovers: {\n description: t(\n \"stats.turnovers.description\",\n \"Total turnovers this season.\"\n ),\n label: t(\"stats.turnovers.label\", \"Turnovers\"),\n },\n form: {\n description: t(\n \"stats.form.descriptionn\",\n \"A player’s average fantasy points per game, calculated from all games played in the last 30 days.\"\n ),\n label: t(\"stats.form.labeln\", \"Fantasy points per game (last 30)\"),\n },\n // dreamteam_count: {\n // description: t(\n // \"stats.dreamteam_count.description\",\n // \"The number of times a player has been selected in a Team of the Week. Players with the most points in a Gameweek in a valid formation earn a place in the Team of the Week.\"\n // ),\n // label: t(\"stats.dreamteam_count.label\", \"Times in Team of the Week\"),\n // },\n value_form: {\n description: t(\n \"stats.value_form.descriptionn\",\n \"A player’s average points per game in the last 30 days divided by the player’s salary.\"\n ),\n label: t(\"stats.value_form.labeln\", \"Value (Avg. PPG last 30)\"),\n },\n value_season: {\n description: t(\n \"stats.value_season.descriptionn\",\n \"Player's total fantasy points divided by player’s salary.\"\n ),\n label: t(\"stats.value_season.labeln\", \"Value (fantasy season)\"),\n },\n points_per_game: {\n description: t(\n \"stats.points_per_game.descriptionn\",\n \"Player's total points divided by player's number of games played.\"\n ),\n label: t(\"stats.points_per_game.labeln\", \"Fantasy points per game\"),\n },\n transfers_in: {\n description: t(\n \"stats.transfers_in.descriptionn\",\n \"Total number of times a player has been signed this season in the transactions tab.\"\n ),\n label: t(\"stats.transfers_in.label\", \"Transactions in\"),\n },\n transfers_out: {\n description: t(\n \"stats.transfers_out.descriptionn\",\n \"Total number of times a player has waived in the Transactions tab.\"\n ),\n label: t(\"stats.transfers_out.label\", \"Transactions out\"),\n },\n transfers_in_event: {\n description: t(\n \"stats.transfers_in_event.description\",\n \"Total number of times a player has been transferred in to a team this Gameweek.\"\n ),\n label: t(\"stats.transfers_in_event.label\", \"Transactions in (Gameweek)\"),\n },\n transfers_out_event: {\n description: t(\n \"stats.transfers_out_event.description\",\n \"Total number of times a player has been transferred out of a team this Gameweek.\"\n ),\n label: t(\"stats.transfers_out_event.label\", \"Transactions out (Gameweek)\"),\n },\n cost_change_start: {\n description: t(\n \"stats.cost_change_start.descriptionn\",\n \"How much a player' salary has increased since the start of the season.\"\n ),\n label: t(\"stats.cost_change_start.labeln\", \"Salary increase\"),\n },\n cost_change_start_fall: {\n description: t(\n \"stats.cost_change_start_fall.descriptionn\",\n \"How much a player' salary has fallen since the start of the season.\"\n ),\n label: t(\"stats.cost_change_start_fall.labeln\", \"Salary drop\"),\n },\n cost_change_event: {\n description: t(\n \"stats.cost_change_event.descriptionn\",\n \"How much a player' salary has increased this Gameweek.\"\n ),\n label: t(\"stats.cost_change_event.labeln\", \"Salary increase (Gameweek)\"),\n },\n cost_change_event_fall: {\n description: t(\n \"stats.cost_change_event_fall.descriptionn\",\n \"How much a player' salary has fallen this Gameweek.\"\n ),\n label: t(\"stats.cost_change_event_fall.labeln\", \"Salary drop (Gameweek)\"),\n },\n});\n\nlet _stats: Record = {};\n\nconst getStats = (t: TFunction) => {\n if (!Object.keys(_stats).length) {\n _stats = allStatsDetails(t);\n }\n return _stats;\n};\n\nexport const getStatDetails = (name: string, t: TFunction) => {\n const stats = getStats(t);\n return stats[name] ? stats[name] : null;\n};\n\nexport const getStatNames = (t: TFunction) => Object.keys(getStats(t));\n","import React from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport { connect, ConnectedProps } from \"react-redux\";\nimport { RootState } from \"../../core/store\";\nimport { getElementStats } from \"../../core/store/element-stats/reducers\";\nimport { getElementControls } from \"../../core/store/elements/reducers\";\nimport { IElement } from \"../../core/store/elements/types\";\nimport { getStatDetails, getStatNames } from \"../../utils/stats\";\nimport { FieldWrap, SelectField } from \"../FieldRenderers\";\n\nconst mapState = (state: RootState) => ({\n controls: getElementControls(state),\n elementStats: getElementStats(state),\n});\n\nconst connector = connect(mapState, {});\n\ntype PropsFromRedux = ConnectedProps;\n\ninterface ISortOption {\n label: string;\n value: keyof IElement;\n}\n\ntype Props = PropsFromRedux &\n WithTranslation & {\n handleSortChange: (e: React.ChangeEvent) => void;\n sortOptions?: ISortOption[];\n };\n\nclass ElementSort extends React.Component {\n public getSortOptions = (): ISortOption[] =>\n getStatNames(this.props.t).map((s) => ({\n label: getStatDetails(s, this.props.t)!.label,\n value: s,\n }));\n\n public render() {\n const {\n controls,\n handleSortChange,\n sortOptions = this.getSortOptions(),\n t,\n } = this.props;\n return (\n \n \n {sortOptions.map((o) => (\n \n {o.label}\n \n ))}\n \n \n );\n }\n}\n\nexport { ElementSort as ElementSortTest };\n\nexport default withTranslation()(connector(ElementSort));\n","import { rgba } from \"polished\";\nimport * as React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\nimport { IElement } from \"../core/store/elements/types\";\nimport { ITeam } from \"../core/store/teams/types\";\nimport { integerToMoney, isMoneyStat } from \"../core/utils/money\";\nimport { integerToDecimal, isDecimalStat } from \"../utils/decimal\";\nimport ElementDialogButton from \"./ElementDialogButton\";\nimport ElementInTable from \"./ElementInTable\";\nimport { ElementCell, ElementRow } from \"./ElementTable\";\n\nconst StyledElementListRow = styled(ElementRow)`\n ${(props) =>\n props.isProposed &&\n css`\n td,\n button {\n color: ${rgba(\"black\", 0.6)};\n }\n\n img {\n opacity: 0.6;\n }\n `}\n > td:last-child {\n word-break: break-all;\n white-space: normal;\n }\n`;\n\nconst ElementListStatCell = styled.td`\n font-family: ${(props) => props.theme.fonts.body};\n font-size: 2rem;\n &&& {\n font-weight: 500;\n }\n`;\n\ninterface IStyledProps {\n isProposed: boolean;\n}\n\ninterface IProps extends IStyledProps {\n currencyDivisor: number;\n element: IElement;\n renderElementDialog: () => void;\n renderElementMenu: () => void;\n sort: React.ReactText;\n team: ITeam;\n}\n\nconst ElementListRow: React.FC = ({\n currencyDivisor,\n element,\n isProposed,\n renderElementMenu,\n sort,\n team,\n}) => (\n \n \n \n \n \n \n \n \n {integerToMoney(element.now_cost, currencyDivisor)}\n \n \n {isMoneyStat(sort)\n ? integerToMoney(element[sort] as number, currencyDivisor)\n : isDecimalStat(sort)\n ? integerToDecimal(element[sort] as number, 10)\n : element[sort]}\n \n \n);\n\nexport default ElementListRow;\n","import groupBy from \"lodash/groupBy\";\nimport range from \"lodash/range\";\nimport * as React from \"react\";\nimport { Trans, withTranslation, WithTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport {\n getElementTypes,\n getElementTypesById,\n} from \"../../core/store/element-types/reducers\";\nimport {\n IElementType,\n IElementTypesById,\n} from \"../../core/store/element-types/types\";\nimport { updateElementControls } from \"../../core/store/elements/actions\";\nimport {\n getElementControls,\n getElementsFromControls,\n} from \"../../core/store/elements/reducers\";\nimport {\n showElementSummary,\n updateElementControlsAndMaxCost,\n updateElementTypeControl,\n} from \"../../core/store/elements/thunks\";\nimport {\n IElement,\n IElementControls,\n IElementDataFromControls,\n} from \"../../core/store/elements/types\";\nimport {\n getProposedElementsById,\n getTypesNeeded,\n} from \"../../core/store/squad/reducers\";\nimport { proposeElement, removeElement } from \"../../core/store/squad/thunks\";\nimport {\n IProposedElementsById,\n ITypesNeeded,\n} from \"../../core/store/squad/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { ITeamsById } from \"../../core/store/teams/types\";\nimport { integerToMoney } from \"../../core/utils/money\";\nimport { createInteractionData } from \"../../utils/tealium\";\nimport Alert from \"../Alert\";\nimport BoldLinkButton from \"../BoldLinkButton\";\nimport Button from \"../Button\";\nimport Dialog, { DialogButtonItem } from \"../Dialog\";\nimport ElementFilter from \"../element-controls/ElementFilter\";\nimport ElementSort from \"../element-controls/ElementSort\";\nimport Paginator from \"../element-controls/Paginator\";\nimport ElementListRow from \"../ElementListRow\";\nimport { ElementTable } from \"../ElementTable\";\nimport { FieldWrap, SearchField, SelectField } from \"../FieldRenderers\";\nimport { ControlArrowStart } from \"../icons/Arrows\";\nimport Tooltip, { TooltipLabel } from \"../Tooltip\";\nimport { BoxWrap, PrimaryGradient } from \"../Utils\";\n\nconst SectionHeader = styled.div`\n ${PrimaryGradient}\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-top-left-radius: ${(props) => props.theme.radii[1]};\n border-top-right-radius: ${(props) => props.theme.radii[1]};\n`;\n\nconst SectionHeading = styled.h3`\n margin: 1.5rem 1rem;\n color: ${(props) => props.theme.colors.white};\n font-family: ${(props) => props.theme.fonts.body};\n font-size: ${(props) => props.theme.fontSizes[2]};\n font-weight: 500;\n line-height: 1;\n`;\n\nconst Form = styled.form`\n padding: ${(props) => `${props.theme.space[3]} ${props.theme.space[2]} 0`};\n`;\n\nconst ElementsShown = styled.p`\n margin: ${({ theme }) => theme.space[2]} 0;\n text-align: center;\n\n strong {\n color: ${({ theme }) => theme.colors.primary};\n }\n`;\n\nconst ElementListElement = styled.th`\n width: 46%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 50%;\n }\n`;\n\nconst ElementListPrice = styled.th`\n width: 22%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 18%;\n }\n`;\n\nconst ElementListStat = styled.th`\n width: 22%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 19%;\n }\n`;\n\nconst ElementTypeButton = styled.span`\n padding: 0;\n border: 0;\n background-color: transparent;\n color: currentColor;\n font-family: ${(props) => props.theme.fonts.body};\n font-size: ${(props) => props.theme.fontSizes[2]};\n font-weight: 500;\n text-transform: uppercase;\n cursor: pointer;\n`;\n\nconst ButtonWrap = styled.div`\n margin-left: ${(props) => props.theme.space[2]};\n margin-right: ${(props) => props.theme.space[2]};\n margin-bottom: ${(props) => props.theme.space[4]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n width: 33%;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n display: none;\n }\n`;\n\nconst PlayerActions = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n width: 50%;\n margin: 0 auto;\n }\n`;\n\ninterface IPropsFromState {\n controls: IElementControls;\n currencyDivisor: number;\n elementTypes: IElementType[];\n elementTypesById: IElementTypesById;\n elements: IElementDataFromControls;\n proposedElementsById: IProposedElementsById;\n teamsById: ITeamsById;\n typesNeeded: ITypesNeeded;\n}\n\ninterface IPropsFromDispatch {\n proposeElement: (elementId: number) => void;\n removeElement: (position: number) => void;\n showElementDialog: (elementId: number) => void;\n showElementType: (elementTypeId: number) => void;\n updateControls: (controls: IElementControls) => void;\n updateControlsAndMaxCost: (controls: IElementControls) => void;\n}\n\ninterface IOwnProps {\n hideRef: React.RefObject;\n hideSidebar: () => void;\n contentTitle: string;\n}\n\ntype Props = IOwnProps & IPropsFromState & IPropsFromDispatch & WithTranslation;\n\ninterface IState {\n page: number;\n elementForMenu: IElement | null;\n}\n\nclass ElementList extends React.Component {\n public state: IState = { elementForMenu: null, page: 1 };\n\n public addElement = (element: IElement) => {\n createInteractionData({\n contentTitle: this.props.contentTitle,\n interactionId: \"nba-fantasy-game:add-player:button\",\n interactionText: `${element.first_name} ${\n element.second_name\n } ${this.props.t(\"elementList.addPlayer\", \"Add player\")},`,\n });\n this.props.proposeElement(element.id);\n this.handleHideMenuForElement();\n };\n\n public removeElement = (position: number) => {\n this.props.removeElement(position);\n this.handleHideMenuForElement();\n };\n\n public handleFilterChange = (e: React.ChangeEvent) => {\n this.setPage(1);\n this.props.updateControlsAndMaxCost({\n ...this.props.controls,\n filter: e.target.value,\n });\n };\n\n public handleSortChange = (e: React.ChangeEvent) => {\n this.setPage(1);\n this.props.updateControls({\n ...this.props.controls,\n sort: e.target.value,\n });\n };\n\n public handleSearchChange = (e: React.ChangeEvent) => {\n this.setPage(1);\n this.props.updateControls({\n ...this.props.controls,\n search: e.target.value,\n });\n };\n\n public handleMaxCostChange = (e: React.ChangeEvent) => {\n this.setPage(1);\n this.props.updateControls({\n ...this.props.controls,\n maxCost: Number(e.target.value),\n });\n };\n\n public handleShowMenuForElement = (element: IElement) =>\n this.setState({ elementForMenu: element });\n\n public handleHideMenuForElement = () => {\n this.setState({ elementForMenu: null });\n };\n\n public showDialog = (element: IElement) => {\n createInteractionData({\n contentTitle: this.props.contentTitle,\n interactionId: \"nba-fantasy-game:view-information:button\",\n interactionText: `${element.first_name} ${\n element.second_name\n } ${this.props.t(\"viewInformation\", \"View information\")}`,\n });\n this.props.showElementDialog(element.id);\n this.handleHideMenuForElement();\n };\n\n public setPage = (page: number) => this.setState({ page });\n\n public componentDidMount() {\n this.props.updateControlsAndMaxCost({\n ...this.props.controls,\n filter: \"all\",\n sort: \"now_cost\",\n search: \"\",\n getUnavailable: false,\n });\n }\n\n public paginateAndGroup(elements: IElement[], pageSize: number) {\n const start = (this.state.page - 1) * pageSize;\n return {\n data: groupBy(elements.slice(start, start + pageSize), \"element_type\"),\n totalPages: Math.ceil(elements.length / pageSize),\n };\n }\n\n public renderMenu() {\n const element = this.state.elementForMenu;\n\n if (!element) {\n return null;\n }\n\n const { t } = this.props;\n const proposedElement = this.props.proposedElementsById[element.id];\n const roomInSquad = this.props.typesNeeded[element.element_type];\n\n let alert = null;\n if (!roomInSquad) {\n alert = (\n \n {t(\n \"elementList.errors.maxElementType\",\n \"You already have the maximum number of {{ position }}\",\n {\n position:\n this.props.elementTypesById[element.element_type].plural_name,\n }\n )}\n \n );\n } else if (proposedElement) {\n alert = (\n \n \n {{ playerName: element.web_name }} is already on\n your roster.\n \n \n );\n }\n\n return (\n \n \n {`${element.first_name} ${element.second_name}`}\n \n {alert && alert}\n\n \n \n \n {proposedElement ? (\n this.removeElement(proposedElement.position)}\n fullwidth=\"true\"\n >\n {t(\"elementList.removePlayer\", \"Remove player\")}\n \n ) : (\n {\n this.addElement(element);\n }}\n fullwidth=\"true\"\n disabled={Boolean(!roomInSquad)}\n >\n {t(\"elementList.addPlayer\", \"Add player\")}\n \n )}\n \n \n this.showDialog(element)}\n fullwidth=\"true\"\n variant=\"secondary\"\n >\n {t(\"viewInformation\", \"View information\")}\n \n \n \n \n \n );\n }\n\n public render() {\n const {\n controls,\n currencyDivisor,\n elements,\n elementTypes,\n hideRef,\n hideSidebar,\n proposedElementsById,\n showElementType,\n teamsById,\n t,\n } = this.props;\n const { data, totalPages } = this.paginateAndGroup(elements.data, 30);\n return (\n \n \n }\n isBack={true}\n label={t(\"back\", \"Back\")}\n onClick={hideSidebar}\n ref={hideRef}\n variant=\"light\"\n />\n \n \n \n \n {t(\"elementList.playerSelection\", \"Player Selection\")}\n \n \n
e.preventDefault()}>\n \n \n \n \n \n \n \n {range(elements.maxCost, elements.minCost - 1, -5).map(\n (cost) => (\n \n {integerToMoney(cost, 10)}\n \n )\n )}\n \n \n \n \n \n {{ length: elements.data.length }} players shown\n \n \n {elementTypes.map(\n (et) =>\n data[et.id] && (\n \n \n \n \n  \n \n showElementType(et.id)}\n >\n {et.plural_name}\n \n \n \n \n $\n \n \n **\n \n \n \n {data[et.id].map((e) => (\n \n this.handleShowMenuForElement(e)\n }\n renderElementDialog={() => this.showDialog(e)}\n team={teamsById[e.team]}\n currencyDivisor={currencyDivisor}\n sort={controls.sort}\n />\n ))}\n \n \n \n )\n )}\n {this.renderMenu()}\n \n
\n
\n );\n }\n}\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n controls: getElementControls(state),\n currencyDivisor: 10,\n elementTypes: [...getElementTypes(state)].reverse(),\n elementTypesById: getElementTypesById(state),\n elements: getElementsFromControls(state),\n proposedElementsById: getProposedElementsById(state),\n teamsById: getTeamsById(state),\n typesNeeded: getTypesNeeded(state),\n});\n\nconst mapDispatchToProps = (\n dispatch: ThunkDispatch,\n ownProps: IOwnProps\n): IPropsFromDispatch => ({\n proposeElement: (elementId) => {\n dispatch(proposeElement(elementId));\n ownProps.hideSidebar();\n },\n removeElement: (position) => dispatch(removeElement(position)),\n showElementDialog: (elementId) => dispatch(showElementSummary(elementId)),\n showElementType: (elementTypeId) =>\n dispatch(updateElementTypeControl(elementTypeId)),\n updateControls: (controls) => dispatch(updateElementControls(controls)),\n updateControlsAndMaxCost: (controls) =>\n dispatch(updateElementControlsAndMaxCost(controls)),\n});\n\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(ElementList)\n);\n","import * as React from \"react\";\nimport styled from \"styled-components/macro\";\nimport Title from \"./Title\";\n\nconst StyledPageHeader = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n`;\ninterface IProps {\n children: React.ReactNode;\n title: React.ReactNode;\n}\n\nconst PageHeader: React.FC = ({ children, title }) => (\n \n {title}\n {children}\n \n);\n\nexport default PageHeader;\n","import React from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { Box } from \"rebass/styled-components\";\nimport styled, { css } from \"styled-components/macro\";\nimport BoldLinkButton from \"../BoldLinkButton\";\nimport Fixtures from \"../Fixtures\";\nimport { ControlArrowEnd } from \"../icons/Arrows\";\nimport { Main, Wrapper } from \"../Layout\";\nimport CreateSquad, { IListTableProps } from \"./CreateSquad\";\nimport ElementList from \"./ElementList\";\nimport { VisuallyHidden } from \"../Utils\";\nimport PageHeader from \"../PageHeader\";\n\nconst PusherWrap = styled.div`\n overflow-x: hidden;\n`;\n\nconst Pusher = styled.div`\n position: relative;\n transition: all 300ms;\n\n ${(props) =>\n props.isSidebarVisible &&\n css`\n transform: translate3d(-100%, 0, 0);\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n transform: none;\n }\n `}\n`;\n\nconst PusherSecondary = styled.div`\n position: absolute;\n top: 0;\n width: 100%;\n height: 100%;\n transform: translate3d(100%, 0, 0);\n overflow-y: auto;\n padding-top: 2rem;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n position: static;\n transform: none;\n width: calc(100% / 3);\n padding-right: 1rem;\n padding-left: 1rem;\n }\n\n /* @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 25%;\n } */\n`;\n\nconst ButtonWrap = styled.div`\n display: inline-flex;\n justify-content: flex-end;\n width: 100%;\n margin-bottom: 20px;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n width: 33%;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n display: none;\n }\n`;\n\ninterface IProps {\n listTable: (listTableProps: IListTableProps) => void;\n scoreboard: string;\n submitDialog: (handleHide: () => void) => React.ReactNode;\n title: React.ReactNode;\n showListTableAsDefault?: boolean;\n contentTitle: string;\n}\n\ninterface IState {\n isSidebarVisible: boolean;\n}\n\ntype Props = IProps & WithTranslation;\n\nclass SquadBase extends React.Component {\n public state: IState = {\n isSidebarVisible: false,\n };\n\n public showRef = React.createRef();\n\n public hideRef = React.createRef();\n\n public handleShowSidebar = () => this.setState({ isSidebarVisible: true });\n\n public handleHideSidebar = () => this.setState({ isSidebarVisible: false });\n\n public handleTransitionEnd = (e: React.TransitionEvent) => {\n // Just handle the Pusher transition\n if (e.target === e.currentTarget) {\n this.state.isSidebarVisible\n ? this.hideRef.current!.focus()\n : this.showRef.current!.focus();\n }\n };\n\n public render() {\n const { t } = this.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\nexport default withTranslation()(SquadBase);\n","export default __webpack_public_path__ + \"static/media/plus-small.44092c6d.svg\";","import { size } from \"polished\";\nimport * as React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect, useSelector } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { getElementTypesBySquadPosition } from \"../../core/store/element-types/reducers\";\nimport { IElementTypesBySquadPosition } from \"../../core/store/element-types/types\";\nimport { updateElementTypeControl } from \"../../core/store/elements/thunks\";\nimport { getNextEvent, getNextNEvents } from \"../../core/store/events/reducers\";\nimport { getFixturesByEvent } from \"../../core/store/fixtures/reducers\";\nimport { getProposedElements } from \"../../core/store/squad/reducers\";\nimport { IProposedElements } from \"../../core/store/squad/types\";\nimport { integerToMoney } from \"../../core/utils/money\";\nimport { ReactComponent as NoFixtureHyphen } from \"../../img/icons/no-fixture-hyphen.svg\";\nimport SmallPlusIcon from \"../../img/icons/plus-small.svg\";\nimport PlayerPlaceholder from \"../../img/player-image-blank.png\";\nimport { integerToDecimal } from \"../../utils/decimal\";\nimport { getPrefixedEventShortName } from \"../../utils/events\";\nimport { getNextElementFixtures } from \"../../utils/fixtures\";\nimport Badge from \"../Badge\";\nimport ElementDialogButton from \"../ElementDialogButton\";\nimport ElementInTable from \"../ElementInTable\";\nimport { ElementCell, ElementRow, ElementTable } from \"../ElementTable\";\nimport { ScrollTable } from \"../Table\";\nimport Tooltip, { TooltipLabel } from \"../Tooltip\";\n\nconst FilterElTypeButton = styled.button`\n padding: 10px 0 9px;\n border: 0;\n background-color: transparent;\n font-size: 1.3rem;\n white-space: normal;\n cursor: pointer;\n\n &:hover {\n text-decoration: underline;\n }\n`;\n\nconst PlaceHolderImageWrap = styled.div`\n display: flex;\n align-items: center;\n gap: ${({ theme }) => theme.space[5]};\n padding-left: ${({ theme }) => theme.space[1]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n padding-left: ${({ theme }) => theme.space[2]};\n }\n`;\n\nconst ImageIconWrap = styled.div`\n display: flex;\n gap: ${({ theme }) => theme.space[2]};\n align-items: center;\n`;\n\nconst StyledElementType = styled.span`\n font-weight: 500;\n text-transform: uppercase;\n`;\n\nconst SquadListElement = styled.th`\n width: 28%;\n font-family: ${(props) => props.theme.fonts.body};\n\n ${StyledElementType} {\n font-size: ${(props) => props.theme.fontSizes[3]};\n }\n`;\n\nconst SquadListStatus = styled.th`\n width: 8%;\n`;\n\nconst SquadListCost = styled.th`\n width: 9%;\n`;\n\nconst SquadListSelected = styled.th`\n width: 9%;\n`;\n\nconst SquadListPoints = styled.th`\n width: 11%;\n`;\n\nconst SquadListFixture = styled.th`\n width: 10%;\n text-align: center;\n`;\n\nconst FixtureCell = styled.td`\n text-align: center;\n`;\n\nconst PlaceholderImagePlus = styled.div`\n background-image: url(${SmallPlusIcon});\n background-size: contain;\n background-repeat: no-repeat;\n ${size(17)}\n margin: 0 ${({ theme }) => theme.space[2]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n background-size: contain;\n ${size(30)}\n margin: 0;\n }\n`;\n\nconst PlaceholderImagePlayer = styled.div`\n flex: 2;\n background-image: url(${PlayerPlaceholder});\n background-repeat: no-repeat;\n ${size(50, 60)}\n`;\n\nconst NoFixture = styled(NoFixtureHyphen)`\n ${size(16)}\n`;\n\ninterface ISquadListRowProps {\n elementTypesByPosition: IElementTypesBySquadPosition | null;\n proposedElements: IProposedElements;\n pos: number;\n renderElementMenu: (position: number) => void;\n showElementType: (elementTypeId: number) => void;\n}\n\nconst SquadListRow: React.FC = ({\n elementTypesByPosition,\n proposedElements,\n pos,\n renderElementMenu,\n showElementType,\n}) => {\n const { t } = useTranslation();\n\n const element = proposedElements[pos];\n const fixturesByEvent = useSelector(getFixturesByEvent);\n const nextEvent = useSelector(getNextEvent);\n const neededFixtures = 5;\n const elementFixtures =\n element &&\n getNextElementFixtures(nextEvent, neededFixtures, fixturesByEvent, element);\n\n if (!elementTypesByPosition) {\n return null;\n }\n\n return (\n \n {element ? (\n <>\n \n \n \n \n renderElementMenu(pos)}\n elementId={element.id}\n />\n \n {integerToMoney(element.now_cost, 10)}\n {element.selected_by_percent}\n {integerToDecimal(element.total_points, 10)}\n\n {elementFixtures.map((fixture) =>\n fixture.code ? (\n \n \n \n ) : (\n \n \n \n )\n )}\n \n ) : (\n <>\n \n \n showElementType(elementTypesByPosition[pos].thisType.id)\n }\n >\n \n \n \n \n {t(\"squad.selectElement\", \"Select {{position}} Player\", {\n position:\n elementTypesByPosition[pos].thisType.singular_name,\n })}\n \n \n \n \n \n )}\n \n );\n};\n\ninterface IPropsFromState {\n elementTypesByPosition: IElementTypesBySquadPosition | null;\n proposedElements: IProposedElements;\n}\n\ninterface IPropsFromDispatch {\n showElementType: (elementTypeId: number) => void;\n}\n\ninterface ISquadListTableProps {\n elementType: number;\n positions: number[];\n renderElementMenu: (pos: number) => void;\n}\n\ntype Props = IPropsFromState & IPropsFromDispatch & ISquadListTableProps;\n\nconst SquadListTable: React.FC = ({\n elementType: elementTypeId,\n elementTypesByPosition,\n positions,\n ...rest\n}) => {\n const { t } = useTranslation();\n\n const next5Events = useSelector(getNextNEvents(5));\n\n if (!elementTypesByPosition) {\n return null;\n }\n return (\n \n \n \n \n  \n \n \n {elementTypesByPosition[positions[0]].thisType.plural_name}\n \n \n \n \n $\n \n \n \n \n \n {t(\"squadListTabel.label.selectedPct\", \"VAL\")}\n \n \n \n \n \n \n {t(\"squadListTabel.label.totalPoints\", \"TP\")}\n \n \n \n\n {next5Events.length\n ? next5Events.map((e) => (\n \n {getPrefixedEventShortName(e.name)}\n \n ))\n : null}\n \n \n \n {positions.map((p) => (\n \n ))}\n \n \n \n );\n};\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n elementTypesByPosition: getElementTypesBySquadPosition(state),\n proposedElements: getProposedElements(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n showElementType: (elementTypeId) =>\n dispatch(updateElementTypeControl(elementTypeId)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(SquadListTable);\n","export default \"data:image/png;base64,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\"","import { useTranslation } from \"react-i18next\";\nimport { useSelector } from \"react-redux\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport Register from \"../player/Register\";\nimport CreateEntryDialog from \"./CreateEntryDialog\";\nimport SquadBase from \"./SquadBase\";\nimport SquadListTable from \"./SquadListTable\";\n\nconst SquadSelection = () => {\n const { t } = useTranslation();\n const player = useSelector(getPlayerData);\n if (!player || player.dirty) {\n return ;\n }\n return (\n }\n scoreboard=\"basic\"\n submitDialog={(handleHide) => (\n \n )}\n title={t(\"squad.titlen\", \"Roster Selection\")}\n />\n );\n};\n\nexport default SquadSelection;\n","import { useTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport {\n cancelProposedChip,\n proposeAvailableChip,\n} from \"../../core/store/chips/actions\";\nimport {\n getActiveChipName,\n getAvailableChipNames,\n getProposedChipName,\n} from \"../../core/store/chips/reducers\";\nimport { getElementsById } from \"../../core/store/elements/reducers\";\nimport { IElementsById } from \"../../core/store/elements/types\";\nimport { getNextEvent } from \"../../core/store/events/reducers\";\nimport { IEvent } from \"../../core/store/events/types\";\nimport { ITransferState } from \"../../core/store/my-team/types\";\nimport {\n getFreeTransfers,\n getProposedTransfers,\n getTransferCosts,\n getTransferState,\n} from \"../../core/store/squad/reducers\";\nimport { makeTransfers } from \"../../core/store/squad/thunks\";\nimport { ITransfersData } from \"../../core/store/squad/types\";\nimport { formatRawAsLocal } from \"../../core/utils/datetime\";\nimport { integerToDecimal } from \"../../utils/decimal\";\nimport { createInteractionData } from \"../../utils/tealium\";\nimport Alert, { AlertGroup, AlertItem } from \"../Alert\";\nimport Button from \"../Button\";\nimport Dialog, { DialogButtonItem } from \"../Dialog\";\nimport Table from \"../Table\";\n\ninterface IOwnProps {\n handleHide: () => void;\n}\n\ninterface IPropsFromState {\n activeChip: string;\n elementsById: IElementsById;\n freeTransfers: number;\n nextEvent: IEvent | null;\n proposedChip: string;\n transferCosts: number;\n transfers: ITransfersData[];\n transferState: ITransferState | null;\n wildcardAvailable: boolean;\n}\n\ninterface IPropsFromDispatch {\n makeTransfers: () => void;\n cancelChip: (chip: string) => void;\n proposeChip: (chip: string) => void;\n}\n\ntype Props = IOwnProps & IPropsFromState & IPropsFromDispatch;\n\nconst ConfirmTransfersDialog = ({\n freeTransfers,\n handleHide,\n elementsById,\n makeTransfers,\n nextEvent,\n proposedChip,\n transferCosts,\n transfers,\n transferState,\n wildcardAvailable,\n cancelChip,\n proposeChip,\n}: Props) => {\n const { t } = useTranslation();\n\n const handleMakeTransfers = () => {\n createInteractionData({\n contentTitle: \"transactions\",\n interactionId: \"nba-fantasy-game:roster-transaction:button\",\n interactionText: t(\n \"confirmTransfers.confirmTransfers\",\n \"Confirm Transactions\"\n ),\n });\n makeTransfers();\n };\n\n if (!nextEvent || !transferState) {\n return null;\n }\n return (\n \n \n {t(\"confirmTransfers.heading\", \"Confirm Transactions\")}\n \n \n \n \n \n \n \n \n \n \n \n \n {transfers.map((t, index) => (\n \n \n \n \n \n ))}\n \n \n \n \n \n
{t(\"confirmTransfers.out\", \"Out\")}{t(\"confirmTransfers.in\", \"In\")}{t(\"confirmTransfers.cost\", \"Cost\")}
{elementsById[t.element_out].web_name}{elementsById[t.element_in].web_name}\n {transferCosts && index >= freeTransfers\n ? integerToDecimal(transferState.cost, 10)\n : 0}{\" \"}\n pts\n
\n {t(\"confirmTransfers.totalCost\", \"Total cost\")}{integerToDecimal(transferCosts, 10)} pts
\n
\n \n {transferCosts > 0 ? (\n \n \n \n {t(\n \"confirmTransfers.transferAlert\",\n \"These transactions will be active for {{nextEvent.name}} ({{time}}) and will deduct {{costs}}pts from your score!\",\n {\n name: nextEvent.name,\n time: formatRawAsLocal(nextEvent.deadline_time),\n costs: integerToDecimal(transferCosts, 10),\n }\n )}\n \n \n {wildcardAvailable && proposedChip !== \"rich\" && (\n \n \n {t(\n \"confirmTransfers.playYourWildcard\",\n \"Play your wildcard to make unlimited free transactions this Gameday.\"\n )}\n \n proposeChip(\"wildcard\")}\n fullwidth=\"true\"\n >\n {t(\"confirmTransfers.playWildcardButton\", \"Play Wildcard\")}\n \n \n )}\n \n ) : (\n \n \n \n {t(\n \"confirmTransfers.theseTransfersWill\",\n \"These transactions will be active for {{nextEvent.name}} ({{time}})\",\n {\n name: nextEvent.name,\n time: formatRawAsLocal(nextEvent.deadline_time),\n }\n )}\n \n \n {proposedChip === \"wildcard\" && (\n \n \n \n {t(\n \"confirmTransfers.youAreProposingWildcard\",\n \"You are proposing to play your wildcard!\"\n )}\n \n \n \n {t(\n \"confirmTransfers.cancelYourWildcard\",\n \"Cancel your wildcard if you would prefer to spend points on these transactions.\"\n )}\n \n cancelChip(\"wildcard\")}\n fullwidth=\"true\"\n >\n {t(\"confirmTransfers.cancelWildcard\", \"Cancel Wildcard\")}\n \n \n )}\n {proposedChip === \"rich\" && (\n \n \n \n {t(\n \"confirmTransfers.proposingallStar\",\n \"You are proposing to play your All-Star chip! This allows you to make unlimited free transactions with an unlimited budget for a single GameDay. At the next deadline, your squad is returned to how it was at the start of the GameDay.\"\n )}\n \n \n \n {t(\n \"confirmTransfers.cancelYourallStar\",\n \"Cancel All-Star chip if you would prefer not to do this.\"\n )}\n \n {\n cancelChip(\"rich\");\n return handleHide();\n }}\n fullwidth=\"true\"\n >\n {t(\"confirmTransfers.cancelallStar\", `Cancel All-Star`)}\n \n \n )}\n \n )}\n \n
\n \n \n \n \n \n {t(\"confirmTransfers.changeTransfers\", \"Change Transactions\")}\n \n \n
\n
\n
\n
\n
\n );\n};\n\nexport { ConfirmTransfersDialog as ConfirmTransfersDialogTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => {\n const availableChips = getAvailableChipNames(state);\n return {\n activeChip: getActiveChipName(state),\n elementsById: getElementsById(state),\n freeTransfers: getFreeTransfers(state),\n nextEvent: getNextEvent(state),\n proposedChip: getProposedChipName(state),\n transferCosts: getTransferCosts(state),\n transferState: getTransferState(state),\n transfers: getProposedTransfers(state),\n wildcardAvailable: availableChips.indexOf(\"wildcard\") > -1,\n };\n};\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n makeTransfers: () => dispatch(makeTransfers()),\n cancelChip: (chip: string) => dispatch(cancelProposedChip(chip)),\n proposeChip: (chip: string) => dispatch(proposeAvailableChip(chip)),\n});\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(ConfirmTransfersDialog);\n","import { RouteComponentProps } from \"@reach/router\";\nimport React from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { fetchMyTeam } from \"../../core/store/my-team/thunks\";\nimport { ITransferState } from \"../../core/store/my-team/types\";\nimport { getTransferState } from \"../../core/store/squad/reducers\";\nimport { createPageViewData } from \"../../utils/tealium\";\nimport ConfirmTransfersDialog from \"./ConfirmTransfersDialog\";\nimport SquadBase from \"./SquadBase\";\nimport TransfersListTable from \"./TransfersListTable\";\n\ninterface IPropsFromState {\n transfersState: ITransferState | null;\n}\n\ninterface IPropsFromDispatch {\n fetchMyTeam: () => void;\n}\n\ntype Props = RouteComponentProps &\n IPropsFromState &\n IPropsFromDispatch &\n WithTranslation;\n\nclass Transfers extends React.Component {\n public componentDidMount() {\n this.props.fetchMyTeam();\n createPageViewData(\"transactions\");\n }\n\n public render() {\n // Don't render until we know what transfers staate we need to render ...\n if (!this.props.transfersState) {\n return null;\n }\n const scoreboard =\n this.props.transfersState.status === \"cost\" ? \"cost\" : \"basic\";\n const { t } = this.props;\n return (\n (\n \n )}\n scoreboard={scoreboard}\n submitDialog={(handleHide) => (\n \n )}\n title={t(\"transfers.title\", \"Transactions\")}\n />\n );\n }\n}\n\nexport { Transfers as TransfersTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n transfersState: getTransferState(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n fetchMyTeam: () => dispatch(fetchMyTeam()),\n});\n\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(Transfers)\n);\n","import { RouteComponentProps } from \"@reach/router\";\nimport React from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled, { css } from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { updateElementControls } from \"../../core/store/elements/actions\";\nimport {\n getElementControls,\n getElementsFromControls,\n} from \"../../core/store/elements/reducers\";\nimport {\n showElementSummary,\n updateElementControlsAndMaxCost,\n} from \"../../core/store/elements/thunks\";\nimport {\n IElement,\n IElementControls,\n IElementDataFromControls,\n} from \"../../core/store/elements/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { ITeamsById } from \"../../core/store/teams/types\";\nimport { integerToMoney } from \"../../core/utils/money\";\nimport i18n from \"../../i18n\";\nimport { integerToDecimal, isDecimalStat } from \"../../utils/decimal\";\nimport { getStatDetails } from \"../../utils/stats\";\nimport { createPageViewData } from \"../../utils/tealium\";\nimport Alert from \"../Alert\";\nimport ElementFilter from \"../element-controls/ElementFilter\";\nimport ElementSort from \"../element-controls/ElementSort\";\nimport Paginator, { paginate } from \"../element-controls/Paginator\";\nimport ElementDialogButton from \"../ElementDialogButton\";\nimport { ElementRow, ElementTable } from \"../ElementTable\";\nimport { FieldCol, FieldCols } from \"../FieldRenderers\";\nimport { Main, Wrapper } from \"../Layout\";\nimport Media from \"../Media\";\nimport Shirt from \"../Shirt\";\nimport { ScrollTable } from \"../Table\";\nimport Tooltip, { TooltipLabel } from \"../Tooltip\";\nimport { Ellipsis, VisuallyHidden } from \"../Utils\";\n\nconst StatsStatus = styled.th`\n width: 10%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 7%;\n }\n`;\n\nconst StatsElement = styled.th`\n width: 40%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 38%;\n }\n`;\n\nconst StatsCost = styled.th`\n width: 10%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 11%;\n }\n`;\n\nconst StatsSel = styled.th`\n width: 10%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 11%;\n }\n`;\n\nconst StatsForm = styled.th`\n width: 10%;\n white-space: normal;\n overflow-wrap: break-word;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 11%;\n }\n`;\n\nconst StatsPts = styled.th`\n width: 10%;\n white-space: normal;\n overflow-wrap: break-word;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 11%;\n }\n`;\n\nconst StatsExtra = styled.th`\n width: 10%;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n width: 11%;\n }\n`;\n\nconst ElementNameButton = styled.button`\n width: 100%;\n padding: 0;\n border: 0;\n background-color: transparent;\n color: inherit;\n font-weight: bold;\n text-align: left;\n cursor: pointer;\n`;\n\nconst Name = styled.div`\n color: ${({ theme }) => theme.colors.primary};\n\n :hover {\n text-decoration: underline;\n }\n`;\n\nconst Team = styled.div`\n margin-inline-end: ${({ theme }) => theme.space[2]};\n font-size: ${({ theme }) => theme.fontSizes[1]};\n ${i18n.language === \"tr\" &&\n css`\n text-transform: lowercase;\n &::first-letter {\n text-transform: capitalize;\n }\n `}\n`;\n\ninterface IState {\n page: number;\n}\n\ntype OwnProps = RouteComponentProps<{ statName?: string }>;\n\ninterface IPropsFromState {\n currencyDivisor: number;\n elements: IElementDataFromControls;\n controls: IElementControls;\n teamsById: ITeamsById;\n}\n\ninterface IPropsFromDispatch {\n showElementDialog: (elementId: number) => void;\n updateControls: (controls: IElementControls) => void;\n updateControlsAndMaxCost: (controls: IElementControls) => void;\n}\n\ntype Props = OwnProps & WithTranslation & IPropsFromState & IPropsFromDispatch;\n\nclass Statistics extends React.Component {\n public state: IState = { page: 1 };\n\n public handleFilterChange = (e: React.ChangeEvent) => {\n this.setPage(1);\n this.props.updateControls({\n ...this.props.controls,\n filter: e.target.value,\n });\n };\n\n public handleSortChange = (e: React.ChangeEvent) => {\n this.setPage(1);\n this.props.updateControls({\n ...this.props.controls,\n sort: e.target.value,\n });\n };\n\n public setPage = (page: number) => this.setState({ page });\n\n public defaultStats: Array = [\n \"now_cost\",\n \"selected_by_percent\",\n \"form\",\n \"total_points\",\n ];\n\n public componentDidMount() {\n this.props.updateControlsAndMaxCost({\n ...this.props.controls,\n filter: \"all\",\n sort: this.props.statName || \"total_points\",\n search: \"\",\n });\n createPageViewData(\"statistics\");\n }\n\n public render() {\n const {\n controls,\n currencyDivisor,\n elements,\n showElementDialog,\n teamsById,\n t,\n } = this.props;\n const { page } = this.state;\n const { data, totalPages } = paginate(elements.data, page, 30);\n const extraStat =\n this.defaultStats.indexOf(controls.sort) === -1 ? controls.sort : \"\";\n const statDetail = getStatDetails(String(controls.sort), this.props.t);\n\n return (\n \n
\n \n

{t(\"statistics.title\", \"Statistics\")}

\n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n {statDetail ? statDetail.description : \"\"}\n \n \n \n \n \n \n  \n \n {t(\"statistics.player\", \"Player\")}\n \n $\n \n \n \n {t(\"statistics.selectedByShort\", \"Sel.\")}\n \n \n \n {t(\"statistics.form\", \"Form\")}\n \n \n \n {t(\"statistics.totalPointsShort\", \"TP.\")}\n \n \n \n {extraStat ? ** : null}\n \n \n \n {data.map((e) => (\n \n \n \n \n \n showElementDialog(e.id)}\n >\n }\n centred={true}\n >\n \n \n {e.first_name} {e.second_name}\n \n \n {teamsById[e.team].short_name}\n \n \n \n {integerToMoney(e.now_cost, currencyDivisor)}\n {e.selected_by_percent}%\n {integerToDecimal(Number(e.form), 10)}\n {integerToDecimal(e.total_points, 10)}\n {extraStat ? (\n \n {isDecimalStat(extraStat)\n ? integerToDecimal(e[extraStat] as number, 10)\n : e[extraStat]}\n \n ) : null}\n \n ))}\n \n \n \n \n
\n
\n );\n }\n}\n\nexport { Statistics as StatisticsTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n controls: getElementControls(state),\n currencyDivisor: 10,\n elements: getElementsFromControls(state),\n teamsById: getTeamsById(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n showElementDialog: (elementId) => dispatch(showElementSummary(elementId)),\n updateControls: (controls) => dispatch(updateElementControls(controls)),\n updateControlsAndMaxCost: (controls) =>\n dispatch(updateElementControlsAndMaxCost(controls)),\n});\n\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(Statistics)\n);\n","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSub(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 48,\n height: 13,\n viewBox: \"0 0 48 13\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 48,\n height: 13,\n fill: \"#B6B6B6\",\n rx: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#0CA10F\",\n d: \"M3,1 L24,1 L24,1 L24,12 L3,12 C1.8954305,12 1,11.1045695 1,10 L1,3 C1,1.8954305 1.8954305,1 3,1 Z\"\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n stroke: \"#E3E3E3\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n points: \"10 5 13 8 16 5\",\n transform: \"rotate(-180 13 6.5)\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(24 1)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#C8102E\",\n d: \"M0,0 L21,0 C22.1045695,-2.02906125e-16 23,0.8954305 23,2 L23,9 C23,10.1045695 22.1045695,11 21,11 L0,11 L0,11 L0,0 Z\"\n }), /*#__PURE__*/React.createElement(\"polyline\", {\n stroke: \"#E3E3E3\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: 2,\n points: \"9 4 12 7 15 4\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSub);\nexport default __webpack_public_path__ + \"static/media/sub.ea5b4877.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCaptain(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 15,\n height: 15,\n viewBox: \"0 0 15 15\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 7.5,\n cy: 7.5,\n r: 7,\n fill: \"#000\",\n stroke: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"text\", {\n fill: \"#FFF\",\n fontFamily: \"Helvetica-Bold, Helvetica\",\n fontSize: 10,\n fontWeight: \"bold\"\n }, /*#__PURE__*/React.createElement(\"tspan\", {\n x: 7.3,\n y: 11,\n textAnchor: \"middle\"\n }, \"C\")))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCaptain);\nexport default __webpack_public_path__ + \"static/media/captain.90205757.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgGovLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 188,\n height: 100,\n viewBox: \"0 0 188 100\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 188,\n height: 99.3026,\n fill: \"white\"\n })), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask0_2075_20080\",\n style: {\n maskType: \"luminance\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 11,\n y: 8,\n width: 166,\n height: 84\n }, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M176.941 8.27539H11.0586V91.0275H176.941V8.27539Z\",\n fill: \"white\"\n }))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask0_2075_20080)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.5988 45.5007V43.2368H18.1481V40.7217H24.3593V46.5069C23.1045 48.2047 20.9714 49.2736 18.4618 49.2736C14.0701 49.2736 11.0586 46.0038 11.0586 42.1051C11.0586 38.2063 14.0073 34.9365 18.2736 34.9365C20.7204 34.9365 22.7281 36.0686 23.9828 37.7035L21.787 39.4013C21.0341 38.2692 19.7793 37.5148 18.2736 37.5148C15.7013 37.5148 13.8819 39.5271 13.8819 42.1051C13.8819 44.6833 15.8268 46.6953 18.4618 46.6953C19.7166 46.6953 20.8459 46.2554 21.5988 45.5007Z\",\n fill: \"#100C08\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.7345 42.1051C40.7345 46.0038 37.7857 49.2736 33.5822 49.2736C29.3788 49.2736 26.3672 46.0038 26.3672 42.1051C26.3672 38.2063 29.316 34.9365 33.5822 34.9365C37.8484 34.9365 40.7345 38.2063 40.7345 42.1051ZM37.9112 42.1051C37.9112 39.5271 36.0917 37.5148 33.5822 37.5148C31.0727 37.5148 29.1905 39.5271 29.1905 42.1051C29.1905 44.6833 31.0099 46.6953 33.5822 46.6953C36.1545 46.6953 37.9112 44.6833 37.9112 42.1051Z\",\n fill: \"#100C08\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.401 35.3135H54.1616V43.5512C54.1616 47.1354 52.0911 49.2732 48.6405 49.2732C45.1899 49.2732 43.1821 47.1354 43.1821 43.5512V35.3135H45.9427V43.8027C45.9427 45.626 46.9466 46.6952 48.7032 46.6952C50.4599 46.6952 51.401 45.626 51.401 43.8027V35.3135Z\",\n fill: \"#100C08\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.7415 35.3135L62.7567 45.9405L66.7722 35.3135H69.721L64.5762 48.8961H61L55.8555 35.3135H58.8043H58.7415Z\",\n fill: \"#100C08\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.7905 35.3148H79.6956V37.6413H74.5511V40.7856H78.9428V43.112H74.5511V46.5076H79.6956V48.8343H71.7905V35.252V35.3148Z\",\n fill: \"#100C08\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M82.833 35.3135H86.974C89.9225 35.3135 91.8048 36.8229 91.8048 39.338C91.8048 40.9729 90.9892 42.1676 89.609 42.8594L93.8752 48.8961H90.6129L87.0367 43.4254H85.5936V48.8961H82.833V35.3135ZM85.5936 37.6402V41.0358H87.162C88.2914 41.0358 88.9814 40.4071 88.9814 39.338C88.9814 38.332 88.2914 37.6402 87.162 37.6402H85.5936Z\",\n fill: \"#100C08\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M95.5688 35.3135H99.0822L105.105 44.9974V35.3135H107.866V48.8961H104.352L98.3294 39.1493V48.8961H95.5688V35.3135Z\",\n fill: \"#100C08\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M111.692 35.3148H119.598V37.6413H114.453V40.7856H118.845V43.112H114.453V46.5076H119.598V48.8343H111.692V35.252V35.3148Z\",\n fill: \"#100C08\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M122.798 35.3135H126.249L129.511 40.91L132.773 35.3135H136.224V48.8961H133.464V39.2122L130.452 44.2427H128.507L125.496 39.2122V48.8961H122.735V35.3135H122.798Z\",\n fill: \"#100C08\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M140.049 35.3148H147.955V37.6413H142.81V40.7856H147.202V43.112H142.81V46.5076H147.955V48.8343H140.049V35.252V35.3148Z\",\n fill: \"#100C08\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M151.092 35.3135H154.606L160.629 44.9974V35.3135H163.389V48.8961H159.876L153.853 39.1493V48.8961H151.092V35.3135Z\",\n fill: \"#100C08\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M165.837 35.3135H176.942V37.8289H172.738V48.8961H169.978V37.8289H165.774V35.3135H165.837Z\",\n fill: \"#100C08\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56.2946 86.3106C56.6711 86.3106 56.9846 86.5622 56.7966 87.3166L55.1027 87.694C55.4162 86.8767 55.9183 86.3106 56.2946 86.3106ZM57.2357 89.0773H56.9219C56.4828 89.5804 56.0435 89.9578 55.6045 89.9578C55.1652 89.9578 54.9144 89.7062 54.9144 89.0773C54.9144 88.8257 54.9144 88.5745 54.9772 88.3229L57.7377 87.4424C58.3023 86.1849 57.6122 85.6188 56.8594 85.6188C55.5417 85.6188 54.0988 87.8198 54.0988 89.7062C54.0988 90.5864 54.4751 91.0267 55.1652 91.0267C55.9183 91.0267 56.6711 90.2723 57.2984 89.0773M56.6711 85.116L58.6161 83.2924V83.1037H57.5495L56.3573 85.116H56.6711ZM50.711 86.3735H51.6518L50.2089 90.3351C50.0834 90.6493 50.2089 91.0267 50.5854 91.0267C51.401 91.0267 52.7184 90.2094 53.2205 89.0773H52.9695C52.5929 89.4547 51.9028 89.9578 51.2755 90.0836L52.5929 86.3735H53.9733L54.1616 85.8075H52.8439L53.346 84.3613H52.8439L51.9028 85.8075L50.7734 85.9962V86.3735H50.711ZM49.5188 86.1849C49.6443 85.8075 49.3933 85.6188 49.205 85.6188C48.3894 85.6188 47.4483 86.3106 47.0721 87.3166H47.3228C47.5739 86.9393 48.0132 86.5622 48.4522 86.4993L46.9465 90.4607C46.821 90.838 47.0721 91.0267 47.2601 91.0267C48.0132 91.0267 48.8915 90.2723 49.2678 89.3289H49.0168C48.766 89.7062 48.3267 90.0836 47.8876 90.1465L49.5188 86.1849ZM49.7699 84.1726C50.1461 84.1726 50.3972 83.8581 50.3972 83.5437C50.3972 83.2295 50.0834 82.915 49.7699 82.915C49.4561 82.915 49.1423 83.2295 49.1423 83.5437C49.1423 83.8581 49.4561 84.1726 49.7699 84.1726ZM41.0489 90.2723C40.8609 90.7122 41.0489 91.0267 41.4882 91.0267C41.7392 91.0267 41.8647 90.9638 41.99 90.6493L43.0566 87.8827C43.5587 87.3166 44.5623 86.6251 44.9388 86.6251C45.2526 86.6251 45.1898 86.8767 44.9388 87.1908L43.3076 90.3351C43.3076 90.3351 43.3076 91.0267 43.6839 91.0267C44.4998 91.0267 45.4406 90.3352 45.8172 89.3289H45.5661C45.3154 89.7062 44.8761 90.0836 44.437 90.1465L45.8172 87.3166C46.0054 86.9393 46.0682 86.6251 46.0682 86.3735C46.0682 85.9333 45.8172 85.6188 45.3154 85.6188C44.625 85.6188 43.9349 86.3735 43.1194 87.3795V86.6251C43.1194 86.122 42.9311 85.6188 42.492 85.6188C42.1783 85.6188 41.9272 85.8704 41.6137 86.2477V86.3735C42.1155 86.3735 42.3665 87.128 41.99 87.9455L40.9236 90.3351L41.0489 90.2723ZM40.9864 86.8138C41.1744 86.1849 41.0489 85.6188 40.6098 85.6188C40.0453 85.6188 39.857 86.0591 39.2922 87.3795V86.6251C39.2922 86.122 39.1042 85.6188 38.6649 85.6188C38.1003 85.6188 37.5982 86.4993 37.222 87.3166H37.473C37.7238 86.9393 37.9748 86.688 38.1631 86.688C38.4138 86.688 38.5393 87.0651 38.1631 87.8827L37.0964 90.2723C36.9082 90.7122 37.0964 91.0267 37.5355 91.0267C37.7865 91.0267 37.912 90.9638 38.0376 90.6493L39.1042 87.8827C39.4177 87.5053 39.6687 87.1908 39.9825 86.8138H40.9864ZM34.9004 86.3106C35.277 86.3106 35.5908 86.5622 35.4025 87.3166L33.7086 87.694C34.0221 86.8767 34.5242 86.3106 34.9004 86.3106ZM35.8415 89.0773H35.528C35.0887 89.5804 34.6497 89.9578 34.2104 89.9578C33.7713 89.9578 33.5203 89.7062 33.5203 89.0773C33.5203 88.8257 33.5203 88.5745 33.5831 88.3229L36.3436 87.4424C36.9082 86.1849 36.2181 85.6188 35.4653 85.6188C34.1476 85.6188 32.7047 87.8198 32.7047 89.7062C32.7047 90.5864 33.081 91.0267 33.7713 91.0267C34.5242 91.0267 35.277 90.2723 35.9043 89.0773M29.3796 86.3735H30.3207L28.8775 90.3351C28.752 90.6493 28.8775 91.0267 29.2541 91.0267C30.0697 91.0267 31.3871 90.2094 31.8891 89.0773H31.6381C31.2618 89.4547 30.5715 89.9578 29.9442 90.0836L31.2618 86.3735H32.642L32.8302 85.8075H31.5126L32.0146 84.3613H31.5126L30.5715 85.8075L29.4424 85.9962V86.3735H29.3796ZM24.3604 89.4547C24.3604 88.26 25.7406 86.5622 26.4935 86.5622C26.6817 86.5622 26.8072 86.5622 26.9327 86.5622L26.1171 88.7C25.6779 89.266 24.925 89.9578 24.6113 89.9578C24.4231 89.9578 24.2976 89.7691 24.2976 89.4547M28.564 85.3673H28.1247L27.6857 85.8075H27.5601C25.3015 85.8075 23.3565 88.3858 23.3565 90.2094C23.3565 90.7122 23.6702 91.0267 24.1722 91.0267C24.7368 91.0267 25.3642 90.2094 25.9916 89.266V89.5804C25.8661 90.5235 26.1798 90.9638 26.619 90.9638C27.1837 90.9638 27.6857 90.0836 28.0619 89.266H27.8109C27.5601 89.6433 27.3091 89.8949 27.1209 89.8949C26.9327 89.8949 26.7445 89.5176 27.1209 88.7L28.564 85.3673ZM23.733 86.8138C23.9212 86.1849 23.7957 85.6188 23.3565 85.6188C22.7919 85.6188 22.6037 86.0591 22.039 87.3795V86.6251C22.039 86.122 21.8508 85.6188 21.4116 85.6188C20.847 85.6188 20.3451 86.4993 19.9686 87.3166H20.2196C20.4706 86.9393 20.7215 86.688 20.9097 86.688C21.1607 86.688 21.2861 87.0651 20.9097 87.8827L19.8432 90.2723C19.6549 90.7122 19.8432 91.0267 20.2823 91.0267C20.5333 91.0267 20.6588 90.9638 20.7842 90.6493L21.8508 87.8827C22.1645 87.5053 22.4155 87.1908 22.7292 86.8138H23.733ZM16.1416 90.838L16.267 90.5236C14.9495 90.2723 14.7613 90.2723 15.3259 88.8258L15.8906 87.3166H17.3336C17.961 87.3166 18.0237 87.5682 17.8982 88.3229H18.2747L19.153 85.9333H18.7766C18.4629 86.4993 18.2119 86.9393 17.4591 86.9393H16.0161L16.7689 84.8644C17.0199 84.1726 17.1454 84.0468 18.0237 84.0468H18.6511C19.5922 84.0468 19.6549 84.2984 19.6549 85.2415H20.0314L20.3451 83.6066H14.8868L14.7613 83.921C15.8278 84.1097 15.9533 84.2355 15.4514 85.6188L14.2594 88.8886C13.7575 90.2723 13.5692 90.3351 12.3145 90.5864V90.9009H16.1416V90.838Z\",\n fill: \"#100C08\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.9943 73.9235C43.3705 73.9235 43.6843 74.175 43.4961 74.9297L41.8021 75.3068C42.1159 74.4895 42.6177 73.9235 42.9943 73.9235ZM43.9351 76.6904H43.6216C43.1823 77.1933 42.7432 77.5706 42.3039 77.5706C41.8649 77.5706 41.6138 77.3191 41.6138 76.6904C41.6138 76.4389 41.6138 76.1873 41.6766 75.9357L44.4372 75.0555C45.0017 73.7977 44.3116 73.2319 43.5588 73.2319C42.2412 73.2319 40.7983 75.4326 40.7983 77.3191C40.7983 78.1995 41.1748 78.6395 41.8649 78.6395C42.6177 78.6395 43.3705 77.8851 43.9979 76.6904M43.3705 72.6659L45.3155 70.8423V70.6537H44.2489L43.0567 72.6659H43.3705ZM37.4732 73.9235H38.4143L36.9711 77.8851C36.8458 78.1995 36.9711 78.5766 37.3476 78.5766C38.1632 78.5766 39.4809 77.7593 39.9827 76.6275H39.7316C39.3554 77.0046 38.665 77.5077 38.0377 77.6335L39.3554 73.9235H40.7355L40.9238 73.3577H39.6061L40.1082 71.9112H39.6061L38.665 73.3577L37.5359 73.5461V73.9235H37.4732ZM36.2182 73.7348C36.3438 73.3574 36.0927 73.169 35.9047 73.169C35.0891 73.169 34.148 73.8606 33.7715 74.8668H34.0225C34.2733 74.4895 34.7126 74.1121 35.1516 74.0492L33.646 78.0109C33.5204 78.3882 33.7715 78.5766 33.9598 78.5766C34.7126 78.5766 35.5909 77.8222 35.9675 76.8788H35.7165C35.4654 77.2562 35.0264 77.6335 34.5871 77.6964L36.2182 73.7348ZM36.4693 71.7854C36.8458 71.7854 37.0966 71.4712 37.0966 71.1568C37.0966 70.8423 36.7831 70.5279 36.4693 70.5279C36.1555 70.5279 35.842 70.8423 35.842 71.1568C35.842 71.4712 36.1555 71.7854 36.4693 71.7854ZM31.1992 77.6964L33.9598 70.4021V70.2763L32.1403 70.465V70.6537L32.4541 70.9052C32.4541 70.9052 32.6421 71.3455 32.3913 72.0999L30.2581 77.8222C30.2581 77.8222 30.2581 78.514 30.6346 78.514C31.4502 78.514 32.2658 77.8222 32.6421 76.8159H32.3913C32.1403 77.1933 31.5758 77.5706 31.1992 77.6335M25.9291 77.0046C25.9291 75.8099 27.3093 74.1121 28.0621 74.1121C28.2504 74.1121 28.3759 74.1121 28.5014 74.1121L27.6858 76.2502C27.2466 76.8159 26.4938 77.5077 26.18 77.5077C25.9918 77.5077 25.8664 77.3191 25.8664 77.0046M30.1326 72.9175H29.6935L29.2542 73.3577H29.1287C26.8702 73.3577 24.9253 75.9357 24.9253 77.7593C24.9253 78.2624 25.239 78.5766 25.7409 78.5766C26.3055 78.5766 26.9329 77.7593 27.5603 76.8159V77.1304C27.4348 78.0738 27.7486 78.514 28.1876 78.514C28.7524 78.514 29.2542 77.6335 29.6308 76.8159H29.3797C29.1287 77.1933 28.878 77.4448 28.6897 77.4448C28.5014 77.4448 28.3131 77.0675 28.6897 76.2502L30.1326 72.9175ZM20.0316 79.52C20.0316 79.0169 20.5335 78.6395 21.2864 78.3882C21.5374 78.5137 21.851 78.6395 22.353 78.7653C23.1058 79.0169 23.4195 79.1426 23.4195 79.3313C23.4195 79.8344 22.6039 80.2118 21.4746 80.2118C20.5335 80.2118 20.0943 80.0231 20.0943 79.52M22.102 76.3131C21.7883 76.3131 21.6628 76.0615 21.6628 75.7471C21.6628 74.8668 22.1648 73.5461 22.8549 73.5461C23.1686 73.5461 23.294 73.7977 23.294 74.1121C23.294 74.9926 22.7921 76.3131 22.102 76.3131ZM24.2351 79.0798C24.2351 78.4511 23.6705 78.1995 22.7294 77.948C21.9138 77.6964 21.6001 77.6335 21.6001 77.382C21.6001 77.1933 21.7883 76.9417 22.102 76.7533C23.4195 76.6904 24.2351 75.4955 24.2351 74.5524C24.2351 74.3637 24.2351 74.175 24.1097 73.9864H25.239L25.4272 73.4203H23.6705C23.6705 73.4203 23.2313 73.2319 22.9803 73.2319C21.6001 73.2319 20.7217 74.4266 20.7217 75.4326C20.7217 76.1873 21.2236 76.6275 21.7883 76.7533C21.1609 77.0675 20.7845 77.382 20.7845 77.7593C20.7845 78.0109 20.8472 78.1367 21.0355 78.3253C19.5297 78.7653 18.965 79.2684 18.965 79.9602C18.965 80.6518 19.8434 80.9662 20.91 80.9662C22.7294 80.9662 24.2351 79.9602 24.2351 79.1426M17.2711 74.804C17.8985 74.804 17.9612 75.0555 17.8357 75.8099H18.2122L19.0905 73.4203H18.7141C18.4004 73.9864 18.1494 74.4266 17.3966 74.4266H15.9536L16.7064 72.4143C16.9574 71.7225 17.0829 71.597 17.9612 71.597H18.5886C19.5297 71.597 19.5924 71.8483 19.5924 72.7917H19.9689L20.2826 71.1568H14.8243L14.6988 71.4712C15.7653 71.6596 15.8908 71.7854 15.3889 73.169L14.1969 76.4389C13.695 77.8222 13.5067 77.8851 12.252 78.1367V78.4511H18.2749L19.3415 76.6904H18.9023C18.2122 77.3191 17.3338 77.948 16.1418 77.948C14.5106 77.948 14.6988 77.8851 15.2007 76.376L15.7653 74.804H17.2084H17.2711ZM18.0867 70.6537L20.0316 69.3332V69.1445H18.8396L17.773 70.7165H18.0867V70.6537Z\",\n fill: \"#100C08\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.3667 61.4729C42.7432 61.4729 43.0567 61.7245 42.8687 62.4792L41.1748 62.8563C41.4883 62.039 41.9904 61.4729 42.3667 61.4729ZM43.3078 64.2399H42.9943C42.555 64.7428 42.1159 65.1201 41.6766 65.1201C41.2376 65.1201 40.9865 64.8685 40.9865 64.2399C40.9865 63.9883 40.9865 63.7368 41.0493 63.4852L43.8099 62.605C44.3744 61.3472 43.6843 60.7814 42.9315 60.7814C41.6138 60.7814 40.1709 62.9821 40.1709 64.8685C40.1709 65.749 40.5472 66.189 41.2376 66.189C41.9904 66.189 42.7432 65.4346 43.3705 64.2399M42.7432 60.2154L44.6882 58.3918V58.2031H43.6216L42.4294 60.2154H42.7432ZM37.0338 61.4729H37.7867L36.3438 65.4346C36.2182 65.749 36.3438 66.1264 36.7203 66.1264C37.5359 66.1264 38.8533 65.3088 39.3554 64.177H39.1043C38.7278 64.5541 38.0377 65.0572 37.4104 65.183L38.7278 61.4729H40.1082L40.2965 60.9072H38.9788L39.4809 59.4607H38.9788L38.0377 60.9072L37.0966 61.0956V61.4729H37.0338ZM36.3438 61.9761C36.532 61.3472 36.4065 60.7814 35.9675 60.7814C35.4027 60.7814 35.2144 61.2214 34.6498 62.5421V61.7874C34.6498 61.2843 34.4616 60.7814 34.0225 60.7814C33.4577 60.7814 32.9559 61.6616 32.5793 62.4792H32.8304C33.0814 62.1019 33.3324 61.8503 33.5204 61.8503C33.7715 61.8503 33.897 62.2276 33.5204 63.045L32.4541 65.4346C32.2658 65.8748 32.4541 66.189 32.8931 66.189C33.1442 66.189 33.2697 66.1264 33.3949 65.8119L34.4616 63.045C34.7753 62.6679 35.0264 62.3534 35.3399 61.9761H36.3438ZM30.2581 61.4729C30.6346 61.4729 30.9482 61.7245 30.7599 62.4792L29.066 62.8563C29.3797 62.039 29.8815 61.4729 30.2581 61.4729ZM31.1992 64.2399H30.8854C30.4464 64.7428 30.0071 65.1201 29.568 65.1201C29.1287 65.1201 28.878 64.8685 28.878 64.2399C28.878 63.9883 28.878 63.7368 28.9404 63.4852L31.701 62.605C32.2658 61.3472 31.5758 60.7814 30.8226 60.7814C29.5053 60.7814 28.0621 62.9821 28.0621 64.8685C28.0621 65.749 28.4386 66.189 29.1287 66.189C29.8815 66.189 30.6346 65.4346 31.262 64.2399M24.4233 65.3088C24.4233 65.3088 23.796 65.0572 23.796 64.8685C23.796 64.8057 23.9214 64.4912 24.0469 64.1141L24.4861 62.9192C24.988 62.3534 25.6781 61.7245 26.1173 61.7245C26.3683 61.7245 26.5565 61.9132 26.5565 62.2276C26.5565 63.2965 25.5526 65.3088 24.4233 65.3088ZM27.5603 61.8503C27.5603 61.0327 27.2466 60.7185 26.682 60.7185C25.9918 60.7185 25.3017 61.4729 24.6743 62.3534L26.3055 58.0145V57.8887L24.4861 58.0774V58.266L24.7998 58.5176C24.7998 58.5176 24.988 59.0207 24.7371 59.7123L22.9803 64.3028C22.8549 64.617 22.6667 65.0572 22.6667 65.1201C22.6667 65.6232 23.2941 66.0635 23.9214 66.0635C25.3017 66.0635 27.4976 63.611 27.4976 61.7245M22.1648 61.2843C22.2902 60.9072 22.0393 60.7185 21.851 60.7185C21.0355 60.7185 20.0943 61.4101 19.7179 62.4163H19.9689C20.2198 62.039 20.659 61.6616 21.0982 61.5987L19.5924 65.5603C19.467 65.9377 19.7179 66.1264 19.9061 66.1264C20.659 66.1264 21.5374 65.3717 21.9138 64.4286H21.6628C21.4119 64.8057 20.9727 65.183 20.5335 65.2459L22.1648 61.2843ZM22.4157 59.3349C22.7921 59.3349 23.0431 59.0207 23.0431 58.7063C23.0431 58.3918 22.7294 58.0774 22.4157 58.0774C22.102 58.0774 21.7883 58.3918 21.7883 58.7063C21.7883 59.0207 22.102 59.3349 22.4157 59.3349ZM18.4631 58.7063H14.8243L14.6988 59.0207C15.7653 59.2094 15.8908 59.3349 15.3889 60.7185L14.1969 63.9883C13.695 65.3717 13.5067 65.4346 12.252 65.6861V66.0006H17.6475L18.8396 63.8626H18.4004C17.7103 64.617 16.9574 65.5603 15.7026 65.5603C14.7615 65.5603 14.6988 65.3717 15.1379 63.9883L16.33 60.7185C16.8319 59.3349 17.0201 59.272 18.2749 59.0207V58.7063H18.4631Z\",\n fill: \"#100C08\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.5778 24.1847C32.5778 24.1847 32.954 23.8075 33.1423 23.5559C33.5189 23.1158 33.8324 22.7385 34.2717 22.4241C34.3972 22.2983 34.5227 22.2354 34.6482 22.1097C34.6482 22.1097 34.6482 21.9839 34.7107 21.9839C34.5227 22.0468 34.46 22.1726 34.2717 22.2354C34.2717 22.2354 34.2089 22.2354 34.2717 22.1725C34.3972 22.1097 34.5227 21.9839 34.6482 21.921C34.6482 21.921 34.6482 21.921 34.6482 21.8581C34.2089 21.7953 33.8951 22.1097 33.5816 22.3612C33.5189 22.3612 33.4561 22.3612 33.3933 22.3612C32.8916 22.5498 32.515 22.99 32.0132 23.1787C32.0132 23.1787 31.6367 23.3044 31.3856 23.3673C31.0721 23.4302 30.8211 23.3673 30.5073 23.3673C30.0682 23.3673 29.6917 23.4931 29.2526 23.6188C29.0016 23.6188 28.8133 23.7446 28.6251 23.8703C28.5623 23.9332 28.4998 23.9961 28.3743 24.059C28.186 24.1848 27.9977 24.3734 27.8095 24.4992C27.6213 24.6878 27.4331 24.8764 27.2449 25.0022C27.2449 25.0022 27.1822 25.0022 27.1194 25.0022C27.1194 25.0022 27.1194 24.8764 27.1822 24.8764C27.1822 24.8764 27.2449 24.7507 27.3076 24.6878C27.3076 24.6249 27.3704 24.562 27.4331 24.4992C27.6213 24.3105 27.8095 24.1848 27.9977 24.059C27.9977 24.059 27.9977 24.059 27.9977 23.9961C27.9977 23.9961 27.8722 24.059 27.8095 24.1219C27.7467 24.1847 27.684 24.3734 27.5586 24.3734C27.5586 24.3734 27.5586 24.3734 27.5586 24.3105C27.6213 24.2476 27.684 24.1847 27.8095 24.1219C27.8095 24.1219 28.0605 23.9961 28.186 23.9332C27.9977 23.9961 27.8095 24.059 27.6213 24.1847C27.6213 24.1847 27.6213 24.1847 27.5586 24.1847C27.5586 24.1219 27.684 24.059 27.7467 23.9961H27.8095C28.8761 23.1158 30.3818 23.3673 31.6367 22.9271C31.7622 22.8642 31.8249 22.8014 31.9504 22.7385C32.1384 22.6756 32.264 22.487 32.4522 22.4241C32.7033 22.2354 32.954 21.9839 33.0168 21.6695V21.6066C32.5778 22.1097 32.0757 22.487 31.5111 22.7385C30.8211 23.1158 30.0055 23.0529 29.2526 23.1158C29.2526 23.0529 29.3782 23.0529 29.4406 23.0529C29.4406 22.9271 29.5034 22.9271 29.5662 22.8642H29.6917C29.6917 22.8642 29.6917 22.8014 29.7544 22.8014C29.8172 22.8014 29.9427 22.8014 29.88 22.8014C29.7544 22.6756 29.5662 22.9271 29.3782 22.8014C29.4406 22.7385 29.3782 22.6127 29.5034 22.6127H29.6289L29.6917 22.487C30.1938 22.1726 30.6955 21.921 31.1349 21.6695C31.0093 21.6695 30.9466 21.7953 30.8838 21.6695C30.9466 21.6695 30.8838 21.5437 30.9466 21.5437C31.3229 21.418 31.6367 21.2293 32.0132 21.1036C31.8877 21.1036 31.7622 21.2293 31.6367 21.1036C31.6994 21.1036 31.7622 20.9778 31.8249 20.9778V20.852C31.8249 20.852 31.8249 20.852 31.8877 20.852H31.8249C31.8249 20.7892 31.9504 20.852 32.0132 20.7263H31.8877C32.0132 20.6005 32.1384 20.5376 32.3267 20.5376C32.3267 20.4748 32.2012 20.5376 32.2012 20.4748C32.2012 20.4748 32.2012 20.4748 32.264 20.4748H32.2012V20.349C32.3895 20.0975 32.3895 19.7831 32.515 19.5315H32.4522C32.1384 19.9088 31.5739 20.0346 31.0721 20.1603H30.8838C30.8838 20.1603 30.5073 20.2232 30.319 20.1603C30.1938 20.0975 30.131 19.9717 30.0055 19.9088C29.7544 19.7202 29.4406 19.5944 29.1271 19.5315C28.2488 19.28 27.3704 19.1542 26.492 19.1542C26.8685 18.9656 27.3076 18.9027 27.684 18.8398C28.2488 18.6512 28.8133 18.4626 29.4406 18.5254C29.3154 18.5254 29.1899 18.5254 29.1271 18.5254C28.6251 18.5254 28.186 18.6512 27.684 18.7141C27.3704 18.777 27.0567 18.9027 26.6803 18.9656C26.492 19.0285 26.3666 19.2171 26.1156 19.2171V19.0914C26.4293 18.7141 26.8685 18.2739 27.4331 18.211C28.0605 18.0853 28.6251 18.211 29.2526 18.2739C29.6917 18.2739 30.131 18.3997 30.57 18.5254C30.7583 18.5254 30.7583 18.777 30.8838 18.8398C31.0721 18.9027 31.2601 18.8398 31.5111 18.9656C31.5111 18.9027 31.5111 18.8398 31.5111 18.777C31.6367 18.6512 31.8249 18.777 31.9504 18.777C32.2012 18.5883 31.6994 18.2739 31.5739 18.0853V18.0224C31.8249 18.2739 32.0757 18.5254 32.3895 18.7141C32.5778 18.777 32.954 18.9027 32.8916 18.7141C32.7033 18.3368 32.3895 18.0224 32.1384 17.708V17.5822C32.1384 17.5822 32.0757 17.5822 32.0132 17.5193V17.3936C32.0132 17.3936 31.8877 17.2049 31.8249 17.0792C31.6994 16.8905 31.8249 16.7019 31.6994 16.4503C31.5739 16.1988 31.5739 16.0731 31.5739 15.8844C31.4484 15.3185 31.3229 14.8154 31.2601 14.2495C31.1973 13.6207 31.6367 13.1176 31.9504 12.4888C32.2012 12.1115 32.4522 11.6713 32.8916 11.4198C33.0168 11.0425 33.2678 10.6652 33.5189 10.3508C33.7699 10.0364 34.2717 9.78488 34.5855 9.65913C35.0873 9.47048 35.4638 9.34473 35.4638 9.34473H12.1875V27.3917H28.6878C29.3154 26.9515 30.0055 26.7 30.8838 26.2598C31.3229 26.0712 32.264 25.631 32.6405 25.2537L32.5778 24.1847ZM27.3704 21.7324H27.1822C27.1822 21.5437 27.4331 21.5437 27.5586 21.4809C27.6213 21.4809 27.7467 21.3551 27.8095 21.418C27.8722 21.5437 27.9977 21.4809 28.0605 21.5437C27.8722 21.7324 27.5586 21.6695 27.3704 21.7324ZM22.163 20.9778C22.163 20.9778 22.163 20.9778 22.163 20.9149C22.6022 20.349 22.9159 19.7831 23.2296 19.1542C23.6688 18.9027 24.0452 18.5883 24.3589 18.211C24.9236 17.5822 25.551 17.0792 26.2411 16.7019C26.492 16.5761 26.8685 16.639 27.1194 16.7019C26.9939 16.8276 26.8685 16.8276 26.743 16.8905C26.743 16.8905 26.6803 16.8905 26.6175 16.8905C26.6175 16.8905 26.6175 16.8276 26.6175 16.7648C26.3038 17.142 25.8019 17.3307 25.551 17.7709C25.3627 18.0853 25.2372 18.5254 24.7981 18.6512C24.6726 18.6512 24.7981 18.5254 24.7981 18.5883C23.7315 19.2171 22.9786 20.0346 22.163 20.9149V20.9778ZM24.9863 18.7141C24.9863 18.7141 24.9236 18.777 24.8608 18.8398C24.8608 18.9027 24.7981 18.9656 24.7353 18.9656H24.6726C24.6726 18.8398 24.7981 18.7141 24.9236 18.6512C24.9236 18.6512 24.9236 18.6512 24.9236 18.7141H24.9863ZM26.5548 23.8075C26.5548 23.8075 26.5548 23.8703 26.492 23.9332C26.4293 23.9961 26.3666 24.059 26.2411 24.1219C26.2411 24.1219 26.1784 24.1848 26.1156 24.2476C26.1156 24.2476 25.8646 24.2476 25.9274 24.2476C25.9901 24.1848 26.1156 24.059 26.1784 23.9961C26.1784 23.9961 26.3038 23.9332 26.3038 23.8703C26.3038 23.8703 26.3038 23.8703 26.3666 23.8075H26.5548ZM25.9901 23.5559C25.8646 23.6188 25.7392 23.7446 25.6137 23.8075C25.4882 23.8703 25.3 23.9332 25.1745 24.059C25.0491 24.1219 24.9236 24.2476 24.8608 24.3105C24.8608 24.3105 24.8608 24.3105 24.7981 24.3734H24.7353C24.7353 24.3734 24.6726 24.4363 24.6098 24.4992C24.5471 24.562 24.4844 24.6249 24.4217 24.6878C24.4217 24.6878 24.4844 24.6249 24.5471 24.562C24.5471 24.562 24.5471 24.562 24.5471 24.4992C24.5471 24.4992 24.6099 24.3734 24.6726 24.3734C24.6726 24.3734 24.6726 24.3734 24.6726 24.3105C24.6726 24.3105 24.6726 24.3105 24.6726 24.2476C24.6726 24.2476 24.6726 24.2476 24.6726 24.1847C24.6726 24.1219 24.7353 24.059 24.7981 23.9961C24.7981 23.9961 24.7353 24.059 24.6726 24.1219C24.6726 24.1219 24.6726 24.1219 24.7353 24.059C24.7353 24.059 24.8608 23.9332 24.9236 23.8703C24.9236 23.8703 24.9863 23.8703 25.0491 23.8075C25.0491 23.8075 25.0491 23.8075 25.1118 23.7446C25.4255 23.4302 25.9901 23.4302 26.4293 23.2415C26.6175 23.1786 26.8057 23.2415 26.9939 23.2415C27.1194 23.2415 27.1822 23.2415 27.3076 23.3044C26.9939 23.4931 26.743 23.6817 26.4293 23.8075L25.9901 23.5559ZM26.6803 21.1664C26.6803 21.1664 26.8057 21.1664 26.8057 21.1036H26.5548C26.5548 21.1036 26.5548 21.1036 26.5548 21.0407C26.3666 21.0407 26.1783 21.1664 25.9901 21.1664C25.7392 21.2293 25.551 21.418 25.3 21.4809C24.9236 21.6066 24.6098 21.921 24.2334 22.0468C24.2334 22.0468 24.2334 22.0468 24.2334 21.9839C24.2334 21.8581 24.4217 21.8581 24.4844 21.7324V21.6695C24.7353 21.2922 25.1118 21.1036 25.4882 20.7892V20.6634C25.4882 20.6634 25.7392 20.4748 25.8019 20.2861C25.8019 20.1603 25.9901 20.0346 26.1156 19.9717C26.1156 19.9717 25.9901 19.9717 25.9901 19.8459C25.8646 19.8459 25.7392 19.9088 25.6137 19.8459C25.6764 19.7831 25.7392 19.7202 25.8019 19.7202C25.8019 19.7202 25.8019 19.7202 25.7392 19.7202C25.7392 19.6573 25.8019 19.5944 25.9274 19.5315C26.0529 19.5315 26.2411 19.5315 26.3038 19.4058C26.0529 19.4058 25.8019 19.4687 25.551 19.3429C25.7392 18.9027 25.9901 18.5254 26.4293 18.3368H26.5548C26.5548 18.5254 26.4293 18.6512 26.3038 18.6512C26.5548 18.7141 26.8685 18.7141 27.1194 18.8398C27.1194 18.9027 26.9939 18.8398 26.9939 18.8398C27.1822 18.9656 27.3704 18.8398 27.5586 19.0285C27.4331 19.1542 27.3704 19.0285 27.2449 19.0285C28.3115 19.3429 29.4406 19.5944 30.319 20.2232C29.5662 20.6005 28.8133 20.7892 27.9977 20.9149C27.8722 20.9149 27.8095 20.9149 27.7467 20.9149V21.0407C27.6213 21.0407 27.4959 21.0407 27.4331 21.1036C27.3077 21.1664 27.1194 21.2293 26.9939 21.1036L26.6803 21.1664Z\",\n fill: \"#273375\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M61.6267 8.27539H42.3028C42.3028 8.27539 42.3028 8.27539 42.4911 8.33828C42.6793 8.40115 42.8676 8.52693 42.9931 8.58979C43.2439 8.71555 43.4949 8.9042 43.6204 9.15574C43.6832 9.28149 43.8087 9.47014 43.746 9.59589C43.6832 9.78454 43.6204 10.0361 43.4949 10.0989C43.3066 10.2247 42.9931 10.2247 42.8049 10.1618C42.6793 10.1618 42.5538 10.1618 42.4283 10.0989C42.9304 10.2876 43.4322 10.5391 43.746 11.0422C43.746 11.1051 43.9342 11.1679 44.0595 11.1679C44.0595 11.1679 44.0595 11.2308 44.0595 11.2937C43.9967 11.3566 43.9342 11.4195 43.9342 11.4823H44.0595C44.0595 11.4823 44.185 11.1051 44.436 11.1679C44.6243 11.2937 44.6871 11.4823 44.5615 11.671C44.436 11.7968 44.3105 11.9225 44.185 11.9854C44.185 12.0483 44.185 12.174 44.185 12.2369C44.3105 12.3627 44.3105 12.4885 44.3733 12.6142C44.4988 12.8657 44.4988 13.1173 44.6243 13.3688C44.7498 13.8719 44.8751 14.3749 44.8751 14.878C44.8751 15.1295 44.7498 15.381 44.8751 15.6325C44.9378 15.8841 45.1261 16.1356 45.2516 16.3242C45.3771 16.5129 45.5026 16.6386 45.6282 16.8902C45.8162 17.2046 46.1927 17.5819 46.0044 17.9592C45.8789 18.2107 45.5027 18.1478 45.3144 18.2736C45.1261 18.4622 45.3144 18.7137 45.3771 18.9024C45.5654 19.2168 45.1889 19.4054 44.9378 19.5312C45.0006 19.657 45.1261 19.5941 45.1889 19.657C45.1889 19.8456 45.3771 19.9085 45.3144 20.0971C45.1889 20.2858 44.7498 20.4115 45.0006 20.7259C45.1261 20.9775 45.0006 21.229 45.0006 21.4805C44.8751 21.7949 44.6243 21.9207 44.3733 21.9836C44.185 22.0464 43.9342 22.0464 43.746 21.9836C43.6832 21.9836 43.6204 21.9207 43.5577 21.9207C42.9931 21.8578 42.4283 21.6692 41.801 21.6692C41.6127 21.6692 41.4872 21.732 41.2992 21.7949C41.1737 21.9207 40.9854 22.0464 40.8599 22.1722C40.8599 22.1722 40.8599 22.1722 40.7971 22.2351C40.6716 22.3609 40.6088 22.4866 40.5461 22.6124C40.4208 22.801 40.3581 23.0526 40.2953 23.2412C40.0443 23.9958 40.1698 24.6875 40.2953 24.8761C40.2953 24.8761 41.4244 25.2534 42.1775 25.5678C42.5538 25.6936 42.8049 25.8193 42.9931 25.9451H62.003V8.27539H61.6267Z\",\n fill: \"#E30613\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M43.4317 14.8779C43.4317 14.8779 43.7455 14.8779 43.7455 15.0036C43.6827 15.2552 43.2437 15.3181 43.0554 15.6325H42.9299C42.9299 15.6325 42.8671 15.884 42.7416 15.884C42.6161 15.884 42.5533 15.884 42.4281 15.884C42.5533 16.0098 42.7416 16.1355 42.9299 16.0726C42.9299 16.0726 43.0554 16.1355 43.0554 16.1984C43.0554 16.1984 43.0554 16.1984 43.1182 16.1984H43.1809V16.3242C43.1809 16.3242 42.9299 16.387 42.8044 16.4499C43.0554 16.5128 43.3689 16.5128 43.5572 16.4499C43.7455 16.387 43.5572 16.0726 43.6827 15.884C43.6199 15.884 43.6827 15.7582 43.6199 15.7582C43.6827 15.6953 43.7455 15.5696 43.8082 15.5696C43.871 15.5696 43.9965 15.5696 43.9965 15.4438C43.9965 15.3809 43.871 15.3181 43.871 15.2552C44.0593 15.1294 44.2473 14.9408 44.1848 14.6892C44.1848 14.5635 43.871 14.5635 43.6827 14.5006C43.4944 14.4377 43.3064 14.5006 43.1182 14.5006C42.9299 14.5006 42.8044 14.6264 42.6161 14.6264C42.3653 14.6892 42.177 14.815 41.9888 14.9408C42.2398 14.815 42.4906 14.815 42.7416 14.7521C42.9299 14.7521 43.1182 14.7521 43.3064 14.7521L43.4317 14.8779Z\",\n fill: \"#9D9D9C\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGovLogo);\nexport default __webpack_public_path__ + \"static/media/gov-logo.895a623d.svg\";\nexport { ForwardRef as ReactComponent };","import { size } from \"polished\";\nimport React from \"react\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { RootState } from \"../../core/store\";\nimport { getElementsById } from \"../../core/store/elements/reducers\";\nimport { IElementsById } from \"../../core/store/elements/types\";\nimport { IPickLight } from \"../../core/store/entries/types\";\nimport { getSettings } from \"../../core/store/game/reducers\";\nimport { ISettings } from \"../../core/store/game/types\";\nimport { ReactComponent as Captain } from \"../../img/icons/captain.svg\";\n\nconst StyledCaptain = styled(Captain)`\n ${size(14)};\n color: white;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n ${size(16)}\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n ${size(20)}\n }\n`;\n\ninterface IPropsFromState {\n elementsById: IElementsById;\n settings: ISettings | null;\n}\n\ninterface IOwnProps {\n chipName: string | null;\n pick: IPickLight;\n}\n\ninterface IStyledCaptainProps {\n variant?: string;\n}\n\ntype Props = IPropsFromState & IOwnProps & IStyledCaptainProps;\n\nconst TeamElementIcon: React.FC = ({ chipName, pick, settings }) => {\n if (chipName && chipName === \"phcapt\") {\n if (pick.is_captain) return ;\n }\n return null;\n};\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n elementsById: getElementsById(state),\n settings: getSettings(state),\n});\n\nexport default connect(mapStateToProps)(TeamElementIcon);\n","import { size } from \"polished\";\nimport * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { getElementsById } from \"../../core/store/elements/reducers\";\nimport { showElementSummary } from \"../../core/store/elements/thunks\";\nimport { IElementsById } from \"../../core/store/elements/types\";\nimport { IPickLight } from \"../../core/store/entries/types\";\nimport { getSettings } from \"../../core/store/game/reducers\";\nimport { ISettings } from \"../../core/store/game/types\";\nimport { ReactComponent as Sub } from \"../../img/icons/sub.svg\";\nimport Badge from \"../Badge\";\nimport {\n ElementCardBadge,\n ElementCardMain,\n ElementCardTeam,\n ShirtWrap,\n} from \"../ElementCard\";\nimport ElementDialogButton from \"../ElementDialogButton\";\nimport {\n Controls,\n InfoControl,\n PitchElementInner,\n PitchElementOuter,\n PitchElementWrap,\n} from \"../Pitch\";\nimport PitchElementData from \"../PitchElementData\";\nimport Shirt from \"../Shirt\";\nimport TeamCode from \"../TeamCode\";\nimport { UnstyledButton } from \"../Utils\";\nimport TeamElementIcon from \"./TeamElementIcon\";\n\nconst SubControl = styled.div`\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n`;\n\nconst StyledSub = styled(Sub)`\n ${size(13, 48)}\n`;\n\nconst ElementIconWrap = styled.span`\n position: absolute;\n top: 0;\n right: 10px;\n`;\n\n// const DreamTeamWrap = styled.div`\n// position: absolute;\n// top: 44%;\n// right: 0;\n\n// @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n// right: 10px;\n// }\n\n// @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n// right: 20px;\n// }\n// `;\n\nconst BenchNumber = styled.h3`\n display: block;\n text-align: right;\n margin: ${({ theme }) => theme.space[2]};\n font-family: ${(props) => props.theme.fonts.action};\n font-size: 2.5rem;\n font-weight: bold;\n font-style: italic;\n text-transform: uppercase;\n`;\n\ninterface IPropsFromState {\n elementsById: IElementsById;\n settings: ISettings | null;\n}\n\ninterface IPropsFromDispatch {\n showElementDialog: (elementId: number) => void;\n}\n\ninterface IOwnProps {\n actionMe: () => void;\n chipName: string | null;\n pick: IPickLight;\n positionOnBench?: number;\n renderDreamTeam: (pick: IPickLight) => React.ReactNode;\n renderElementMenu: () => void;\n renderPickValue: (pick: IPickLight) => React.ReactNode;\n}\n\ntype Props = IPropsFromState & IPropsFromDispatch & IOwnProps;\n\nconst TeamPitchElement: React.FC = ({\n actionMe,\n chipName,\n pick,\n elementsById,\n positionOnBench,\n renderElementMenu,\n renderPickValue,\n renderDreamTeam,\n settings,\n}) => {\n if (!settings) return null;\n\n const element = elementsById[pick.element];\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {/* {renderDreamTeam(pick)} */}\n \n \n {actionMe && typeof pick.subStatus !== \"undefined\" && (\n \n \n \n \n \n )}\n \n \n \n \n\n \n \n \n {positionOnBench && {positionOnBench}}\n \n \n );\n};\n\nconst mapStateToProps = (state: RootState): IPropsFromState => ({\n elementsById: getElementsById(state),\n settings: getSettings(state),\n});\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n showElementDialog: (elementId) => dispatch(showElementSummary(elementId)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(TeamPitchElement);\n","import * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { ThunkDispatch } from \"../../core/store\";\nimport { IPickLight } from \"../../core/store/entries/types\";\nimport { actionSubstitution } from \"../../core/store/my-team/thunks\";\nimport TeamPitchElement from \"./TeamPitchElement\";\n\nconst StyledBenchUnit = styled.div`\n display: flex;\n flex-direction: column;\n align-items: stretch;\n padding-top: ${({ theme }) => theme.space[1]};\n flex: 0 0 calc(100% / 3);\n\n @media (min-width: ${(props) => props.theme.breakpoints[5]}) {\n flex: 1 0 auto;\n }\n`;\n\nconst BenchUnitHeading = styled.h3`\n order: 2;\n margin: 0.2rem 0;\n color: #61605c;\n font-size: ${({ theme }) => theme.fontSizes[0]};\n text-align: center;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n font-size: ${({ theme }) => theme.fontSizes[3]};\n }\n`;\n\ninterface IPropsFromDispatch {\n substitute: (elementId: number) => void;\n}\n\ninterface IProps {\n chipName: string | null;\n heading: React.ReactNode;\n pick: IPickLight;\n positionOnBench?: number;\n renderDreamTeam: (pick: IPickLight) => React.ReactNode;\n renderElementMenu: (pick: IPickLight) => void;\n renderPickValue: (element: IPickLight) => React.ReactNode;\n substitute: (elementId: number) => void;\n}\n\ntype Props = IPropsFromDispatch & IProps;\n\nconst BenchUnit: React.FC = ({\n chipName,\n heading,\n pick,\n positionOnBench,\n renderDreamTeam,\n renderElementMenu,\n renderPickValue,\n substitute,\n}) => (\n \n {heading}\n substitute(pick.element)}\n chipName={chipName}\n pick={pick}\n positionOnBench={positionOnBench}\n renderDreamTeam={renderDreamTeam}\n renderElementMenu={() => renderElementMenu(pick)}\n renderPickValue={renderPickValue}\n />\n \n);\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n substitute: (elementId) => dispatch(actionSubstitution(elementId)),\n});\n\nexport default connect(null, mapDispatchToProps)(BenchUnit);\n","import * as React from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { getElementStatsByIdentifier } from \"../../core/store/element-stats/reducers\";\nimport { IElementStat } from \"../../core/store/element-stats/types\";\nimport {\n getElementsById,\n getElementsEventDataById,\n} from \"../../core/store/elements/reducers\";\nimport { showElementSummary } from \"../../core/store/elements/thunks\";\nimport {\n IElementExplain,\n IElementsById,\n IElementsEventDataById,\n} from \"../../core/store/elements/types\";\nimport { getFixturesForEventById } from \"../../core/store/fixtures/reducers\";\nimport { IFixture } from \"../../core/store/fixtures/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { ITeamsById } from \"../../core/store/teams/types\";\nimport { integerToDecimal } from \"../../utils/decimal\";\nimport Button from \"../Button\";\nimport Dialog, { DialogButtonItem } from \"../Dialog\";\nimport Table from \"../Table\";\n\nconst ExplainHeading = styled.h3`\n font-size: ${({ theme }) => theme.fontSizes[3]};\n text-align: center;\n`;\n\nconst ExplainScore = styled.span`\n margin: 0 ${({ theme }) => theme.space[1]};\n padding: ${({ theme }) => theme.space[1]};\n background-color: ${({ theme }) => theme.colors.primary};\n color: white;\n`;\n\ninterface IOwnProps {\n closeDialog: () => void;\n elementId: number;\n eventId: number;\n}\n\ninterface IPropsFromState {\n elementsById: IElementsById;\n elementsDataById: IElementsEventDataById | null;\n fixturesById: Record | null;\n statsByIdentifier: Record;\n teamsById: ITeamsById;\n}\n\ninterface IPropsFromDispatch {\n showElementDialog: (elementId: number) => void;\n}\n\ntype Props = IOwnProps & IPropsFromState & IPropsFromDispatch & WithTranslation;\n\nclass ElementExplainDialog extends React.Component {\n public showElementDialog = (elementId: number) => {\n this.props.showElementDialog(elementId);\n this.props.closeDialog();\n };\n\n public renderExplainFixture(explain: IElementExplain) {\n const {\n elementId,\n elementsDataById,\n fixturesById,\n statsByIdentifier,\n teamsById,\n t,\n } = this.props;\n const elementData = elementsDataById![elementId];\n const fixture = fixturesById && fixturesById[explain.fixture];\n if (!elementData || !fixture) {\n return null;\n }\n if (!fixture.started) {\n return null;\n }\n return (\n <>\n \n \n {teamsById[fixture.team_a].short_name}\n \n {fixture.team_a_score}-{fixture.team_h_score}\n \n {teamsById[fixture.team_h].short_name}\n \n \n \n \n \n \n \n \n \n \n \n \n {explain.stats.map((stat) => (\n \n \n \n \n \n ))}\n \n
{t(\"elementExplainDialog.stat\", \"Statistic\")}{t(\"elementExplainDialog.value\", \"Value\")}{t(\"elementExplainDialog.points\", \"Points\")}
{statsByIdentifier[stat.identifier].label}{stat.value}{integerToDecimal(stat.points, 10)}
\n
\n \n );\n }\n\n public render() {\n const { closeDialog, elementsById, elementsDataById, fixturesById, t } =\n this.props;\n const element = elementsById[this.props.elementId];\n if (!element || !fixturesById || !elementsDataById) {\n return null;\n }\n return (\n \n \n {`${element.first_name} ${element.second_name}`}\n \n \n {elementsDataById[element.id].explain.map((e) => (\n \n {this.renderExplainFixture(e)}\n \n ))}\n
\n \n this.showElementDialog(element.id)}\n fullwidth=\"true\"\n >\n {t(\"elementExplainDialog.info\", \"View Information\")}\n \n \n
\n
\n
\n );\n }\n}\n\nexport { ElementExplainDialog as ElementExplainDialogTest };\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: IOwnProps\n): IPropsFromState => {\n return {\n elementsById: getElementsById(state),\n elementsDataById: getElementsEventDataById(state, ownProps.eventId),\n fixturesById: getFixturesForEventById(state, ownProps.eventId),\n statsByIdentifier: getElementStatsByIdentifier(state),\n teamsById: getTeamsById(state),\n };\n};\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n showElementDialog: (elementId) => dispatch(showElementSummary(elementId)),\n});\n\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(ElementExplainDialog)\n);\n","import * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { RootState } from \"../../core/store\";\nimport { getElementStats } from \"../../core/store/element-stats/reducers\";\nimport { IElementStat } from \"../../core/store/element-stats/types\";\nimport { getElementTypesById } from \"../../core/store/element-types/reducers\";\nimport { IElementTypesById } from \"../../core/store/element-types/types\";\nimport { getElementsById } from \"../../core/store/elements/reducers\";\nimport {\n IElement,\n IElementEventStats,\n IElementsById,\n IElementsEventDataById,\n} from \"../../core/store/elements/types\";\nimport { IPickLight } from \"../../core/store/entries/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { ITeamsById } from \"../../core/store/teams/types\";\nimport { integerToDecimal } from \"../../utils/decimal\";\nimport ElementDialogButton from \"../ElementDialogButton\";\nimport ElementInTable from \"../ElementInTable\";\nimport { ElementRow, ElementTable } from \"../ElementTable\";\nimport { ScrollTable } from \"../Table\";\nimport Tooltip, { TooltipLabel } from \"../Tooltip\";\nimport TeamElementIcon from \"./TeamElementIcon\";\n\nconst EntryEventStatus = styled.th`\n width: 6%;\n`;\n\nconst EntryEventCpt = styled.th`\n width: 4%;\n`;\n\nconst EntryEventElement = styled.th`\n width: 32%;\n`;\n\nconst EntryEventPts = styled.th`\n width: 12%;\n`;\n\ninterface IEntryEventRowProps {\n chipName: string | null;\n data: IElementEventStats;\n pick: IPickLight;\n element: IElement;\n elementTypesById: IElementTypesById;\n renderElementMenu: (index: number) => void;\n stats: ReadonlyArray;\n teamsById: ITeamsById;\n}\n\nconst EntryEventRow: React.FC = ({\n chipName,\n data,\n pick,\n element,\n renderElementMenu,\n stats,\n teamsById,\n}) => (\n \n \n \n \n \n \n \n \n renderElementMenu(pick.element)}\n elementId={element.id}\n />\n \n \n {integerToDecimal(data.total_points * Math.max(pick.multiplier, 1), 10)}\n \n {stats.map((s) => (\n {data[s.name]}\n ))}\n \n);\n\ninterface IOwnProps {\n chipName: string | null;\n dataById: IElementsEventDataById | null;\n picks: IPickLight[];\n renderElementMenu: (index: number) => void;\n title: string;\n}\n\ninterface IPropsFromState {\n elementsById: IElementsById;\n elementTypesById: IElementTypesById;\n stats: ReadonlyArray;\n teamsById: ITeamsById;\n}\n\ntype Props = IOwnProps & IPropsFromState;\n\nconst EntryEventTable: React.FC = ({\n dataById,\n elementsById,\n picks,\n stats,\n title,\n ...rest\n}) => {\n if (!dataById) {\n return null;\n }\n return (\n \n \n \n \n  \n  \n {title}\n TP\n {stats.map((s) => (\n \n \n \n {s.label\n .split(\" \")\n .map((w) => w[0])\n .join(\"\")\n .toUpperCase()}\n \n \n \n ))}\n \n \n \n {picks.map((p) => (\n \n ))}\n \n \n \n );\n};\n\nexport { EntryEventTable as EntryEventTableTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => {\n return {\n elementsById: getElementsById(state),\n elementTypesById: getElementTypesById(state),\n stats: getElementStats(state),\n teamsById: getTeamsById(state),\n };\n};\n\nexport default connect(mapStateToProps)(EntryEventTable);\n","import * as React from \"react\";\nimport { connect } from \"react-redux\";\nimport { ThunkDispatch } from \"../../core/store\";\nimport { IPickLight } from \"../../core/store/entries/types\";\nimport { actionSubstitution } from \"../../core/store/my-team/thunks\";\nimport { PitchRow, PitchUnit } from \"../Pitch\";\nimport TeamPitchElement from \"./TeamPitchElement\";\n\ninterface IFormationProps {\n generateProps: (i: number) => {\n actionMe: () => void;\n chipName: string | null;\n pick: IPickLight;\n renderDreamTeam: (pick: IPickLight) => React.ReactNode;\n renderElementMenu: () => void;\n renderPickValue: (pick: IPickLight) => React.ReactNode;\n };\n}\n\nconst ThreeTwo: React.FC = ({ generateProps }) => (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nconst TwoThree: React.FC = ({ generateProps }) => (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\ninterface IPropsFromDispatch {\n substitute: (elementId: number) => void;\n}\n\ninterface IProps {\n chipName: string | null;\n formation: string;\n picks: IPickLight[];\n renderDreamTeam: (pick: IPickLight) => React.ReactNode;\n renderElementMenu: (element: number) => void;\n renderPickValue: (pick: IPickLight) => React.ReactNode;\n}\n\ntype Props = IPropsFromDispatch & IProps;\n\ninterface IFormations {\n [key: string]: React.ReactNode;\n}\n\nconst PitchFormation: React.FC = ({\n chipName,\n formation,\n substitute,\n picks,\n renderDreamTeam,\n renderElementMenu,\n renderPickValue,\n}) => {\n const sharedTeamPitchElementProps = (i: number) => ({\n actionMe: () => substitute(picks[i].element),\n chipName,\n pick: picks[i],\n renderDreamTeam,\n renderElementMenu: () => renderElementMenu(picks[i].element),\n renderPickValue,\n });\n const formations: IFormations = {\n \"3-2\": ,\n \"2-3\": ,\n };\n return <>{formations[formation]};\n};\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n substitute: (elementId) => dispatch(actionSubstitution(elementId)),\n});\n\nexport default connect(null, mapDispatchToProps)(PitchFormation);\n","import React from \"react\";\nimport { Box } from \"rebass/styled-components\";\nimport styled, { css } from \"styled-components/macro\";\nimport { ElementCardTeam } from \"../ElementCard\";\nimport { StyledShirt } from \"../Shirt\";\nimport { VisuallyHidden } from \"../Utils\";\nimport BackCourtBg from \"../../img/back-court-bg.png\";\nimport FrontCourtBg from \"../../img/front-court-bg.png\";\n\nconst StyledTeamElementGroup = styled.div`\n padding: 4px;\n border-radius: ${(props) => props.theme.radii[1]};\n background-image: linear-gradient(\n to bottom,\n ${(props) => props.theme.colors.red},\n ${(props) => props.theme.colors.blue}\n );\n color: #fff;\n\n ${(props) =>\n props.isBench &&\n css`\n background-image: linear-gradient(\n to bottom,\n #c7c7c7,\n ${(props) => props.theme.colors.greyLight}\n );\n color: #000;\n\n ${StyledShirt} {\n display: none;\n }\n\n ${ElementCardTeam} {\n margin-bottom: 0;\n }\n `}\n`;\n\nconst TeamElementGroupTitle = styled.h3`\n margin: 0;\n font-family: ${(props) => props.theme.fonts.body};\n font-size: ${(props) => props.theme.fontSizes[3]};\n text-transform: uppercase;\n`;\n\nconst TeamElementGroupBody = styled.div`\n border-radius: 2px;\n background-color: #fff;\n padding: ${(props) => `${props.theme.space[3]} 0`};\n\n ${(props) =>\n !props.isBench &&\n css`\n @media (min-width: ${(props) => props.theme.breakpoints[2]}) {\n background-image: url(${FrontCourtBg}), url(${BackCourtBg});\n background-repeat: no-repeat;\n background-position: top left, bottom right;\n }\n `}\n`;\n\nexport const PitchRow = styled.div`\n display: flex;\n justify-content: center;\n`;\n\ninterface IStyledProps {\n isBench?: boolean;\n}\n\ninterface IProps {\n isHiddenTitle?: boolean;\n title: React.ReactNode;\n}\n\ntype Props = IProps & IStyledProps;\n\nconst TeamElementGroup: React.FC = ({\n children,\n isBench = false,\n isHiddenTitle = false,\n title,\n}) => (\n \n \n {isHiddenTitle ? (\n {title}\n ) : (\n \n {title}\n \n )}\n \n {children}\n \n);\n\nexport default TeamElementGroup;\n","import styled from \"styled-components/macro\";\n\nexport const BenchElements = styled.div`\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n\n @media (min-width: ${(props) => props.theme.breakpoints[5]}) {\n flex-wrap: nowrap;\n }\n`;\n","import React from \"react\";\nimport { IFixture } from \"../../core/store/fixtures/types\";\nimport { ITeamsById } from \"../../core/store/teams/types\";\nimport {\n IElementsEventDataById,\n IElementsById,\n} from \"../../core/store/elements/types\";\nimport FixtureForElement from \"../FixtureForElement\";\nimport { IPickLight } from \"../../core/store/entries/types\";\nimport { integerToDecimal } from \"../../utils/decimal\";\n\nconst valueForPlayerElement =\n (initProps: {\n elementsById: IElementsById;\n elementsDataById: IElementsEventDataById | null;\n fixturesById: Record | null;\n teamsById: ITeamsById;\n }) =>\n (pick: IPickLight) => {\n if (!initProps.elementsDataById || !initProps.fixturesById) {\n return null;\n }\n const element = initProps.elementsById[pick.element];\n const elementData = initProps.elementsDataById[element.id];\n const fragments: React.ReactNode[] = [];\n let started = 0;\n elementData.explain.forEach((e) => {\n const fixture = initProps.fixturesById![e.fixture];\n if (!fixture.started) {\n fragments.push(\n \n );\n } else {\n started++;\n }\n });\n if (started) {\n fragments.unshift(\n integerToDecimal(\n elementData.stats.total_points * Math.max(pick.multiplier, 1),\n 10\n )\n );\n }\n return fragments.length ? (\n fragments.reduce((result, item) => (\n <>\n {result}\n {\", \"}\n {item}\n \n ))\n ) : (\n -\n );\n };\n\nexport default valueForPlayerElement;\n","import { RouteComponentProps } from \"@reach/router\";\nimport range from \"lodash/range\";\nimport { hideVisually } from \"polished\";\nimport * as React from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled, { css } from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport {\n getElementsById,\n getElementsEventDataById,\n} from \"../../core/store/elements/reducers\";\nimport { fetchEventLive } from \"../../core/store/elements/thunks\";\nimport {\n IElementsById,\n IElementsEventDataById,\n} from \"../../core/store/elements/types\";\nimport {\n getEntry,\n getEntryEventFormation,\n getEntryEventPicks,\n getEntryEventPoints,\n getPhaseStandingsForEntryPhaseLeague,\n} from \"../../core/store/entries/reducers\";\nimport {\n fetchEntryEventPicks,\n fetchEntryPhaseStandings,\n fetchEntrySummary,\n} from \"../../core/store/entries/thunks\";\nimport {\n IEntry,\n IEntryEvent,\n IEntryPhaseStanding,\n IPickLight,\n} from \"../../core/store/entries/types\";\nimport {\n getCurrentEvent,\n getEventsById,\n} from \"../../core/store/events/reducers\";\nimport { IEvent } from \"../../core/store/events/types\";\nimport { getFixturesForEventById } from \"../../core/store/fixtures/reducers\";\nimport { fetchFixtures } from \"../../core/store/fixtures/thunks\";\nimport { IFixture } from \"../../core/store/fixtures/types\";\nimport { getSettings } from \"../../core/store/game/reducers\";\nimport { ISettings } from \"../../core/store/game/types\";\nimport { getPhases } from \"../../core/store/phases/reducers\";\nimport { IPhase } from \"../../core/store/phases/types\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { IPlayer } from \"../../core/store/player/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { ITeamsById } from \"../../core/store/teams/types\";\nimport { ReactComponent as BaseReload } from \"../../img/icons/reload.svg\";\nimport { ChipName, getChipName } from \"../../utils/chips\";\nimport { integerToDecimal } from \"../../utils/decimal\";\nimport ButtonLink from \"../ButtonLink\";\nimport Entry from \"../Entry\";\nimport Fixtures from \"../Fixtures\";\nimport { Main, Secondary, Wrapper } from \"../Layout\";\nimport Link from \"../Link\";\nimport {\n EventPager,\n PagerButton,\n PagerButtonNext,\n PagerHeading,\n} from \"../Pager\";\nimport { NotFound } from \"../Routes\";\nimport Table from \"../Table\";\nimport Title from \"../Title\";\nimport { ControlArrowEnd, ControlArrowStart } from \"../icons/Arrows\";\nimport DreamTeam from \"../icons/DreamTeam\";\nimport { ScoreboardBox } from \"../squad/Scoreboard\";\nimport TabPanel from \"../tabs/TabPanel\";\nimport Tabs from \"../tabs/Tabs\";\nimport BenchUnit from \"./BenchUnit\";\nimport ElementExplainDialog from \"./ElementExplainDialog\";\nimport EntryEventTable from \"./EntryEventTable\";\nimport PitchFormation from \"./PitchFormation\";\nimport TeamElementGroup from \"./TeamElementGroup\";\nimport { BenchElements } from \"./styles\";\nimport valueForPlayerElement from \"./valueForPlayedElement\";\nimport { VisuallyHidden } from \"../Utils\";\nimport { isRTL } from \"../../utils/locale\";\nimport i18n from \"../../i18n\";\n\nconst PrimaryPanel = styled.div`\n position: relative;\n padding: 1.2rem 0;\n`;\n\nconst ScoreboardBoxWrapper = styled.div`\n display: flex;\n gap: 1rem;\n`;\n\nconst PointsScoreboard = styled.div`\n display: flex;\n flex-direction: column;\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n flex-direction: row;\n align-items: start;\n }\n`;\n\nconst PrimarySection = styled.div`\n margin-bottom: ${(props) => props.theme.space[2]};\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n flex: 0 0 45%;\n padding-inline-end: ${(props) => props.theme.space[2]};\n }\n`;\n\nconst SecondarySection = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n flex: 0 0 55%;\n }\n`;\n\nconst PrimaryHeading = styled.h4`\n margin: 0;\n font-family: ${(props) => props.theme.fonts.body};\n font-size: 1.6rem;\n font-weight: 500;\n`;\n\nconst PrimaryValue = styled.div`\n font-family: ${(props) => props.theme.fonts.body};\n font-size: 4.3rem;\n font-weight: 500;\n padding: 0.2rem 0;\n`;\n\nconst ReloadButton = styled.button`\n position: absolute;\n bottom: 0.5rem;\n ${isRTL(i18n.language)\n ? css`\n right: 0;\n `\n : css`\n left: 0;\n `}\n padding: ${({ theme }) => theme.space[1]};\n border: 0;\n background-color: ${({ theme }) => theme.colors.primary};\n line-height: 1;\n cursor: pointer;\n`;\n\nconst Reload = styled(BaseReload)`\n fill: white;\n ${isRTL(i18n.language)\n ? css`\n transform: scaleX(-1);\n `\n : css`\n transform: scaleX(1);\n `}\n`;\n\nconst ReloadButtonText = styled.span`\n ${hideVisually()}\n`;\n\nconst SecondaryList = styled.ul`\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n margin: 0;\n padding: 0;\n list-style-type: none;\n`;\n\nconst StyledSecondaryItem = styled.li`\n flex: 0 0 calc(50% - 0.5rem);\n margin-bottom: ${(props) => props.theme.space[2]};\n &:last-child {\n flex: 1;\n }\n`;\n\nconst SecondaryItemInner = styled.div`\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n font-family: ${(props) => props.theme.fonts.body};\n font-size: 1.6rem;\n`;\n\nconst SecondaryHeading = styled.h4`\n flex: 1 0 auto;\n margin: 0;\n font-weight: 500;\n text-align: center;\n font-size: 1.4rem;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n text-align: start;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n font-size: 1.6rem;\n }\n`;\n\nconst SecondaryValue = styled.div`\n flex: 1;\n text-align: center;\n font-weight: 500;\n font-size: 2.6rem;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n text-align: end;\n }\n`;\n\n// const DreamTeamLinkIcon = styled(BaseDreamTeam)`\n// ${size(16)}\n// margin-right: ${({ theme }) => theme.space[1]};\n// color: white;\n// fill: #005baa;\n// `;\n\n// const DreamTeamLink = styled(Link)`\n// display: inline-flex;\n// align-items: center;\n// justify-content: space-around;\n// border-radius: 15px;\n// padding: 0.6rem;\n// background-color: white;\n// text-decoration: none;\n// `;\n\nconst ChipStatus = styled.div`\n position: absolute;\n ${isRTL(i18n.language)\n ? css`\n right: 13%;\n `\n : css`\n left: 13%;\n `}\n bottom: -1rem;\n width: 88%;\n padding: 0.6rem;\n border-radius: ${({ theme }) => `${theme.radii[1]} ${theme.radii[1]} 0 0`};\n background-image: linear-gradient(\n to right,\n ${({ theme }) => theme.colors.primary},\n ${({ theme }) => theme.colors.blue}\n );\n color: white;\n font-size: 1.2rem;\n font-family: ${({ theme }) => theme.fonts.body};\n text-align: center;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n ${isRTL(i18n.language)\n ? css`\n right: 10%;\n `\n : css`\n left: 10%;\n `}\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[4]}) {\n ${isRTL(i18n.language)\n ? css`\n right: 13%;\n `\n : css`\n left: 13%;\n `}\n }\n`;\n\ninterface ISecondaryItem {\n heading: string;\n value: React.ReactNode;\n}\n\nconst SecondaryItem: React.FC = ({ heading, value }) => (\n \n \n \n {heading}\n {value}\n \n \n \n);\n\ntype OwnProps = RouteComponentProps<{ entryId: string; eventId: string }> &\n WithTranslation;\n\ninterface IPropsFromState {\n elementsById: IElementsById;\n elementsDataById: IElementsEventDataById;\n entry: IEntry | null;\n entryData: IEntryEvent | null;\n event: IEvent | null;\n fixturesById: Record | null;\n formation: string;\n mine: boolean;\n now: IEvent | null;\n eventPoints: number;\n settings: ISettings;\n teamsById: ITeamsById;\n player: IPlayer;\n entryPhaseStandings: IEntryPhaseStanding | undefined;\n activePhase: IPhase | undefined;\n}\n\ninterface IPropsFromDispatch {\n fetchEntryEventPicks: (entryId: number, eventId: number) => void;\n fetchEntrySummary: (entryId: number) => void;\n fetchEventLive: (entryId: number) => void;\n fetchFixturesForEvent: (eventId: number) => void;\n fetchEntryPhaseStandings: (entryId: number, phaseId: number) => void;\n}\n\ntype Props = OwnProps & IPropsFromState & IPropsFromDispatch;\n\ninterface IState {\n pickForMenu: IPickLight | null;\n}\n\nclass EntryEvent extends React.Component {\n public state: IState = {\n pickForMenu: null,\n };\n\n public handleShowMenuForPickElement = (element: number) => {\n const matches = this.props.entryData!.picks.filter(\n (p) => p.element === element\n );\n if (matches.length) {\n this.setState({ pickForMenu: matches[0] });\n }\n };\n\n public handleHideMenuForPick = () => {\n this.setState({ pickForMenu: null });\n };\n\n public renderDreamTeam = (pick: IPickLight) =>\n this.props.elementsDataById &&\n this.props.elementsDataById[pick.element] &&\n this.props.elementsDataById[pick.element].stats.in_dreamteam ? (\n \n \n \n ) : null;\n\n public fetchDataAndFixtures = () => {\n this.fetchData();\n this.props.fetchFixturesForEvent(Number(this.props.eventId));\n };\n\n public fetchData = () => {\n this.props.fetchEntrySummary(Number(this.props.entryId));\n this.props.fetchEntryEventPicks(\n Number(this.props.entryId),\n Number(this.props.eventId)\n );\n this.props.fetchEventLive(Number(this.props.eventId));\n if (this.props.eventId && this.props.entryId) {\n this.props.fetchEntryPhaseStandings(\n Number(this.props.entryId),\n this.props.activePhase!.id\n );\n }\n };\n\n public componentDidMount() {\n this.fetchData();\n }\n\n public componentDidUpdate(prevProps: Props) {\n if (\n prevProps.eventId !== this.props.eventId ||\n prevProps.entryId !== this.props.entryId\n ) {\n this.fetchData();\n }\n }\n public render() {\n const {\n elementsById,\n elementsDataById,\n entry,\n entryData,\n event,\n fixturesById,\n formation,\n mine,\n now,\n eventPoints,\n settings,\n t,\n teamsById,\n entryPhaseStandings,\n activePhase,\n } = this.props;\n\n // Handle unknown and unstarted events\n if (!now || !event || event.id > now.id) {\n return ;\n }\n if (!entry || !entryData) {\n return null;\n }\n const phasePoints = entryPhaseStandings\n ? Number(entryPhaseStandings.total)\n : 0;\n const chipName = entryData.active_chip\n ? getChipName(entryData.active_chip as ChipName, t)\n : \"\";\n\n // Create a new function on each render as data could have changed and\n // need to ensure a render of connected subcomponents\n const renderPickValue = valueForPlayerElement({\n elementsById,\n elementsDataById,\n fixturesById,\n teamsById,\n });\n const benchHeading: Record = {\n 11: (\n \n {t(\"entryEvent.goalkeeper.abbr\", \"GK\")}\n \n ),\n 12: \"1\",\n 13: \"2\",\n 14: \"3\",\n };\n // Handle events before the entry started\n return (\n \n
\n \n

\n {t(\"entryEvent.title\", \"Points\")} - {entry.name}\n

\n
\n {/* ROUND PAGER */}\n \n \n \n {event.name}\n \n {(event.id > entry.started_event || event.id < now.id) && (\n \n {event.id > entry.started_event && (\n \n \n \n {t(\"entryEvent.prev\", \"Previous\")}\n \n \n )}\n {event.id < now.id && (\n \n \n {t(\"entryEvent.next\", \"Next\")}\n \n \n \n )}\n {/* Also need to check isn't last event */}\n {mine && event.id === now.id && (\n \n \n {t(\"entryEvent.next\", \"Next\")}\n \n \n \n )}\n \n )}\n \n \n {/* SCOREBOARD */}\n \n \n \n \n \n \n {activePhase\n ? t(\n \"entryEvent.activePhase.latestPoints\",\n \"{{ ActivePhaseName }} Points\",\n {\n ActivePhaseName: activePhase.name,\n }\n )\n : t(\"entryPhase.latestPoints\", \"Gameweek not started\")}\n \n \n {integerToDecimal(phasePoints, 10)}\n \n \n \n \n {event.finished\n ? t(\"entryEvent.finalPoints\", \"Final Gameday Points\")\n : t(\"entryEvent.latestPoints\", \"Latest Gameday Points\")}\n \n \n {integerToDecimal(eventPoints, 10)}\n {!event.finished && (\n \n \n {t(\"entryEvent.reload\", \"Reload Points\")}\n \n \n \n )}\n \n \n {chipName && (\n \n {t(\n \"entryEvent.chip.played\",\n \"{{ chipName }} played\",\n {\n chipName: chipName,\n }\n )}\n \n )}\n \n \n \n {/* \n \n \n {t(\"entryEvent.dreamTeam\", \"Team of the Week\")}\n \n \n */}\n \n \n \n \n \n {integerToDecimal(\n event.highest_score as number,\n 10\n ) || \"???\"}\n \n ) : (\n \"-\"\n )\n }\n />\n \n \n \n \n \n\n {/* TEAM */}\n \n \n \n \n \n \n \n \n \n \n {range(\n settings.squad_squadplay,\n settings.squad_squadsize\n ).map((i) => (\n \n this.handleShowMenuForPickElement(\n entryData.picks[i].element\n )\n }\n renderPickValue={renderPickValue}\n />\n ))}\n \n \n \n \n \n \n \n \n \n \n \n\n {entryData.automatic_subs.length > 0 && (\n <>\n \n \n {t(\"entryEvent.autoSubs.title\", \"Automatic Substitutions\")}\n \n \n \n \n \n \n \n \n \n \n {entryData.automatic_subs.map((s) => (\n \n \n \n \n ))}\n \n
{t(\"entryEvent.autoSubs.playerOut\", \"Player out\")}{t(\"entryEvent.autoSubs.playerIn\", \"Player in\")}
{elementsById[s.element_out].web_name}{elementsById[s.element_in].web_name}
\n \n )}\n {this.state.pickForMenu && (\n \n )}\n \n
\n \n \n \n
\n );\n }\n}\nexport { EntryEvent as EntryEventTest };\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: OwnProps\n): IPropsFromState => {\n const entryId = Number(ownProps.entryId);\n const eventId = Number(ownProps.eventId);\n const player = getPlayerData(state) as IPlayer;\n const entry = getEntry(state, entryId);\n const phases = getPhases(state);\n const overallLeague = entry\n ? entry.leagues.classic.filter((l) => l.short_name === \"overall\")\n : null;\n const activePhase = phases.find(\n (p) =>\n p.id > 1 &&\n p.start_event <= Number(eventId) &&\n p.stop_event >= Number(eventId)\n );\n const entryPhaseStandings =\n activePhase && overallLeague\n ? getPhaseStandingsForEntryPhaseLeague(\n state,\n entryId,\n activePhase.id,\n overallLeague[0].id\n )\n : undefined;\n return {\n elementsById: getElementsById(state),\n elementsDataById: getElementsEventDataById(state, eventId),\n entry,\n event: getEventsById(state)[eventId],\n now: getCurrentEvent(state),\n entryData: getEntryEventPicks(state, entryId, eventId),\n fixturesById: getFixturesForEventById(state, eventId),\n formation: getEntryEventFormation(state, entryId, eventId),\n eventPoints: getEntryEventPoints(state, entryId, eventId),\n settings: getSettings(state) as ISettings,\n teamsById: getTeamsById(state),\n mine: Boolean(player && player.entry && player.entry === entryId),\n player,\n entryPhaseStandings,\n activePhase,\n };\n};\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n fetchEntryEventPicks: (entryId, eventId) =>\n dispatch(fetchEntryEventPicks(entryId, eventId)),\n fetchEntrySummary: (entryId) => dispatch(fetchEntrySummary(entryId)),\n fetchEventLive: (eventId) => dispatch(fetchEventLive(eventId)),\n fetchFixturesForEvent: (eventId) => dispatch(fetchFixtures(eventId)),\n fetchEntryPhaseStandings: (entryId: number, phaseId: number) =>\n dispatch(fetchEntryPhaseStandings(entryId, phaseId)),\n});\n\n// Have to split declarations due to TS error - https://github.com/DefinitelyTyped/DefinitelyTyped/issues/50211\nconst connected = connect(\n mapStateToProps,\n mapDispatchToProps\n)(withTranslation()(EntryEvent));\nconst translated = withTranslation()(connected);\n\nexport default translated;\n","import { Trans, useTranslation } from \"react-i18next\";\nimport styled from \"styled-components/macro\";\n\ninterface IChipStatus {\n status: string;\n daysLeft: number;\n}\n\nconst ChipGamedayCounter = styled.div`\n flex: 1 1 0;\n display: flex;\n gap: ${({ theme }) => theme.space[4]};\n align-self: stretch;\n align-items: center;\n justify-content: center;\n padding: ${(props) => props.theme.space[5]} ${(props) => props.theme.space[2]};\n border-radius: ${(props) => props.theme.radii[0]};\n border: 2px solid #14c6ba;\n background-color: ${(props) =>\n props.status === \"active\" ? \"#14c6ba\" : \"white\"};\n font-weight: 600;\n text-transform: uppercase;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n padding: ${(props) => props.theme.space[3]};\n ${(props) => props.theme.space[2]};\n }\n`;\n\nconst GamedayCounterString = styled.h3`\n text-align: left;\n text-transform: uppercase;\n width: min-content;\n margin: 0;\n`;\n\nconst GamedayCounterNumber = styled.div`\n align-self: center;\n font-family: ${(theme) => theme.theme.fonts.action};\n font-style: italic;\n font-size: 4rem;\n font-weight: 600;\n`;\n\nconst ChipStatus = ({ status, daysLeft }: IChipStatus) => {\n const { t } = useTranslation();\n if (status === \"active\") {\n return (\n \n {t(\"chipStatus.active\", \"active\")}\n \n );\n }\n if (status === \"played\") {\n return (\n \n {t(\"chipStatus.unavailable\", \"unavailable until next GW\")}\n \n );\n }\n if (daysLeft < 2) {\n return (\n \n \n {t(\"chipStatus.last\", \"Final Gameday to use\")}\n \n \n );\n }\n return (\n \n \n Gamedays remaining\n {{ daysLeft }}\n \n \n );\n};\n\nexport default ChipStatus;\n","import React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { RootState } from \"../../core/store\";\nimport { getActiveOrProposedTeamChipName } from \"../../core/store/chips/reducers\";\nimport { getElementTypesById } from \"../../core/store/element-types/reducers\";\nimport { getElement } from \"../../core/store/elements/reducers\";\nimport { getNextEvent } from \"../../core/store/events/reducers\";\nimport { getFixturesByEvent } from \"../../core/store/fixtures/reducers\";\nimport { IPickProposed } from \"../../core/store/my-team/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { integerToDecimal } from \"../../utils/decimal\";\nimport { getNextElementFixtures } from \"../../utils/fixtures\";\nimport ElementDialogButton from \"../ElementDialogButton\";\nimport ElementInTable from \"../ElementInTable\";\nimport { ElementCell, ElementRow } from \"../ElementTable\";\nimport FixtureForElement from \"../FixtureForElement\";\nimport TeamElementIcon from \"./TeamElementIcon\";\n\ninterface IMyTeamRowProps {\n pick: IPickProposed;\n elementId: number;\n renderElementMenu: (index: number) => void;\n}\n\nconst MyTeamRow: React.FC = ({\n pick,\n elementId,\n renderElementMenu,\n}) => {\n const chipInPlayName = useSelector(getActiveOrProposedTeamChipName);\n const element = useSelector((state: RootState) =>\n getElement(state, elementId)\n );\n\n const fixturesByEvent = useSelector(getFixturesByEvent);\n const nextEvent = useSelector(getNextEvent);\n const neededFixtures = 3;\n const elementFixtures =\n element &&\n getNextElementFixtures(nextEvent, neededFixtures, fixturesByEvent, element);\n\n const elementTypesById = useSelector(getElementTypesById);\n const teamsById = useSelector(getTeamsById);\n\n if (!element) {\n return null;\n }\n\n return (\n \n \n \n \n \n \n \n \n renderElementMenu(pick.element)}\n elementId={element.id}\n />\n \n {elementTypesById[element.element_type].singular_name_short}\n {integerToDecimal(Number(element.form), 10)}\n {integerToDecimal(element.event_points, 10)}\n {integerToDecimal(element.total_points, 10)}\n {elementFixtures?.map((fixture) =>\n fixture.code ? (\n \n \n \n ) : (\n {\"-\"}\n )\n )}\n \n );\n};\n\nexport default MyTeamRow;\n","import * as React from \"react\";\nimport { withTranslation, WithTranslation } from \"react-i18next\";\nimport { connect, useSelector } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { RootState } from \"../../core/store\";\nimport { getActiveOrProposedTeamChipName } from \"../../core/store/chips/reducers\";\nimport { getElementTypesById } from \"../../core/store/element-types/reducers\";\nimport { getElementsById } from \"../../core/store/elements/reducers\";\nimport { getNextNEvents } from \"../../core/store/events/reducers\";\nimport { IPickProposed } from \"../../core/store/my-team/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { getPrefixedEventShortName } from \"../../utils/events\";\nimport { ElementTable } from \"../ElementTable\";\nimport { ScrollTable } from \"../Table\";\nimport Tooltip, { TooltipLabel } from \"../Tooltip\";\nimport MyTeamRow from \"./MyTeamRow\";\nimport i18n from \"../../i18n\";\n\nconst MyTeamStatus = styled.th`\n width: 5%;\n`;\n\nconst MyTeamCpt = styled.th`\n width: 5%;\n`;\n\nconst MyTeamElement = styled.th`\n width: 34%;\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n width: 23%;\n }\n`;\n\nconst MyTeamPos = styled.th`\n width: 12%;\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n width: 10%;\n }\n`;\n\nconst MyTeamForm = styled.th`\n width: 11%;\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n width: 10%;\n }\n`;\n\nconst MyTeamGD = styled.th`\n width: 11%;\n`;\n\nconst MyTeamPts = styled.th`\n width: 11%;\n`;\n\nconst MyTeamFix = styled.th`\n width: 14%;\n @media (min-width: ${({ theme }) => theme.breakpoints[1]}) {\n width: 11%;\n }\n`;\n\ninterface IOwnProps {\n picks: IPickProposed[];\n renderElementMenu: (index: number) => void;\n title: string;\n}\n\ntype Props = IOwnProps & WithTranslation;\n\nconst MyTeamTable: React.FC = ({\n t,\n picks,\n renderElementMenu,\n title,\n}) => {\n const next3Events = useSelector(getNextNEvents(3));\n return (\n \n \n \n \n  \n  \n {title}\n \n \n \n {t(\"myTeamTable.postitionShort\", \"Pos\")}\n \n \n \n {i18n.language === \"he\" ? (\n \n \n {t(\"myTeamTable.formShort\", \"F\")}\n \n \n ) : (\n \n {t(\"myTeamTable.form\", \"Form\")}\n \n )}\n\n \n \n \n {t(\"myTeamTable.roundPointsShort\", \"GD\")}\n \n \n \n \n \n \n {t(\"myTeamTable.totalPointsShort\", \"TP\")}\n \n \n \n {next3Events.length\n ? next3Events.map((e) => (\n \n {getPrefixedEventShortName(e.name)}\n \n ))\n : null}\n \n \n \n {picks.map((p) => (\n \n ))}\n \n \n \n );\n};\n\nexport { MyTeamTable as MyTeamTableTest };\n\nconst mapStateToProps = (state: RootState) => {\n return {\n chipInPlayName: getActiveOrProposedTeamChipName(state),\n elementsById: getElementsById(state),\n elementTypesById: getElementTypesById(state),\n teamsById: getTeamsById(state),\n };\n};\n\nexport default withTranslation()(connect(mapStateToProps)(MyTeamTable));\n","import { range } from \"lodash\";\nimport * as React from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { RootState, SavingState, ThunkDispatch } from \"../../core/store\";\nimport {\n cancelActiveChip,\n cancelProposedChip,\n proposeAvailableChip,\n restoreCancelledChip,\n} from \"../../core/store/chips/actions\";\nimport {\n getActiveChip,\n getActiveOrProposedAllChipName,\n getActiveOrProposedTeamChipName,\n getPotentialChips,\n teamChipsHaveChanged,\n} from \"../../core/store/chips/reducers\";\nimport { IPotentialChip } from \"../../core/store/chips/types\";\nimport { getElementsById } from \"../../core/store/elements/reducers\";\nimport { showElementSummary } from \"../../core/store/elements/thunks\";\nimport { IElement, IElementsById } from \"../../core/store/elements/types\";\nimport { getEntry } from \"../../core/store/entries/reducers\";\nimport { fetchEntrySummary } from \"../../core/store/entries/thunks\";\nimport { IEntry, IPickLight } from \"../../core/store/entries/types\";\nimport {\n getCurrentEvent,\n getEventsById,\n getNextEvent,\n} from \"../../core/store/events/reducers\";\nimport { IEvent, IEventsById } from \"../../core/store/events/types\";\nimport { getFixturesForNextEventByTeam } from \"../../core/store/fixtures/reducers\";\nimport { IFixturesForEventByTeam } from \"../../core/store/fixtures/types\";\nimport { getSettings } from \"../../core/store/game/reducers\";\nimport { ISettings } from \"../../core/store/game/types\";\nimport { changeCaptain } from \"../../core/store/my-team/actions\";\nimport {\n getMyFormation,\n getMyPicksProposed,\n getMyTeamSavingState,\n hasMyTeamChanged,\n isMyTeamValid,\n} from \"../../core/store/my-team/reducers\";\nimport {\n actionSubstitution,\n fetchMyTeam,\n saveMyTeam,\n} from \"../../core/store/my-team/thunks\";\nimport { IPickProposed } from \"../../core/store/my-team/types\";\nimport { getPhases } from \"../../core/store/phases/reducers\";\nimport { IPhase } from \"../../core/store/phases/types\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport { ILoggedInPlayer } from \"../../core/store/player/types\";\nimport { getTeamsById } from \"../../core/store/teams/reducers\";\nimport { ITeamsById } from \"../../core/store/teams/types\";\nimport {\n formatRawAsISO,\n formatRawAsLocalI18n,\n} from \"../../core/utils/datetime\";\nimport { dateLocales } from \"../../i18n\";\nimport { ReactComponent as ArrowRight } from \"../../img/icons/arrow-right.svg\";\nimport { ChipName, getAllChipDetails } from \"../../utils/chips\";\nimport { getPrefixedEventShortName } from \"../../utils/events\";\nimport { createInteractionData, createPageViewData } from \"../../utils/tealium\";\nimport Alert from \"../Alert\";\nimport Button from \"../Button\";\nimport DeadlineBar from \"../DeadlineBar\";\nimport Dialog, { DialogButtonItem } from \"../Dialog\";\nimport Entry from \"../Entry\";\nimport { FixturesForElement } from \"../FixtureForElement\";\nimport Fixtures from \"../Fixtures\";\nimport { Main, Secondary, Wrapper } from \"../Layout\";\nimport Link from \"../Link\";\nimport Tooltip from \"../Tooltip\";\nimport DreamTeam from \"../icons/DreamTeam\";\nimport SaveBar from \"../squad/SaveBar\";\nimport TabPanel from \"../tabs/TabPanel\";\nimport Tabs from \"../tabs/Tabs\";\nimport BenchUnit from \"./BenchUnit\";\nimport ChipStatus from \"./ChipStatus\";\nimport MyTeamTable from \"./MyTeamTable\";\nimport PitchFormation from \"./PitchFormation\";\nimport TeamElementGroup from \"./TeamElementGroup\";\nimport { BenchElements } from \"./styles\";\n\nconst ChipSection = styled.div`\n margin: ${({ theme }) => theme.space[4]} 0 ${({ theme }) => theme.space[7]};\n padding: ${({ theme }) => theme.space[1]};\n border-radius: ${(props) => props.theme.radii[0]};\n list-style-type: none;\n background-image: linear-gradient(\n to right,\n ${(props) => props.theme.colors.blueDark},\n ${(props) => props.theme.colors.blue}\n );\n`;\n\nconst Chip = styled.div`\n text-align: center;\n`;\n\nconst ChipHeading = styled.h3`\n margin: ${({ theme }) => theme.space[2]} 0;\n font-family: ${({ theme }) => theme.fonts.body};\n font-size: ${({ theme }) => theme.fontSizes[3]};\n font-weight: 600;\n text-align: left;\n color: ${({ theme }) => theme.colors.white};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n margin ${({ theme }) => theme.space[2]} ${({ theme }) => theme.space[1]};\n }\n`;\n\nconst ChipSeparator = styled.div`\n display: none;\n align-self: stretch;\n border-radius: ${(props) => props.theme.radii[0]};\n background-color: ${({ theme }) => theme.colors.greyBlue};\n width: 2px;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n display: block;\n }\n`;\n\nconst ChipInfo = styled.p`\n flex: 1 1 0;\n text-align: left;\n margin: 0;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n margin: ${({ theme }) => theme.space[1]};\n }\n`;\n\nconst ButtonHeight = styled.div`\n flex: 1 1 0;\n align-self: stretch;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n align-self: center;\n }\n`;\n\nconst ChipBorder = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: ${(props) => props.theme.space[4]};\n padding: ${(props) => `${props.theme.space[4]} ${props.theme.space[2]}`};\n border-radius: ${(props) => props.theme.radii[0]};\n background-color: white;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n flex-direction: row;\n padding: ${(props) => props.theme.space[2]};\n }\n`;\n\nconst ChipLink = styled(Link)`\n position: relative;\n display: block;\n padding: 0.6rem 2.7rem 0.5rem;\n border-radius: 4px;\n background-color: ${({ theme }) => theme.colors.greyBlue};\n color: #333;\n text-transform: uppercase;\n\n :hover {\n text-decoration: none;\n }\n`;\n\nconst ChipLinkArrow = styled(ArrowRight)`\n position: absolute;\n top: 50%;\n right: ${({ theme }) => theme.space[2]};\n transform: translateY(-50%);\n fill: currentColor;\n cursor: pointer;\n`;\n\nconst renderPickValue =\n (initProps: {\n elementsById: IElementsById;\n fixturesForNextEventByTeam: IFixturesForEventByTeam;\n teamsById: ITeamsById;\n }) =>\n (pick: IPickLight) => {\n const element = initProps.elementsById[pick.element];\n return (\n \n );\n };\n\nconst PlayerActions = styled.div`\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n width: 50%;\n margin: 0 auto;\n }\n`;\n\nconst Note = styled.p`\n color: #6c6c6c;\n text-align: center;\n`;\n\nconst StyledLink = styled(Link)`\n color: ${(props) => props.theme.colors.white};\n text-decoration: underline;\n`;\n\ninterface IPropsFromState {\n activeChip: IPotentialChip | null;\n changed: boolean;\n chipInPlayName: string | null;\n chipAllPlayName: string | null;\n chips: IPotentialChip[];\n chipsChanged: boolean;\n entry: IEntry | null;\n elementsById: IElementsById;\n fixturesForNextEventByTeam: IFixturesForEventByTeam;\n formation: string;\n nextEvent: IEvent | null;\n now: IEvent | null;\n picks: IPickProposed[];\n player: ILoggedInPlayer;\n savingState: SavingState;\n settings: ISettings;\n teamsById: ITeamsById;\n valid: boolean;\n eventsById: IEventsById;\n phases: IPhase[];\n}\n\ninterface IPropsFromDispatch {\n cancelChip: (name: string) => void;\n deactivateChip: (name: string) => void;\n fetchEntrySummary: (entryId: number) => void;\n fetchMyTeam: () => void;\n makeCaptain: (elementId: number) => void;\n proposeChip: (name: string) => void;\n restoreChip: (name: string) => void;\n save: () => void;\n showElementDialog: (elementId: number) => void;\n substitute: (elementId: number) => void;\n}\n\ntype Props = WithTranslation & IPropsFromState & IPropsFromDispatch;\n\ninterface IState {\n pickForMenu: IPickProposed | null;\n}\n\nclass MyTeam extends React.Component {\n public state: IState = {\n pickForMenu: null,\n };\n\n public handleShowMenuForPickElement = (element: number) => {\n const matches = this.props.picks.filter((p) => p.element === element);\n if (matches.length) {\n this.setState({ pickForMenu: matches[0] });\n }\n };\n\n public handleHideMenuForPick = () => {\n this.setState({ pickForMenu: null });\n };\n\n public renderDreamTeam = (pick: IPickLight) =>\n this.props.elementsById[pick.element].in_dreamteam ? (\n \n \n \n ) : null;\n\n public action = (type: \"substitute\" | \"makeCaptain\", element: number) => {\n this.handleHideMenuForPick();\n this.props[type](element);\n if (type === \"makeCaptain\") {\n createInteractionData({\n contentTitle: \"edit lineup\",\n interactionId: \"nba-fantasy-game:make-captain:button\",\n interactionText: this.props.t(\n \"myTeam.menuDialog.makeCaptain\",\n \"Make Captain\"\n ),\n });\n }\n };\n\n public showDialog = (element: IElement) => {\n this.props.showElementDialog(element.id);\n this.handleHideMenuForPick();\n };\n\n public renderMenu() {\n const pick = this.state.pickForMenu;\n if (!pick) {\n return null;\n }\n const element = this.props.elementsById[pick.element];\n const status = pick.subStatus;\n const startMax = this.props.settings.squad_squadplay;\n const activeChip = this.props.activeChip;\n const chipInPlayName = this.props.chipInPlayName;\n const showCaptButton =\n activeChip?.name === \"phcapt\"\n ? true\n : chipInPlayName === \"phcapt\"\n ? true\n : false;\n const t = this.props.t;\n return (\n \n \n {`${element.first_name} ${element.second_name}`}\n \n \n \n {status.match(/^(target|)$/) && (\n \n this.action(\"substitute\", pick.element)}\n fullwidth=\"true\"\n variant=\"tertiary\"\n >\n {t(\"myTeam.menuDialog.switch\", \"Switch\")}\n \n \n )}\n {status === \"instigator\" && (\n \n this.action(\"substitute\", pick.element)}\n fullwidth=\"true\"\n >\n {t(\"myTeam.menuDialog.cancel\", \"Cancel\")}\n \n \n )}\n {!status &&\n pick.position <= startMax &&\n !pick.is_captain &&\n showCaptButton && (\n \n this.action(\"makeCaptain\", pick.element)}\n fullwidth=\"true\"\n >\n {t(\"myTeam.menuDialog.makeCaptain\", \"Make Captain\")}\n \n \n )}\n \n this.showDialog(element)}\n fullwidth=\"true\"\n variant=\"secondary\"\n >\n {t(\"myTeam.menuDialog.viewInfo\", \"View Information\")}\n \n \n \n \n \n );\n }\n\n public componentDidMount() {\n this.props.fetchMyTeam();\n this.props.fetchEntrySummary(this.props.player.entry);\n createPageViewData(\"edit lineup\");\n }\n\n public renderChipAction(c: IPotentialChip) {\n const {\n cancelChip,\n chipInPlayName,\n deactivateChip,\n entry,\n proposeChip,\n restoreChip,\n t,\n eventsById,\n } = this.props;\n switch (c.status_for_entry) {\n case \"available\":\n case \"unavailable\":\n return (\n proposeChip(c.name)}\n disabled={Boolean(chipInPlayName)}\n variant=\"secondary\"\n fullwidth=\"true\"\n >\n {t(\"myTeam.play\", \"Play\")}\n \n );\n case \"proposed\":\n return (\n cancelChip(c.name)}\n fullwidth=\"true\"\n variant=\"tertiary\"\n >\n {t(\"myTeam.cancel\", \"Cancel\")}\n \n );\n case \"active\":\n return (\n \n );\n case \"cancelled\":\n return (\n restoreChip(c.name)}\n disabled={Boolean(chipInPlayName)}\n fullwidth=\"true\"\n variant=\"tertiary\"\n >\n {t(\"myTeam.restore\", \"Restore\")}\n \n );\n case \"played\":\n if (!entry) {\n return (\n <>\n
{t(\"myTeam.played\", \"Played\")}
\n
\n {getPrefixedEventShortName(\n eventsById[c.played_by_entry[0]].name\n )}\n
\n \n );\n }\n return (\n \n
\n
{t(\"myTeam.played\", \"Played\")}
\n
\n {getPrefixedEventShortName(\n eventsById[c.played_by_entry[0]].name\n )}\n
\n \n
\n
\n );\n\n default:\n return \"\";\n }\n }\n\n public render() {\n const {\n activeChip,\n changed,\n chipAllPlayName,\n chips,\n chipsChanged,\n elementsById,\n entry,\n fixturesForNextEventByTeam,\n formation,\n i18n,\n nextEvent,\n now,\n phases,\n picks,\n save,\n savingState,\n settings,\n t,\n teamsById,\n valid,\n } = this.props;\n\n const handleSaveTeam = () => {\n createInteractionData({\n contentTitle: \"edit lineup\",\n interactionId: \"nba-fantasy-game:save-team:button\",\n interactionText: t(\"myTeam.saveTeam\", \"Save Your Team\"),\n });\n save();\n };\n\n if (!entry || !picks.length) {\n return null;\n }\n\n // Create a new function on each render as fixtures could have changed and\n // need to ensure a render of connected subcomponents\n const _renderPickValue = renderPickValue({\n elementsById,\n teamsById,\n fixturesForNextEventByTeam,\n });\n const benchHeading: Record = {\n 5: \"\",\n 6: \"\",\n 7: \"\",\n 8: \"\",\n 9: \"\",\n };\n const chipDetails = getAllChipDetails(t);\n const phaseCaptainChip = chips.find((c) => c.name === \"phcapt\");\n const activePhaseEvent = now ? now.id : 1;\n const activePhase = phases.find(\n (p) =>\n p.id > 1 &&\n p.start_event <= activePhaseEvent &&\n p.stop_event >= activePhaseEvent\n );\n const nextPhase = activePhase\n ? phases.find((ph) => ph.id === activePhase.id + 1)\n : null;\n let daysLeft = now && activePhase ? activePhase.stop_event - now.id : 0;\n if (now && daysLeft === 0 && nextPhase) {\n daysLeft = nextPhase.stop_event - now.id;\n }\n\n return (\n <>\n \n
\n {nextEvent && (\n <>\n \n \n \n \n )}\n \n \n \n \n \n \n \n \n \n \n {range(\n settings.squad_squadplay,\n settings.squad_squadsize\n ).map((i) => (\n \n this.handleShowMenuForPickElement(picks[i].element)\n }\n renderDreamTeam={this.renderDreamTeam}\n renderPickValue={_renderPickValue}\n />\n ))}\n \n \n \n \n \n \n \n \n \n \n \n {activeChip?.chip_type === \"transfer\" ? (\n \n \n

\n {t(\"myTeam.alerts.transferChip\", \"{{ chipName }} Active\", {\n chipName: chipDetails[activeChip.name as ChipName].name,\n })}\n

\n
\n
\n ) : (\n phaseCaptainChip && (\n <>\n \n

\n {t(\n \"myTeam.alerts.chipInfoUpdate.p1n\",\n \"How you pick your captain has changed. Read more about what's new in the game via the\"\n )}{\" \"}\n \n {t(\"myTeam.alerts.chipInfoUpdate.p2n\", \"'Updates'\")}\n {\" \"}\n {t(\"myTeam.alerts.chipInfoUpdate.p3n\", \"section.\")}\n

\n
\n \n \n \n \n {chipDetails[phaseCaptainChip.name as ChipName].name}\n \n \n \n \n {t(\n \"myTeam.chip.CaptChip\",\n \"Pick a captain to double their score. This chip can be used ONCE per gameweek.\"\n )}\n \n {now && (\n <>\n \n \n \n )}\n \n \n {this.renderChipAction(phaseCaptainChip)}\n \n \n \n \n \n )\n )}\n {savingState === \"saved\" ? (\n \n \n {t(\"myTeam.alerts.teamSaved\", \"Your team has been saved.\")}\n \n \n ) : (\n <>\n \n \n {t(\"myTeam.saveTeam\", \"Save Your Team\")}\n \n \n \n \n {t(\n \"myTeam.explain.p1\",\n \"Only your starting 5 players will score points. Move players with a fixture into the starting 5.\"\n )}{\" \"}\n
\n {t(\n \"myTeam.explain.p2\",\n \"If your starter doesn't play, automatic substitutions will be made in the priority order selected below.\"\n )}{\" \"}\n
\n {t(\n \"myTeam.explain.p3\",\n \"To change your captain use the menu which appears when clicking on a player.\"\n )}\n
\n
\n \n )}\n {this.renderMenu()}\n \n
\n \n \n \n
\n \n );\n }\n}\n\nexport { MyTeam as MyTeamTest };\n\nconst mapStateToProps = (state: RootState): IPropsFromState => {\n const player = getPlayerData(state) as ILoggedInPlayer; // enforced by EntryRoute\n return {\n activeChip: getActiveChip(state),\n chipInPlayName: getActiveOrProposedTeamChipName(state),\n chipAllPlayName: getActiveOrProposedAllChipName(state),\n changed: hasMyTeamChanged(state),\n chips: getPotentialChips(state),\n chipsChanged: teamChipsHaveChanged(state),\n elementsById: getElementsById(state),\n entry: getEntry(state, player.entry),\n fixturesForNextEventByTeam: getFixturesForNextEventByTeam(state),\n formation: getMyFormation(state),\n now: getCurrentEvent(state),\n nextEvent: getNextEvent(state),\n phases: getPhases(state),\n picks: getMyPicksProposed(state),\n player,\n savingState: getMyTeamSavingState(state),\n settings: getSettings(state) as ISettings,\n teamsById: getTeamsById(state),\n valid: isMyTeamValid(state),\n eventsById: getEventsById(state),\n };\n};\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n cancelChip: (name) => dispatch(cancelProposedChip(name)),\n deactivateChip: (name) => dispatch(cancelActiveChip(name)),\n fetchEntrySummary: (entryId) => dispatch(fetchEntrySummary(entryId)),\n fetchMyTeam: () => dispatch(fetchMyTeam()),\n makeCaptain: (elementId) => dispatch(changeCaptain(elementId)),\n proposeChip: (name) => dispatch(proposeAvailableChip(name)),\n restoreChip: (name) => dispatch(restoreCancelledChip(name)),\n save: () => dispatch(saveMyTeam()),\n showElementDialog: (elementId) => dispatch(showElementSummary(elementId)),\n substitute: (elementId) => dispatch(actionSubstitution(elementId)),\n});\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(MyTeam)\n);\n","import { RouteComponentProps } from \"@reach/router\";\nimport moment from \"moment\";\nimport * as React from \"react\";\nimport { WithTranslation, withTranslation } from \"react-i18next\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../core/store\";\nimport { getElementsById } from \"../core/store/elements/reducers\";\nimport { showElementSummary } from \"../core/store/elements/thunks\";\nimport { IElementsById } from \"../core/store/elements/types\";\nimport { getEntry, getTransfersForEntry } from \"../core/store/entries/reducers\";\nimport {\n fetchEntrySummary,\n fetchEntryTransfers,\n} from \"../core/store/entries/thunks\";\nimport { IEntry, ITransfer } from \"../core/store/entries/types\";\nimport { getPlayerData } from \"../core/store/player/reducers\";\nimport { getLatestTransfers } from \"../core/store/squad/reducers\";\nimport { fetchLatestTransfers } from \"../core/store/squad/thunks\";\nimport Entry from \"./Entry\";\nimport { getPrefixedEventShortName } from \"../utils/events\";\nimport { Main, Secondary, Wrapper } from \"./Layout\";\nimport Table from \"./Table\";\nimport Title from \"./Title\";\nimport { getEventsById } from \"../core/store/events/reducers\";\nimport { IEventsById } from \"../core/store/events/types\";\n\nconst DialogButton = styled.button`\n padding: 0;\n border: 0;\n background-color: transparent;\n font-size: inherit;\n text-decoration: none;\n text-align: left;\n cursor: pointer;\n\n &:hover {\n text-decoration: underline;\n }\n`;\n\ntype OwnProps = RouteComponentProps<{ entryId: string }>;\n\ninterface IPropsFromState {\n elementsById: IElementsById;\n entry: IEntry | null;\n eventsById: IEventsById;\n latestTransfers: ITransfer[];\n mine: boolean;\n transfersHistory: ITransfer[];\n}\n\ninterface IPropsFromDispatch {\n fetchEntrySummary: (entryId: number) => void;\n fetchEntryTransfers: (entryId: number) => void;\n fetchLatestTransfers: () => void;\n showElementDialog: (elementId: number) => void;\n}\n\ntype Props = OwnProps & WithTranslation & IPropsFromState & IPropsFromDispatch;\n\nclass TransfersHistory extends React.Component {\n public componentDidMount() {\n this.props.fetchEntrySummary(Number(this.props.entryId));\n this.props.fetchEntryTransfers(Number(this.props.entryId));\n if (this.props.mine) {\n this.props.fetchLatestTransfers();\n }\n }\n\n public render() {\n const {\n elementsById,\n entryId,\n eventsById,\n latestTransfers,\n showElementDialog,\n transfersHistory,\n t,\n } = this.props;\n\n return (\n \n
\n \n {t(\"transfersHistory.title\", \"Transactions\")}\n \n {transfersHistory.length || latestTransfers.length ? (\n <>\n \n \n \n \n \n \n \n \n \n \n \n {latestTransfers.concat(transfersHistory).map((t) => (\n \n \n \n \n \n \n ))}\n \n
{t(\"transfersHistory.time\", \"Time\")}{t(\"transfersHistory.in\", \"In\")}{t(\"transfersHistory.out\", \"Out\")}{t(\"transfersHistory.active\", \"Active\")}
{moment(t.time).format(\"D MMM HH:mm\")}\n \n showElementDialog(elementsById[t.element_in].id)\n }\n >\n {elementsById[t.element_in].web_name}\n \n \n \n showElementDialog(elementsById[t.element_out].id)\n }\n >\n {elementsById[t.element_out].web_name}\n \n \n {getPrefixedEventShortName(eventsById[t.event].name)}\n
\n
\n \n

\n {t(\n \"transfersHistory.p1\",\n \"If you are not logged in or are viewing another player's team then you will only be able to view transactions up to the last deadline.\"\n )}\n

\n
\n \n ) : (\n \n {t(\n \"transfersHistory.p2\",\n \"No transactions have been made yet for this team.\"\n )}\n \n )}\n
\n \n \n \n
\n );\n }\n}\n\nconst mapStateToProps = (state: RootState, ownProps: OwnProps) => {\n const entryId = Number(ownProps.entryId);\n const player = getPlayerData(state);\n let mine = player && player.entry && player.entry === entryId ? true : false;\n let latestTransfers = mine ? getLatestTransfers(state) : [];\n return {\n elementsById: getElementsById(state),\n entry: getEntry(state, entryId),\n eventsById: getEventsById(state),\n latestTransfers,\n mine,\n transfersHistory: getTransfersForEntry(state, entryId),\n };\n};\n\nconst mapDispatchToProps = (dispatch: ThunkDispatch): IPropsFromDispatch => ({\n fetchEntrySummary: (entryId) => dispatch(fetchEntrySummary(entryId)),\n fetchEntryTransfers: (entryId: number) =>\n dispatch(fetchEntryTransfers(entryId)),\n fetchLatestTransfers: () => dispatch(fetchLatestTransfers()),\n showElementDialog: (elementId) => dispatch(showElementSummary(elementId)),\n});\n\nexport default withTranslation()(\n connect(mapStateToProps, mapDispatchToProps)(TransfersHistory)\n);\n","import {\n Location,\n RouteComponentProps,\n Router,\n WindowLocation,\n} from \"@reach/router\";\nimport React, { lazy, Suspense, useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { ConnectedComponent, useSelector } from \"react-redux\";\nimport { getLoginSuccess, getPlayerData } from \"../core/store/player/reducers\";\nimport { IPlayer } from \"../core/store/player/types\";\nimport { createCustomInteractionData } from \"../utils/tealium\";\nimport { Loading } from \"./App\";\nimport Copy from \"./Copy\";\nimport EntryHistory from \"./EntryHistory\";\nimport EntryUnsubscribe from \"./EntryUnsubscribe\";\nimport EntryUpdate from \"./EntryUpdate\";\nimport FixturesWrapper from \"./FixturesWrapper\";\nimport PlayerList from \"./help/PlayerList\";\nimport Home from \"./Home\";\nimport DreamTeam from \"./icons/DreamTeam\";\nimport { Main, Wrapper } from \"./Layout\";\nimport AdminClassic from \"./leagues/AdminClassic\";\nimport AutoJoin from \"./leagues/AutoJoin\";\nimport CreateClassic from \"./leagues/CreateClassic\";\nimport CreateJoin from \"./leagues/CreateJoin\";\nimport Invite from \"./leagues/Invite\";\nimport Join from \"./leagues/Join\";\nimport JoinPrivate from \"./leagues/JoinPrivate\";\nimport JoinPublic from \"./leagues/JoinPublic\";\nimport MyLeagues from \"./leagues/MyLeagues\";\nimport Renew from \"./leagues/Renew\";\nimport StandingsClassic from \"./leagues/StandingsClassic\";\nimport Login from \"./Login\";\nimport PlayerNews from \"./news/playerNews\";\nimport Logout from \"./player/Logout\";\nimport Register from \"./player/Register\";\nimport Prizes from \"./Prizes\";\nimport SquadSelection from \"./squad/SquadSelection\";\nimport Transfers from \"./squad/Transfers\";\nimport Statistics from \"./stats/Statistics\";\nimport EntryEvent from \"./team/EntryEvent\";\nimport MyTeam from \"./team/MyTeam\";\nimport TransfersHistory from \"./TransfersHistory\";\n\nconst Help = lazy(() => import(\"./help/Help\"));\nconst Rules = lazy(() => import(\"./help/Rules\"));\nconst Terms = lazy(() => import(\"./help/Terms\"));\nconst Updates = lazy(() => import(\"./help/Updates\"));\n\ninterface IRouteChangeProps {\n action: () => void;\n}\n\ninterface IRouteChangeWorkerProps {\n location: WindowLocation;\n}\n\ntype RouteChangeProps = IRouteChangeProps & IRouteChangeWorkerProps;\n\nclass OnRouteChangeWorker extends React.Component {\n componentDidUpdate(prevProps: RouteChangeProps) {\n if (this.props.location.pathname !== prevProps.location.pathname) {\n this.props.action();\n }\n }\n\n render() {\n return null;\n }\n}\n\nconst OnRouteChange: React.FC = ({ action }) => (\n \n {({ location }) => (\n \n )}\n \n);\n\ninterface IProtectedRouteProps extends RouteComponentProps {\n as: React.ComponentType | ConnectedComponent;\n player: IPlayer | null;\n}\n\nconst PlayerRoute: React.FC = ({\n as: Component,\n player,\n ...rest\n}) => {\n if (player && !player.entry) {\n return ;\n } else if (player && player.dirty) {\n return ;\n } else {\n return (\n \n
\n \n
\n
\n );\n }\n};\n\nconst EntryRoute: React.FC = ({\n as: Component,\n player,\n ...rest\n}) => {\n if (player && player.entry && !player.dirty) {\n return ;\n } else if (player && player.dirty) {\n return ;\n } else {\n return (\n \n
\n \n
\n
\n );\n }\n};\n\nexport const NotFound: React.FC = () => {\n const { t } = useTranslation();\n return (\n \n
\n \n

{t(\"routes.notFound.title\", \"Page not found\")}

\n

\n {t(\n \"routes.notFound.text\",\n \"Sorry, but the page you were looking for can't be found.\"\n )}\n

\n
\n
\n
\n );\n};\n\nconst Routes: React.FC = () => {\n const player = useSelector(getPlayerData);\n const loginSuccess = useSelector(getLoginSuccess);\n const [hasPlayer, setHasPlayer] = useState(false);\n const [hasLoginSuccess, setHasLoginSuccess] = useState(false);\n\n useEffect(() => {\n if (player) {\n setHasPlayer(true);\n }\n\n if (loginSuccess) {\n setHasLoginSuccess(true);\n }\n\n if (hasPlayer && hasLoginSuccess) {\n const userData = {\n userState: \"authenticated\",\n userId: player?.nbaciamguid,\n };\n createCustomInteractionData({\n contentTitle: \"home\",\n interactionId: \"fantasy:sign-in:success\",\n userData: userData,\n ampEventName: \"User Account: Login Success\",\n });\n setHasLoginSuccess(false);\n }\n }, [loginSuccess, hasLoginSuccess, player, hasPlayer]);\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 \n \n \n window.scrollTo(0, 0)} />\n \n );\n};\n\nexport default Routes;\n","import { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { ThunkDispatch } from \"../core/store\";\nimport { getCurrentEvent } from \"../core/store/events/reducers\";\nimport { fetchFixturesPhase } from \"../core/store/fixtures/thunks\";\nimport { getPhases } from \"../core/store/phases/reducers\";\nimport Routes from \"./Routes\";\n\nconst FixturesLoader: React.FC = () => {\n const reduxDispatch = useDispatch();\n const now = useSelector(getCurrentEvent);\n const activePhaseEvent = now ? now.id : 1;\n const phases = useSelector(getPhases);\n const activePhase = phases.find(\n (p) =>\n p.id > 1 &&\n p.start_event <= activePhaseEvent &&\n p.stop_event >= activePhaseEvent\n );\n const nextPhase = activePhase\n ? phases.find((ph) => ph.id === activePhase.id + 1)\n : null;\n\n useEffect(() => {\n if (activePhase) {\n reduxDispatch(fetchFixturesPhase(activePhase.id));\n if (nextPhase) {\n reduxDispatch(fetchFixturesPhase(nextPhase.id));\n }\n }\n }, [activePhase, nextPhase, reduxDispatch]);\n return ;\n};\nexport default FixturesLoader;\n","var _g, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFdj18(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 19,\n height: 19,\n viewBox: \"0 0 19 19\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_2081_21808)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.28 18.55C4.16 18.55 0 14.39 0 9.28C0 4.17 4.16 0 9.28 0C14.4 0 18.56 4.16 18.56 9.28C18.56 14.4 14.4 18.56 9.28 18.56V18.55Z\",\n fill: \"#E31119\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.5429 17.0811C14.8496 16.382 17.7741 12.324 17.075 8.01734C16.376 3.71066 12.318 0.78612 8.01131 1.48519C3.70463 2.18427 0.780089 6.24223 1.47916 10.5489C2.17824 14.8556 6.2362 17.7801 10.5429 17.0811Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.72982 9.98988V5.75988L5.66982 6.35988L5.06982 5.22988L7.13982 4.12988H8.30982V9.99988H10.9298V11.2799H5.31982V9.99988H6.72982V9.98988Z\",\n fill: \"#26388A\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.2401 7.49C9.64008 7.17 9.33008 6.63 9.33008 5.98C9.33008 4.74 10.2201 4 11.8901 4C13.5601 4 14.4701 4.74 14.4701 5.98C14.4701 6.63 14.1501 7.17 13.5501 7.5C14.3101 7.85 14.7301 8.48 14.7301 9.26C14.7301 10.6 13.6801 11.4 11.9001 11.4C10.1201 11.4 9.08008 10.6 9.08008 9.26C9.08008 8.48 9.49008 7.85 10.2401 7.49ZM11.8901 10.22C12.6601 10.22 13.1001 9.8 13.1001 9.11C13.1001 8.42 12.6401 7.95 11.8801 7.95C11.1201 7.95 10.7001 8.4 10.7001 9.11C10.7001 9.82 11.1401 10.22 11.8901 10.22ZM12.8701 6.14C12.8701 5.53 12.5001 5.19 11.8901 5.19C11.2801 5.19 10.9501 5.54 10.9501 6.14C10.9501 6.74 11.3001 7.06 11.9001 7.06C12.5001 7.06 12.8701 6.72 12.8701 6.14Z\",\n fill: \"#26388A\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.30994 7.55957H2.18994V8.85957H5.30994V7.55957Z\",\n fill: \"#26388A\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.45006 11.8203H7.48006L8.63006 14.8403H7.70006L7.51006 14.2803H6.36006L6.17006 14.8403H5.31006L6.45006 11.8203ZM6.56006 13.6803H7.30006L6.94006 12.6003L6.56006 13.6803Z\",\n fill: \"#26388A\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.99023 11.8203H9.79023L11.0002 13.6403V11.8203H11.7702V14.8403H10.9602L9.75023 13.0103V14.8403H8.99023V11.8203Z\",\n fill: \"#26388A\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.7499 13.8598C12.8799 14.0898 13.0799 14.2098 13.3199 14.2098C13.5599 14.2098 13.6799 14.1198 13.6799 13.9898C13.6799 13.8498 13.5799 13.7798 13.2199 13.6598C12.6599 13.4798 12.2699 13.2198 12.2699 12.6598C12.2699 12.1898 12.6499 11.7598 13.3799 11.7598C13.9699 11.7598 14.2999 12.0398 14.4799 12.3598L13.8999 12.7898C13.7299 12.5198 13.5899 12.4598 13.3799 12.4598C13.2199 12.4598 13.1199 12.5498 13.1199 12.6498C13.1199 12.7898 13.1899 12.8298 13.5599 12.9698C14.1499 13.1898 14.5399 13.4098 14.5399 13.9798C14.5399 14.4398 14.1599 14.9098 13.3299 14.9098C12.7999 14.9098 12.3499 14.6598 12.1699 14.2798L12.7499 13.8698V13.8598Z\",\n fill: \"#26388A\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.66521 2.62727L2.64697 3.64551L14.8728 15.8714L15.8911 14.8531L3.66521 2.62727Z\",\n fill: \"#E31119\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_2081_21808\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 18.55,\n height: 18.55,\n fill: \"white\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFdj18);\nexport default __webpack_public_path__ + \"static/media/fdj-18.96a65e02.svg\";\nexport { ForwardRef as ReactComponent };","import { ReactComponent as BaseGovLogo } from \"../img/gov-logo.svg\";\nimport { ReactComponent as BaseFdj18Logo } from \"../img/fdj-18.svg\";\nimport { size } from \"polished\";\nimport styled from \"styled-components\";\n\nconst Wrap = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 3%;\n width: 100%;\n padding: ${(props) => props.theme.space[3]};\n background-color: ${(props) => props.theme.colors.partnerYellow};\n`;\n\nconst GovLogo = styled(BaseGovLogo)`\n flex-shrink: 0;\n ${size(80, 160)}\n\n @media (min-width: ${({ theme }) => theme.breakpoints[2]}) {\n ${size(100, 180)}\n }\n`;\n\nconst Fdj18Logo = styled(BaseFdj18Logo)`\n ${size(46)}\n margin-left: ${(props) => props.theme.space[3]};\n`;\n\nconst CopyWrap = styled.div`\n display: flex;\n flex-direction: column;\n gap: 3px;\n`;\n\nconst FdjCopyLarge = styled.p`\n margin: 0;\n text-transform: uppercase;\n font-size: ${(props) => props.theme.fontSizes[1]};\n font-weight: 500;\n line-height: 1.4;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n font-size: ${(props) => props.theme.fontSizes[2]};\n line-height: 1.6;\n }\n`;\n\nconst FdjCopySmall = styled(FdjCopyLarge)`\n font-size: ${(props) => props.theme.fontSizes[0]};\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n font-size: ${(props) => props.theme.fontSizes[1]};\n }\n`;\n\nconst FdjSection = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n gap: ${(props) => props.theme.space[2]};\n margin-top: ${(props) => props.theme.space[2]};\n`;\n\nconst FdjDisclaimer = () => {\n return (\n \n \n \n \n \n les jeux d'argent et de hasard peuvent ĂȘtre dangereux: pertes\n d'argent, conflits familiaux, addiction ...{\" \"}\n \n \n retrouvez nos conseils sur joueurs-info-service.fr (09 74 75 13 13 -\n appel non surtaxĂ©)\n \n \n \n \n \n );\n};\n\nexport default FdjDisclaimer;\n","import * as React from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport styled from \"styled-components/macro\";\nimport { SelectField } from \"./FieldRenderers\";\nimport { PrimaryGradient } from \"./Utils\";\nimport FdjDisclaimer from \"./FdjDisclaimer\";\nimport i18n from \"../i18n\";\n\nconst FieldWrap = styled.div`\n width: 100%;\n padding: ${(props) => props.theme.space[4]} 0;\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n width: 25%;\n }\n &&& > label > span {\n color: ${(props) => props.theme.colors.white};\n font-size: 1.1rem;\n }\n`;\n\nconst StyledFooterOuter = styled.footer`\n ${PrimaryGradient}\n`;\n\nconst StyledFooterInner = styled.div`\n max-width: 1220px;\n margin: 0 auto;\n padding: 0 ${(props) => props.theme.space[4]};\n`;\n\nconst FooterContent = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n padding: 1.5rem 0 0;\n`;\n\nconst FooterLinkWrapper = styled.div`\n display: flex;\n justify-content: flex-start;\n flex-wrap: wrap;\n gap: 0.5rem;\n width: 100%;\n margin: 2rem 0;\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n flex-wrap: nowrap;\n width: 60%;\n }\n`;\n\nconst FooterLink = styled.a`\n color: ${(props) => props.theme.colors.white};\n font-family: inherit;\n font-size: 1.1rem;\n font-weight: 400;\n text-decoration: none;\n\n :hover {\n text-decoration: underline;\n }\n`;\n\nconst FooterVerticalDivider = styled.div`\n border-left: 1px solid ${(props) => props.theme.colors.white};\n margin: 0 1.3rem;\n`;\n\nconst FooterTextHeavy = styled.span`\n color: ${(props) => props.theme.colors.white};\n font-size: 1.1rem;\n font-weight: 500;\n`;\n\nconst FooterText = styled.span`\n color: ${(props) => props.theme.colors.white};\n font-size: 1.1rem;\n font-weight: 400;\n`;\n\ninterface IProps {}\n\nconst handleFilterChange = (url: string) => {\n window.location.href = url;\n};\n\nconst baseURL = \"nbafantasy.nba.com\";\nconst scheme = \"https://\";\nconst locales = [\n { countryCode: \"gb\", title: \"English (GB)\", url: `${scheme}${baseURL}` },\n { countryCode: \"us\", title: \"English (US)\", url: `${scheme}en.${baseURL}` },\n { countryCode: \"de\", title: \"German\", url: `${scheme}de.${baseURL}` },\n { countryCode: \"fr\", title: \"French\", url: `${scheme}fr.${baseURL}` },\n { countryCode: \"es\", title: \"Spanish\", url: `${scheme}es.${baseURL}` },\n { countryCode: \"it\", title: \"Italian\", url: `${scheme}nbafantasy.sky.it` },\n { countryCode: \"gr\", title: \"Greek\", url: `${scheme}gr.${baseURL}` },\n { countryCode: \"tr\", title: \"Turkish\", url: `${scheme}tr.${baseURL}` },\n {\n countryCode: \"he\",\n title: \"Hebrew\",\n url: `${scheme}nbafantasy.sport5.co.il`,\n },\n {\n countryCode: \"br\",\n title: \"Portuguese (BR)\",\n url: `${scheme}br.${baseURL}`,\n },\n];\n\nconst Footer: React.FC = () => {\n const { t } = useTranslation();\n return (\n <>\n \n \n \n \n <>©\n {t(\n \"footer.copyrightn\",\n \"2024 NBA Media Ventures, LLC. All rights reserved.\"\n )}\n \n \n \n {t(\"footer.privacy\", \"Privacy Policy\")}\n \n \n \n {t(\"footer.terms\", \"Terms of Use\")}\n \n \n \n {t(\"footer.a11y\", \"Accessibility and Closed Captions\")}\n \n \n \n {t(\"footer.personal\", \"Do Not Sell My Personal Information\")}\n \n \n \n {t(\"footer.support\", \"Customer Support\")}\n \n \n \n \n If you are having difficulty accessing any content on this\n website, please visit our{\" \"}\n \n Accessibility page.\n \n \n \n \n
\n \n handleFilterChange(e.target.value)}\n required={false}\n >\n {locales.map((locale) => (\n \n {t(`footer.${locale.countryCode}`, locale.title)}\n \n ))}\n \n \n
\n
\n
\n {i18n.language === \"fr\" && }\n \n );\n};\n\nexport default Footer;\n","import { TFunction } from \"i18next\";\nimport * as React from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { IServerError } from \"../core/store/global/types\";\nimport Copy from \"./Copy\";\nimport { Main, Wrapper } from \"./Layout\";\n\ninterface IProps {\n error: IServerError;\n}\n\nconst HomeOrHelp = () => (\n \n You can return to the home page and try again or{\" \"}\n contact us for further help.\n \n);\n\nconst renderError = (e: IServerError, t: TFunction) => {\n switch (e.code) {\n case 401:\n case 403:\n return (\n \n

\n {t(\"serverError.permissionDenied.title\", \"Permission denied\")}\n

\n

\n {t(\n \"serverError.permissionDenied.text\",\n \"Sorry, but you don't have permission to perform the request action.\"\n )}\n

\n \n
\n );\n case 404:\n return (\n \n

{t(\"serverError.notFound.title\", \"Page not found\")}

\n

\n {t(\n \"serverError.notFound.text\",\n \"Sorry, but the page you were looking for can't be found.\"\n )}\n

\n \n
\n );\n case 502:\n case 503:\n case 504:\n return e.details.match(/being updated/) ? (\n \n

\n {t(\"serverError.updating.title\", \"The game is being updated.\")}\n

\n

\n {t(\n \"serverError.updating.text_new\",\n \"Get ready for the new and improved NBA Fantasy game. The game is now updating!\"\n )}\n

\n
\n ) : (\n \n

{t(\"serverError.unavailable.title\", \"Unavailable\")}

\n

\n {t(\n \"serverError.unavailable.text1\",\n \"Sorry, but we are unable to load the requested page at this time.\"\n )}\n

\n

\n {t(\n \"serverError.unavailable.text2\",\n \"Please try again in a few minutes.\"\n )}\n

\n
\n );\n default:\n return (\n \n

{t(\"serverError.default.title\", \"Error\")}

\n

\n {t(\n \"serverError.default.text\",\n \"Sorry, but there has been an unexpected error processing your request.\"\n )}\n

\n \n
\n );\n }\n};\n\nconst ServerError: React.FC = ({ error }) => {\n const { t } = useTranslation();\n return (\n \n
{renderError(error, t)}
\n
\n );\n};\n\nexport default ServerError;\n","import { navigate } from \"@reach/router\";\nimport React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Box, Flex } from \"rebass\";\nimport styled from \"styled-components/macro\";\nimport { RootState, ThunkDispatch } from \"../../core/store\";\nimport { getSettings } from \"../../core/store/game/reducers\";\nimport {\n getActiveEntryInLeague,\n getAutoJoinCode,\n getJoinPrivateLeagueError,\n getJoinPrivateLeagueSuccess,\n getLeagueFromCode,\n} from \"../../core/store/leagues/reducers\";\nimport {\n checkLeagueCode,\n clearCode,\n joinPrivateLeague,\n} from \"../../core/store/leagues/thunks\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport Alert from \"../Alert\";\nimport Button from \"../Button\";\nimport Dialog from \"../Dialog\";\nimport { getErrorType } from \"./errors\";\nimport JoinLeagueError from \"./JoinLeagueError\";\n\nconst ConfirmBtnWrapper = styled.div`\n display: inline-block;\n margin-right: ${({ theme }) => theme.space[3]};\n`;\n\nconst LeagueName = styled.div`\n padding: ${({ theme }) => theme.space[2]};\n background-color: blue;\n color: white;\n text-transform: uppercase;\n font-size: 24px;\n font-weight: 600;\n line-height: 1;\n`;\n\nconst AutoJoinDialog: React.FC = () => {\n const { t } = useTranslation();\n const reduxDispatch = useDispatch();\n const code = useSelector((state: RootState) => getAutoJoinCode(state));\n const player = useSelector(getPlayerData);\n const error = useSelector((state: RootState) =>\n getErrorType(getJoinPrivateLeagueError(state))\n );\n const settings = useSelector((state: RootState) => getSettings(state));\n const joinedPrivateLeagueSuccess = useSelector((state: RootState) =>\n getJoinPrivateLeagueSuccess(state)\n );\n\n // Most important part, if it returns null, nothing renders\n const league = useSelector((state: RootState) =>\n code ? getLeagueFromCode(state, code) : null\n );\n\n // Check if entry is already apart of the league\n const isPlayerInLeague = useSelector((state: RootState) =>\n league\n ? getActiveEntryInLeague(\n state,\n league.id,\n league.scoring === \"c\" ? \"classic\" : \"h2h\"\n )\n : null\n );\n\n // If we have a code, try and fetch the associated league. If there is an\n // issue fetching the league clear the code from local storage so we don't\n // try again\n useEffect(() => {\n // If you're logged in check the code\n // You might be logged out and we don't want a 403 forbidden\n if (player && player.entry && code) {\n reduxDispatch(checkLeagueCode(code));\n }\n }, [player, code, reduxDispatch]);\n\n const handleHide = () => {\n reduxDispatch(clearCode());\n };\n\n const confirmJoinLeague = (code: string) => {\n reduxDispatch(joinPrivateLeague({ code }));\n };\n\n if (joinedPrivateLeagueSuccess && code && league) {\n handleHide();\n navigate(`/leagues/${league.id}/standings/${league.scoring}`);\n return null;\n }\n\n return league ? (\n \n \n \n {t(\"AutoJoinDialog.title\", \"Join League\")}\n {league && `: ${league.name}`}\n \n \n \n {isPlayerInLeague && (\n <>\n \n \n {t(\n \"AutoJoinDialog.errors.alreadyJoined\",\n \"You are already in this league\"\n )}\n \n \n \n )}\n {!isPlayerInLeague && (\n <>\n {error ? (\n <>\n \n \n {settings && (\n \n )}\n \n \n \n ) : (\n <>\n \n

\n {t(\n \"AutoJoinDialog.confirmText\",\n \"Please press confirm to join league: {{leagueName}}\",\n { leagueName: league.name }\n )}\n

\n
\n \n {code && (\n \n \n \n )}\n \n \n \n )}\n \n )}\n
\n
\n ) : null;\n};\n\nexport default AutoJoinDialog;\n","import { useState, useEffect } from \"react\";\n\n// https://github.com/rehooks/window-size/blob/master/index.js\nconst getSize = () => {\n return {\n innerHeight: window.innerHeight,\n innerWidth: window.innerWidth,\n outerHeight: window.outerHeight,\n outerWidth: window.outerWidth,\n };\n};\n\nconst useWindowSize = () => {\n let [windowSize, setWindowSize] = useState(getSize());\n\n const handleResize = () => {\n setWindowSize(getSize());\n };\n\n useEffect(() => {\n window.addEventListener(\"resize\", handleResize);\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }, []);\n\n return windowSize;\n};\n\nexport default useWindowSize;\n","import React from \"react\";\n\nimport { INavLink } from \"./types\";\nimport useWindowSize from \"./useWindowSize\";\n\ntype Props = {\n links: INavLink[];\n offset?: number; //px\n isRTL?: boolean;\n};\n\nfunction arraysEqual(a: Array, b: Array): boolean {\n if (a === b) return true;\n if (a == null || b == null) return false;\n if (a.length !== b.length) return false;\n\n for (var i = 0; i < a.length; ++i) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n}\n\nconst usePriorityNav = ({ links, offset = 0, isRTL = false }: Props) => {\n const windowSize = useWindowSize();\n const [childrenWidths, setWidths] = React.useState([]);\n const [visibleLinks, setVisibleLinks] = React.useState(links);\n const [nonVisibleLinks, setNonVisibleLinks] = React.useState([]);\n const [oldLinks, setLinks] = React.useState(links);\n // If the links have changed then we need to reset everything to force\n // the nav to be re-calculated\n if (oldLinks.length && oldLinks !== links) {\n setWidths([]);\n setVisibleLinks(links);\n setNonVisibleLinks([]);\n setLinks(links);\n }\n\n /**\n * Calc cumulative widths of ref elements\n *\n * Refs are non null on mount using callback\n * Callback is then only called afterwards\n * when an item is unmounted or remounted.\n */\n const measuredRef = React.useCallback(\n (node: HTMLLIElement) => {\n if (node !== null && childrenWidths.length !== links.length) {\n setWidths((childrenWidths) => {\n return isRTL\n ? childrenWidths.concat(node.getBoundingClientRect().left + offset)\n : childrenWidths.concat(\n node.getBoundingClientRect().right + offset\n );\n });\n }\n },\n [childrenWidths.length, links.length, offset, isRTL]\n );\n\n /**\n * Compute visible and non visible ref elements\n */\n React.useLayoutEffect(() => {\n // called first before childrenWidths are computed\n if (childrenWidths.length === 0) {\n return;\n }\n\n // After orientation change window.screen.width\n // can be smaller than windowSize.innerWidth,\n // so select smallest of two.\n const width =\n window.screen.width < windowSize.innerWidth\n ? window.screen.width\n : windowSize.innerWidth;\n\n const filteredIndexedElements = childrenWidths.filter(\n (e) => e < width - offset\n );\n const newVisibleLinks = links.filter(\n (_, i) => i < filteredIndexedElements.length\n );\n const newNonVisibleLinks = links.filter(\n (_, i) => i >= filteredIndexedElements.length\n );\n\n // only update links if they are different to previous visible links\n const areEqual =\n arraysEqual(visibleLinks, newVisibleLinks) &&\n arraysEqual(nonVisibleLinks, newNonVisibleLinks);\n if (!areEqual) {\n setVisibleLinks(newVisibleLinks);\n setNonVisibleLinks(newNonVisibleLinks);\n }\n }, [\n childrenWidths,\n windowSize.innerWidth,\n links,\n visibleLinks,\n nonVisibleLinks,\n offset,\n ]);\n\n return [measuredRef, visibleLinks, nonVisibleLinks] as [\n typeof measuredRef,\n INavLink[],\n INavLink[]\n ];\n};\n\nexport default usePriorityNav;\n","import { useEffect } from \"react\";\n\ntype HookProps = {\n event: string;\n handler: (e: any) => void;\n};\n\n// register event listener on mount on document\n// and fires handler on captured click\nconst useDocumentEventHandler = ({ event, handler }: HookProps) => {\n useEffect(() => {\n const eventHandler = (e: Event) => {\n handler(e);\n };\n\n document.addEventListener(event, eventHandler);\n return () => {\n document.removeEventListener(event, eventHandler);\n };\n }, [event, handler]);\n};\n\nexport default useDocumentEventHandler;\n","import { Link } from \"@reach/router\";\nimport React from \"react\";\nimport styled, { css } from \"styled-components/macro\";\nimport { INavLink } from \"../../core/hooks/types\";\nimport useDocumentEventHandler from \"../../core/hooks/useDocumentEventHandler\";\nimport \"./Dropdown.css\";\nimport { isRTL } from \"../../utils/locale\";\nimport i18n from \"../../i18n\";\n\nconst MoreButton = styled.button`\n display: inline-block;\n margin: 0;\n padding: 1.5rem 2rem;\n border: 0;\n background-color: white;\n color: black;\n border-radius: ${(props) =>\n `${props.theme.radii[1]} ${props.theme.radii[1]} 0 0`};\n font-family: inherit;\n font-size: 1.3rem;\n font-weight: bold;\n text-decoration: none;\n cursor: pointer;\n`;\n\nconst NavLink = css`\n display: block;\n padding: 0 1.8rem;\n background-color: white;\n color: currentColor;\n font-size: 1.4rem;\n font-weight: 500;\n line-height: 4.7rem;\n text-align: center;\n text-decoration: none;\n transition: all 0.2s;\n cursor: pointer;\n\n :hover {\n background-color: ${({ theme }) => theme.colors.yellow};\n }\n`;\n\nconst NavReachLink = styled(Link)`\n ${NavLink}\n`;\n\nconst NavHyperLink = styled.a`\n ${NavLink}\n`;\n\ntype Props = {\n text: string;\n links: INavLink[];\n};\n\nconst Dropdown: React.FunctionComponent = ({ text, links }) => {\n const [open, setOpen] = React.useState(false);\n useDocumentEventHandler({ event: \"click\", handler: () => setOpen(false) });\n const toggleOpen = (e: React.SyntheticEvent) => {\n e.nativeEvent.stopImmediatePropagation();\n setOpen((open) => !open);\n };\n\n return (\n \n \n {text}\n \n \n {links.map((link) => (\n
  • \n {link.useRouter ? (\n {link.text}\n ) : (\n \n {link.text}\n \n )}\n
  • \n ))}\n \n
    \n );\n};\n\nexport default Dropdown;\n","import { Link } from \"@reach/router\";\nimport React from \"react\";\nimport styled from \"styled-components\";\nimport { INavLink } from \"../../core/hooks/types\";\nimport \"./ListItem.css\";\n\nconst LIStyled = styled.li`\n margin-inline-end: ${({ theme }) => theme.space[1]};\n list-style-type: none;\n display: inline-block;\n vertical-align: middle;\n`;\n\nconst ListItem = React.forwardRef(\n ({ useRouter, text, href, rel, target }, ref) => {\n return (\n \n {useRouter ? (\n {\n return {\n className: `ism-nav__tab ${\n href === \"/\"\n ? isCurrent\n ? \"active\"\n : \"\"\n : isPartiallyCurrent\n ? \"active\"\n : \"\"\n }`,\n };\n }}\n >\n {text}\n \n ) : (\n \n {text}\n \n )}\n \n );\n }\n);\n\nexport default ListItem;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { connect, ConnectedProps } from \"react-redux\";\nimport styled from \"styled-components/macro\";\nimport { INavLink } from \"../../core/hooks/types\";\nimport usePriorityNav from \"../../core/hooks/usePriorityNav\";\nimport { RootState } from \"../../core/store\";\nimport { getEntry } from \"../../core/store/entries/reducers\";\nimport {\n getCurrentEvent,\n getNextEvent,\n} from \"../../core/store/events/reducers\";\nimport { getServerError } from \"../../core/store/global/reducers\";\nimport { getPlayerData } from \"../../core/store/player/reducers\";\nimport i18n from \"../../i18n\";\nimport Dropdown from \"./Dropdown\";\nimport ListItem from \"./ListItem\";\nimport { isRTL } from \"../../utils/locale\";\n\nconst StyledNav = styled.nav`\n white-space: nowrap;\n position: absolute;\n bottom: 0;\n`;\n\nconst StyledUL = styled.ul`\n vertical-align: middle;\n font-size: 0;\n padding: 0;\n display: flex;\n`;\n\nconst NavigationLinks: React.FC<{ links: INavLink[] }> = ({ links }) => {\n const { t } = useTranslation();\n const [measuredRef, visibleLinks, nonVisibleLinks] = usePriorityNav({\n links,\n offset: isRTL(i18n.language) ? 120 : 60,\n });\n return (\n \n \n {visibleLinks.map((link) => (\n \n ))}\n {!!nonVisibleLinks.length && (\n \n )}\n \n \n );\n};\n\nconst mapStateToProps = (state: RootState) => {\n const player = getPlayerData(state);\n const currentEvent = getCurrentEvent(state);\n const nextEvent = getNextEvent(state);\n const serverError = getServerError(state);\n const entry = player && player.entry ? getEntry(state, player.entry) : null;\n\n return {\n player,\n currentEvent,\n nextEvent,\n serverError,\n entry,\n };\n};\n\nconst connector = connect(mapStateToProps);\n\ntype PropsFromRedux = ConnectedProps;\n\nconst Navigation: React.FC = ({\n player,\n currentEvent,\n nextEvent,\n serverError,\n entry,\n}) => {\n const { t } = useTranslation();\n let links: INavLink[] = [];\n const prizeExclusionCountries: string[] = [\"pt\", \"ar\", \"tr\", \"he\"];\n const useRouter = !serverError;\n\n if (player && player.entry) {\n // Logged in with entry\n links = [\n {\n useRouter,\n href: \"/\",\n text: t(\"navigation.home\", \"Home\"),\n },\n ];\n if (nextEvent) {\n links.push({\n useRouter,\n href: \"/my-team\",\n text: t(\"navigation.myTeamN\", \"Edit line-up\"),\n });\n }\n // If the entry has started ...\n if (currentEvent && entry && entry.started_event <= currentEvent.id) {\n links.push({\n useRouter,\n href: `/entry/${player.entry}/event/${currentEvent.id}`,\n text: t(\"navigation.points\", \"Points\"),\n });\n }\n links.push(\n {\n useRouter,\n href: \"/transfers\",\n text: t(\"navigation.transfers\", \"Transactions\"),\n },\n {\n useRouter,\n href: \"/leagues\",\n text: t(\"navigation.leagues\", \"Leagues\"),\n },\n {\n useRouter,\n href: \"/fixtures\",\n text: t(\"navigation.fixturesN\", \"Schedule\"),\n },\n {\n useRouter,\n href: \"/statistics\",\n text: t(\"navigation.statistics\", \"Statistics\"),\n },\n {\n useRouter,\n href: \"/player-news\",\n text: t(\"navigation.playerNews\", \"Player News\"),\n },\n {\n useRouter,\n href: \"/prizes\",\n text: t(\"navigation.prizes\", \"Prizes\"),\n },\n { useRouter, href: \"/help/rules\", text: t(\"navigation.help\", \"Help\") },\n {\n useRouter,\n href: \"/player/logout\",\n text: t(\"navigation.signOut\", \"Sign out\"),\n }\n );\n if (prizeExclusionCountries.includes(i18n.language)) {\n const index = links.findIndex((link) => link.href === \"/prizes\");\n if (index !== -1) {\n links.splice(index, 1);\n }\n }\n } else if (player) {\n // Logged in, no entry\n links = [\n { useRouter, href: \"/\", text: t(\"navigation.home\", \"Home\") },\n {\n useRouter,\n href: \"/squad-selection\",\n text: t(\"navigation.squadSelection\", \"Roster Selection\"),\n },\n { useRouter, href: \"/help/rules\", text: t(\"navigation.help\", \"Help\") },\n {\n useRouter,\n href: \"/player/logout\",\n text: t(\"navigation.signOut\", \"Sign out\"),\n },\n ];\n } else {\n // Logged Out\n links = [\n { useRouter, href: \"/\", text: t(\"navigation.home\", \"Home\") },\n { useRouter, href: \"/help/rules\", text: t(\"navigation.help\", \"Help\") },\n {\n useRouter,\n href: \"/statistics\",\n text: t(\"navigation.statistics\", \"Statistics\"),\n },\n ];\n }\n return ;\n};\n\nexport { Navigation as NavigationTest };\n\nexport default connector(Navigation);\n","import * as Sentry from \"@sentry/browser\";\nimport { hiDPI, size } from \"polished\";\nimport * as React from \"react\";\nimport { Helmet } from \"react-helmet\";\nimport { connect } from \"react-redux\";\nimport { Box } from \"rebass/styled-components\";\nimport styled, { ThemeProvider, css } from \"styled-components/macro\";\nimport GlobalStyle from \"../GlobalStyle\";\nimport useScript from \"../core/hooks/useScript\";\nimport { RootState, ThunkDispatch } from \"../core/store\";\nimport { getBootstrapped } from \"../core/store/bootstrap/reducers\";\nimport { bootstrap } from \"../core/store/bootstrap/thunks\";\nimport { getServerError } from \"../core/store/global/reducers\";\nimport { IServerError } from \"../core/store/global/types\";\nimport \"../fonts.css\";\nimport i18n from \"../i18n\";\nimport { ReactComponent as BaseFantasyLogo } from \"../img/fantasy-logo.svg\";\nimport Background from \"../img/headerbackground@1.5x.png\";\nimport Background2x from \"../img/headerbackground@2x.png\";\nimport HeaderAd from \"./HeaderAd\";\nimport playerComp175 from \"../img/player-comp-175.png\";\nimport playerComp345 from \"../img/player-comp-345.png\";\nimport playerComp460 from \"../img/player-comp-460.png\";\nimport playerComp690 from \"../img/player-comp-690.png\";\nimport theme from \"../theme\";\nimport { isRTL } from \"../utils/locale\";\nimport { SITE_IDS, getSite } from \"../utils/sites\";\nimport ElementDialog from \"./ElementDialog\";\nimport FixturesLoader from \"./FixturesLoader\";\nimport Footer from \"./Footer\";\nimport { Main, Wrapper } from \"./Layout\";\nimport ServerError from \"./ServerError\";\nimport { PrimaryGradient, VisuallyHidden } from \"./Utils\";\nimport AutoJoinDialog from \"./leagues/AutoJoinDialog\";\nimport Navigation from \"./nav/Navigation\";\n\nconst Sport5 = React.lazy(() => import(\"./sites/sport5\"));\nconst SkyItaliaHeader = React.lazy(\n () => import(\"./sites/skyItalia/SkyItaliaHeader\")\n);\nconst SkyItaliaFooter = React.lazy(\n () => import(\"./sites/skyItalia/SkyItaliaFooter\")\n);\n\ninterface IPropsHeaderWrapper {\n site: string;\n}\n\nconst headerStyles = {\n euro: css`\n padding-top: 53px;\n\n @media (min-width: ${({ theme }) => theme.breakpoints[3]}) {\n padding-top: 70px;\n }\n\n @media (min-width: ${({ theme }) => theme.breakpoints[5]}) {\n padding-top: 163px;\n }\n `,\n};\n\nconst GameHeaderOuter = styled.header`\n position: relative;\n background-color: ${(props) => props.theme.colors.white};\n filter: drop-shadow(0px 0px 4px ${(props) => props.theme.colors.greyLight});\n\n @media (min-width: ${(props) => props.theme.breakpoints[3]}) {\n background-image: url(${Background});\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n ${(props) =>\n props.rtl &&\n css`\n background-position: left;\n `}\n\n ${hiDPI(2)} {\n background-image: url(${Background2x});\n }\n }\n`;\n\nconst BorderTop = styled.div`\n position: absolute;\n top: 0;\n width: 100%;\n height: 30px;\n background-image: linear-gradient(\n to bottom,\n ${(props) => props.theme.colors.red} 10%,\n ${(props) => props.theme.colors.pink}\n );\n`;\n\nconst BorderBottom = styled.div`\n ${PrimaryGradient}\n position: absolute;\n bottom: 0;\n width: 100%;\n height: 55px;\n`;\n\nconst GameHeaderInner = styled.div`\n position: relative;\n max-width: 1220px;\n margin: 0 auto;\n padding: 0 ${(props) => props.theme.space[2]};\n background-image: url(${playerComp175});\n background-size: 180px auto;\n background-repeat: no-repeat;\n background-position: right 50px bottom 55px;\n\n ${(props) =>\n props.rtl &&\n css`\n background-position: left 35px bottom 55px;\n `}\n\n ${hiDPI(2)} {\n background-image: url(${playerComp345});\n }\n\n @media (min-width: ${(props) => props.theme.breakpoints[1]}) {\n background-position: right 100px bottom 55px;\n background-size: 200px auto;\n ${(props) =>\n props.rtl &&\n css`\n background-position: left 100px bottom 55px;\n `}\n }\n\n @media (min-width: ${(props) => props.theme.breakpoints[3]}) {\n padding: 0 ${(props) => props.theme.space[4]};\n background-image: url(${playerComp460});\n background-position: right 150px bottom 0px;\n background-size: 370px auto;\n ${(props) =>\n props.rtl &&\n css`\n background-position: left 150px bottom 0px;\n `}\n\n ${hiDPI(2)} {\n background-image: url(${playerComp690});\n }\n }\n`;\n\nconst GameTitle = styled.h1`\n margin: 0;\n padding: 3.5rem 0 6.5rem;\n\n @media (min-width: ${(props) => props.theme.breakpoints[3]}) {\n padding: 2.5rem 0 6.5rem;\n }\n`;\n\nconst FantasyLogo = styled(BaseFantasyLogo)`\n ${size(75, 149)}\n\n @media (min-width: ${(props) => props.theme.breakpoints[3]}) {\n ${size(150, 325)}\n }\n`;\n\nconst GameHeaderWrapper = styled.div`\n position: relative;\n z-index: 2;\n`;\n\ninterface ILocaleStyles {\n rtl: boolean;\n}\n\ninterface IProps {\n bootstrapped: boolean;\n serverError: IServerError | null;\n}\n\nexport const Loading: React.FC = () => (\n \n
    \n {i18n.t(\"app.loading\", \"Loading ...\")}\n
    \n
    \n);\n\nconst StyledHeaderWrapper = styled.div`\n ${({ site }) => site === \"euro\" && headerStyles.euro};\n`;\n\nconst StyledFooterWrapper = styled.div``;\n\nconst App: React.FC = ({ bootstrapped, serverError }) => {\n const site = getSite();\n\n const siteHeaders: Record = {\n main_us: null,\n main_en: null,\n main_fr: null,\n main_es: null,\n main_it: null,\n main_de: null,\n main_el: null,\n main_he: null,\n main_br: null,\n main_tr: null,\n main_ar: null,\n sport5: ,\n sky_italia: ,\n };\n const siteFooters: Record = {\n main_us: null,\n main_en: null,\n main_fr: null,\n main_es: null,\n main_it: null,\n main_de: null,\n main_el: null,\n main_he: null,\n main_br: null,\n main_tr: null,\n sport5: null,\n main_ar: null,\n sky_italia: ,\n };\n useScript(process.env.REACT_APP_WIDGET_SRC);\n\n return (\n \n \n }>\n \n \n {i18n.t(\"app.gameName\", \"NBA Fantasy\")}\n \n \n \n {siteHeaders[site]}\n \n \n \n \n \n \n \n \n \n \n {i18n.t(\"app.logo\", \"NBA Fantasy\")}\n \n \n \n \n \n \n \n {serverError ? (\n \n ) : bootstrapped ? (\n \n ) : (\n \n )}\n