{"version":3,"sources":["webpack:///./src/images/icons/kebab-menu.svg","webpack:///./src/redux/match/types.js","webpack:///./src/components/ExpandablePanel.module.css","webpack:///./src/redux/competition/selectors.js","webpack:///./src/components/Dialog.jsx","webpack:///./src/images/icons/speech-bubble.svg","webpack:///./src/images/icons/injury-suspension-9.svg","webpack:///./src/components/Accordion.scss","webpack:///./src/fonts/roboto/stylesheet.css","webpack:///./src/components/IconButton.jsx","webpack:///./src/components/Alert.scss","webpack:///./src/images/icons/suspension-6.svg","webpack:///./src/fonts/roboto/roboto-v27-latin-700italic.woff2","webpack:///./src/components/Checkbox.module.css","webpack:///./src/components/ColumnLayout.module.css","webpack:///./src/components/DataContext.jsx","webpack:///./src/components/BreakpointProvider.jsx","webpack:///./src/fonts/Geomanist-Ultra-Webfont/stylesheet.css","webpack:///./src/fonts/roboto/roboto-v27-latin-italic.svg","webpack:///./src/components/GameIdentity.scss","webpack:///./src/components/ChangeNotification.module.css?1584","webpack:///./src/common/serverTime.js","webpack:///./src/images/icons/radiomark-checked.svg","webpack:///./src/components/Odds.scss","webpack:///./src/images/icons/meatballs.svg","webpack:///./src/components/AlertBox.module.css","webpack:///./src/images/icons/triangle-up.svg","webpack:///./src/images/icons/suspension-2.svg","webpack:///./src/redux/user/types.js","webpack:///./src/images/icons/speech-bubble-outline.svg","webpack:///./src/images/icons/external-link.svg","webpack:///./src/images/icons/suspension-7.svg","webpack:///./src/images/icons/table.svg","webpack:///./src/fonts/Geomanist-Light-Webfont/stylesheet.css?2cbc","webpack:///./src/images/icons/plus.svg","webpack:///./src/images/icons/heart.svg","webpack:///./src/redux/messageBoard/types.js","webpack:///./src/fonts/roboto/roboto-v27-latin-regular.svg","webpack:///./src/components/AuthenticationModal.module.css?4752","webpack:///./src/hocs/translatable.jsx","webpack:///./src/components/Pill.jsx","webpack:///./src/images/icons/period-1-plus.svg","webpack:///./src/components/GameHeader.scss","webpack:///./src/components/CardToast.module.css?0af7","webpack:///./src/images/icons/suspension-1.svg","webpack:///./src/components/PlayerByline.scss","webpack:///./src/images/icons/dot.svg","webpack:///./src/css/main.css","webpack:///./src/images/icons/checkmark.svg","webpack:///./src/images/icons/person-crossed.svg","webpack:///./src/redux/ws/types.js","webpack:///./src/images/icons/group.svg","webpack:///./src/images/icons/injury-suspension-7.svg","webpack:///./src/images/icons/period-live.svg","webpack:///./src/images/icons/period-4.svg","webpack:///./src/images/icons/injury-suspension-2.svg","webpack:///./src/images/icons/social-facebook.svg","webpack:///./src/components/AuthenticationModal.jsx","webpack:///./src/images/icons/share.svg","webpack:///./src/components/Pagination.jsx","webpack:///./src/images/icons/social-linkedin.svg","webpack:///./src/images/icons/social-email.svg","webpack:///./src/redux/user/actions.js","webpack:///./src/redux/auth/actions.js","webpack:///./src/images/icons/envelope-open.svg","webpack:///./src/images/icons/checkbox-checked.svg","webpack:///./src/components/Spinner.scss","webpack:///./src/images/icons/injury-suspension-4.svg","webpack:///./src/components/Scorebox.module.css?511a","webpack:///./src/components/FlyoutSummary.scss","webpack:///./src/components/SiteFooter.scss","webpack:///./src/images/icons/period-3.svg","webpack:///./src/components/ModalWindow.jsx","webpack:///./src/redux/archive/types.js","webpack:///./src/fonts/Geomanist-Ultra-Webfont/stylesheet.css?f54a","webpack:///./src/fonts/roboto/roboto-v27-latin-700italic.svg","webpack:///./src/images/icons/envelope-open-with-letter.svg","webpack:///./src/components/TranslationContext.jsx","webpack:///./src/images/icons/flame-single.svg","webpack:///./src/redux/tournament/types.js","webpack:///./src/images/icons/period-1.svg","webpack:///./src/hooks/useTranslator.js","webpack:///./src/redux/ruleset/types.js","webpack:///./src/images/icons/suspension-3.svg","webpack:///./src/fonts/roboto/roboto-v27-latin-700.woff2","webpack:///./src/components/Dialog.module.css?a1b5","webpack:///./src/images/icons/info.svg","webpack:///./src/images/icons/eye-off-outline.svg","webpack:///./src/components/ContentContainer.scss","webpack:///./src/redux/game/types.js","webpack:///./src/components/Progress.scss","webpack:///./src/components/Modal.jsx","webpack:///./src/redux/game/index.js","webpack:///./src/redux/highscore/index.js","webpack:///./src/redux/auth/index.js","webpack:///./src/redux/config/index.js","webpack:///./src/redux/group/index.js","webpack:///./src/redux/group/types.js","webpack:///./src/redux/player/index.js","webpack:///./src/redux/watchlist/index.js","webpack:///./src/redux/ui/index.js","webpack:///./src/redux/competition/index.js","webpack:///./src/redux/recruits/index.js","webpack:///./src/redux/match/index.js","webpack:///./src/redux/view/index.js","webpack:///./src/redux/ruleset/index.js","webpack:///./src/redux/tournament/index.js","webpack:///./src/redux/schedule/index.js","webpack:///./src/redux/entity/index.js","webpack:///./src/redux/json/index.js","webpack:///./src/redux/fantasyTeam/index.js","webpack:///./src/redux/notification/index.js","webpack:///./src/redux/injury/index.js","webpack:///./src/redux/suspension/index.js","webpack:///./src/redux/permission/index.js","webpack:///./src/redux/invitation/index.js","webpack:///./src/redux/invitation/types.js","webpack:///./src/redux/theme/index.js","webpack:///./src/redux/messageBoard/index.js","webpack:///./src/redux/friends/index.js","webpack:///./src/redux/friends/types.js","webpack:///./src/redux/archive/index.js","webpack:///./src/redux/season.js","webpack:///./src/redux/job/types.js","webpack:///./src/redux/highscore/types.js","webpack:///./src/redux/user/index.js","webpack:///./src/middleware/throttle.js","webpack:///./src/season/configureStore.js","webpack:///./src/season/index.js","webpack:///./src/translations.js","webpack:///./src/translations sync \\.json$","webpack:///./src/components/Toolbar.scss","webpack:///./src/components/MatchHead.scss","webpack:///./src/redux/competition/types.js","webpack:///./src/components/Filterbar.scss","webpack:///./src/fonts/Geomanist-Ultra-Webfont/geomanist-ultra-webfont.woff","webpack:///./src/components/Faq.jsx","webpack:///./src/hooks/useMeasure.js","webpack:///./src/components/Alert.jsx","webpack:///./src/components/ExternalLink.jsx","webpack:///./src/components/CountdownBase.jsx","webpack:///./src/components/TextCountdown.jsx","webpack:///./src/components/Countdown.jsx","webpack:///./src/components/Flex.jsx","webpack:///./src/components/Gamebox.jsx","webpack:///./src/components/UserIdentity.jsx","webpack:///./src/components/FactList.jsx","webpack:///./src/components/Phase.jsx","webpack:///./src/components/PhaseText.jsx","webpack:///./src/components/Post.jsx","webpack:///./src/components/MatchCardGroup.jsx","webpack:///./src/components/MatchCardList.jsx","webpack:///./src/components/Scorebox.jsx","webpack:///./src/components/MatchCard.jsx","webpack:///./src/components/MatchHead.jsx","webpack:///./src/components/Masonry.jsx","webpack:///./src/components/SoccerClock.jsx","webpack:///./src/components/SectionHeading.jsx","webpack:///./src/components/Round.jsx","webpack:///./src/components/SiteFooter.jsx","webpack:///./src/components/ColumnLayout.jsx","webpack:///./src/components/PageContentContainer.jsx","webpack:///./src/components/EventDate.jsx","webpack:///./src/components/TeamList.jsx","webpack:///./src/helpers/soccer.js","webpack:///./src/components/SoccerMatchDate.jsx","webpack:///./src/components/PlayerAvatar.jsx","webpack:///./src/components/DeltaClock.jsx","webpack:///./src/components/useOnClickOutside.js","webpack:///./src/components/useOnEscape.js","webpack:///./src/components/atoms/Dropdown.jsx","webpack:///./src/components/RoundDropDownList.jsx","webpack:///./src/components/SelectList.jsx","webpack:///./src/components/Progress.jsx","webpack:///./src/components/DropDownList.jsx","webpack:///./src/components/DropDownListItem.jsx","webpack:///./src/components/Paragraph.jsx","webpack:///./src/components/NavigationMenu.jsx","webpack:///./src/components/GameHeader.jsx","webpack:///./src/components/RoundBadge.jsx","webpack:///./src/components/GameIdentity.jsx","webpack:///./src/components/UserDropdown.jsx","webpack:///./src/components/PersonName.jsx","webpack:///./src/components/PlayerByline.jsx","webpack:///./src/components/SoccerMatchClock.jsx","webpack:///./src/components/EmailIdentity.jsx","webpack:///./src/components/Facebook.jsx","webpack:///./src/components/Flyout.jsx","webpack:///./src/components/Tag.jsx","webpack:///./src/components/RichCheckable.jsx","webpack:///./src/components/RichRadioButtonList.jsx","webpack:///./src/components/SidebarContainer.jsx","webpack:///./src/components/TopBar.jsx","webpack:///./src/components/TabMenu.jsx","webpack:///./src/components/NotificationIcon.jsx","webpack:///./src/components/Attachment.jsx","webpack:///./src/components/ResizeObserver.jsx","webpack:///./src/images/scrollwindow-left.png","webpack:///./src/components/ScrollContainer.jsx","webpack:///./src/components/MatchTitle.jsx","webpack:///./src/components/Accordion.jsx","webpack:///./src/components/EmptyResultsetPlaceholder.jsx","webpack:///./src/components/PlayerProfileStatisticsPane.jsx","webpack:///./src/components/ContextProvider.jsx","webpack:///./src/components/Checkbox.jsx","webpack:///./src/components/Sidebar.jsx","webpack:///./src/components/SidebarMain.jsx","webpack:///./src/components/SidebarPanel.jsx","webpack:///./src/components/ListView.jsx","webpack:///./src/components/Checkable.jsx","webpack:///./src/components/CheckBoxButtonList.jsx","webpack:///./src/components/RadioButtonList.jsx","webpack:///./src/components/WithSticker.jsx","webpack:///./src/components/Snackbar.jsx","webpack:///./src/components/SnackbarProvider.jsx","webpack:///./src/components/Panel.jsx","webpack:///./src/components/RelativeTime.jsx","webpack:///./src/components/Highlight.jsx","webpack:///./src/components/CheckBoxButton.jsx","webpack:///./src/components/FormattedValue.jsx","webpack:///./src/components/Filterbar.jsx","webpack:///./src/components/ErrorBoundary.jsx","webpack:///./src/components/Jump.jsx","webpack:///./src/components/Stack.jsx","webpack:///./src/components/Grid.jsx","webpack:///./src/components/FantasyTeamIdentity.jsx","webpack:///./src/components/FlyoutStack.jsx","webpack:///./src/components/FieldError.jsx","webpack:///./src/components/Odds.jsx","webpack:///./src/components/NavBar.jsx","webpack:///./src/components/Card.jsx","webpack:///./src/components/AlertBox.jsx","webpack:///./src/components/SearchBox.jsx","webpack:///./src/components/Confirm.jsx","webpack:///./src/components/GridView.jsx","webpack:///./src/components/Cell.jsx","webpack:///./src/components/ValueChangeNotification.jsx","webpack:///./src/components/Tabs.jsx","webpack:///./src/components/TabPane.jsx","webpack:///./src/components/SortableList.jsx","webpack:///./src/components/Media.jsx","webpack:///./src/components/Async.jsx","webpack:///./src/components/Portal.jsx","webpack:///./src/components/FantasyTeamLink.jsx","webpack:///./src/components/DocumentTitle.jsx","webpack:///./src/components/LinkButton.jsx","webpack:///./src/components/RouteButton.jsx","webpack:///./src/components/Timeline.jsx","webpack:///./src/components/LoadingIndicator.jsx","webpack:///./src/components/Slot.jsx","webpack:///./src/components/ScrollTable.jsx","webpack:///./src/components/ContextMenuPortal.jsx","webpack:///./src/components/ContextMenuContainer.jsx","webpack:///./src/components/Banner.jsx","webpack:///./src/components/ComponentEditor.jsx","webpack:///./src/components/View.jsx","webpack:///./src/components/Number.jsx","webpack:///./src/components/Head.jsx","webpack:///./src/components/Datasource.jsx","webpack:///./src/components/DataGrid.jsx","webpack:///./src/components/TargetingProvider.jsx","webpack:///./src/components/MediaObject.jsx","webpack:///./src/components/TableValue.jsx","webpack:///./src/components/Hero.jsx","webpack:///./src/components/CoverImage.jsx","webpack:///./src/components/Overlay.jsx","webpack:///./src/components/Vignette.jsx","webpack:///./src/components/Underlay.jsx","webpack:///./src/components/TabBar.jsx","webpack:///./src/components/Toolbar.jsx","webpack:///./src/components/Connect.jsx","webpack:///./src/components/FlyoutSummary.jsx","webpack:///./src/components/InjurySuspensionIcon.jsx","webpack:///./src/components/WindowResizeObserver.jsx","webpack:///./src/components/Block.jsx","webpack:///./src/components/More.jsx","webpack:///./src/components/CommentCountIcon.jsx","webpack:///./src/components/ChangeNotification.jsx","webpack:///./src/components/Slideout.jsx","webpack:///./src/components/FlatList.jsx","webpack:///./src/components/SplitView.jsx","webpack:///./src/components/Share.jsx","webpack:///./src/components/ExpandablePanel.jsx","webpack:///./src/components/Separator.jsx","webpack:///./src/components/ContextMenu.jsx","webpack:///./src/components/MessageBox.jsx","webpack:///./src/components/usePageTitle.jsx","webpack:///./src/components/Card.module.css?4b8c","webpack:///./src/components/ValueChangeNotification.scss","webpack:///./src/images/icons/wait-animated.svg","webpack:///./src/components/Pill.module.css?051d","webpack:///./src/components/atoms/Dropdown.module.css","webpack:///./src/redux/permission/types.js","webpack:///./src/components/AlertBox.module.css?94ec","webpack:///./src/images/icons/star.svg","webpack:///./src/images/icons/person.svg","webpack:///./src/components/Box.jsx","webpack:///./src/images/icons/cog.svg","webpack:///./src/components/EmailIdentity.module.css","webpack:///./src/redux/json/types.js","webpack:///./src/fonts/roboto/roboto-v27-latin-italic.woff2","webpack:///./src/images/icons/checkbox.svg","webpack:///./src/components/Icon.jsx","webpack:///./src/components/CoverImage.scss","webpack:///./src/components/EmailIdentity.module.css?51e5","webpack:///./src/components/Avatar.jsx","webpack:///./src/images/icons/spinner.svg","webpack:///./src/components/ExpandablePanel.module.css?39ed","webpack:///./src/images/icons/envelope.svg","webpack:///./src/images/icons/bell.svg","webpack:///./src/redux/config/types.js","webpack:///./src/components/useTheme.jsx","webpack:///./src/images/icons/chevron-down.svg","webpack:///./src/fonts/Geomanist-Light-Webfont/geomanist-light-webfont.woff","webpack:///./src/images/icons/period-2.svg","webpack:///./src/components/Stack.scss","webpack:///./src/images/icons/settings.svg","webpack:///./src/common/WebSocketClient.js","webpack:///./src/fonts/roboto/roboto-v27-latin-italic.woff","webpack:///./src/fonts/roboto/roboto-v27-latin-700.ttf","webpack:///./src/components/Card.module.css","webpack:///./src/components/Spinner.jsx","webpack:///./src/containers/widgets/ui/SiteFooter.module.css?852f","webpack:///./src/components/TeamList.scss","webpack:///./src/fonts/roboto/roboto-v27-latin-700italic.woff","webpack:///./src/fonts/roboto/roboto-v27-latin-700.woff","webpack:///./src/redux/fantasyTeam/types.js","webpack:///./src/images/icons/copy.svg","webpack:///./src/redux/injury/types.js","webpack:///./src/components/Highlight.scss","webpack:///./src/components/ColumnLayout.module.css?8df5","webpack:///./src/redux/auth/types.js","webpack:///./src/redux/game/actions.js","webpack:///./src/components/atoms/Dropdown.module.css?ad06","webpack:///./src/components/Scorebox.module.css","webpack:///./src/components/RoundBadge.scss","webpack:///./src/components/Checkbox.module.css?c332","webpack:///./src/images/icons/injury.svg","webpack:///./src/images/icons/triangle-right.svg","webpack:///./src/components/ContentContainer.jsx","webpack:///./src/images/icons/injury-suspension-3.svg","webpack:///./src/css/main.css?24f3","webpack:///./src/components/CardToast.module.css","webpack:///./src/components/Heading.jsx","webpack:///./src/components/Vignette.scss","webpack:///./src/components/AccordionVersusHeader.scss","webpack:///./src/redux/view/actions.js","webpack:///./src/images/icons/injury-suspension-8.svg","webpack:///./src/components/FactList.module.css","webpack:///./src/redux/ui/types.js","webpack:///./src/fonts/roboto/roboto-v27-latin-700italic.ttf","webpack:///./src/images/icons/burgermenu.svg","webpack:///./src/images/icons/period-2-plus.svg","webpack:///./src/redux/ui/actions.js","webpack:///./src/components/Dropdown.scss","webpack:///./src/images/icons/social-twitter.svg","webpack:///./src/components/Button.jsx","webpack:///./src/components/Dialog.module.css","webpack:///./src/components/CSSVariables.jsx","webpack:///./src/redux/competition/actions.js","webpack:///./src/redux/suspension/types.js","webpack:///./src/redux/common.js","webpack:///./src/components/DynamicComponent.jsx","webpack:///./src/components/Typography.jsx","webpack:///./src/components/Typography.scss","webpack:///./src/images/icons/suspension-9.svg","webpack:///./src/common/auth.js","webpack:///./src/images/icons/triangle-left.svg","webpack:///./src/images/icons/chevron-right.svg","webpack:///./src/redux/recruits/types.js","webpack:///./src/fonts/roboto/roboto-v27-latin-regular.woff2","webpack:///./src/images/icons/filter.svg","webpack:///./src/components/Table.scss","webpack:///./src/images/icons/gold.svg","webpack:///./src/images/icons/injury-suspension-5.svg","webpack:///./src/images/icons/flag.svg","webpack:///./src/redux/notification/actions.js","webpack:///./src/images/icons/dot-small.svg","webpack:///./src/images/icons/padlock.svg","webpack:///./src/images/icons/flame-double.svg","webpack:///./src/images/icons/suspension-8.svg","webpack:///./src/components/ButtonBase.jsx","webpack:///./src/redux/notification/types.js","webpack:///./src/images/icons/social-snapchat.svg","webpack:///./src/components/MatchCard.scss","webpack:///./src/components/ScrollTable.scss","webpack:///./src/redux/messageBoard/actions.js","webpack:///./src/images/icons/exclamation-triangle.svg","webpack:///./src/images/icons/chevron-up.svg","webpack:///./src/fonts/roboto/roboto-v27-latin-700.svg","webpack:///./src/components/Pagination.scss","webpack:///./src/fonts/Geomanist-Light-Webfont/stylesheet.css","webpack:///./src/components/Overlay.scss","webpack:///./src/images/icons/basket.svg","webpack:///./src/images/icons/close-x.svg","webpack:///./src/images/icons/heart-small.svg","webpack:///./src/redux/player/types.js","webpack:///./src/images/icons/heart-outline.svg","webpack:///./src/images/icons/radiomark.svg","webpack:///./src/containers/widgets/ui/SiteFooter.module.css","webpack:///./src/common/utils.js","webpack:///./src/images/icons/triangle-down.svg","webpack:///./src/hooks/useSnackbar.js","webpack:///./src/components/PersonName.scss","webpack:///./src/fonts/roboto/roboto-v27-latin-italic.ttf","webpack:///./src/components/Timeline.scss","webpack:///./src/redux/schedule/types.js","webpack:///./src/images/icons/sort.svg","webpack:///./src/redux/theme/types.js","webpack:///./src/fonts/roboto/roboto-v27-latin-regular.ttf","webpack:///./src/components/Round.scss","webpack:///./src/components/Forms.jsx","webpack:///./src/components/ThemeProvider.jsx","webpack:///./src/containers/ComponentContext.jsx","webpack:///./src/containers/WithView.jsx","webpack:///./src/containers/ViewContainer.jsx","webpack:///./src/containers/StaticWidgetRenderer.jsx","webpack:///./src/containers/WithPlayer.jsx","webpack:///./src/containers/WithFlyout.jsx","webpack:///./src/containers/GameNavigationService.jsx","webpack:///./src/containers/PlayerLink.jsx","webpack:///./src/containers/PlayerIdentity.jsx","webpack:///./src/containers/LocalizeText.jsx","webpack:///./src/containers/widgets/ui/FlyoutButton.jsx","webpack:///./src/containers/widgets/ui/ViewContainer.jsx","webpack:///./src/containers/widgets/ui/TabBar.jsx","webpack:///./src/containers/widgets/ui/FactList.jsx","webpack:///./src/containers/widgets/ui/Block.jsx","webpack:///./src/redux/player/actions.js","webpack:///./src/containers/WithPlayerRoundStatistics.jsx","webpack:///./src/redux/watchlist/actions.js","webpack:///./src/containers/WithWatchlist.jsx","webpack:///./src/containers/WithTournamentStatistics.jsx","webpack:///./src/containers/widgets/ui/TournamentPlayerHighlightList.jsx","webpack:///./src/containers/widgets/ui/CoverImage.jsx","webpack:///./src/containers/widgets/ui/Overlay.jsx","webpack:///./src/containers/widgets/ui/Html.jsx","webpack:///./src/containers/widgets/ui/Text.jsx","webpack:///./src/containers/widgets/ui/Number.jsx","webpack:///./src/containers/widgets/ui/PlayerIdentity.jsx","webpack:///./src/containers/widgets/ui/EventDate.jsx","webpack:///./src/containers/widgets/ui/Percent.jsx","webpack:///./src/containers/widgets/ui/Json.jsx","webpack:///./src/containers/widgets/ui/PageTitle.jsx","webpack:///./src/containers/widgets/ui/Script.jsx","webpack:///./src/containers/widgets/ui/ContentContainer.jsx","webpack:///./src/containers/widgets/ui/Underlay.jsx","webpack:///./src/containers/widgets/ui/Sticky.jsx","webpack:///./src/hooks/useFlyout.js","webpack:///./src/containers/widgets/ui/Paragraph.jsx","webpack:///./src/containers/AppConfigProvider.jsx","webpack:///./src/containers/widgets/ui/NavigationMenu.jsx","webpack:///./src/containers/widgets/ui/Content.jsx","webpack:///./src/containers/widgets/ui/SiteFooter.jsx","webpack:///./src/containers/header/GameMenu.jsx","webpack:///./src/redux/auth/selectors.js","webpack:///./src/redux/user/selectors.js","webpack:///./src/containers/ConnectedNotificationBadge.jsx","webpack:///./src/containers/NotificationBell.jsx","webpack:///./src/hooks/useAuthentication.js","webpack:///./src/containers/useAuthenticator.js","webpack:///./src/containers/AuthenticationButton.jsx","webpack:///./src/containers/UserMenu.jsx","webpack:///./src/containers/widgets/ui/Sidebar.jsx","webpack:///./src/containers/TemplateContentRegion.jsx","webpack:///./src/containers/widgets/ui/TemplateContentRegion.jsx","webpack:///./src/hooks/useTitle.js","webpack:///./src/containers/widgets/ui/Page.jsx","webpack:///./src/redux/theme/actions.js","webpack:///./src/hooks/useTheme.js","webpack:///./src/redux/theme/selectors.js","webpack:///./src/containers/widgets/ui/Theme.jsx","webpack:///./src/containers/widgets/ui/Hero.jsx","webpack:///./src/containers/widgets/ui/Panel.jsx","webpack:///./src/containers/widgets/ui/Prize.jsx","webpack:///./src/containers/widgets/ui/Divider.jsx","webpack:///./src/components/Growth.jsx","webpack:///./src/redux/match/actions.js","webpack:///./src/containers/WithMatchEvents.jsx","webpack:///./src/containers/soccer/SoccerPeriodStatus.jsx","webpack:///./src/containers/MatchOdds.jsx","webpack:///./src/redux/match/selectors.js","webpack:///./src/hooks/useMatchFantasyEventNotifications.js","webpack:///./src/components/CardToast.jsx","webpack:///./src/containers/MatchStatus.jsx","webpack:///./src/containers/soccer/SoccerMatchCard.jsx","webpack:///./src/containers/widgets/ui/SoccerMatchCard.jsx","webpack:///./src/containers/StaticComponentRenderer.jsx","webpack:///./src/redux/config/actions.js","webpack:///./src/containers/WithConfiguration.jsx","webpack:///./src/redux/game/selectors.js","webpack:///./src/redux/tournament/actions.js","webpack:///./src/redux/tournament/selectors.js","webpack:///./src/redux/ruleset/actions.js","webpack:///./src/redux/ruleset/selectors.js","webpack:///./src/redux/injury/actions.js","webpack:///./src/redux/injury/selectors.js","webpack:///./src/redux/suspension/actions.js","webpack:///./src/redux/suspension/selectors.js","webpack:///./src/redux/permission/actions.js","webpack:///./src/redux/permission/selectors.js","webpack:///./src/redux/schedule/actions.js","webpack:///./src/redux/schedule/selectors.js","webpack:///./src/containers/GameContextProvider.jsx","webpack:///./src/containers/WithFlyouts.jsx","webpack:///./src/containers/TournamentStandingsFlyout.jsx","webpack:///./src/containers/MatchContext.jsx","webpack:///./src/containers/WithMatch.jsx","webpack:///./src/containers/MatchReportFlyout.jsx","webpack:///./src/containers/PlayerContext.jsx","webpack:///./src/containers/PlayerFlyout.jsx","webpack:///./src/containers/ViewFlyout.jsx","webpack:///./src/competitions/components/CompetitionCard.jsx","webpack:///./src/competitions/FindCompetitionFlyout.jsx","webpack:///./src/competitions/useKick.js","webpack:///./src/competitions/KickDialog.jsx","webpack:///./src/competitions/useEnrollments.js","webpack:///./src/containers/useCurrentGame.js","webpack:///./src/competitions/Enrollments.jsx","webpack:///./src/competitions/useCompetition.js","webpack:///./src/competitions/Info.jsx","webpack:///./src/competitions/DeleteCompetitionDialog.jsx","webpack:///./src/competitions/Settings.jsx","webpack:///./src/redux/messageBoard/selectors.js","webpack:///./src/containers/messageBoard/useUnread.js","webpack:///./src/containers/messageBoard/ReportDialog.jsx","webpack:///./src/containers/messageBoard/ConfirmationDialog.jsx","webpack:///./src/containers/messageBoard/CreatePost.jsx","webpack:///./src/molecules/AsyncButton.jsx","webpack:///./src/molecules/BusyButton.jsx","webpack:///./src/containers/messageBoard/CreateReply.jsx","webpack:///./src/containers/messageBoard/PostItem.jsx","webpack:///./src/containers/messageBoard/MessageBoard.jsx","webpack:///./src/competitions/useMyEnrollments.js","webpack:///./src/containers/useModal.js","webpack:///./src/competitions/MyEnrollments.jsx","webpack:///./src/competitions/CompetitionFlyout.jsx","webpack:///./src/competitions/CompetitionPreviewFlyout.jsx","webpack:///./src/redux/notification/selectors.js","webpack:///./src/containers/NotificationFlyout.jsx","webpack:///./src/containers/FlyoutConductor.jsx","webpack:///./src/competitions/useEnrollmentOptions.js","webpack:///./src/competitions/useJoinCompetition.js","webpack:///./src/competitions/GameClosedDialog.jsx","webpack:///./src/competitions/EnrollmentDialog.jsx","webpack:///./src/competitions/useResign.js","webpack:///./src/competitions/ResignDialog.jsx","webpack:///./src/redux/recruits/actions.js","webpack:///./src/redux/recruits/selectors.js","webpack:///./src/competitions/ShareInviteDialog.jsx","webpack:///./src/containers/ModalConductor.jsx","webpack:///./src/containers/header/routed/RoutedDesktopSiteHeader.jsx","webpack:///./src/containers/header/MobileSiteHeader.jsx","webpack:///./src/containers/header/routed/TitleConductor.jsx","webpack:///./src/containers/header/routed/RoutedMobileSiteHeader.jsx","webpack:///./src/containers/header/routed/RoutedDesktopGameHeader.jsx","webpack:///./src/containers/header/routed/RoutedMobileGameHeader.jsx","webpack:///./src/components/GlobalHeader.jsx","webpack:///./src/components/GlobalIdentity.jsx","webpack:///./src/containers/header/routed/AccountHeader.jsx","webpack:///./src/containers/FlyoutProxy.jsx","webpack:///./src/containers/header/routed/RoutedHeader.jsx","webpack:///./src/containers/header/Header.jsx","webpack:///./src/containers/LinkHijacker.jsx","webpack:///./src/containers/WithMatchReport.jsx","webpack:///./src/containers/WithMatchFantasyEvents.jsx","webpack:///./src/containers/handball/HandballLineupWidget.jsx","webpack:///./src/containers/football/FootballLineupWidget.jsx","webpack:///./src/containers/hockey/HockeyLineupWidget.jsx","webpack:///./src/containers/generic/GenericVersusMatchHead.jsx","webpack:///./src/containers/golf/GolfMatchHead.jsx","webpack:///./src/containers/motorsport/MotorsportMatchHead.jsx","webpack:///./src/containers/motorsport/MotorsportDriverListWidget.jsx","webpack:///./src/containers/motorsport/MotorsportPitcrewListWidget.jsx","webpack:///./src/containers/motorsport/MotorsportConstructorListWidget.jsx","webpack:///./src/containers/golf/GolfTournamentReport.jsx","webpack:///./src/containers/WithTournamentStandings.jsx","webpack:///./src/containers/TournamentStandings.jsx","webpack:///./src/components/NewMasonry.jsx","webpack:///./src/containers/messageBoard/useMessageBoard.js","webpack:///./src/competitions/CompetitionCard.jsx","webpack:///./src/redux/fantasyTeam/actions.js","webpack:///./src/redux/fantasyTeam/selectors.js","webpack:///./src/containers/useFantasyTeams.js","webpack:///./src/competitions/CompetitionTypeSelectList.jsx","webpack:///./src/competitions/CreateCompetitionDialog.jsx","webpack:///./src/competitions/CreateCompetitionWizard.jsx","webpack:///./src/competitions/useCompetitionList.js","webpack:///./src/competitions/useCompetitionShareDialog.js","webpack:///./src/competitions/Competitions.jsx","webpack:///./src/redux/json/actions.js","webpack:///./src/containers/WithVersusSchedule.jsx","webpack:///./src/containers/VersusSchedule.jsx","webpack:///./src/containers/soccer/SoccerSchedule.jsx","webpack:///./src/containers/WithSchedule.jsx","webpack:///./src/containers/SimpleSchedule.jsx","webpack:///./src/containers/golf/GolfScheduleCardView.jsx","webpack:///./src/containers/golf/GolfScheduleTableView.jsx","webpack:///./src/containers/golf/GolfSchedule.jsx","webpack:///./src/containers/cycling/CyclingScheduleCardView.jsx","webpack:///./src/containers/cycling/CyclingScheduleTableView.jsx","webpack:///./src/containers/cycling/CyclingSchedule.jsx","webpack:///./src/containers/motorsport/MotorsportScheduleCardView.jsx","webpack:///./src/containers/motorsport/MotorsportScheduleTableView.jsx","webpack:///./src/containers/motorsport/MotorsportSchedule.jsx","webpack:///./src/containers/genericversus/GenericVersusMatchCard.jsx","webpack:///./src/containers/genericversus/GenericVersusSchedule.jsx","webpack:///./src/containers/generic/GenericMatchCard.jsx","webpack:///./src/containers/generic/GenericScheduleCardList.jsx","webpack:///./src/containers/generic/GenericScheduleTable.jsx","webpack:///./src/containers/generic/GenericSchedule.jsx","webpack:///./src/containers/widgets/When.jsx","webpack:///./src/containers/widgets/WhenMatch.jsx","webpack:///./src/containers/stock/StockSchedule.jsx","webpack:///./src/containers/ski/SkiSchedule.jsx","webpack:///./src/containers/soccer/SoccerLineupWidget.jsx","webpack:///./src/containers/soccer/configuration.js","webpack:///./src/containers/soccer/SoccerMatchHead.jsx","webpack:///./src/containers/PlayerStatisticsDataGrid.jsx","webpack:///./src/containers/RemountElement.jsx","webpack:///./src/containers/messageBoard/MessageBoardProvider.jsx","webpack:///./src/competitions/Share.jsx","webpack:///./src/competitions/Competition.jsx","webpack:///./src/competitions/Contests.jsx","webpack:///./src/hooks/useMediaQuery.js","webpack:///./src/containers/Game.jsx","webpack:///./src/containers/press/LineupBuilder.jsx","webpack:///./src/containers/widgets/data/Group.jsx","webpack:///./src/containers/widgets/data/Repeater.jsx","webpack:///./src/containers/widgets/data/Connect.jsx","webpack:///./src/containers/WithPlayerValues.jsx","webpack:///./src/containers/WithPlayerFantasyEvents.jsx","webpack:///./src/containers/widgets/data/PlayerProfile.jsx","webpack:///./src/containers/widgets/data/MatchPlayerStatistics.jsx","webpack:///./src/containers/widgets/data/Filter.jsx","webpack:///./src/containers/widgets/data/If.jsx","webpack:///./src/containers/widgets/data/Sum.jsx","webpack:///./src/containers/widgets/data/Number.jsx","webpack:///./src/containers/widgets/data/Text.jsx","webpack:///./src/containers/widgets/data/Json.jsx","webpack:///./src/containers/widgets/data/PlayerIdentity.jsx","webpack:///./src/containers/widgets/data/Percent.jsx","webpack:///./src/containers/widgets/data/EventDate.jsx","webpack:///./src/containers/widgets/data/Transform.jsx","webpack:///./src/containers/widgets/data/SetCurrentContext.jsx","webpack:///./src/containers/widgets/data/DataGrid.jsx","webpack:///./src/containers/WithPlayerEvents.jsx","webpack:///./src/containers/widgets/datasource/PlayerPassport.jsx","webpack:///./src/containers/WithTeamPassport.jsx","webpack:///./src/containers/widgets/datasource/TeamPassport.jsx","webpack:///./src/containers/WithTeamPlayers.jsx","webpack:///./src/containers/widgets/datasource/TeamPlayers.jsx","webpack:///./src/containers/widgets/datasource/Schedule.jsx","webpack:///./src/containers/widgets/datasource/MatchPlayerStatistics.jsx","webpack:///./src/containers/widgets/match/Location.jsx","webpack:///./src/containers/widgets/match/LocationCoverImage.jsx","webpack:///./src/hooks/useJson.js","webpack:///./src/hooks/useOdds.js","webpack:///./src/containers/widgets/match/Odds.jsx","webpack:///./src/containers/widgets/match/Property.jsx","webpack:///./src/containers/widgets/match/Timeline.jsx","webpack:///./src/containers/widgets/match/Title.jsx","webpack:///./src/containers/widgets/match/VersusTitle.jsx","webpack:///./src/containers/widgets/match/Start.jsx","webpack:///./src/containers/widgets/player/Avatar.jsx","webpack:///./src/containers/widgets/player/Value.jsx","webpack:///./src/containers/widgets/player/TotalGrowth.jsx","webpack:///./src/containers/widgets/player/Trend.jsx","webpack:///./src/containers/widgets/player/Popularity.jsx","webpack:///./src/containers/widgets/player/FactList.jsx","webpack:///./src/components/AccordionVersusHeader.jsx","webpack:///./src/containers/widgets/player/MatchPointList.jsx","webpack:///./src/containers/widgets/player/VersusMatchPointList.jsx","webpack:///./src/containers/widgets/player/SimpleMatchPointList.jsx","webpack:///./src/containers/widgets/player/EventCount.jsx","webpack:///./src/containers/widgets/player/IdentityTopbar.jsx","webpack:///./src/containers/widgets/player/Form.jsx","webpack:///./src/containers/WithPlayerStatistics.jsx","webpack:///./src/containers/widgets/player/Statistics.jsx","webpack:///./src/containers/PersonInjuryStatus.jsx","webpack:///./src/containers/widgets/player/InjuryStatus.jsx","webpack:///./src/containers/PersonSuspensionStatus.jsx","webpack:///./src/containers/widgets/player/SuspensionStatus.jsx","webpack:///./src/containers/FormContext.jsx","webpack:///./src/containers/FormContextProvider.jsx","webpack:///./src/containers/widgets/forms/Form.jsx","webpack:///./src/containers/widgets/MapToProps.jsx","webpack:///./src/containers/widgets/forms/Apply.jsx","webpack:///./src/containers/widgets/forms/Textbox.jsx","webpack:///./src/containers/widgets/forms/Checkbox.jsx","webpack:///./src/containers/widgets/forms/ResetButton.jsx","webpack:///./src/containers/widgets/forms/Changes.jsx","webpack:///./src/containers/widgets/forms/TeamDropdownList.jsx","webpack:///./src/containers/widgets/forms/PositionCheckboxList.jsx","webpack:///./src/containers/widgets/forms/RoundDropDownList.jsx","webpack:///./src/containers/widgets/web/Link.jsx","webpack:///./src/containers/widgets/web/Image.jsx","webpack:///./src/containers/widgets/web/IFrame.jsx","webpack:///./src/containers/widgets/web/Banner.jsx","webpack:///./src/containers/widgets/layout/BlockGridLayout.jsx","webpack:///./src/containers/widgets/layout/ColumnLayout.jsx","webpack:///./src/containers/widgets/security/Signup.jsx","webpack:///./src/containers/widgets/plugins/Script.jsx","webpack:///./src/componentMap.js","webpack:///./src/containers/widgets/forms/Group.jsx","webpack:///./src/containers/widgets/forms/Label.jsx","webpack:///./src/containers/widgets/ui/Faq.jsx","webpack:///./src/containers/widgets/ui/Pointsystem.jsx","webpack:///./src/containers/widgets/ui/TopBar.jsx","webpack:///./src/containers/widgets/ui/Toolbar.jsx","webpack:///./src/containers/widgets/ui/Grid.jsx","webpack:///./src/containers/widgets/ui/Heading.jsx","webpack:///./src/containers/widgets/ui/SectionHeading.jsx","webpack:///./src/containers/widgets/ui/Flyout.jsx","webpack:///./src/containers/widgets/ui/ContextMenu.jsx","webpack:///./src/containers/widgets/layout/Grid.jsx","webpack:///./src/containers/widgets/layout/Stack.jsx","webpack:///./src/containers/widgets/layout/FlyoutSummary.jsx","webpack:///./src/containers/widgets/layout/PageContentContainer.jsx","webpack:///./src/containers/authentication/SignupEmail.jsx","webpack:///./src/containers/authentication/SignupCode.jsx","webpack:///./src/containers/authentication/OptinList.jsx","webpack:///./src/containers/authentication/SignupUsername.jsx","webpack:///./src/containers/authentication/SignupWithFacebook.jsx","webpack:///./src/containers/authentication/Start.jsx","webpack:///./src/containers/authentication/SignIn.jsx","webpack:///./src/containers/authentication/Reset.jsx","webpack:///./src/containers/authentication/ResetCode.jsx","webpack:///./src/containers/authentication/ResetConfirm.jsx","webpack:///./src/containers/authentication/Authenticator.jsx","webpack:///./src/containers/AuthPage.jsx","webpack:///./src/containers/LegacyHandler.jsx","webpack:///./src/containers/GlobalStyles.jsx","webpack:///./src/containers/App.jsx","webpack:///./src/components/translation-provider.jsx","webpack:///./src/containers/Root.jsx","webpack:///./src/images/icons/eye-outline.svg","webpack:///./src/images/icons/injury-suspension-1.svg","webpack:///./src/components/ChangeNotification.module.css","webpack:///./src/images/icons/suspension-4.svg","webpack:///./src/images/icons/injury-suspension-6.svg","webpack:///./src/components/NavBar.scss","webpack:///./src/schemas.js","webpack:///./src/components/Table.jsx","webpack:///./src/images/icons/chevron-left.svg","webpack:///./src/components/Banner.scss","webpack:///./src/images/icons/stopwatch-animated.svg","webpack:///./src/fonts/roboto/stylesheet.css?9316","webpack:///./src/components/AuthenticationModal.module.css","webpack:///./src/components/Underlay.scss","webpack:///./src/redux/view/types.js","webpack:///./src/components/DataContextProvider.jsx","webpack:///./src/containers/GameContext.jsx","webpack:///./src/images/icons/cup.svg","webpack:///./src/images/icons/pen.svg","webpack:///./src/images/icons/suspension-5.svg","webpack:///./src/components/Menu.jsx","webpack:///./src/components/ToolbarButton.jsx","webpack:///./src/images/icons/magnify.svg","webpack:///./src/components/Button.scss","webpack:///./src/redux/watchlist/types.js","webpack:///./src/components/XButton.jsx","webpack:///./src/images/icons/stopwatch.svg","webpack:///./src/components/Countdown.scss","webpack:///./src/images/icons/social-sms.svg","webpack:///./src/components/Pill.module.css","webpack:///./src/components/Gamebox.scss","webpack:///./src/components/FactList.module.css?5e67","webpack:///./src/components/MediaObject.scss","webpack:///./src/fonts/roboto/roboto-v27-latin-regular.woff"],"names":["module","exports","FETCH_MATCH_REQUEST","FETCH_MATCH_SUCCESS","FETCH_MATCH_FAILURE","INVALIDATE_MATCH_EVENTS","FETCH_MATCH_EVENTS_REQUEST","FETCH_MATCH_EVENTS_SUCCESS","INVALIDATE_MATCH_FANTASY_EVENTS","FETCH_MATCH_FANTASY_EVENTS_REQUEST","FETCH_MATCH_FANTASY_EVENTS_SUCCESS","FETCH_MATCH_FANTASY_EVENTS_FAILURE","DISPLAY_MATCH_FANTASY_EVENT_NOTIFICATION","HIDE_MATCH_FANTASY_EVENT_NOTIFICATION","___CSS_LOADER_API_IMPORT___","push","i","locals","getUserCompetitions","createSelector","state","competition","competitions","entities","fantasyTeams","users","competitionEntities","fantasyTeamEntities","userEntities","items","isFetching","didInvalidate","map","item","owner","teams","t","filter","getCompetitionsSearchResult","search","getStandings","standings","leaderboards","leaderboardEntities","getQualifications","qualifications","cupQualifications","cupQualificationEntities","makeGetEnrollmentOptions","invitations","invitationEntities","id","invitation","sender","competitionId","safeget","byCompetition","enrollmentOptions","ft","makeGetMyEnrollments","enrollments","myEnrollments","enrollmentEntities","enrollment","fantasyTeam","user","makeGetCompetition","games","gameEntities","game","makeGetEnrollments","competitionEnrollments","previous","invitees","competitionHistory","data","count","page","pageSize","embedded","styled","div","space","display","flexbox","DialogHeader","children","className","styles","header","size","DialogContent","content","DialogFooter","footer","Dialog","otherProps","___CSS_LOADER_GET_URL_IMPORT___","___CSS_LOADER_URL_IMPORT_0___","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_IMPORT_2___","___CSS_LOADER_URL_IMPORT_3___","___CSS_LOADER_URL_IMPORT_4___","___CSS_LOADER_URL_IMPORT_5___","___CSS_LOADER_URL_IMPORT_6___","___CSS_LOADER_URL_IMPORT_7___","___CSS_LOADER_URL_IMPORT_8___","___CSS_LOADER_URL_IMPORT_9___","___CSS_LOADER_URL_IMPORT_10___","___CSS_LOADER_URL_IMPORT_11___","___CSS_LOADER_URL_IMPORT_12___","___CSS_LOADER_URL_IMPORT_13___","___CSS_LOADER_URL_IMPORT_14___","___CSS_LOADER_URL_IMPORT_15___","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_REPLACEMENT_1___","___CSS_LOADER_URL_REPLACEMENT_2___","___CSS_LOADER_URL_REPLACEMENT_3___","hash","___CSS_LOADER_URL_REPLACEMENT_4___","___CSS_LOADER_URL_REPLACEMENT_5___","___CSS_LOADER_URL_REPLACEMENT_6___","___CSS_LOADER_URL_REPLACEMENT_7___","___CSS_LOADER_URL_REPLACEMENT_8___","___CSS_LOADER_URL_REPLACEMENT_9___","___CSS_LOADER_URL_REPLACEMENT_10___","___CSS_LOADER_URL_REPLACEMENT_11___","___CSS_LOADER_URL_REPLACEMENT_12___","___CSS_LOADER_URL_REPLACEMENT_13___","___CSS_LOADER_URL_REPLACEMENT_14___","___CSS_LOADER_URL_REPLACEMENT_15___","IconButton","React","forwardRef","ref","solid","onClick","label","withIcon","e","preventDefault","icon","createContext","BreakpointContext","BreakpointProvider","memo","breakpoints","mediaQueries","useMemo","sortedBreakpoints","Object","keys","sort","a","b","breakpoint","index","query","minWidth","nextBreakpoint","maxWidth","length","createMediaQueries","initialState","find","mq","window","matchMedia","matches","useState","setBreakpoint","useEffect","fns","mediaQuery","handler","addListener","removeListener","forEach","fn","Provider","value","useBreakpoint","useContext","api","__esModule","default","options","offsetMilliseconds","sync","axios","get","then","response","serverTime","Date","localTime","getTime","console","log","now","this","CURRENT_USER_REQUEST","CURRENT_USER_RECEIVE","CURRENT_USER_FAILURE","FETCH_USER_REQUEST","FETCH_USER_SUCCESS","FETCH_USER_FAILURE","FETCH_POSTS_REQUEST","FETCH_POSTS_SUCCESS","FETCH_POSTS_FAIL","INVALIDATE_POSTS","FETCH_MORE_POSTS_REQUEST","FETCH_MORE_POSTS_SUCCESS","FETCH_MORE_POSTS_FAIL","FETCH_REPLIES_REQUEST","FETCH_REPLIES_SUCCESS","FETCH_REPLIES_FAIL","FETCH_MORE_REPLIES_REQUEST","FETCH_MORE_REPLIES_SUCCESS","FETCH_MORE_REPLIES_FAIL","CREATE_POST_REQUEST","CREATE_POST_SUCCESS","CREATE_POST_FAIL","CREATE_REPLY_REQUEST","CREATE_REPLY_SUCCESS","CREATE_REPLY_FAIL","FETCH_MESSAGEBOARD_REQUEST","FETCH_MESSAGEBOARD_SUCCESS","FETCH_MESSAGEBOARD_FAIL","INVALIDATE_MESSAGEBOARD","MARK_MESSAGEBOARD_READ_REQUEST","MARK_MESSAGEBOARD_READ_SUCCESS","MARK_MESSAGEBOARD_READ_FAIL","DELETE_POST_REQUEST","DELETE_POST_SUCCESS","DELETE_POST_FAIL","WS_NEW_POST","SUBSCRIBE","UNSUBSCRIBE","APPLY_PENDING_POSTS","APPLY_PENDING_REPLIES","translatable","ComponentToWrap","props","translationContext","TranslationContext","translator","translate","key","params","Pill","variant","classNames","pill","action","WS_MESSAGE","WS_MESSAGE_BULK","AuthenticationHeader","AuthenticationModal","coverImageUrl","open","onClose","error","canClose","canCloseOnBackgroundClick","container","cover","style","backgroundImage","main","Pagination","next","bind","totalPages","Math","ceil","onNext","onPageChanged","onPrevious","number","disabled","textTransform","type","PureComponent","propTypes","PropTypes","windowSize","func","defaultProps","fetchCurrentUser","dispatch","types","accessToken","auth","getAccessToken","receiveCurrentUser","fetchCurrentUserIfNeeded","getState","me","shouldFetchCurrentUser","start","complete","cancel","goto","name","authenticationSuccess","payload","checkAccount","email","checkAccountRequest","post","checkAccountSuccess","hasAccount","problems","login","signin","o","token","username","roles","expires","requestReset","signupSubmitEmail","signupSubmitCode","code","signupSubmitCodeSuccess","signupSubmit","password","optins","setAuth","legacyLogin","localStorage","setItem","dispatchEvent","Event","facebookLogin","facebookLoginRequest","status","facebookSignup","facebook","registration","Promise","resolve","reject","url","swush","legacyLoginEndpoint","redirect","location","href","_","Container","Background","animated","Window","theme","colors","siteBackground","siteForeground","Close","ModalHeader","Footer","ModalWindow","heading","preventKeyboard","handleKeyDown","useCallback","document","addEventListener","removeEventListener","transition","useTransition","from","opacity","transform","enter","leave","config","mass","tension","friction","internalOnClose","handleBackgroundClick","Fragment","bool","FETCH_LEAGUE_ARCHIVE_REQUEST","FETCH_LEAGUE_ARCHIVE_SUCCESS","FETCH_LEAGUE_ARCHIVE_FAIL","FETCH_ARCHIVED_LEADERBOARD_REQUEST","FETCH_ARCHIVED_LEADERBOARD_SUCCESS","FETCH_ARCHIVED_LEADERBOARD_FAIL","FETCH_TOURNAMENT_REQUEST","FETCH_TOURNAMENT_SUCCESS","FETCH_TOURNAMENT_FAILURE","FETCH_TOURNAMENT_STANDINGS_REQUEST","FETCH_TOURNAMENT_STANDINGS_SUCCESS","FETCH_TOURNAMENT_STANDINGS_FAILURE","useTranslator","FETCH_RULESET_REQUEST","FETCH_RULESET_SUCCESS","FETCH_RULESET_FAILURE","FETCH_CATALOG_REQUEST","FETCH_CATALOG_SUCCESS","SELECT_GAME","SELECT_ROUND","FETCH_GAME_REQUEST","FETCH_GAME_SUCCESS","modalRoot","getElementById","Modal","el","createElement","appendChild","removeChild","ReactDOM","createPortal","defaultState","catalog","selected","byId","rows","round","gameId","scope","i18nText","scopes","requiresAuthentication","flow","showModal","check","signup","step","form","reset","isAuthenticating","isAuthenticated","facebookReducer","isBusy","signupReducer","resetReducer","checkReducer","signinReducer","byUrl","categories","groupMemberships","members","selectedGroup","groupReducer","result","groupId","profilesByPlayer","fantasyStatisticsByPlayer","statisticsByPlayer","statisticsByRound","events","values","fantasyEvents","wsMessageReducer","message","player","indexOf","playerReducer","wsTypes","nState","queue","playerId","byGame","watchlistReducer","existingItem","existingIndex","slice","statistics","positions","schedule","flyouts","selectedPlayer","createGroup","errors","connection","isFlaky","isLost","title","modal","didFetch","defaultByCompetitionState","defaultSearchState","links","searchReducer","byCompetitionReducer","competitionReducer","gameTypes","userState","leaderboardsByUser","competitionState","selectedOption","recruitsReducer","competitionTypes","invited","userId","results","eventNotifications","fantasyEventNotifications","fantasyEventReducer","matchState","existing","match","mState","eventList","byName","list","compiled","precompiled","standingsById","byTournament","mergeEntities","normalized","mergedState","typeEntities","entity","hasOwnProperty","mergedEntity","mergeEntityChanges","changes","highscores","rulesets","players","persons","formations","tournaments","playerValues","groups","locations","matchGroups","views","jobs","jobHistories","jobSchedules","jobTypes","normalize","matchSchema","period","amount","group","time","eventSchema","minute","deflateFantasyEvent","fantasyEventSchema","playerValueSchema","lineups","fantasyTeamReducer","fantasyTeamId","lineup","notifications","notificationReducer","userTypes","resources","permissionReducer","resource","invitationReducer","themeReducer","byMessageBoard","unreadByMessageBoard","subscriptions","defaultMessageBoardState","posts","repliesByPost","replyCountByPost","pendingPosts","pendingRepliesByPost","byMessageBoardReducer","postId","parentPostId","messageBoardPosts","reduce","acc","replies","messageBoardReducer","messageBoardId","messageBoards","unreadCount","s","my","friendsReducer","leagues","leaderboard","archiveReducer","rootReducer","combineReducers","viewTypes","playerTypes","matchTypes","scheduleTypes","membership","nMembership","rulesetTypes","tournamentTypes","notificationTypes","agg","n","read","highscore","parameters","configs","ui","selectedTournament","tournament","flyout","view","matchId","component","callback","watchlist","isLoaded","r","json","notification","injury","suspension","permission","messageBoard","friends","recruits","archive","queueTimeout","setTimeout","q","jobj","configureStore","preloadedState","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","createStore","applyMiddleware","throttle","thunk","locale","dayjs","setDayJsLocale","Array","prototype","groupBy","val","defaults","baseURL","appId","interceptors","request","use","cfg","apiCulture","originalRequest","_retry","store","ws","initialize","selectGame","loadAuth","require","translations","k","parts","split","culture","filenameParts","webpackContext","req","webpackContextResolve","__webpack_require__","Error","FETCH_USER_COMPETITIONS_REQUEST","FETCH_USER_COMPETITIONS_SUCCESS","FETCH_USER_COMPETITIONS_FAIL","INVALIDATE_USER_COMPETITIONS","FETCH_COMPETITION_REQUEST","FETCH_COMPETITION_SUCCESS","FETCH_COMPETITION_FAIL","FETCH_USER_LEADERBOARDS_REQUEST","FETCH_USER_LEADERBOARDS_SUCCESS","FETCH_USER_LEADERBOARDS_FAILURE","FIND_COMPETITIONS_REQUEST","FIND_COMPETITIONS_SUCCESS","FIND_COMPETITIONS_FAIL","FIND_MORE_COMPETITIONS_REQUEST","FIND_MORE_COMPETITIONS_SUCCESS","FIND_MORE_COMPETITIONS_FAIL","FETCH_STANDINGS_REQUEST","FETCH_STANDINGS_SUCCESS","FETCH_STANDINGS_FAIL","FETCH_MY_ENROLLMENTS_REQUEST","FETCH_MY_ENROLLMENTS_SUCCESS","FETCH_MY_ENROLLMENTS_FAIL","FETCH_QUALIFICATIONS_REQUEST","FETCH_QUALIFICATIONS_SUCCESS","FETCH_QUALIFICATIONS_FAIL","CREATE_COMPETITION_REQUEST","CREATE_COMPETITION_SUCCESS","CREATE_COMPETITION_FAIL","DELETE_COMPETITION_REQUEST","DELETE_COMPETITION_SUCCESS","DELETE_COMPETITION_FAIL","FETCH_ENROLLMENT_OPTIONS_REQUEST","FETCH_ENROLLMENT_OPTIONS_SUCCESS","FETCH_ENROLLMENT_OPTIONS_FAIL","INVALIDATE_ENROLLMENT_OPTIONS","ENROLLMENT_CHANGE","UPDATE_COMPETITION_REQUEST","UPDATE_COMPETITION_SUCCESS","UPDATE_COMPETITION_FAIL","INVALIDATE_ENROLLMENTS","FETCH_ENROLLMENTS_REQUEST","FETCH_ENROLLMENTS_SUCCESS","FETCH_ENROLLMENTS_FAIL","FETCH_MORE_ENROLLMENTS_REQUEST","FETCH_MORE_ENROLLMENTS_SUCCESS","FETCH_MORE_ENROLLMENTS_FAIL","INVITE_REQUEST","INVITE_SUCCESS","INVITE_FAIL","INVITE_ALL_REQUEST","INVITE_ALL_SUCCESS","INVITE_ALL_FAIL","RESIGN_SUCCESS","FETCH_MY_COMPETITION_HISTORY_REQUEST","FETCH_MY_COMPETITION_HISTORY_SUCCESS","FETCH_MY_COMPETITION_HISTORY_FAIL","Plus","ItemHeader","ItemContent","FaqItem","setOpen","useRef","current","left","top","width","height","bounds","set","ResizeObserver","entry","contentRect","ro","observe","disconnect","useMeasure","viewHeight","useSpring","to","stiff","clamp","delay","Icon","overflow","Faq","propName","componentName","prop","Children","child","Alert","image","alert","string","ExternalLink","renderAs","button","lineHeight","actualHref","externalBaseUrl","CountdownBase","days","hours","minutes","seconds","rounds","show","timer","update","setInterval","nextProps","clearInterval","tsec","parseInt","floor","setState","instanceOf","isRequired","TextCountdown","formatPart","text","Countdown","countdown","layout","GameboxHeader","subtitle","sponsorImageUrl","sponsor","src","node","GameboxCallToAction","countdownTo","cta","ctaDescription","ctaTitle","ctaCountdown","ctaAction","large","Gamebox","gamebox","UserIdentity","Box","alignItems","mr","Avatar","imageUrl","fontWeight","color","isDeleted","object","FactListItem","FactList","cloneElement","shadow","defaultPhaseObject","deadline","Phase","configuration","phaseName","roundNumber","close","end","phaseObj","phases","PhaseText","phase","args","replace","componentDecorator","hr","target","rel","PostText","lines","l","MatchCardGroup","groupHeading","MatchCardList","Digit","_value","debouncedValue","setDebouncedValue","timeout","clearTimeout","useDebounce","usePrevious","handleTransitionEnd","classList","remove","transitioning","visibility","add","digit","Scorebox","previousValue","sArr","isHighlighted","setIsHightlighted","highlight","StyledWrapper","cardBackground","radii","r400","shadows","card","borderUp","VersusEventContent","home","away","homeIcon","awayIcon","homeScore","awayScore","versus","participants","team","teamIcon","scoreContainer","Progress","progress","MatchCard","pre","unread","live","matchCard","simpleEvent","active","MatchHead","date","country","homeEvents","awayEvents","tl","tr","score","simple","backgroundImageUrl","StyledMasonry","rowGap","columnGap","minimumWidth","rowHeight","Masonry","childNodes","j","getBoundingClientRect","span","gridRowEnd","getStops","periodIndex","SoccerClock","nominalMinutes","nominalSeconds","maximumMinutes","stops","started","paused","finished","periods","baseMinute","getPeriodBaseMinute","currentPeriod","getNominalPeriodDuration","SectionHeading","Round","SiteFooter","menuItems","flair","ViewContainer","siteFooter","m","Menu","copyright","dangerouslySetInnerHTML","__html","f","array","ColumnLayoutColumn","ColumnLayout","templateColumns","join","gridTemplateColumns","identity","css","Content","PageContentContainer","EventDate","displayDate","displayTime","format","dt","yesterday","diff","subtract","tomorrow","year","month","oneOf","TeamList","SoccerMatchDate","isFuture","tick","isPaused","getPeriodName","mDate","getFullYear","getMonth","getDay","dateStyle","env","moment","farDateFormat","long","short","nearDateFormat","delta","abs","tickPending","minuteBase","lastPeriod","renderPending","renderLive","renderUpdatedCompleted","PLAYER_AVATAR_MAP","tiny","small","medium","huge","PlayerAvatar","flipX","flipY","GameContext","Consumer","gameConfiguration","scaleX","scaleY","avatarUrl","baseUrl","playerAvatarBaseUrl","DeltaClock","padStart","useOnClickOutside","listener","event","contains","useOnEscape","keyCode","Dropdown","align","onSelect","onRenderItem","expand","themeName","tetherRef","useOnWheelOutside","transitions","menuContainerClassName","right","tRect","pointerEvents","isOpen","menu","mi","separator","selectable","px","RoundDropDownList","prev","allRounds","filterRounds","idx","selectedItem","nextFunc","XButton","pl","ml","pr","SelectList","placeholder","verticalAlign","onRenderSelectedItem","mItems","block","flex","any","maximum","p","parseFloat","Stop","stop","v","DropDownList","onChange","toggle","inline","alignment","appearance","DropDownListItem","position","Paragraph","ItemStyle","ExternalItem","Item","Link","NavigationMenu","external","routing","StyledHeader","themes","primary","primaryForeground","GameHeader","RoundBadge","badge","GameIdentity","statusHeading","statusSubheading","StyledContainer","StyledUserName","UserDropdown","hideName","ShortPersonName","person","lastname","firstname","FullPersonName","AutoPersonName","abbreviated","full","PersonName","DefaultByLine","star","lo","CompactByLine","AutoByLine","abbr","PlayerByline","warning","SoccerMatchClock","getMinuteBaseFromPeriods","milliseconds","sVal","renderPart","EmailIdentity","rejectCaption","onReject","FacebookContext","FacebookProvider","fbAsyncInit","FB","init","cookie","xfbml","version","d","js","fjs","getElementsByTagName","parentNode","insertBefore","StyledFacebookLoginButton","LoginButton","onAuthorize","onCancel","authResponse","StyledFlyout","typography","StyledFlyoutHeader","StyledFlyoutFooter","StyledFlyoutContent","padding","FlyoutHeader","FlyoutContent","Flyout","Component","useScrollBarWidth","offsetWidth","clientWidth","scrollBarWidth","setScrollBarWidth","entries","useLayoutEffect","resizeObserver","unobserve","useOnResize","StyledHeaderWrapper","StyledToolbarWrapper","StyledHeaderContent","FlyoutOverlayContent","toolbar","minimumHeight","scrollTop","scrollPosition","setScrollPosition","onScroll","useScrollPosition","variants","cardForeground","utilityBlue","utilityWhite","utilityYellow","utilityBlack","utilityRed","Tag","StyledIcon","StyledLabel","checked","StyledContent","RichCheckable","uncheckedIcon","checkedIcon","StyledItem","RichRadioButtonList","itemValue","SidebarContainer","onKeyDown","which","classes","locked","body","StyledTopbar","sticky","TopBar","backgroundColor","stickyOffsetTop","TabMenuItem","TabMenu","updateSelected","containerRef","createRef","trackerRef","containerEl","selectedEl","selectedIndex","cRect","sRect","offset","x","y","trackerEl","StyledNotificationWrapper","StyledNotificationIcon","NotificationIcon","boxShadow","Attachment","attachment","checkSize","clientHeight","installWatcher","sizeChanged","onDimensionsChanged","uninstallWatcher","Shadow","ScrollContainer","leftEl","rightEl","scrollLeft","scrollWidth","leftOpacity","shadowDistance","rightOpacity","continousConstraint","MatchTitle","homeParticipant","awayParticipant","properties","renderVersus","AccordionItem","Accordion","initialSelectedIndex","setSelectedIndex","EmptyResultsetPlaceholder","PlayerProfileStatisticsPane","stat","eventMap","evt","columns","c","showPlaceholder","column","renderRow","ContextProvider","context","childContextTypes","Checkbox","_className","onMouseDown","onMouseUp","faux","Cover","AnimatedMenu","AnimatedCover","OffCanvasSidebar","pin","PinnedContainer","PinnedMenu","PinnedContent","PinnedSidebar","Sidebar","SidebarMain","SidebarPanel","ListView","ListViewItem","borderDown","ListViewHeader","borderBottom","buttonLikeBackgroundDisabled","buttonLikeBackground","s300","actionHover","buttonLikeForegroundDisabled","Checkable","useTheme","textStyles","formNormal","CheckBoxButtonList","nList","RadioButtonList","clickHandler","StyledSticker","WithSticker","sticker","StyledSnackbar","snackbarBackground","information","snackbarForeground","success","utilityGreenContrast","utilityOrangeContrast","utilityRedContrast","snackbar","Snackbar","SnackbarContext","SnackbarProvider","setItems","internalTimeout","internalSetTimeout","bottom","zIndex","hide","Panel","bg","RelativeTime","elapsed","HighlightItem","media","Highlight","CheckBoxButton","FormattedValue","percent","Filterbar","onRemove","ErrorBoundary","hasError","showDetails","info","rg4js","minHeight","flexDirection","justifyContent","textAlign","Jump","absValue","red","green","renderIcon","renderValue","StackItem","Stack","orientation","GridItem","Grid","FantasyTeamIdentity","level","StyledBackground","willChange","duration","FlyoutStack","onPop","backgroundRef","childCount","gentle","FieldError","propertyErrors","source","field","OutcomeWrapper","stopPropagation","Outcome","odds","outcome","toFixed","hot","Odds","superhotThreshold","hotThreshold","navbarBackground","navbarForeground","NavItem","NavBar","brand","aux","as","CardInset","inset","Card","contextMenu","clickable","AlertBox","SearchBox","debounce","persist","arguments","apply","onQueryChange","busy","Confirm","onConfirm","auto","Button","GridView","gap","gridGap","Cell","gridRow","innerStyle","gridColumn","row","ValueChangeNotification","nValue","pValue","isChanging","compare","wipe","changeContainer","effect0","effect1","effect2","change","render","Tabs","tab","toArray","TabPane","SortableList","aValue","bValue","reverse","localeCompare","Media","updateMatches","only","Async","cancelUpdate","load","C","forceUpdate","componentProps","FantasyTeamLink","DocumentTitle","savedTitle","LinkButton","aHref","RouteButton","history","ButtonBase","withRouter","TimelineRow","both","TimelineSeparator","siteForegroundMeta","Timeline","LoadingIndicator","onReady","Slot","ScrollTable","scrollTable","ContextMenuPortal","querySelector","setAttribute","ContextMenuContainer","Banner","banner","Header","hover","HeaderTitle","HeaderActions","HeaderAction","ComponentEditor","componentContext","childType","editingContext","ViewEditingContext","pathArr","path","hoverPath","activePath","sendCommand","onMouseOver","onMouseLeave","definition","displayName","functions","toUpperCase","RuntimeComponentWrapper","editMode","ComponentToRender","dataContext","DataContext","funcs","propertyMapper","expr","substring","Function","warn","pick","mappedProps","getComponent","parent","components","definitions","isArray","parsedProps","parseProps","wrappable","some","View","Number","treatZeroAsMissing","postfix","meta","negative","headRoot","head","Head","Datasource","getAlignmentProperties","center","DataGridTable","disabledProperty","activeColumn","onSort","Table","Row","alignmentProperties","element","Body","DataContextProvider","isActive","DataGrid","cArr","activeColumnIndex","fixedChildren","fixed","otherChildren","Left","Right","DataGridColumn","TargetingContext","TargetingProvider","MediaObject","TableValue","slowzoom","keyframes","Heading","h1","Edition","Subtitle","h3","AnimatedBackground","Trails","trail","useTrail","childs","rest","interpolate","Hero","edition","CoverImage","tint","vignetteSize","vignetteStrength","vignetteColor","backgrounds","tintStyle","Overlay","overlay","Vignette","strength","gradients","vignette","Underlay","underlay","StyledMenu","stickyOffset","fill","TabBarItem","TabBar","initialTabIndex","transparent","renderMenu","tabIndex","setTabIndex","renderMenuFunc","select","activeIndex","Toolbar","cName","Connect","childProps","expressionValue","exp","FlyoutSummaryMedia","FlyoutSummaryItem","FlyoutSummary","InjurySuspensionIcon","injured","suspensionDays","getIcon","WindowsResizeObserver","onResize","margin","Block","Fade","More","maximumHeight","fadeRef","showAll","setShowAll","offsetHeight","maxHeight","StyledCommentCountIcon","CommentCountIcon","ChangeNotification","FlatList","totalCount","itemSize","onLoadMore","isItemLoaded","itemCount","loadMoreItems","onItemsRendered","Spinner","SplitViewTopPane","SplitViewPane","SplitView","medias","Share","subject","inputRef","useSnackbar","showSnackbar","readOnly","setSelectionRange","execCommand","getSelection","removeAllRanges","ToolbarButton","nUrl","mapUrl","ExpandablePanel","Separator","ContextMenu","showLabel","onCommand","command","MessageBox","okCaption","usePageTitle","FETCH_RESOURCE_PERMISSIONS_REQUEST","FETCH_RESOURCE_PERMISSIONS_SUCCESS","FETCH_RESOURCE_PERMISSIONS_FAIL","border","FETCH_JSON_REQUEST","FETCH_JSON_SUCCESS","FETCH_JSON_FAILURE","rotate","ICON_MAP","basket","linkedin","snapchat","twitter","sms","copy","envelope","envelopeOpen","envelopeOpenWithLetter","bell","circle","checkbox","checkboxChecked","chevronDown","chevronLeft","chevronRight","chevronUp","exclamationTriangle","externalLink","flameSingle","flameDouble","kebabMenu","pen","injurySuspension1","injurySuspension2","injurySuspension3","injurySuspension4","injurySuspension5","injurySuspension6","injurySuspension7","injurySuspension8","injurySuspension9","radiomark","radiomarkChecked","speechBubble","speechBubbleOutline","triangleUp","triangleRight","triangleDown","triangleLeft","dot","dotSmall","heart","heartOutline","heartSmall","magnify","plus","flag","stopwatch","stopwatchAnimated","meatballs","cog","burgermenu","cup","table","waitAnimated","settings","period1","period1plus","period2","period2plus","period3","period4","periodLive","personCrossed","padlock","suspension1","suspension2","suspension3","suspension4","suspension5","suspension6","suspension7","suspension8","suspension9","spinner","share","eyeOutline","eyeOffOutline","gold","sizeMapper","animation","html","r600","r800","StyledAvatar","cardBackgroundSecondary","normalizedName","alt","FETCH_CONFIG_REQUEST","FETCH_CONFIG_SUCCESS","FETCH_CONFIG_FAILURE","ThemeContext","WebSocketClient","retryAttempt","signalR","withUrl","accessTokenFactory","withAutomaticReconnect","build","onclose","method","on","catch","err","StyledSpinner","FETCH_GAME_FANTASYTEAMS_REQUEST","FETCH_GAME_FANTASYTEAMS_SUCCESS","FETCH_GAME_FANTASYTEAMS_FAIL","FETCH_LINEUP_REQUEST","FETCH_LINEUP_SUCCESS","FETCH_LINEUP_FAIL","FETCH_TOURNAMENT_INJURIES_REQUEST","FETCH_TOURNAMENT_INJURIES_SUCCESS","FETCH_TOURNAMENT_INJURIES_FAIL","AUTHENTICATION_SUCCESS","LOGIN_REQUEST","LOGIN_SUCCESS","LOGIN_FAILURE","FACEBOOK_LOGIN_REQUEST","FACEBOOK_LOGIN_SUCCESS","FACEBOOK_LOGIN_FAIL","FACEBOOK_SIGNUP_REQUEST","FACEBOOK_SIGNUP_SUCCESS","FACEBOOK_SIGNUP_FAIL","CHECK_ACCOUNT_REQUEST","CHECK_ACCOUNT_SUCCESS","CHECK_ACCOUNT_FAIL","SIGNUP_SUBMIT_EMAIL_REQUEST","SIGNUP_SUBMIT_EMAIL_SUCCESS","SIGNUP_SUBMIT_EMAIL_FAIL","SIGNUP_SUBMIT_CODE_REQUEST","SIGNUP_SUBMIT_CODE_SUCCESS","SIGNUP_SUBMIT_CODE_FAIL","SIGNUP_SUBMIT_REQUEST","SIGNUP_SUBMIT_SUCCESS","SIGNUP_SUBMIT_FAIL","SIGNIN_REQUEST","SIGNIN_SUCCESS","SIGNIN_FAIL","REQUEST_RESET_REQUEST","REQUEST_RESET_SUCCESS","REQUEST_RESET_FAIL","RESET_REQUEST","RESET_SUCCESS","RESET_FAIL","START","CANCEL","COMPLETE","GOTO","SET","fetchGame","fetchGameRequest","gameSchema","fetchGameIfNeeded","shouldFetchGame","ContentContainer","contentContainer","styledHeading","tag","H1","H2","H3","H4","H5","H6","fetchViewByName","fetchViewByNameRequest","fetchViewByNameSuccess","viewSchema","fetchViewByNameFailure","fetchViewByNameIfNeeded","shouldFetchViewByName","UI_SELECT_PLAYER","SELECT_TOURNAMENT","UI_HIDE_SIDEBAR","UI_SELECT_MATCH","UI_SHOW_GROUP_SETTINGS","UI_STATISTICS_FILTER","UI_SCHEDULE_FILTER","UI_PUSH_FLYOUT","UI_POP_FLYOUT","UI_CLEAR_FLYOUTS","UI_SET_DATA","UI_REPLACE_DATA","UI_CLEAR_DATA","UI_SET_TITLE","UPDATE_NOTIFICATION_COUNT","HIDE_MODAL","SHOW_MODAL","selectPlayer","pushFlyout","popFlyout","clearFlyouts","setData","replaceData","clearData","setTitle","hideModal","handleOnClick","CSSVariables","setVariables","vars","nextVars","root","toLowerCase","removeProperty","setProperty","invalidateUserCompetitions","fetchUserCompetitions","competitionSchema","fantasyTeamSchema","fetchUserCompetitionsIfNeeded","shouldFetchItems","findCompetitions","findMoreCompetitions","fetchStandings","fetchStandingsRequest","fetchStandingsSuccess","leaderboardSchema","fetchStandingsFailure","fetchStandingsIfNeeded","fetchQualifications","fetchQualificationsRequest","fetchQualificationsSuccess","cupQualificationSchema","fetchQualificationsFailure","fetchQualificationsIfNeeded","createCompetition","createCompetitionRequest","createCompetitionSuccess","createCompetitionFailure","deleteCompetition","deleteCompetitionRequest","delete","deleteCompetitionSuccess","deleteCompetitionFailure","updateCompetition","put","updateCompetitionSuccess","fetchCompetition","updateCompetitionFailure","invalidateEnrollmentOptions","fetchEnrollmentOptions","fetchEnrollmentOptionsRequest","fetchEnrollmentOptionsSuccess","fetchEnrollmentOptionsFailure","fetchEnrollmentOptionsIfNeeded","shouldFetchItem","joinCompetition","fetchMyEnrollments","fetchCompetitionIfNeeded","fetchEnrollments","fetchEnrollmentsRequest","fetchEnrollmentsSuccess","enrollmentSchema","fetchEnrollmentsFailure","fetchEnrollmentsIfNeeded","fetchMoreEnrollments","fetchMoreEnrollmentsRequest","fetchMoreEnrollmentsSuccess","fetchMoreEnrollmentsFailure","kick","ban","invalidateEnrollments","invite","inviteRequest","inviteSuccess","inviteFailure","fetchMyEnrollmentsRequest","fetchMyEnrollmentsSuccess","fetchMyEnrollmentsFailure","resign","resignSuccess","fetchShareUrl","language","inviteAll","option","sep","res","FETCH_TOURNAMENT_SUSPENSIONS_REQUEST","FETCH_TOURNAMENT_SUSPENSIONS_SUCCESS","FETCH_TOURNAMENT_SUSPENSIONS_FAIL","StyledDynamicComponent","fontSize","fontStyle","system","DynamicComponent","WithComponent","withComponent","regular","headline","canon","trafalgar","doublePica","greatPrimer","bodyCopy","pica","longPrimer","brevier","minion","LargeText","RegularText","Text","textStyle","textxSmall","textSmall","textMedium","textLarge","BodyCopy","Pica","Brevier","authenticated","tokenEndpoint","withCredentials","JSON","stringify","removeItem","signout","parse","getItem","getUserId","SELECT_RECRUITMENT_OPTION","FETCH_RECRUITS_REQUEST","FETCH_RECRUITS_SUCCESS","FETCH_RECRUITS_FAIL","FETCH_MORE_RECRUITS_REQUEST","FETCH_MORE_RECRUITS_SUCCESS","FETCH_MORE_RECRUITS_FAIL","fetchNotifications","fetchNotificationsRequest","headers","fetchNotificationsSuccess","notificationSchema","fetchNotificationsFailure","fetchNotificationsIfNeeded","shouldFetchNotifications","invokeNotification","invokeNotificationRequest","invokeNotificationSuccess","invokeNotificationFailure","acknowledgeNotifications","markNotificationsRead","wsOnNotification","outline","nopadding","FETCH_NOTIFICATIONS_REQUEST","FETCH_NOTIFICATIONS_SUCCESS","FETCH_NOTIFICATIONS_FAIL","INVOKE_NOTIFICATION_REQUEST","INVOKE_NOTIFICATION_SUCCESS","INVOKE_NOTIFICATION_FAIL","MARK_NOTIFICATIONS_READ_REQUEST","MARK_NOTIFICATIONS_READ_SUCCESS","MARK_NOTIFICATIONS_READ_FAIL","ACKNOWLEDGE_NOTIFICATIONS_REQUEST","ACKNOWLEDGE_NOTIFICATIONS_SUCCESS","ACKNOWLEDGE_NOTIFICATIONS_FAIL","INVALIDATE_NOTIFICATIONS","WS_NOTIFICATION","fetchPosts","fetchPostsRequest","fetchPostsSuccess","messageBoardPostSchema","fetchPostsFailure","fetchPostsIfNeeded","fetchMorePosts","fetchMorePostsRequest","fetchMorePostsSuccess","fetchMorePostsFailure","invalidatePosts","createPost","createPostRequest","createPostSuccess","createPostFailure","fetchReplies","fetchRepliesRequest","fetchRepliesSuccess","fetchRepliesFailure","fetchRepliesIfNeeded","shouldFetchReplies","byPost","fetchMoreReplies","fetchMoreRepliesRequest","fetchMoreRepliesSuccess","fetchMoreRepliesFailure","createReply","createReplyRequest","createReplySuccess","createReplyFailure","fetchMessageBoard","fetchMessageBoardRequest","fetchMessageBoardSuccess","messageBoardSchema","fetchMessageBoardFailure","fetchMessageBoardIfNeeded","invalidateMessageBoard","markMessageBoardRead","markMessageBoardReadRequest","markMessageBoardReadSuccess","markMessageBoardReadFailure","deletePost","deletePostRequest","deletePostSuccess","deletePostFailure","reportPost","subscribe","send","subscribeMessageBoard","unsubscribe","unsubscribeMessageBoard","applyPendingPosts","applyPendingReplies","wsOnNewPost","wsOnNewPostReceived","FETCH_PLAYER_EVENTS_REQUEST","FETCH_PLAYER_EVENTS_SUCCESS","FETCH_PLAYER_EVENTS_FAILURE","FETCH_PLAYER_FANTASY_EVENTS_REQUEST","FETCH_PLAYER_FANTASY_EVENTS_SUCCESS","FETCH_PLAYER_FANTASY_EVENTS_FAILURE","FETCH_PLAYER_VALUES_REQUEST","FETCH_PLAYER_VALUES_SUCCESS","FETCH_PLAYER_VALUES_FAILURE","FETCH_PLAYER_PROFILE_REQUEST","FETCH_PLAYER_PROFILE_SUCCESS","FETCH_PLAYER_PROFILE_FAILURE","FETCH_PLAYER_STATISTICS_SUCCESS","FETCH_PLAYER_GAME_STATISTICS_REQUEST","FETCH_PLAYER_GAME_STATISTICS_SUCCESS","FETCH_PLAYER_GAME_STATISTICS_FAILURE","FETCH_STATISTICS_BY_ROUND_REQUEST","FETCH_STATISTICS_BY_ROUND_SUCCESS","FETCH_STATISTICS_BY_ROUND_FAILURE","except","points","zero","undefined","formatting","currency","currentRound","property","translation","camelize","decodeURIComponent","substr","str","letter","obj","fullName","self","curr","matchesCondition","condition","op","matchesConditions","conditions","contextMatchesCondition","contextMatchesConditions","getConfigurationSection","section","profileName","profile","profiles","_default","getEliminationStageName","getCupStructure","maximumEliminationRounds","absMaximumEliminationRounds","log2","getMaximumEliminationRounds","elimination","min","qualification","rArr","eIdx","rCount","pow","finalists","qualificationRounds","eliminationRounds","FETCH_SCHEDULE_REQUEST","FETCH_SCHEDULE_SUCCESS","FETCH_SCHEDULE_FAILURE","FETCH_THEME_REQUEST","FETCH_THEME_SUCCESS","FETCH_THEME_FAIL","InputStyle","inputForeground","Input","input","Textbox","attrs","autocomplete","Textarea","textarea","Password","autoComplete","FauxPassword","OnetimePasswordInput","StyledInputWithIconContainer","StyledInputWithIconIcon","StyledEmail","Email","onClear","PasswordInput","showCharacters","setShowCharacter","FauxPasswordInput","Label","StyledHelpLabel","HelpLabel","StyledInputGroup","InputGroupButton","InputGroupTextbox","InputGroup","FormGroup","Fieldset","FormContext","Form","FormField","Search","autofocus","onSearch","setText","focus","handleKeyPress","handleFocus","onFocus","onKeyPress","ThemeProvider","sizes","muted","foregroundMeta","panel","panelBackground","onPanel","panelForeground","size0","s100","size1","s200","size2","size3","s400","size4","s500","size5","s600","size7","s700","size8","s800","size9","s900","actionLight","onAction","utilitySilver","utilityGreen","buttonForegroundDisabled","buttonBackgroundDisabled","cardLight","cardBackgroundHover","onCard","cardSecondary","cardSecondaryLight","cardBackgroundSecondaryHover","dropdown","dropdownBackground","dropdownLight","dropdownBackgroundHover","onDropdown","dropdownForeground","onDropdownLight","dropdownForegroundHover","dropdownSeparator","dropdownSeparatorBackground","onDropdownSeparator","dropdownSeparatorForeground","dropdownBorderLight","dropdownBorderUp","dropdownBorderDark","dropdownBorderDown","WithView","preloaded","fetch","data-view-name","connect","getView","viewEntities","ownProps","ViewMappingContext","ViewMappingProvider","viewMapping","mappedName","ComponentContext","cRound","currentRoundIndex","StaticWidgetRenderer","querySelectorAll","dataset","viewParametersJson","viewParameters","staticViewContext","WithPlayer","extra","getPlayer","WithFlyout","pop","clear","absoluteUrl","actualUrl","GameNavigationService","showMatch","slug","showPlayer","earnings","PlayerLink","currentTarget","closest","getAttribute","PlayerIdentityAvatar","PlayerIdentity","captain","hideTeam","hidePosition","injuries","suspensions","permissionManager","hasPermission","remainingMatches","LocalizeText","FlyoutButton","ViewContainerWidget","TabBarItemWidget","HackEarnings","FactListWidget","valueToRender","BlockWidget","fetchPlayerEvents","fetchPlayerEventsRequest","fetchPlayerEventsSuccess","fetchPlayerEventsFailure","fetchPlayerFantasyEvents","fetchPlayerFantasyEventsRequest","fetchPlayerFantasyEventsSuccess","fetchPlayerFantasyEventsFailure","fetchPlayerValues","fetchPlayerValuesRequest","fetchPlayerValuesSuccess","fetchPlayerValuesFailure","fetchPlayerValuesIfNeeded","shouldFetchPlayerValues","fetchStatisticsByRound","fetchStatisticsByRoundRequest","fetchStatisticsByRoundSuccess","playerRoundStatisticsSchema","fetchStatisticsByRoundFailure","WithPlayerValues","getStatistics","eventTypes","playerValueEntities","eventTypeEntities","eventType","total","shouldFetchStatisticsByRound","fetchStatisticsByRoundIfNeeded","fetchWatchlist","fetchWatchlistRequest","fetchWatchlistSuccess","watchlistSchema","fetchWatchlistFailure","addToWatchlist","addToWatchlistRequest","addToWatchlistSuccess","addToWatchlistFailure","removeFromWatchlist","removeFromWatchlistRequest","removeFromWatchlistSuccess","removeFromWatchlistFailure","WithWatchlist","fetchIfNeeded","getWatchlist","w","ConnectedWithWatchlist","shouldFetchWatchlist","fetchWatchlistIfNeeded","WithWatchlistWrapper","WithTournamentStatistics","shape","eliminated","WithTournamentStatisticsWrapper","ruleset","WithPlayerRoundStatistics","Filter","Sort","sorted","si","av","bv","direction","TournamentPlayerHighlightList","filters","updateFilters","sortByColumn","sortColumn","by","highlights","filteredItems","CoverImageWidget","OverlayWidget","Html","PlayerIdentityWidget","firstName","lastName","abbreviation","defaultValue","Percent","Json","PageTitle","siteName","site","GamePageTitle","Script","onInit","onLoad","ctx","scriptContext","script","onLoadFunc","onload","async","UnderlayUnderlayWidget","UnderlayContentWidget","Sticky","useFlyout","useDispatch","ParagraphWidget","AppConfigContext","AppConfigProvider","useAppConfig","NavigationMenuWidget","useParams","mappedItems","menus","showContent","setShowContent","PortalSiteFooter","GameMenu","vertical","VerticalMenu","HorizontalMenu","gameSlug","route","getIsAuthenticated","getMe","ConnectedNotificationBadge","notificationCount","useSelector","NotificationBell","useAuthenticator","AuthenticationButton","tryAuthenticate","UnauthenticatedMenu","AuthenticatedUserMenu","UserMenu","InGameMenu","usersById","logoImageUrl","PageRouteContext","PageRouteProvider","routes","TemplateContentRegion","childRoutes","exact","TemplateContentRegionWidget","useTitle","Page","description","keywords","fTitle","fetchTheme","fetchThemeRequest","fetchThemeSuccess","themeSchema","fetchThemeFailure","getTheme","themeEntities","shouldFetchTheme","fetchThemeIfNeeded","Theme","HeroWidget","PanelWidget","Prize","reason","prize","link","legalese","Divider","Growth","fetchMatch","fetchMatchRequest","fetchMatchSuccess","fetchMatchFailure","fetchMatchEvents","fetchMatchEventsRequest","fetchMatchEventsSuccess","fetchMatchEventsFailure","fetchMatchFantasyEvents","fetchMatchFantasyEventsRequest","fetchMatchFantasyEventsSuccess","fetchMatchFantasyEventsFailure","WithMatchEvents","enabled","matchEvents","getMatchEvents","eventEntities","playerEntities","personEntities","teamEntities","positionEntities","eventId","force","shouldFetchMatchEvents","fetchMatchEventsIfNeeded","SoccerPeriodStatus","periodName","MatchOdds","o1","ox","o2","link1","linkx","link2","matchEntities","locationEntities","matchGroupEntities","matchGroup","useMatchFantasyEventNotifications","getMatchFantasyEventNotification","fantasyEventTypes","fantasyEventEntities","fantasyEventTypeEntities","CardToast","keySelector","toasts","SoccerLiveFooter","SoccerMatchCard","hideGroup","notify","renderToast","shortTitle","COMPONENT_MAP","imgRef","handleClick","cursor","fromUI","StaticComponentRenderer","updateState","elements","portals","innerHTML","fetchConfig","fetchConfigRequest","fetchConfigSuccess","fetchConfigFailure","WithConfiguration","getConfiguration","shouldFetchConfig","getSelectedGame","fetchTournament","fetchTournamentRequest","fetchTournamentSuccess","tournamentSchema","fetchTournamentFailure","fetchTournamentStandings","fetchTournamentStandingsRequest","fetchTournamentStandingsSuccess","tournamentStandingSchema","fetchTournamentStandingsFailure","makeGetTournament","denormalize","fetchRuleset","fetchRulesetRequest","fetchRulesetSuccess","rulesetSchema","fetchRulesetFailure","makeGetRuleset","fetchTournamentInjuries","fetchTournamentInjuriesRequest","fetchTournamentInjuriesSuccess","injurySchema","fetchTournamentInjuriesFailure","makeGetTournamentInjuries","injuryTypes","injuryEntities","injuryTypeEntities","fetchTournamentSuspensions","fetchTournamentSuspensionsRequest","fetchTournamentSuspensionsSuccess","suspensionSchema","fetchTournamentSuspensionsFailure","makeGetTournamentSuspensions","suspensionTypes","suspensionEntities","suspensionTypeEntities","fetchResourcePermissions","fetchResourcePermissionsRequest","fetchResourcePermissionsSuccess","fetchResourcePermissionsFailure","makeGetResourcePermissions","permissions","fetchSchedule","fetchScheduleRequest","fetchScheduleSuccess","fetchScheduleFailure","fetchScheduleIfNeeded","shouldFetchSchedule","makeGetSchedule","scheduleByTournament","useTournament","getTournament","shouldFetchTournament","fetchTournamentIfNeeded","useRuleset","getRuleset","shouldFetchRuleset","fetchRulesetIfNeeded","useTournamentInjuries","getTournamentInjuries","shouldFetchTournamentInjuries","useTournamentSuspensions","getTournamentSuspensions","shouldFetchTournamentSuspensions","useResourcePermissionManager","getResourcePermissions","resourceManager","shouldFetchResourcePermissions","fetchResourcePermissionsIfNeeded","GameContextProvider","useGame","getSchedule","useSchedule","th","themeParts","currentTheme","nTheme","configUrl","configBaseUrl","currentRoundNumber","TournamentStandingsFlyout","WithMatch","getMatch","shouldFetchMatch","fetchMatchIfNeeded","MatchReportFlyout","MatchContext","PlayerFlyout","PlayerContext","ViewFlyout","PreviewCompetitionCardHeader","typeName","passwordProtected","MemberCompetitionCardHeader","CompetitionCardFooter","enrollmentCount","isOwner","CompetitionCardTeamList","PreviewCompetitionCard","MemberCompetitionCard","onShowMore","onShowMessageBoard","FindCompetitionFlyout","setQuery","showFlyout","setView","searchResult","useCompetitionSearch","fetchMore","buttonCaption","useKick","KickDialog","setBan","teamName","userName","mb","useEnrollments","getEnrollments","useCurrentGame","initialKickDialogState","Enrollments","canKick","kickDialog","setKickDialog","firstRound","handleKick","py","useCompetition","getCompetition","Info","pb","DeleteCompetitionDialog","onDelete","UIToggle","onChangeDisplay","Settings","setProblems","showDeleteDialog","setShowDeleteDialog","useDescription","allowMultipleEntries","enforceDeadline","usePassword","onSubmit","makeGetUnreadMessageBoardPosts","useUnread","getUnreadMessageBoardPosts","ReportDialog","setValue","handleCancel","ConfirmationDialog","CreatePost","onCreate","shiftKey","AsyncButton","setBusy","BusyButton","CreateReply","PostCommandDropdown","rights","Replies","numberOfPendingReplies","clientReplyCount","onApplyPending","onFetch","PostFooter","onReply","onShowReplies","whiteSpace","PostHeader","role","created","StyledReply","Reply","reply","mx","PostItem","showReply","setShowReply","getReplies","messageBoardPostEntities","getNumberOfPendingReplies","pendingReplies","DialogConductor","dialog","MessageBoard","getPosts","replyCount","getHasPendingPosts","getMessageBoard","messageBoardEntities","hasPendingPosts","setDialog","showCreate","setShowCreate","useMyEnrollments","getMyEnrollments","useModal","MyEnrollments","handleResign","mt","MessageBoardTitle","ExtendedHeader","MenuWrap","CompetitionFlyout","initialTab","loc","useLocation","kind","matchPath","pathname","CompetitionPreviewFlyout","authenticate","onEnroll","getNotifications","notificationEntities","FormattedNotificationText","NotificationSection","onInvoke","actionText","NoNotifications","NotificationGroupList","hasMore","onMarkAllAsRead","onMore","groupedNotifications","un","new","NotificationViewConductor","competition_preview","find_competition","useRouteMatch","FlyoutConductor","useEnrollmentOptions","getEnrollmentOptions","useJoinCompetition","GameClosedDialog","Closed","MaxReached","Filled","Banned","NoMoreTeams","NoTeams","Enrollment","initialPassword","setPassword","onOk","requiresPassword","IsFetching","EnrollmentDialogConductor","EnrollmentDialog","useResign","ResignDialog","lastRound","fetchRecruitsRequest","fetchRecruitsSuccess","fetchRecruitsFailure","fetchMoreRecruits","selectRecruitmentOption","getRecruits","getSelectedOption","InvitationButton","InviteeList","onInvite","CompetitionItem","CanonicalItem","DefaultItem","renderItem","ShareInviteDialog","setType","dItems","coreType","arg","ModalConductor","RoutedDesktopSiteHeader","MobileSiteHeader","onShowMenu","Logo","siteImageUrl","translateable","defaultTitle","RoutedMobileHeader","RoutedDesktopGameHeader","gameBackgroundImage","RoutedMobileGameHeader","RoutedMobileSiteHeader","GlobalHeader","global","GlobalIdentity","AccountHeader","FlyoutProxy","openFlyout","RoutedHeader","LinkHijacker","hijack","hijackSection","RegExp","exec","pVal","onclick","WrappedLinkHijacker","WithMatchReport","growths","ev","pid","participant","pa","stats","growth","WithMatchFantasyEvents","getFantasyEvents","shouldFetchMatchFantasyEvents","fetchMatchFantasyEventsIfNeeded","Currency","Minute","HandballLineup","goalies","order","assists","assist","reds","redCard","saves","minutesPlayed","goals","goal","yellows","yellowCard","twoMin","twoMinuteSuspensions","HandballLineupWidget","PlayerList","passing","passingYard","receiving","receivingYard","rushing","rushingYard","fumbles","fumble","defense","kickers","colSpan","interceptions","passingInterception","yards","touchdowns","passingTouchdown","twoPts","twoPointConversionPass","rushingTouchdown","twoPointConversionRun","receivingTouchdown","twoPointConversionReception","colspan","sacks","sack","forcedFumbles","fumbleForced","safeties","safety","interception","defensiveTouchdown","returns","puntReturnTouchdown","kickReturnTouchdown","xps","extraPoint","fieldGoals","fieldGoal","longestFieldGoal","HockeyLineup","trainers","save","goalsAgainst","goalAgainst","sogs","shots","shotOnGoal","plusMinus","positive","minor","minorPenalty","major","majorPenalty","HockeyLineupWidget","GenericVersusMatchHead","Versus","category","tournamentCategory","par","tournamentPar","tournamentPrize","Simple","Kilometers","km","laps","circuitLaps","circuitLength","distance","circuitDistance","disqualified","retired","getPosition","prefix","Drivers","drivers","endPosition","gridPosition","worldCupPoints","endPosition1","MotorsportDriverListWidget","Points","madeTheCut","Golfers","day1Strokes","day2Strokes","day3Strokes","day4Strokes","toPar","r1","r2","r3","r4","GolfTournamentReport","WithTournamentStandings","getTournamentStandings","goalDifference","goalsFor","shouldFetchTournamentStandings","fetchTournamentStandingsIfNeeded","TournamentStandings","g","rank","getLowestColumn","cols","MAX_SAFE_INTEGER","MasonryItem","colHeights","columnWidth","cel","elHeight","newHeight","ResponsiveMasonry","nColumns","useMessageBoard","CompetitionCard","maximumRank","enrollmentCountText","teamItems","isEliminated","fetchGameFantasyTeams","fetchGameFantasyTeamsRequest","fetchGameFantasyTeamsSuccess","fetchGameFantasyTeamsFailure","fetchGameFantasyTeamsIfNeeded","shouldFetchGameFantasyTeams","fantasyTeamsBySelectedGame","useFantasyTeams","getFantasyTeams","CompetitionTypeSelectList","collapse","CreateCompetitionDialog","onComplete","nameRef","gameContext","inviteFrom","useInviteFrom","CreateCompetitionWizard","onFinish","didFetchFantasyTeams","setStep","useCompetitionWizard","useCompetitionList","nItems","stage","tStandings","tQualification","useCompetitionShareDialog","NoCompetitions","Unauthenticated","handleCommand","CompetitionList","ViewConductor","Competitions","showCreateCompetitionWizard","setShowCreateCompetitionWizard","fetchJson","fetchJsonRequest","bustedUrl","random","fetchJsonSuccess","fetchJsonFailure","fetchJsonIfNeeded","shouldFetchJson","WithVersusSchedule","fetchOdds","oddsFeed","feed","oddsMap","bets","day","betEvent","startTime","ao","getYear","getDate","VersusSchedule","roundIndex","includeAll","marginLeft","SoccerSchedule","WithSchedule","makeMapStateToProps","mStart","mapDispatchToProps","ConnectedWithSchedule","WithScheduleWrapper","SimpleSchedule","GolfMatchCard","SimpleEventContent","onSelectMatch","GolfScheduleTableRow","GolfSchedule","GolfScheduleTableView","CyclingMatchCard","stageType","stageDistance","CyclingScheduleCardView","CyclingScheduleTableRow","CyclingSchedule","CyclingScheduleTableView","MotorsportMatchCard","totalDistance","MotorsportScheduleTableRow","MotorsportSchedule","GenericVersusMatchCard","GenericVersusSchedule","GenericMatchCard","facts","propertyValue","GenericScheduleCardList","GenericScheduleTableRow","GenericSchedule","isMatch","operation","When","WhenMatch","Millions","millions","DesktopStockScheduleTableRow","totalGrowth","DesktopScheduleTable","MobileStockScheduleTableRow","MobileScheduleTable","StockSchedule","SkiSchedule","SoccerLineup","preLineup","benched","substituteIn","substituteOut","secondYellowCard","saveByGoalkeeper","subbedOut","subbedIn","SoccerLineupWidget","significantEvents","EventList","names","sigEvents","disadvantage","SoccerMatchHead","showGroup","sigNames","place","PlayerStatisticsDataGrid","datasource","remountBin","RemountElement","targetId","MessageBoardProvider","URLSearchParams","useCommandHandler","Competition","Contests","competitionsUrl","generatePath","prizeUrl","useMediaQuery","setMatches","ViewFantasyTeam","viewName","Game","onSignin","Player","marginTop","slot","edit","onShowSettings","borderRadius","textShadow","LineupBuilder","selectedFormationIndex","selectedSlot","texts","modalOpen","formation","showSettings","slots","watermarkedFieldImageUrl","marginBottom","fixedHeight","Group","grouped","Repeater","ConnectWidget","getValues","vid","WithPlayerFantasyEvents","playerFantasyEvents","shouldFetchPlayerFantasyEvents","fetchPlayerFantasyEventsIfNeeded","PlayerProfile","eventTotals","MatchPlayerStatistics","MatchPlayerStatisticsWrapper","output","debug","If","Sum","sum","watchlistProperty","Transform","expression","safeFunc","SetCurrentContext","DataGridColumnWidget","parseExpression","setSort","flip","expressions","initialSort","sortedItems","pagedItems","DataGridWidget","defaultActiveColumnIndex","setPage","setActiveColumnIndex","innerChild","defaultSortColumn","WithPlayerEvents","getEvents","playerEvents","shouldFetchPlayerEvents","fetchPlayerEventsIfNeeded","PlayerPassport","fantasyEventsByRound","rval","passport","WithTeamPassport","getPassport","TeamPassport","teamId","WithTeamPlayers","ConnectedWithTeamPlayers","getPlayers","tournamentId","teamPlayers","WithTeamPlayersWrapper","TeamPlayers","Schedule","Location","LocationCoverImage","useJson","useOdds","setMap","createMap","OddsWidget","mOdds","Property","formatValue","SynthesizeEvents","synthesizedEventTitles","synthesizedEvents","isPrimary","subEvents","se","primaryOrder","secondaryOrder","synthetic","pStartKey","startTitle","pEndKey","endTitle","TimelineBuilder","timeComponent","Time","eventComponent","TimelineWidget","Title","VersusTitle","homeName","awayName","Start","AvatarWidget","background","Value","TotalGrowth","Trend","trend","Popularity","popularity","propertyName","AccordionVersusHeader","MatchPointList","matchMap","roundTitle","fe","detailsCaption","VersusMatchPointList","SimpleMatchPointList","EventCount","WatchlistButton","onWatchlist","onAdd","IndentityTopbar","normalizedEventNames","eventNames","matchForms","WithPlayerStatistics","eventsByRound","WithPlayerStatisticsWrapper","Statistics","personId","personInjuries","expectedReturn","updated","InjuryStatusWidget","personSuspensions","sm","homeTeam","awayTeam","SuspensionStatusWidget","FormContextProvider","setElement","removeElement","setForm","removeForm","clearForm","providerValue","concat","getData","FormWidget","MapToProps","ApplyWidget","TextboxWidget","CheckboxButtonWidget","ResetButtonWidget","caption","ChangesWidget","filteredChanges","TeamDropdownListWidget","PositionCheckboxListWidget","RoundDropdownListWidget","Image","img","IFrame","adUnit","BlockGridLayout","fromComponents","Signup","plugin","mount","unmount","componentMap","lazy","PluginScript","fromForms","fromWeb","compact","footnote","templateRows","autoRows","autoColumns","autoFlow","gridTemplateRows","gridAutoRows","gridAutoColumns","gridAutoFlow","fromData","fromDatasource","fromLayout","fromMatch","fromPlayer","GolfMatchHead","MotorsportMatchHead","FootballLineupWidget","MotorsportPitcrewListWidget","MotorsportConstructorListWidget","fromSecurity","SignupEmail","onSubmitInternal","SignupCode","setCode","submitEnabled","StyledOptin","OptinList","appConfig","toggleOptin","optin","tabindex","SignupUsername","setUsername","_optins","_setOptins","Optin","SignupWithFacebook","SpacerText","FacebookLogin","setEmail","submittable","SignIn","nProblems","Reset","ResetCode","ResetConfirm","Authenticator","hasFlowError","AuthPage","urlParams","has","rUrl","LegacyHandler","GlobalStyle","createGlobalStyle","fonts","base","ArchivePage","LeaderboardArchivePage","RoutedContextProvider","AppContent","sidebarOpen","setSidebarOpen","siteConfiguration","fallback","targeting","gameConfig","siteConfig","sidebar","AppRouter","mobile","tablet","desktop","GlobalStyles","flatten","fObj","pObj","TranslationProvider","fallbackTranslations","fallbackLocale","Live","RouterConductor","Root","useRouting","userSchema","schema","Entity","fantasyTeamValueSchema","highscoreSchema","injuryTypeSchema","suspensionTypeSchema","personSchema","teamSchema","positionSchema","playerSchema","formationSchema","eventTypeSchema","fantasyEventTypeSchema","matchGroupSchema","groupSchema","groupMembershipSchema","locationSchema","jobSchema","jobHistorySchema","jobScheduleSchema","jobTypeSchema","invitationSchema","leagueSchema","define","league","playerProfileSchema","playerGameStatisticsSchema","FETCH_PRECOMPILED_VIEWS_REQUEST","FETCH_PRECOMPILED_VIEWS_SUCCESS","FETCH_PRECOMPILED_VIEWS_FAILURE","FETCH_COMPILED_VIEW_BY_NAME_REQUEST","FETCH_COMPILED_VIEW_BY_NAME_SUCCESS","FETCH_COMPILED_VIEW_BY_NAME_FAILURE","FETCH_VIEW_BY_NAME_REQUEST","FETCH_VIEW_BY_NAME_SUCCESS","FETCH_VIEW_BY_NAME_FAILURE","FETCH_VIEWS_REQUEST","FETCH_VIEWS_SUCCESS","FETCH_VIEWS_FAILURE","FETCH_VIEW_REQUEST","FETCH_VIEW_SUCCESS","FETCH_VIEW_FAILURE","UPDATE_VIEW_REQUEST","UPDATE_VIEW_SUCCESS","UPDATE_VIEW_FAILURE","StyledHorizontalMenu","StyledMenuItem","menuForeground","StyledVerticalMenu","MenuItem","StyledToolbarButton","StyledToolbarButtonGroup","ToolbarButtonGroup","FETCH_WATCHLIST_REQUEST","FETCH_WATCHLIST_SUCCESS","FETCH_WATCHLIST_FAILURE","ADD_TO_WATCHLIST_REQUEST","ADD_TO_WATCHLIST_SUCCESS","ADD_TO_WATCHLIST_FAILURE","REMOVE_FROM_WATCHLIST_REQUEST","REMOVE_FROM_WATCHLIST_SUCCESS","REMOVE_FROM_WATCHLIST_FAILURE","HoverWithOpacity","xs","defaultEnabled","buttonLikeBackgroundHover","defaultDisabled","primaryEnabled","primaryDisabled","outlineDisabled","outlineEnabled","transparentEnabled","transparentDisabled","enabledStyle","disabledStyle","StyledButtonContent","StyledButton","_textStyles","bProps","StyledButtonGroup","XButtonGroup"],"mappings":"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CAzC9mD,EAAOC,QAAU,uS,osECoGX8mD,GAASjH,YAAH,gEAMNkH,GAAW,CACbC,WACA9xC,aACA+xC,aACAC,aACAC,YACAC,QACAj0C,UAEAk0C,SACAC,aACAC,iBACAC,2BACAj+C,SACAnH,WACAqlD,SACA3zB,UACA4zB,WACA9sC,WACA+sC,aACAC,oBACAC,iBACAC,iBACAC,kBACAC,eACAC,yBACAC,kBACAC,iBACAC,iBACAvmC,WACAwmC,eACAxV,UACAyV,SACA9hC,YACA+hC,uBACAC,uBACAC,uBACAC,uBACAC,uBACAC,uBACAC,uBACAC,uBACAC,uBACAC,cACAC,qBACAC,kBACAC,yBACAC,gBACAC,mBACAC,kBACAC,kBACAC,SACAC,cACAC,WACAC,kBACAC,gBACAC,aACAC,UACAC,UACAC,eACAC,uBACAC,eACAC,SACAC,gBACAC,SACAC,WACAC,kBACAC,cACAC,aACAC,iBACAC,aACAC,iBACAC,aACAC,aACAC,gBACA3mB,YACA4mB,mBACAC,aACApmB,UACAqmB,iBACAC,iBACAC,iBACAC,iBACAC,iBACAC,iBACAC,iBACAC,iBACAC,iBACAC,aACAC,WACAC,gBACAC,mBACAC,UAIEC,GAAa,SAAC,GAAD,IAAGvmD,EAAH,EAAGA,KAAH,OACP,QAARA,EAAkB,OACV,MAARA,GAAgB,SACR,MAARA,GAAgB,QACR,MAARA,GAAgB,QAChB,QAEE6jC,GAAavkC,IAAOC,IAAV,iEAAGD,CAAH,8GACDinD,GACDA,IASP,SAAA98C,GAAK,OAAIA,EAAMqkB,QAAUkI,YAAhB,4CAKR,SAAAvsB,GAAK,MAAwB,WAApBA,EAAM+8C,WAA0BxwB,YAAhC,sCACMqrB,MAKhB7zB,IACAhuB,KAKD+pB,GAAO7mB,IAAMa,MAAK,YAA8B,IAA3ByI,EAA2B,EAA3BA,KAAMhM,EAAqB,EAArBA,KAASyJ,EAAY,uBAC5Cg9C,EAAO,CAAElxB,OAAS+rB,GAASt1C,IACjC,OAAO,kBAAC63B,GAAD,KAAY7jC,KAAOA,GAAWyJ,EAA9B,CAAqC6rB,wBAA0BmxB,QAG1El9B,GAAKrd,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","file":"common.6e4ca3ced0bb0ea0ec81.js","sourcesContent":["module.exports = \"\"","export const FETCH_MATCH_REQUEST = 'FETCH_MATCH_REQUEST';\r\nexport const FETCH_MATCH_SUCCESS = 'FETCH_MATCH_SUCCESS';\r\nexport const FETCH_MATCH_FAILURE = 'FETCH_MATCH_FAILURE';\r\n\r\nexport const INVALIDATE_MATCH_EVENTS = 'INVALIDATE_MATCH_EVENTS';\r\nexport const FETCH_MATCH_EVENTS_REQUEST = 'FETCH_MATCH_EVENTS_REQUEST';\r\nexport const FETCH_MATCH_EVENTS_SUCCESS = 'FETCH_MATCH_EVENTS_SUCCESS';\r\nexport const FETCH_MATCH_EVENTS_FAILURE = 'FETCH_MATCH_EVENTS_FAILURE';\r\n\r\nexport const INVALIDATE_MATCH_FANTASY_EVENTS = 'INVALIDATE_MATCH_FANTASY_EVENTS';\r\nexport const FETCH_MATCH_FANTASY_EVENTS_REQUEST = 'FETCH_MATCH_FANTASY_EVENTS_REQUEST';\r\nexport const FETCH_MATCH_FANTASY_EVENTS_SUCCESS = 'FETCH_MATCH_FANTASY_EVENTS_SUCCESS';\r\nexport const FETCH_MATCH_FANTASY_EVENTS_FAILURE = 'FETCH_MATCH_FANTASY_EVENTS_FAILURE';\r\n\r\nexport const DISPLAY_MATCH_FANTASY_EVENT_NOTIFICATION = 'MATCH/DISPLAY_MATCH_FANTASY_EVENT_NOTIFICATION';\r\nexport const HIDE_MATCH_FANTASY_EVENT_NOTIFICATION = 'MATCH/HIDE_MATCH_FANTASY_EVENT_NOTIFICATION';","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"._37u9pNJzZ6UKiKLV-K2JHU {\\r\\n height: 0;\\r\\n min-height: 0;\\r\\n overflow: hidden;\\r\\n transition: height 0.25s ease-in-out, min-height 0.25s ease-in-out;\\r\\n}\\r\\n\", \"\"]);\n// Exports\nexports.locals = {\n\t\"container\": \"_37u9pNJzZ6UKiKLV-K2JHU\"\n};\nmodule.exports = exports;\n","import { createSelector } from 'reselect'\r\nimport { safeget } from 'utils'\r\n\r\n\r\nexport const getUserCompetitions = createSelector(\r\n state => state.competition.competitions,\r\n state => state.entities.competitions,\r\n state => state.entities.fantasyTeams,\r\n state => state.entities.users,\r\n (competitions, competitionEntities,fantasyTeamEntities, userEntities) => {\r\n var el = competitions || { isFetching : false, didInvalidate : false, items : []}\r\n\r\n const items = (el.items || []).map(item => {\r\n const competition = competitionEntities[item.competition];\r\n const owner = competition.owner && userEntities[competition.owner]\r\n \r\n const teams = item.teams.map(t => fantasyTeamEntities[t + '']).filter(t => t);\r\n\r\n return {\r\n ...item,\r\n competition : {\r\n ...competition,\r\n owner\r\n },\r\n teams\r\n }\r\n });\r\n\r\n return {\r\n ...competitions,\r\n items\r\n }\r\n }\r\n)\r\n\r\n\r\nexport const getCompetitionsSearchResult = createSelector(\r\n state => state.competition.search,\r\n state => state.entities.competitions,\r\n state => state.entities.users,\r\n (search, competitionEntities, userEntities) => {\r\n return {\r\n ...search,\r\n items : (search.items || []).map(item => {\r\n const competition = competitionEntities[item.competition];\r\n const owner = competition.owner && userEntities[competition.owner]\r\n\r\n return {\r\n ...competition,\r\n owner\r\n };\r\n })\r\n }\r\n }\r\n)\r\n\r\n\r\nexport const getStandings = createSelector(\r\n state => state.competition.standings,\r\n state => state.entities.leaderboards,\r\n (standings, leaderboardEntities) => {\r\n\r\n const items = (standings && standings.items || []).map(item => {\r\n return leaderboardEntities[item];\r\n });\r\n\r\n return {\r\n ...standings,\r\n items\r\n }\r\n }\r\n)\r\n\r\n\r\n\r\nexport const getQualifications = createSelector(\r\n state => state.competition.qualifications,\r\n state => state.entities.cupQualifications,\r\n (qualifications, cupQualificationEntities) => {\r\n\r\n const items = (qualifications && qualifications.items || []).map(item => {\r\n return cupQualificationEntities[item];\r\n });\r\n\r\n return {\r\n ...qualifications,\r\n items\r\n }\r\n }\r\n)\r\n\r\n\r\nexport const getCompetitionInvitations = createSelector(\r\n (state) => { return state.competition.invitations },\r\n (state) => { return state.entities.invitations },\r\n (state) => { return state.entities.users },\r\n (state) => { return state.entities.competitions },\r\n (invitations, invitationEntities, userEntities, competitionEntities) => {\r\n const items = (invitations && invitations.items || []).map(id => {\r\n const invitation = invitationEntities[id];\r\n const sender = userEntities[invitation.sender];\r\n const competition = competitionEntities[invitation.competition];\r\n \r\n return {\r\n ...invitation,\r\n sender,\r\n competition\r\n }\r\n });\r\n\r\n return {\r\n ...invitations,\r\n items\r\n };\r\n \r\n }\r\n)\r\n\r\n\r\nexport const makeGetEnrollmentOptions = () => createSelector(\r\n (state, competitionId) => safeget(state.competition.byCompetition, [competitionId, 'enrollmentOptions']),\r\n state => state.entities.fantasyTeams,\r\n (enrollmentOptions, fantasyTeamEntities) => {\r\n const { item, isFetching } = enrollmentOptions || { isFetching : false, item: null }\r\n \r\n return {\r\n isFetching,\r\n item : {\r\n ...item,\r\n fantasyTeams : (item && item.fantasyTeams || []).map(ft => {\r\n return fantasyTeamEntities[ft]\r\n }) \r\n } \r\n }\r\n\r\n }\r\n)\r\n\r\n\r\n\r\nexport const makeGetMyEnrollments = () => createSelector(\r\n (state, competitionId) => safeget(state.competition.byCompetition, [competitionId, 'myEnrollments']),\r\n state => state.entities.enrollments,\r\n state => state.entities.fantasyTeams,\r\n state => state.entities.users,\r\n (myEnrollments, enrollmentEntities, fantasyTeamEntities, userEntities) => {\r\n return {\r\n ...myEnrollments,\r\n items : myEnrollments && myEnrollments.items && myEnrollments.items.map(id => {\r\n const enrollment = enrollmentEntities[id];\r\n const fantasyTeam = fantasyTeamEntities[enrollment.fantasyTeam];\r\n const user = userEntities[fantasyTeam.user];\r\n\r\n return {\r\n ...enrollment,\r\n fantasyTeam : {\r\n ...fantasyTeam,\r\n user\r\n }\r\n }\r\n })\r\n }\r\n }\r\n)\r\n\r\n\r\nexport const makeGetCompetition = () => createSelector(\r\n (state, id) => { return state.entities.competitions[id] },\r\n (state) => state.entities.users,\r\n (state) => state.entities.games,\r\n (competition, userEntities, gameEntities) => {\r\n const owner = competition && competition.owner && userEntities[competition.owner];\r\n const game = competition && gameEntities[competition.game];\r\n\r\n \r\n return {\r\n ...competition,\r\n game,\r\n owner\r\n }\r\n }\r\n)\r\n\r\n\r\n\r\n\r\nexport const getCompetition = createSelector(\r\n state => state.competition.competition,\r\n state => state.entities.competitions,\r\n (competition, competitionEntities) => {\r\n \r\n\r\n return {\r\n ...competition,\r\n item : competitionEntities[competition.item]\r\n }\r\n }\r\n)\r\n\r\n\r\nexport const makeGetEnrollments = () => createSelector(\r\n (state, competitionId) => safeget(state.competition.byCompetition, [competitionId, 'enrollments']),\r\n state => state.entities.enrollments,\r\n state => state.entities.fantasyTeams,\r\n state => state.entities.users,\r\n (competitionEnrollments, enrollmentEntities, fantasyTeamEntities, userEntities) => {\r\n const { item } = competitionEnrollments || { item : { items : [] } };\r\n const { items } = item || { items : [] };\r\n\r\n return {\r\n ...competitionEnrollments, \r\n item : {\r\n ...item,\r\n items : items.map(id => {\r\n const enrollment = enrollmentEntities[id];\r\n const fantasyTeam = fantasyTeamEntities[enrollment.fantasyTeam];\r\n const user = userEntities[fantasyTeam.user];\r\n \r\n return {\r\n ...enrollment,\r\n fantasyTeam : {\r\n ...fantasyTeam,\r\n user\r\n }\r\n }\r\n })\r\n }\r\n };\r\n }\r\n)\r\n\r\n\r\nexport const getPrevious = createSelector(\r\n state => state.competition.previous,\r\n state => state.entities.competitions,\r\n state => state.entities.games,\r\n (previous, competitionEntities, gameEntities) => {\r\n\r\n return {\r\n ...previous,\r\n item : {\r\n ...previous.item,\r\n items : (previous.item && previous.item.items || []).map(id => {\r\n const competition = competitionEntities[id] ;\r\n\r\n return {\r\n ...competition,\r\n game : gameEntities[competition.game]\r\n }\r\n \r\n })\r\n }\r\n };\r\n })\r\n\r\nexport const makeGetInvitations = () => createSelector(\r\n (state, competitionId) => { \r\n const { invitations } = state.competition.byCompetition[competitionId] || { invitations : { didFetch : false, items : null }}\r\n return invitations;\r\n },\r\n (invitations) => invitations\r\n)\r\n\r\nexport const makeGetUsers = () => createSelector(\r\n (state, competitionId) => { \r\n const { users } = state.competition.byCompetition[competitionId] || { users : { didFetch : false, item : null }}\r\n return users;\r\n },\r\n state => state.entities.users,\r\n (competitionUsers, userEntities) => {\r\n return {\r\n ...competitionUsers,\r\n item : {\r\n ...competitionUsers && competitionUsers.item,\r\n items : (competitionUsers && competitionUsers.item && competitionUsers.item.items || []).map(i => ({\r\n ...i,\r\n user : userEntities[i.user]\r\n }))\r\n }\r\n }\r\n }\r\n)\r\n\r\n\r\nexport const getInvitees = createSelector(\r\n state => state.competition.invitees,\r\n state => state.entities.users,\r\n (invitees, userEntities) => {\r\n return {\r\n ...invitees,\r\n items : invitees.items && invitees.items.map(i => ({\r\n ...i,\r\n user : userEntities[i.user]\r\n }))\r\n }\r\n }\r\n)\r\n\r\n\r\n\r\n\r\nexport const getCompetitionHistory = createSelector(\r\n state => state.competition.competitionHistory,\r\n (competitionHistory) => {\r\n const { isFetching, data } = competitionHistory;\r\n const { count, page, pageSize } = data || { count : 0, page: 1, pageSize : 25 };\r\n\r\n const items = data && data.items ? \r\n data.items.map(i => {\r\n return {\r\n ...i,\r\n game : {\r\n id : i.game,\r\n ...data.embedded.games[i.game]\r\n }\r\n }\r\n }) : [];\r\n \r\n return {\r\n isFetching,\r\n count,\r\n page,\r\n pageSize, \r\n items\r\n }\r\n }\r\n)\r\n\r\n\r\n\r\n","import React, { useState } from 'react'\r\n\r\nimport Modal from './Modal'\r\nimport { Text } from './Typography'\r\n\r\nimport styled from 'styled-components'\r\n\r\nimport { space, display, flexbox } from 'styled-system'\r\n\r\nimport styles from './Dialog.module.css'\r\n\r\nconst StyledDialogHeader = styled.div`\r\n min-height: 72px;\r\n display: flex;\r\n align-items: center;\r\n padding: 0 48px 0 24px;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n margin-right: 72px; \r\n\r\n ${ space }\r\n ${ display }\r\n ${ flexbox }\r\n`\r\n\r\nexport const DialogHeader = ({ children }) => {\r\n \r\n return (\r\n
\r\n { children }\r\n
\r\n )\r\n}\r\n\r\n\r\nexport const DialogContent = ({ children }) => {\r\n return (\r\n
\r\n { children }\r\n
\r\n )\r\n}\r\n\r\n\r\n\r\n\r\nexport const DialogFooter = ({ children }) => {\r\n return (\r\n
\r\n { children }\r\n
\r\n )\r\n}\r\n\r\nexport const Dialog = ({ children, ...otherProps }) => {\r\n return (\r\n \r\n { children }\r\n \r\n )\r\n}\r\n\r\n\r\n\r\nexport const useDialog = () => {\r\n const [state, setState] = useState({ isOpen : false, props : {}, onClose : null });\r\n \r\n const open = (props) => new Promise((resolve, reject) => {\r\n\r\n const handleClose = (value) => {\r\n\r\n setState({ isOpen : false, props : {}, onClose : null });\r\n resolve(value);\r\n }\r\n\r\n setState({ isOpen: true, props, onClose : handleClose });\r\n\r\n })\r\n\r\n const close = () => {\r\n setState({ isOpen: false, props : {}, onClose : null })\r\n }\r\n\r\n return [{ open : state.isOpen, onClose : state.onClose, ...state.props }, open, close];\r\n\r\n}\r\n","module.exports = \"\"","module.exports = \"\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Accordion__container__1tJKp\",\"item\":\"Accordion__item__3UCKg\",\"header\":\"Accordion__header__jebWt\",\"content\":\"Accordion__content__1Dt2i\",\"active\":\"Accordion__active__2oDtd\"};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/getUrl.js\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = require(\"./roboto-v27-latin-regular.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_1___ = require(\"./roboto-v27-latin-regular.woff\");\nvar ___CSS_LOADER_URL_IMPORT_2___ = require(\"./roboto-v27-latin-regular.ttf\");\nvar ___CSS_LOADER_URL_IMPORT_3___ = require(\"./roboto-v27-latin-regular.svg\");\nvar ___CSS_LOADER_URL_IMPORT_4___ = require(\"./roboto-v27-latin-italic.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_5___ = require(\"./roboto-v27-latin-italic.woff\");\nvar ___CSS_LOADER_URL_IMPORT_6___ = require(\"./roboto-v27-latin-italic.ttf\");\nvar ___CSS_LOADER_URL_IMPORT_7___ = require(\"./roboto-v27-latin-italic.svg\");\nvar ___CSS_LOADER_URL_IMPORT_8___ = require(\"./roboto-v27-latin-700.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_9___ = require(\"./roboto-v27-latin-700.woff\");\nvar ___CSS_LOADER_URL_IMPORT_10___ = require(\"./roboto-v27-latin-700.ttf\");\nvar ___CSS_LOADER_URL_IMPORT_11___ = require(\"./roboto-v27-latin-700.svg\");\nvar ___CSS_LOADER_URL_IMPORT_12___ = require(\"./roboto-v27-latin-700italic.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_13___ = require(\"./roboto-v27-latin-700italic.woff\");\nvar ___CSS_LOADER_URL_IMPORT_14___ = require(\"./roboto-v27-latin-700italic.ttf\");\nvar ___CSS_LOADER_URL_IMPORT_15___ = require(\"./roboto-v27-latin-700italic.svg\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___, { hash: \"#Roboto\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);\nvar ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___, { hash: \"#Roboto\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___);\nvar ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___);\nvar ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___);\nvar ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___, { hash: \"#Roboto\" });\nvar ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___);\nvar ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___);\nvar ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___);\nvar ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___, { hash: \"#Roboto\" });\n// Module\nexports.push([module.id, \"/* roboto-regular - latin */\\r\\n@font-face {\\r\\n font-family: 'Roboto';\\r\\n font-style: normal;\\r\\n font-weight: 400;\\r\\n src: local(''),\\r\\n \\r\\n url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format('woff2'), \\r\\n url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format('woff'), \\r\\n url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format('truetype'), \\r\\n url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format('svg'); /* Legacy iOS */\\r\\n font-display: swap;\\r\\n }\\r\\n /* roboto-italic - latin */\\r\\n @font-face {\\r\\n font-family: 'Roboto';\\r\\n font-style: italic;\\r\\n font-weight: 400;\\r\\n src: local(''),\\r\\n \\r\\n url(\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \") format('woff2'), \\r\\n url(\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \") format('woff'), \\r\\n url(\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \") format('truetype'), \\r\\n url(\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \") format('svg'); /* Legacy iOS */\\r\\n font-display: swap;\\r\\n }\\r\\n /* roboto-700 - latin */\\r\\n @font-face {\\r\\n font-family: 'Roboto';\\r\\n font-style: normal;\\r\\n font-weight: 700;\\r\\n src: local(''),\\r\\n \\r\\n url(\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \") format('woff2'), \\r\\n url(\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \") format('woff'), \\r\\n url(\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \") format('truetype'), \\r\\n url(\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \") format('svg'); /* Legacy iOS */\\r\\n font-display: swap;\\r\\n }\\r\\n /* roboto-700italic - latin */\\r\\n @font-face {\\r\\n font-family: 'Roboto';\\r\\n font-style: italic;\\r\\n font-weight: 700;\\r\\n src: local(''),\\r\\n url(\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \") format('woff2'), \\r\\n url(\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \") format('woff'), \\r\\n url(\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \") format('truetype'), \\r\\n url(\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \") format('svg'); /* Legacy iOS */\\r\\n font-display: swap;\\r\\n }\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import React from 'react'\r\nimport ButtonBase from './ButtonBase'\r\nimport styles from './Button.scss'\r\n\r\nconst IconButton = React.forwardRef(({ solid, onClick, children, label, ...otherProps }, ref) => {\r\n return (\r\n { (className) => {\r\n return
{ e.preventDefault(); onClick(); } }>\r\n \r\n { label && { label } }\r\n { children }\r\n \r\n
\r\n }\r\n }
\r\n \r\n ) \r\n \r\n})\r\n\r\nexport default IconButton;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"alert\":\"Alert__alert__1zng7\",\"image\":\"Alert__image__zNMPq\",\"content\":\"Alert__content__7Ph6R\",\"error\":\"Alert__error__2CVOk\",\"warning\":\"Alert__warning__3XuYS\",\"information\":\"Alert__information__2kSv_\",\"success\":\"Alert__success__2tp_F\"};","module.exports = \"\"","export default __webpack_public_path__ + \"roboto-v27-latin-700italic.c756cf083283e3aed4201f0d90e29d6e.woff2\";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"._2Jqz2w2rpNIf5EQpBObNOR {\\r\\n display: block;\\r\\n\\r\\n user-select: none;\\r\\n\\r\\n transition: opacity 0.15s linear;\\r\\n will-change: opacity;\\r\\n\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n._34IDJ1-s_LkQowTRISZ0qR {\\r\\n width: 36px;\\r\\n height: 36px;\\r\\n\\r\\n flex-shrink: 0;\\r\\n\\r\\n border-radius: 3px;\\r\\n border: 3px solid transparent;\\r\\n\\r\\n background-color: var(--button);\\r\\n color: var(--action);\\r\\n\\r\\n cursor: pointer;\\r\\n\\r\\n transition: border-color 0.15s linear;\\r\\n will-change: border-color;\\r\\n\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n._2Jqz2w2rpNIf5EQpBObNOR input {\\r\\n position: absolute;\\r\\n opacity: 0;\\r\\n cursor: pointer;\\r\\n height: 0;\\r\\n width: 0;\\r\\n}\\r\\n\\r\\n\\r\\n._2Jqz2w2rpNIf5EQpBObNOR input:disabled ~ ._34IDJ1-s_LkQowTRISZ0qR {\\r\\n cursor: inherit;\\r\\n opacity: 0.5;\\r\\n background-color: var(--button-background-disabled);\\r\\n color: var(--button-foreground-disabled);\\r\\n}\\r\\n\\r\\n._2Jqz2w2rpNIf5EQpBObNOR input:not(:disabled) ~ ._34IDJ1-s_LkQowTRISZ0qR:hover \\r\\n{\\r\\n border-color: var(--action-light);\\r\\n}\\r\\n\\r\\n._2Jqz2w2rpNIf5EQpBObNOR input:focus ~ ._34IDJ1-s_LkQowTRISZ0qR {\\r\\n border-color: var(--utility-blue);\\r\\n}\\r\\n\\r\\n._2Jqz2w2rpNIf5EQpBObNOR input:checked ~ ._34IDJ1-s_LkQowTRISZ0qR > * {\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\n._3z35TTeCGMtqq886QMBXao {\\r\\n font-size: 14px;\\r\\n line-height: 22px;\\r\\n margin-left: 12px;\\r\\n margin-top: 6px;\\r\\n}\\r\\n\", \"\"]);\n// Exports\nexports.locals = {\n\t\"container\": \"_2Jqz2w2rpNIf5EQpBObNOR\",\n\t\"faux\": \"_34IDJ1-s_LkQowTRISZ0qR\",\n\t\"label\": \"_3z35TTeCGMtqq886QMBXao\"\n};\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"._3FQe0RG79V1M0ue3wRAIVy {\\r\\n display: grid;\\r\\n \\r\\n grid-gap: 24px;\\r\\n width: 100%;\\r\\n}\", \"\"]);\n// Exports\nexports.locals = {\n\t\"container\": \"_3FQe0RG79V1M0ue3wRAIVy\"\n};\nmodule.exports = exports;\n","import React from 'react'\r\n\r\nexport default React.createContext({});\r\n","import React, { useContext, useEffect, useMemo, useState, useCallback } from 'react'\r\n\r\nconst BreakpointContext = React.createContext();\r\n\r\nconst createMediaQueries = (breakpoints) => {\r\n \r\n\r\n\r\n const sortedBreakpoints = Object.keys(breakpoints).sort(\r\n (a, b) => breakpoints[b] - breakpoints[a]\r\n );\r\n\r\n \r\n return sortedBreakpoints.map((breakpoint, index) => {\r\n let query = '';\r\n const minWidth = breakpoints[breakpoint];\r\n const nextBreakpoint = sortedBreakpoints[index - 1];\r\n const maxWidth = breakpoints[nextBreakpoint];\r\n \r\n if (minWidth >= 0) {\r\n query = `(min-width: ${ minWidth }px)`;\r\n }\r\n \r\n if (typeof maxWidth !== 'undefined') {\r\n if (query) {\r\n query += \" and \";\r\n }\r\n query += `(max-width: ${ maxWidth - 1 }px)`;\r\n }\r\n \r\n return {\r\n index : sortedBreakpoints.length - index - 1,\r\n breakpoint,\r\n maxWidth,\r\n minWidth,\r\n query\r\n };\r\n })\r\n}\r\n\r\nexport const BreakpointProvider = React.memo(({ breakpoints, children }) => {\r\n const mediaQueries = useMemo(() => createMediaQueries(breakpoints), [breakpoints]);\r\n const initialState = useMemo(() => { return mediaQueries.find(mq => window.matchMedia(mq.query).matches) }, [breakpoints]);\r\n const [breakpoint, setBreakpoint] = useState(initialState);\r\n\r\n useEffect(() => {\r\n const fns = mediaQueries.map(mq => {\r\n const mediaQuery = window.matchMedia(mq.query);\r\n \r\n const handler = (e) => {\r\n if (e.matches) {\r\n setBreakpoint(mq);\r\n }\r\n }\r\n\r\n mediaQuery.addListener(handler);\r\n\r\n return () => mediaQuery.removeListener(handler);\r\n });\r\n\r\n return () => {\r\n fns.forEach(fn => fn());\r\n }\r\n\r\n }, [breakpoints]);\r\n\r\n \r\n\r\n return { children };\r\n\r\n})\r\n\r\n\r\nexport const useBreakpoint = () => {\r\n return useContext(BreakpointContext);\r\n};\r\n\r\n\r\n\r\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/getUrl.js\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = require(\"./geomanist-ultra-webfont.woff\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\nexports.push([module.id, \"/* Generated by Font Squirrel (https://www.fontsquirrel.com) on October 7, 2016 */\\r\\n\\r\\n\\r\\n\\r\\n@font-face {\\r\\n font-family: \\\"geomanist\\\";\\r\\n src: local('Geomanist Ultra'), url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"woff\\\");\\r\\n font-weight: 900;\\r\\n font-style: normal; \\r\\n font-display: swap;\\r\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","export default __webpack_public_path__ + \"roboto-v27-latin-italic.5b35ce29664d4b37d611ba9081c4e96f.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"GameIdentity__container__3iwKp\",\"content\":\"GameIdentity__content__3tsOY\",\"sponsor\":\"GameIdentity__sponsor__1QhnR\",\"left\":\"GameIdentity__left__3KVlX\",\"title\":\"GameIdentity__title__22LKc\",\"variant\":\"GameIdentity__variant__2BCpt\",\"status\":\"GameIdentity__status__1MaV2\",\"text\":\"GameIdentity__text__1ZRaT\",\"countdown\":\"GameIdentity__countdown__KR8ZL\"};","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js??ref--7-1!./ChangeNotification.module.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","import axios from 'axios';\r\n\r\nexport default \r\n{\r\n offsetMilliseconds : 0,\r\n\r\n sync() {\r\n axios.get('time').then(response => {\r\n var serverTime = new Date(response.data);\r\n var localTime = new Date();\r\n\r\n this.offsetMilliseconds = serverTime.getTime() - localTime.getTime();\r\n \r\n console.log(`Server offset is ${this.offsetMilliseconds} ms`);\r\n }, () => {\r\n console.log('Unable to sync time to server.')\r\n });\r\n },\r\n\r\n now() {\r\n return new Date(new Date().getTime() + this.offsetMilliseconds)\r\n }\r\n}\r\n","module.exports = \"\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"odds\":\"Odds__odds__3fqFJ\",\"outcome\":\"Odds__outcome__23vhV\",\"type\":\"Odds__type__2-l6M\",\"hot\":\"Odds__hot__3MCtL\"};","module.exports = \"\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"._1cy7KDJ8CFCZjNazyHSX-n {\\r\\n min-height: var(--vertical-rythm);\\r\\n background: black;\\r\\n\\r\\n background-color : var(--utility-black);\\r\\n \\r\\n color: var(--utility-white);\\r\\n \\r\\n display: flex;\\r\\n align-items: center;\\r\\n position: relative;\\r\\n \\r\\n padding: 0 12px;\\r\\n}\\r\\n\\r\\n\\r\\n._3IJHFn9jF_OeoL8IAAXGZW { background-color: var(--utility-yellow); }\\r\\n._2D6WqPD_iuKXbhfUT8XmaV { background-color: var(--utility-red); }\\r\\n.vV7fVbmrlHbsggZBC1JlD { background-color: var(--utility-green); }\\r\\n.bZ2riLS7tA33VfXLNp1Bt { background-color: var(--utility-blue); }\\r\\n\", \"\"]);\n// Exports\nexports.locals = {\n\t\"container\": \"_1cy7KDJ8CFCZjNazyHSX-n\",\n\t\"warning\": \"_3IJHFn9jF_OeoL8IAAXGZW\",\n\t\"error\": \"_2D6WqPD_iuKXbhfUT8XmaV\",\n\t\"success\": \"vV7fVbmrlHbsggZBC1JlD\",\n\t\"info\": \"bZ2riLS7tA33VfXLNp1Bt\"\n};\nmodule.exports = exports;\n","module.exports = \"\"","module.exports = \"\"","export const CURRENT_USER_REQUEST = 'CURRENT_USER_REQUEST';\r\nexport const CURRENT_USER_RECEIVE = 'CURRENT_USER_RECEIVE'; \r\nexport const CURRENT_USER_FAILURE = 'CURRENT_USER_FAILURE';\r\n\r\nexport const FETCH_USER_REQUEST = 'FETCH_USER_REQUEST';\r\nexport const FETCH_USER_SUCCESS = 'FETCH_USER_SUCCESS';\r\nexport const FETCH_USER_FAILURE = 'FETCH_USER_FAILURE';\r\n","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./stylesheet.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","module.exports = \"\"","module.exports = \"\"","// Fetch message board posts\r\n\r\nexport const FETCH_POSTS_REQUEST = 'messageBoard/posts/fetch/request';\r\nexport const FETCH_POSTS_SUCCESS = 'messageBoard/posts/fetch/success';\r\nexport const FETCH_POSTS_FAIL = 'messageBoard/posts/fetch/fail';\r\n\r\nexport const INVALIDATE_POSTS = 'messageBoard/posts/invalidate';\r\n\r\n\r\n// Fetch more message board posts\r\n\r\nexport const FETCH_MORE_POSTS_REQUEST = 'messageBoard/more-posts/fetch/request';\r\nexport const FETCH_MORE_POSTS_SUCCESS = 'messageBoard/more-posts/fetch/success';\r\nexport const FETCH_MORE_POSTS_FAIL = 'messageBoard/more-posts/fetch/fail';\r\n\r\n\r\n\r\n// Fetch message board replies\r\n\r\nexport const FETCH_REPLIES_REQUEST = 'messageBoard/replies/fetch/request';\r\nexport const FETCH_REPLIES_SUCCESS = 'messageBoard/replies/fetch/success';\r\nexport const FETCH_REPLIES_FAIL = 'messageBoard/replies/fetch/fail';\r\n\r\nexport const INVALIDATE_REPLIES = 'messageBoard/replies/invalidate';\r\n\r\n\r\n// Fetch more replies\r\n\r\nexport const FETCH_MORE_REPLIES_REQUEST = 'messageBoard/more-replies/fetch/request';\r\nexport const FETCH_MORE_REPLIES_SUCCESS = 'messageBoard/more-replies/fetch/success';\r\nexport const FETCH_MORE_REPLIES_FAIL = 'messageBoard/more-replies/fetch/fail';\r\n\r\n\r\n\r\n\r\n// Fetch message board posts\r\n\r\nexport const CREATE_POST_REQUEST = 'messageBoard/post/create/request';\r\nexport const CREATE_POST_SUCCESS = 'messageBoard/post/create/success';\r\nexport const CREATE_POST_FAIL = 'messageBoard/post/create/fail';\r\n\r\n\r\n// Fetch message board posts\r\n\r\nexport const CREATE_REPLY_REQUEST = 'messageBoard/reply/create/request';\r\nexport const CREATE_REPLY_SUCCESS = 'messageboard/reply/create/success';\r\nexport const CREATE_REPLY_FAIL = 'messageBoard/reply/create/fail';\r\n\r\n\r\n// Fetch message board\r\n\r\nexport const FETCH_MESSAGEBOARD_REQUEST = 'messageBoard/fetch/request';\r\nexport const FETCH_MESSAGEBOARD_SUCCESS = 'messageBoard/fetch/success';\r\nexport const FETCH_MESSAGEBOARD_FAIL = 'messageBoard/fetch/fail';\r\n\r\nexport const INVALIDATE_MESSAGEBOARD = 'messageBoard/invalidate';\r\n\r\n/* */\r\n\r\nexport const MARK_MESSAGEBOARD_READ_REQUEST = 'messageBoard/mark-read/request'\r\nexport const MARK_MESSAGEBOARD_READ_SUCCESS = 'messageBoard/mark-read/success'\r\nexport const MARK_MESSAGEBOARD_READ_FAIL = 'messageBoard/mark-read/fail'\r\n\r\n/* Delete Post */\r\n\r\nexport const DELETE_POST_REQUEST = 'messageBoard/post/delete/request'\r\nexport const DELETE_POST_SUCCESS = 'messageBoard/post/delete/success'\r\nexport const DELETE_POST_FAIL = 'messageBoard/post/delete/fail'\r\n\r\n\r\n/* */\r\n\r\n\r\nexport const WS_NEW_POST = 'messageBoard/ws/newPost';\r\n\r\nexport const SUBSCRIBE = 'messageBoard/subscribe';\r\nexport const UNSUBSCRIBE = 'messageBoard/unsubscribe';\r\n\r\nexport const APPLY_PENDING_POSTS = 'APPLY_PENDING_POSTS'\r\nexport const APPLY_PENDING_REPLIES = 'APPLY_PENDING_REPLIES'","export default __webpack_public_path__ + \"roboto-v27-latin-regular.4f862c8ba4ed785461ee30cf79232437.svg\";","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js??ref--7-1!./AuthenticationModal.module.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","import React, { Component, useContext } from 'react'\r\nimport PropTypes from 'prop-types';\r\n\r\nimport TranslationContext from '../components/TranslationContext';\r\n\r\nconst translatable = (ComponentToWrap) => {\r\n \r\n const TranslatableComponent = (props) => {\r\n const translationContext = useContext(TranslationContext);\r\n\r\n \r\n const translator = translationContext ? translationContext.translate : (key, params) => key;\r\n\r\n\r\n return ()\r\n }\r\n\r\n return TranslatableComponent;\r\n}\r\n\r\n\r\nexport default translatable;\r\n\r\n","import React from 'react'\r\nimport classNames from 'classnames'\r\n\r\nimport styles from './Pill.module.css'\r\n\r\nconst Pill = ({ children, variant = 'default', size = 'm' }) => {\r\n \r\n const className = classNames(\r\n styles.pill,\r\n {\r\n [styles.action] : variant == 'action'\r\n }\r\n )\r\n\r\n \r\n return (\r\n
\r\n { children }\r\n
\r\n )\r\n}\r\n\r\n\r\nexport default Pill;","module.exports = \"\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"gameHeader\":\"GameHeader__gameHeader__37Ds3\",\"global\":\"GameHeader__global__3a-5W\",\"content\":\"GameHeader__content__1B5O2\"};","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js??ref--7-1!./CardToast.module.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","module.exports = \"\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"PlayerByline__container__19Pyl\",\"full\":\"PlayerByline__full__h-hFJ\",\"abbr\":\"PlayerByline__abbr__3Jz57\"};","module.exports = \"\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n// Exports\nmodule.exports = exports;\n","module.exports = \"\"","module.exports = \"\"","export const WS_MESSAGE = 'WS_MESSAGE';\r\nexport const WS_MESSAGE_BULK = 'WS_MESSAGE_BULK';\r\n//export const WS_RECONNECTING = 'WS_RECONNECTING';\r\nexport const WS_CONNECTION_LOST = 'WS_CONNECTION_LOST';\r\n//export const WS_RECONNECT = 'WS_RECONNECT';\r\nexport const WS_DISCONNECT = 'WS_DISCONNECT';\r\n","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","import React from 'react';\r\n\r\nimport { Modal, AlertBox } from 'components'\r\n\r\nimport styles from './AuthenticationModal.module.css'\r\n\r\n\r\n\r\nexport const AuthenticationHeader = ({ children }) => {\r\n return

{ children }

\r\n}\r\n\r\nexport const AuthenticationModal = ({ coverImageUrl, open, onClose, error, children, canClose = true }) => {\r\n return (\r\n \r\n
\r\n
\r\n
\r\n { error && { error } }\r\n\r\n
\r\n
\r\n { children }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}","module.exports = \"\"","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { XButton } from './XButton'\r\nimport Icon from './Icon'\r\nimport { number } from '../common/utils'\r\n\r\nimport styles from './Pagination.scss'\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nclass Pagination extends React.PureComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.next = this.next.bind(this);\r\n this.previous = this.previous.bind(this);\r\n }\r\n\r\n next() {\r\n let totalPages = Math.ceil(this.props.count / this.props.pageSize);\r\n if (this.props.page <= totalPages - 1) {\r\n if (this.props.onNext)\r\n this.props.onNext();\r\n\r\n if (this.props.onPageChanged)\r\n this.props.onPageChanged(this.props.page + 1)\r\n }\r\n }\r\n\r\n previous() {\r\n if (this.props.page > 1) {\r\n if (this.props.onPageChanged)\r\n this.props.onPageChanged(this.props.page - 1)\r\n\r\n if (this.props.onPrevious)\r\n this.props.onPrevious();\r\n }\r\n }\r\n\r\n\r\n render() {\r\n const { page } = this.props;\r\n \r\n let totalPages = Math.ceil(this.props.count / this.props.pageSize)\r\n\r\n if (totalPages <= 1)\r\n return null;\r\n \r\n return (\r\n\r\n
\r\n { number(this.props.page) } / { number(totalPages) }\r\n \r\n \r\n \r\n \r\n = totalPages } textTransform=\"uppercase\" onClick={ this.next }>\r\n \r\n \r\n
\r\n \r\n\r\n )\r\n }\r\n\r\n}\r\n\r\n\r\nPagination.propTypes = {\r\n pageSize : PropTypes.number,\r\n count : PropTypes.number,\r\n page : PropTypes.number,\r\n windowSize : PropTypes.number,\r\n onPageChanged : PropTypes.func,\r\n onNext : PropTypes.func,\r\n onPrevious : PropTypes.func\r\n}\r\n\r\nPagination.defaultProps = {\r\n pageSize: 25,\r\n count: 0,\r\n page: 1,\r\n windowSize : 10\r\n}\r\n\r\nexport default Pagination;","module.exports = \"\"","module.exports = \"\"","import axios from 'axios'\r\nimport auth from '../../common/auth';\r\nimport * as types from './types';\r\nimport * as uiTypes from '../ui/types';\r\n\r\n\r\nconst requestCurrentUser = () => ({ type: types.CURRENT_USER_REQUEST })\r\nconst receiveCurrentUser = (user) => ({ type: types.CURRENT_USER_RECEIVE, user })\r\nconst currentUserFailure = () => ({ type: types.CURRENT_USER_FAILURE })\r\n\r\nconst fetchCurrentUser = () => (dispatch) => {\r\n dispatch(requestCurrentUser())\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n axios.get(`users/me?access_token=${ accessToken }`).then(response => {\r\n dispatch(receiveCurrentUser(response.data));\r\n \r\n }, error => {\r\n dispatch(currentUserFailure());\r\n });\r\n}\r\n\r\nconst shouldFetchCurrentUser = (state) => {\r\n const { me } = state.user;\r\n return me == 0;\r\n}\r\n\r\nexport const fetchCurrentUserIfNeeded = () => (dispatch, getState) => {\r\n var state = getState();\r\n\r\n if (shouldFetchCurrentUser(state)) {\r\n return dispatch(fetchCurrentUser())\r\n }\r\n}\r\n\r\n\r\n// Fetch User\r\n\r\nconst fetchUserRequest = () => ({ type: types.FETCH_USER_REQUEST })\r\nconst fetchUserSuccess = (user) => ({ type: types.FETCH_USER_SUCCESS, payload : user })\r\nconst fetchUserFailure = () => ({ type: types.FETCH_USER_FAILURE })\r\n\r\nexport const fetchUser = (userId) => (dispatch) => {\r\n dispatch(fetchUserRequest())\r\n \r\n axios.get(`users/${ userId }`).then(response => {\r\n dispatch(fetchUserSuccess(response.data));\r\n }, error => {\r\n dispatch(fetchUserFailure());\r\n });\r\n}","import axios from 'axios'\r\nimport auth from '../../common/auth';\r\nimport { fetchCurrentUserIfNeeded } from '../user/actions';\r\n\r\nimport * as types from './types';\r\n\r\nexport const start = () => ({ type: types.START });\r\nexport const complete = () => ({ type: types.COMPLETE });\r\nexport const cancel = () => ({ type: types.CANCEL });\r\nexport const goto = (name) => ({ type: types.GOTO, name });\r\nexport const set = (data) => ({ type: types.SET, data });\r\n\r\nconst authenticationSuccess = (payload) => ({ type : types.AUTHENTICATION_SUCCESS, payload })\r\n\r\n/* Check account holder */\r\n\r\nconst checkAccountRequest = (email) => ({ type: types.CHECK_ACCOUNT_REQUEST, email })\r\nconst checkAccountSuccess = (email, payload) => ({ type: types.CHECK_ACCOUNT_SUCCESS, email, payload })\r\nconst checkAccountFailure = (problems) => ({ type: types.CHECK_ACCOUNT_FAIL, problems })\r\n\r\nexport const checkAccount = (email) => (dispatch) => {\r\n dispatch(checkAccountRequest(email));\r\n\r\n axios.post(`/account/check`, { email }).then(response => {\r\n dispatch(checkAccountSuccess(email, response.data));\r\n dispatch(set({ email }));\r\n if (response.data.hasAccount) {\r\n dispatch(goto('signin')); \r\n }\r\n else {\r\n dispatch(goto('signup'));\r\n }\r\n }, error => {\r\n dispatch(checkAccountFailure(error.response && error.response.data));\r\n });\r\n}\r\n\r\n/* Login */\r\n\r\nconst loginRequest = () => ({ type: types.LOGIN_REQUEST })\r\nconst loginSuccess = (o) => ({ type: types.LOGIN_SUCCESS, accessToken : o.token, username : o.username, roles : o.roles, expires : o.expires });\r\nconst loginFailure = () => ({ type: types.LOGIN_FAILURE })\r\n\r\nexport const login = () => {\r\n \r\n return (dispatch) => {\r\n dispatch(loginRequest())\r\n\r\n auth.signin().then(response => {\r\n dispatch(loginSuccess(response));\r\n dispatch(fetchCurrentUserIfNeeded());\r\n }, error => {\r\n dispatch(loginFailure());\r\n })\r\n }\r\n \r\n}\r\n\r\n/* Reset, Request */\r\n\r\nconst requestResetRequest = () => ({ type: types.REQUEST_RESET_REQUEST })\r\nconst requestResetSuccess = () => ({ type: types.REQUEST_RESET_SUCCESS })\r\nconst requestResetFailure = (problems) => ({ type: types.REQUEST_RESET_FAIL, problems })\r\n\r\nexport const requestReset = (email) => (dispatch) => {\r\n dispatch(requestResetRequest());\r\n\r\n axios.post(`/account/reset`, { email }).then(response => {\r\n dispatch(requestResetSuccess());\r\n dispatch(goto('reset_code'));\r\n }, error => {\r\n dispatch(requestResetFailure(error.response.data));\r\n });\r\n}\r\n\r\n\r\n/* Reset */\r\n\r\nconst resetRequest = () => ({ type: types.RESET_REQUEST })\r\nconst resetSuccess = () => ({ type: types.RESET_SUCCESS })\r\nconst resetFailure = (problems) => ({ type: types.RESET_FAIL, problems })\r\n\r\nexport const reset = (email, code, password) => (dispatch) => {\r\n dispatch(resetRequest());\r\n\r\n axios.post(`/account/reset`, { email, code, password }).then(response => {\r\n auth.setAuth(response.data); \r\n\r\n dispatch(resetSuccess());\r\n\r\n legacyLogin(response.data.token).then(() => {\r\n dispatch(authenticationSuccess(response.data));\r\n dispatch(fetchCurrentUserIfNeeded());\r\n dispatch(complete());\r\n\r\n window.dispatchEvent(new Event('signin'));\r\n })\r\n }, error => {\r\n dispatch(resetFailure(error.response.data));\r\n });\r\n}\r\n\r\n\r\n/* Signup - Step 1 - Email */\r\n\r\nconst signupSubmitEmailRequest = () => ({ type: types.SIGNUP_SUBMIT_EMAIL_REQUEST })\r\nconst signupSubmitEmailSuccess = () => ({ type: types.SIGNUP_SUBMIT_EMAIL_SUCCESS })\r\nconst signupSubmitEmailFailure = (problems) => ({ type: types.SIGNUP_SUBMIT_EMAIL_FAIL, problems })\r\n\r\nexport const signupSubmitEmail = (email) => (dispatch) => {\r\n dispatch(signupSubmitEmailRequest());\r\n\r\n axios.post(`/account/flow/0`, { email }).then(response => {\r\n dispatch(signupSubmitEmailSuccess());\r\n dispatch(goto('signup_code'));\r\n }, error => {\r\n dispatch(signupSubmitEmailFailure(error.response.data));\r\n });\r\n}\r\n\r\n/* Signup - Step 2 - Code */\r\n\r\nconst signupSubmitCodeRequest = () => ({ type: types.SIGNUP_SUBMIT_CODE_REQUEST })\r\nconst signupSubmitCodeSuccess = (code) => ({ type: types.SIGNUP_SUBMIT_CODE_SUCCESS, code })\r\nconst signupSubmitCodeFailure = (problems) => ({ type: types.SIGNUP_SUBMIT_CODE_FAIL, problems })\r\n\r\nexport const signupSubmitCode = (email, code) => (dispatch) => {\r\n dispatch(signupSubmitCodeRequest());\r\n\r\n axios.post(`/account/flow/1`, { email, code }).then(response => {\r\n dispatch(signupSubmitCodeSuccess(code));\r\n dispatch(goto('signup_username'));\r\n }, error => {\r\n dispatch(signupSubmitCodeFailure(error.response.data));\r\n });\r\n}\r\n\r\n\r\n/* Signup - Step 3 - Complete */\r\n\r\nconst signupSubmitRequest = () => ({ type: types.SIGNUP_SUBMIT_REQUEST })\r\nconst signupSubmitSuccess = () => ({ type: types.SIGNUP_SUBMIT_SUCCESS })\r\nconst signupSubmitFailure = (problems) => ({ type: types.SIGNUP_SUBMIT_FAIL, problems })\r\n\r\nexport const signupSubmit = (email, code, username, password, optins) => (dispatch) => {\r\n dispatch(signupSubmitRequest());\r\n\r\n axios.post(`/account`, { email, code, username, password, optins }).then(response => {\r\n auth.setAuth(response.data); \r\n\r\n dispatch(signupSubmitSuccess());\r\n\r\n legacyLogin(response.data.token, true).then(() => {\r\n dispatch(authenticationSuccess(response.data));\r\n dispatch(fetchCurrentUserIfNeeded());\r\n dispatch(complete());\r\n\r\n window.localStorage.setItem('email', email);\r\n window.dispatchEvent(new Event('signin'));\r\n })\r\n \r\n }, error => {\r\n dispatch(signupSubmitFailure(error.response.data));\r\n });\r\n}\r\n\r\n\r\n/* Facebook login */\r\n\r\nconst facebookLoginRequest = (accessToken) => ({ type: types.FACEBOOK_LOGIN_REQUEST, accessToken })\r\nconst facebookLoginSuccess = () => ({ type: types.FACEBOOK_LOGIN_SUCCESS })\r\nconst facebookLoginFailure = (problems) => ({ type: types.FACEBOOK_LOGIN_FAIL, problems })\r\n\r\nexport const facebookLogin = (accessToken) => (dispatch) => {\r\n dispatch(facebookLoginRequest(accessToken));\r\n\r\n axios.post(`/facebook/login`, { accessToken }).then(response => {\r\n auth.setAuth(response.data); \r\n\r\n dispatch(facebookLoginSuccess());\r\n\r\n legacyLogin(response.data.token).then(() => {\r\n dispatch(authenticationSuccess(response.data));\r\n dispatch(fetchCurrentUserIfNeeded());\r\n\r\n window.dispatchEvent(new Event('signin'));\r\n });\r\n\r\n\r\n dispatch(complete());\r\n\r\n }, error => {\r\n if (error.response && error.response.status === 401) {\r\n dispatch(goto('facebook'))\r\n }\r\n else {\r\n dispatch(facebookLoginFailure(error.response && error.response.data));\r\n }\r\n });\r\n}\r\n\r\n\r\nconst facebookSignupRequest = () => ({ type: types.FACEBOOK_SIGNUP_REQUEST })\r\nconst facebookSignupSuccess = () => ({ type: types.FACEBOOK_SIGNUP_SUCCESS })\r\nconst facebookSignupFailure = (problems) => ({ type: types.FACEBOOK_SIGNUP_FAIL, problems })\r\n\r\n\r\nexport const facebookSignup = (username, optins) => (dispatch, getState) => {\r\n dispatch(facebookSignupRequest());\r\n\r\n const { accessToken } = getState().auth.facebook;\r\n\r\n axios.post(`/facebook/signup`, { accessToken, username, optins }).then(response => {\r\n auth.setAuth(response.data); \r\n\r\n dispatch(facebookSignupSuccess());\r\n\r\n legacyLogin(response.data.token, true).then(() => {\r\n dispatch(authenticationSuccess(response.data));\r\n dispatch(fetchCurrentUserIfNeeded());\r\n\r\n window.dispatchEvent(new Event('signin'));\r\n });\r\n\r\n dispatch(complete());\r\n\r\n\r\n }, error => {\r\n dispatch(facebookSignupFailure(error.response.data));\r\n });\r\n}\r\n\r\n\r\n\r\n\r\n/* Signup - Step 3 - Complete */\r\n\r\nconst signinRequest = () => ({ type: types.SIGNIN_REQUEST })\r\nconst signinSuccess = () => ({ type: types.SIGNIN_SUCCESS })\r\nconst signinFailure = (problems) => ({ type: types.SIGNIN_FAIL, problems })\r\n\r\nexport const signin = (email, password) => (dispatch) => {\r\n dispatch(signinRequest());\r\n\r\n axios.post(`/authenticate`, { email, password }).then(response => {\r\n auth.setAuth(response.data); \r\n\r\n dispatch(signinSuccess());\r\n\r\n legacyLogin(response.data.token).then(() => {\r\n dispatch(authenticationSuccess(response.data));\r\n dispatch(fetchCurrentUserIfNeeded());\r\n dispatch(complete());\r\n\r\n window.localStorage.setItem('email', email);\r\n window.dispatchEvent(new Event('signin'));\r\n })\r\n \r\n }, error => {\r\n dispatch(signinFailure(error.response && error.response.data));\r\n });\r\n}\r\n\r\n\r\n\r\nconst legacyLogin = (token, registration) => new Promise((resolve, reject) => {\r\n const url = registration ?\r\n window.swush.legacyLoginEndpoint + '?registration=true' :\r\n window.swush.legacyLoginEndpoint;\r\n\r\n axios.post(url, { token }).then(response => {\r\n console.log('Legacy login succeeded');\r\n \r\n resolve();\r\n\r\n if (response.data.redirect) {\r\n location.href = response.data.redirect;\r\n }\r\n }, _ => {\r\n console.log('Legacy login failed');\r\n reject();\r\n });\r\n})","module.exports = \"\"","module.exports = \"\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Spinner__container__3wcnK\",\"spinner\":\"Spinner__spinner__3C2E-\",\"sk-rotateplane\":\"Spinner__sk-rotateplane__31gsD\",\"message\":\"Spinner__message__3gcq0\"};","module.exports = \"\"","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js??ref--7-1!./Scorebox.module.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"FlyoutSummary__container__3kjDR\",\"item\":\"FlyoutSummary__item__1zamQ\",\"media\":\"FlyoutSummary__media__1NfVO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"siteFooter\":\"SiteFooter__siteFooter__1YyJe\",\"copyright\":\"SiteFooter__copyright__3QVTp\",\"flair\":\"SiteFooter__flair__1r_Gv\",\"container\":\"SiteFooter__container__2H7p5\"};","module.exports = \"\"","import React, { useEffect, useCallback } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n\r\nimport styled from 'styled-components'\r\nimport { useTransition, animated } from 'react-spring'\r\n\r\nconst Container = styled.div`\r\n display: flex;\r\n\r\n position: fixed;\r\n\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n\r\n align-items: center;\r\n justify-content: center;\r\n\r\n z-index: 3000;\r\n`\r\n\r\nconst Background = styled(animated.div)`\r\n position: absolute;\r\n\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n\r\n background-color: var(--modal-background-color, rgba(0, 0, 0, 0.6));\r\n z-index: 3001;\r\n`\r\n\r\nconst Window = styled(animated.div)`\r\n background-color: ${ props => props.theme.colors.siteBackground };\r\n color: ${ props => props.theme.colors.siteForeground };\r\n\r\n box-shadow: 0 0 32px rgba(0, 0, 0, 0.2);\r\n \r\n will-change: transform, opacity;\r\n\r\n display: flex;\r\n flex-direction: column;\r\n overflow: hidden;\r\n\r\n width: 100%;\r\n height: 100%;\r\n\r\n z-index: 3002;\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n @media screen and (min-width: 768px) {\r\n width: auto;\r\n height: auto;\r\n \r\n max-height: 80vh;\r\n max-width: 640px;\r\n min-width: 480px;\r\n min-height: 240px;\r\n \r\n border-radius: var(--border-radius);\r\n }\r\n`\r\n\r\nconst Close = styled.a`\r\n font-size: 24px;\r\n font-weight: bold;\r\n position: absolute;\r\n right: 24px;\r\n top: 24px;\r\n height: 24px;\r\n width: 24px;\r\n line-height: 24px;\r\n text-align: center;\r\n color: var(--modal-window-text-color);\r\n z-index: 3001;\r\n cursor: pointer;\r\n`\r\n\r\nexport const ModalHeader = styled.div`\r\n height: calc(var(--vertical-rythm) -1px);\r\n min-height: var(--vertical-rythm);\r\n line-height: 47px;\r\n overflow: hidden;\r\n position: relative;\r\n border-bottom: 1px solid rgba(255,255,255,0.1);\r\n padding: 0 var(--padding);\r\n`\r\n\r\nconst Footer = styled.div`\r\n height: var(--vertical-rythm);\r\n min-height: var(--vertical-rythm);\r\n padding: 0 var(--padding);\r\n \r\n display: flex;\r\n flex-direction: row;\r\n justify-content: flex-end;\r\n align-items: center;\r\n`\r\n\r\n\r\nexport const ModalWindow = ({ open, heading, footer, children, preventKeyboard, onClose, canClose = true, canCloseOnBackgroundClick = true }) => {\r\n\r\n const handleKeyDown = useCallback((e) => {\r\n if (e.code === 'Escape' && !preventKeyboard) {\r\n onClose();\r\n }\r\n })\r\n\r\n\r\n useEffect(() => {\r\n document.addEventListener('keydown', handleKeyDown);\r\n\r\n return () => {\r\n document.removeEventListener('keydown', handleKeyDown);\r\n }\r\n }, [handleKeyDown])\r\n\r\n\r\n\r\n const transition = useTransition(open, null, {\r\n from: { opacity: 0, transform: 'translate3d(0, 24px, 0)' },\r\n enter: { opacity: 1, transform: 'translate3d(0, 0, 0)' },\r\n leave: { opacity: 0, transform: 'translate3d(0, -24px, 0)' },\r\n config : { mass : 0.1, tension: 250, friction: 20 }\r\n });\r\n\r\n const internalOnClose = () => {\r\n if (canClose) {\r\n onClose();\r\n }\r\n }\r\n\r\n const handleBackgroundClick = () => {\r\n if (canClose && canCloseOnBackgroundClick) {\r\n onClose();\r\n }\r\n }\r\n\r\n\r\n return (\r\n \r\n {\r\n transition.map(({ item, key, props }) => item && (\r\n \r\n \r\n \r\n { canClose && × }\r\n { heading && { heading }}\r\n { children }\r\n { footer &&
{ footer }
}\r\n
\r\n
\r\n ))\r\n }\r\n
\r\n )\r\n}\r\n\r\nModalWindow.propTypes = {\r\n open : PropTypes.bool,\r\n onClose : PropTypes.func\r\n}\r\n\r\nModalWindow.defaultProps = {\r\n open : false,\r\n preventKeyboard : false\r\n}\r\n\r\n","export const FETCH_LEAGUE_ARCHIVE_REQUEST = 'FETCH_LEAGUE_ARCHIVE_REQUEST';\r\nexport const FETCH_LEAGUE_ARCHIVE_SUCCESS = 'FETCH_LEAGUE_ARCHIVE_SUCCESS';\r\nexport const FETCH_LEAGUE_ARCHIVE_FAIL = 'FETCH_LEAGUE_ARCHIVE_FAIL';\r\n\r\n\r\nexport const FETCH_ARCHIVED_LEADERBOARD_REQUEST = 'FETCH_ARCHIVED_LEADERBOARD_REQUEST';\r\nexport const FETCH_ARCHIVED_LEADERBOARD_SUCCESS = 'FETCH_ARCHIVED_LEADERBOARD_SUCCESS';\r\nexport const FETCH_ARCHIVED_LEADERBOARD_FAIL = 'FETCH_ARCHIVED_LEADERBOARD_FAIL';\r\n","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../../node_modules/postcss-loader/src/index.js??postcss!./stylesheet.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","export default __webpack_public_path__ + \"roboto-v27-latin-700italic.ea7a3036ad9539366729b18d85106cd0.svg\";","module.exports = \"\"","import React from 'react';\r\n\r\nexport default React.createContext();","module.exports = \"\"","export const FETCH_TOURNAMENT_REQUEST = 'FETCH_TOURNAMENT_REQUEST';\r\nexport const FETCH_TOURNAMENT_SUCCESS = 'FETCH_TOURNAMENT_SUCCESS';\r\nexport const FETCH_TOURNAMENT_FAILURE = 'FETCH_TOURNAMENT_FAILURE';\r\n\r\nexport const FETCH_TOURNAMENT_STANDINGS_REQUEST = 'FETCH_TOURNAMENT_STANDINGS_REQUEST';\r\nexport const FETCH_TOURNAMENT_STANDINGS_SUCCESS = 'FETCH_TOURNAMENT_STANDINGS_SUCCESS';\r\nexport const FETCH_TOURNAMENT_STANDINGS_FAILURE = 'FETCH_TOURNAMENT_STANDINGS_FAILURE';\r\n","module.exports = \"\"","import { useContext } from 'react'\r\nimport TranslationContext from '../components/TranslationContext';\r\n\r\nexport const useTranslator = () => {\r\n const translationContext = useContext(TranslationContext);\r\n return translationContext ? translationContext.translate : (key, params) => key;\r\n\r\n}\r\n\r\n","export const FETCH_RULESET_REQUEST = 'FETCH_RULESET_REQUEST';\r\nexport const FETCH_RULESET_SUCCESS = 'FETCH_RULESET_SUCCESS';\r\nexport const FETCH_RULESET_FAILURE = 'FETCH_RULESET_FAILURE';\r\n","module.exports = \"\"","export default __webpack_public_path__ + \"roboto-v27-latin-700.0682ca7f74351d42bf73ed1e95572bfe.woff2\";","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js??ref--7-1!./Dialog.module.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","module.exports = \"\"","module.exports = \"\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"contentContainer\":\"ContentContainer__contentContainer__2j2iQ\"};","export const FETCH_CATALOG_REQUEST = 'FETCH_CATALOG_REQUEST'; \r\nexport const FETCH_CATALOG_SUCCESS = 'FETCH_CATALOG_SUCCESS'; \r\nexport const FETCH_CATALOG_FAILURE = 'FETCH_CATALOG_FAILURE'; \r\n\r\nexport const SELECT_GAME = 'SELECT_GAME'; \r\nexport const SELECT_ROUND = 'SELECT_ROUND'; \r\n \r\nexport const FETCH_GAME_REQUEST = 'FETCH_GAME_REQUEST'; \r\nexport const FETCH_GAME_SUCCESS = 'FETCH_GAME_SUCCESS'; \r\nexport const FETCH_GAME_FAILURE = 'FETCH_GAME_FAILURE'; \r\n\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"progress\":\"Progress__progress__2dbQK\",\"stop\":\"Progress__stop__1mOC0\",\"active\":\"Progress__active__2d5S2\",\"value\":\"Progress__value__1D-Ye\"};","import React from 'react'\r\nimport ReactDOM from 'react-dom'\r\nimport { ModalWindow } from './ModalWindow';\r\n\r\nconst modalRoot = document.getElementById('modal-root');\r\n\r\nclass Modal extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.el = document.createElement('div');\r\n }\r\n \r\n componentDidMount() {\r\n modalRoot.appendChild(this.el);\r\n }\r\n \r\n componentWillUnmount() {\r\n modalRoot.removeChild(this.el);\r\n }\r\n \r\n /*this.props.children*/\r\n render() {\r\n return ReactDOM.createPortal(, this.el);\r\n }\r\n}\r\n\r\n\r\nexport default Modal;","import { createSelector } from 'reselect'\r\n\r\nimport * as types from './types'\r\n\r\nconst defaultState = {\r\n catalog: [],\r\n selected : null,\r\n byId : {},\r\n \r\n \r\n \r\n\r\n\r\n};\r\n\r\nexport default function games (state = defaultState, action) \r\n{\r\n switch (action.type) {\r\n case types.FETCH_GAME_REQUEST:\r\n return { \r\n ...state, \r\n byId : {\r\n ...state.byId,\r\n [action.id] : {\r\n isFetching : true,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n case types.FETCH_GAME_SUCCESS:\r\n return { \r\n ...state,\r\n byId : {\r\n ...state.byId,\r\n [action.payload.result] : {\r\n isFetching : false,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n case types .SELECT_GAME:\r\n return { \r\n ...state,\r\n selected : action.id\r\n };\r\n case types .FETCH_CATALOG_REQUEST:\r\n return {\r\n ...state,\r\n catalog : []\r\n };\r\n case types .FETCH_CATALOG_SUCCESS:\r\n const items = action.payload.result.reduce((acc, id) => {\r\n \r\n acc[id] = {\r\n isFetching : false,\r\n didInvalidate : false\r\n };\r\n return acc;\r\n }, {});\r\n\r\n return {\r\n ...state,\r\n catalog : action.payload.result,\r\n byId : {\r\n ...state.byId,\r\n ...items\r\n }\r\n };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\n\r\n","import * as types from './types'\r\n\r\n\r\nconst HIGHSCORE_TYPES = [\r\n { value : 'overall', i18nText : 'common.overall' },\r\n { value : 'round', i18nText : 'common.round' }\r\n];\r\n\r\nconst HIGHSCORE_SCOPES = [\r\n { value : 'everyone', i18nText : 'common.everyone', requiresAuthentication : false },\r\n { value : 'friends', i18nText : 'common.myselfAndFriends', requiresAuthentication : true }\r\n];\r\n\r\n\r\nconst defaultState = {\r\n isFetching: false,\r\n didInvalidate: false,\r\n rows: [],\r\n \r\n round: 1,\r\n gameId: 0,\r\n page : 1,\r\n type : 'overall',\r\n scope : 'everyone',\r\n\r\n types : HIGHSCORE_TYPES,\r\n scopes : HIGHSCORE_SCOPES,\r\n \r\n count: 0\r\n}\r\n\r\n\r\nexport default function highscore (state = defaultState, action) \r\n{\r\n switch (action.type) {\r\n case types.SELECT_HIGHSCORE:\r\n return {\r\n ...state,\r\n ...action.parameters,\r\n didInvalidate: true\r\n };\r\n case types.REQUEST_HIGHSCORE:\r\n return {\r\n ...state,\r\n //rows : [],\r\n //count : 0,\r\n isFetching: true,\r\n didInvalidate: false\r\n }; \r\n case types.RECEIVE_HIGHSCORE:\r\n \r\n return {\r\n ...state,\r\n isFetching: false,\r\n didInvalidate: false,\r\n rows: action.payload.result,\r\n count : action.count\r\n }\r\n default:\r\n return state\r\n }\r\n}","import * as types from './types'\r\n \r\nconst defaultState = {\r\n flow : 'start',\r\n showModal : false,\r\n check : {\r\n },\r\n facebook : {\r\n },\r\n signup : {\r\n step: 0,\r\n form : {\r\n }\r\n },\r\n reset : {},\r\n signin : {},\r\n isAuthenticating : false,\r\n isAuthenticated : false,\r\n username : '',\r\n accessToken : '',\r\n\r\n data: {\r\n email : ''\r\n }\r\n};\r\n\r\n\r\nconst facebookReducer = (state, action) => {\r\n switch(action.type) {\r\n case types.FACEBOOK_LOGIN_REQUEST:\r\n return {\r\n ...state,\r\n accessToken : action.accessToken\r\n } \r\n case types.FACEBOOK_SIGNUP_REQUEST:\r\n return {\r\n ...state,\r\n isBusy : true\r\n }\r\n case types.FACEBOOK_SIGNUP_SUCCESS:\r\n return {\r\n ...state.facebook,\r\n isBusy : false\r\n } \r\n case types.FACEBOOK_SIGNUP_FAIL:\r\n return {\r\n ...state,\r\n problems: action.problems,\r\n isBusy : false\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n\r\nconst signupReducer = (state, action) => {\r\n switch(action.type) {\r\n case types.SIGNUP_SUBMIT_EMAIL_REQUEST:\r\n case types.SIGNUP_SUBMIT_CODE_REQUEST: \r\n case types.SIGNUP_SUBMIT_REQUEST: \r\n return {\r\n ...state,\r\n isBusy : true\r\n }\r\n case types.SIGNUP_SUBMIT_EMAIL_SUCCESS:\r\n case types.SIGNUP_SUBMIT_SUCCESS: \r\n return {\r\n ...state,\r\n isBusy : false\r\n }\r\n case types.SIGNUP_SUBMIT_EMAIL_FAIL:\r\n case types.SIGNUP_SUBMIT_CODE_FAIL:\r\n case types.SIGNUP_SUBMIT_FAIL:\r\n return {\r\n ...state,\r\n problems: action.problems,\r\n isBusy : false\r\n }\r\n case types.SIGNUP_SUBMIT_CODE_SUCCESS:\r\n return {\r\n ...state,\r\n isBusy : false,\r\n code : action.code\r\n } \r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n\r\n\r\nconst resetReducer = (state, action) => {\r\n switch(action.type) {\r\n case types.REQUEST_RESET_REQUEST:\r\n case types.RESET_REQUEST: \r\n return {\r\n ...state,\r\n isBusy : true\r\n }\r\n case types.REQUEST_RESET_SUCCESS:\r\n case types.RESET_SUCCESS: \r\n return {\r\n ...state,\r\n isBusy : false\r\n }\r\n case types.REQUEST_RESET_FAIL:\r\n case types.RESET_FAIL:\r\n return {\r\n ...state,\r\n problems: action.problems,\r\n isBusy : false\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n\r\nconst checkReducer = (state, action) => {\r\n switch(action.type) {\r\n case types.CHECK_ACCOUNT_REQUEST:\r\n return {\r\n ...state,\r\n problems : null,\r\n isBusy : true\r\n }\r\n case types.CHECK_ACCOUNT_SUCCESS:\r\n return {\r\n ...state,\r\n problems : null,\r\n isBusy : false\r\n } \r\n case types.CHECK_ACCOUNT_FAIL:\r\n return {\r\n ...state,\r\n problems : action.problems,\r\n isBusy : false\r\n } \r\n default:\r\n }\r\n}\r\n\r\n\r\nconst signinReducer = (state, action) => {\r\n switch(action.type) {\r\n case types.SIGNIN_REQUEST:\r\n return {\r\n ...state,\r\n isBusy : true\r\n }\r\n case types.SIGNIN_SUCCESS:\r\n return {\r\n ...state,\r\n isBusy : false\r\n }\r\n case types.SIGNIN_FAIL:\r\n return {\r\n ...state,\r\n problems: action.problems,\r\n isBusy : false\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n\r\nexport default function auth (state = defaultState, action) \r\n{\r\n switch (action.type) {\r\n case types.SET:\r\n return {\r\n ...state,\r\n data : {\r\n ...state.data,\r\n ...action.data\r\n }\r\n }\r\n case types.START:\r\n return {\r\n ...state,\r\n flow : 'start',\r\n showModal : true,\r\n data : {}\r\n }\r\n case types.CANCEL:\r\n case types.COMPLETE:\r\n return {\r\n ...state,\r\n flow : 'start',\r\n showModal : false\r\n }\r\n case types.GOTO:\r\n return {\r\n ...state,\r\n flow : action.name,\r\n showModal : true\r\n }\r\n case types.LOGIN_REQUEST:\r\n return {\r\n ...state,\r\n isAuthenticating : true\r\n }\r\n case types.AUTHENTICATION_SUCCESS:\r\n return {\r\n ...state,\r\n isAuthenticating : false,\r\n isAuthenticated : true,\r\n accessToken : action.payload.accessToken,\r\n username : action.payload.username\r\n }\r\n case types.LOGIN_SUCCESS:\r\n return {\r\n ...state,\r\n isAuthenticating : false,\r\n isAuthenticated : true,\r\n accessToken : action.accessToken,\r\n username : action.username\r\n }\r\n case types.LOGIN_FAILURE:\r\n return {\r\n ...state,\r\n isAuthenticating : false,\r\n isAuthenticated : false,\r\n accessToken : ''\r\n }\r\n\r\n\r\n case types.REQUEST_RESET_REQUEST:\r\n case types.REQUEST_RESET_SUCCESS:\r\n case types.REQUEST_RESET_FAIL:\r\n case types.RESET_REQUEST:\r\n case types.RESET_SUCCESS:\r\n case types.RESET_FAIL:\r\n return { ...state, reset : resetReducer(state.signin, action) };\r\n\r\n case types.SIGNIN_REQUEST:\r\n case types.SIGNIN_SUCCESS:\r\n case types.SIGNIN_FAIL:\r\n return { ...state, signin : signinReducer(state.signin, action) };\r\n case types.CHECK_ACCOUNT_REQUEST:\r\n case types.CHECK_ACCOUNT_SUCCESS:\r\n case types.CHECK_ACCOUNT_FAIL:\r\n return { ...state, check : checkReducer(state.check, action) };\r\n case types.FACEBOOK_LOGIN_REQUEST:\r\n case types.FACEBOOK_LOGIN_SUCCESS:\r\n case types.FACEBOOK_SIGNUP_REQUEST:\r\n case types.FACEBOOK_SIGNUP_SUCCESS:\r\n case types.FACEBOOK_SIGNUP_FAIL:\r\n return { ...state, facebook : facebookReducer(state.facebook, action) };\r\n case types.SIGNUP_SUBMIT_EMAIL_REQUEST:\r\n case types.SIGNUP_SUBMIT_CODE_REQUEST: \r\n case types.SIGNUP_SUBMIT_REQUEST: \r\n case types.SIGNUP_SUBMIT_EMAIL_SUCCESS:\r\n case types.SIGNUP_SUBMIT_SUCCESS: \r\n case types.SIGNUP_SUBMIT_EMAIL_FAIL:\r\n case types.SIGNUP_SUBMIT_CODE_FAIL:\r\n case types.SIGNUP_SUBMIT_FAIL:\r\n case types.SIGNUP_SUBMIT_CODE_SUCCESS:\r\n return { ...state, signup : signupReducer(state.signup, action) };\r\n default:\r\n return state\r\n }\r\n}","import * as types from './types'\r\n\r\nconst defaultState = {\r\n byUrl : {}\r\n};\r\n\r\nexport default function configs (state = defaultState, action) \r\n{\r\n switch (action.type) {\r\n case types.FETCH_CONFIG_REQUEST:\r\n return { \r\n ...state,\r\n byUrl : {\r\n ...state.byUrl,\r\n [action.url] : {\r\n ...state.byUrl[action.url],\r\n isFetching : true,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n case types.FETCH_CONFIG_SUCCESS:\r\n return { \r\n ...state,\r\n byUrl : {\r\n ...state.byUrl,\r\n [action.url] : {\r\n ...state.byUrl[action.url],\r\n isFetching : false,\r\n didInvalidate : false,\r\n item: action.payload\r\n }\r\n }\r\n };\r\n case types.FETCH_CONFIG_FAILURE:\r\n return { \r\n ...state,\r\n byUrl : {\r\n ...state.byUrl,\r\n [action.url] : {\r\n ...state.byUrl[action.url],\r\n isFetching : false,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\n","import * as types from './types'\r\n\r\nconst defaultState = {\r\n categories : [],\r\n \r\n groupMemberships : {\r\n isFetching : false,\r\n didInvalidate : false,\r\n items : null\r\n },\r\n\r\n members : {\r\n isFetching : false,\r\n didInvalidate : false,\r\n rows : [],\r\n page : 1,\r\n pageSize : 10,\r\n query : ''\r\n },\r\n\r\n competitions: {\r\n isFetching : false,\r\n didInvalidate : false,\r\n rows: []\r\n },\r\n\r\n selectedGroup : null\r\n};\r\n\r\n\r\nconst groupReducer = (state = defaultState, action) =>\r\n{\r\n switch (action.type) {\r\n\r\n case types.FETCH_USER_GROUP_MEMBERSHIPS_REQUEST:\r\n return { \r\n ...state,\r\n groupMemberships : {\r\n isFetching : true,\r\n didInvalidate : false,\r\n items : []\r\n }\r\n };\r\n\r\n case types.FETCH_USER_GROUP_MEMBERSHIPS_SUCCESS:\r\n return { \r\n ...state,\r\n groupMemberships : {\r\n isFetching : false,\r\n didInvalidate : false,\r\n items : action.payload.result\r\n }\r\n };\r\n case types.FETCH_USER_GROUP_MEMBERSHIPS_FAIL:\r\n return { \r\n ...state,\r\n groupMemberships : {\r\n isFetching : false,\r\n didInvalidate : false,\r\n items : []\r\n }\r\n };\r\n case types.FETCH_GROUP_CATEGORIES_SUCCESS:\r\n return { \r\n ...state,\r\n categories : action.payload.result\r\n };\r\n \r\n\r\n case types.FETCH_GROUP_MEMBERS_REQUEST:\r\n return { \r\n ...state,\r\n members : {\r\n ...state.members,\r\n didInvalidate : false,\r\n isFetching : true\r\n }\r\n };\r\n\r\n case types.FETCH_GROUP_MEMBERS_SUCCESS:\r\n return { \r\n ...state,\r\n members : {\r\n ...state.members,\r\n rows : action.payload.result,\r\n count : action.count,\r\n didInvalidate : false,\r\n isFetching : false\r\n }\r\n };\r\n\r\n case types.FETCH_GROUP_COMPETITIONS_REQUEST:\r\n return { \r\n ...state,\r\n competitions : {\r\n ...state.competitions,\r\n didInvalidate : false,\r\n isFetching : true\r\n }\r\n };\r\n case types.FETCH_GROUP_COMPETITIONS_SUCCESS:\r\n \r\n return { \r\n ...state,\r\n competitions : {\r\n ...state.competitions,\r\n didInvalidate : false,\r\n isFetching : false,\r\n rows: action.payload.result\r\n }\r\n };\r\n case types.SELECT_GROUP:\r\n return { \r\n ...state,\r\n selectedGroup : action.groupId\r\n };\r\n case types.INVALIDATE_GROUP_MEMBERS:\r\n return { \r\n ...state,\r\n members : {\r\n ...state.members,\r\n rows: [],\r\n count: 0,\r\n didInvalidate : true\r\n }\r\n };\r\n case types.FILTER_GROUP_MEMBERS:\r\n return { \r\n ...state,\r\n members : {\r\n ...state.members,\r\n ...action.filter,\r\n didInvalidate : true\r\n }\r\n }; \r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default groupReducer;\r\n","export const FETCH_GROUP_CATEGORIES_REQUEST = 'FETCH_GROUP_CATEGORIES_REQUEST';\r\nexport const FETCH_GROUP_CATEGORIES_SUCCESS = 'FETCH_GROUP_CATEGORIES_SUCCESS';\r\nexport const FETCH_GROUP_CATEGORIES_FAILURE = 'FETCH_GROUP_CATEGORIES_FAILURE';\r\n\r\n// User Groups\r\n\r\nexport const FETCH_USER_GROUP_MEMBERSHIPS_REQUEST = 'user/groupmemberships/fetch/request';\r\nexport const FETCH_USER_GROUP_MEMBERSHIPS_SUCCESS = 'user/groupmemberships/fetch/success';\r\nexport const FETCH_USER_GROUP_MEMBERSHIPS_FAIL = 'user/groupmemberships/fetch/fail';\r\n\r\n// Create Group\r\n\r\nexport const CREATE_GROUP_REQUEST = 'CREATE_GROUP_REQUEST';\r\nexport const CREATE_GROUP_SUCCESS = 'CREATE_GROUP_SUCCESS';\r\nexport const CREATE_GROUP_FAILURE = 'CREATE_GROUP_FAILURE';\r\n\r\n\r\nexport const UPDATE_GROUP_REQUEST = 'UPDATE_GROUP_REQUEST';\r\nexport const UPDATE_GROUP_SUCCESS = 'UPDATE_GROUP_SUCCESS';\r\nexport const UPDATE_GROUP_FAILURE = 'UPDATE_GROUP_FAILURE';\r\n\r\nexport const FETCH_GROUP_MEMBERS_REQUEST = 'FETCH_GROUP_MEMBERS_REQUEST';\r\nexport const FETCH_GROUP_MEMBERS_SUCCESS = 'FETCH_GROUP_MEMBERS_SUCCESS';\r\nexport const FETCH_GROUP_MEMBERS_FAILURE = 'FETCH_GROUP_MEMBERS_FAILURE';\r\n\r\nexport const UPDATE_GROUP_MEMBERSHIP_REQUEST = 'UPDATE_GROUP_MEMBERSHIP_REQUEST';\r\nexport const UPDATE_GROUP_MEMBERSHIP_SUCCESS = 'UPDATE_GROUP_MEMBERSHIP_SUCCESS';\r\nexport const UPDATE_GROUP_MEMBERSHIP_FAILURE = 'UPDATE_GROUP_MEMBERSHIP_FAILURE';\r\n\r\nexport const FILTER_GROUP_MEMBERS = 'FILTER_GROUP_MEMBERS';\r\n\r\nexport const KICK_GROUP_MEMBER_REQUEST = 'KICK_GROUP_MEMBER_REQUEST';\r\nexport const KICK_GROUP_MEMBER_SUCCESS = 'KICK_GROUP_MEMBER_SUCCESS';\r\nexport const KICK_GROUP_MEMBER_FAILURE = 'KICK_GROUP_MEMBER_FAILURE';\r\n\r\nexport const SELECT_GROUP = 'SELECT_GROUP';\r\nexport const INVALIDATE_GROUP_MEMBERS = 'INVALIDATE_GROUP_MEMBERS';\r\n\r\n\r\nexport const FETCH_GROUP_COMPETITIONS_REQUEST = 'FETCH_GROUP_COMPETITIONS_REQUEST';\r\nexport const FETCH_GROUP_COMPETITIONS_SUCCESS = 'FETCH_GROUP_COMPETITIONS_SUCCESS';\r\nexport const FETCH_GROUP_COMPETITIONS_FAILURE = 'FETCH_GROUP_COMPETITIONS_FAILURE';\r\n","import * as types from './types'\r\nimport * as wsTypes from '../ws/types'\r\n\r\nconst defaultState = {\r\n profilesByPlayer : {},\r\n fantasyStatisticsByPlayer : {},\r\n statisticsByPlayer : {},\r\n statisticsByRound : {},\r\n\r\n events : {},\r\n values : {},\r\n fantasyEvents : {}\r\n};\r\n\r\n\r\n\r\nconst wsMessageReducer = (state, action) => {\r\n switch (action.message) {\r\n case 'FANTASYEVENT_INSERT': {\r\n const { items } = state.fantasyEvents[action.payload.player] || { items : [] }\r\n\r\n return {\r\n ...state,\r\n fantasyEvents : {\r\n ...state.fantasyEvents,\r\n [action.payload.player] : {\r\n items : [...items, action.payload.id]\r\n }\r\n }\r\n }\r\n }\r\n case 'FANTASYEVENT_DELETE': {\r\n\r\n if (!state.fantasyEvents[action.payload.player])\r\n return state;\r\n \r\n const { items } = state.fantasyEvents[action.payload.player] || { items : [] }\r\n var index = items.indexOf(action.payload.id)\r\n if (index < 0)\r\n return state;\r\n\r\n return {\r\n ...state,\r\n fantasyEvents : {\r\n ...state.fantasyEvents,\r\n [action.payload.player] : {\r\n items : items.filter(i => i != action.payload.id)\r\n }\r\n }\r\n }\r\n\r\n return state;\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n\r\n\r\nconst playerReducer = (state = defaultState, action) =>\r\n{\r\n switch (action.type) {\r\n \r\n case wsTypes.WS_MESSAGE_BULK:\r\n let nState = state;\r\n for(let i = 0; i < action.queue.length; i++) {\r\n nState = wsMessageReducer(nState, action.queue[i]);\r\n }\r\n return nState;\r\n\r\n case types.FETCH_PLAYER_EVENTS_SUCCESS:\r\n return { \r\n ...state,\r\n events : {\r\n ...state.events,\r\n [action.playerId] : { items : action.payload.result }\r\n }\r\n };\r\n\r\n case types.FETCH_PLAYER_FANTASY_EVENTS_REQUEST:\r\n return { \r\n ...state,\r\n fantasyEvents : {\r\n ...state.fantasyEvents,\r\n [action.playerId] : {\r\n ...state.fantasyEvents[action.playerId],\r\n isFetching : true\r\n }\r\n }\r\n }; \r\n\r\n\r\n case types.FETCH_PLAYER_FANTASY_EVENTS_SUCCESS:\r\n return { \r\n ...state,\r\n fantasyEvents : {\r\n ...state.fantasyEvents,\r\n [action.playerId] : {\r\n ...state.fantasyEvents[action.playerId],\r\n items : action.payload.result,\r\n isFetching : false\r\n }\r\n }\r\n }; \r\n\r\n case types.FETCH_PLAYER_FANTASY_EVENTS_FAILURE:\r\n return { \r\n ...state,\r\n fantasyEvents : {\r\n ...state.fantasyEvents,\r\n [action.playerId] : {\r\n ...state.fantasyEvents[action.playerId],\r\n isFetching : false\r\n\r\n }\r\n }\r\n }; \r\n\r\n\r\n case types.FETCH_PLAYER_VALUES_SUCCESS:\r\n return { \r\n ...state,\r\n values : {\r\n ...state.values,\r\n [action.playerId] : {\r\n ...state.values[action.playerId],\r\n [action.gameId] : {\r\n items : action.payload.result\r\n }\r\n }\r\n }\r\n }; \r\n \r\n case types.FETCH_PLAYER_PROFILE_SUCCESS:\r\n return { \r\n ...state,\r\n profilesByPlayer : {\r\n ...state.profilesByPlayer,\r\n [action.playerId] : {\r\n ...state.profilesByPlayer[action.playerId],\r\n [action.gameId] : action.payload.result\r\n }\r\n }\r\n };\r\n\r\n case types.FETCH_PLAYER_STATISTICS_SUCCESS:\r\n return { \r\n ...state,\r\n statisticsByPlayer : {\r\n ...state.statisticsByPlayer,\r\n [action.playerId] : action.payload.result\r\n }\r\n };\r\n case types.FETCH_STATISTICS_BY_ROUND_REQUEST:\r\n return { \r\n ...state,\r\n statisticsByRound : {\r\n ...state.statisticsByRound,\r\n [action.gameId] : {\r\n ...state.statisticsByRound[action.gameId],\r\n [action.round] : {\r\n ...(state.statisticsByRound[action.gameId] && state.statisticsByRound[action.gameId][action.round]),\r\n isFetching : true\r\n }\r\n }\r\n }\r\n }; \r\n case types.FETCH_STATISTICS_BY_ROUND_SUCCESS:\r\n return { \r\n ...state,\r\n statisticsByRound : {\r\n ...state.statisticsByRound,\r\n [action.gameId] : {\r\n ...state.statisticsByRound[action.gameId],\r\n [action.round] : {\r\n ...(state.statisticsByRound[action.gameId] && state.statisticsByRound[action.gameId][action.round]),\r\n items : action.payload.result,\r\n isFetching : false,\r\n didInvalidate : false\r\n }\r\n }\r\n }\r\n };\r\n case types.FETCH_STATISTICS_BY_ROUND_FAILURE:\r\n return { \r\n ...state,\r\n statisticsByRound : {\r\n ...state.statisticsByRound,\r\n [action.gameId] : {\r\n ...state.statisticsByRound[action.gameId],\r\n [action.round] : {\r\n ...(state.statisticsByRound[action.gameId] && state.statisticsByRound[action.gameId][action.round]),\r\n isFetching : false\r\n }\r\n }\r\n }\r\n }; \r\n case types.FETCH_PLAYER_GAME_STATISTICS_SUCCESS:\r\n return { \r\n ...state,\r\n fantasyStatisticsByPlayer : {\r\n ...state.fantasyStatisticsByPlayer,\r\n [action.playerId] : {\r\n ...state.fantasyStatisticsByPlayer[action.playerId],\r\n [action.gameId] : action.payload.result\r\n }\r\n }\r\n };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default playerReducer;\r\n","import * as types from './types'\r\n\r\nconst defaultState = {\r\n byGame : {}\r\n};\r\n\r\nconst watchlistReducer = (state = defaultState, action) =>\r\n{\r\n switch (action.type) {\r\n case types.FETCH_WATCHLIST_REQUEST:\r\n return { \r\n ...state,\r\n byGame : {\r\n ...state.byGame,\r\n [action.gameId] : {\r\n ...state.byGame[action.gameId],\r\n isFetching : true\r\n }\r\n }\r\n };\r\n case types.FETCH_WATCHLIST_SUCCESS:\r\n \r\n \r\n return { \r\n ...state,\r\n byGame : {\r\n ...state.byGame,\r\n [action.gameId] : {\r\n ...state.byGame[action.gameId],\r\n didInvalidate : false,\r\n isFetching : false,\r\n items : action.payload.result\r\n }\r\n }\r\n };\r\n case types.ADD_TO_WATCHLIST_SUCCESS:\r\n \r\n return { \r\n ...state,\r\n byGame : {\r\n ...state.byGame,\r\n [action.gameId] : {\r\n ...state.byGame[action.gameId], \r\n items : [...state.byGame[action.gameId].items, action.payload.result]\r\n }\r\n }\r\n };\r\n case types.REMOVE_FROM_WATCHLIST_SUCCESS:\r\n const items = (state.byGame[action.gameId] || { items : [] }).items;\r\n const existingItem = items.find(i => i.player === action.playerId);\r\n const existingIndex = items.indexOf(existingItem);\r\n \r\n return { \r\n ...state,\r\n byGame : {\r\n ...state.byGame,\r\n [action.gameId] : {\r\n ...state.byGame[action.gameId],\r\n items : [\r\n ...items.slice(0, existingIndex),\r\n ...items.slice(existingIndex + 1)\r\n ]\r\n }\r\n }\r\n };\r\n \r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default watchlistReducer;\r\n","import * as types from './types'\r\n\r\n\r\nconst defaultState = {\r\n statistics : {\r\n round : 1,\r\n positions: []\r\n \r\n },\r\n schedule : {\r\n round: null\r\n },\r\n\r\n flyouts: [],\r\n\r\n selectedPlayer : null,\r\n createGroup : {\r\n errors : []\r\n },\r\n connection : {\r\n isFlaky : false,\r\n isLost : false\r\n },\r\n data : {\r\n },\r\n title : '',\r\n modal : null\r\n\r\n}\r\n\r\nexport default function ui (state = defaultState, action) \r\n{\r\n switch (action.type) {\r\n case types.SELECT_TOURNAMENT:\r\n return { \r\n ...state,\r\n selectedTournament : action.tournament\r\n };\r\n case types.UI_SET_DATA:\r\n return { \r\n ...state,\r\n data : {\r\n [action.name] : {\r\n ...state.data[action.name],\r\n ...action.data\r\n }\r\n }\r\n };\r\n case types.UI_REPLACE_DATA:\r\n return { \r\n ...state,\r\n data : {\r\n [action.name] : action.data\r\n }\r\n }; \r\n case types.UI_CLEAR_DATA:\r\n return { \r\n ...state,\r\n data : {\r\n [action.name] : {}\r\n }\r\n }; \r\n case types.UI_STATISTICS_FILTER:\r\n return { \r\n ...state,\r\n statistics : {\r\n ...state.statistics,\r\n ...action.options\r\n }\r\n };\r\n case types.UI_SCHEDULE_FILTER:\r\n return { \r\n ...state,\r\n schedule : {\r\n ...state.schedule,\r\n ...action.options\r\n }\r\n };\r\n case types.UI_SELECT_PLAYER:\r\n return { \r\n ...state,\r\n flyout : {\r\n open : true,\r\n props : { playerId : action.playerId, gameId : action.gameId },\r\n theme : action.theme,\r\n size : 'large',\r\n view : 'player-profile'\r\n }\r\n };\r\n case types.UI_SELECT_MATCH:\r\n return { \r\n ...state,\r\n matchId : action.matchId\r\n };\r\n case types.UI_PUSH_FLYOUT:\r\n return { \r\n ...state,\r\n flyouts : [...state.flyouts, { view : action.view, props : action.props }] \r\n };\r\n case types.UI_POP_FLYOUT:\r\n return { \r\n ...state,\r\n flyouts : state.flyouts.slice(0, -1)\r\n };\r\n case types.UI_CLEAR_FLYOUTS:\r\n return { \r\n ...state,\r\n flyouts : []\r\n };\r\n\r\n case types.UI_SHOW_GROUP_SETTINGS:\r\n return { \r\n ...state,\r\n flyouts : state.flyouts.push({ \r\n component : 'group', \r\n props: {\r\n view : action.view\r\n },\r\n theme : action.theme,\r\n size : 'large'\r\n })\r\n };\r\n\r\n case types.UI_SET_TITLE:\r\n\r\n return { \r\n ...state,\r\n title : action.title\r\n };\r\n\r\n case types.SHOW_MODAL:\r\n return { ...state, modal : { name : action.name, props : action.props, callback : action.callback } };\r\n case types.HIDE_MODAL:\r\n return { ...state, modal : null };\r\n default:\r\n return state\r\n }\r\n }","import * as types from './types'\r\nimport * as gameTypes from '../game/types'\r\n\r\nconst defaultState = {\r\n competitions : {\r\n items : null,\r\n isFetching : false,\r\n didInvalidate : false\r\n },\r\n search : {},\r\n standings : {},\r\n qualifications : {},\r\n enrollmentOptions : {},\r\n byCompetition : {},\r\n invitees : {\r\n type : 'friends',\r\n didFetch : false,\r\n isFetching : false,\r\n items : null\r\n },\r\n previous : {},\r\n \r\n competition : {\r\n item : null,\r\n isFetching : false,\r\n didInvalidate : false\r\n },\r\n enrollments : {\r\n isFetching : false, \r\n didInvalidate : false, \r\n items : null,\r\n competitionId : 0,\r\n page: 1,\r\n pageSize: 25\r\n },\r\n competitionHistory : {\r\n isFetching : false,\r\n didFetch : false\r\n }\r\n};\r\n\r\nconst defaultByCompetitionState = {\r\n enrollments : {},\r\n myEnrollments : {},\r\n enrollmentOptions : {}\r\n}\r\n\r\nconst defaultSearchState = {\r\n count : 0,\r\n items : null,\r\n links : {}\r\n}\r\n\r\nconst searchReducer = (state = defaultSearchState, action) => {\r\n switch (action.type) {\r\n case types.FIND_COMPETITIONS_REQUEST:\r\n return { ...state, isFetching : true };\r\n case types.FIND_COMPETITIONS_SUCCESS:\r\n return { \r\n ...state,\r\n count : action.count,\r\n links : action.links,\r\n isFetching : false,\r\n items : action.payload.result\r\n };\r\n case types.FIND_COMPETITIONS_FAIL:\r\n return { ...state, isFetching : false };\r\n case types.FIND_MORE_COMPETITIONS_REQUEST:\r\n return { ...state, isFetching : true };\r\n case types.FIND_MORE_COMPETITIONS_SUCCESS:\r\n return { \r\n ...state,\r\n count : action.count,\r\n links : action.links,\r\n isFetching : false,\r\n items : [...state.items, ...action.payload.result]\r\n };\r\n case types.FIND_MORE_COMPETITIONS_FAIL:\r\n return { ...state, isFetching : false };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n\r\nconst byCompetitionReducer = (state = defaultByCompetitionState, action) => {\r\n switch (action.type) {\r\n\r\n /* Enrollments */\r\n\r\n case types.FETCH_ENROLLMENTS_REQUEST:\r\n return { ...state, enrollments : { ...state.enrollments, isFetching : true }}; \r\n case types.FETCH_ENROLLMENTS_SUCCESS:\r\n return {\r\n ...state,\r\n enrollments : {\r\n ...state.enrollments,\r\n isFetching : false,\r\n item : action.payload.result,\r\n didInvalidate: false\r\n }\r\n }; \r\n case types.FETCH_ENROLLMENTS_FAIL:\r\n return { ...state, enrollments : { ...state.enrollments, isFetching : false } }; \r\n case types.FETCH_MORE_ENROLLMENTS_REQUEST:\r\n return { ...state, enrollments : { ...state.enrollments, isFetching : true }}; \r\n case types.FETCH_MORE_ENROLLMENTS_SUCCESS:\r\n return {\r\n ...state,\r\n enrollments : {\r\n ...state.enrollments,\r\n isFetching : false,\r\n item : {\r\n ...state.enrollments.item,\r\n items : [...state.enrollments.item.items, ...action.payload.result.items],\r\n }\r\n }\r\n }; \r\n case types.FETCH_MORE_ENROLLMENTS_FAIL:\r\n return { ...state, enrollments : { ...state.enrollments, isFetching : false } }; \r\n\r\n\r\n\r\n \r\n\r\n /* My Enrollments */\r\n\r\n case types.FETCH_MY_ENROLLMENTS_REQUEST:\r\n return { ...state, myEnrollments : { ...state.myEnrollments, isFetching : true } };\r\n case types.FETCH_MY_ENROLLMENTS_SUCCESS:\r\n return {\r\n ...state,\r\n myEnrollments : {\r\n ...state.myEnrollments,\r\n isFetching : false,\r\n items : action.payload.result,\r\n didFetch : true\r\n }\r\n };\r\n case types.FETCH_MY_ENROLLMENTS_FAIL:\r\n return { ...state, myEnrollments : { ...state.myEnrollments, isFetching : false } };\r\n \r\n\r\n // EnrollmentOptions\r\n case types.INVALIDATE_ENROLLMENT_OPTIONS:\r\n return { ...state, enrollmentOptions : { ...state.enrollmentOptions, didInvalidate : true } };\r\n case types.FETCH_ENROLLMENT_OPTIONS_REQUEST:\r\n return { ...state, enrollmentOptions : { ...state.enrollmentOptions, isFetching : true } };\r\n case types.FETCH_ENROLLMENT_OPTIONS_SUCCESS:\r\n return { \r\n ...state,\r\n enrollmentOptions : {\r\n ...state.enrollmentOptions,\r\n didFetch : true,\r\n isFetching : false,\r\n didInvalidate : false,\r\n item : action.payload.result\r\n }\r\n };\r\n case types.FETCH_ENROLLMENT_OPTIONS_FAIL:\r\n return { ...state, enrollmentOptions : { ...state.enrollmentOptions, isFetching : false } };\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n\r\nconst competitionReducer = (state = defaultState, action) =>\r\n{\r\n switch (action.type) {\r\n \r\n// case types.INVITE_SUCCESS: \r\n case types.FETCH_ENROLLMENTS_REQUEST:\r\n case types.FETCH_ENROLLMENTS_SUCCESS:\r\n case types.FETCH_ENROLLMENTS_FAIL:\r\n case types.FETCH_MORE_ENROLLMENTS_REQUEST:\r\n case types.FETCH_MORE_ENROLLMENTS_SUCCESS:\r\n case types.FETCH_MORE_ENROLLMENTS_FAIL: \r\n case types.FETCH_MY_ENROLLMENTS_REQUEST:\r\n case types.FETCH_MY_ENROLLMENTS_SUCCESS:\r\n case types.FETCH_MY_ENROLLMENTS_FAIL:\r\n case types.FETCH_ENROLLMENT_OPTIONS_REQUEST:\r\n case types.FETCH_ENROLLMENT_OPTIONS_SUCCESS:\r\n case types.FETCH_ENROLLMENT_OPTIONS_FAIL:\r\n case types.INVALIDATE_ENROLLMENT_OPTIONS:\r\n case types.RESIGN_SUCCESS:\r\n return {\r\n\r\n ...state,\r\n byCompetition : {\r\n ...state.byCompetition,\r\n [action.competitionId] : byCompetitionReducer(state.byCompetition[action.competitionId], action)\r\n }\r\n }\r\n\r\n case types.FIND_COMPETITIONS_REQUEST:\r\n case types.FIND_COMPETITIONS_SUCCESS:\r\n case types.FIND_COMPETITIONS_FAIL:\r\n case types.FIND_MORE_COMPETITIONS_REQUEST:\r\n case types.FIND_MORE_COMPETITIONS_SUCCESS: \r\n case types.FIND_MORE_COMPETITIONS_FAIL: \r\n return {\r\n ...state,\r\n search : searchReducer(state.search, action)\r\n } \r\n\r\n case gameTypes.SELECT_GAME:\r\n return defaultState;\r\n\r\n case types.ENROLLMENT_CHANGE:\r\n return { \r\n ...state,\r\n enrollmentOptions : { ...state.enrollmentOptions, didInvalidate : true },\r\n competitions : { didInvalidate : true }\r\n };\r\n\r\n /* User Competitions */\r\n\r\n case types.INVALIDATE_USER_COMPETITIONS:\r\n return { ...state, competitions : { ...state.competitions, didFetch : false, didInvalidate : true } };\r\n case types.FETCH_USER_COMPETITIONS_REQUEST:\r\n return { ...state, competitions : { ...state.competitions, isFetching : true } };\r\n case types.FETCH_USER_COMPETITIONS_SUCCESS:\r\n return {\r\n ...state,\r\n competitions : {\r\n ...state.competitions,\r\n didFetch : true,\r\n isFetching : false,\r\n didInvalidate : false,\r\n items : action.payload.result\r\n }\r\n };\r\n case types.FETCH_USER_COMPETITIONS_FAIL:\r\n return { ...state, competitions : { ...state.competitions, isFetching : false } }; \r\n\r\n /* Leaderboards */\r\n\r\n case types.FETCH_USER_LEADERBOARDS_SUCCESS:\r\n const userState = state.leaderboardsByUser[action.user] || {}; \r\n const competitionState = userState[action.competition];\r\n \r\n return { \r\n ...state,\r\n leaderboardsByUser : {\r\n ...state.leaderboardsByUser,\r\n [action.user] : {\r\n ...userState,\r\n [action.competition] : {\r\n ...competitionState,\r\n [action.round] : action.payload.result\r\n }\r\n }\r\n }\r\n };\r\n\r\n /* Standings */\r\n\r\n case types.FETCH_STANDINGS_REQUEST:\r\n return { ...state, standings : { ...state.standings, isFetching : true } };\r\n case types.FETCH_STANDINGS_SUCCESS:\r\n return {\r\n ...state,\r\n standings : {\r\n isFetching : false,\r\n didInvalidate : false,\r\n items : action.payload.result\r\n }\r\n }; \r\n case types.FETCH_STANDINGS_FAIL:\r\n return { ...state, standings : { ...state.standings, isFetching : false } }; \r\n\r\n /* Qualifications */\r\n \r\n case types.FETCH_QUALIFICATIONS_REQUEST:\r\n return { ...state, qualifications : { ...state.qualifications, isFetching : true } };\r\n case types.FETCH_QUALIFICATIONS_SUCCESS:\r\n return { \r\n ...state,\r\n qualifications : {\r\n ...state.qualifications,\r\n isFetching : false,\r\n didInvalidate : false,\r\n items : action.payload.result\r\n }\r\n }; \r\n case types.FETCH_QUALIFICATIONS_FAIL:\r\n return { ...state, qualifications : { ...state.qualifications, isFetching : false }}; \r\n \r\n /* Fetch Competition */\r\n\r\n case types.FETCH_COMPETITION_REQUEST:\r\n return { ...state, competition : { ...state.competition, isFetching : true } }; \r\n case types.FETCH_COMPETITION_SUCCESS:\r\n return { \r\n ...state,\r\n competition : {\r\n ...state.competition,\r\n isFetching : false,\r\n item : action.payload.result,\r\n didInvalidate: false\r\n }\r\n };\r\n case types.FETCH_COMPETITION_FAIL:\r\n return { ...state, competition : { ...state.competition, isFetching : false } }; \r\n \r\n /* Invitees */\r\n\r\n case types.FETCH_MY_COMPETITION_HISTORY_REQUEST:\r\n return { ...state, competitionHistory : { ...state.competitionHistory, isFetching : true } }; \r\n case types.FETCH_MY_COMPETITION_HISTORY_SUCCESS:\r\n return { \r\n ...state,\r\n competitionHistory : {\r\n ...state.competitionHistory,\r\n isFetching : false,\r\n data : action.payload,\r\n didInvalidate: false\r\n }\r\n };\r\n case types.FETCH_MY_COMPETITION_HISTORY_FAIL:\r\n return { ...state, competitionHistory : { ...state.competitionHistory, isFetching : false } }; \r\n \r\n \r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default competitionReducer;\r\n","import * as types from './types'\r\nimport * as competitionTypes from '../competition/types'\r\n\r\nconst defaultState = {\r\n options : [],\r\n items : [],\r\n selectedOption : 'friends',\r\n didFetch : false,\r\n isFetching : false\r\n};\r\n\r\nconst recruitsReducer = (state = defaultState, action) =>\r\n{\r\n\r\n\r\n switch (action.type) {\r\n\r\n\r\n\r\n /* Recruits */\r\n case competitionTypes.INVITE_ALL_SUCCESS:\r\n return {\r\n ...state,\r\n items : state.items.map(item => {\r\n return { ...item, invited : true }\r\n })\r\n };\r\n case competitionTypes.INVITE_SUCCESS:\r\n return {\r\n ...state,\r\n items : state.items.map(item => {\r\n if (item.user.id === action.userId) {\r\n return { ...item, invited : true }\r\n } else {\r\n return item;\r\n }\r\n })\r\n };\r\n\r\n\r\n case types.SELECT_RECRUITMENT_OPTION:\r\n return { ...state, selectedOption : action.value }; \r\n case types.FETCH_RECRUITS_REQUEST:\r\n return { ...state, isFetching : true }; \r\n case types.FETCH_RECRUITS_SUCCESS:\r\n return {\r\n ...state, \r\n options : action.payload.options || state.options, \r\n items : action.payload.results.items,\r\n count : action.payload.results.count,\r\n links : action.payload.results.links,\r\n didFetch : true, \r\n isFetching : false \r\n }; \r\n case types.FETCH_RECRUITS_FAIL:\r\n return { ...state, isFetching : false }; \r\n case types.FETCH_MORE_RECRUITS_REQUEST:\r\n return { ...state, isFetching : true };\r\n case types.FETCH_MORE_RECRUITS_SUCCESS:\r\n return {\r\n ...state,\r\n isFetching : false,\r\n items : [\r\n ...state.items, \r\n ...action.payload.results.items\r\n ],\r\n links : action.payload.results.links\r\n };\r\n case types.FETCH_MORE_RECRUITS_FAIL:\r\n return { ...state, isFetching : false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default recruitsReducer;\r\n","import * as scheduleTypes from '../schedule/types'\r\nimport * as wsTypes from '../ws/types'\r\nimport * as types from './types'\r\n\r\nconst defaultState = { \r\n byId : {},\r\n fantasyEvents : {},\r\n events : {},\r\n eventNotifications : {},\r\n fantasyEventNotifications : {}\r\n};\r\n\r\nconst fantasyEventReducer = (state, action) => {\r\n let matchState = null;\r\n let existing = null;\r\n\r\n switch (action.message) {\r\n\r\n case 'FANTASYEVENT_INSERT':\r\n \r\n\r\n matchState = state[action.payload.match] || {};\r\n existing = matchState.items || [];\r\n if (existing.indexOf(action.payload.id) >= 0)\r\n return state;\r\n\r\n return { \r\n ...state,\r\n\r\n [action.payload.match] : {\r\n ...matchState,\r\n items : [\r\n ...existing, \r\n action.payload.id\r\n ]\r\n }\r\n };\r\n case 'FANTASYEVENT_DELETE':\r\n matchState = state[action.payload.match] || {};\r\n\r\n existing = matchState.items || [];\r\n if (!existing)\r\n return state;\r\n\r\n const index = existing.indexOf(action.payload.id);\r\n if (index < 0)\r\n return state;\r\n\r\n return { \r\n ...state,\r\n [action.payload.match] : {\r\n ...matchState,\r\n items : [...existing.slice(0, index), ...existing.slice(index + 1)]\r\n }\r\n };\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n\r\nconst wsMessageReducer = (state, action) => {\r\n let existing = null;\r\n let index = 0;\r\n \r\n\r\n switch (action.message) {\r\n case 'EVENT_INSERT': {\r\n const mState = state.events[action.payload.match]; \r\n const { items} = mState || { items : [] };\r\n\r\n return { \r\n ...state,\r\n events : {\r\n ...state.events,\r\n [action.payload.match] : {\r\n ...mState,\r\n items : [\r\n ...items, \r\n action.payload.id\r\n ]\r\n }\r\n }\r\n };\r\n }\r\n case 'EVENT_DELETE':\r\n \r\n const eventList = (state.events[action.payload.match] || { }).items || [];\r\n index = eventList.indexOf(action.payload.id);\r\n if (index < 0)\r\n return state;\r\n\r\n return { \r\n ...state,\r\n events : {\r\n ...state.events,\r\n [action.payload.match] : {\r\n ...state.events[action.payload.match],\r\n items : [...eventList.slice(0, index), ...eventList.slice(index + 1)]\r\n } \r\n }\r\n };\r\n \r\n \r\n \r\n case 'FANTASYEVENT_INSERT':\r\n case 'FANTASYEVENT_DELETE':\r\n return {\r\n ...state,\r\n fantasyEvents : fantasyEventReducer(state.fantasyEvents, action)\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n\r\n\r\nexport default function match (state = defaultState, action) \r\n{\r\n switch (action.type) {\r\n case types.INVALIDATE_MATCH_FANTASY_EVENTS:\r\n return { \r\n ...state,\r\n fantasyEvents : {\r\n ...state.fantasyEvents,\r\n [action.match] : {\r\n didInvalidate : true\r\n }\r\n }\r\n }; \r\n case types.FETCH_MATCH_FANTASY_EVENTS_REQUEST:\r\n return { \r\n ...state,\r\n fantasyEvents : {\r\n ...state.fantasyEvents,\r\n [action.match] : {\r\n ...state.fantasyEvents[action.match],\r\n didInvalidate : false,\r\n isFetching : true\r\n }\r\n }\r\n };\r\n case types.FETCH_MATCH_FANTASY_EVENTS_SUCCESS:\r\n return { \r\n ...state,\r\n fantasyEvents : {\r\n ...state.fantasyEvents,\r\n [action.match] : {\r\n ...state.fantasyEvents[action.match],\r\n isFetching : false,\r\n didInvalidate : false,\r\n items : action.payload.result\r\n }\r\n }\r\n };\r\n case types.INVALIDATE_MATCH_EVENTS:\r\n return { \r\n ...state,\r\n events : {\r\n ...state.events,\r\n [action.match] : {\r\n didInvalidate : true\r\n }\r\n }\r\n }; \r\n case types.FETCH_MATCH_EVENTS_REQUEST:\r\n return { \r\n ...state,\r\n events : {\r\n ...state.events,\r\n [action.match] : {\r\n ...state.fantasyEvents[action.match],\r\n isFetching : true,\r\n isLoaded : false,\r\n didInvalidate : false,\r\n items : []\r\n }\r\n }\r\n }; \r\n case types.FETCH_MATCH_EVENTS_SUCCESS:\r\n \r\n return { \r\n ...state,\r\n events : {\r\n ...state.events,\r\n [action.match] : {\r\n ...state.events[action.match],\r\n isFetching: false,\r\n isLoaded : true,\r\n didInvalidate : false,\r\n items : action.payload.result\r\n }\r\n }\r\n };\r\n\r\n case types.FETCH_MATCH_REQUEST:\r\n return { \r\n ...state,\r\n byId : {\r\n ...state.byId,\r\n [action.id] : {\r\n isFetching : true,\r\n didInvalidate : false,\r\n item : null\r\n }\r\n }\r\n };\r\n case scheduleTypes.FETCH_SCHEDULE_SUCCESS:\r\n \r\n const byId = action.payload.result.reduce((agg, r) => {\r\n agg[r] = {\r\n ...state.byId[action.id],\r\n isFetching : false,\r\n didInvalidate : false,\r\n item : r\r\n }\r\n\r\n return agg;\r\n }, {});\r\n\r\n \r\n return { \r\n ...state,\r\n byId : {\r\n ...state.byId,\r\n ...byId\r\n }\r\n };\r\n case types.FETCH_MATCH_SUCCESS:\r\n return { \r\n ...state,\r\n byId : {\r\n ...state.byId,\r\n [action.id] : {\r\n ...state.byId[action.id],\r\n isFetching : false,\r\n didInvalidate : false,\r\n items : action.payload.result\r\n }\r\n }\r\n };\r\n case types.FETCH_MATCH_FAILURE:\r\n return { \r\n ...state,\r\n byId : {\r\n ...state.byId,\r\n [action.id] : {\r\n ...state.byId[action.id],\r\n isFetching : false,\r\n didInvalidate : false,\r\n item : null\r\n }\r\n }\r\n };\r\n\r\n case types.DISPLAY_MATCH_FANTASY_EVENT_NOTIFICATION: {\r\n const list = state.fantasyEventNotifications[action.match] || [];\r\n\r\n return { \r\n ...state,\r\n fantasyEventNotifications : {\r\n ...state.fantasyEventNotifications,\r\n [action.match] : [\r\n action.id,\r\n ...list\r\n \r\n ]\r\n }\r\n };\r\n }\r\n case types.HIDE_MATCH_FANTASY_EVENT_NOTIFICATION: {\r\n\r\n const list = state.fantasyEventNotifications[action.match] || [];\r\n const index = list.indexOf(action.id);\r\n if (index < 0)\r\n return state;\r\n\r\n return { \r\n ...state,\r\n fantasyEventNotifications : {\r\n ...state.fantasyEventNotifications,\r\n [action.match] : [\r\n ...list.slice(0, index),\r\n ...list.slice(index + 1)\r\n ]\r\n }\r\n };\r\n }\r\n\r\n case wsTypes.WS_MESSAGE:\r\n return wsMessageReducer(state, action);\r\n case wsTypes.WS_MESSAGE_BULK:\r\n let nState = state;\r\n for(let i = 0; i < action.queue.length; i++) {\r\n nState = wsMessageReducer(nState, action.queue[i]);\r\n }\r\n return nState;\r\n default:\r\n return state\r\n }\r\n}\r\n","import * as types from './types'\r\n\r\nconst defaultState = {\r\n byName : {},\r\n byId : {},\r\n list : {\r\n isFetching : false,\r\n items : []\r\n },\r\n compiled : {},\r\n precompiled : {}\r\n};\r\n\r\nexport default function view (state = defaultState, action) \r\n{\r\n switch (action.type) {\r\n\r\n case types.FETCH_COMPILED_VIEW_BY_NAME_REQUEST:\r\n return { \r\n ...state,\r\n compiled : {\r\n ...state.compiled,\r\n [action.name] : {\r\n isFetching : true,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n case types.FETCH_COMPILED_VIEW_BY_NAME_SUCCESS:\r\n return { \r\n ...state,\r\n compiled : {\r\n ...state.compiled,\r\n ... Object.keys(action.payload).reduce((agg, name) => {\r\n agg[name] = {\r\n isFetching : false,\r\n didInvalidate : false,\r\n item : action.payload[name]\r\n }\r\n \r\n return agg;\r\n \r\n }, {})\r\n }\r\n };\r\n case types.FETCH_COMPILED_VIEW_BY_NAME_FAILURE:\r\n return { \r\n ...state,\r\n compiled : {\r\n ...state.compiled,\r\n [action.name] : {\r\n isFetching : false,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n\r\n\r\n case types.FETCH_VIEW_BY_NAME_REQUEST:\r\n return { \r\n ...state,\r\n byName : {\r\n ...state.byName,\r\n [action.name] : {\r\n isFetching : true,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n case types.FETCH_VIEW_BY_NAME_SUCCESS:\r\n return { \r\n ...state,\r\n byName : {\r\n ...state.byName,\r\n [action.name] : {\r\n isFetching : false,\r\n didInvalidate : false,\r\n item : action.payload.result\r\n }\r\n }\r\n };\r\n case types.FETCH_VIEW_BY_NAME_FAILURE:\r\n return { \r\n ...state,\r\n byName : {\r\n ...state.byName,\r\n [action.name] : {\r\n isFetching : false,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n\r\n case types.UPDATE_VIEW_SUCCESS:\r\n return { \r\n ...state,\r\n byId : {\r\n ...state.byId,\r\n [action.id] : {\r\n didInvalidate : true\r\n }\r\n }\r\n };\r\n case types.FETCH_VIEW_REQUEST:\r\n return { \r\n ...state,\r\n byId : {\r\n ...state.byId,\r\n [action.id] : {\r\n isFetching : true,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n case types.FETCH_VIEW_SUCCESS:\r\n return { \r\n ...state,\r\n byId : {\r\n ...state.byId,\r\n [action.id] : {\r\n isFetching : false,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n case types.FETCH_VIEW_FAILURE:\r\n return { \r\n ...state,\r\n byId : {\r\n ...state.byId,\r\n [action.id] : {\r\n isFetching : false,\r\n didInvalidate : false\r\n }\r\n }\r\n }; \r\n case types.FETCH_VIEWS_REQUEST:\r\n return { \r\n ...state,\r\n list : {\r\n ...state.list,\r\n isFetching : true,\r\n count : 0,\r\n items : []\r\n }\r\n };\r\n case types.FETCH_VIEWS_SUCCESS:\r\n return { \r\n ...state,\r\n list : {\r\n ...state.list,\r\n isFetching : false,\r\n count : action.count,\r\n items : action.payload\r\n }\r\n };\r\n case types.FETCH_VIEWS_FAILURE:\r\n return { \r\n ...state,\r\n list : {\r\n ...state.list,\r\n isFetching : false,\r\n count : 0,\r\n items : []\r\n }\r\n }; \r\n case types.FETCH_PRECOMPILED_VIEWS_REQUEST:\r\n return { \r\n ...state,\r\n precompiled : {\r\n ...state.precompiled,\r\n [action.group] : {\r\n ...state.precompiled[action.group],\r\n isFetching : true\r\n }\r\n \r\n }\r\n }; \r\n case types.FETCH_PRECOMPILED_VIEWS_SUCCESS:\r\n\r\n return { \r\n ...state,\r\n precompiled : {\r\n ...state.precompiled,\r\n [action.group] : {\r\n ...state.precompiled[action.group],\r\n items : action.payload.result,\r\n isFetching : false,\r\n didInvalidate : false\r\n }\r\n \r\n },\r\n byName : {\r\n ...state.byName,\r\n \r\n ...Object.keys(action.payload.entities.views || {}).reduce((acc, key) => {\r\n const view = action.payload.entities.views[key]\r\n\r\n acc[view.name] = {\r\n ...state.byName[view.name],\r\n item : view.id,\r\n isFetching : false,\r\n didInvalidate: false\r\n };\r\n return acc;\r\n\r\n }, {})\r\n }\r\n }; \r\n case types.FETCH_PRECOMPILED_VIEWS_FAILURE:\r\n return { \r\n ...state,\r\n precompiled : {\r\n ...state.precompiled,\r\n [action.group] : {\r\n ...state.precompiled[action.group],\r\n isFetching : false\r\n }\r\n }\r\n }; \r\n default:\r\n return state\r\n }\r\n}\r\n\r\n","import * as types from './types'\r\n\r\nconst defaultState = {\r\n byId : {}\r\n};\r\n\r\nexport default function rulesets (state = defaultState, action) \r\n{\r\n switch (action.type) {\r\n case types.FETCH_RULESET_REQUEST:\r\n\r\n return { \r\n ...state,\r\n byId : {\r\n ...state.byId,\r\n [action.id] : {\r\n isFetching : true,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n case types.FETCH_RULESET_SUCCESS:\r\n return { \r\n ...state,\r\n byId : {\r\n ...state.byId,\r\n [action.id] : {\r\n isFetching : false,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n case types.FETCH_RULESET_FAILURE:\r\n return { \r\n ...state,\r\n byId : {\r\n ...state.byId,\r\n [action.id] : {\r\n isFetching : false,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\n","import { createSelector } from 'reselect'\r\nimport { denormalize } from 'normalizr'\r\n\r\nimport { tournamentSchema } from '../../schemas'\r\n\r\nimport * as types from './types'\r\n\r\nconst defaultState = {\r\n byId : {},\r\n standingsById : {}\r\n};\r\n\r\nexport default function tournaments (state = defaultState, action) \r\n{\r\n switch (action.type) {\r\n case types.FETCH_TOURNAMENT_REQUEST:\r\n return { \r\n ...state,\r\n byId : {\r\n ...state.byId,\r\n [action.id] : {\r\n isFetching : true,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n case types.FETCH_TOURNAMENT_SUCCESS:\r\n return { \r\n ...state,\r\n byId : {\r\n ...state.byId,\r\n [action.id] : {\r\n isFetching : false,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n case types.FETCH_TOURNAMENT_FAILURE:\r\n return { \r\n ...state,\r\n byId : {\r\n ...state.byId,\r\n [action.id] : {\r\n isFetching : false,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n case types.FETCH_TOURNAMENT_STANDINGS_REQUEST:\r\n return { \r\n ...state,\r\n standingsById : {\r\n ...state.standingsById,\r\n [action.id] : {\r\n isFetching : true,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n case types.FETCH_TOURNAMENT_STANDINGS_SUCCESS:\r\n\r\n return { \r\n ...state,\r\n standingsById : {\r\n ...state.standingsById,\r\n [action.id] : {\r\n isFetching : false,\r\n didInvalidate : false,\r\n items : action.payload.result\r\n }\r\n }\r\n };\r\n case types.FETCH_TOURNAMENT_STANDINGS_FAILURE:\r\n return { \r\n ...state,\r\n standingsById : {\r\n ...state.standingsById,\r\n [action.id] : {\r\n isFetching : false,\r\n didInvalidate : false\r\n }\r\n }\r\n }; \r\n default:\r\n return state\r\n }\r\n}\r\n\r\n\r\n","import { createSelector } from 'reselect'\r\n\r\nimport * as types from './types'\r\n\r\nconst defaultState = { \r\n byTournament : {},\r\n};\r\n\r\n\r\nexport default function schedule (state = defaultState, action) \r\n{\r\n switch (action.type) {\r\n case types.FETCH_SCHEDULE_REQUEST:\r\n return { \r\n ...state,\r\n byTournament : {\r\n ...state.byTournament,\r\n [action.tournament] : {\r\n ...state.byTournament[action.tournament],\r\n isFetching : true,\r\n isLoaded : false\r\n }\r\n }\r\n };\r\n case types.FETCH_SCHEDULE_SUCCESS:\r\n return { \r\n ...state,\r\n byTournament : {\r\n ...state.byTournament,\r\n [action.tournament] : {\r\n ...state.byTournament[action.tournament],\r\n isFetching : false,\r\n isLoaded : true,\r\n items : action.payload.result\r\n }\r\n }\r\n };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\n/* Selectors */","\r\nimport { normalize } from 'normalizr';\r\n\r\nimport * as viewTypes from '../view/types'\r\nimport * as jobTypes from '../job/types'\r\nimport * as playerTypes from '../player/types'\r\nimport * as matchTypes from '../match/types'\r\nimport * as rulesetTypes from '../ruleset/types'\r\nimport * as scheduleTypes from '../schedule/types'\r\nimport * as tournamentTypes from '../tournament/types'\r\nimport * as groupTypes from '../group/types'\r\nimport * as gameTypes from '../game/types'\r\nimport * as highscoreTypes from '../highscore/types'\r\nimport * as notificationTypes from '../notification/types'\r\nimport * as wsTypes from '../ws/types'\r\n\r\nimport { playerValueSchema, matchSchema, eventSchema, fantasyEventSchema} from '../../schemas';\r\n\r\n\r\nconst mergeEntities = (state, normalized) => {\r\n \r\n let mergedState = {};\r\n const entities = normalized.entities;\r\n\r\n \r\n\r\n if (Object.keys(normalized.entities).length == 0)\r\n return state;\r\n \r\n\r\n for(let type in entities) {\r\n \r\n let typeEntities = {};\r\n\r\n for(let id in entities[type]) {\r\n \r\n \r\n\r\n const entity = entities[type][id];\r\n\r\n\r\n if (entity.hasOwnProperty('id') && Object.keys(entity).length == 1) {\r\n // only has id property\r\n continue;\r\n }\r\n\r\n\r\n \r\n\r\n\r\n const stateEntity = (state[type] || {})[id] || {};\r\n\r\n const mergedEntity = {\r\n ...stateEntity,\r\n ...entity\r\n }\r\n \r\n typeEntities[id] = mergedEntity\r\n }\r\n \r\n mergedState[type] = {\r\n ...state[type],\r\n ...typeEntities\r\n }\r\n }\r\n\r\n \r\n\r\n const newState = {\r\n ...state,\r\n ...mergedState\r\n }\r\n\r\n return newState;\r\n}\r\n\r\n\r\nconst mergeEntityChanges = (state, id, changes) => {\r\n return {\r\n ...state,\r\n [id] : {\r\n ...state[id],\r\n ...changes\r\n }\r\n }\r\n}\r\n\r\n\r\nconst defaultState = {\r\n games : {},\r\n events: {},\r\n highscores : {},\r\n rulesets : {},\r\n players : {},\r\n persons : {},\r\n matches: {},\r\n teams : {},\r\n positions: {},\r\n formations: {},\r\n tournaments: {},\r\n playerValues : {},\r\n groups : {},\r\n users : {},\r\n groupMemberships : {},\r\n competitions : {},\r\n locations : {},\r\n matchGroups : {},\r\n views : {},\r\n jobs : {},\r\n jobHistories : {},\r\n jobSchedules : {},\r\n jobTypes : {},\r\n invitations : {},\r\n fantasyEvents : {}\r\n\r\n\r\n}\r\n\r\n\r\n\r\nconst wsMessageReducer = (state, action) => {\r\n\r\n\r\n const deflateEvent = (e) => {\r\n return {\r\n id : e.id,\r\n match : { id : e.match },\r\n type : { id : e.type },\r\n player : { id : e.player },\r\n period : e.period,\r\n amount : e.amount,\r\n group : e.group,\r\n time : e.time\r\n };\r\n }\r\n\r\n const deflateFantasyEvent = (e) => {\r\n return {\r\n id : e.id,\r\n match : { id : e.match },\r\n type : { id : e.type },\r\n player : { id : e.player },\r\n period : e.period,\r\n amount : e.amount,\r\n group : e.group,\r\n minute : e.minute\r\n };\r\n }\r\n\r\n switch(action.message) {\r\n case 'MATCH_UPDATE':\r\n return mergeEntities(state, normalize(action.payload, matchSchema));\r\n case 'EVENT_INSERT':\r\n case 'EVENT_UPDATE':\r\n return mergeEntities(state, normalize(deflateEvent(action.payload), eventSchema));\r\n case 'FANTASYEVENT_INSERT':\r\n case 'FANTASYEVENT_UPDATE':\r\n return mergeEntities(state, normalize(deflateFantasyEvent(action.payload), fantasyEventSchema));\r\n case 'FP_I':\r\n case 'FP_U':\r\n return mergeEntities(state, normalize(action.payload, playerValueSchema));\r\n case 'FP_U_I':\r\n return {\r\n ...state,\r\n playerValues : mergeEntityChanges(state.playerValues, action.payload.id, action.payload.changes)\r\n }\r\n \r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n\r\nexport default function entities (state = defaultState, action) \r\n{\r\n switch(action.type) \r\n {\r\n case viewTypes.UPDATE_VIEW_SUCCESS:\r\n\r\n return {\r\n ...state,\r\n views : {\r\n ...state.views,\r\n [action.payload.id] : {\r\n ...state.views[action.payload.id],\r\n content : action.payload.content\r\n }\r\n }\r\n }\r\n\r\n \r\n case playerTypes.FETCH_STATISTICS_BY_ROUND_SUCCESS:\r\n case groupTypes.FETCH_GROUP_CATEGORIES_SUCCESS:\r\n case groupTypes.FETCH_USER_GROUP_MEMBERSHIPS_SUCCESS:\r\n case groupTypes.FETCH_GROUP_MEMBERS_SUCCESS:\r\n case groupTypes.FETCH_GROUP_COMPETITIONS_SUCCESS:\r\n case matchTypes.FETCH_MATCH_SUCCESS:\r\n case matchTypes.FETCH_MATCH_EVENTS_SUCCESS:\r\n case matchTypes.FETCH_MATCH_FANTASY_EVENTS_SUCCESS:\r\n case scheduleTypes.FETCH_SCHEDULE_SUCCESS:\r\n case playerTypes.FETCH_PLAYER_PROFILE_SUCCESS:\r\n case playerTypes.FETCH_PLAYER_EVENTS_SUCCESS:\r\n case playerTypes.FETCH_PLAYER_FANTASY_EVENTS_SUCCESS:\r\n case playerTypes.FETCH_PLAYER_VALUES_SUCCESS:\r\n case viewTypes.FETCH_VIEW_BY_NAME_SUCCESS:\r\n case jobTypes.FETCH_JOBS_SUCCESS:\r\n case jobTypes.FETCH_JOB_HISTORY_SUCCESS:\r\n case jobTypes.FETCH_JOB_SCHEDULE_SUCCESS:\r\n case jobTypes.FETCH_JOB_SUCCESS:\r\n case viewTypes.FETCH_VIEW_SUCCESS:\r\n \r\n return mergeEntities(state, action.payload);\r\n \r\n case groupTypes.UPDATE_GROUP_MEMBERSHIP_SUCCESS:\r\n const membership = state.groupMemberships[action.id];\r\n if (membership) {\r\n const nMembership = {\r\n ...membership,\r\n ...action.membership\r\n };\r\n\r\n return {\r\n ...state,\r\n groupMemberships : {\r\n ...state.groupMemberships,\r\n [action.id] : nMembership\r\n }\r\n }\r\n }\r\n else {\r\n return state;\r\n }\r\n case rulesetTypes.FETCH_RULESET_SUCCESS:\r\n case gameTypes.FETCH_CATALOG_SUCCESS:\r\n case gameTypes.FETCH_GAME_SUCCESS:\r\n case tournamentTypes.FETCH_TOURNAMENT_SUCCESS:\r\n case highscoreTypes.RECEIVE_HIGHSCORE:\r\n\r\n return mergeEntities(state, action.payload);\r\n case wsTypes.WS_MESSAGE:\r\n return wsMessageReducer(state, action);\r\n case wsTypes.WS_MESSAGE_BULK:\r\n \r\n let nState = state;\r\n for(let i = 0; i < action.queue.length; i++) {\r\n nState = wsMessageReducer(nState, action.queue[i]);\r\n }\r\n return nState;\r\n case notificationTypes.MARK_NOTIFICATIONS_READ_SUCCESS:\r\n return {\r\n ...state,\r\n notifications: Object.values(state.notifications).reduce((agg, n) => { \r\n agg[n.id] = { ...n, read : true };\r\n return agg;\r\n }, {})\r\n }\r\n default:\r\n\r\n if (action.payload && action.payload.entities) {\r\n \r\n return mergeEntities(state, action.payload);\r\n }\r\n else \r\n return state;\r\n }\r\n}","import * as types from './types'\r\n\r\nconst defaultState = {\r\n byUrl : {}\r\n};\r\n\r\nexport default function json (state = defaultState, action) \r\n{\r\n switch (action.type) {\r\n\r\n case types.FETCH_JSON_REQUEST:\r\n return { \r\n ...state,\r\n byUrl : {\r\n ...state.byUrl,\r\n [action.url] : {\r\n ...state.byUrl[action.url],\r\n isFetching : true,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n case types.FETCH_JSON_SUCCESS:\r\n return { \r\n ...state,\r\n byUrl : {\r\n ...state.byUrl,\r\n [action.url] : {\r\n ...state.byUrl[action.url],\r\n isFetching : false,\r\n didInvalidate : false,\r\n item : action.payload\r\n }\r\n }\r\n };\r\n case types.FETCH_JSON_FAILURE:\r\n return { \r\n ...state,\r\n byUrl : {\r\n ...state.byUrl,\r\n [action.url] : {\r\n ...state.byUrl[action.url],\r\n didInvalidate : false,\r\n isFetching : false\r\n }\r\n }\r\n }; \r\n default:\r\n return state\r\n }\r\n}\r\n\r\n","import * as types from './types'\r\n\r\nconst defaultState = {\r\n byGame : {\r\n },\r\n lineups : {\r\n\r\n }\r\n};\r\n\r\n\r\n\r\nconst fantasyTeamReducer = (state = defaultState, action) =>\r\n{\r\n switch (action.type) {\r\n case types.FETCH_GAME_FANTASYTEAMS_REQUEST:\r\n return { \r\n ...state,\r\n byGame : {\r\n [action.gameId] : {\r\n ...state.byGame[action.gameId],\r\n isFetching : true,\r\n didInvalidate : false,\r\n items : null\r\n }\r\n }\r\n };\r\n case types.FETCH_GAME_FANTASYTEAMS_SUCCESS:\r\n return { \r\n ...state,\r\n byGame : {\r\n [action.gameId] : {\r\n ...state.byGame[action.gameId],\r\n didFetch : true,\r\n isFetching : false,\r\n didInvalidate : false,\r\n items : action.payload.result\r\n }\r\n }\r\n };\r\n case types.FETCH_GAME_FANTASYTEAMS_FAIL:\r\n return { \r\n ...state,\r\n byGame : {\r\n [action.gameId] : {\r\n ...state.byGame[action.gameId],\r\n isFetching : false,\r\n didInvalidate : false,\r\n items : null\r\n }\r\n }\r\n }; \r\n\r\n case types.FETCH_LINEUP_REQUEST:\r\n return { \r\n ...state,\r\n lineups : {\r\n [action.fantasyTeamId] : {\r\n ...state.lineups[action.fantasyTeamId],\r\n isFetching : true,\r\n didInvalidate : false,\r\n lineup : null\r\n }\r\n }\r\n };\r\n case types.FETCH_LINEUP_SUCCESS:\r\n return { \r\n ...state,\r\n lineups : {\r\n [action.fantasyTeamId] : {\r\n ...state.lineups[action.fantasyTeamId],\r\n didFetch : true,\r\n isFetching : false,\r\n didInvalidate : false,\r\n lineup : action.payload.lineup\r\n }\r\n }\r\n };\r\n case types.FETCH_LINEUP_FAIL:\r\n return { \r\n ...state,\r\n lineups : {\r\n [action.fantasyTeamId] : {\r\n ...state.lineups[action.fantasyTeamId],\r\n isFetching : false,\r\n didInvalidate : false,\r\n lineup : null\r\n }\r\n }\r\n }; \r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default fantasyTeamReducer;\r\n","import * as types from './types'\r\nimport * as userTypes from '../user/types'\r\n\r\nconst defaultState = {\r\n notifications : {\r\n page: 1,\r\n pageSize : 10,\r\n isFetching : false,\r\n didInvalidate : false,\r\n count : 0,\r\n items : null\r\n },\r\n count : 0\r\n};\r\n\r\n\r\n\r\nconst notificationReducer = (state = defaultState, action) =>\r\n{\r\n switch (action.type) {\r\n case types.INVALIDATE_NOTIFICATIONS:\r\n return { \r\n notifications : {\r\n ...state.notifications,\r\n didInvalidate : true\r\n }\r\n }\r\n case types.FETCH_NOTIFICATIONS_REQUEST:\r\n return { \r\n ...state,\r\n notifications : {\r\n ...state.notifications,\r\n isFetching : true,\r\n didInvalidate : false,\r\n page : action.page,\r\n pageSize : action.pageSize,\r\n count : 0\r\n }\r\n };\r\n case types.FETCH_NOTIFICATIONS_SUCCESS:\r\n return { \r\n ...state,\r\n notifications : {\r\n ...state.notifications,\r\n isFetching : false,\r\n didInvalidate : false,\r\n count : action.count,\r\n items : [\r\n ...(state.notifications.items || []),\r\n ...action.payload.result\r\n ]\r\n }\r\n };\r\n case types.FETCH_NOTIFICATIONS_FAIL:\r\n return { \r\n ...state,\r\n notifications : {\r\n ...state.notifications,\r\n isFetching : false,\r\n didInvalidate : false\r\n }\r\n }; \r\n case types.WS_NOTIFICATION:\r\n return { \r\n ...state,\r\n notifications : {\r\n ...state.notifications,\r\n count : state.notifications.count + 1,\r\n items : [action.payload.result, ...(state.notifications.items || [])]\r\n },\r\n count : state.count + 1,\r\n };\r\n case types.ACKNOWLEDGE_NOTIFICATIONS_SUCCESS:\r\n return { \r\n ...state,\r\n count : 0\r\n };\r\n case userTypes.CURRENT_USER_RECEIVE:\r\n return { \r\n ...state,\r\n count : action.user.notifications\r\n };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default notificationReducer;\r\n","import * as types from './types'\r\n\r\nconst defaultState = {\r\n byTournament : {\r\n\r\n }\r\n}\r\n\r\n\r\nexport default function injury (state = defaultState, action) \r\n{\r\n switch (action.type) {\r\n case types.FETCH_TOURNAMENT_INJURIES_REQUEST:\r\n return {\r\n ...state,\r\n byTournament : {\r\n ...state.byTournament,\r\n [action.tournament] : {\r\n ...state.byTournament[action.tournament],\r\n isFetching : true\r\n }\r\n }\r\n };\r\n case types.FETCH_TOURNAMENT_INJURIES_SUCCESS:\r\n return {\r\n ...state,\r\n byTournament : {\r\n ...state.byTournament,\r\n [action.tournament] : {\r\n items : action.payload.result,\r\n isFetching : false,\r\n didInvalidate : false\r\n }\r\n\r\n }\r\n };\r\n case types.FETCH_TOURNAMENT_INJURIES_FAIL:\r\n return {\r\n ...state,\r\n byTournament : {\r\n ...state.byTournament,\r\n [action.tournament] : {\r\n items : [],\r\n isFetching : false,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n default:\r\n return state\r\n }\r\n}","import * as types from './types'\r\n\r\nconst defaultState = {\r\n byTournament : {\r\n\r\n }\r\n}\r\n\r\n\r\nexport default function suspension (state = defaultState, action) \r\n{\r\n switch (action.type) {\r\n case types.FETCH_TOURNAMENT_SUSPENSIONS_REQUEST:\r\n return {\r\n ...state,\r\n byTournament : {\r\n ...state.byTournament,\r\n [action.tournament] : {\r\n ...state.byTournament[action.tournament],\r\n isFetching : true\r\n }\r\n }\r\n };\r\n case types.FETCH_TOURNAMENT_SUSPENSIONS_SUCCESS:\r\n return {\r\n ...state,\r\n byTournament : {\r\n ...state.byTournament,\r\n [action.tournament] : {\r\n items : action.payload.result,\r\n isFetching : false,\r\n didInvalidate : false\r\n }\r\n\r\n }\r\n };\r\n case types.FETCH_TOURNAMENT_SUSPENSIONS_FAIL:\r\n return {\r\n ...state,\r\n byTournament : {\r\n ...state.byTournament,\r\n [action.tournament] : {\r\n items : [],\r\n isFetching : false,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n default:\r\n return state\r\n }\r\n}","import * as types from './types'\r\n\r\nconst defaultState = {\r\n resources : {\r\n }\r\n};\r\n\r\n\r\n\r\nconst permissionReducer = (state = defaultState, action) =>\r\n{\r\n switch (action.type) {\r\n\r\n case types.FETCH_RESOURCE_PERMISSIONS_SUCCESS:\r\n return { \r\n ...state,\r\n resources : {\r\n ...state.resources,\r\n [action.resource] : action.payload\r\n }\r\n };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default permissionReducer;\r\n","import * as types from './types'\r\n\r\nconst defaultState = {\r\n byGame : {\r\n }\r\n};\r\n\r\n\r\n\r\nconst invitationReducer = (state = defaultState, action) =>\r\n{\r\n switch (action.type) {\r\n\r\n case types.FETCH_GAME_INVITATIONS_SUCCESS:\r\n return { \r\n ...state,\r\n byGame : {\r\n ...state.byGame,\r\n [action.game] : action.payload\r\n }\r\n };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default invitationReducer;\r\n","export const FETCH_GAME_INVITATIONS_REQUEST = 'game-invitations/fetch/request';\r\nexport const FETCH_GAME_INVITATIONS_SUCCESS = 'game-invitations/fetch/success';\r\nexport const FETCH_GAME_INVITATIONS_FAIL = 'game-invitations/fetch/fail';\r\n\r\n","import * as types from './types'\r\n\r\nconst defaultState = {\r\n byId : {},\r\n \r\n};\r\n\r\nconst themeReducer = (state = defaultState, action) =>\r\n{\r\n switch (action.type) {\r\n case types.FETCH_THEME_REQUEST:\r\n return { \r\n ...state,\r\n byId : {\r\n [action.id] : {\r\n ...state.byId[action.id],\r\n isFetching : true,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n case types.FETCH_THEME_SUCCESS:\r\n return { \r\n ...state,\r\n byId : {\r\n [action.id] : {\r\n ...state.byId[action.id],\r\n isFetching : false,\r\n didInvalidate : false,\r\n item : action.payload.result\r\n }\r\n }\r\n };\r\n case types.FETCH_THEME_FAIL:\r\n return { \r\n ...state,\r\n byId : {\r\n [action.id] : {\r\n ...state.byId[action.id],\r\n isFetching : false,\r\n didInvalidate : false\r\n }\r\n }\r\n }; \r\n \r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default themeReducer;\r\n","import * as types from './types'\r\n\r\nimport { safeget } from 'utils'\r\n\r\nconst defaultState = {\r\n byMessageBoard : {\r\n\r\n },\r\n byId: {},\r\n unreadByMessageBoard : {},\r\n subscriptions : []\r\n};\r\n\r\nconst defaultMessageBoardState = {\r\n posts : {\r\n isFetching : false,\r\n didInvalidate : false,\r\n items: null\r\n },\r\n\r\n repliesByPost : {},\r\n replyCountByPost : {},\r\n pendingPosts : [],\r\n pendingRepliesByPost : {}\r\n}\r\n\r\n\r\n\r\n\r\n\r\nconst byMessageBoardReducer = (state = defaultMessageBoardState, action) =>\r\n{\r\n switch(action.type) {\r\n /* Create Reply */ \r\n\r\n case types.CREATE_REPLY_SUCCESS:\r\n return { \r\n ...state,\r\n replyCountByPost : {\r\n ...state.replyCountByPost,\r\n [action.postId] : (state.replyCountByPost[action.postId] || 0) + 1\r\n },\r\n repliesByPost : {\r\n ...state.repliesByPost,\r\n [action.postId] : {\r\n ...state.repliesByPost[action.postId],\r\n items : [action.payload.result, ...(safeget(state.repliesByPost, [action.postId, 'items']) || [])]\r\n }\r\n \r\n }\r\n };\r\n case types.DELETE_POST_SUCCESS:\r\n if (action.parentPostId) {\r\n return { \r\n ...state,\r\n repliesByPost : {\r\n ...state.repliesByPost,\r\n [action.parentPostId] : {\r\n ...state.repliesByPost[action.parentPostId],\r\n items : (state.repliesByPost[action.parentPostId] || { items : [] }).items.filter(i => i !== action.postId)\r\n }\r\n },\r\n replyCountByPost : {\r\n ...state.replyCountByPost,\r\n [action.parentPostId] : (state.replyCountByPost[action.parentPostId] || 1) - 1\r\n }\r\n }\r\n }\r\n else {\r\n return { \r\n ...state,\r\n posts : {\r\n ...state.posts,\r\n items : state.posts.items.filter(i => i !== action.postId)\r\n }\r\n }\r\n }\r\n \r\n case types.FETCH_REPLIES_REQUEST:\r\n\r\n return { \r\n ...state, \r\n repliesByPost : { \r\n ...state.repliesByPost, \r\n [action.postId] : {\r\n ...state.repliesByPost[action.postId],\r\n isFetching : true \r\n }\r\n } \r\n };\r\n case types.FETCH_REPLIES_SUCCESS:\r\n return { \r\n ...state,\r\n repliesByPost : { \r\n ...state.repliesByPost, \r\n [action.postId] : {\r\n ...state.repliesByPost[action.postId],\r\n items : action.payload.result.items,\r\n links : action.payload.result.links,\r\n count : action.payload.result.count,\r\n isFetching : false,\r\n didFetch : true,\r\n didInvalidate : false\r\n }\r\n }\r\n };\r\n case types.FETCH_REPLIES_FAIL:\r\n return { \r\n ...state, \r\n repliesByPost : { \r\n ...state.repliesByPost, \r\n [action.postId] : {\r\n ...state.repliesByPost[action.postId],\r\n isFetching : false\r\n }\r\n } \r\n };\r\n\r\n /* Fetch More Replies */\r\n\r\n case types.FETCH_MORE_REPLIES_REQUEST:\r\n return { \r\n ...state, \r\n repliesByPost : { \r\n ...state.repliesByPost, \r\n [action.postId] : {\r\n ...state.repliesByPost[action.postId],\r\n isFetching : true \r\n }\r\n } \r\n };\r\n case types.FETCH_MORE_REPLIES_SUCCESS:\r\n return { \r\n ...state,\r\n repliesByPost : { \r\n ...state.repliesByPost, \r\n [action.postId] : {\r\n ...state.repliesByPost[action.postId],\r\n isFetching : false,\r\n items : [...(state.repliesByPost[action.postId] || { items : [] }).items, ...action.payload.result.items],\r\n links : action.payload.result.links,\r\n count : action.payload.result.count\r\n }\r\n }\r\n };\r\n case types.FETCH_MORE_REPLIES_FAIL:\r\n return { \r\n ...state, \r\n repliesByPost : { \r\n ...state.repliesByPost, \r\n [action.postId] : {\r\n ...state.repliesByPost[action.postId],\r\n isFetching : false\r\n }\r\n } \r\n };\r\n\r\n\r\n case types.DELETE_POST_SUCCESS:\r\n return { \r\n ...state, \r\n posts : {\r\n ...state.posts,\r\n items : state.posts.items.filter(i => i !== action.postId)\r\n } \r\n }\r\n\r\n /* Fetch Posts */\r\n case types.FETCH_POSTS_REQUEST:\r\n return { \r\n ...state, \r\n posts : { \r\n ...state.posts, \r\n isFetching : true\r\n } \r\n };\r\n case types.FETCH_POSTS_SUCCESS:\r\n return { \r\n ...state,\r\n replyCountByPost : {\r\n ...state.replyCountByPost,\r\n\r\n ...Object.keys(action.payload.entities.messageBoardPosts || {}).reduce((acc, key) => {\r\n acc[key] = action.payload.entities.messageBoardPosts[key].replies;\r\n return acc;\r\n }, {})\r\n },\r\n posts : {\r\n ...state.posts,\r\n isFetching : false,\r\n didFetch : true,\r\n didInvalidate : false,\r\n items : action.payload.result.items,\r\n links : action.payload.result.links,\r\n count : action.payload.result.count\r\n }\r\n };\r\n case types.FETCH_POSTS_FAIL:\r\n return { \r\n ...state,\r\n posts : {\r\n ...state.posts,\r\n isFetching : false,\r\n didInvalidate : false\r\n }\r\n };\r\n\r\n\r\n /* Fetch More Posts */\r\n\r\n case types.FETCH_MORE_POSTS_REQUEST:\r\n return { ...state, posts : { ...state.posts, isFetching : true } };\r\n case types.FETCH_MORE_POSTS_SUCCESS:\r\n return { \r\n ...state,\r\n posts : {\r\n ...state.posts,\r\n isFetching : false,\r\n items : [...state.posts.items, ...action.payload.result.items],\r\n links : action.payload.result.links,\r\n count : action.payload.result.count\r\n }\r\n };\r\n case types.FETCH_MORE_POSTS_FAIL:\r\n return { ...state, posts : { ...state.posts, isFetching : false } };\r\n\r\n /* Mark Messageboard Read */\r\n\r\n\r\n\r\n\r\n /* Fetch Replies */\r\n\r\n \r\n\r\n\r\n /* Invalidate Posts */\r\n\r\n case types.INVALIDATE_POSTS:\r\n return { ...state, posts : { ...state.posts, didInvalidate : true } };\r\n\r\n \r\n\r\n\r\n /* Create Post*/\r\n \r\n case types.CREATE_POST_SUCCESS:\r\n return { \r\n ...state,\r\n posts : {\r\n ...state.posts,\r\n items : [action.payload.result, ...state.posts.items]\r\n }\r\n };\r\n\r\n\r\n /* Websocket */\r\n\r\n case types.WS_NEW_POST:\r\n return { \r\n ...state,\r\n pendingPosts : action.postId ? state.pendingPosts : [action.payload.result, ...(state.pendingPosts || [])],\r\n pendingRepliesByPost : action.postId ? \r\n {\r\n ...state.pendingRepliesByPost,\r\n [action.postId] : [action.payload.result, ...(state.pendingRepliesByPost[action.postId] || [])]\r\n } : state.pendingRepliesByPost\r\n };\r\n\r\n /* New Post */\r\n\r\n case types.APPLY_PENDING_POSTS:\r\n return { \r\n ...state,\r\n posts : { \r\n ...state.posts, \r\n items : [\r\n ...(state.pendingPosts || []), \r\n ...(state.posts.items || [])\r\n ] \r\n },\r\n pendingPosts : []\r\n };\r\n\r\n case types.APPLY_PENDING_REPLIES:\r\n return { \r\n ...state,\r\n repliesByPost : {\r\n ...state.repliesByPost,\r\n [action.postId] : { \r\n ...state.repliesByPost[action.postId],\r\n items : [\r\n ...(state.pendingRepliesByPost[action.postId] || []), \r\n ...(safeget(state.repliesByPost, [action.postId, 'items']) || [])\r\n ]\r\n }\r\n },\r\n pendingRepliesByPost : {\r\n ...state.pendingRepliesByPost,\r\n [action.postId] : []\r\n }\r\n }; \r\n\r\n default:\r\n return state;\r\n\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\nconst messageBoardReducer = (state = defaultState, action) =>\r\n{\r\n switch (action.type) {\r\n\r\n case types.INVALIDATE_MESSAGEBOARD:\r\n return { \r\n ...state, \r\n byMessageBoard : {\r\n ...state.byMessageBoard,\r\n [action.messageBoardId] : defaultMessageBoardState\r\n }\r\n };\r\n\r\n /* Delete Post */\r\n\r\n case types.DELETE_POST_SUCCESS:\r\n case types.FETCH_POSTS_REQUEST:\r\n case types.FETCH_POSTS_SUCCESS:\r\n case types.FETCH_POSTS_FAIL:\r\n case types.CREATE_POST_SUCCESS:\r\n case types.CREATE_REPLY_SUCCESS:\r\n case types.FETCH_REPLIES_REQUEST:\r\n case types.FETCH_REPLIES_SUCCESS:\r\n case types.FETCH_REPLIES_FAIL:\r\n case types.FETCH_MORE_REPLIES_REQUEST:\r\n case types.FETCH_MORE_REPLIES_SUCCESS:\r\n case types.FETCH_MORE_REPLIES_FAIL: \r\n case types.FETCH_MORE_POSTS_REQUEST:\r\n case types.FETCH_MORE_POSTS_SUCCESS:\r\n case types.FETCH_MORE_POSTS_FAIL: \r\n case types.INVALIDATE_POSTS: \r\n case types.APPLY_PENDING_POSTS: \r\n case types.APPLY_PENDING_REPLIES: \r\n return { \r\n ...state, \r\n byMessageBoard : {\r\n ...state.byMessageBoard,\r\n [action.messageBoardId] : byMessageBoardReducer(state.byMessageBoard[action.messageBoardId], action)\r\n }\r\n }\r\n\r\n case types.WS_NEW_POST:\r\n return { \r\n ...state, \r\n byMessageBoard : {\r\n ...state.byMessageBoard,\r\n [action.messageBoardId] : byMessageBoardReducer(state.byMessageBoard[action.messageBoardId], action)\r\n },\r\n unreadByMessageBoard : {\r\n ...state.unreadByMessageBoard,\r\n [action.messageBoardId] : (state.unreadByMessageBoard[action.messageBoardId] || 0) + 1\r\n }\r\n }\r\n \r\n case types.MARK_MESSAGEBOARD_READ_SUCCESS:\r\n return { \r\n ...state,\r\n unreadByMessageBoard : {\r\n ...state.unreadByMessageBoard,\r\n [action.messageBoardId] : 0\r\n }\r\n };\r\n\r\n /* Fetch Messageboard */\r\n \r\n case types.FETCH_MESSAGEBOARD_REQUEST:\r\n return { \r\n ...state,\r\n byId : {\r\n ...state.byId,\r\n [action.messageBoardId] : {\r\n ...state.byId[action.messageBoardId],\r\n isFetching : true,\r\n didInvalidate : false,\r\n }\r\n }\r\n };\r\n case types.FETCH_MESSAGEBOARD_SUCCESS:\r\n return { \r\n ...state,\r\n byId : {\r\n ...state.byId,\r\n [action.messageBoardId] : {\r\n ...state.byId[action.messageBoardId],\r\n isFetching : false,\r\n item : action.payload.result\r\n }\r\n },\r\n unreadByMessageBoard : {\r\n ...state.unreadByMessageBoard,\r\n [action.messageBoardId] : action.payload.entities.messageBoards[action.messageBoardId].unreadCount\r\n }\r\n };\r\n case types.FETCH_MESSAGEBOARD_FAIL:\r\n return { \r\n ...state,\r\n byId : {\r\n ...state.byId,\r\n [action.messageBoardId] : {\r\n ...state.byId[action.messageBoardId],\r\n isFetching : false\r\n }\r\n }\r\n };\r\n\r\n /* Subscriptions */\r\n\r\n case types.SUBSCRIBE:\r\n return { ...state, subscriptions: [...state.subscriptions, action.messageBoardId] }\r\n case types.UNSUBSCRIBE:\r\n return { ...state, subscriptions: [...state.subscriptions.filter(s => s != action.messageBoardId)] }\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default messageBoardReducer;\r\n","import * as types from './types'\r\nimport * as gameTypes from '../game/types'\r\n\r\nconst defaultState = {\r\n my : {\r\n items : null,\r\n isFetching : false,\r\n didInvalidate : false\r\n }\r\n};\r\n\r\nconst friendsReducer = (state = defaultState, action) =>\r\n{\r\n switch (action.type) {\r\n case types.INVALIDATE_FRIENDS:\r\n return { ...state, my : { ...state.my, query: '', didInvalidate : true } };\r\n case types.FETCH_FRIENDS_REQUEST:\r\n return { ...state, my : { ...state.my, query: action.query, isFetching : true } };\r\n case types.FETCH_FRIENDS_SUCCESS:\r\n return { \r\n ...state,\r\n my : {\r\n ...state.my,\r\n query: action.query, \r\n isFetching : false,\r\n didInvalidate : false,\r\n item : action.payload.result\r\n }\r\n }\r\n case types.FETCH_FRIENDS_FAIL:\r\n return { ...state, my : { ...state.my, query: action.query, isFetching : false } };\r\n case types.FETCH_MORE_FRIENDS_REQUEST:\r\n return { ...state, my : { ...state.my, isFetching : true } };\r\n case types.FETCH_MORE_FRIENDS_SUCCESS:\r\n return { \r\n ...state,\r\n my : {\r\n ...state.my,\r\n isFetching : false,\r\n item : {\r\n ...state.my.item,\r\n items : [\r\n ...state.my.item.items,\r\n ...action.payload.result.items\r\n ]\r\n }\r\n }\r\n }\r\n case types.FETCH_MORE_FRIENDS_FAIL:\r\n return { ...state, my : { ...state.my, isFetching : false } };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default friendsReducer;\r\n","// Fetch my competitions\r\n\r\nexport const FETCH_FRIENDS_REQUEST = 'friends/fetch/request';\r\nexport const FETCH_FRIENDS_SUCCESS = 'friends/fetch/success';\r\nexport const FETCH_FRIENDS_FAIL = 'friends/fetch/fail';\r\n\r\nexport const FETCH_MORE_FRIENDS_REQUEST = 'FETCH_MORE_FRIENDS_REQUEST';\r\nexport const FETCH_MORE_FRIENDS_SUCCESS = 'FETCH_MORE_FRIENDS_SUCCESS';\r\nexport const FETCH_MORE_FRIENDS_FAIL = 'FETCH_MORE_FRIENDS_FAIL';\r\n\r\n\r\nexport const INVALIDATE_FRIENDS = 'friends/invalidate';\r\n","import * as types from './types'\r\n\r\nconst defaultState = {\r\n leagues : {\r\n isFetching : false,\r\n didFetch : false\r\n },\r\n leaderboard : {\r\n isFetching : false,\r\n didFetch : false\r\n }\r\n};\r\n\r\nconst archiveReducer = (state = defaultState, action) =>\r\n{\r\n switch (action.type) {\r\n case types.FETCH_LEAGUE_ARCHIVE_REQUEST:\r\n return { ...state, leagues : { ...state.leagues, isFetching : true } }; \r\n case types.FETCH_LEAGUE_ARCHIVE_SUCCESS:\r\n return { \r\n ...state,\r\n leagues : {\r\n ...state.leagues,\r\n isFetching : false,\r\n \r\n data : action.payload,\r\n didInvalidate: false\r\n }\r\n };\r\n case types.FETCH_LEAGUE_ARCHIVE_FAIL:\r\n return { ...state, leagues : { ...state.leagues, isFetching : false } }; \r\n\r\n /* */\r\n\r\n case types.FETCH_ARCHIVED_LEADERBOARD_REQUEST:\r\n return { ...state, leaderboard : { ...state.leaderboard, isFetching : true } }; \r\n case types.FETCH_ARCHIVED_LEADERBOARD_SUCCESS:\r\n return { \r\n ...state,\r\n leaderboard : {\r\n ...state.leaderboard,\r\n isFetching : false,\r\n didFetch : true,\r\n data : action.payload,\r\n didInvalidate: false\r\n }\r\n };\r\n case types.FETCH_LEAGUE_ARCHIVE_FAIL:\r\n return { ...state, leaderboard : { ...state.leaderboard, isFetching : false } }; \r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport default archiveReducer;\r\n","import { combineReducers } from 'redux'\r\n\r\nimport gameReducer from './game';\r\nimport highscoreReducer from './highscore';\r\nimport authReducer from './auth';\r\nimport userReducer from './user';\r\nimport configReducer from './config';\r\nimport groupReducer from './group';\r\nimport playerReducer from './player';\r\nimport watchlistReducer from './watchlist';\r\nimport uiReducer from './ui';\r\nimport competitionReducer from './competition';\r\nimport recruitsReducer from './recruits';\r\nimport matchReducer from './match';\r\nimport viewReducer from './view';\r\nimport rulesetReducer from './ruleset';\r\nimport tournamentReducer from './tournament';\r\nimport scheduleReducer from './schedule';\r\nimport entityReducer from './entity'\r\nimport jsonReducer from './json'\r\nimport fantasyTeamReducer from './fantasyTeam'\r\nimport notificationReducer from './notification'\r\nimport injuryReducer from './injury'\r\nimport suspensionReducer from './suspension'\r\nimport permissionReducer from './permission';\r\nimport invitationReducer from './invitation';\r\nimport themeReducer from './theme';\r\nimport messageBoardReducer from './messageBoard';\r\nimport friendsReducer from './friends';\r\nimport archiveReducer from './archive';\r\n\r\nconst rootReducer = combineReducers({\r\n entities : entityReducer,\r\n games : gameReducer, \r\n highscore : highscoreReducer,\r\n auth : authReducer,\r\n user : userReducer,\r\n configs : configReducer,\r\n ui : uiReducer,\r\n group : groupReducer,\r\n player : playerReducer,\r\n watchlist : watchlistReducer,\r\n match : matchReducer,\r\n competition : competitionReducer,\r\n views : viewReducer,\r\n rulesets : rulesetReducer,\r\n tournaments : tournamentReducer,\r\n schedule : scheduleReducer,\r\n json : jsonReducer,\r\n fantasyTeam : fantasyTeamReducer,\r\n notification : notificationReducer,\r\n injury : injuryReducer,\r\n suspension : suspensionReducer,\r\n permission : permissionReducer,\r\n invitation : invitationReducer,\r\n theme : themeReducer,\r\n messageBoard : messageBoardReducer,\r\n friends : friendsReducer,\r\n recruits : recruitsReducer,\r\n archive : archiveReducer\r\n \r\n})\r\n\r\nexport default rootReducer\r\n","export const INVALIDATE_JOBS = 'job/invalidate';\r\n\r\nexport const FETCH_JOBS_REQUEST = 'jobs/fetch/request';\r\nexport const FETCH_JOBS_SUCCESS = 'jobs/fetch/success';\r\nexport const FETCH_JOBS_FAILURE = 'jobs/fetch/failure';\r\n\r\nexport const FETCH_JOB_REQUEST = 'job/fetch/request';\r\nexport const FETCH_JOB_SUCCESS = 'job/fetch/success';\r\nexport const FETCH_JOB_FAILURE = 'job/fetch/failure';\r\n\r\nexport const UPDATE_JOB_REQUEST = 'job/update/request';\r\nexport const UPDATE_JOB_SUCCESS = 'job/update/success';\r\nexport const UPDATE_JOB_FAILURE = 'job/update/failure';\r\n\r\nexport const INSERT_JOB_REQUEST = 'job/insert/request';\r\nexport const INSERT_JOB_SUCCESS = 'job/insert/success';\r\nexport const INSERT_JOB_FAILURE = 'job/insert/failure';\r\n\r\nexport const DELETE_JOB_REQUEST = 'job/delete/request';\r\nexport const DELETE_JOB_SUCCESS = 'job/delete/success';\r\nexport const DELETE_JOB_FAILURE = 'job/delete/failure';\r\n\r\nexport const INVALIDATE_JOB_HISTORY = 'job-history/invalidate';\r\n\r\nexport const FETCH_JOB_HISTORY_REQUEST = 'job-history/fetch/request';\r\nexport const FETCH_JOB_HISTORY_SUCCESS = 'job-history/fetch/success';\r\nexport const FETCH_JOB_HISTORY_FAILURE = 'job-history/fetch/failure';\r\n\r\nexport const INVALIDATE_JOB_SCHEDULE = 'job-schedule/invalidate';\r\n\r\nexport const FETCH_JOB_SCHEDULE_REQUEST = 'job-schedule/fetch/request';\r\nexport const FETCH_JOB_SCHEDULE_SUCCESS = 'job-schedule/fetch/success';\r\nexport const FETCH_JOB_SCHEDULE_FAILURE = 'job-schedule/fetch/failure';\r\n\r\n\r\nexport const DELETE_JOB_SCHEDULE_REQUEST = 'job-schedule/delete/request';\r\nexport const DELETE_JOB_SCHEDULE_SUCCESS = 'job-schedule/delete/success';\r\nexport const DELETE_JOB_SCHEDULE_FAILURE = 'job-schedule/delete/failure';\r\n\r\nexport const UPDATE_JOB_SCHEDULE_REQUEST = 'job-schedule/update/request';\r\nexport const UPDATE_JOB_SCHEDULE_SUCCESS = 'job-schedule/update/success';\r\nexport const UPDATE_JOB_SCHEDULE_FAILURE = 'job-schedule/update/failure';\r\n\r\nexport const INSERT_JOB_SCHEDULE_REQUEST = 'job-schedule/insert/request';\r\nexport const INSERT_JOB_SCHEDULE_SUCCESS = 'job-schedule/insert/success';\r\nexport const INSERT_JOB_SCHEDULE_FAILURE = 'job-schedule/insert/failure';\r\n\r\nexport const FETCH_JOB_TYPES_REQUEST = 'job-types/fetch/request';\r\nexport const FETCH_JOB_TYPES_SUCCESS = 'job-types/fetch/success';\r\nexport const FETCH_JOB_TYPES_FAILURE = 'job-types/fetch/failure';","export const SELECT_HIGHSCORE = 'SELECT_HIGHSCORE';\r\nexport const REQUEST_HIGHSCORE = 'REQUEST_HIGHSCORE';\r\nexport const RECEIVE_HIGHSCORE = 'RECEIVE_HIGHSCORE';\r\n","import * as types from './types'\r\n\r\nexport default function user (\r\n state = {\r\n byId : {},\r\n me : 0\r\n },\r\n action\r\n ) {\r\n \r\n switch (action.type) {\r\n case types.CURRENT_USER_RECEIVE:\r\n return {\r\n byId : {\r\n ...state,\r\n [action.user.id] : action.user\r\n },\r\n me : action.user.id\r\n }\r\n case types.FETCH_USER_SUCCESS:\r\n return {\r\n byId : {\r\n ...state,\r\n [action.payload.id] : action.payload\r\n }\r\n }\r\n default:\r\n return state\r\n }\r\n}","let queue = [];\r\nlet queueTimeout = null;\r\n\r\nimport * as wsTypes from '../redux/ws/types'\r\nimport * as matchTypes from '../redux/match/types'\r\n\r\nexport default ({ getState, dispatch }) => next => action => {\r\n const dispatchBulkMessages = () => {\r\n const q = queue.slice();\r\n queue = [];\r\n\r\n dispatch({ type : wsTypes.WS_MESSAGE_BULK, queue : q });\r\n\r\n for(let i = 0; i < q.length; i++) {\r\n let jobj = q[i];\r\n\r\n if (jobj.message == 'FANTASYEVENT_INSERT') {\r\n dispatch({ type : matchTypes.DISPLAY_MATCH_FANTASY_EVENT_NOTIFICATION, match : jobj.payload.match, id : jobj.payload.id })\r\n setTimeout(() => {\r\n dispatch({ type : matchTypes.HIDE_MATCH_FANTASY_EVENT_NOTIFICATION, match : jobj.payload.match, id : jobj.payload.id })\r\n }, 10000);\r\n }\r\n }\r\n\r\n\r\n queueTimeout = null; \r\n }\r\n \r\n if (action.type === wsTypes.WS_MESSAGE) {\r\n \r\n\r\n queue.push(action);\r\n if (queueTimeout === null) {\r\n queueTimeout = setTimeout(dispatchBulkMessages, 250); \r\n }\r\n }\r\n else {\r\n return next(action);\r\n }\r\n}","import { createStore, applyMiddleware } from 'redux'\r\nimport thunk from 'redux-thunk'\r\nimport rootReducer from '../redux/season'\r\nimport { compose } from 'redux';\r\nimport throttle from '../middleware/throttle'\r\n\r\nconst configureStore = (preloadedState) => {\r\n const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\r\n\r\n const store = createStore(\r\n rootReducer,\r\n preloadedState,\r\n composeEnhancers(\r\n applyMiddleware(throttle, thunk)\r\n )\r\n );\r\n\r\n return store;\r\n}\r\n\r\nexport default configureStore;","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport axios from 'axios';\r\n\r\nimport auth from '../common/auth';\r\nimport Root from '../containers/Root'\r\nimport serverTime from '../common/serverTime';\r\n\r\nimport config from 'config';\r\nimport configureStore from './configureStore'\r\n\r\nimport { login } from '../redux/auth/actions'\r\nimport { selectGame } from '../redux/game/actions'\r\nimport { fetchPrecompiledViewsIfNeeded } from '../redux/view/actions'\r\n\r\nimport '../fonts/Geomanist-Light-Webfont/stylesheet.css'\r\nimport '../fonts/Geomanist-Ultra-Webfont/stylesheet.css'\r\nimport '../fonts/roboto/stylesheet.css'\r\n\r\nimport ws from '../common/WebSocketClient'\r\n\r\n// Dayjs configuration\r\nimport dayjs from 'dayjs'\r\nimport 'dayjs/locale/da'\r\nimport 'dayjs/locale/sv'\r\n\r\n\r\nimport '../css/main.css'\r\n\r\n// Setup error logging.\r\n//if (config.enableLogging) {\r\n /*console.log('Logging enabled.');\r\n rg4js('enableCrashReporting', true);\r\n rg4js('apiKey', 'IzzkuIUvE6vI5M5PndRQDw');*/\r\n//}\r\n\r\n\r\nconst setDayJsLocale = (locale) => {\r\n switch(locale) {\r\n case 'da':\r\n case 'sv': \r\n dayjs.locale(locale);\r\n break;\r\n }\r\n}\r\n\r\n\r\nsetDayJsLocale(window.swush.locale);\r\n\r\n// Extensions\r\n\r\nArray.prototype.groupBy = function(func) {\r\n return this.reduce(function(groups, item, index) {\r\n var val = func(item, index);\r\n groups[val] = groups[val] || [];\r\n groups[val].push(item);\r\n return groups;\r\n }, {});\r\n}\r\n\r\naxios.defaults.baseURL = config[window.swush.appId + '_apiBaseUrl'];\r\n\r\naxios.interceptors.request.use(\r\n function (cfg) {\r\n if (cfg.url.indexOf('//') == -1) {\r\n cfg.url = cfg.url + (cfg.url.indexOf('?') >= 0 ? '&' : '?') + 'appid=' + window.swush.appId + '&culture=' + window.swush.apiCulture;\r\n }\r\n \r\n return cfg;\r\n },\r\n function (error) {\r\n const originalRequest = error.config;\r\n\r\n if (error.response.status === 401 && !originalRequest._retry) {\r\n originalRequest._retry = true;\r\n console.log('Handle refresh and re-call again.');\r\n }\r\n\r\n return Promise.reject(error);\r\n }\r\n)\r\n\r\nconst store = configureStore();\r\n\r\nstore.dispatch(login())\r\n\r\nws.initialize(config[window.swush.appId + '_liveWebsocketUrl']);\r\n\r\n\r\n// A bit of a hack to select the current game for old pages.\r\nif (window.gameId) {\r\n store.dispatch(selectGame(window.gameId));\r\n}\r\n\r\nserverTime.sync();\r\nauth.loadAuth();\r\n\r\nexport { store }","const translationContext = require.context('./translations/', true, /\\.json$/);\r\nconst translations = translationContext.keys().reduce((acc, k) => {\r\n const parts = k.split('/');\r\n const culture = parts[1];\r\n const filename = parts[2];\r\n const filenameParts = filename.split('.');\r\n\r\n if (!acc[culture]) {\r\n acc[culture] = [];\r\n }\r\n acc[culture][filenameParts[0]] = translationContext(k);\r\n\r\n return acc;\r\n}, {});\r\n\r\nexport default translations;","var map = {\n\t\"./da/americanFootball.json\": \"0nxj\",\n\t\"./da/authentication.json\": \"Iv+7\",\n\t\"./da/common.json\": \"Bg0C\",\n\t\"./da/competitions.json\": \"/sj0\",\n\t\"./da/contests.json\": \"iTMj\",\n\t\"./da/cycling.json\": \"xXYy\",\n\t\"./da/golf.json\": \"12zR\",\n\t\"./da/groups.json\": \"UgSZ\",\n\t\"./da/handball.json\": \"PT1N\",\n\t\"./da/hockey.json\": \"gy5u\",\n\t\"./da/messageboard.json\": \"w9di\",\n\t\"./da/motorsport.json\": \"JnEA\",\n\t\"./da/no_filename.json\": \"FARf\",\n\t\"./da/notifications.json\": \"494f\",\n\t\"./da/soccer.json\": \"nDX0\",\n\t\"./da/stock.json\": \"Y3+f\",\n\t\"./da/time.json\": \"psGp\",\n\t\"./en/americanFootball.json\": \"Mfhb\",\n\t\"./en/authentication.json\": \"No0+\",\n\t\"./en/common.json\": \"/tSU\",\n\t\"./en/competitions.json\": \"BA8W\",\n\t\"./en/contests.json\": \"oeF8\",\n\t\"./en/cycling.json\": \"ibXe\",\n\t\"./en/golf.json\": \"gZR0\",\n\t\"./en/groups.json\": \"0pag\",\n\t\"./en/handball.json\": \"TP/t\",\n\t\"./en/hockey.json\": \"ErcJ\",\n\t\"./en/messageboard.json\": \"re76\",\n\t\"./en/motorsport.json\": \"c9aP\",\n\t\"./en/no_filename.json\": \"+Iw8\",\n\t\"./en/notifications.json\": \"u6f8\",\n\t\"./en/soccer.json\": \"gUWS\",\n\t\"./en/stock.json\": \"u8kE\",\n\t\"./en/time.json\": \"Sqhm\",\n\t\"./sv/americanFootball.json\": \"eElT\",\n\t\"./sv/authentication.json\": \"YRM0\",\n\t\"./sv/common.json\": \"bd4G\",\n\t\"./sv/competitions.json\": \"6I7m\",\n\t\"./sv/contests.json\": \"Zx2P\",\n\t\"./sv/cycling.json\": \"hWgL\",\n\t\"./sv/golf.json\": \"ZQel\",\n\t\"./sv/groups.json\": \"9vES\",\n\t\"./sv/handball.json\": \"IY1R\",\n\t\"./sv/hockey.json\": \"qFxS\",\n\t\"./sv/messageboard.json\": \"lRfz\",\n\t\"./sv/motorsport.json\": \"QRBB\",\n\t\"./sv/no_filename.json\": \"3pfi\",\n\t\"./sv/notifications.json\": \"kAx/\",\n\t\"./sv/soccer.json\": \"p04B\",\n\t\"./sv/stock.json\": \"ed3R\",\n\t\"./sv/time.json\": \"ao6f\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"JsoJ\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Toolbar__container__10ZPb\",\"right\":\"Toolbar__right__2NbrV\",\"item\":\"Toolbar__item__2KcqA\",\"expand\":\"Toolbar__expand__A0Lv3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"MatchHead__container__1qUhx\",\"simple\":\"MatchHead__simple__3htof\",\"versus\":\"MatchHead__versus__2fGwq\",\"tl\":\"MatchHead__tl__1QhPm\",\"tr\":\"MatchHead__tr__1NF9l\",\"progress\":\"MatchHead__progress__2rctU\",\"home\":\"MatchHead__home___jNVJ\",\"away\":\"MatchHead__away__2fJJ0\",\"score\":\"MatchHead__score__-qEXM\",\"time\":\"MatchHead__time__rZ9fE\",\"live\":\"MatchHead__live__3xOA_\",\"homeEvents\":\"MatchHead__homeEvents__2sO4-\",\"awayEvents\":\"MatchHead__awayEvents__3BkBB\"};","// Fetch my competitions\r\n\r\nexport const FETCH_USER_COMPETITIONS_REQUEST = 'FETCH_USER_COMPETITIONS_REQUEST';\r\nexport const FETCH_USER_COMPETITIONS_SUCCESS = 'FETCH_USER_COMPETITIONS_SUCCESS';\r\nexport const FETCH_USER_COMPETITIONS_FAIL = 'FETCH_USER_COMPETITIONS_FAIL';\r\n\r\nexport const INVALIDATE_USER_COMPETITIONS = 'INVALIDATE_USER_COMPETITIONS';\r\n\r\n// Fetch competition\r\n\r\nexport const FETCH_COMPETITION_REQUEST = 'FETCH_COMPETITION_REQUEST';\r\nexport const FETCH_COMPETITION_SUCCESS = 'FETCH_COMPETITION_SUCCESS';\r\nexport const FETCH_COMPETITION_FAIL = 'FETCH_COMPETITION_FAIL';\r\n\r\n// Fetch Leaderboards\r\n\r\nexport const FETCH_USER_LEADERBOARDS_REQUEST = 'FETCH_USER_LEADERBOARDS_REQUEST';\r\nexport const FETCH_USER_LEADERBOARDS_SUCCESS = 'FETCH_USER_LEADERBOARDS_SUCCESS';\r\nexport const FETCH_USER_LEADERBOARDS_FAILURE = 'FETCH_USER_LEADERBOARDS_FAILURE';\r\n\r\n// Search Competitions\r\n\r\nexport const FIND_COMPETITIONS_REQUEST = 'FIND_COMPETITIONS_REQUEST';\r\nexport const FIND_COMPETITIONS_SUCCESS = 'FIND_COMPETITIONS_SUCCESS';\r\nexport const FIND_COMPETITIONS_FAIL = 'FIND_COMPETITIONS_FAIL';\r\n\r\nexport const FIND_MORE_COMPETITIONS_REQUEST = 'FIND_MORE_COMPETITIONS_REQUEST';\r\nexport const FIND_MORE_COMPETITIONS_SUCCESS = 'FIND_MORE_COMPETITIONS_SUCCESS';\r\nexport const FIND_MORE_COMPETITIONS_FAIL = 'FIND_MORE_COMPETITIONS_FAIL';\r\n\r\n// Fetch Standings\r\n\r\nexport const FETCH_STANDINGS_REQUEST = 'FETCH_STANDINGS_REQUEST';\r\nexport const FETCH_STANDINGS_SUCCESS = 'FETCH_STANDINGS_SUCCESS';\r\nexport const FETCH_STANDINGS_FAIL = 'FETCH_STANDINGS_FAIL';\r\n\r\n\r\n// Fetch My Enrollments\r\n\r\nexport const FETCH_MY_ENROLLMENTS_REQUEST = 'FETCH_MY_ENROLLMENTS_REQUEST';\r\nexport const FETCH_MY_ENROLLMENTS_SUCCESS = 'FETCH_MY_ENROLLMENTS_SUCCESS';\r\nexport const FETCH_MY_ENROLLMENTS_FAIL = 'FETCH_MY_ENROLLMENTS_FAIL';\r\n\r\n// Fetch Qualifications\r\n\r\nexport const FETCH_QUALIFICATIONS_REQUEST = 'FETCH_QUALIFICATIONS_REQUEST';\r\nexport const FETCH_QUALIFICATIONS_SUCCESS = 'FETCH_QUALIFICATIONS_SUCCESS';\r\nexport const FETCH_QUALIFICATIONS_FAIL = 'FETCH_QUALIFICATIONS_FAIL';\r\n\r\n\r\n// Create Competition\r\n\r\nexport const CREATE_COMPETITION_REQUEST = 'CREATE_COMPETITION_REQUEST';\r\nexport const CREATE_COMPETITION_SUCCESS = 'CREATE_COMPETITION_SUCCESS';\r\nexport const CREATE_COMPETITION_FAIL = 'CREATE_COMPETITION_FAIL';\r\n\r\n// Delete Competition\r\n\r\nexport const DELETE_COMPETITION_REQUEST = 'DELETE_COMPETITION_REQUEST';\r\nexport const DELETE_COMPETITION_SUCCESS = 'DELETE_COMPETITION_SUCCESS';\r\nexport const DELETE_COMPETITION_FAIL = 'DELETE_COMPETITION_FAIL';\r\n\r\n\r\n// Fetch Enrollment Options\r\n\r\nexport const FETCH_ENROLLMENT_OPTIONS_REQUEST = 'FETCH_ENROLLMENT_OPTIONS_REQUEST';\r\nexport const FETCH_ENROLLMENT_OPTIONS_SUCCESS = 'FETCH_ENROLLMENT_OPTIONS_SUCCESS';\r\nexport const FETCH_ENROLLMENT_OPTIONS_FAIL = 'FETCH_ENROLLMENT_OPTIONS_FAIL';\r\n\r\nexport const INVALIDATE_ENROLLMENT_OPTIONS = 'INVALIDATE_ENROLLMENT_OPTIONS';\r\n\r\n// On enrollments change\r\n\r\nexport const ENROLLMENT_CHANGE = 'ENROLLMENT_CHANGE';\r\n\r\n// Update Competitions\r\n\r\nexport const UPDATE_COMPETITION_REQUEST = 'UPDATE_COMPETITION_REQUEST';\r\nexport const UPDATE_COMPETITION_SUCCESS = 'UPDATE_COMPETITION_SUCCESS';\r\nexport const UPDATE_COMPETITION_FAIL = 'UPDATE_COMPETITION_FAIL';\r\n\r\n// Fetch Enrollments\r\n\r\nexport const INVALIDATE_ENROLLMENTS = 'INVALIDATE_ENROLLMENTS';\r\n\r\nexport const FETCH_ENROLLMENTS_REQUEST = 'FETCH_ENROLLMENTS_REQUEST';\r\nexport const FETCH_ENROLLMENTS_SUCCESS = 'FETCH_ENROLLMENTS_SUCCESS';\r\nexport const FETCH_ENROLLMENTS_FAIL = 'FETCH_ENROLLMENTS_FAIL';\r\n\r\nexport const FETCH_MORE_ENROLLMENTS_REQUEST = 'FETCH_MORE_ENROLLMENTS_REQUEST';\r\nexport const FETCH_MORE_ENROLLMENTS_SUCCESS = 'FETCH_MORE_ENROLLMENTS_SUCCESS';\r\nexport const FETCH_MORE_ENROLLMENTS_FAIL = 'FETCH_MORE_ENROLLMENTS_FAIL';\r\n\r\n// Invite\r\n\r\nexport const INVITE_REQUEST = 'INVITE_REQUEST';\r\nexport const INVITE_SUCCESS = 'INVITE_SUCCESS';\r\nexport const INVITE_FAIL = 'INVITE_FAIL';\r\n\r\n\r\nexport const INVITE_ALL_REQUEST = 'INVITE_ALL_REQUEST';\r\nexport const INVITE_ALL_SUCCESS = 'INVITE_ALL_SUCCESS';\r\nexport const INVITE_ALL_FAIL = 'INVITE_ALL_FAIL';\r\n\r\n\r\n\r\n// Fetch relevant users\r\n\r\nexport const FETCH_RELEVANT_USERS_REQUEST = 'FETCH_RELEVANT_USERS_REQUEST';\r\nexport const FETCH_RELEVANT_USERS_SUCCESS = 'FETCH_RELEVANT_USERS_SUCCESS';\r\nexport const FETCH_RELEVANT_USERS_FAIL = 'FETCH_RELEVANT_USERS_FAIL';\r\nexport const FETCH_MORE_RELEVANT_USERS_REQUEST = 'FETCH_MORE_RELEVANT_USERS_REQUEST';\r\nexport const FETCH_MORE_RELEVANT_USERS_SUCCESS = 'FETCH_MORE_RELEVANT_USERS_SUCCESS';\r\nexport const FETCH_MORE_RELEVANT_USERS_FAIL = 'FETCH_MORE_RELEVANT_USERS_FAIL';\r\n\r\n\r\n// Resignation\r\n\r\nexport const RESIGN_SUCCESS = 'RESIGN_SUCCESS';\r\n\r\n\r\n\r\nexport const FETCH_MY_COMPETITION_HISTORY_REQUEST = 'FETCH_MY_COMPETITION_HISTORY_REQUEST';\r\nexport const FETCH_MY_COMPETITION_HISTORY_SUCCESS = 'FETCH_MY_COMPETITION_HISTORY_SUCCESS';\r\nexport const FETCH_MY_COMPETITION_HISTORY_FAIL = 'FETCH_MY_COMPETITION_HISTORY_FAIL';\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Filterbar__container__3F_tE\",\"item\":\"Filterbar__item__3gmSQ\",\"icon\":\"Filterbar__icon__2fk3N\"};","export default __webpack_public_path__ + \"geomanist-ultra-webfont.7e0ee86cb44b1ce197873efb7ac13ed9.woff\";","import React, { useState } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport Icon from './Icon'\r\nimport { useSpring, a, config } from 'react-spring'\r\nimport { useMeasure, usePrevious } from '../hooks/useMeasure'\r\nimport styled from 'styled-components';\r\n\r\nconst Plus = styled.div`\r\n opacity: 0.6;\r\n transition: opacity 0.2s linear;\r\n will-change: opacity;\r\n color: var(--link-color);\r\n`\r\n\r\n\r\nconst ItemHeader = styled.div`\r\n min-height: var(--vertical-rythm);\r\n border-top: 1px solid rgba(255, 255, 255, 0.1);\r\n \r\n padding: 12px 0;\r\n font-size: 20px;\r\n line-height: 24px;\r\n font-weight: bold;\r\n cursor: pointer;\r\n\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n\r\n &:hover ${Plus} {\r\n opacity: 1;\r\n }\r\n`\r\n\r\nconst ItemContent = styled.div`\r\n padding: 0px 0px 12px 0px;\r\n\r\n`\r\n\r\n\r\nconst FaqItem = ({ heading, children }) => {\r\n\r\n const [open, setOpen] = useState(false);\r\n const previous = usePrevious(open);\r\n\r\n const [bind, { height: viewHeight }] = useMeasure();\r\n\r\n const { height } = useSpring({\r\n from: { height: 0 },\r\n to: { height: open ? viewHeight : 0 },\r\n config : { ...config.stiff, clamp : true }\r\n });\r\n\r\n const { opacity } = useSpring({\r\n from: { opacity: 0 },\r\n to: { opacity: open ? 1 : 0 },\r\n config : { ...config.stiff, clamp : true },\r\n delay : 200 \r\n });\r\n\r\n return (\r\n
\r\n setOpen(!open) }>\r\n { heading }\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n { children }\r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nconst Faq = ({ children }) => {\r\n return (\r\n
\r\n { children }\r\n
\r\n )\r\n}\r\n\r\nFaq.propTypes = {\r\n children: function (props, propName, componentName) {\r\n const prop = props[propName]\r\n \r\n let error = null\r\n React.Children.forEach(prop, function (child) {\r\n if (child.type !== FaqItem) {\r\n error = new Error('`' + componentName + '` children should be of type `FaqItem`.');\r\n }\r\n });\r\n return error\r\n }\r\n}\r\n\r\nFaq.defaultProps = {\r\n}\r\n\r\nexport { Faq, FaqItem }\r\n\r\n","import React, { useState, useRef, useEffect } from 'react'\r\nimport ResizeObserver from 'resize-observer-polyfill'\r\n\r\nexport function usePrevious(value) {\r\n const ref = useRef()\r\n useEffect(() => void (ref.current = value), [value])\r\n return ref.current\r\n}\r\n\r\nexport function useMeasure() {\r\n const ref = useRef();\r\n\r\n const [bounds, set] = useState({ left: 0, top: 0, width: 0, height: 0 })\r\n const [ro] = useState(() => new ResizeObserver(([entry]) => set(entry.contentRect)))\r\n \r\n useEffect(() => {\r\n if (ref.current) \r\n ro.observe(ref.current);\r\n \r\n return () => ro.disconnect()\r\n }, [])\r\n \r\n return [{ ref }, bounds]\r\n}\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\n\r\nimport styles from './Alert.scss'\r\n\r\nconst Alert = ({ type, image, children }) => {\r\n const className = classNames(\r\n styles.alert,\r\n styles[type]\r\n );\r\n\r\n\r\n return (\r\n
\r\n
{ image }
\r\n
\r\n { children }\r\n
\r\n
\r\n )\r\n}\r\n\r\nAlert.propTypes = {\r\n type: PropTypes.string\r\n}\r\n\r\nAlert.defaultProps = {\r\n type : 'error'\r\n}\r\n\r\nexport default Alert","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nconst ExternalLink = ({ className, renderAs, button, href, children }) => {\r\n const style = button ? { textTransform : 'uppercase', height: '48px', lineHeight : '48px' } : null;\r\n\r\n let actualHref = href || '';\r\n let fullHref = (actualHref.indexOf('/') == 0) ? window.swush.externalBaseUrl + actualHref : window.swush.externalBaseUrl + '/' + actualHref;\r\n \r\n if (renderAs === 'div') {\r\n return
location.href = href }>{ children }
\r\n }\r\n \r\n \r\n return { children } \r\n}\r\n\r\nExternalLink.propTypes = {\r\n href: PropTypes.string,\r\n button : PropTypes.bool,\r\n renderAs : PropTypes.string\r\n}\r\n\r\nexport default ExternalLink;\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport serverTime from '../common/serverTime';\r\n\r\nclass CountdownBase extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n round: 0,\r\n days: 0,\r\n hours: 0,\r\n minutes: 0,\r\n seconds: 0,\r\n rounds: 0,\r\n show: true\r\n };\r\n\r\n this.timer = null;\r\n this.update = this.update.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.timer = setInterval(() => { this.update(this.props) }, 1000);\r\n this.update(this.props);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n this.update(nextProps);\r\n }\r\n\r\n componentWillUnmount() {\r\n clearInterval(this.timer);\r\n }\r\n\r\n update() {\r\n const { to } = this.props;\r\n \r\n let time = to - serverTime.now();\r\n\r\n if (time < 0)\r\n time = 0;\r\n\r\n let tsec = parseInt(time / 1000);\r\n\r\n let days = Math.floor(tsec / (60 * 60 * 24));\r\n tsec -= days * (60 * 60 * 24)\r\n\r\n let hours = Math.floor(tsec / (60 * 60));\r\n tsec -= hours * (60 * 60);\r\n\r\n let minutes = Math.floor(tsec / (60));\r\n tsec -= minutes * (60);\r\n\r\n let seconds = tsec;\r\n\r\n this.setState({\r\n days,\r\n hours,\r\n minutes,\r\n seconds\r\n });\r\n\r\n\r\n }\r\n\r\n formatPart(value) {\r\n return ('0' + value).slice(-2);\r\n }\r\n\r\n render() {\r\n return this.props.children(this.state)\r\n }\r\n}\r\n\r\nCountdownBase.propTypes = {\r\n to: PropTypes.instanceOf(Date).isRequired,\r\n children : PropTypes.func.isRequired\r\n}\r\n\r\nexport default CountdownBase;\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport CountdownBase from './CountdownBase'\r\n\r\nconst TextCountdown = ({ to, children }) => {\r\n const formatPart = (value) => {\r\n return ('0' + value).slice(-2);\r\n }\r\n\r\n return (\r\n \r\n {\r\n values => {\r\n const text = `${ values.days } ${ formatPart(values.hours) }:${ formatPart(values.minutes) }:${ formatPart(values.seconds) }` \r\n return children(text);\r\n }\r\n }\r\n \r\n )\r\n}\r\n\r\nTextCountdown.propTypes = {\r\n to: PropTypes.instanceOf(Date).isRequired,\r\n}\r\n\r\nexport default TextCountdown;\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport TextCountdown from './TextCountdown'\r\n\r\nimport styles from './Countdown.scss'\r\n\r\nconst Countdown = ({ to }) => {\r\n \r\n\r\n return (\r\n \r\n {\r\n text => ({ text })\r\n }\r\n \r\n )\r\n}\r\n\r\nCountdown.propTypes = {\r\n to: PropTypes.instanceOf(Date).isRequired\r\n}\r\n\r\nexport default Countdown;\r\n","import React from 'react'\r\n\r\nimport styled from 'styled-components'\r\nimport { flexbox, layout } from 'styled-system'\r\n\r\nconst Flex = styled.div`\r\n display: flex;\r\n\r\n ${ flexbox }\r\n ${ layout }\r\n`\r\nexport default Flex;","import React from 'react'\r\nimport classNames from 'classnames'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport Countdown from './Countdown'\r\n\r\nimport styles from './Gamebox.scss'\r\n\r\nconst GameboxHeader = ({ title, subtitle, status, sponsorImageUrl }) => {\r\n return (\r\n
\r\n { sponsorImageUrl &&
}\r\n
{ title }
\r\n { subtitle &&
{ subtitle }
}\r\n { status &&
{ status }
}\r\n
\r\n )\r\n}\r\n\r\nGameboxHeader.propTypes = {\r\n title : PropTypes.node.isRequired,\r\n subtitle : PropTypes.node,\r\n status : PropTypes.node,\r\n sponsorImageUrl : PropTypes.string,\r\n}\r\n\r\n\r\n\r\nconst GameboxCallToAction = ({ title, countdownTo, action }) => {\r\n\r\n const className = classNames(\r\n styles.cta\r\n );\r\n\r\n return (\r\n
\r\n
\r\n
{ title }
\r\n
\r\n \r\n
\r\n
\r\n
\r\n { action }\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nGameboxCallToAction.propTypes = {\r\n title : PropTypes.string.isRequired,\r\n large : PropTypes.bool\r\n}\r\n\r\n\r\nconst GameboxContent = ({ children }) => {\r\n return (\r\n
\r\n { children }\r\n
\r\n )\r\n}\r\n\r\nclass Gamebox extends React.PureComponent { \r\n static Header = GameboxHeader;\r\n static Content = GameboxContent;\r\n static CallToAction = GameboxCallToAction;\r\n\r\n render() {\r\n const { large, disabled, children } = this.props;\r\n\r\n const className = classNames(\r\n styles.gamebox,\r\n {\r\n [styles.disabled] : disabled,\r\n [styles.large] : large\r\n }\r\n\r\n );\r\n\r\n return (\r\n
\r\n { children }\r\n
\r\n )\r\n }\r\n}\r\n\r\n\r\nGamebox.propTypes = {\r\n large : PropTypes.bool,\r\n disabled : PropTypes.bool\r\n}\r\n\r\nGamebox.defaultProps = {\r\n}\r\n\r\nexport default Gamebox;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport Avatar from './Avatar'\r\nimport Box from './Box'\r\nimport { Text } from './Typography'\r\n\r\nconst UserIdentity = ({ user }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n { user.isDeleted ? (Deleted) : user.username }\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nUserIdentity.propTypes = {\r\n user: PropTypes.object.isRequired,\r\n \r\n}\r\n\r\nexport default UserIdentity;\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { Text } from './Typography'\r\nimport Icon from './Icon'\r\nimport Box from './Box'\r\n\r\nimport styles from './FactList.module.css'\r\n\r\nexport const FactListItem = ({ size, icon, children, label }) => {\r\n return (\r\n \r\n { children }\r\n \r\n \r\n { icon && }\r\n { label }\r\n \r\n \r\n )\r\n}\r\n\r\nexport const FactList = ({ size, children }) => {\r\n return (\r\n
\r\n { React.Children.map(children, child => child ? React.cloneElement(child, { size }) : null ) }\r\n
\r\n )\r\n}\r\n\r\nFactList.propTypes = {\r\n size : PropTypes.string,\r\n shadow : PropTypes.bool\r\n}\r\n\r\nFactList.defaultProps = {\r\n size : 'm'\r\n}","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nconst defaultPhaseObject = {\r\n text : '',\r\n heading : '',\r\n deadline : new Date(1970, 1, 1),\r\n round : 0,\r\n rounds : 0\r\n}\r\n\r\nconst Phase = ({ game, configuration, children }) => {\r\n\r\n if (!game || !configuration) {\r\n return children(defaultPhaseObject);\r\n }\r\n\r\n\r\n let phaseName = null;\r\n let deadline = null;\r\n let roundNumber = 0;\r\n\r\n const now = new Date();\r\n\r\n for(let i = 0; i < game.rounds.length; i++) {\r\n const round = game.rounds[i];\r\n const close = new Date(round.close);\r\n\r\n if (now < close) {\r\n if (i === 0) {\r\n phaseName = 'starting'\r\n deadline = close;\r\n \r\n } else {\r\n phaseName = 'open'\r\n deadline = new Date(round.close);\r\n }\r\n roundNumber = i +1;\r\n break;\r\n }\r\n else if (now < new Date(round.end)) {\r\n if (i === game.rounds.length - 1) {\r\n phaseName = 'ending',\r\n deadline = new Date(round.end);\r\n }\r\n else {\r\n phaseName = 'closed'\r\n deadline = new Date(round.end);\r\n }\r\n roundNumber = i +1;\r\n break;\r\n }\r\n }\r\n\r\n if (!phaseName) {\r\n phaseName = 'ended';\r\n deadline = new Date(game.rounds[game.rounds.length - 1 ].end);\r\n roundNumber = game.rounds.length;\r\n }\r\n \r\n let phaseObj = configuration && configuration.phases && configuration.phases[phaseName];\r\n if (!phaseObj) {\r\n phaseObj = {\r\n text : phaseName,\r\n heading : phaseName\r\n \r\n };\r\n }\r\n\r\n phaseObj = {\r\n ...phaseObj,\r\n deadline,\r\n round : roundNumber,\r\n rounds : game.rounds.length\r\n }\r\n\r\n return children(phaseObj);\r\n}\r\n\r\nPhase.propTypes = {\r\n game : PropTypes.object,\r\n configuration : PropTypes.object\r\n}\r\n\r\nexport default Phase;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport TextCountdown from './TextCountdown'\r\n\r\nconst PhaseText = ({ text, phase }) => {\r\n \r\n text = text || '';\r\n \r\n return (\r\n \r\n {\r\n (countdown) => {\r\n const args = [phase.round, phase.rounds, countdown];\r\n return text.replace(/{(\\d+)}/g, (match, number) => args[number])\r\n }\r\n }\r\n \r\n )\r\n}\r\n\r\nPhaseText.propTypes = {\r\n game : PropTypes.object,\r\n configuration : PropTypes.object\r\n}\r\n\r\nexport default PhaseText;","import React, { useMemo, useState } from 'react'\r\n\r\nimport { space, layout } from 'styled-system'\r\n\r\nimport Linkify from 'react-linkify'\r\n\r\nimport styled from 'styled-components'\r\n\r\n\r\nexport const PostCard = styled.div`\r\n background: var(--card-background-color);\r\n border-radius: var(--border-radius);\r\n\r\n ${ space }\r\n ${ layout }\r\n`\r\n\r\n\r\n\r\nexport const PostHeader = styled.div`\r\n display: flex;\r\n height: 36px;\r\n align-items: center;\r\n justify-content: space-between;\r\n margin-bottom: 12px;\r\n`\r\n\r\nexport const PostContent = styled.div`\r\n \r\n line-height: 16px;\r\n`\r\n\r\n\r\nexport const PostDivider = styled.hr`\r\n height: 1px;\r\n margin: 12px 0 ;\r\n`\r\n\r\n\r\n\r\nconst componentDecorator = (href, text, key) => (\r\n \r\n {text}\r\n \r\n );\r\n\r\nexport const PostText = ({ text }) => {\r\n const lines = useMemo(() => text.split('\\n'), [text]);\r\n\r\n return { lines.map((l, index) => { l }
) }
\r\n}\r\n\r\n\r\n\r\n\r\n","import React from 'react'\r\n\r\nimport styles from './MatchCard.scss'\r\n\r\nclass MatchCardGroup extends React.PureComponent{\r\n render () {\r\n const { children, heading } = this.props;\r\n return (\r\n
\r\n
{ heading }
\r\n { children }\r\n
\r\n )\r\n }\r\n}\r\n\r\nMatchCardGroup.propTypes = {\r\n}\r\n\r\nexport default MatchCardGroup;","import React from 'react'\r\n\r\nimport classNames from 'classnames'\r\n\r\nimport styles from './MatchCard.scss'\r\n\r\nclass MatchCardList extends React.PureComponent{\r\n render () {\r\n\r\n const className = classNames(\r\n styles.list\r\n \r\n )\r\n\r\n const { children, style } = this.props;\r\n return (\r\n
{ children }
\r\n )\r\n }\r\n}\r\n\r\nMatchCardList.propTypes = {\r\n}\r\n\r\nexport default MatchCardList;","import React, { useEffect, useState } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport styles from './Scorebox.module.css'\r\nimport { useRef } from 'react'\r\nimport classNames from 'classnames'\r\n\r\nfunction usePrevious(value) {\r\n // The ref object is a generic container whose current property is mutable ...\r\n // ... and can hold any value, similar to an instance property on a class\r\n const ref = useRef();\r\n // Store current value in ref\r\n useEffect(() => {\r\n ref.current = value;\r\n }, [value]); // Only re-run if value changes\r\n // Return previous value (happens before update in useEffect above)\r\n return ref.current;\r\n }\r\n\r\nconst useDebounce = (value, delay) => {\r\n const time = useRef((new Date()).getTime());\r\n const [debouncedValue, setDebouncedValue] = useState(value);\r\n\r\n useEffect(() => {\r\n let nTime = (new Date()).getTime();\r\n\r\n if ((nTime - time.current) > delay)\r\n {\r\n setDebouncedValue(value)\r\n time.current = (new Date()).getTime();\r\n }\r\n else {\r\n\r\n\r\n let timeout = setTimeout(() => {\r\n setDebouncedValue(value);\r\n time.current = (new Date()).getTime();\r\n }, delay);\r\n\r\n return () => {\r\n clearTimeout(timeout);\r\n }\r\n }\r\n }, [value]);\r\n\r\n return debouncedValue\r\n}\r\n\r\nconst Digit = ({ value }) => {\r\n const ref = useRef();\r\n const _value = useDebounce(value, 2000);\r\n const previous = usePrevious(_value);\r\n\r\n useEffect(() => {\r\n if (ref.current) {\r\n const handleTransitionEnd = () => {\r\n ref.current.classList.remove(styles.transitioning);\r\n ref.current.style.transform = 'translate3d(0, -' + (_value * 100) + '%, 0)'\r\n }\r\n\r\n ref.current.addEventListener('transitionend', handleTransitionEnd);\r\n\r\n return () => {\r\n ref.current.removeEventListener('transitionend', handleTransitionEnd);\r\n }\r\n }\r\n }, [ref, _value]);\r\n\r\n \r\n useEffect(() => {\r\n ref.current.style.visibility = 'visible';\r\n\r\n if (typeof previous === 'undefined') {\r\n ref.current.style.transform = 'translate3d(0, -' + (_value * 100) + '%, 0)' \r\n } else {\r\n\r\n if (_value < previous) {\r\n ref.current.style.transform = 'translate3d(0, -' + ((_value + 10) * 100) + '%, 0)' // rollover\r\n }\r\n else {\r\n ref.current.style.transform = 'translate3d(0, -' + (_value * 100) + '%, 0)'\r\n }\r\n\r\n ref.current.classList.add(styles.transitioning);\r\n }\r\n }, [_value])\r\n\r\n return (\r\n
\r\n 0\r\n 1\r\n 2\r\n 3\r\n 4\r\n 5\r\n 6\r\n 7\r\n 8\r\n 9\r\n 0\r\n 1\r\n 2\r\n 3\r\n 4\r\n 5\r\n 6\r\n 7\r\n 8\r\n 9\r\n
\r\n )\r\n}\r\n\r\n\r\nconst Scorebox = React.memo(({ size, value }) => {\r\n const previousValue = useRef(value);\r\n\r\n const sArr = (value + '').split('');\r\n const [isHighlighted, setIsHightlighted] = useState(false);\r\n\r\n\r\n useEffect(() => {\r\n if (value !== previousValue.current && typeof value !== 'undefined' && typeof previousValue !== 'undefined') {\r\n previousValue.current = value;\r\n\r\n setIsHightlighted(true);\r\n\r\n const timeout = setTimeout(() => {\r\n setIsHightlighted(false);\r\n }, 3000);\r\n\r\n return () => {\r\n clearTimeout(timeout);\r\n }\r\n }\r\n\r\n }, [value]);\r\n\r\n const className = classNames(\r\n styles.container,\r\n {\r\n [styles.highlight] : isHighlighted,\r\n [styles.large] : size === 'l'\r\n }\r\n )\r\n\r\n\r\n return (\r\n
\r\n {\r\n sArr.map((s, index) => {\r\n return ()\r\n })\r\n }\r\n \r\n
\r\n )\r\n})\r\n\r\nScorebox.propTypes = {\r\n type: PropTypes.string\r\n}\r\n\r\nexport default Scorebox","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport classNames from 'classnames'\r\n\r\nimport Icon from './Icon'\r\n\r\nimport styles from './MatchCard.scss'\r\nimport styled from 'styled-components'\r\nimport Scorebox from './Scorebox'\r\n\r\n\r\n\r\nconst MatchCardFooter = ({ children }) => {\r\n\r\n const className = classNames(\r\n styles.footer\r\n )\r\n\r\n return
{ children }
\r\n}\r\n\r\nconst Content = ({ children }) => {\r\n return
{ children }
\r\n\r\n}\r\n\r\nconst MatchCardIcon = ({ children }) => {\r\n return
{ children }
\r\n\r\n}\r\n\r\nconst SimpleEventContent = ({ round, title }) => {\r\n\r\n const className = classNames(\r\n styles.content,\r\n styles.simpleEvent\r\n )\r\n\r\n return
\r\n
{ round }
\r\n
{ title }
\r\n
\r\n}\r\n\r\nconst StyledWrapper = styled.div`\r\n\t--matchcard-background-color: ${ props => props.theme.colors.cardBackground };\t\r\n\t--matchcard-border-radius: ${ props => props.theme.radii.r400 };\r\n\t--matchcard-shadow: ${ props => props.theme.shadows.card };\r\n\t--matchcard-separator-color: ${ props => props.theme.colors.borderUp };\r\n`\r\n\r\nconst VersusEventContent = React.memo(({ group, home, away, homeIcon, awayIcon, homeScore, awayScore, status }) => {\r\n\r\n const className = classNames(\r\n styles.content,\r\n styles.versus\r\n )\r\n\r\n return (\r\n
\r\n
\r\n { group &&
{ group }
}\r\n
\r\n { home ? home : '-' }\r\n { homeIcon && }\r\n
\r\n
\r\n { away ? away : '-' }\r\n { awayIcon && }\r\n
\r\n
\r\n\r\n {\r\n status !== 'pending' && \r\n \r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n )\r\n})\r\n\r\n\r\n\r\nconst Progress = React.memo(({ children }) => {\r\n return
\r\n { children }\r\n
\r\n})\r\n\r\n\r\n\r\n\r\nclass MatchCard extends React.PureComponent{\r\n \r\n static Footer = MatchCardFooter;\r\n\r\n static Content = Content;\r\n static SimpleEventContent = SimpleEventContent;\r\n static VersusEventContent = VersusEventContent;\r\n static Progress = Progress;\r\n static Icon = MatchCardIcon;\r\n\r\n render () {\r\n const { children, pre, post, live, unread, current, onClick } = this.props;\r\n\r\n const className = classNames(\r\n styles.matchCard,\r\n {\r\n [styles.pre] : pre,\r\n [styles.current] : current,\r\n //[styles.live] : live,\r\n [styles.post] : post,\r\n [styles.unread] : unread\r\n }\r\n )\r\n\r\n return (\r\n \r\n
{ children }
\r\n
\r\n )\r\n }\r\n}\r\n\r\nMatchCard.propTypes = {\r\n onClick : PropTypes.func.isRequired,\r\n active : PropTypes.bool,\r\n highlight : PropTypes.bool\r\n}\r\n\r\nexport default MatchCard;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport styles from './MatchHead.scss'\r\nimport Scorebox from './Scorebox'\r\n\r\nimport classNames from 'classnames'\r\n\r\nconst VersusMatchHead = ({ group, date, country, location, progress, home, away, homeScore, awayScore, time, homeEvents, awayEvents, live }) => \r\n{\r\n\r\n const className = classNames(\r\n styles.versus,\r\n {\r\n [styles.live] : live\r\n }\r\n )\r\n\r\n return (\r\n
\r\n
\r\n
\r\n { group }
\r\n { date }\r\n
\r\n
\r\n\r\n
\r\n
\r\n { country }
\r\n { location }\r\n
\r\n
\r\n\r\n
\r\n { progress }\r\n
\r\n\r\n
{ home }
\r\n
{ away }
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
{ time }
\r\n\r\n
{ homeEvents }
\r\n
{ awayEvents }
\r\n
\r\n )\r\n}\r\n\r\n\r\nconst SimpleMatchHead = ({ children }) => \r\n{\r\n return
{ children }
;\r\n}\r\n\r\n\r\nclass MatchHead extends React.PureComponent {\r\n static Versus = VersusMatchHead;\r\n static Simple = SimpleMatchHead;\r\n\r\n render() {\r\n return (\r\n
\r\n { this.props.children }\r\n
\r\n )\r\n\r\n }\r\n}\r\n\r\n\r\n\r\nMatchHead.propTypes = {\r\n backgroundImageUrl : PropTypes.string\r\n}\r\n\r\nMatchHead.defaultProps = {\r\n}\r\n\r\n\r\nexport default MatchHead;\r\n","import React, { useEffect, useRef } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport ReactDOM from 'react-dom'\r\n\r\nimport styled from 'styled-components'\r\n\r\nconst StyledMasonry = styled.div`\r\n display: grid;\r\n grid-row-gap : ${ props => props.rowGap }px;\r\n grid-column-gap : ${ props => props.columnGap }px;\r\n grid-template-columns: ${ props => `repeat(auto-fill, minmax(${ props.minimumWidth }px, 1fr))` };\r\n grid-auto-rows: ${ props => props.rowHeight }px;\r\n`\r\n\r\nconst measureElement = element => {\r\n const DOMNode = ReactDOM.findDOMNode(element)\r\n\r\n return {\r\n width: DOMNode.getBoundingClientRect().width,\r\n height: DOMNode.getBoundingClientRect().height,\r\n };\r\n}\r\n\r\nconst Masonry = ({ rowGap, columnGap, rowHeight, minimumWidth, children }) => {\r\n const ref = useRef();\r\n\r\n useEffect(() => {\r\n if (ref.current) {\r\n for(let i = 0; i < ref.current.childNodes.length; i++) {\r\n const el = ref.current.childNodes[i];\r\n \r\n const height = 0;\r\n \r\n for(let j = 0; j < el.childNodes.length; j++) {\r\n const node = el.childNodes[j];\r\n if (node.getBoundingClientRect) {\r\n height += el.childNodes[j].getBoundingClientRect().height;\r\n }\r\n }\r\n \r\n const span = Math.ceil(\r\n (height) / (rowHeight + rowGap)\r\n );\r\n \r\n el.style.gridRowEnd = \"span \" + span;\r\n \r\n }\r\n }\r\n })\r\n\r\n \r\n return \r\n { children }\r\n \r\n}\r\n\r\nMasonry.propTypes = {\r\n rowGap : PropTypes.number.isRequired,\r\n columnGap : PropTypes.number.isRequired,\r\n rowHeight : PropTypes.number.isRequired,\r\n minimumWidth : PropTypes.number.isRequired\r\n}\r\n\r\nMasonry.defaultProps = {\r\n}\r\n\r\n\r\nexport default Masonry;\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport serverTime from '../common/serverTime';\r\n\r\n\r\nconst getPeriodBaseMinute = (periodIndex) => { \r\n switch(periodIndex) {\r\n case 0: return 0;\r\n case 1: return 45;\r\n case 2: return 90;\r\n case 3: return 105;\r\n case 4: return 120;\r\n default: return 120;\r\n }\r\n}\r\n\r\nconst getNominalPeriodDuration = (periodIndex) => { \r\n switch(periodIndex) {\r\n case 0: \r\n return 45;\r\n case 1:\r\n return 90;\r\n case 2:\r\n return 105;\r\n case 3:\r\n return 120;\r\n case 4:\r\n return 135;\r\n default: \r\n return 135;\r\n }\r\n}\r\n\r\nconst getStops = (periodIndex) => { \r\n switch(periodIndex) {\r\n case 0: \r\n case 1: \r\n return [0, 45, 90];\r\n case 2: \r\n case 3: \r\n return [0, 45, 90, 105, 120]\r\n case 4: \r\n return [0, 45, 90, 105, 120, 135]\r\n default: \r\n return [0, 45, 90];\r\n }\r\n}\r\n\r\nclass SoccerClock extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n period: 0,\r\n \r\n minutes: 0,\r\n seconds: 0,\r\n\r\n nominalMinutes: 0,\r\n nominalSeconds: 0,\r\n \r\n maximumMinutes : 0,\r\n\r\n stops : [],\r\n \r\n started: false,\r\n paused: false,\r\n finished: false\r\n };\r\n\r\n this.timer = null;\r\n this.update = this.update.bind(this);\r\n\r\n \r\n }\r\n\r\n componentDidMount() {\r\n this.timer = setInterval(() => { this.update(this.props) }, 1000);\r\n this.update(this.props);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n this.update(nextProps);\r\n }\r\n\r\n componentWillUnmount() {\r\n clearInterval(this.timer);\r\n }\r\n\r\n update() {\r\n const { match } = this.props;\r\n\r\n const periods = match.periods || [];\r\n\r\n if (periods.length == 0) {\r\n this.setState({\r\n period : 1,\r\n \r\n minutes : 0,\r\n seconds : 0,\r\n\r\n nominalMinutes : 0,\r\n nominalSeconds : 0,\r\n \r\n maximumMinutes : 90,\r\n \r\n paused: false,\r\n \r\n stops : getStops(0),\r\n \r\n started: false,\r\n finished: false\r\n });\r\n return;\r\n\r\n }\r\n\r\n\r\n const period = periods.length;\r\n const baseMinute = getPeriodBaseMinute(period - 1);\r\n\r\n const currentPeriod = periods[periods.length - 1];\r\n const end = currentPeriod.end ? new Date(currentPeriod.end) : serverTime.now();\r\n \r\n let time = end - new Date(currentPeriod.start);\r\n\r\n if (time < 0)\r\n time = 0;\r\n\r\n let seconds = parseInt(time / 1000) + (baseMinute * 60);\r\n\r\n let minutes = Math.floor(seconds / (60));\r\n seconds -= minutes * (60);\r\n\r\n const nominalMinutes = getNominalPeriodDuration(period - 1);\r\n\r\n\r\n this.setState({\r\n period,\r\n \r\n minutes,\r\n seconds,\r\n\r\n nominalMinutes : nominalMinutes < minutes ? nominalMinutes : minutes,\r\n nominalSeconds : nominalMinutes < minutes ? 0 : seconds,\r\n\r\n maximumMinutes : 90,\r\n\r\n paused: !!currentPeriod.end,\r\n\r\n stops : getStops(periods.length - 1),\r\n\r\n started: match.state === 'live',\r\n finished: match.state === 'update' || match.state === 'completed'\r\n });\r\n }\r\n\r\n render() {\r\n return this.props.children(this.state)\r\n }\r\n}\r\n\r\nSoccerClock.propTypes = {\r\n match: PropTypes.object.isRequired\r\n}\r\n\r\nexport default SoccerClock;\r\n","import React from 'react'\r\n\r\n\r\nimport styled from 'styled-components'\r\n\r\n\r\nconst SectionHeading = styled.div`\r\n\theight: 36px;\r\n line-height: 36px;\r\n \r\n margin-bottom: 6px;\r\n`\r\n\r\nexport default SectionHeading;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport classNames from 'classnames'\r\n\r\nimport styles from './Round.scss'\r\n\r\nconst Round = ({ children, post }) => {\r\n\r\n const className = classNames(\r\n styles.round,\r\n {\r\n [styles.post] : post\r\n }\r\n )\r\n\r\n return (\r\n \r\n { children }\r\n \r\n )\r\n}\r\n\r\nRound.propTypes = {\r\n}\r\n\r\n\r\nexport default Round","import React from 'react'\r\nimport classNames from 'classnames'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { HorizontalMenu, MenuItem } from './Menu'\r\n\r\nimport styles from './SiteFooter.scss'\r\n\r\n\r\n\r\nconst SiteFooter = ({ content, menuItems, flair }) => { \r\n\r\n if (window.swush.views && window.swush.views.footer) {\r\n return \r\n }\r\n\r\n\r\n return (\r\n
\r\n {\r\n menuItems && \r\n \r\n {\r\n menuItems.filter(m => m.type === 'secondary').map((i, index) => {\r\n return { i.label }\r\n })\r\n }\r\n \r\n }\r\n\r\n
\r\n
\r\n
\r\n { \r\n flair.map((f, i) => { return (\r\n \r\n \r\n \r\n )})\r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nSiteFooter.propTypes = {\r\n content : PropTypes.string,\r\n menuItems : PropTypes.array,\r\n flair : PropTypes.array\r\n}\r\n\r\nSiteFooter.defaultProps = {\r\n}\r\n\r\nexport default SiteFooter;","import React from 'react';\r\n\r\nimport styles from './ColumnLayout.module.css'\r\n\r\nexport const ColumnLayoutColumn = ({ children }) => {\r\n return
{ children }
;\r\n}\r\n\r\nexport const ColumnLayout = ({ children }) => {\r\n const templateColumns = React.Children.map(children, child => child.props.width || '1fr').join(' ');\r\n\r\n return (\r\n
\r\n { children}\r\n
\r\n )\r\n}\r\n\r\nColumnLayout.defaultProps = {\r\n\r\n}","import React from 'react'\r\n\r\nimport styled, { css } from 'styled-components'\r\n\r\nconst Container = styled.div`\r\n ${ props => props.identity && css`background-color: var(--identity)` };\r\n`\r\n\r\nconst Content = styled.div`\r\n max-width: 1200px;\r\n margin: 0 auto;\r\n\r\n padding: 12px;\r\n \r\n`\r\n\r\n\r\n\r\nexport const PageContentContainer = ({ identity, children }) => {\r\n return (\r\n \r\n { children }\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport dayjs from 'dayjs'\r\n\r\nimport serverTime from '../common/serverTime';\r\n\r\nimport translatable from '../hocs/translatable'\r\n\r\nconst TIME_FORMAT = 'HH:mm';\r\n\r\nconst DATE_FORMAT = 'DD. MMM YYYY';\r\nconst DATETIME_FORMAT = 'DD. MMM YYYY, HH:mm';\r\nconst LONG_DATE_FORMAT = 'dddd DD. MMM YYYY';\r\nconst LONG_DATETIME_FORMAT = 'dddd DD. MMM YYYY, HH:mm';\r\n\r\nconst CURRENT_YEAR_DATE_FORMAT = 'DD. MMM';\r\nconst CURRENT_YEAR_DATETIME_FORMAT = 'DD. MMM, HH:mm';\r\nconst LONG_CURRENT_YEAR_DATE_FORMAT = 'dddd DD. MMM';\r\nconst LONG_CURRENT_YEAR_DATETIME_FORMAT = 'dddd DD. MMM, HH:mm';\r\n\r\nconst EventDate = ({ displayDate, displayTime, format, t, date }) => {\r\n\r\n const dt = dayjs(date);\r\n const now = dayjs(serverTime.now());\r\n const diff = now.diff(dt, 'days');\r\n\r\n const yesterday = now.subtract(1, 'day');\r\n const tomorrow = now.add(1, 'day');\r\n\r\n\r\n if (!displayDate) {\r\n return dt.format(TIME_FORMAT);\r\n }\r\n\r\n if (dt.year() === tomorrow.year() && dt.month() === tomorrow.month() && dt.date() === tomorrow.date()) {\r\n return displayTime ? `${ t('common.tomorrow') }, ${ dt.format(TIME_FORMAT) }` : t('common.tomorrow');\r\n }\r\n else if (dt.year() === yesterday.year() && dt.month() === yesterday.month() && dt.date() === yesterday.date()) {\r\n return displayTime ? `${ t('common.yesterday') }, ${ dt.format(TIME_FORMAT) }` : t('common.yesterday');\r\n }\r\n else if (dt.year() === now.year() && dt.month() === now.month() && dt.date() === now.date()) {\r\n return displayTime ? `${ t('common.today') }, ${ dt.format(TIME_FORMAT) }` : t('common.today');\r\n }\r\n else if (dt.year() == now.year()) {\r\n if (format === 'long')\r\n return displayTime ? dt.format(LONG_CURRENT_YEAR_DATETIME_FORMAT) : dt.format(LONG_CURRENT_YEAR_DATE_FORMAT);\r\n else\r\n return displayTime ? dt.format(CURRENT_YEAR_DATETIME_FORMAT) : dt.format(CURRENT_YEAR_DATE_FORMAT);\r\n }\r\n else {\r\n \r\n if (format === 'long')\r\n return displayTime ? dt.format(LONG_DATETIME_FORMAT) : dt.format(LONG_DATE_FORMAT);\r\n else\r\n return displayTime ? dt.format(DATETIME_FORMAT) : dt.format(DATE_FORMAT);\r\n }\r\n}\r\n\r\nEventDate.propTypes = {\r\n displayDate : PropTypes.bool.isRequired,\r\n displayTime : PropTypes.bool.isRequired,\r\n format : PropTypes.oneOf(['long', 'short'])\r\n}\r\n\r\nEventDate.defaultProps = {\r\n displayDate : true,\r\n displayTime : true,\r\n format : 'long'\r\n}\r\n\r\nexport default translatable(EventDate);\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport classNames from 'classnames'\r\nimport Icon from './Icon'\r\n\r\nimport { number } from '../common/utils'\r\n\r\nimport styles from './TeamList.scss';\r\n\r\n\r\nconst COLORMAP = {\r\n 'basic' : '#B6B2A8',\r\n 'silver' : '#B6B2A8',\r\n 'gold' : '#FFB800'\r\n};\r\n\r\n\r\n\r\nclass TeamList extends React.PureComponent {\r\n render() {\r\n\r\n return null;\r\n const { items, onSelect } = this.props;\r\n\r\n\r\n if (!items || items.length === 0) {\r\n return null;\r\n }\r\n\r\n\r\n const className = classNames(\r\n styles.teamList,\r\n \r\n );\r\n\r\n return (\r\n
\r\n {\r\n items.map((item, index) => {\r\n return
onSelect(item) }>\r\n \r\n \r\n \r\n
\r\n { item.name }\r\n
\r\n
\r\n { item.highscore && number(item.highscore.rankByValue) }\r\n
\r\n
\r\n\r\n })\r\n }\r\n
\r\n )\r\n } \r\n}\r\n\r\nTeamList.propTypes = {\r\n items : PropTypes.array.isRequired,\r\n}\r\n\r\n\r\nexport default TeamList;\r\n","export const getPeriodName = (t, periodIndex) => { return t('soccer.period' + periodIndex); }\r\n\r\nexport const getPeriodBaseMinute = (periodIndex) => { \r\n switch(periodIndex) {\r\n case 0: return 0;\r\n case 1: return 45;\r\n case 2: return 90;\r\n case 3: return 105;\r\n case 4: return 120;\r\n default: return 120;\r\n }\r\n}\r\n\r\nexport const getMinute = (match, evt) => {\r\n var baseMinute = getPeriodBaseMinute(evt.period);\r\n var period = match.periods[evt.period];\r\n var delta = new Date(evt.time) - new Date(period.start);\r\n return Math.floor(delta / 60000) + baseMinute; \r\n}\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport serverTime from '../common/serverTime';\r\nimport dayjs from 'dayjs';\r\nimport translatable from '../hocs/translatable';\r\nimport { getPeriodBaseMinute, getPeriodName } from '../helpers/soccer'\r\n\r\nclass SoccerMatchDate extends React.PureComponent{\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n isFuture: false,\r\n\r\n days: 0,\r\n hours : 0,\r\n minutes : 0,\r\n seconds : 0\r\n };\r\n\r\n this.timer = null;\r\n this.tick = this.tick.bind(this);\r\n \r\n }\r\n\r\n componentDidMount() {\r\n this.timer = setInterval(() => { this.tick(this.props) }, 100);\r\n this.tick(this.props);\r\n }\r\n \r\n componentWillReceiveProps(nextProps) {\r\n this.tick(nextProps);\r\n }\r\n \r\n componentWillUnmount() {\r\n clearInterval(this.timer);\r\n }\r\n \r\n renderLive() {\r\n const { t, match } = this.props;\r\n const isPaused = match.periods.length > 0 && match.periods[match.periods.length - 1].end;\r\n const period = getPeriodName(t, match.periods.length - 1);\r\n let time = (isPaused) ? 'Slut' : `${ this.state.minutes }:${ this.state.seconds }`;\r\n return ({ period } { ' '} { time })\r\n }\r\n\r\n renderPending() {\r\n\r\n \r\n const { isFuture, days, hours, minutes, seconds } = this.state;\r\n const { match } = this.props;\r\n\r\n const mDate = new Date(match.start);\r\n const now = serverTime.now();\r\n\r\n let s = '';\r\n if (mDate > now) { // Future\r\n if (days === 0 && hours === 0 && minutes == 0 && seconds < 30) {\r\n return 'now';\r\n }\r\n else if (days == 0 && hours == 0) {\r\n return `${ hours }:${ seconds }`; \r\n }\r\n else if (\r\n mDate.getFullYear() === now.getFullYear() && \r\n mDate.getMonth() === now.getMonth() &&\r\n mDate.getDay() === now.getDay()) {\r\n\r\n s = dayjs(match.start).format(window.env.moment.nearDateFormat); \r\n }\r\n else {\r\n if (this.props.dateStyle === 'long')\r\n return dayjs(match.start).format(window.env.moment.farDateFormat.long); \r\n else\r\n return dayjs(match.start).format(window.env.moment.farDateFormat.short); \r\n }\r\n }\r\n else {\r\n if (days === 0 && hours === 0 && minutes < 5) {\r\n s = dayjs(match.start).format(window.env.moment.nearDateFormat); \r\n }\r\n else {\r\n if (this.props.dateStyle === 'long')\r\n return dayjs(match.start).format(window.env.moment.farDateFormat.long); \r\n else\r\n return dayjs(match.start).format(window.env.moment.farDateFormat.short); \r\n }\r\n }\r\n\r\n return s;\r\n \r\n }\r\n\r\n renderUpdatedCompleted() {\r\n if (this.props.dateStyle === 'long')\r\n return (
{ dayjs(this.props.match.start).format(window.env.moment.farDateFormat.long) }
)\r\n else\r\n return (
{ dayjs(this.props.match.start).format(window.env.moment.farDateFormat.short) }
)\r\n\r\n \r\n }\r\n\r\n\r\n\r\n tickPending(props) {\r\n const { match } = this.props;\r\n\r\n const delta = serverTime.now() - new Date(match.start);\r\n \r\n let seconds = Math.floor(Math.abs(delta) / 1000);\r\n \r\n const days = Math.floor(seconds / (60 * 60 * 24));\r\n seconds -= days * (60 * 60 * 24);\r\n \r\n const hours = Math.floor(seconds / (60 * 60));\r\n seconds -= hours * (60 * 60);\r\n \r\n const minutes = Math.floor(seconds / 60);\r\n seconds -= minutes * 60;\r\n\r\n this.setState({\r\n isFuture : delta < 0,\r\n\r\n days,\r\n hours,\r\n minutes,\r\n seconds,\r\n });\r\n }\r\n\r\n\r\n tick(props) {\r\n const { match } = this.props;\r\n\r\n if (match.status == 'pending') {\r\n this.tickPending(props);\r\n \r\n }\r\n else if (match.periods.length > 0) {\r\n\r\n const minuteBase = getPeriodBaseMinute(match.periods.length);\r\n \r\n const lastPeriod = match.periods[match.periods.length - 1];\r\n const to = lastPeriod.end ? new Date(lastPeriod.end) : serverTime.now();\r\n\r\n let seconds = Math.floor(((to - new Date(lastPeriod.start)) + (minuteBase * 60 * 1000)) / 1000);\r\n \r\n let minutes = Math.floor(seconds / 60);\r\n seconds -= minutes * 60;\r\n\r\n this.setState({\r\n \r\n \r\n minutes,\r\n seconds\r\n \r\n });\r\n\r\n }\r\n }\r\n\r\n\r\n \r\n render() {\r\n const { match } = this.props;\r\n \r\n switch(match.status) {\r\n case 'pending':\r\n return this.renderPending();\r\n case 'live':\r\n return this.renderLive();\r\n case 'updated':\r\n case 'completed':\r\n return this.renderUpdatedCompleted();\r\n }\r\n\r\n\r\n\r\n\r\n\r\n return { s } \r\n } \r\n}\r\n\r\nSoccerMatchDate.propTypes = {\r\n match: PropTypes.object.isRequired,\r\n dateStyle : PropTypes.string.isRequired\r\n}\r\n\r\nSoccerMatchDate.defaultProps = {\r\n dateStyle : 'long'\r\n}\r\n\r\nexport default translatable(SoccerMatchDate);\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport GameContext from '../containers/GameContext'\r\n\r\nconst PLAYER_AVATAR_MAP = {\r\n tiny : { width : 16, height : 16 },\r\n small : { width : 32, height : 32 },\r\n medium : { width : 64, height : 64 },\r\n large : { width : 128, height : 128 },\r\n huge : { width : 256, height : 256 }\r\n};\r\n\r\nconst PlayerAvatar = ({ player, size = 'small', flipX, flipY }) => {\r\n return (\r\n { ({ game, gameConfiguration }) => {\r\n const scaleX = flipX ? '-1' : '1';\r\n const scaleY = flipY ? '-1' : '1';\r\n \r\n const style = {}\r\n \r\n if (flipX || flipY) {\r\n style.transform = `scale3d(${ scaleX }, ${ scaleY }, 1)`;\r\n }\r\n \r\n let item = PLAYER_AVATAR_MAP[size];\r\n\r\n\r\n if (gameConfiguration && gameConfiguration.avatarUrl) {\r\n \r\n const avatarUrl = gameConfiguration.avatarUrl;\r\n\r\n const url = avatarUrl.replace(/\\{\\{(.*?)\\}\\}/g, (match, token) => player[token])\r\n return \r\n }\r\n else {\r\n const baseUrl = gameConfiguration && gameConfiguration.playerAvatarBaseUrl || '//static-swush-com.s3.amazonaws.com/players/';\r\n const url = `${ baseUrl }${ game.id }/${ player.id }_${ item.width }_${ item.height }.png`;\r\n return \r\n\r\n }\r\n }}\r\n )\r\n}\r\n\r\nPlayerAvatar.propTypes = {\r\n player: PropTypes.object.isRequired,\r\n size: PropTypes.string,\r\n flipX : PropTypes.bool,\r\n flipY : PropTypes.bool\r\n}\r\n\r\nPlayerAvatar.defaultProps = {\r\n flipX : false,\r\n flipY : false\r\n}\r\n\r\n\r\nexport default PlayerAvatar;\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport serverTime from '../common/serverTime';\r\n\r\nclass DeltaClock extends React.PureComponent{\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n minutes : 0,\r\n seconds : 0\r\n };\r\n\r\n this.timer = null;\r\n this.tick = this.tick.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.timer = setInterval(() => { this.tick(this.props) }, 1000);\r\n this.tick(this.props);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n this.tick(nextProps);\r\n }\r\n\r\n componentWillUnmount() {\r\n clearInterval(this.timer);\r\n }\r\n\r\n tick(props) {\r\n const { from, to } = this.props;\r\n \r\n let delta = (to || serverTime.now()) - from;\r\n\r\n if (delta < 0)\r\n delta = 0;\r\n\r\n let seconds = Math.floor(delta / 1000);\r\n \r\n const minutes = Math.floor(seconds / 60);\r\n seconds -= minutes * 60;\r\n\r\n this.setState({ minutes, seconds });\r\n }\r\n\r\n render() {\r\n const m = (this.state.minutes + '').padStart(2, '0');\r\n const s = (this.state.seconds + '').padStart(2, '0');\r\n \r\n return (\r\n { `${ m }:${ s }` }\r\n )\r\n } \r\n}\r\n\r\nDeltaClock.propTypes = {\r\n from : PropTypes.instanceOf(Date).isRequired,\r\n to : PropTypes.instanceOf(Date),\r\n}\r\n\r\nexport default DeltaClock;\r\n","import React, { useEffect } from 'react'\r\n\r\nconst useOnClickOutside = (ref, handler) => {\r\n useEffect(() => {\r\n const listener = event => {\r\n\r\n // Do nothing if clicking ref's element or descendent elements\r\n if (!ref.current || ref.current.contains(event.target)) {\r\n return;\r\n }\r\n \r\n handler(event);\r\n };\r\n \r\n document.addEventListener('mousedown', listener);\r\n document.addEventListener('touchstart', listener);\r\n \r\n return () => {\r\n document.removeEventListener('mousedown', listener);\r\n document.removeEventListener('touchstart', listener);\r\n };\r\n }, [ref, handler]);\r\n}\r\n\r\nexport default useOnClickOutside;","import { useEffect } from 'react';\r\n\r\nconst useOnEscape = (handler) => {\r\n useEffect(() => {\r\n const handleKeyDown = (e) => {\r\n if (e.keyCode == 27) {\r\n handler();\r\n }\r\n };\r\n \r\n document.addEventListener('keydown', handleKeyDown);\r\n\r\n return () => {\r\n document.removeEventListener('keydown', handleKeyDown);\r\n }\r\n }, [handler]);\r\n}\r\n\r\nexport default useOnEscape;","import React, { useRef, useEffect, useState, useCallback } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport ReactDOM from 'react-dom'\r\nimport classNames from 'classnames';\r\n\r\nimport { animated, useTransition } from 'react-spring';\r\n\r\nimport { Text } from '../Typography'\r\n\r\nimport useOnClickOutside from '../useOnClickOutside'\r\nimport useOnEscape from '../useOnEscape'\r\n\r\nimport Box from '../Box'\r\n\r\nimport styles from './Dropdown.module.css'\r\n\r\n\r\nconst defaultItemRenderer = item => {\r\n return (\r\n \r\n { item.label }\r\n \r\n )\r\n}\r\n\r\nconst useOnWheelOutside = (ref, handler) => {\r\n useEffect(() => {\r\n const listener = event => {\r\n // Do nothing if clicking ref's element or descendent elements\r\n if (!ref.current || ref.current.contains(event.target)) {\r\n return;\r\n }\r\n \r\n handler(event);\r\n };\r\n \r\n document.addEventListener('wheel', listener);\r\n \r\n return () => {\r\n document.removeEventListener('wheel', listener);\r\n };\r\n }, [ref, handler]);\r\n}\r\n\r\n\r\nexport const Dropdown = ({ items, align, onSelect, onRenderItem, expand, themeName, children }) => {\r\n const [open, setOpen] = useState(false);\r\n const tetherRef = useRef();\r\n const ref = useRef();\r\n \r\n const close = useCallback(() => {\r\n setOpen(false) \r\n }, []);\r\n\r\n useOnEscape(close);\r\n useOnClickOutside(ref, close);\r\n useOnWheelOutside(ref, close);\r\n\r\n\r\n useEffect(() => {\r\n window.addEventListener('scroll', close);\r\n \r\n\r\n return () => {\r\n window.removeEventListener('scroll', close);\r\n \r\n }\r\n\r\n }, [])\r\n\r\n\r\n\r\n\r\n\r\n const handleOpen = () => {\r\n\r\n const tEl = tetherRef.current;\r\n var tRect = tEl.getBoundingClientRect();\r\n \r\n\r\n var el = ref.current;\r\n\r\n \r\n el.style.pointerEvents = 'none';\r\n el.style.left = tRect.left + 'px';\r\n el.style.top = tRect.top + 'px';\r\n el.style.width = tRect.width + 'px';\r\n el.style.height = tRect.height + 'px';\r\n \r\n setOpen(true);\r\n }\r\n\r\n const handleSelect = (e, value) => {\r\n if (open) {\r\n close();\r\n onSelect(value);\r\n }\r\n }\r\n\r\n const transitions = useTransition(open, null, {\r\n from: { opacity: 0, transform: `translate3d(0, -12px, 0)` },\r\n enter: { opacity: 1, transform: 'translate3d(0, 0, 0)' },\r\n leave: { opacity: 0, transform: 'translate3d(0, -12px, 0)' },\r\n });\r\n\r\n const className = classNames(\r\n styles.container,\r\n {\r\n [styles.expand] : expand\r\n }\r\n )\r\n\r\n const menuContainerClassName = classNames(\r\n styles['menu-container'],\r\n {\r\n [styles.open] : open,\r\n [styles.left] : align === 'left',\r\n [styles.right] : align === 'right'\r\n }\r\n )\r\n\r\n\r\n\r\n return (\r\n \r\n
\r\n { children({ open : handleOpen, isOpen : open }) }\r\n
\r\n\r\n {\r\n ReactDOM.createPortal(\r\n
\r\n {\r\n transitions.map(({ item, key, props }) => item && \r\n \r\n { \r\n items.map((mi, index) => {\r\n if (mi.separator) {\r\n return (\r\n
\r\n { mi.separator }\r\n
\r\n )\r\n }\r\n else {\r\n return (\r\n
handleSelect(e, mi.value) } >\r\n { onRenderItem(mi) }\r\n
\r\n )\r\n }\r\n }) \r\n } \r\n
\r\n )\r\n }\r\n
\r\n \r\n\r\n \r\n , document.getElementById('modal-root'))\r\n }\r\n
\r\n \r\n );\r\n \r\n \r\n}\r\n\r\nDropdown.propTypes = {\r\n align : PropTypes.string,\r\n items : PropTypes.array,\r\n onSelect : PropTypes.func,\r\n selectable : PropTypes.bool,\r\n onRenderItem : PropTypes.func\r\n}\r\n\r\nDropdown.defaultProps = {\r\n align : 'right',\r\n selectable : false,\r\n items : [],\r\n onRenderItem : defaultItemRenderer\r\n}\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport serverTime from '../common/serverTime';\r\nimport translatable from '../hocs/translatable';\r\n\r\nimport { XButton, XButtonGroup, HoverWithOpacity } from './XButton'\r\n\r\nimport { Dropdown } from './atoms/Dropdown'\r\nimport Icon from './Icon';\r\n\r\n\r\n\r\nimport GameContext from '../containers/GameContext'\r\n\r\nclass RoundDropDownList extends React.PureComponent{\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n rounds : [],\r\n };\r\n\r\n this.prev = this.prev.bind(this);\r\n this.next = this.next.bind(this);\r\n }\r\n\r\n\r\n filterRounds(rounds) {\r\n const now = serverTime.now();\r\n \r\n switch(this.props.type) {\r\n case 'all':\r\n return rounds;\r\n case 'previous':\r\n return rounds.filter(r => new Date(r.end) < now)\r\n case 'currentAndPrevious':\r\n return rounds.filter((r, index) => index === 0 || new Date(r.start) < now)\r\n }\r\n }\r\n\r\n next() {\r\n \r\n if (this.props.selected <= this.props.game.rounds.length - 1)\r\n {\r\n this.props.onSelect(this.props.selected + 1);\r\n }\r\n }\r\n\r\n prev() {\r\n if (this.props.selected > 1)\r\n {\r\n this.props.onSelect(this.props.selected - 1);\r\n }\r\n }\r\n\r\n\r\n\r\n render() {\r\n const { t } = this.props;\r\n \r\n const allRounds = this.props.game.rounds || [];\r\n const rounds = this.filterRounds(allRounds);\r\n \r\n const items = rounds.map((r, idx) => {\r\n const number = rounds.length - idx;\r\n return {\r\n value : number,\r\n label : t('common.roundFormat', { round : number }),\r\n selected : number == this.props.selected\r\n }\r\n });\r\n\r\n\r\n const selectedItem = items.find(i => i.value === this.props.selected) || items[0];\r\n const selectedIndex = this.props.selected - 1;\r\n const nextFunc = selectedIndex < items.length - 1 ? this.next : () => {} ;\r\n\r\n return (\r\n this.props.onSelect(value) }>{ ({ open }) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n { selectedItem.label }\r\n \r\n \r\n \r\n \r\n\r\n = rounds.length } pr=\"0\">\r\n \r\n \r\n \r\n )}\r\n )\r\n } \r\n}\r\n\r\nRoundDropDownList.propTypes = {\r\n game : PropTypes.object.isRequired,\r\n type : PropTypes.string.isRequired,\r\n selected : PropTypes.number.isRequired,\r\n default : PropTypes.string.isRequired,\r\n onSelect : PropTypes.func.isRequired,\r\n}\r\n\r\nRoundDropDownList.defaultProps = {\r\n type : 'all',\r\n default : 'last'\r\n}\r\n\r\n\r\nconst Wrapper = ({ t, ...otherProps }) => (\r\n { ({ game }) => (\r\n \r\n )}\r\n)\r\n\r\nexport default translatable(Wrapper);\r\n","import React, { useMemo } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { Dropdown } from './atoms/Dropdown'\r\nimport { XButton } from './XButton'\r\nimport Icon from './Icon'\r\nimport Box from './Box'\r\n\r\nimport styled from 'styled-components'\r\nimport { space, layout, typography, border } from 'styled-system'\r\n\r\n\r\n\r\nconst defaultRenderer = (item) => {\r\n return (\r\n { item.label }\r\n )\r\n}\r\n\r\n\r\nconst SelectList = ({ items, size, placeholder, value, onSelect, align, verticalAlign, expand, onRenderItem, onRenderSelectedItem, ...otherProps }) => {\r\n const selectedItem = value && items.find(i => i.value === value);\r\n\r\n const mItems = useMemo(() => {\r\n return items.map(i => ({ ...i, selected : i.value === value }));\r\n }, [items, value])\r\n\r\n \r\n\r\n return (\r\n { ({ open }) => (\r\n \r\n \r\n \r\n { selectedItem ? (onRenderSelectedItem ? onRenderSelectedItem(selectedItem) : defaultRenderer(selectedItem)) : { placeholder } }\r\n \r\n\r\n \r\n \r\n \r\n )}\r\n ) \r\n}\r\n\r\nSelectList.propTypes = {\r\n items : PropTypes.array.isRequired,\r\n value : PropTypes.any,\r\n placeholder : PropTypes.any,\r\n onSelect : PropTypes.func,\r\n onRenderItem : PropTypes.func,\r\n onRenderSelectedItem : PropTypes.func\r\n}\r\n\r\nSelectList.defaultProps = {\r\n items : [],\r\n onSelect : () => { },\r\n size : 'm'\r\n}\r\n\r\nexport default SelectList;\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport classNames from 'classnames'\r\n\r\nimport styles from './Progress.scss'\r\n\r\nconst left = (value, maximum) => {\r\n const p = ((value / parseFloat(maximum)) * 100);\r\n return p === 100.0 ? 'calc(100% - 1px)' : p + '%';\r\n}\r\n\r\n\r\nconst Stop = ({ stop, value, maximum }) => {\r\n\r\n const className = classNames(\r\n styles.stop,\r\n {\r\n [styles.active] : stop <= value\r\n }\r\n );\r\n\r\n \r\n return (\r\n
\r\n )\r\n}\r\n\r\nconst Progress = ({ stops, value, maximum, disabled }) => {\r\n if (disabled)\r\n return
\r\n\r\n\r\n let v = value > maximum ? maximum : value;\r\n\r\n return (\r\n
\r\n { stops.map((s, index) => ) }\r\n
\r\n
\r\n )\r\n}\r\n\r\nProgress.propTypes = {\r\n stops : PropTypes.array.isRequired,\r\n value : PropTypes.number.isRequired,\r\n maximum : PropTypes.number.isRequired,\r\n disabled : PropTypes.bool.isRequired\r\n}\r\n\r\nProgress.defaultProps = {\r\n stops : [],\r\n value: 0,\r\n maximum : 100,\r\n disabled : false\r\n}\r\n\r\n\r\n\r\nexport default Progress;","import React, { useMemo} from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\nimport Icon from './Icon';\r\nimport {Dropdown } from './atoms/Dropdown'\r\n\r\nimport styles from './Dropdown.scss'\r\n\r\n\r\nconst DropDownList = ({ value, items, onChange }) => {\r\n const selectedItem = useMemo(() => items.find(v => v.value === value), [value, items]);\r\n\r\n return (\r\n onChange(value) }>{ ({ open }) => (\r\n
open() }>\r\n { !!selectedItem ? selectedItem.label : this.props.placeholder }\r\n \r\n \r\n \r\n
\r\n )}
\r\n )\r\n}\r\n\r\nDropDownList.propTypes = {\r\n placeholder : PropTypes.string,\r\n value : PropTypes.any,\r\n items : PropTypes.array,\r\n inline : PropTypes.bool.isRequired,\r\n onChange : PropTypes.func\r\n}\r\n\r\nDropDownList.defaultProps = {\r\n alignment: 'left',\r\n appearance: 'default',\r\n inline : false\r\n}\r\n\r\n\r\nexport default DropDownList;\r\n\r\n\r\n\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nconst DropDownListItem = ({ selected, children, onSelect }) => {\r\n const className = selected ? 'dropdown__item dropdown__item--selected' : 'dropdown__item';\r\n\r\n return (\r\n
  • \r\n { children }\r\n
  • \r\n )\r\n}\r\n\r\nDropDownListItem.propTypes = {\r\n value : PropTypes.any,\r\n selected : PropTypes.bool.isRequired,\r\n onSelect : PropTypes.func.isRequired\r\n}\r\n\r\nDropDownListItem.defaultProps = {\r\n selected : false,\r\n position: 'left',\r\n onSelect : () => { }\r\n}\r\n\r\nexport default DropDownListItem;\r\n","import React from 'react'\r\n\r\nconst Paragraph = ({ children }) =>{\r\n return (

    { children}

    )\r\n}\r\n\r\nexport default Paragraph;\r\n\r\n","import React from 'react'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport styled, { css } from 'styled-components'\r\n\r\nconst ItemStyle = css`\r\n display: block;\r\n line-height: 24px;\r\n`\r\n\r\n\r\nconst ExternalItem = styled.a`\r\n ${ ItemStyle }\r\n`\r\n\r\nconst Item = styled(Link)`\r\n ${ ItemStyle }\r\n`\r\n\r\nconst Container = styled.div`\r\n\r\n`\r\n\r\n\r\nconst NavigationMenu = ({ items }) => {\r\n \r\n return (\r\n \r\n { \r\n items.map((i, index) => {\r\n \r\n if (i.external || window.swush.routing == 'static') {\r\n return { i.text } \r\n }\r\n else {\r\n return { i.text } \r\n }\r\n \r\n } )}\r\n \r\n )\r\n}\r\n\r\n\r\nexport default NavigationMenu;","//************************************************************\r\n// Redefines CSS variables for a game header.\r\n//************************************************************\r\nimport React from 'react'\r\n\r\nimport styles from './GameHeader.scss'\r\nimport CSSVariables from './CSSVariables';\r\n\r\nimport styled from 'styled-components'\r\n\r\nconst StyledHeader = styled.div`\r\n background-color: ${ props => props.themeName && props.theme.colors.themes[props.themeName].primary };\r\n --badge-border-color: ${ props => props.themeName && props.theme.colors.themes[props.themeName].primary };\r\n\r\n --link-color: var(--game-header-link-color);\r\n --text-color: var(--game-header-text-color);\r\n\r\n background-image: url(${ props => props.backgroundImageUrl });\r\n background-repeat: no-repeat;\r\n background-position: center center;\r\n color: ${ props => props.themeName && props.theme.colors.themes[props.themeName].primaryForeground };\r\n`\r\n\r\nconst GameHeader = ({ backgroundImageUrl, themeName, children }) =>{\r\n return (\r\n \r\n
    \r\n { children }\r\n
    \r\n
    \r\n )\r\n}\r\n\r\nGameHeader.defaultProps = {\r\n \r\n}\r\n\r\nexport default GameHeader;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport styles from './RoundBadge.scss'\r\n\r\nconst RoundBadge = ({ children }) => {\r\n return (\r\n
    { children }
    \r\n )\r\n}\r\n\r\nRoundBadge.propTypes = {\r\n children : PropTypes.any\r\n}\r\n\r\nexport default RoundBadge;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport RoundBadge from './RoundBadge'\r\n\r\nimport styles from './GameIdentity.scss'\r\n\r\nconst GameIdentity = ({ title, variant, subtitle, round, statusHeading, statusSubheading, countdown, themeName, sponsorImageUrl }) =>{\r\n return (\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n sponsorImageUrl &&\r\n \r\n }\r\n
    \r\n\r\n
    \r\n { title }\r\n { variant }\r\n
    \r\n
    { subtitle }
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    { statusHeading }
    \r\n
    { countdown }
    \r\n
    { statusSubheading }
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n { round }\r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n}\r\n\r\nGameIdentity.propTypes = {\r\n sponsorImageUrl: PropTypes.string,\r\n phase : PropTypes.object\r\n}\r\n\r\nexport default GameIdentity;","import React from 'react'\r\nimport { Dropdown } from './atoms/Dropdown'\r\nimport { Text } from './Typography'\r\nimport Box from './Box'\r\nimport Avatar from './Avatar'\r\n\r\nimport styled from 'styled-components'\r\n\r\n\r\n\r\n\r\nconst StyledContainer = styled.div`\r\n cursor: pointer;\r\n\r\n`\r\n\r\nconst StyledUserName = styled.div`\r\n display: block;\r\n margin-right: 6px;\r\n max-width: 128px;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n`\r\n\r\nconst UserDropdown = ({ username, imageUrl, hideName, ...otherProps }) => {\r\n \r\n\r\n return (\r\n \r\n { \r\n ({ open }) => ( \r\n \r\n \r\n { !hideName && { username } }\r\n \r\n \r\n \r\n )\r\n }\r\n \r\n ) \r\n}\r\n\r\nexport default UserDropdown;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport styles from './PersonName.scss'\r\n\r\nconst ShortPersonName = ({ person }) => (\r\n ((person.lastname + '').length > 0) ? `${ person.firstname[0] }. ${ person.lastname }` : person.firstname\r\n)\r\n\r\nconst FullPersonName = ({ person }) => (\r\n ((person.lastname + '').length > 0) ? `${ person.firstname } ${ person.lastname }` : person.firstname\r\n)\r\n\r\nconst AutoPersonName = ({ person }) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nclass PersonName extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const { form, person } = this.props;\r\n\r\n if (!person)\r\n return ;\r\n else if (form === 'auto') {\r\n return \r\n }\r\n else if (form === 'short') {\r\n return \r\n }\r\n else if (form === 'full') {\r\n return \r\n }\r\n else {\r\n return ;\r\n }\r\n } \r\n}\r\n\r\nPersonName.propTypes = {\r\n person: PropTypes.object,\r\n form: PropTypes.string.isRequired,\r\n}\r\n\r\nPersonName.defaultProps = {\r\n form : 'auto'\r\n}\r\n\r\nexport default PersonName;\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { lo } from 'utils'\r\n\r\nimport styles from './PlayerByline.scss'\r\nimport { Icon } from '.';\r\n\r\nconst DefaultByLine = ({ star, team, position }) => {\r\n return
    \r\n { star && }\r\n\r\n { team && lo(team, 'name') } \r\n { team && position && ' - ' }\r\n { position && lo(position, 'name') }\r\n
    \r\n}\r\n\r\nconst CompactByLine = ({ star, team, position }) => {\r\n return
    \r\n { star && }\r\n\r\n { team && lo(team, 'abbreviation') } \r\n { team && position && ' - ' }\r\n { position && lo(position, 'abbreviation') }\r\n
    \r\n}\r\n\r\nconst AutoByLine = ({ star, team, position }) => {\r\n return
    \r\n { star && }\r\n\r\n { team && lo(team, 'abbreviation') }\r\n { team && lo(team, 'name') }\r\n { team && position && ' - ' }\r\n { position && lo(position, 'abbreviation') }\r\n { position && lo(position, 'name') }\r\n
    \r\n}\r\n\r\n\r\nconst PlayerByline = ({ star, team, position, form }) => {\r\n switch(form) {\r\n case 'default':\r\n return \r\n case 'compact':\r\n return \r\n case 'auto':\r\n return \r\n }\r\n}\r\n\r\nPlayerByline.propTypes = {\r\n team: PropTypes.object,\r\n position: PropTypes.object,\r\n form: PropTypes.string.isRequired,\r\n warning: PropTypes.bool,\r\n star: PropTypes.bool\r\n}\r\n\r\nPlayerByline.defaultProps = {\r\n form : 'auto'\r\n}\r\n\r\nexport default PlayerByline;\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport serverTime from '../common/serverTime';\r\n\r\nclass SoccerMatchClock extends React.PureComponent{\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n minutes : 0,\r\n seconds : 0\r\n };\r\n\r\n this.timer = null;\r\n this.tick = this.tick.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.timer = setInterval(() => { this.tick(this.props) }, 1000);\r\n this.tick(this.props);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n this.tick(nextProps);\r\n }\r\n\r\n componentWillUnmount() {\r\n clearInterval(this.timer);\r\n }\r\n\r\n getMinuteBaseFromPeriods(periods) {\r\n switch(periods) {\r\n case 0:\r\n case 1:\r\n return 0;\r\n case 2:\r\n return 45;\r\n case 3:\r\n return 90;\r\n case 4:\r\n return 105;\r\n case 5:\r\n default:\r\n return 120;\r\n }\r\n }\r\n\r\n tick(props) {\r\n const { periods } = this.props.match || { periods : [] };\r\n \r\n if (!periods || periods.length === 0) {\r\n this.setState({\r\n minutes: 0,\r\n seconds: 0\r\n });\r\n\r\n return;\r\n }\r\n\r\n const minuteBase = this.getMinuteBaseFromPeriods(periods.length);\r\n const lastPeriod = periods[periods.length - 1];\r\n const to = lastPeriod.end ? new Date(lastPeriod.end) : serverTime.now();\r\n\r\n let milliseconds = (to - new Date(lastPeriod.start)) + (minuteBase * 60 * 1000);\r\n \r\n if (milliseconds < 0)\r\n milliseconds = 0;\r\n\r\n let minutes = Math.floor(milliseconds / 60000);\r\n milliseconds -= minutes * (60000);\r\n\r\n let seconds = Math.floor(milliseconds / 1000);\r\n milliseconds -= seconds * 1000;\r\n\r\n this.setState({\r\n minutes,\r\n seconds\r\n });\r\n }\r\n\r\n renderPart(value) {\r\n const sVal = value + '';\r\n return sVal.length < 2 ? '0' + sVal : sVal;\r\n }\r\n\r\n\r\n render() {\r\n const { match } = this.props;\r\n\r\n if (!match.periods || match.periods.length === 0) {\r\n return null;\r\n }\r\n \r\n const paused = match.periods.length > 0 && !!match.periods[match.periods.length - 1].end;\r\n\r\n return (\r\n \r\n { paused ? 'P' : match.periods.length + 'H' } \r\n\r\n { ' ' }\r\n {this.renderPart(this.state.minutes) }\r\n :\r\n {this.renderPart(this.state.seconds) }\r\n \r\n )\r\n } \r\n}\r\n\r\nSoccerMatchClock.propTypes = {\r\n match : PropTypes.object.isRequired,\r\n \r\n}\r\n\r\nexport default SoccerMatchClock;\r\n","import React from 'react'\r\n\r\nimport { XButton } from './XButton'\r\n\r\nimport styles from './EmailIdentity.module.css'\r\n\r\nexport const EmailIdentity = ({ email, rejectCaption, onReject }) => {\r\n return (\r\n
    \r\n
    { email }
    \r\n { rejectCaption &&
    { rejectCaption }
    }\r\n
    \r\n )\r\n\r\n}\r\n","import React, { useEffect } from 'react'\r\nimport Button from './Button'\r\nimport styled from 'styled-components'\r\n\r\nconst FacebookContext = React.createContext();\r\n\r\nexport const FacebookProvider = ({ appId, children }) => {\r\n useEffect(() => {\r\n\r\n if (appId) {\r\n window.fbAsyncInit = function() {\r\n FB.init({\r\n appId : appId,\r\n cookie : true, // enable cookies to allow the server to access the session\r\n xfbml : true, // parse social plugins on this page\r\n version : 'v2.5' // use version 2.1\r\n });\r\n };\r\n \r\n // Load the SDK asynchronously\r\n (function(d, s, id) {\r\n var js, fjs = d.getElementsByTagName(s)[0];\r\n if (d.getElementById(id)) return;\r\n js = d.createElement(s); js.id = id;\r\n js.src = \"//connect.facebook.net/en_US/sdk.js\";\r\n fjs.parentNode.insertBefore(js, fjs);\r\n }(document, 'script', 'facebook-jssdk'));\r\n }\r\n\r\n }, [appId])\r\n \r\n\r\n return (\r\n \r\n { children }\r\n \r\n );\r\n \r\n\r\n}\r\n\r\n\r\nconst useFacebook = () => {\r\n return FB;\r\n}\r\n\r\n\r\nconst StyledFacebookLoginButton = styled.div`\r\n height: 36px;\r\n line-height: 36px;\r\n letter-spacing: 1px;\r\n background: #3478F6;\r\n color: #fff;\r\n text-align: center;\r\n text-transform: uppercase;\r\n border-radius: var(--border-radius);\r\n padding: 0 12px;\r\n font-size: 14px;\r\n cursor: pointer;\r\n`\r\n\r\n\r\nexport const LoginButton = ({ scopes, children, onAuthorize, onCancel }) => {\r\n const handleLogin = () => {\r\n if (!FB) {\r\n console.error('`FB` is not defined.')\r\n }\r\n else {\r\n FB.login(function(response) {\r\n if (response.authResponse) {\r\n onAuthorize(response.authResponse);\r\n } else {\r\n if (onCancel)\r\n onCancel();\r\n }\r\n }, { \r\n scope: (scopes || []).join(',') \r\n });\r\n }\r\n }\r\n \r\n return { children } \r\n}","import React, { useRef, useEffect, useState, useCallback, useLayoutEffect } from 'react'\r\n\r\nimport { typography, space, layout, flexbox } from 'styled-system'\r\nimport styled, { css } from 'styled-components'\r\nimport { animated, useSpring } from 'react-spring'\r\n\r\nconst StyledFlyout = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n \r\n position: absolute;\r\n font-size: 14px;\r\n\r\n top: 0;\r\n right: 0;\r\n left: 0;\r\n bottom: 0;\r\n\r\n ${ typography }\r\n`\r\n\r\nconst StyledFlyoutHeader = styled.div`\r\n min-height: 48px;\r\n\r\n background-color: ${ props => props.theme.colors.themes[props.themeName].primary };\r\n color : ${ props => props.theme.colors.themes[props.themeName].primaryForeground };\r\n \r\n\r\n ${ flexbox }\r\n ${ space }\r\n ${ layout }\r\n`;\r\n\r\n\r\n\r\nconst StyledFlyoutFooter = styled.div`\r\n padding: 0 12px;\r\n min-height: 48px;\r\n`;\r\n\r\n\r\nconst StyledFlyoutContent = styled.div`\r\n flex: 1;\r\n overflow-x: hidden; \r\n overflow-y: auto; \r\n -webkit-overflow-scrolling: touch;\r\n scroll-behavior: smooth; \r\n\r\n position: relative;\r\n\r\n display: flex;\r\n flex-direction: column;\r\n\r\n ${ props => props.padding && css`\r\n padding: var(--padding);\r\n `}\r\n\r\n ${space}\r\n`\r\n\r\nexport const FlyoutHeader = ({ onClose, children, ...props }) => {\r\n return (\r\n \r\n { children }\r\n \r\n )\r\n};\r\n\r\n\r\nFlyoutHeader.defaultProps = {\r\n themeName : 'default'\r\n}\r\n\r\nexport const FlyoutFooter = ({ children, ...props }) => {\r\n return (\r\n \r\n { children }\r\n \r\n )\r\n};\r\n\r\n\r\n\r\nexport const FlyoutContent = React.forwardRef(({ children, ...props }, ref) => {\r\n return (\r\n { children }\r\n )\r\n});\r\n\r\nexport class Flyout extends React.Component {\r\n static Header = FlyoutHeader;\r\n static Content = FlyoutContent;\r\n static Footer = FlyoutFooter;\r\n\r\n render() {\r\n return (\r\n \r\n { this.props.children }\r\n \r\n )\r\n }\r\n}\r\n\r\nFlyout.propTypes = {\r\n\r\n}\r\n\r\nFlyout.defaultProps = {\r\n}\r\n\r\n\r\n\r\n\r\nconst useOnResize = (ref, callback) => {\r\n\r\n useLayoutEffect(() => {\r\n \r\n if (window.ResizeObserver) {\r\n \r\n if (ref.current) {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n callback(entries);\r\n });\r\n\r\n resizeObserver.observe(ref.current);\r\n\r\n return () => {\r\n resizeObserver.unobserve(ref.current);\r\n }\r\n }\r\n }\r\n }, [ref.current])\r\n}\r\n\r\n\r\n\r\n\r\n\r\nconst useScrollBarWidth = (ref) => {\r\n const [scrollBarWidth, setScrollBarWidth] = useState(ref.current && (ref.current.offsetWidth - ref.current.clientWidth) || 0);\r\n\r\n const callback = useCallback((entries) => {\r\n setScrollBarWidth(ref.current && (ref.current.offsetWidth - ref.current.clientWidth) || 0);\r\n })\r\n \r\n useOnResize(ref, callback)\r\n \r\n useEffect(() => {\r\n setScrollBarWidth(ref.current && (ref.current.offsetWidth - ref.current.clientWidth) || 0);\r\n }, [ref.current])\r\n\r\n return [scrollBarWidth]\r\n}\r\n\r\nconst useScrollPosition = (ref) => {\r\n const [scrollPosition, setScrollPosition] = useState(ref.current && ref.current.scrollTop || 0);\r\n \r\n const onScroll = useCallback((e) => {\r\n setScrollPosition(e.target.scrollTop)\r\n })\r\n\r\n useEffect(() => {\r\n if (ref.current) {\r\n ref.current.addEventListener('scroll', onScroll);\r\n\r\n return () => {\r\n ref.current.removeEventListener('scroll', onScroll);\r\n }\r\n }\r\n }, [ref.current])\r\n\r\n return [scrollPosition]\r\n\r\n}\r\n\r\n\r\nconst ScrollHeaderOverlay = ({ scrollRef, children }) => {\r\n const [scrollBarWidth] = useScrollBarWidth(scrollRef);\r\n\r\n return (\r\n
    \r\n { children }\r\n
    \r\n )\r\n};\r\n\r\n\r\nconst StyledHeaderWrapper = styled.div`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n right : ${ props => props.scrollBarWidth + 'px' };\r\n z-index: 2000 ;\r\n`\r\n\r\n\r\nconst StyledToolbarWrapper = styled.div`\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n`\r\n\r\nconst StyledHeaderContent = styled(animated.div)`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n transform: translate3d(0, -48px, 0);\r\n background: ${ props => props.theme.colors.siteBackground };\r\n`\r\n\r\n\r\nexport const FlyoutOverlayContent = ({ children, header, toolbar, minimumHeight, ...props }) => {\r\n const ref = useRef();\r\n const [scrollBarWidth] = useScrollBarWidth(ref);\r\n const [scrollPosition] = useScrollPosition(ref);\r\n \r\n const isOpen = scrollPosition > 131;\r\n\r\n const style = useSpring({ transform: isOpen ? 'translate3d(0, 0, 0)' : 'translate3d(0, -48px, 0)' })\r\n \r\n return (\r\n \r\n \r\n \r\n { header }\r\n { toolbar }\r\n \r\n\r\n \r\n { children }\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n};\r\n","import React from 'react'\r\n\r\nimport styled, { css } from 'styled-components'\r\n\r\nimport { display, space } from 'styled-system';\r\n\r\nconst DefaultStyle = css`\r\n background: ${ props => props.theme.colors.cardBackground };\r\n color: ${ props => props.theme.colors.cardForeground };\r\n`\r\n\r\nconst InfoStyle = css`\r\n background: ${ props => props.theme.colors.utilityBlue };\r\n color: ${ props => props.theme.colors.utilityWhite };\r\n`\r\n\r\nconst WarningStyle = css`\r\n background: ${ props => props.theme.colors.utilityYellow };\r\n color: ${ props => props.theme.colors.utilityBlack };\r\n`\r\n\r\nconst DangerStyle = css`\r\n background: ${ props => props.theme.colors.utilityRed };\r\n color: ${ props => props.theme.colors.utilityWhite };\r\n`\r\n\r\n\r\nconst variants = {\r\n 'default' : DefaultStyle,\r\n 'info' : InfoStyle,\r\n 'warning' : WarningStyle,\r\n 'danger' : DangerStyle\r\n}\r\n\r\n\r\n\r\nconst Tag = styled.div`\r\n height: 18px;\r\n line-height: 18px;\r\n padding: 0 6px;\r\n\r\n border-radius: 3px;\r\n\r\n display: inline-block;\r\n\r\n font-size: 11px;\r\n white-space: nowrap;\r\n\r\n cursor: ${ props => props.onClick ? 'pointer' : 'default' };\r\n\r\n ${ props => variants[props.variant] }\r\n\r\n ${ display }\r\n ${ space }\r\n`\r\n\r\nTag.defaultProps = {\r\n variant : 'default',\r\n size: 'm'\r\n}\r\n\r\nexport default Tag;\r\n","import React from 'react'\r\nimport classNames from 'classnames'\r\nimport PropTypes from 'prop-types'\r\nimport Icon from './Icon'\r\n\r\nimport styled, { css } from 'styled-components'\r\n\r\nconst StyledIcon = styled.div`\r\n color: ${ props => props.theme.colors.themes[props.themeName].action };\r\n width: 48px;\r\n height: 48px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n`\r\n\r\nconst StyledLabel = styled.div`\r\n display: flex;\r\n height: 48px;\r\n align-items: center;\r\n color: ${ props => props.theme.colors.themes[props.themeName].action };\r\n padding: 0 var(--padding) 0 0;\r\n`\r\n\r\n\r\nconst StyledContainer = styled.div`\r\n\tdisplay: block;\r\n\tfont-size: var(--font-size-m);\r\n \r\n background: ${ props => props.disabled ? 'var(--checkable-background-color)' : 'var(--checkable-disabled-background-color)' };\r\n\t\r\n\tborder-radius: 3px;\r\n\r\n\ttransition: 0.15s linear border-color;\r\n\twill-change: border-color;\r\n\r\n user-select: none;\r\n\r\n border: 3px solid transparent;\r\n\r\n ${ \r\n props => !props.disabled && css`\r\n &:hover {\r\n cursor: pointer;\r\n background-color : var(--checkable-hover-background-color);\r\n\r\n }\r\n\r\n \r\n `}\r\n\r\n ${ \r\n props => props.checked && css`\r\n border-color : ${ props => props.theme.colors.themes[props.themeName].action };\r\n `}\r\n\r\n ${ \r\n props => props.disabled && css`\r\n ${ StyledIcon } {\r\n color: var(--checkable-disabled-text-color)\r\n }\r\n\r\n ${ StyledLabel } {\r\n color: var(--checkable-disabled-text-color)\r\n }\r\n `}\r\n`\r\n\r\nconst StyledContent = styled.div`\r\n color: var(--text-color);\r\n font-size: var(--font-size-s);\r\n line-height: 18px;\r\n padding: 0 var(--padding) var(--padding) var(--padding);\r\n`\r\n\r\n\r\nconst RichCheckable = ({ checked, disabled, uncheckedIcon, checkedIcon, label, themeName, children, onClick}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n\r\n { label }\r\n \r\n\r\n {\r\n children &&\r\n \r\n { children }\r\n \r\n }\r\n\r\n \r\n )\r\n}\r\n\r\n\r\nRichCheckable.propTypes = {\r\n checked : PropTypes.bool.isRequired,\r\n disabled : PropTypes.bool.isRequired,\r\n icon : PropTypes.string.isRequired,\r\n onClick : PropTypes.func.isRequired,\r\n themeName : PropTypes.string,\r\n}\r\n\r\nRichCheckable.defaultProps = {\r\n checked : false,\r\n disabled : false,\r\n icon : 'check',\r\n themeName : 'default'\r\n}\r\n\r\nexport default RichCheckable;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport RichCheckable from './RichCheckable'\r\n\r\nimport styled from 'styled-components'\r\n\r\nconst StyledItem = styled.div`\r\n\r\n margin-bottom: 12px;\r\n`\r\n\r\n\r\nexport const RichRadioButtonList = ({ value, items, onChange }) => {\r\n const onClick = (item) => {\r\n if (!item.disabled) {\r\n onChange(item.value);\r\n }\r\n }\r\n\r\n return (\r\n \r\n {\r\n items.map((item, index) => {\r\n const { disabled, value : itemValue, label, content } = item;\r\n const checked = value === itemValue;\r\n\r\n return (\r\n \r\n onClick(item) }>\r\n { content }\r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n ) \r\n \r\n}\r\n\r\n\r\nRichRadioButtonList.propTypes = {\r\n items : PropTypes.array.isRequired,\r\n onChange : PropTypes.func.isRequired\r\n}\r\n\r\nRichRadioButtonList.defaultProps = {\r\n items : []\r\n}\r\n\r\n","import React from 'react'\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types'\r\n\r\nclass SidebarContainer extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.onKeyDown = this.onKeyDown.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n document.addEventListener('keydown', this.onKeyDown);\r\n }\r\n\r\n componentWillUnmount() {\r\n document.removeEventListener('keydown', this.onKeyDown);\r\n }\r\n\r\n\r\n onKeyDown(e) {\r\n if (e.which === 27 && this.props.open) {\r\n this.props.onClose();\r\n }\r\n }\r\n\r\n \r\n\r\n\r\n\r\n render() {\r\n\r\n const classes = classNames(\r\n 'sidebar',\r\n { 'sidebar--open' : this.props.open },\r\n { 'sidebar--locked' : this.props.locked }\r\n )\r\n\r\n\r\n if (this.props.open) {\r\n document.body.style.overflow = 'hidden';\r\n }\r\n else \r\n document.body.style.overflow = 'auto';\r\n\r\n \r\n const children = React.Children.map(this.props.children, (child) => {\r\n return React.cloneElement(child, { onClose : this.props.onClose });\r\n })\r\n\r\n\r\n return (\r\n
    \r\n { children }\r\n\r\n
    \r\n )\r\n }\r\n}\r\n\r\n/*\r\n
    \r\n { main }\r\n \r\n
    \r\n
    \r\n
    \r\n { this.props.title }\r\n\r\n \r\n \r\n \r\n
    \r\n\r\n { side }\r\n
    */\r\n\r\nSidebarContainer.propTypes = {\r\n open : PropTypes.bool,\r\n onClose : PropTypes.func\r\n}\r\n\r\nSidebarContainer.defaultProps = {\r\n open : false\r\n}\r\n\r\nexport default SidebarContainer;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport styled, { css } from 'styled-components'\r\n\r\nimport { display, space } from 'styled-system';\r\n\r\nconst StyledTopbar = styled.div`\r\n font-size: 14px;\r\n\r\n height: 48px;\r\n\r\n z-index: 1000;\r\n\r\n display: flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n\r\n width: 100%;\r\n\r\n ${ props => props.themeName && css`\r\n background-color: ${ props => props.theme.colors.themes[props.themeName].primary };\r\n color: ${ props => props.theme.colors.themes[props.themeName].primaryForeground };\r\n `}\r\n\r\n ${ props => props.sticky && css`\r\n \r\n position: sticky;\r\n top: 0;\r\n `}\r\n\r\n ${ display }\r\n ${ space }\r\n`\r\n\r\nconst TopBar = ({ children, ...props }) => {\r\n\r\n \r\n return (\r\n \r\n { children }\r\n \r\n )\r\n}\r\n\r\nTopBar.propTypes = {\r\n backgroundColor : PropTypes.string,\r\n sticky : PropTypes.bool,\r\n stickyOffsetTop : PropTypes.number\r\n}\r\n\r\nTopBar.defaultProps = {\r\n stickyOffsetTop : 0\r\n}\r\n\r\n\r\nexport default TopBar;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames';\r\n\r\n\r\nconst TabMenuItem = ({ children, onSelect }) => {\r\n return (\r\n
    { children }
    \r\n )\r\n}\r\n\r\nclass TabMenu extends React.PureComponent{\r\n constructor(props) {\r\n super(props);\r\n\r\n this.updateSelected = this.updateSelected.bind(this);\r\n this.containerRef = React.createRef();\r\n this.trackerRef = React.createRef();\r\n }\r\n\r\n updateSelected() {\r\n const containerEl = this.containerRef.current;\r\n const selectedEl = containerEl.children[this.props.selectedIndex];\r\n \r\n const cRect = containerEl.getBoundingClientRect();\r\n const sRect = selectedEl.getBoundingClientRect();\r\n\r\n\r\n const offset = {\r\n x : sRect.x - cRect.x,\r\n y : sRect.y - cRect.y,\r\n width : sRect.width,\r\n height : sRect.height\r\n };\r\n\r\n const trackerEl = this.trackerRef.current;\r\n\r\n trackerEl.style.width = offset.width + 'px';\r\n trackerEl.style.transform = 'translate3d(' + offset.x + 'px, 0, 0)' \r\n }\r\n\r\n componentDidMount() {\r\n window.addEventListener('resize', this.updateSelected);\r\n setTimeout(this.updateSelected, 0);\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('resize', this.updateSelected);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.selectedIndex !== this.props.selectedIndex) {\r\n setTimeout(this.updateSelected, 0);\r\n }\r\n }\r\n \r\n render() {\r\n const children = this.props.items.map((item, index) => {\r\n return this.props.onSelect(index) }>{ item }\r\n });\r\n\r\n const className = classNames(\r\n 'tabmenu',\r\n );\r\n\r\n \r\n setTimeout(this.updateSelected, 0);\r\n\r\n return (\r\n
    \r\n { children }\r\n
    \r\n
    \r\n )\r\n } \r\n}\r\n\r\nTabMenu.propTypes = {\r\n selectedIndex : PropTypes.number.isRequired,\r\n items : PropTypes.array.isRequired,\r\n onSelect : PropTypes.func.isRequired\r\n\r\n}\r\n\r\n\r\nTabMenu.defaultProps = {\r\n selectedIndex : 0\r\n}\r\n\r\nexport default TabMenu;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport styled from 'styled-components'\r\n\r\nconst StyledNotificationWrapper = styled.div`\r\n width: 24px;\r\n height: 24px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n`\r\n\r\nconst StyledNotificationIcon = styled.div`\r\n width : 15px;\r\n height : 15px;\r\n line-height : 15px;\r\n \r\n font-size: 10px;\r\n \r\n border-radius: 4px;\r\n \r\n overflow: hidden;\r\n font-weight: bold;\r\n text-align: center;\r\n\r\n letter-spacing: 0;\r\n \r\n box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);\r\n\r\n pointer-events: none;\r\n\r\n background-color: ${ props => props.theme.colors.utilityYellow };\r\n color: ${ props => props.theme.colors.utilityBlack };\r\n`;\r\n\r\n\r\nconst NotificationIcon = ({ count, top, right, ...props }) => {\r\n return (\r\n \r\n \r\n { count }\r\n \r\n \r\n )\r\n}\r\n\r\nNotificationIcon.propTypes = {\r\n count : PropTypes.number\r\n}\r\n\r\nNotificationIcon.defaultProps = {\r\n}\r\n\r\nexport default NotificationIcon;","import React from 'react'\r\n\r\nconst Attachment = ({ attachment, children, top, right }) => {\r\n if (!attachment)\r\n return children;\r\n\r\n return (\r\n
    \r\n { children }\r\n
    \r\n { attachment }\r\n
    \r\n
    \r\n )\r\n}\r\n\r\nAttachment.defaultProps = {\r\n top : -3, \r\n right : -3\r\n}\r\n\r\nexport default Attachment;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nclass ResizeObserver extends React.PureComponent{\r\n constructor(props) {\r\n super(props);\r\n\r\n this.size = { \r\n x : 0, \r\n y : 0 \r\n };\r\n this.timer = null;\r\n this.resizeObserver = null;\r\n this.checkSize = this.checkSize.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.size = {\r\n x : this.el.clientWidth,\r\n y : this.el.clientHeight\r\n }\r\n this.installWatcher();\r\n }\r\n\r\n checkSize() {\r\n const size = {\r\n x : this.el.clientWidth,\r\n y : this.el.clientHeight\r\n };\r\n if (this.sizeChanged(size)) {\r\n this.size = size;\r\n this.props.onDimensionsChanged();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.uninstallWatcher();\r\n }\r\n\r\n installWatcher() {\r\n if (window.ResizeObserver) {\r\n this.resizeObserver = new window.ResizeObserver(entries => {\r\n this.checkSize();\r\n })\r\n this.resizeObserver.observe(this.el);\r\n }\r\n else {\r\n this.timer = setInterval(this.checkSize, 100);\r\n }\r\n }\r\n\r\n uninstallWatcher() {\r\n if (this.resizeObserver) {\r\n this.resizeObserver.unobserve(this.el);\r\n }\r\n\r\n if (this.timer) {\r\n clearInterval(this.timer);\r\n this.timer = null;\r\n }\r\n }\r\n\r\n sizeChanged(size) {\r\n return (size.x != this.size.x || size.y != this.size.y);\r\n }\r\n\r\n render() {\r\n \r\n return (\r\n
    this.el = el }>{ this.props.children }
    \r\n )\r\n } \r\n}\r\n\r\nResizeObserver.propTypes = {\r\n onDimensionsChanged : PropTypes.func.isRequired\r\n}\r\n\r\nResizeObserver.defaultProps = {\r\n}\r\n\r\n\r\nexport default ResizeObserver;","export default __webpack_public_path__ + \"scrollwindow-left.96457d54bc1498f4ee1503e4b3535f4e.png\";","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport ResizeObserver from './ResizeObserver'\r\n\r\nimport styled, { css } from 'styled-components'\r\n\r\nimport shadow from '../images/scrollwindow-left.png';\r\n\r\n\r\nconst Container = styled.div`\r\n position: relative;\r\n`\r\n\r\n\r\nconst Window = styled.div`\r\n position: relative;\r\n width: 100%;\r\n overflow-x : auto;\r\n overflow-y : visible;\r\n user-select: none;\r\n -webkit-overflow-scrolling: touch;\r\n\r\n z-index: 99;\r\n`\r\n\r\nconst Shadow = styled.div`\r\n position : absolute;\r\n height : 100%;\r\n width : 24px;\r\n background-size:24px;\r\n top: 0;\r\n pointer-events: none;\r\n opacity: 0;\r\n background-image: url(${ shadow });\r\n will-change: opacity;\r\n z-index: 100;\r\n\r\n ${\r\n props => props.position === 'left' && css`\r\n left: 0;\r\n `\r\n }\r\n\r\n\r\n ${\r\n props => props.position === 'right' && css`\r\n right: 0;\r\n // flip img horizontally\r\n -moz-transform: scaleX(-1);\r\n -o-transform: scaleX(-1);\r\n -webkit-transform: scaleX(-1);\r\n transform: scaleX(-1);\r\n filter: FlipH;\r\n -ms-filter: \"FlipH\";\r\n `\r\n }\r\n\r\n`\r\n\r\n\r\n\r\nclass ScrollContainer extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.containerEl = React.createRef();\r\n this.leftEl = React.createRef();\r\n this.rightEl = React.createRef();\r\n\r\n this.update = this.update.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.update();\r\n this.containerEl.current.addEventListener('scroll', this.update);\r\n }\r\n\r\n componentWillUnmount() {\r\n this.containerEl.current.removeEventListener('scroll', this.update);\r\n }\r\n\r\n update() {\r\n const containerEl = this.containerEl.current;\r\n const rightEl = this.rightEl.current;\r\n const leftEl = this.leftEl.current;\r\n\r\n const left = containerEl.scrollLeft;\r\n const right = containerEl.scrollWidth - left - containerEl.clientWidth;\r\n\r\n if (containerEl.scrollWidth > containerEl.clientWidth) {\r\n let leftOpacity = left / this.props.shadowDistance;\r\n if (leftOpacity > 1)\r\n leftOpacity = 1;\r\n\r\n leftEl.style.opacity = leftOpacity;\r\n\r\n let rightOpacity = (right / this.props.shadowDistance);\r\n if (rightOpacity > 1)\r\n rightOpacity = 1;\r\n \r\n if (rightOpacity < 0)\r\n rightOpacity = 0;\r\n\r\n rightEl.style.opacity = rightOpacity;\r\n\r\n \r\n }\r\n else {\r\n leftEl.style.opacity = 0;\r\n rightEl.style.opacity = 0;\r\n }\r\n \r\n }\r\n\r\n\r\n render() {\r\n return (\r\n this.update() }>\r\n \r\n \r\n \r\n { this.props.children }\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\n\r\nScrollContainer.propTypes = {\r\n continousConstraint : PropTypes.bool.isRequired,\r\n shadowDistance : PropTypes.number.isRequired\r\n}\r\n\r\nScrollContainer.defaultProps = {\r\n continousConstraint : true,\r\n shadowDistance : 128\r\n}\r\n\r\nexport default ScrollContainer;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { lo } from '../common/utils'\r\n\r\nclass MatchTitle extends React.PureComponent{\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n renderVersus() {\r\n const { match } = this.props;\r\n const homeParticipant = match.participants.find(p => p.type === 'home');\r\n const awayParticipant = match.participants.find(p => p.type === 'away');\r\n\r\n return (\r\n
    \r\n
    { homeParticipant && lo(homeParticipant.team, 'abbreviation') }
    \r\n
    \r\n { match.properties && match.properties.homeScore }\r\n -\r\n { match.properties && match.properties.awayScore }\r\n
    \r\n
    { awayParticipant && lo(awayParticipant.team, 'abbreviation') }
    \r\n
    \r\n )\r\n }\r\n \r\n render() {\r\n switch(this.props.format) {\r\n case 'versus':\r\n return this.renderVersus();\r\n default:\r\n return { this.props.match.name }\r\n }\r\n } \r\n}\r\n\r\nMatchTitle.propTypes = {\r\n format : PropTypes.string.isRequired,\r\n match : PropTypes.object.isRequired,\r\n}\r\n\r\nMatchTitle.defaultProps = {\r\n type : 'named'\r\n}\r\n\r\nexport default MatchTitle;\r\n","import React, { useState } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\nimport styles from './Accordion.scss'\r\n\r\n\r\nconst AccordionItem = ({ heading, open, onClick, children }) => {\r\n const classes = classNames(\r\n styles.item,\r\n {\r\n [styles.active] : open\r\n }\r\n );\r\n\r\n return (\r\n
    \r\n
    \r\n { heading }\r\n
    \r\n
    \r\n { children }\r\n
    \r\n
    \r\n )\r\n}\r\n\r\nAccordionItem.propTypes = {\r\n heading : PropTypes.node.isRequired,\r\n open : PropTypes.bool.isRequired,\r\n onClick : PropTypes.func.isRequired,\r\n children : PropTypes.any\r\n}\r\n\r\nAccordionItem.defaultProps = {\r\n open : false\r\n}\r\n\r\n\r\nconst Accordion = ({ initialSelectedIndex, children }) => {\r\n const [selectedIndex, setSelectedIndex] = useState(initialSelectedIndex);\r\n\r\n return (\r\n \r\n
    \r\n { React.Children.map(children, (child, index) => {\r\n return React.cloneElement(child, { \r\n open : index === selectedIndex, \r\n onClick : () => { \r\n \r\n setSelectedIndex(index == selectedIndex ? -1 : index);\r\n } \r\n })\r\n })}\r\n
    \r\n \r\n )\r\n}\r\n\r\nAccordion.propTypes = {\r\n children: function (props, propName, componentName) {\r\n const prop = props[propName]\r\n \r\n let error = null\r\n React.Children.forEach(prop, function (child) {\r\n if (child.type !== AccordionItem) {\r\n error = new Error('`' + componentName + '` children should be of type `AccordionItem`.');\r\n }\r\n });\r\n return error\r\n },\r\n initialSelectedIndex : PropTypes.number.isRequired\r\n}\r\n\r\nAccordion.defaultProps = {\r\n initialSelectedIndex : -1\r\n}\r\n\r\nexport { Accordion, AccordionItem }\r\n\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport Icon from './Icon'\r\n\r\nimport styled from 'styled-components'\r\n\r\nconst Container = styled.div`\r\n min-height: 50vh;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-direction: column;\r\n color: var(--meta-foreground);\r\n text-align: center;\r\n`\r\n\r\n\r\n\r\nconst EmptyResultsetPlaceholder = ({ show, icon, placeholder, children }) => {\r\n if (show) {\r\n return \r\n \r\n { placeholder }\r\n \r\n }\r\n else {\r\n return children;\r\n \r\n }\r\n}\r\n\r\n\r\nEmptyResultsetPlaceholder.propTypes = {\r\n show : PropTypes.bool.isRequired,\r\n placeholder : PropTypes.any.isRequired,\r\n icon : PropTypes.string.isRequired\r\n}\r\n\r\nEmptyResultsetPlaceholder.defaultProps = {\r\n icon : 'filter'\r\n}\r\n\r\nexport default EmptyResultsetPlaceholder;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { number } from '../common/utils';\r\n\r\nimport ScrollContainer from './ScrollContainer';\r\nimport EmptyResultsetPlaceholder from './EmptyResultsetPlaceholder'\r\n\r\nclass PlayerProfileStatisticsPane extends React.PureComponent {\r\n renderRow(stat, index) {\r\n const eventMap = stat.events.reduce((acc, evt) => { acc[evt.type.name] = evt.amount; return acc; }, {});\r\n\r\n\r\n\r\n return (\r\n \r\n \r\n { this.props.columns.map((c, idx) => { number(eventMap[c.type]) }) }\r\n \r\n )\r\n }\r\n\r\n render() {\r\n\r\n \r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n { this.props.columns.map((column, index) => ) }\r\n \r\n \r\n \r\n { this.props.statistics.map((s, idx) =>this.renderRow(s, idx) )}\r\n \r\n
    { column.header }
    \r\n
    \r\n
    \r\n
    \r\n ) \r\n }\r\n}\r\n\r\n\r\nPlayerProfileStatisticsPane.propTypes = {\r\n statistics : PropTypes.array.isRequired,\r\n columns : PropTypes.array.isRequired,\r\n config : PropTypes.object.isRequired\r\n}\r\n\r\n\r\nPlayerProfileStatisticsPane.defaultProps = {\r\n statistics : [],\r\n columns : []\r\n}\r\n\r\nexport default PlayerProfileStatisticsPane;","import React from 'react'\r\nimport { Component } from 'react'\r\nimport PropTypes from 'prop-types';\r\n\r\nconst GameContext = React.createContext({})\r\n\r\nclass ContextProvider extends Component {\r\n getChildContext() {\r\n \r\n \r\n const { context } = this.props;\r\n return { context };\r\n }\r\n\r\n render() {\r\n \r\n { this.props.children }\r\n \r\n }\r\n}\r\n\r\nContextProvider.propTypes = {\r\n context : PropTypes.object\r\n}\r\n\r\nContextProvider.childContextTypes = {\r\n context : PropTypes.object\r\n}\r\n\r\nexport default ContextProvider;","import React from 'react'\r\n\r\nimport Icon from './Icon'\r\n\r\nimport styles from './Checkbox.module.css'\r\nimport classNames from 'classnames'\r\n\r\nexport const Checkbox = ({ checked, disabled, className, label, onChange }) => {\r\n\r\n const _className = classNames(\r\n styles.container,\r\n className\r\n )\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nCheckbox.defaultProps = {\r\n \r\n}","import React, { useEffect, useCallback } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { useTransition, animated } from 'react-spring';\r\n\r\nimport styled, { css } from 'styled-components';\r\n\r\nconst Container = styled.div`\r\n font-size: 14px;\r\n`\r\n\r\nconst Content = styled.div`\r\n z-index: 1000; \r\n`\r\n\r\nconst Cover = styled(animated.div)`\r\n position: fixed;\r\n\r\n top: 0; \r\n right: 0; \r\n bottom: 0; \r\n left: 0;\r\n \r\n background: rgba(0, 0, 0, 0.5);\r\n \r\n will-change: opacity;\r\n \r\n z-index: 990; \r\n \r\n display: ${ props => props.open ? 'block' : 'none' };\r\n \r\n`\r\n\r\nconst Menu = styled(animated.div)`\r\n\r\n position: fixed;\r\n \r\n top: 0;\r\n left: 0;\r\n bottom: 0;\r\n \r\n width: var(--sidebar-panel-width, 272px);\r\n\r\n z-index: 1001; \r\n background-color: ${ props => props.theme.colors.siteBackground };\r\n color: ${ props => props.theme.colors.siteForeground };\r\n\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n\r\n will-change: transform;\r\n\r\n -webkit-overflow-scrolling: touch;\r\n\r\n display: ${ props => props.open ? 'block' : 'none' };\r\n\r\n`\r\n\r\n\r\nconst AnimatedMenu = ({ open, children }) => {\r\n const transitions = useTransition(open, null, {\r\n from: { transform: 'translate3d(-100%, 0, 0)', display: 'block' },\r\n enter: { transform: 'translate3d(0, 0, 0)', display: 'block' },\r\n leave: { transform: 'translate3d(-100%, 0, 0)', display: 'block' }\r\n })\r\n\r\n return transitions.map(({ item, key, props }) => (\r\n item && { children }️\r\n ));\r\n}\r\n\r\nconst AnimatedCover = ({ open, ...otherProps }) => {\r\n const transitions = useTransition(open, null, {\r\n from: { opacity: 0, display: 'block' },\r\n enter: { opacity: 1, display: 'block' },\r\n leave: { opacity: 0, display: 'block' }\r\n })\r\n\r\n return transitions.map(({ item, key, props }) => (\r\n item && \r\n ));\r\n}\r\n\r\n\r\nconst OffCanvasSidebar = ({ open, pin, menu, onClose, children }) => {\r\n const onKeyDown = useCallback((e) => {\r\n if (e.key === 'Escape') {\r\n onClose();\r\n }\r\n })\r\n\r\n useEffect(() => {\r\n window.addEventListener('keydown', onKeyDown);\r\n\r\n return () => {\r\n window.removeEventListener('keydown', onKeyDown)\r\n }\r\n })\r\n \r\n return (\r\n \r\n { menu }\r\n \r\n \r\n\r\n { children }\r\n \r\n \r\n ) \r\n \r\n}\r\n\r\n\r\n\r\n\r\nconst PinnedContainer = styled.div`\r\n font-size: 14px;\r\n display: grid;\r\n grid-template-columns: var(--sidebar-panel-width, 272px) 1fr;\r\n min-height: 100vh;\r\n`\r\n\r\nconst PinnedMenu = styled(animated.div)`\r\n z-index: 1001; \r\n background-color: ${ props => props.theme.colors.siteBackground };\r\n color: ${ props => props.theme.colors.siteForeground };\r\n`\r\n\r\nconst PinnedContent = styled.div`\r\n position: relative;\r\n`\r\n\r\nconst PinnedSidebar = ({ menu, children }) => {\r\n return (\r\n \r\n { menu }\r\n { children }\r\n \r\n ) \r\n \r\n}\r\n\r\n\r\nconst Sidebar = ({ pin, children, ...otherProps }) => {\r\n if (pin) {\r\n return { children }\r\n }\r\n else {\r\n return { children }\r\n }\r\n}\r\n\r\nSidebar.propTypes = {\r\n open : PropTypes.bool.isRequired,\r\n pin : PropTypes.bool.isRequired,\r\n onClose : PropTypes.func,\r\n menu : PropTypes.node\r\n}\r\n\r\nSidebar.defaultProps = {\r\n open : false,\r\n pin : false\r\n}\r\n\r\nexport default Sidebar;","import React from 'react'\r\n\r\nclass SidebarMain extends React.PureComponent {\r\n\r\n render() {\r\n \r\n\r\n return (\r\n
    \r\n { this.props.children }\r\n
    \r\n
    \r\n ) \r\n }\r\n}\r\n\r\n\r\nSidebarMain.propTypes = {\r\n}\r\n\r\nSidebarMain.defaultProps = {\r\n}\r\n\r\nexport default SidebarMain;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport Icon from './Icon'\r\n\r\nclass SidebarPanel extends React.PureComponent {\r\n\r\n render() {\r\n\r\n\r\n\r\n return (\r\n\r\n
    \r\n
    \r\n { this.props.title }\r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n { this.props.children }\r\n
    \r\n
    \r\n\r\n ) \r\n }\r\n}\r\n\r\n\r\nSidebarPanel.propTypes = {\r\n title : PropTypes.node\r\n}\r\n\r\nSidebarPanel.defaultProps = {\r\n}\r\n\r\nexport default SidebarPanel;","import React, { useMemo, useEffect } from 'react'\r\n\r\nimport styled, { css } from 'styled-components'\r\nimport { color, layout, flexbox, space } from 'styled-system'\r\nimport { animated, useTransition, config } from 'react-spring'\r\nimport { selectTournament } from '../redux/ui/actions';\r\n\r\nimport Spinner from './Spinner'\r\n\r\n\r\n\r\n\r\nexport const ListView = styled.div`\r\n ${ color }\r\n ${ layout }\r\n ${ flexbox }\r\n ${ space }\r\n`\r\n\r\nexport const ListViewItem = styled.div`\r\n border-bottom: 1px solid ${ props => props.theme.colors.borderUp };\r\n border-top: 1px solid ${ props => props.theme.colors.borderDown };\r\n transition: 0.2s ease-in-out background-color;\r\n\r\n min-height: 48px;\r\n \r\n ${ color }\r\n ${ layout }\r\n ${ flexbox }\r\n ${ space }\r\n\r\n ${ \r\n props => props.onClick && css`\r\n cursor: pointer;\r\n &:hover {\r\n background-color: rgba(255,255,255,0.1);\r\n }\r\n `\r\n }\r\n\r\n ${ \r\n props => props.disabled && css`\r\n opacity: 0.5\r\n `\r\n }\r\n`\r\n\r\n\r\nexport const ListViewHeader = styled.div`\r\n\tborder-bottom: ${ props => `1px solid ${ props.theme.colors.borderBottom}` };\r\n \r\n ${ color }\r\n ${ layout }\r\n ${ flexbox }\r\n ${ space }\r\n`\r\n\r\nconst StyledAnimatedListView = styled.div`\r\n position: relative;\r\n\r\n ${ ListViewItem } {\r\n \r\n }\r\n`\r\n\r\n\r\nconst SpinnerContainer = styled.div`\r\n position: absolute;\r\n width: 100%;\r\n height: 48px;\r\n`\r\n\r\n\r\n\r\nfunction sleep(ms) {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n }\r\n\r\nexport const AnimatedListView = React.memo(({ items, isFetching, itemHeight, keySelector, children }) => {\r\n const rows = useMemo(() => {\r\n return items && items.map((item, index) => ({ ...item, index, _y : index * itemHeight }))\r\n }, [items]);\r\n\r\n\r\n const transitions = useTransition(rows, keySelector, {\r\n from: item => ({ position: 'absolute', top : item._y + 'px', height : itemHeight + 'px', width: '100%', opacity: 0, transform: 'translate3d(0, 24px, 0)' }),\r\n enter: item => async (next, cancel) => {\r\n await sleep(item.index * 25)\r\n await next({ opacity: 1, transform: 'translate3d(0, 0px, 0)' })\r\n },\r\n leave: { opacity: 0 , transform: 'translate3d(0, 0px, 0)' }\r\n });\r\n\r\n\r\n return (\r\n \r\n { isFetching && }\r\n\r\n { \r\n transitions.map(({ item, props, key }) => {\r\n return { children(item) }\r\n }) \r\n }\r\n\r\n \r\n \r\n )\r\n\r\n})\r\n\r\n","import React from 'react'\r\nimport classNames from 'classnames'\r\nimport PropTypes from 'prop-types'\r\nimport Icon from './Icon'\r\n\r\nimport styled, { css } from 'styled-components'\r\nimport { typography } from 'styled-system'\r\nimport useTheme from './useTheme';\r\n\r\n\r\nconst StyledIcon = styled.div`\r\n color: ${ props => props.theme.colors.themes[props.themeName].action };\r\n`\r\n\r\nconst StyledLabel = styled.span`\r\n flex: 1; \r\n margin-left: 12px; \r\n ${ typography };\r\n`\r\n\r\nconst StyledContainer = styled.div`\r\n\tdisplay: block;\r\n\r\n\tfont-size: 14px;\r\n\t\r\n height: 47px;\r\n \r\n background: ${ \r\n props => props.disabled ? \r\n props.theme.colors.buttonLikeBackgroundDisabled : \r\n props.theme.colors.buttonLikeBackground\r\n \r\n };\r\n margin: 0 0 1px 0;\r\n \r\n line-height: 47px;\r\n \r\n\tpadding: 0 ${ props => props.theme.space.s300 };\r\n\tborder-radius: ${ props => props.theme.radii.r400 };\r\n\r\n\ttransition: 0.15s linear background-color;\r\n\twill-change: background-color;\r\n\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\r\n\tcolor: ${ props => props.theme.colors.themes[props.themeName].action };\r\n\r\n user-select: none;\r\n\r\n ${ \r\n props => !props.disabled && css`\r\n &:hover {\r\n cursor: pointer;\r\n background-color : ${ props => props.theme.colors.buttonLikeBackground };\r\n color : ${ props => props.theme.colors.themes[props.themeName].actionHover };\r\n }\r\n\r\n \r\n `}\r\n \r\n ${ \r\n props => props.disabled && css`\r\n ${ StyledIcon } {\r\n color: ${ props => props.theme.colors.buttonLikeForegroundDisabled };\r\n }\r\n\r\n ${ StyledLabel } {\r\n color: ${ props => props.theme.colors.buttonLikeForegroundDisabled };\r\n }\r\n `}\r\n\t\r\n`\r\n\r\nconst Checkable = ({ checked, label, disabled, uncheckedIcon, checkedIcon, themeName, children, onClick}) => {\r\n const theme = useTheme();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n { children }\r\n \r\n )\r\n}\r\n\r\n\r\nCheckable.propTypes = {\r\n checked : PropTypes.bool.isRequired,\r\n disabled : PropTypes.bool.isRequired,\r\n icon : PropTypes.string.isRequired,\r\n onClick : PropTypes.func.isRequired,\r\n \r\n}\r\n\r\nCheckable.defaultProps = {\r\n checked : false,\r\n disabled : false,\r\n icon : 'check',\r\n themeName : 'default'\r\n}\r\n\r\nexport default Checkable;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { ListView } from './ListView'\r\nimport Checkable from './Checkable'\r\n\r\nclass CheckBoxButtonList extends React.PureComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.onClick = this.onClick.bind(this);\r\n }\r\n\r\n onClick(item) {\r\n if (item.disabled)\r\n return;\r\n\r\n const list = this.props.selected;\r\n\r\n const index = list.indexOf(item.value);\r\n if (index >= 0) {\r\n const nList = [...list.slice(0, index), ...list.slice(index + 1)];\r\n this.props.onChange(nList);\r\n }\r\n else {\r\n \r\n this.props.onChange([...list, item.value]);\r\n }\r\n }\r\n\r\n render() {\r\n const children = this.props.items.map((item, index) => {\r\n const checked = this.props.selected.indexOf(item.value) >= 0;\r\n\r\n return (\r\n this.onClick(item) }>\r\n { item.text }\r\n \r\n )\r\n });\r\n\r\n return (\r\n \r\n { children }\r\n \r\n ) \r\n }\r\n}\r\n\r\n\r\nCheckBoxButtonList.propTypes = {\r\n selected : PropTypes.array.isRequired,\r\n items : PropTypes.array.isRequired,\r\n onChange : PropTypes.func.isRequired\r\n}\r\n\r\nCheckBoxButtonList.defaultProps = {\r\n selected : [],\r\n items : []\r\n}\r\n\r\nexport default CheckBoxButtonList;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport Checkable from './Checkable'\r\n\r\nclass RadioButtonList extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.clickHandler = this.clickHandler.bind(this);\r\n }\r\n\r\n clickHandler(item) {\r\n if (!item.disabled) {\r\n this.props.onChange(item.value);\r\n }\r\n }\r\n\r\n\r\n render() {\r\n const children = this.props.items.map((item, index) => {\r\n \r\n const { disabled, value } = item;\r\n const checked = this.props.value === value;\r\n\r\n return this.clickHandler(item) }>\r\n { item.text }\r\n \r\n })\r\n\r\n return (\r\n
    \r\n { children }\r\n
    \r\n ) \r\n }\r\n}\r\n\r\n\r\nRadioButtonList.propTypes = {\r\n value : PropTypes.any,\r\n items : PropTypes.array.isRequired,\r\n onChange : PropTypes.func.isRequired\r\n}\r\n\r\nRadioButtonList.defaultProps = {\r\n items : []\r\n}\r\n\r\nexport default RadioButtonList;","import React from 'react'\r\n\r\nimport styled from 'styled-components'\r\n\r\nconst StyledContainer = styled.div`\r\n position: relative;\r\n`\r\n\r\nconst StyledSticker = styled.div`\r\n position: absolute;\r\n\r\n top: 0;\r\n left: 0;\r\n`\r\n\r\n\r\n\r\nconst WithSticker = ({ sticker, children }) => {\r\n\r\n return (\r\n \r\n { sticker }\r\n\r\n { children }\r\n \r\n )\r\n}\r\n\r\nexport default WithSticker;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport styled from 'styled-components';\r\n\r\nconst StyledSnackbar = styled.div`\r\n width: 300px;\r\n \r\n margin-left: -150px;\r\n\r\n background: ${ props => props.theme.colors.snackbarBackground };\r\n \r\n color : ${ props => (\r\n {\r\n information : props.theme.colors.snackbarForeground,\r\n success : props.theme.colors.utilityGreenContrast,\r\n warning : props.theme.colors.utilityOrangeContrast,\r\n error : props.theme.colors.utilityRedContrast\r\n }[props.type]\r\n )};\r\n\r\n text-align: center;\r\n\r\n line-height: 24px;\r\n border-radius: 3px;\r\n font-size: 14px;\r\n\r\n padding: 12px;\r\n\r\n box-shadow: ${ props => props.theme.shadows.snackbar };\r\n\r\n z-index: 3000;\r\n`\r\n\r\nexport const Snackbar = ({ children, ...otherProps }) => {\r\n \r\n return (\r\n \r\n { children }\r\n \r\n )\r\n}\r\n\r\nSnackbar.propTypes = {\r\n type : PropTypes.oneOf(['information', 'success', 'warning', 'error'])\r\n}\r\n\r\nSnackbar.defaultProps = {\r\n type : 'information'\r\n}","import React, { useState, useCallback } from 'react';\r\n\r\nimport { Snackbar } from './Snackbar'\r\nimport { animated, useTransition, config } from 'react-spring'\r\n\r\nexport const SnackbarContext = React.createContext();\r\n\r\nexport const SnackbarProvider = ({ time, children }) => {\r\n const [items, setItems] = useState([]);\r\n const [internalTimeout, internalSetTimeout] = useState(null);\r\n\r\n const transitions = useTransition(items, item => item.key, {\r\n from: { \r\n bottom: '24px',\r\n left: '50%',\r\n position : 'fixed', \r\n transform: 'translate3d(0, 48px, 0)', \r\n opacity: 0 ,\r\n zIndex: 4000\r\n },\r\n enter: { transform: 'translate3d(0, 0, 0)', opacity: 1 },\r\n leave: { transform: 'translate3d(0, 48px, 0)', opacity: 0 },\r\n config : config.stiff\r\n });\r\n\r\n const hide = useCallback(() => {\r\n setItems([]);\r\n internalSetTimeout(null);\r\n })\r\n\r\n const open = useCallback((message, type) => {\r\n setItems([{ key : 0, message, type }]);\r\n \r\n if (internalTimeout)\r\n clearTimeout(internalTimeout);\r\n \r\n internalSetTimeout(setTimeout(hide, time));\r\n });\r\n \r\n\r\n return (\r\n \r\n {children}\r\n\r\n { transitions.map(({ item, props, key}) => (\r\n \r\n \r\n { item.message}\r\n \r\n \r\n ))}\r\n \r\n );\r\n}\r\n\r\nSnackbarProvider.defaultProps = {\r\n time : 3000\r\n}\r\n\r\nexport const SnackbarConsumer = SnackbarContext.Consumer;","import React from 'react'\r\n\r\nimport Box from './Box'\r\n\r\nconst Panel = ({ children, ...otherProps }) => {\r\n\r\n return (\r\n \r\n { children }\r\n \r\n )\r\n}\r\n\r\nexport default Panel;","import React from 'react'\r\nimport dayjs from 'dayjs'\r\n\r\nimport translatable from '../hocs/translatable'\r\n\r\n\r\nconst RelativeTime = ({ t, date }) => {\r\n \r\n var elapsed = new Date().getTime() - new Date(date).getTime();\r\n\r\n \r\n if (elapsed < 5 * 1000) {\r\n return t('time.now'); \r\n }\r\n else if (elapsed < 60 * 1000) {\r\n const seconds = Math.round(elapsed / 1000);\r\n return seconds !== 1 ? t('time.nSecondsAgo', { seconds }) : t('time.nSecondAgo', { seconds }); \r\n }\r\n else if (elapsed < 60 * 60 * 1000) {\r\n const minutes = Math.round(elapsed / (60 * 1000));\r\n return minutes !== 1 ? t('time.nMinutesAgo', { minutes }) : t('time.nMinuteAgo', { minutes }); \r\n }\r\n else if (elapsed < 24 * 60 * 60 * 1000 ) {\r\n const hours = Math.round(elapsed / (60 * 60 * 1000));\r\n return hours !== 1 ? t('time.nHoursAgo', { hours }) : t('time.nHourAgo', { hours }); \r\n }\r\n else {\r\n return dayjs(date).format('dddd DD. MMM, HH:mm');\r\n }\r\n}\r\n\r\nexport default translatable(React.memo(RelativeTime));","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport ScrollContainer from './ScrollContainer'\r\n\r\nimport styles from './Highlight.scss'\r\n\r\nimport styled from 'styled-components'\r\n\r\nconst StyledWrapper = styled.div`\r\n\t--highlight-background-color: ${ props => props.theme.colors.cardBackground };\r\n\t--highlight-meta-color: ${ props => props.theme.colors.cardForeground };\r\n\t--highlight-text-color: ${ props => props.theme.colors.cardForeground };\r\n`\r\n\r\nclass HighlightItem extends React.PureComponent {\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n
    { this.props.heading }
    \r\n
    { this.props.value }
    \r\n
    \r\n { this.props.children }\r\n
    \r\n
    \r\n
    \r\n ) \r\n }\r\n}\r\n\r\n\r\nHighlightItem.propTypes = {\r\n media : PropTypes.any,\r\n header : PropTypes.any,\r\n value : PropTypes.any\r\n}\r\n\r\n\r\nclass Highlight extends React.PureComponent {\r\n\r\n static Item = HighlightItem;\r\n\r\n render() {\r\n return (\r\n \r\n \r\n
    \r\n { this.props.children }\r\n
    \r\n
    \r\n
    \r\n ) \r\n }\r\n}\r\n\r\n\r\nHighlight.propTypes = {\r\n}\r\n\r\n\r\nexport default Highlight;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport Checkable from './Checkable'\r\n\r\nconst CheckBoxButton = ({ checked, disabled, children, onChange }) => {\r\n return (\r\n onChange(!checked) }>\r\n { children }\r\n \r\n ) \r\n}\r\n\r\nCheckBoxButton.propTypes = {\r\n checked : PropTypes.bool.isRequired,\r\n onChange : PropTypes.func.isRequired\r\n}\r\n\r\nCheckBoxButton.defaultProps = {\r\n checked : false\r\n}\r\n\r\nexport default CheckBoxButton;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { number, percent } from 'utils'\r\n\r\nconst FormattedValue = ({ value, format }) => {\r\n switch (format) {\r\n case 'number':\r\n return number(value);\r\n case 'percent':\r\n return percent(value);\r\n default:\r\n return value + '';\r\n\r\n }\r\n\r\n}\r\n\r\n\r\nFormattedValue.propTypes = {\r\n value : PropTypes.any,\r\n format : PropTypes.string.isRequired\r\n}\r\n\r\nFormattedValue.defaultProps = {\r\n format : 'text'\r\n}\r\n\r\nexport default FormattedValue;","import React from 'react'\r\nimport Icon from './Icon'\r\n\r\nimport styles from './Filterbar.scss'\r\n\r\n\r\nconst FilterbarItem = ({ children, onRemove }) => {\r\n return (\r\n
    { children }
    \r\n )\r\n}\r\n\r\n\r\nclass Filterbar extends React.PureComponent {\r\n\r\n static Item = FilterbarItem;\r\n\r\n render() {\r\n return (\r\n
    \r\n { this.props.children }\r\n
    \r\n )\r\n }\r\n\r\n}\r\n\r\nFilterbar.propTypes = {\r\n}\r\n\r\n\r\nexport default Filterbar;","import React from 'react'\r\n\r\nimport { Box, RegularText, LargeText } from 'components'\r\n\r\nclass ErrorBoundary extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { \r\n hasError: false,\r\n message : null,\r\n showDetails : false\r\n };\r\n }\r\n \r\n componentDidCatch(error, info) {\r\n\r\n this.setState({ \r\n hasError: true,\r\n message : error + ''\r\n });\r\n\r\n if (!!window.rg4js) {\r\n rg4js('send', error);\r\n rg4js('customTags', info);\r\n }\r\n }\r\n \r\n render() {\r\n if (this.state.hasError) {\r\n return \r\n ⚠️\r\n \r\n Whoops - an error occurred.
    \r\n You could try refreshing the page.
    \r\n
    \r\n this.setState({ showDetails : true })}>Show details\r\n
    \r\n\r\n { \r\n this.state.showDetails &&\r\n
    \r\n                                Error message : { this.state.message }\r\n                            
    \r\n }\r\n
    \r\n } else {\r\n return this.props.children ;\r\n }\r\n\r\n }\r\n}\r\n\r\nexport default ErrorBoundary;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\nimport { number } from '../common/utils'\r\n\r\nclass Jump extends React.PureComponent{\r\n\r\n renderIcon() {\r\n if (this.props.value < 0)\r\n return '▼';\r\n else if (this.props.value > 0)\r\n return '▲';\r\n else\r\n return null;\r\n }\r\n\r\n renderValue() {\r\n const absValue = Math.abs(this.props.value || 0);\r\n if (absValue !== 0)\r\n return number(absValue);\r\n else\r\n return '-'\r\n }\r\n\r\n render() {\r\n const classes = classNames(\r\n 'nowrap',\r\n { \r\n red : this.props.value < 0,\r\n green : this.props.value > 0 \r\n }\r\n );\r\n\r\n\r\n \r\n\r\n return (\r\n \r\n { this.renderIcon() }\r\n { this.renderValue() }\r\n \r\n )\r\n } \r\n}\r\n\r\nJump.propTypes = {\r\n value : PropTypes.number\r\n}\r\n\r\nexport default Jump;\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\n\r\nimport styles from './Stack.scss'\r\n\r\n\r\nconst StackItem = ({ style, children }) => {\r\n\r\n return (\r\n
    \r\n { children }\r\n
    \r\n )\r\n}\r\n\r\nStackItem.propTypes = {\r\n\r\n\r\n}\r\n\r\nStackItem.defaultProps = {\r\n};\r\n\r\n\r\nclass Stack extends React.PureComponent {\r\n static Item = StackItem;\r\n\r\n render() {\r\n \r\n const style = {\r\n display : 'flex',\r\n flexDirection : this.props.orientation === 'horizontal' ? 'row' : 'column'\r\n }\r\n\r\n return (\r\n
    \r\n { this.props.children }\r\n
    \r\n )\r\n } \r\n}\r\n\r\nStack.propTypes = {\r\n orientation : PropTypes.oneOf([ 'horizontal', 'vertical' ]).isRequired\r\n}\r\n\r\nStack.defaultProps = {\r\n orientation : 'horizontal'\r\n};\r\n\r\nexport default Stack;","import React from 'react'\r\n\r\nconst GridItem = ({ style, children }) => {\r\n \r\n return (\r\n
    \r\n { children }\r\n
    \r\n )\r\n}\r\n\r\nGridItem.propTypes = {\r\n\r\n}\r\n\r\nGridItem.defaultProps = {\r\n};\r\n\r\n\r\nclass Grid extends React.PureComponent {\r\n static Item = GridItem;\r\n\r\n render() {\r\n \r\n const style = {\r\n display : 'grid',\r\n width : '100%',\r\n ...this.props.style\r\n }\r\n\r\n\r\n return (\r\n
    \r\n { this.props.children }\r\n
    \r\n )\r\n } \r\n}\r\n\r\nGrid.propTypes = {\r\n \r\n}\r\n\r\nGrid.defaultProps = {\r\n \r\n};\r\n\r\nexport default Grid;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport Avatar from './Avatar'\r\nimport Icon from './Icon'\r\nimport Box from './Box'\r\nimport { Text } from './Typography'\r\n\r\nconst FantasyTeamIdentity = ({ fantasyTeam }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n { fantasyTeam.isDeleted ? (Deleted) : fantasyTeam.name }\r\n { fantasyTeam.level === 'gold' && }\r\n \r\n\r\n { fantasyTeam.user.username }\r\n \r\n \r\n )\r\n}\r\n\r\nFantasyTeamIdentity.propTypes = {\r\n fantasyTeam: PropTypes.object.isRequired,\r\n \r\n}\r\n\r\nexport default FantasyTeamIdentity;\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import React, { useState, useEffect, useCallback, useRef } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport Icon from './Icon'\r\n\r\nimport { useTransition, animated, config } from 'react-spring';\r\n\r\nimport styled from 'styled-components'\r\n\r\nconst Container = styled.div`\r\n`\r\n\r\n\r\nconst StyledBackground = styled(animated.div)`\r\n position: fixed;\r\n font-size: 0;\r\n \r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n\r\n z-index: 1200;\r\n \r\n background-color: rgba(0, 0, 0, 0.6);\r\n`;\r\n\r\nconst Background = React.forwardRef(({ open, onClick }, ref) => {\r\n const transitions = useTransition(open, null, {\r\n from: { opacity: 0, willChange: 'opacity' },\r\n enter: { opacity: 1 },\r\n leave: { opacity: 0 },\r\n config : { duration: 100 }\r\n })\r\n\r\n return transitions.map(({ item, key, props }) =>\r\n item && \r\n )\r\n})\r\n\r\n\r\n\r\n\r\nconst Window = styled(animated.div)`\r\n position: fixed;\r\n \r\n right: 0;\r\n top: 0;\r\n bottom: 0;\r\n\r\n width: calc(100vw - 48px);\r\n min-width: 320px;\r\n max-width: 640px;\r\n \r\n background-color: ${ props => props.theme.colors.siteBackground };\r\n\r\n box-shadow: ${ props => props.theme.shadows.flyout };\r\n \r\n z-index: 1201;\r\n\r\n overflow: hidden;\r\n`\r\n\r\n\r\n\r\nexport const FlyoutStack = ({ onPop, children }) => {\r\n const backgroundRef = useRef();\r\n \r\n\r\n const onKeyDown = useCallback((e) => {\r\n if (e.which === 27) {\r\n onPop();\r\n }\r\n })\r\n\r\n useEffect(() => {\r\n document.addEventListener('keydown', onKeyDown);\r\n\r\n return () => {\r\n document.removeEventListener('keydown', onKeyDown);\r\n }\r\n }, [])\r\n\r\n\r\n useEffect(() => {\r\n document.body.style.overflow = children.length > 0 ? 'hidden' : 'auto';\r\n })\r\n\r\n \r\n const childCount = React.Children.count(children);\r\n const transitions = useTransition(children, item => item.key, {\r\n from: { transform: 'translate3d(100%, 0, 0)' },\r\n enter: { transform: 'translate3d(0, 0, 0)' },\r\n leave: { transform: 'translate3d(100%, 0, 0)' },\r\n config : { ...config.gentle, clamp : true }\r\n });\r\n\r\n const handleBackgroundClick = (e) => {\r\n if (!backgroundRef.current) {\r\n return;\r\n }\r\n\r\n if (backgroundRef.current != e.target) {\r\n return;\r\n }\r\n\r\n onPop() ;\r\n }\r\n\r\n return (\r\n \r\n 0 } onClick={ handleBackgroundClick }>\r\n\r\n { \r\n transitions.map(({ item, props, key }) => {\r\n return \r\n \r\n { item }\r\n \r\n \r\n })\r\n }\r\n \r\n )\r\n}\r\n\r\nFlyoutStack.propTypes = {\r\n onPop : PropTypes.func.isRequired\r\n}\r\n\r\nFlyoutStack.defaultProps = {\r\n}\r\n\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\n\r\nclass FieldError extends React.PureComponent{\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const { errors } = this.props;\r\n \r\n const propertyErrors = (errors || []).filter(e => e.source === this.props.field);\r\n\r\n const className = classNames(\r\n { 'error' : propertyErrors.length > 0 }\r\n )\r\n\r\n return (\r\n
    \r\n { this.props.children }\r\n
    \r\n { propertyErrors.map((e, idx) =>
    { e.message }
    )}\r\n
    \r\n
    \r\n )\r\n } \r\n}\r\n\r\nFieldError.propTypes = {\r\n field : PropTypes.string.isRequired,\r\n errors : PropTypes.any\r\n}\r\n\r\nexport default FieldError;\r\n\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n\r\nimport Icon from './Icon'\r\n\r\nimport styles from './Odds.scss'\r\n\r\n\r\n\r\nconst OutcomeWrapper = ({ className, url, children }) => {\r\n if (url) {\r\n return e.stopPropagation() }>{ children }\r\n }\r\n else {\r\n return { children }\r\n }\r\n\r\n}\r\n\r\nconst Outcome = ({ type, odds, url, icon }) => {\r\n return \r\n { type }:\r\n { odds.toFixed(2) }\r\n { icon && }\r\n \r\n}\r\n\r\nOutcome.propTypes = {\r\n type : PropTypes.string.isRequired,\r\n odds : PropTypes.number.isRequired\r\n}\r\n\r\n\r\nclass Odds extends React.PureComponent {\r\n static Outcome = Outcome\r\n \r\n\r\n render() {\r\n const children = (this.props.children || []).filter(c => c && c.type === Outcome);\r\n\r\n return (\r\n \r\n { \r\n React.Children.map(children, (child) => {\r\n const icon = child.props.odds <= this.props.superhotThreshold ?\r\n 'flameDouble' : child.props.odds <= this.props.hotThreshold ? 'flameSingle' : null\r\n\r\n return React.cloneElement(child, { icon });\r\n })\r\n }\r\n \r\n )\r\n }\r\n}\r\n\r\nOdds.propTypes = {\r\n title : PropTypes.string,\r\n hotThreshold : PropTypes.number.isRequired,\r\n superhotThreshold : PropTypes.number.isRequired\r\n}\r\n\r\nOdds.defaultProps = {\r\n hotThreshold : 1.5,\r\n superhotThreshold : 1.2,\r\n}\r\n\r\nexport default Odds","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { Link } from 'react-router-dom'\r\n\r\nimport Icon from './Icon'\r\nimport { HorizontalMenu, MenuItem } from './Menu'\r\n\r\nimport styles from './NavBar.scss'\r\n\r\nimport styled, { css } from 'styled-components'\r\n\r\nconst StyledContainer = styled.div`\r\n \r\n background-color: ${ props => props.theme.colors.navbarBackground };\r\n \r\n position: relative;\r\n z-index: 1000;\r\n\r\n ${\r\n props => props.theme.colors.navbarBackground !== 'transparent' && css`\r\n \r\n color: ${ props => props.theme.colors.navbarForeground };\r\n a { \r\n color: ${ props => props.theme.colors.navbarForeground }; \r\n\r\n &:hover { color: ${ props => props.theme.colors.navbarForeground }; }\r\n }\r\n `\r\n }\r\n\r\n\r\n \r\n`\r\n\r\n\r\nconst NavItem = ({ href, children }) => {\r\n \r\n\r\n return href.indexOf('://') >= 0 ?\r\n { children } :\r\n { children };\r\n}\r\n\r\nNavItem.propTypes = {\r\n href : PropTypes.string.isRequired,\r\n external : PropTypes.bool\r\n}\r\n\r\n\r\nclass NavBar extends React.PureComponent{\r\n\r\n\r\n render() {\r\n const { brand, aux, themeName } = this.props;\r\n\r\n \r\n\r\n return \r\n
    \r\n { \r\n brand && \r\n
    \r\n { brand }\r\n
    \r\n }\r\n
    \r\n \r\n {\r\n React.Children.map(this.props.children, child => {\r\n return (\r\n \r\n { child.props.children }\r\n { child.props.external && }\r\n \r\n )\r\n })\r\n \r\n }\r\n \r\n\r\n
    \r\n {\r\n aux &&\r\n
    \r\n { aux }\r\n
    \r\n }\r\n
    \r\n
    \r\n } \r\n}\r\n\r\nNavBar.propTypes = {\r\n brand : PropTypes.node,\r\n aux : PropTypes.node\r\n}\r\n\r\nNavBar.defaultProps = {\r\n \r\n}\r\n\r\n\r\nexport { NavItem, NavBar }\r\n\r\n","\r\nimport React from 'react'\r\n\r\nimport classNames from 'classnames';\r\n\r\nimport styles from './Card.module.css'\r\n\r\nexport const CardInset = ({ className, children }) => {\r\n const _className = classNames(\r\n styles.inset,\r\n className\r\n )\r\n\r\n return
    { children }
    \r\n}\r\n\r\nexport const Card = ({ className, children, contextMenu, onClick, ...otherProps }) => {\r\n \r\n const _className = classNames(\r\n styles.container,\r\n className,\r\n {\r\n [styles.clickable] : onClick\r\n }\r\n )\r\n\r\n return (\r\n
    { children }
    \r\n )\r\n}","import React from 'react'\r\n\r\nimport styles from './AlertBox.module.css'\r\n\r\nimport classNames from 'classnames'\r\n\r\nconst AlertBox = ({ type, children }) => {\r\n \r\n const className = classNames(\r\n styles.container,\r\n {\r\n [styles.warning] : type == 'warning',\r\n [styles.success] : type == 'success',\r\n [styles.error] : type == 'error',\r\n [styles.info] : type == 'info'\r\n }\r\n )\r\n\r\n return
    { children }
    \r\n}\r\n\r\nAlertBox.propTypes = {\r\n}\r\n\r\nAlertBox.defaultProps = {\r\n type : 'error'\r\n}\r\n\r\nexport default AlertBox","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\n\r\n\r\nconst debounce = (fn, delay) => {\r\n var timer = null;\r\n\r\n return function (e) {\r\n e.persist();\r\n var context = this, args = arguments;\r\n clearTimeout(timer);\r\n timer = setTimeout(function () {\r\n fn.apply(context, args);\r\n }, delay);\r\n };\r\n}\r\n\r\nclass SearchBox extends React.PureComponent{\r\n constructor(props) {\r\n super(props);\r\n this.onChange = debounce(this.onChange.bind(this), props.debounce);\r\n }\r\n\r\n onChange(e){ \r\n this.props.onQueryChange(e.target.value)\r\n }\r\n\r\n render() {\r\n \r\n const className = classNames(\r\n 'input',\r\n {\r\n 'input--busy' : this.props.busy\r\n }\r\n );\r\n\r\n return (\r\n \r\n )\r\n } \r\n}\r\n\r\nSearchBox.propTypes = {\r\n query : PropTypes.string,\r\n debounce : PropTypes.number.isRequired,\r\n onQueryChange : PropTypes.func,\r\n busy : PropTypes.bool.isRequired\r\n}\r\n\r\nSearchBox.defaultProps = {\r\n debounce : 300,\r\n busy : false\r\n}\r\n\r\nexport default SearchBox;\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport Modal from './Modal'\r\nimport Button from './Button'\r\nimport Stack from './Stack'\r\n\r\nconst Confirm = ({ open, title, children, onCancel, onConfirm }) => {\r\n const footer = (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n return (\r\n \r\n { children }\r\n \r\n ) \r\n}\r\n\r\nConfirm.propTypes = {\r\n open : PropTypes.bool.isRequired,\r\n title : PropTypes.string.isRequired,\r\n onConfirm : PropTypes.func,\r\n onCancel : PropTypes.func\r\n}\r\n\r\nConfirm.defaultProps = {\r\n open : false\r\n}\r\n\r\nexport default Confirm;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nclass GridView extends React.PureComponent {\r\n\r\n render() {\r\n const style = {\r\n display : 'grid',\r\n gridTemplateColumns : this.props.columns.join(' ')\r\n }\r\n\r\n if (this.props.gap) {\r\n style.gridGap = this.props.gap;\r\n }\r\n\r\n\r\n return (\r\n
    \r\n { this.props.children }\r\n
    \r\n ) \r\n }\r\n}\r\n\r\n\r\nGridView.propTypes = {\r\n columns : PropTypes.array,\r\n gap : PropTypes.string\r\n}\r\n\r\nGridView.defaultProps = {\r\n columns : []\r\n}\r\n\r\nexport default GridView;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nconst Cell = ({ style, children, column, gridRow, ...otherProps }) =>{\r\n const innerStyle = {\r\n }\r\n\r\n if (column) {\r\n innerStyle.gridColumn = this.props.column;\r\n }\r\n\r\n if (this.props.row) {\r\n innerStyle.gridRow = gridRow;\r\n }\r\n\r\n return (\r\n
    \r\n { children }\r\n
    \r\n ) \r\n}\r\n\r\n\r\nCell.propTypes = {\r\n column : PropTypes.string,\r\n style : PropTypes.object,\r\n gridRow : PropTypes.any,\r\n children : PropTypes.node\r\n}\r\n\r\nCell.defaultProps = {\r\n \r\n}\r\n\r\nexport default Cell;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n\r\nimport classNames from 'classnames'\r\n\r\nimport styles from './ValueChangeNotification.scss'\r\n\r\n\r\nclass ValueChangeNotification extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n nValue : props.value,\r\n pValue : props.value,\r\n isChanging : false\r\n }\r\n\r\n this.timer = null;\r\n this.reset = this.reset.bind(this);\r\n }\r\n\r\n\r\n componentDidMount() {\r\n this.setState({ \r\n nValue : this.props.value,\r\n pValue : this.props.value,\r\n isChanging : false\r\n })\r\n }\r\n\r\n compare(a, b) {\r\n if (this.props.compare) {\r\n return this.props.compare(a, b);\r\n }\r\n else {\r\n return a === b;\r\n }\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n\r\n if (typeof(this.props.value) === 'undefined') {\r\n this.setState({ nValue : nextProps.value, pValue : nextProps.value, isChanging : false });\r\n }\r\n \r\n else if (!this.compare(nextProps.value, this.props.value)) {\r\n\r\n if (this.state.isChanging) {\r\n this.setState({ nValue : nextProps.value });\r\n }\r\n else {\r\n this.setState({ pValue : this.props.value, nValue : nextProps.value, isChanging : true });\r\n }\r\n\r\n if (this.timer) {\r\n clearTimeout(this.timer);\r\n }\r\n\r\n this.timer = setTimeout(this.reset, this.props.time);\r\n }\r\n }\r\n\r\n reset() {\r\n this.setState({ isChanging : false });\r\n this.timer = null;\r\n }\r\n\r\n\r\n render() {\r\n\r\n const className = classNames(\r\n styles.container,\r\n styles.wipe\r\n )\r\n \r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n { this.props.render(this.state.nValue, this.state.pValue) }\r\n
    \r\n
    \r\n \r\n
    \r\n )\r\n }\r\n\r\n}\r\n\r\n\r\nValueChangeNotification.propTypes = {\r\n value : PropTypes.any.isRequired,\r\n time : PropTypes.number.isRequired,\r\n render : PropTypes.func.isRequired,\r\n compare : PropTypes.func\r\n}\r\n\r\nValueChangeNotification.defaultProps = {\r\n time : 3000\r\n}\r\n \r\n\r\nexport default ValueChangeNotification;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport TabMenu from './TabMenu';\r\n\r\n\r\nclass Tabs extends React.PureComponent{\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n selectedIndex : 0\r\n };\r\n }\r\n\r\n render() {\r\n const tab = React.Children.toArray(this.props.children)[this.state.selectedIndex];\r\n const items = React.Children.map(this.props.children, (c, index) => {\r\n return c.props.title\r\n })\r\n\r\n\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n this.setState({ selectedIndex : index }) }>\r\n
    \r\n
    { tab }
    \r\n
    \r\n )\r\n } \r\n}\r\n\r\nTabs.propTypes = {\r\n}\r\n\r\nexport default Tabs;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nclass TabPane extends React.PureComponent{\r\n render() {\r\n return (\r\n
    { this.props.children }
    \r\n )\r\n } \r\n}\r\n\r\nTabPane.propTypes = {\r\n title : PropTypes.string.isRequired\r\n}\r\n\r\nTabPane.defaultProps = {\r\n}\r\n\r\n\r\nexport default TabPane;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nclass SortableList extends React.PureComponent {\r\n render() {\r\n const sortedItems = this.props.items.slice().sort((a, b) => {\r\n const aValue = this.props.value(a);\r\n const bValue = this.props.value(b);\r\n\r\n if (typeof aValue === 'string' || typeof bValue === 'string') {\r\n return this.props.reverse ? bValue.localeCompare(aValue) : aValue.localeCompare(bValue);\r\n\r\n }\r\n else {\r\n return this.props.reverse ? bValue - aValue : aValue - bValue;\r\n }\r\n })\r\n\r\n return sortedItems.map((item, index) => {\r\n return this.props.render(item, index);\r\n });\r\n }\r\n}\r\n\r\n\r\nSortableList.propTypes = {\r\n items : PropTypes.array.isRequired,\r\n value : PropTypes.func.isRequired,\r\n render : PropTypes.func.isRequired,\r\n reverse : PropTypes.bool.isRequired,\r\n}\r\n\r\nSortableList.defaultProps = {\r\n reverse : false\r\n}\r\n\r\nexport default SortableList;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nclass Media extends React.PureComponent{\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n matches : false\r\n }\r\n this.matchMedia = null;\r\n this.updateMatches = this.updateMatches.bind(this);\r\n }\r\n\r\n\r\n componentWillUnmount() {\r\n if (this.matchMedia) {\r\n this.matchMedia.removeListener(this.updateMatches);\r\n }\r\n this.matchMedia = null;\r\n }\r\n \r\n componentDidMount() {\r\n this.matchMedia = window.matchMedia(this.props.query);\r\n this.matchMedia.addListener(this.updateMatches);\r\n this.updateMatches(this.matchMedia);\r\n }\r\n\r\n updateMatches(matchMedia) {\r\n this.setState({\r\n matches : matchMedia.matches\r\n })\r\n }\r\n\r\n render() {\r\n const { children } = this.props;\r\n const { matches } = this.state;\r\n \r\n return matches ? React.Children.only(children) : null;\r\n } \r\n}\r\n\r\nMedia.propTypes = {\r\n query : PropTypes.string,\r\n placeholder : PropTypes.any\r\n}\r\n\r\nMedia.defaultProps = {\r\n}\r\n\r\nexport default Media;\r\n\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nexport default class Async extends React.PureComponent{\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentWillMount() {\r\n this.cancelUpdate = false;\r\n this.props.load.then((c) => {\r\n \r\n this.C = c;\r\n if (!this.cancelUpdate) {\r\n this.forceUpdate();\r\n }\r\n })\r\n }\r\n\r\n componentWillUnmount() {\r\n this.cancelUpdate = true;\r\n }\r\n\r\n render() {\r\n const { componentProps } = this.props;\r\n\r\n return this.C ?\r\n this.C.default ?\r\n :\r\n \r\n : null;\r\n \r\n } \r\n}\r\n\r\nAsync.propTypes = {\r\n load : PropTypes.instanceOf(Promise).isRequired,\r\n componentProps : PropTypes.any\r\n}\r\n\r\n\r\n","import React from 'react'\r\nimport ReactDOM from 'react-dom'\r\n\r\n\r\nclass Portal extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n }\r\n \r\n componentDidMount() {\r\n }\r\n \r\n componentWillUnmount() {\r\n }\r\n \r\n \r\n render() {\r\n \r\n \r\n const el = document.querySelector(this.props.selector);\r\n\r\n if (el)\r\n return ReactDOM.createPortal(this.props.children, el);\r\n else\r\n return null;\r\n }\r\n\r\n}\r\n\r\n\r\nexport default Portal;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport Icon from './Icon'\r\n\r\nconst FantasyTeamLink = ({ fantasyTeam }) => {\r\n return (\r\n \r\n { fantasyTeam.isDeleted ? \r\n (Deleted) : fantasyTeam.name }\r\n \r\n \r\n )\r\n}\r\n\r\nFantasyTeamLink.propTypes = {\r\n fantasyTeam: PropTypes.object.isRequired,\r\n}\r\n\r\nexport default FantasyTeamLink;\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import React, { useState, useEffect } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nconst DocumentTitle = ({ title, children }) => {\r\n const [savedTitle, setSavedTitle] = useState(document.title);\r\n\r\n useEffect(() => {\r\n document.title = title;\r\n\r\n return () => {\r\n document.title = savedTitle;\r\n }\r\n \r\n }, [title])\r\n\r\n return children || null;\r\n\r\n}\r\n\r\nDocumentTitle.propTypes = {\r\n title : PropTypes.string.isRequired\r\n}\r\n\r\n\r\n\r\nexport default DocumentTitle;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { XButton } from './XButton'\r\nimport styles from './Button.scss'\r\n\r\nconst LinkButton = ({ href, external, children, ...otherProps }) => {\r\n const aHref = external ?\r\n (href.indexOf('/') == 0) ? window.swush.externalBaseUrl + href : window.swush.externalBaseUrl + href :\r\n href;\r\n\r\n return \r\n { children }\r\n \r\n}\r\n\r\nLinkButton.propTypes = {\r\n href: PropTypes.string,\r\n external : PropTypes.bool,\r\n external : PropTypes.bool,\r\n transparent : PropTypes.bool\r\n}\r\n\r\nLinkButton.defaultProps = {\r\n \r\n}\r\n\r\n\r\nexport default LinkButton;\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import React from 'react'\r\n\r\nimport { withRouter } from 'react-router-dom'\r\n\r\nimport PropTypes from 'prop-types'\r\nimport ButtonBase from './ButtonBase'\r\nimport styles from './Button.scss'\r\n\r\nconst RouteButton = ({ to, history, children, ...otherProps }) => {\r\n\r\n \r\n\r\n return \r\n {\r\n (className) => \r\n \r\n }\r\n \r\n}\r\n\r\nRouteButton.propTypes = {\r\n to: PropTypes.string\r\n}\r\n\r\nRouteButton.defaultProps = {\r\n \r\n}\r\n\r\n\r\nexport default withRouter(RouteButton);\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import React from 'react'\r\n \r\nimport classNames from 'classnames'\r\n\r\nimport styles from './Timeline.scss';\r\n\r\nimport styled from 'styled-components'\r\n\r\n\r\nexport const TimelineEvent = ({ imageUrl, children }) => {\r\n return (\r\n
    \r\n { imageUrl && }\r\n
    \r\n { children }\r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport const TimelineTime = ({ children }) => {\r\n return (\r\n
    { children }
    \r\n )\r\n}\r\n\r\nclass TimelineRow extends React.PureComponent {\r\n\r\n static Event = TimelineEvent;\r\n static Time = TimelineTime;\r\n\r\n\r\n render() {\r\n const { children, align } = this.props;\r\n \r\n\r\n const className = classNames(\r\n styles.row,\r\n {\r\n [styles.left] : align === 'left',\r\n [styles.right] : align === 'right',\r\n [styles.both] : align === 'both'\r\n }\r\n )\r\n\r\n \r\n return (\r\n
    \r\n { children }\r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\nclass TimelineSeparator extends React.PureComponent {\r\n\r\n render() {\r\n const { children } = this.props;\r\n \r\n\r\n \r\n return (\r\n
    \r\n
    \r\n { children }\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst StyledWrapper = styled.div`\r\n --timeline-background-color: ${ props => props.theme.colors.cardBackground };\r\n --timeline-separator-background-color: ${ props => props.theme.colors.cardBackground };\r\n --timeline-line-color: ${ props => props.theme.colors.siteForegroundMeta };\r\n --timeline-link-color: ${ props => props.theme.colors.siteForeground };\r\n --timeline-text-color: ${ props => props.theme.colors.cardForeground };\r\n`\r\n\r\n\r\nclass Timeline extends React.PureComponent {\r\n static Row = TimelineRow;\r\n static Separator = TimelineSeparator;\r\n\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n\r\n render() {\r\n\r\n return
    \r\n {this.props.children}\r\n
    \r\n
    \r\n \r\n \r\n }\r\n}\r\n\r\n\r\nexport default Timeline;","import React from 'react'\r\n\r\nclass LoadingIndicator extends React.PureComponent\r\n{\r\n constructor(props) {\r\n\r\n super(props);\r\n this.onReady = this.onReady.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n document.getElementsByTagName('body')[0].classList.add('ready');\r\n }\r\n\r\n\r\n onReady() {\r\n \r\n }\r\n\r\n render() {\r\n return null;\r\n }\r\n}\r\n\r\n\r\n\r\nexport default LoadingIndicator;\r\n\r\n","import React from 'react'\r\n\r\nexport const Slot = ({ location }) => {\r\n return
    \r\n}\r\n\r\n\r\nexport default Slot;","import React from 'react'\r\n\r\nimport ScrollContainer from './ScrollContainer'\r\n\r\nimport styles from './ScrollTable.scss'\r\n\r\n\r\nconst ScrollTableLeft = ({ style, children }) => {\r\n return
    { children }
    \r\n}\r\n\r\nconst ScrollTableRight = ({ style, children }) => {\r\n return
    { children }
    \r\n}\r\n\r\n\r\n\r\nclass ScrollTable extends React.PureComponent{\r\n static Left = ScrollTableLeft;\r\n static Right = ScrollTableRight;\r\n\r\n render() {\r\n return (\r\n
    \r\n { this.props.label &&
    { this.props.label }
    }\r\n
    \r\n \r\n { this.props.children }\r\n
    \r\n
    \r\n )\r\n } \r\n}\r\n\r\nScrollTable.propTypes = {\r\n}\r\n\r\nScrollTable.defaultProps = {\r\n}\r\n\r\nexport default ScrollTable;\r\n","import React from 'react'\r\nimport ReactDOM from 'react-dom'\r\n\r\nclass ContextMenuPortal extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n }\r\n \r\n render() {\r\n \r\n const el = document.querySelector(\"#contextMenu\");\r\n\r\n if (el)\r\n return ReactDOM.createPortal(this.props.children, el);\r\n else\r\n return null;\r\n }\r\n\r\n}\r\n\r\n\r\nexport default ContextMenuPortal;","import React from 'react'\r\n\r\nconst el = document.createElement('div');\r\nel.setAttribute('id', 'contextMenu');\r\ndocument.body.appendChild(el);\r\nel.style.display = 'none';\r\n\r\nclass ContextMenuContainer extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.containerRef = React.createRef();\r\n }\r\n\r\n componentDidMount() {\r\n this.containerRef.current.appendChild(el);\r\n el.style.display = 'block';\r\n }\r\n\r\n componentWillUnmount() {\r\n this.containerRef.current.removeChild(el);\r\n el.style.display = 'none';\r\n }\r\n\r\n render() {\r\n return
    \r\n }\r\n}\r\n\r\n\r\nexport default ContextMenuContainer;","import React from 'react';\r\nimport PropTypes from 'prop-types'\r\n\r\nimport styles from './Banner.scss'\r\n\r\nconst Banner = ({ children }) => (\r\n
    { children }
    \r\n)\r\n\r\nBanner.propTypes = {\r\n children : PropTypes.node\r\n}\r\n\r\nexport default Banner;","import React, { useRef, useState, useContext } from 'react'\r\n\r\nimport { ViewEditingContext} from './View'\r\nimport Icon from './Icon'\r\n\r\nimport styled from 'styled-components'\r\n\r\nconst Container = styled.div`\r\n position: relative;\r\n \r\n border-color: #ddd;\r\n border-width: 1px;\r\n border-style: ${ props => props.active ? 'solid' : 'dashed' };\r\n cursor: pointer;\r\n box-sizing: border-box;\r\n`\r\n\r\n\r\nconst Header = styled.div`\r\n position: absolute;\r\n \r\n height: 32px;\r\n right: 0;\r\n top: -32px;\r\n\r\n width: 100%;\r\n\r\n background: #1A5276;\r\n color: #fff;\r\n\r\n font-size: 12px;\r\n line-height: 32px;\r\n display: ${ props => props.hover ? 'flex' : 'none' };\r\n z-index: 10000;\r\n`\r\n\r\nconst HeaderTitle = styled.div`\r\n flex: 1;\r\n padding: 12px;\r\n display: flex;\r\n align-items: center;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n`\r\n\r\nconst HeaderActions = styled.div`\r\n white-space: nowrap;\r\n display: flex;\r\n`\r\n\r\nconst HeaderAction = styled.div`\r\n width: 32px;\r\n height: 32px;\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n \r\n`\r\n\r\n\r\nconst Content = styled.div`\r\n padding: 12px;\r\n`\r\n\r\n\r\nconst ComponentEditor = ({ componentContext, childType, children }) => {\r\n const editingContext = useContext(ViewEditingContext);\r\n\r\n const pathArr = (componentContext && componentContext.path || []);\r\n const path = pathArr.join('.')\r\n\r\n const enter = (e) => {\r\n e.stopPropagation();\r\n editingContext.sendCommand({ name : 'hoverEnter', path : pathArr });\r\n }\r\n\r\n const leave = () => {\r\n editingContext.sendCommand({ name : 'hoverLeave', path : pathArr });\r\n }\r\n\r\n const select = (e) => {\r\n e.stopPropagation();\r\n editingContext.sendCommand({ name : 'select', path : pathArr });\r\n }\r\n\r\n const hover = componentContext && editingContext.hoverPath == path;\r\n const active = componentContext && editingContext.activePath == path;\r\n\r\n\r\n return (\r\n \r\n
    \r\n \r\n { componentContext && componentContext.definition && componentContext.definition.displayName || '(Unknown)'} \r\n \r\n \r\n {\r\n childType &&\r\n editingContext.sendCommand({ name : 'add', type : childType, path : pathArr }) } >\r\n \r\n \r\n }\r\n \r\n editingContext.sendCommand({ name : 'select', path : pathArr }) } >\r\n \r\n \r\n \r\n editingContext.sendCommand({ name : 'remove', path : pathArr }) } >\r\n \r\n \r\n \r\n
    \r\n \r\n {hover}\r\n { children }\r\n \r\n
    \r\n ) \r\n}\r\n\r\nComponentEditor.propTypes = {\r\n}\r\n\r\nexport default ComponentEditor;\r\n","import React, { useContext, useMemo, useState } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport DataContext from './DataContext';\r\nimport { pick } from 'utils'\r\n\r\n\r\nimport ErrorBoundary from './ErrorBoundary'\r\nimport translatable from '../hocs/translatable'\r\n\r\nimport ComponentEditor from './ComponentEditor'\r\n\r\n\r\nconst parseProps = (componentProps, context, t) => {\r\n return Object.keys(componentProps).reduce((agg, k) => {\r\n const value = componentProps[k];\r\n\r\n if (typeof value === 'string' && value.indexOf('!') === 0) {\r\n agg[k] = context[value.substring(1)]\r\n }\r\n else if (typeof value === 'string' && value.indexOf('@') === 0) {\r\n agg[k] = t(value.substring(1))\r\n }\r\n else if (Array.isArray(value)) {\r\n agg[k] = value.map((item) => {\r\n if (typeof item === 'object' && item !== null)\r\n return parseProps(item, context, t)\r\n else\r\n return item;\r\n });\r\n }\r\n else if (typeof value === 'object' && value !== null) {\r\n agg[k] = parseProps(value, context, t);\r\n }\r\n else\r\n agg[k] = value;\r\n \r\n return agg;\r\n }, {});\r\n}\r\n\r\n\r\nconst capitalize = (val) => {\r\n return val.toUpperCase()\r\n};\r\n\r\n\r\n\r\n\r\nconst functions = {\r\n 'capitalize' : capitalize\r\n}\r\n\r\n\r\nconst RuntimeComponentWrapper = translatable(({ t, componentContext, children, component,editMode, ...props }) => {\r\n\r\n const ComponentToRender = component;\r\n\r\n\r\n const dataContext = useContext(DataContext);\r\n\r\n const funcs = {\r\n ...functions,\r\n translate : t\r\n }\r\n\r\n \r\n \r\n\r\n const propertyMapper = useMemo(() => {\r\n return Object.keys(props).reduce((agg, key) => {\r\n const value = props[key];\r\n if (typeof value === 'string' && value.length > 1 && value[0] === '=')\r\n {\r\n const expr = value.substring(1);\r\n try {\r\n \r\n\r\n let body = '';\r\n Object.keys(funcs).forEach(func => {\r\n body += 'const ' + func + ' = functions[\\'' + func + '\\'];\\n';\r\n })\r\n body += 'return ' + expr + '\\n';\r\n\r\n agg[key] = new Function('context', 'functions', body);\r\n }\r\n catch(e) {\r\n console.warn('Error evaluating expression \\'' + expr + '\\'.', e);\r\n agg[key] = value;\r\n }\r\n\r\n }\r\n else if (typeof value === 'string' && value.length > 1 && value[0] === '$')\r\n {\r\n const expr = value.substring(1);\r\n\r\n agg[key] = (context) => {\r\n return pick(expr, context)\r\n }\r\n\r\n }\r\n else {\r\n agg[key] = value;\r\n }\r\n return agg;\r\n }, {});\r\n }, [props]);\r\n\r\n const mappedProps = Object.keys(propertyMapper).reduce((agg, key) => {\r\n const value = propertyMapper[key];\r\n \r\n if (typeof value === 'function')\r\n {\r\n try {\r\n agg[key] = typeof value === 'function' ? value(dataContext, funcs) : value;\r\n }\r\n catch (e) {\r\n console.warn('Error evaluating custom expression \\'' + props[key] + '\\'', e);\r\n agg[key] = props[key];\r\n }\r\n }\r\n else {\r\n agg[key] = value; \r\n }\r\n\r\n \r\n return agg;\r\n }, {})\r\n\r\n return { children }\r\n})\r\n\r\n\r\n\r\n\r\n\r\nconst getComponent = (parent, key, configuration, components, context, componentProps, t, editMode, definitions) => {\r\n\r\n const path = [...parent, key];\r\n\r\n\r\n const ComponentToRender = components[configuration.type];\r\n if (typeof ComponentToRender === 'undefined') {\r\n console.warn(`Invalid component type \"${ configuration.type}\" - did you misspell it?`);\r\n return null;\r\n }\r\n\r\n let children = null;\r\n if (typeof configuration.children === 'string') {\r\n children = configuration.children;\r\n }\r\n else if (Array.isArray(configuration.children)) {\r\n children = configuration.children.map((c, index) => getComponent(path, index, c, components, context, componentProps, t, editMode, definitions));\r\n if (children.length == 1)\r\n children = children[0];\r\n }\r\n else if (typeof configuration.children === 'object') {\r\n children = getComponent(path, 0, configuration.children, components, context, componentProps, t, editMode, definitions);\r\n }\r\n \r\n const parsedProps = parseProps(configuration.props || {}, context, t);\r\n\r\n const wrappable = Object.values(configuration.props ||{}).some(p => typeof p === 'string' && p.length > 0 && (p[0] === '=' ||p[0] === '$'));\r\n\r\n \r\n\r\n\r\n const componentContext = {\r\n path : path,\r\n definition : definitions && definitions[configuration.type],\r\n type: configuration.type\r\n };\r\n\r\n if (wrappable) {\r\n\r\n if (editMode) {\r\n return (\r\n \r\n \r\n { children }\r\n \r\n \r\n );\r\n }\r\n else {\r\n return ( \r\n { children }\r\n \r\n )\r\n }\r\n }\r\n else {\r\n if (editMode) {\r\n return (\r\n \r\n { children }\r\n \r\n )\r\n }\r\n else {\r\n return { children }\r\n }\r\n }\r\n};\r\n\r\n\r\nconst ViewContext = React.createContext();\r\n\r\nexport const ViewEditingContext = React.createContext();\r\n\r\n\r\nexport const ViewEditingProvider = ({ onCommand, activePath, hoverPath, children }) => {\r\n \r\n \r\n\r\n return (\r\n \r\n { children }\r\n \r\n );\r\n}\r\n\r\n\r\nconst View = ({ component, components, context, componentProps, t, editMode, children, definitions }) => {\r\n\r\n\r\n return (\r\n \r\n { getComponent([], 0, component, components, context, componentProps, t, editMode, definitions, children) }\r\n \r\n )\r\n \r\n}\r\n\r\nView.propTypes = {\r\n component : PropTypes.object.isRequired,\r\n components : PropTypes.object.isRequired,\r\n context : PropTypes.object,\r\n editMode : PropTypes.bool.isRequired\r\n}\r\n\r\nView.defaultProps = {\r\n context : {},\r\n editMode : false\r\n}\r\n\r\nexport default translatable(View);\r\n\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { number } from 'utils';\r\n\r\nimport styles from './Typography.scss'\r\n\r\nconst Number = ({ value, treatZeroAsMissing, postfix }) => {\r\n if (typeof value !== 'number' || (treatZeroAsMissing && value === 0)) {\r\n return (-)\r\n }\r\n else if (value > 0) {\r\n return number(value) + postfix;\r\n }\r\n else if (value < 0) {\r\n return { number(value) }{ postfix};\r\n }\r\n else { \r\n return '0' + postfix \r\n }\r\n}\r\n\r\nNumber.propTypes = {\r\n value : PropTypes.number,\r\n postfix : PropTypes.string,\r\n treatZeroAsMissing : PropTypes.bool.isRequired\r\n}\r\n\r\nNumber.defaultProps = {\r\n postfix : '',\r\n treatZeroAsMissing : false\r\n}\r\n\r\nexport default Number;","import React from 'react'\r\nimport ReactDOM from 'react-dom'\r\n\r\nconst headRoot = document.head;\r\n\r\n\r\n\r\nconst Head = ({ children }) => {\r\n return ReactDOM.createPortal(children, headRoot);\r\n}\r\n\r\nHead.propTypes = {\r\n}\r\n\r\nexport default Head;","import React, { useContext } from 'react'\r\n\r\nimport DataContext from './DataContext'\r\n\r\nexport const Datasource = ({ value, children }) => {\r\n const dataContext = useContext(DataContext)\r\n\r\n return (\r\n \r\n { children }\r\n \r\n )\r\n}\r\n\r\nDatasource.propTypes = {\r\n}\r\n\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport ScrollTable from './ScrollTable';\r\nimport Table from './Table';\r\nimport DataContextProvider from './DataContextProvider';\r\n\r\nconst getAlignmentProperties = (alignment) => {\r\n switch(alignment) {\r\n case 'left' : \r\n return { left : true };\r\n case 'right' : \r\n return { right : true };\r\n case 'center' : \r\n return { center : true };\r\n default:\r\n return null;\r\n }\r\n}\r\n\r\nconst DataGridTable = ({ items, disabledProperty, activeColumn, columns, onSort }) => {\r\n return (\r\n \r\n \r\n \r\n { \r\n columns.map((column, index) => {\r\n const alignmentProperties = getAlignmentProperties(column.props.alignment);\r\n\r\n const element = column.props.sort ?\r\n onSort(column) }>{ column.props.heading } :\r\n { column.props.heading }\r\n \r\n return (\r\n { element }\r\n \r\n \r\n )\r\n }) \r\n }\r\n \r\n \r\n \r\n { \r\n items.map((item, index) => (\r\n \r\n \r\n { \r\n \r\n \r\n\r\n columns.map((column, index) => { \r\n const alignmentProperties = getAlignmentProperties(column.props.alignment);\r\n const child = React.Children.count(column.props.children) === 0 ?\r\n null :\r\n React.Children.only(column.props.children);\r\n \r\n const isActive = column === activeColumn;\r\n\r\n return (\r\n \r\n { child && React.cloneElement(child) }\r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n\r\n )) \r\n }\r\n\r\n \r\n
    \r\n )\r\n}\r\n\r\n\r\nexport class DataGrid extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n items : props.items\r\n }\r\n }\r\n\r\n\r\n render() {\r\n const { items, disabledProperty, children } = this.props;\r\n \r\n\r\n const cArr = React.Children.toArray(children);\r\n\r\n const activeColumn = this.props.activeColumnIndex > 0 && cArr[this.props.activeColumnIndex];\r\n const fixedChildren = cArr.filter(c => c.props.fixed);\r\n const otherChildren = cArr.filter(c => !c.props.fixed);\r\n \r\n return (\r\n \r\n \r\n this.props.onSort(column.props.sort, cArr.indexOf(column)) } />\r\n \r\n \r\n this.props.onSort(column.props.sort, cArr.indexOf(column)) } />\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\n\r\nDataGrid.propTypes = {\r\n items: PropTypes.array.isRequired,\r\n disabledProperty : PropTypes.string.isRequired\r\n}\r\n\r\nDataGrid.defaultProps = {\r\n disabledProperty : 'disabled'\r\n}\r\n\r\n\r\nexport const DataGridColumn = () => {\r\n\r\n}\r\n\r\n","import React, { useContext } from 'react';\r\n\r\nconst TargetingContext = React.createContext();\r\n\r\nexport const useTargeting = () => {\r\n return useContext(TargetingContext);\r\n}\r\n\r\nexport const TargetingProvider = ({ value, children }) => {\r\n return (\r\n \r\n { children }\r\n \r\n )\r\n}","import React from 'react'\r\n\r\nimport styles from './MediaObject.scss'\r\n\r\nconst MediaObjectMedia = ({ children }) => {\r\n return
    { children }
    \r\n}\r\n\r\nconst MediaObjectContent = ({ children }) => {\r\n return
    { children }
    \r\n}\r\n\r\n\r\nclass MediaObject extends React.PureComponent {\r\n static Media = MediaObjectMedia;\r\n static Content = MediaObjectContent;\r\n\r\n render() {\r\n return (\r\n
    \r\n { this.props.children }\r\n
    \r\n )\r\n }\r\n}\r\n\r\nMediaObject.propTypes = {\r\n}\r\n\r\nexport default MediaObject;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { number } from 'utils'\r\n\r\nconst TableValue = ({ format, value }) => {\r\n return number(value);\r\n}\r\n\r\nTableValue.propTypes = {\r\n format : PropTypes.oneOf([ 'number' ]).isRequired,\r\n value : PropTypes.any\r\n}\r\n\r\n\r\n\r\nexport default TableValue;","import React, { useState, useEffect } from 'react';\r\n\r\nimport styled, { keyframes } from 'styled-components';\r\n\r\nimport { animated, useTransition, useTrail, config } from 'react-spring';\r\n\r\n\r\n\r\nconst Container = styled.div`\r\n position: relative;\r\n background: var(--identity);\r\n \r\n\tcolor: #fff;\r\n\theight: 480px;\r\n\toverflow: hidden;\r\n`\r\n\r\nconst slowzoom = keyframes`\r\n 0% { transform: scale3d(1.0, 1.0, 1.0); }\r\n 100% { transform: scale3d(1.2, 1.2, 1.2); }\r\n`\r\n\r\n\r\nconst Background = styled(animated.div)`\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n bottom: 0;\r\n left: 0;\r\n background-image: ${ props => `url(${ props.backgroundImage })` };\r\n\r\n animation: ${ slowzoom } 20s ease-in-out infinite alternate;\r\n`\r\n\r\nconst Content = styled.div`\r\n\tmax-width: 1200px;\r\n\tmargin: 0 auto;\r\n\tpadding: 64px 0 ;\r\n`\r\n\r\nconst Heading = styled(animated.h1)`\r\n\tfont-family: 'geomanist';\r\n\tfont-weight: 900;\r\n letter-spacing: 0px;\r\n font-size: 80px;\r\n line-height: 72px;\r\n margin: 73px 0 0 0;\r\n\r\n`\r\n\r\nconst Edition = styled.span`\r\n\tfont-family: 'geomanist';\r\n\tfont-weight: 300;\r\n margin-left: 12px;\r\n \r\n\r\n`\r\n\r\nconst Subtitle = styled(animated.h3)`\r\n\tfont-family: 'geomanist';\r\n\tfont-weight: 300;\r\n\tfont-size: 20px;\r\n\r\n letter-spacing: 0px;\r\n`\r\n\r\n\r\n\r\nconst AnimatedSubtitle = ({ subtitle }) => {\r\n\r\n const [show, set] = useState(false);\r\n \r\n useEffect(() => {\r\n set(true);\r\n\r\n return () => {\r\n set(false);\r\n }\r\n })\r\n\r\n\r\n const transitions = useTransition(show, null, {\r\n from: { transform: 'translate3d(96px, 0, 0)', opacity: 0 },\r\n enter: { transform: 'translate3d(0, 0, 0)', opacity: 1 },\r\n leave: { transform: 'translate3d(-96px, 0, 0)', opacity: 0 },\r\n trail: 500,\r\n config : config.slow\r\n })\r\n\r\n return transitions.map(({ item, key, props }) =>\r\n item &&\r\n \r\n { subtitle }\r\n \r\n )\r\n}\r\n\r\n\r\n\r\nconst AnimatedHeading = ({ title, edition }) => {\r\n\r\n const [show, set] = useState(false);\r\n \r\n useEffect(() => {\r\n set(true);\r\n\r\n return () => {\r\n set(false);\r\n }\r\n })\r\n\r\n\r\n const transitions = useTransition(show, null, {\r\n from: { transform: 'translate3d(96px, 0, 0)', opacity: 0 },\r\n enter: { transform: 'translate3d(0, 0, 0)', opacity: 1 },\r\n leave: { transform: 'translate3d(-96px, 0, 0)', opacity: 0 },\r\n config : config.slow\r\n })\r\n\r\n return transitions.map(({ item, key, props }) =>\r\n item &&\r\n \r\n { title }\r\n { edition && { edition } }\r\n \r\n )\r\n}\r\n\r\n\r\n\r\n\r\n\r\nconst AnimatedBackground = ({ backgroundImage }) => {\r\n\r\n const [show, set] = useState(false);\r\n \r\n useEffect(() => {\r\n set(true);\r\n\r\n return () => {\r\n set(false);\r\n }\r\n })\r\n\r\n\r\n const transitions = useTransition(show, null, {\r\n from: { position: 'absolute', opacity: 0 },\r\n enter: { opacity: 1 },\r\n leave: { opacity: 0 },\r\n config : { duration: 2000 }\r\n })\r\n\r\n return transitions.map(({ item, key, props }) =>\r\n item &&\r\n \r\n )\r\n}\r\n\r\nconst cfg = { mass: 5, tension: 2500, friction: 125 }\r\n\r\nconst Trails = ({ children }) => {\r\n\r\n const [toggle, set] = useState(true)\r\n \r\n const trail = useTrail(React.Children.count(children), {\r\n config : cfg,\r\n opacity: toggle ? 1 : 0,\r\n x: toggle ? 0 : 40,\r\n height: toggle ? 80 : 0,\r\n from: { opacity: 0, x: 40, height: 0 },\r\n })\r\n\r\n const childs = React.Children.toArray(children);\r\n\r\n\r\n return trail.map(({ x, height, ...rest }, index) => {\r\n return React.cloneElement(\r\n childs[index], \r\n {\r\n key : index, \r\n style : { \r\n ...rest, \r\n transform: x.interpolate(x => `translate3d(${ x }px, 0, 0)`) \r\n }\r\n }\r\n );\r\n\r\n });\r\n\r\n}\r\n\r\n\r\nconst Hero = ({ title, edition, subtitle, backgroundImage }) => {\r\n\r\n\r\n\treturn (\r\n\t\t\r\n \r\n\t\t\t\r\n \r\n \r\n { title }\r\n { edition && { edition } }\r\n \r\n { subtitle }\r\n \r\n \r\n\t\t\t\r\n\r\n \r\n\t\t\r\n\t)\r\n}\r\n\r\n\r\nexport default Hero;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport classNames from 'classnames'\r\n\r\nimport styles from './CoverImage.scss'\r\n\r\nconst CoverImage = ({ disabled, tint, vignetteSize, vignetteStrength, url, children }) => {\r\n \r\n const vignetteColor = `rgba(0, 0, 0, ${ vignetteStrength })`;\r\n\r\n let backgrounds = [];\r\n\r\n\r\n const tintStyle = tint && { backgroundColor: tint };\r\n \r\n if (vignetteSize[0] >= 0) {\r\n backgrounds.push(`linear-gradient(to bottom, ${ vignetteColor }, transparent ${ vignetteSize[0] * 100 }%)`);\r\n }\r\n\r\n if (vignetteSize[1] >= 0) {\r\n backgrounds.push(`linear-gradient(to left, ${ vignetteColor }, transparent ${ vignetteSize[1] * 100 }%)`);\r\n }\r\n\r\n if (vignetteSize[2] >= 0) {\r\n backgrounds.push(`linear-gradient(to top, ${ vignetteColor }, transparent ${ vignetteSize[2] * 100 }%)`);\r\n }\r\n\r\n if (vignetteSize[3] >= 0) {\r\n backgrounds.push(`linear-gradient(to right, ${ vignetteColor }, transparent ${ vignetteSize[3] * 100 }%)`);\r\n }\r\n\r\n if (url) {\r\n backgrounds.push(`url(${ url })`);\r\n }\r\n \r\n const style = {\r\n backgroundImage : backgrounds.join(', ')\r\n }\r\n \r\n \r\n const className = classNames(\r\n styles.container,\r\n {\r\n [styles.disabled] : disabled\r\n }\r\n )\r\n\r\n return (\r\n
    \r\n { tint &&
    }\r\n
    \r\n { children }\r\n
    \r\n
    \r\n )\r\n}\r\n\r\n\r\nCoverImage.propTypes = {\r\n disabled : PropTypes.bool,\r\n tint : PropTypes.string\r\n}\r\n\r\nCoverImage.defaultProps = {\r\n vignetteSize : [0.2, 0.2, 0.2, 0.2],\r\n vignetteStrength : 0.1\r\n}\r\n\r\nexport default CoverImage;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport styles from './Overlay.scss'\r\n\r\nconst Overlay = ({ color, children }) => {\r\n\r\n const style = {\r\n backgroundColor : color\r\n }\r\n\r\n return (\r\n
    \r\n { children }\r\n\r\n
    \r\n
    \r\n )\r\n}\r\n\r\n\r\nOverlay.propTypes = {\r\n color : PropTypes.string.isRequired\r\n}\r\n\r\nOverlay.defaultProps = {\r\n color : 'rgba(0, 0, 0, 0.5)',\r\n}\r\n\r\nexport default Overlay;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport styles from './Vignette.scss'\r\n\r\nconst Vignette = ({ size, strength, children }) => {\r\n\r\n const vignetteColor = `rgba(0, 0, 0, ${ strength })`;\r\n \r\n let gradients = [];\r\n \r\n if (size[0] >= 0) {\r\n gradients.push(`linear-gradient(to bottom, ${ vignetteColor }, transparent ${ size[0] * 100 }%)`);\r\n }\r\n\r\n if (size[1] >= 0) {\r\n gradients.push(`linear-gradient(to left, ${ vignetteColor }, transparent ${ size[1] * 100 }%)`);\r\n }\r\n\r\n if (size[2] >= 0) {\r\n gradients.push(`linear-gradient(to top, ${ vignetteColor }, transparent ${ size[2] * 100 }%)`);\r\n }\r\n\r\n if (size[3] >= 0) {\r\n gradients.push(`linear-gradient(to right, ${ vignetteColor }, transparent ${ size[3] * 100 }%)`);\r\n }\r\n\r\n const style = {\r\n backgroundImage : `${ gradients.join(',') }`\r\n }\r\n\r\n return (\r\n
    \r\n { children }\r\n
    \r\n
    \r\n )\r\n}\r\n\r\n\r\nVignette.propTypes = {\r\n size : PropTypes.array.isRequired,\r\n strength : PropTypes.number.isRequired\r\n}\r\n\r\nVignette.defaultProps = {\r\n size : [0.25, 0.25, 0.25, 0.25],\r\n strength : 0.5\r\n}\r\n\r\nexport default Vignette;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport styles from './Underlay.scss'\r\n\r\nconst Underlay = ({ underlay, children }) => {\r\n\r\n return (\r\n
    \r\n
    \r\n { underlay }\r\n
    \r\n
    \r\n { children }\r\n
    \r\n
    \r\n )\r\n}\r\n\r\n\r\nUnderlay.propTypes = {\r\n}\r\n\r\nUnderlay.defaultProps = {\r\n}\r\n\r\nexport default Underlay;","import React, { useState } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { HorizontalMenu, MenuItem } from './Menu'\r\n\r\nimport styled, { css } from 'styled-components'\r\n\r\n/* Styled Components */\r\n\r\nconst StyledMenu = styled.div`\r\n font-size: 14px;\r\n\r\n height: var(--vertical-rythm);\r\n\r\n line-height: calc(var(--vertical-rythm) / 3);\r\n\r\n z-index: 1000;\r\n\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n\r\n background-color : ${ props => props.theme.colors.themes[props.themeName].primary };\r\n color : ${ props => props.theme.colors.themes[props.themeName].primaryForeground };\r\n\r\n ${ props => props.sticky && css`\r\n\t\tposition: sticky;\r\n\t\ttop: ${ props => props.stickyOffset ? props.stickyOffset + 'px' : '0' };\r\n `}\r\n`\r\n\r\nconst StyledContent = styled.div`\r\n flex: 1;\r\n\tflex-direction: column;\r\n min-height: 320px;\r\n position: relative;\r\n display: flex;\r\n`\r\n\r\n\r\nconst StyledContainer = styled.div`\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n flex: 1;\r\n \r\n ${\r\n props => props.fill && css`\r\n \tposition: absolute;\r\n\t top: 0; left: 0; bottom: 0; right: 0;\r\n `\r\n }\r\n`\r\n\r\n/**/\r\n\r\n\r\nexport const TabBarItem = ({ title, count, children }) => {\r\n return children;\r\n}\r\n\r\nTabBarItem.propTypes = {\r\n title : PropTypes.any.isRequired\r\n}\r\n\r\n\r\nexport const TabBar = React.memo(({ initialTabIndex, fill, transparent, identity, renderMenu, sticky, stickyOffset, children, themeName }) => {\r\n const [tabIndex, setTabIndex] = useState(initialTabIndex || 0 )\r\n\r\n const select = (index) => {\r\n setTabIndex(index);\r\n }\r\n\r\n const cArr = React.Children.toArray(children);\r\n const item = cArr[tabIndex];\r\n\r\n const renderMenuFunc = renderMenu ? renderMenu : (component) => component;\r\n\r\n\r\n return (\r\n \r\n\r\n {\r\n renderMenuFunc(\r\n \r\n \r\n { \r\n cArr.map((c, index) => \r\n select(index) } active={ tabIndex === index }>\r\n { c.props.title }\r\n \r\n ) \r\n }\r\n \r\n \r\n )\r\n\r\n }\r\n\r\n { item }\r\n \r\n )\r\n})\r\n\r\nTabBar.defaultProps = {\r\n themeName : 'default'\r\n}\r\n\r\n\r\nTabBar.propTypes = {\r\n fill : PropTypes.bool,\r\n activeIndex : PropTypes.number,\r\n transparent : PropTypes.bool,\r\n identity : PropTypes.bool,\r\n children: function (props, propName, componentName) {\r\n const prop = props[propName]\r\n \r\n let error = null\r\n React.Children.forEach(prop, function (child) {\r\n if (child.type !== TabBarItem) {\r\n error = new Error('`' + componentName + '` children should be of type `TabBarItem`.');\r\n }\r\n })\r\n return error\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport classNames from 'classnames'\r\n\r\nimport styles from './Toolbar.scss'\r\n\r\n\r\nconst ToolbarItem = ({ align, expand, className, children }) => {\r\n\r\n\r\n const cName = classNames(\r\n styles.item,\r\n className,\r\n {\r\n [styles.right] : align === 'right',\r\n [styles.expand] : expand\r\n }\r\n )\r\n\r\n return (\r\n
    { children }
    \r\n )\r\n}\r\n\r\n\r\nclass Toolbar extends React.PureComponent {\r\n\r\n static Item = ToolbarItem;\r\n\r\n\r\n render() {\r\n\r\n const className = classNames(\r\n styles.container,\r\n {\r\n [styles.right] : this.props.right\r\n }\r\n )\r\n\r\n return (\r\n
    \r\n { this.props.children }\r\n
    \r\n )\r\n }\r\n\r\n}\r\n\r\nToolbar.propTypes = {\r\n right : PropTypes.bool\r\n}\r\n\r\n\r\nexport default Toolbar;","import React, { useContext } from 'react';\r\nimport { exp } from 'utils';\r\n\r\nimport { DataContext } from 'components';\r\n\r\nconst Connect = ({ children, ...otherProps }) => {\r\n const context = useContext(DataContext);\r\n const childProps = Object.keys(otherProps).reduce((agg, p) => {\r\n const expressionValue = exp(otherProps[p], context);\r\n\r\n agg[p] = expressionValue;\r\n\r\n return agg;\r\n }, {});\r\n \r\n return children.map((child, index) => React.cloneElement(child, { key : index, ...childProps }));\r\n}\r\n\r\nConnect.defaultProps = {\r\n}\r\n\r\nexport default Connect;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames';\r\n\r\nimport styles from './FlyoutSummary.scss'\r\n\r\nexport const FlyoutSummaryMedia = ({ children }) => (\r\n
    { children }
    \r\n)\r\n\r\n\r\nexport const FlyoutSummaryItem = ({ children }) => (\r\n
    { children }
    \r\n)\r\n\r\n\r\nexport const FlyoutSummary = ({ children }) => (\r\n
    { children }
    \r\n)\r\n\r\nFlyoutSummary.propTypes = {\r\n}\r\n\r\nFlyoutSummary.defaultProps = {\r\n}\r\n\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types'\r\n\r\nimport Icon from './Icon'\r\n\r\n\r\n\r\nconst getIcon = (injured, suspensionDays) => {\r\n if (suspensionDays && suspensionDays > 0 && injured) {\r\n //return `injurySuspension${ suspensionDays }`;\r\n return \"injury\";\r\n }\r\n else if (suspensionDays && suspensionDays > 0) {\r\n //return `suspension${ suspensionDays }`;\r\n return \"injury\";\r\n }\r\n else if (injured) {\r\n return \"injury\";\r\n }\r\n else \r\n return null;\r\n}\r\n\r\nconst InjurySuspensionIcon = ({ injured, suspensionDays, size }) => {\r\n const icon = getIcon(injured, suspensionDays);\r\n \r\n if (icon)\r\n return \r\n else\r\n return null;\r\n}\r\n\r\nInjurySuspensionIcon.propTypes = {\r\n}\r\n\r\nexport default InjurySuspensionIcon;","import React, { useEffect, useCallback } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nconst WindowsResizeObserver = ({ onChange }) => {\r\n \r\n const onResize = useCallback(() => { onChange() });\r\n\r\n\r\n useEffect(() => {\r\n\r\n window.addEventListener('resize', onResize);\r\n\r\n return () => {\r\n window.removeEventListener('resize', onResize);\r\n }\r\n })\r\n\r\n return null;\r\n}\r\n\r\nWindowsResizeObserver.propTypes = {\r\n onChange : PropTypes.func.isRequired\r\n}\r\n\r\nWindowsResizeObserver.defaultProps = {\r\n}\r\n\r\n\r\nexport default WindowsResizeObserver;","import React from 'react'\r\n\r\nimport styled, { css } from 'styled-components'\r\n\r\n\r\nconst margin = css`\r\n margin : ${ props => props.margin };\r\n`\r\n\r\nconst padding = css`\r\n padding : ${ props => props.padding };\r\n`\r\n\r\nexport const Block = styled.div`\r\n ${ margin }\r\n ${ padding }\r\n`\r\n\r\nexport default Block;","import React, { useEffect, useRef, useState } from 'react'\r\n\r\nimport { space, layout } from 'styled-system'\r\n\r\nimport styled from 'styled-components'\r\nimport { useSpring, animated } from 'react-spring'\r\n\r\nimport Icon from './Icon'\r\n\r\n\r\nexport const StyledContainer = styled(animated.div)`\r\n position: relative;\r\n\r\n overflow: hidden;\r\n\r\n ${ space }\r\n ${ layout }\r\n`\r\n\r\nconst Fade = styled.div`\r\n position: absolute;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n color: var(--link-color);\r\n\r\n cursor: pointer;\r\n\r\n left: 0;\r\n right: 0;\r\n bottom: 0; \r\n\r\n height: 48px;\r\n\r\n background-image: linear-gradient(to bottom, transparent, var(--card-background-color));\r\n`\r\n\r\n\r\nexport const More = ({ children, maximumHeight, ...otherProps }) => {\r\n var ref = useRef();\r\n var fadeRef = useRef();\r\n var [showAll, setShowAll] = useState(false);\r\n\r\n useEffect(() => {\r\n if (fadeRef.current && ref.current) {\r\n fadeRef.current.style.display = (ref.current.offsetHeight > maximumHeight) ? 'flex' : 'none';\r\n }\r\n }, [children])\r\n\r\n const props = useSpring({ maxHeight: showAll ? 9999 : maximumHeight })\r\n \r\n return (\r\n \r\n
    \r\n { children }\r\n
    \r\n\r\n {\r\n !showAll &&\r\n setShowAll(true) }>\r\n \r\n \r\n }\r\n
    \r\n )\r\n}","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport styled from 'styled-components'\r\nimport { space } from 'styled-system'\r\n\r\n\r\nconst StyledCommentCountIcon = styled.div`\r\n position: relative;\r\n\r\n width : 20px;\r\n height : 16px;\r\n line-height : 16px;\r\n \r\n font-size: 9px;\r\n \r\n border-radius: 3px;\r\n \r\n font-weight: bold;\r\n text-align: center;\r\n\r\n pointer-events: none;\r\n\r\n background-color: ${ props => props.theme.colors.utilityYellow };\r\n color: ${ props => props.theme.colors.utilityBlack };\r\n\r\n &:after {\r\n content: \"\";\r\n position: absolute;\r\n left: 4px;\r\n top: 15px;\r\n border-width: 2px 4px 2px 4px;\r\n border-style: solid;\r\n border-color: ${ props => props.theme.colors.utilityYellow } transparent transparent ${ props => props.theme.colors.utilityYellow };\r\n }\r\n`;\r\n\r\n\r\n\r\nconst StyledWrapper = styled.div`\r\n width: 24px;\r\n height: 24px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n`\r\n\r\nconst CommentCountIcon = ({ count, ...props }) => {\r\n return (\r\n \r\n { count }\r\n \r\n )\r\n}\r\n\r\nCommentCountIcon.propTypes = {\r\n count : PropTypes.number\r\n}\r\n\r\n\r\nexport default CommentCountIcon;","import React from 'react'\r\nimport { animated, useTransition } from 'react-spring';\r\n\r\nimport styles from './ChangeNotification.module.css'\r\n\r\nexport const ChangeNotification = ({ show, text, children, onClick }) =>{\r\n const transitions = useTransition(show, null, {\r\n from: { opacity: 0, transform: 'translate3d(0, -12px, 0)' },\r\n enter: { opacity: 1, transform: 'translate3d(0, 0, 0)' },\r\n leave: { opacity: 0, transform: 'translate3d(0, -12px, 0)' },\r\n })\r\n\r\n return (\r\n
    \r\n { children }\r\n\r\n { transitions.map(({ item, key, props }) => item && { text }) }\r\n
    \r\n )\r\n}\r\n\r\n\r\n","import React from 'react'\r\n\r\nimport styled, { css } from 'styled-components'\r\nimport { layout, space } from 'styled-system'\r\n\r\nimport { useTransition, animated } from 'react-spring'\r\n\r\n\r\n\r\nconst StyledSlideout = styled(animated.div)`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n\r\n ${ \r\n props => props.identity && css`\r\n background-color : var(--identity-color);\r\n color : var(--on-identity-color);\r\n `\r\n }\r\n\r\n transform: translate3d(0, 0%, 0);\r\n will-change: transform;\r\n\r\n ${ space }\r\n ${ layout }\r\n\r\n\r\n z-index: 5000;\r\n`\r\n\r\nexport const Slideout = ({ show, identity, children, ...otherProps }) => {\r\n\r\n const transitions = useTransition(show, null, {\r\n from: { transform: 'translate3d(0, -100%, 0)' },\r\n enter: { transform: 'translate3d(0, 0%, 0)' },\r\n leave: { transform: 'translate3d(0, -100%, 0)' }\r\n }, );\r\n\r\n\r\n return (\r\n \r\n { transitions.map(({ item, key, props }) => item && { children }) }\r\n \r\n )\r\n \r\n}","import React from 'react'\r\n\r\nimport InfiniteLoader from 'react-window-infinite-loader'\r\nimport { FixedSizeList as List } from 'react-window'\r\nimport AutoSizer from 'react-virtualized-auto-sizer'\r\nimport Spinner from './Spinner'\r\n\r\nconst FlatList = React.forwardRef(({ totalCount, isFetching, items, itemSize, children, onLoadMore }, ref) => {\r\n const isItemLoaded = (index) => index < items.length;\r\n\r\n return (\r\n { ({ width, height }) => (\r\n \r\n \r\n { ({ onItemsRendered, ref }) => {\r\n return (\r\n \r\n { children }\r\n \r\n )\r\n }}\r\n\r\n {\r\n isFetching && \r\n
    \r\n \r\n
    \r\n }\r\n\r\n
    \r\n )}
    \r\n \r\n\r\n )\r\n})\r\n\r\nFlatList.defaultProps = {\r\n itemSize : 48\r\n}\r\n\r\nexport default FlatList","import React, { useEffect } from 'react'\r\nimport propTypes from 'prop-types'\r\n\r\nimport styled from 'styled-components'\r\nimport { space } from 'styled-system'\r\n\r\nexport const SplitViewTopPane = styled.div`\r\n border-bottom: 1px solid rgba(255,255,255, 0.1);\r\n`\r\n\r\nexport const SplitViewPane = styled.div`\r\n flex: 1;\r\n display: flex;\r\n flex-direction: column;\r\n\r\n ${ space }\r\n`\r\n\r\n\r\n\r\nexport const SplitView = styled.div`\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n flex-direction: ${ props => props.orientation == 'horizontal' ? 'row' : 'column' };\r\n`\r\n\r\nSplitView.defaultProps = {\r\n orientation : 'vertical'\r\n}","import React, { useRef } from 'react'\r\nimport IconButton from './IconButton'\r\nimport Icon from './Icon'\r\nimport { Box } from '.'\r\nimport { Brevier, RegularText } from './Typography'\r\nimport { InputGroup, InputGroupButton, InputGroupTextbox, FormGroup, Label } from './Forms'\r\nimport { useSnackbar } from '../hooks/useSnackbar'\r\nimport { useTranslator } from '../hooks/useTranslator'\r\nimport { ToolbarButtonGroup, ToolbarButton } from './ToolbarButton'\r\n\r\n\r\nconst mapUrl = (type, subject, text, url) => {\r\n switch(type) {\r\n case 'email':\r\n return `mailto:?subject=${ subject || '' }&body=${ text ||'' }${ url }`;\r\n case 'sms':\r\n return `sms:&body=${ text ||'' }${ url }`;\r\n case 'facebook':\r\n return `https://www.facebook.com/sharer/sharer.php?u=${ url }`;\r\n case 'twitter':\r\n return `https://twitter.com/intent/tweet?text=${subject}&url=${url}`;\r\n case 'linkedin':\r\n return `https://www.linkedin.com/shareArticle?mini=true&url=${url}`;\r\n default:\r\n return null;\r\n }\r\n}\r\n\r\nconst medias = [\r\n { name : 'email', label : 'Email', icon : 'email' },\r\n { name : 'sms', label : 'SMS', icon : 'sms' },\r\n { name : 'facebook', label : 'Facebook', icon : 'facebook' },\r\n { name : 'twitter', label : 'Twitter', icon : 'twitter' },\r\n { name : 'linkedin', label : 'LinkedIn', icon : 'linkedin' }\r\n]\r\n\r\nexport const Share = ({ subject, text, url, label, ...otherProps }) => {\r\n const ref = useRef();\r\n const inputRef = useRef();\r\n const [showSnackbar] = useSnackbar();\r\n const t = useTranslator();\r\n\r\n const onShare = (type) => {\r\n const nUrl = mapUrl(type, subject, text, url);\r\n window.open(nUrl);\r\n }\r\n\r\n const handleCopy = () => {\r\n const el = inputRef.current;\r\n\r\n /* Select the text field */\r\n el.select();\r\n el.setSelectionRange(0, 99999); /*For mobile devices*/\r\n\r\n /* Copy the text inside the text field */\r\n document.execCommand(\"copy\");\r\n\r\n window.getSelection().removeAllRanges();\r\n\r\n /* Alert the copied text */\r\n showSnackbar(t('common.snackbar_message_copied_link'));\r\n }\r\n\r\n\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n handleCopy() } title=\"Kopier\">\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n { \r\n medias.map(m => (\r\n onShare(m.name) }>\r\n \r\n \r\n ))\r\n }\r\n \r\n \r\n \r\n \r\n \r\n ) \r\n \r\n}\r\n\r\nexport default IconButton;","import React, { useRef, useLayoutEffect } from 'react'\r\n\r\nimport { animated, useTransition } from 'react-spring';\r\n\r\nimport styles from './ExpandablePanel.module.css'\r\n\r\nconst ExpandablePanel = ({ open, children }) => {\r\n const containerRef = useRef();\r\n const ref = useRef();\r\n\r\n useLayoutEffect(() => {\r\n if (window.ResizeObserver) {\r\n\r\n if ( ref.current) {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n\r\n if (containerRef.current) {\r\n containerRef.current.style.height = entries[0].contentRect.height + 'px';\r\n containerRef.current.style.minHeight = entries[0].contentRect.height + 'px';\r\n }\r\n \r\n });\r\n\r\n resizeObserver.observe(ref.current);\r\n\r\n return () => {\r\n resizeObserver.unobserve(ref.current);\r\n }\r\n }\r\n }\r\n\r\n\r\n }, [ref.current])\r\n\r\n const transitions = useTransition(open, null, {\r\n from: { opacity: 0 },\r\n enter: { opacity: 1 },\r\n leave: { opacity: 0 },\r\n config : { duration : 300 }\r\n\r\n });\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n {\r\n transitions.map(({ item, key, props }) => item && { children })\r\n\r\n }\r\n \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default ExpandablePanel;\r\n","import React, { useMemo } from 'react'\r\nimport styled from 'styled-components'\r\nimport { space } from 'styled-system'\r\n\r\nconst Separator = styled.div`\r\n height: 0;\r\n border-top: 1px solid ${ props => props.theme.colors.borderUp };\r\n ${space}\r\n`\r\n\r\nexport default Separator;","import React from 'react'\r\n\r\nimport { Box, Icon, ToolbarButtonGroup, ToolbarButton } from 'components'\r\n\r\nconst ContextMenu = ({ items, showLabel, onCommand }) => {\r\n return (\r\n \r\n {\r\n items.map((item, index) => (\r\n onCommand(item.command) }>\r\n \r\n { item.renderIcon ? item.renderIcon(item) : }\r\n \r\n { showLabel && item.label }\r\n \r\n \r\n ))\r\n }\r\n \r\n )\r\n}\r\n\r\n\r\nContextMenu.defaultProps = {\r\n showLabel : true\r\n}\r\n\r\nexport default ContextMenu;","import React from 'react'\r\nimport { Dialog, DialogHeader, DialogContent, DialogFooter } from './Dialog'\r\nimport { BodyCopy } from './Typography'\r\nimport { XButton } from './XButton'\r\n\r\nconst MessageBox = ({ open, title, message, okCaption, onClose }) => {\r\n return (\r\n \r\n { title }\r\n \r\n { message }\r\n \r\n \r\n Ok\r\n \r\n \r\n )\r\n}\r\n\r\nexport default MessageBox;","import React, { useState, useEffect } from 'react'\r\n\r\nconst usePageTitle = (title) => {\r\n const [savedTitle] = useState(document.title);\r\n\r\n useEffect(() => {\r\n document.title = title;\r\n\r\n return () => {\r\n document.title = savedTitle;\r\n }\r\n \r\n }, [title])\r\n}\r\n\r\nexport default usePageTitle;","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js??ref--7-1!./Card.module.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"ValueChangeNotification__container__2NT4L\",\"change\":\"ValueChangeNotification__change__1KeeB\",\"changeContainer\":\"ValueChangeNotification__changeContainer__3W_M3\",\"changeEnter\":\"ValueChangeNotification__changeEnter__3JSuq\",\"changeExit\":\"ValueChangeNotification__changeExit__23iyx\",\"wipe\":\"ValueChangeNotification__wipe__1SqMV\",\"effect0\":\"ValueChangeNotification__effect0__1HUUm\",\"changeEnterActive\":\"ValueChangeNotification__changeEnterActive__1QIDP\",\"wipe2\":\"ValueChangeNotification__wipe2__1WDlq\",\"changeExitActive\":\"ValueChangeNotification__changeExitActive__3d8Vw\"};","module.exports = \"\"","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js??ref--7-1!./Pill.module.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"._1eaKJnIEoM3tp3gVJDTNf8 {\\r\\n position: relative;\\r\\n display: inline-block;\\r\\n user-select: none;\\r\\n}\\r\\n\\r\\n._15f5a11GuTu3dX37nchksU { display: block; }\\r\\n\\r\\n\\r\\n._3rl5aTRv2b37vVir71-aMk {\\r\\n position: fixed;\\r\\n \\r\\n top: 0;\\r\\n left: 0;\\r\\n\\r\\n z-index: 9999;\\r\\n}\\r\\n\\r\\n\\r\\n._30toCxjRr3lgF8x7J9sWcT {\\r\\n position: absolute;\\r\\n\\r\\n pointer-events: none;\\r\\n /*\\r\\n left : ${ props => props.align == 'left' ? 0 : 'unset' };\\r\\n right : ${ props => props.align == 'right' ? 0 : 'unset' };*/\\r\\n\\r\\n top: 100%;\\r\\n\\r\\n z-index: 5000;\\r\\n\\r\\n\\ttext-align: left;\\r\\n\\r\\n\\tmargin: 0;\\r\\n\\tpadding: 0;\\r\\n\\r\\n background-color: var(--dropdown);\\r\\n color: var(--on-dropdown);\\r\\n\\r\\n\\tborder-radius: 3px;\\r\\n\\tmax-height: 240px;\\r\\n\\r\\n\\twill-change: opacity, transform;\\r\\n\\r\\n\\twidth: 250px;\\r\\n\\r\\n\\toverflow-y: auto;\\r\\n\\toverflow-x: hidden;\\r\\n\\r\\n -webkit-overflow-scrolling: touch;\\r\\n\\r\\n box-shadow: 0 0 32px rgba(0, 0, 0, 0.7);\\r\\n}\\r\\n\\r\\n._1huI1sxX7apnZsUxy2v2JI ._30toCxjRr3lgF8x7J9sWcT { pointer-events: all;}\\r\\n\\r\\n.XO6v54cEx3A_oCzMUf2_4 ._30toCxjRr3lgF8x7J9sWcT { left: 0; }\\r\\n._33mIgp1-nFp17b8VaRt6Tm ._30toCxjRr3lgF8x7J9sWcT { right: 0; }\\r\\n\\r\\n\\r\\n._33jqi4Qh7WkXgvH-THYJek {\\r\\n list-style: none;\\r\\n\\r\\n min-height: 48px;\\r\\n\\r\\n overflow: hidden;\\r\\n\\r\\n cursor: pointer;\\r\\n\\r\\n border-bottom: 1px solid var(--dropdown-border-dark);\\r\\n \\r\\n}\\r\\n\\r\\n._33jqi4Qh7WkXgvH-THYJek:hover {\\r\\n background-color: var(--dropdown-light);\\r\\n color: var(--on-dropdown-light);\\r\\n}\\r\\n\\r\\n._33jqi4Qh7WkXgvH-THYJek:last-child { border-bottom: none; }\\r\\n\\r\\n\\r\\n\\r\\n.BsUu6SKeWrbby6gYNggmw {\\r\\n list-style: none;\\r\\n\\r\\n background-color: var(--dropdown-separator);\\r\\n color: var(--on-dropdown-separator);\\r\\n\\r\\n display: flex;\\r\\n padding: 0 12px;\\r\\n height: 24px;\\r\\n\\r\\n align-items: center;\\r\\n justify-content: space-between;\\r\\n\\r\\n overflow: hidden;\\r\\n\\r\\n cursor: default;\\r\\n\\r\\n border-bottom: 1px solid rgba(255, 255, 255, .1);\\r\\n}\", \"\"]);\n// Exports\nexports.locals = {\n\t\"container\": \"_1eaKJnIEoM3tp3gVJDTNf8\",\n\t\"expand\": \"_15f5a11GuTu3dX37nchksU\",\n\t\"menu-container\": \"_3rl5aTRv2b37vVir71-aMk\",\n\t\"menu\": \"_30toCxjRr3lgF8x7J9sWcT\",\n\t\"open\": \"_1huI1sxX7apnZsUxy2v2JI\",\n\t\"left\": \"XO6v54cEx3A_oCzMUf2_4\",\n\t\"right\": \"_33mIgp1-nFp17b8VaRt6Tm\",\n\t\"item\": \"_33jqi4Qh7WkXgvH-THYJek\",\n\t\"separator\": \"BsUu6SKeWrbby6gYNggmw\"\n};\nmodule.exports = exports;\n","export const FETCH_RESOURCE_PERMISSIONS_REQUEST = 'resource-permissions/fetch/request';\r\nexport const FETCH_RESOURCE_PERMISSIONS_SUCCESS = 'resource-permissions/fetch/success';\r\nexport const FETCH_RESOURCE_PERMISSIONS_FAIL = 'resource-permissions/fetch/fail';\r\n\r\n","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js??ref--7-1!./AlertBox.module.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","module.exports = \"\"","module.exports = \"\"","import React from 'react'\r\n\r\nimport styled from 'styled-components'\r\nimport { position, space, color, layout, flexbox, typography, border, shadow } from 'styled-system'\r\n\r\nexport const Box = styled.div`\r\n ${ position }\r\n ${ typography }\r\n ${ space }\r\n ${ layout }\r\n ${ flexbox }\r\n ${ color }\r\n ${ border }\r\n ${ shadow }\r\n`\r\n\r\nexport default Box;","module.exports = \"\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"._3NUX17vWvsNcCmj-9xaaZN {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n margin: 12px 0 24px 0;\\r\\n}\\r\\n\\r\\n._9X54KjQ2ut7tASaWXceH2 {\\r\\n font-size: var(--font-size-m);\\r\\n color: #fff;\\r\\n font-weight: bold;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n flex: 1;\\r\\n white-space: nowrap;\\r\\n\\r\\n}\", \"\"]);\n// Exports\nexports.locals = {\n\t\"container\": \"_3NUX17vWvsNcCmj-9xaaZN\",\n\t\"email\": \"_9X54KjQ2ut7tASaWXceH2\"\n};\nmodule.exports = exports;\n","export const FETCH_JSON_REQUEST = 'json/fetch/request';\r\nexport const FETCH_JSON_SUCCESS = 'json/fetch/success';\r\nexport const FETCH_JSON_FAILURE = 'json/fetch/failure';\r\n","export default __webpack_public_path__ + \"roboto-v27-latin-italic.d52a565af9d2ae4575124c50911a9945.woff2\";","module.exports = \"\"","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport styled, { css, keyframes } from 'styled-components'\r\nimport { color, space } from 'styled-system'\r\n\r\nimport basket from '../images/icons/basket.svg'\r\nimport sort from '../images/icons/sort.svg';\r\nimport copy from '../images/icons/copy.svg';\r\nimport filter from '../images/icons/filter.svg';\r\nimport bell from '../images/icons/bell.svg';\r\nimport gold from '../images/icons/gold.svg';\r\nimport envelope from '../images/icons/envelope.svg';\r\nimport envelopeOpen from '../images/icons/envelope-open.svg';\r\nimport envelopeOpenWithLetter from '../images/icons/envelope-open-with-letter.svg';\r\nimport facebook from '../images/icons/social-facebook.svg'\r\nimport linkedin from '../images/icons/social-linkedin.svg'\r\nimport snapchat from '../images/icons/social-snapchat.svg'\r\nimport twitter from '../images/icons/social-twitter.svg'\r\nimport sms from '../images/icons/social-sms.svg'\r\nimport email from '../images/icons/social-email.svg'\r\nimport close from '../images/icons/close-x.svg';\r\nimport circle from '../images/icons/radiomark.svg';\r\nimport checkbox from '../images/icons/checkbox.svg';\r\nimport checkboxChecked from '../images/icons/checkbox-checked.svg';\r\nimport radiomark from '../images/icons/radiomark.svg';\r\nimport radiomarkChecked from '../images/icons/radiomark-checked.svg';\r\nimport speechBubble from '../images/icons/speech-bubble.svg';\r\nimport speechBubbleOutline from '../images/icons/speech-bubble-outline.svg';\r\nimport check from '../images/icons/checkmark.svg'\r\nimport chevronDown from '../images/icons/chevron-down.svg'\r\nimport chevronLeft from '../images/icons/chevron-left.svg'\r\nimport chevronRight from '../images/icons/chevron-right.svg'\r\nimport chevronUp from '../images/icons/chevron-up.svg'\r\nimport exclamationTriangle from '../images/icons/exclamation-triangle.svg'\r\nimport externalLink from '../images/icons/external-link.svg'\r\nimport flameSingle from '../images/icons/flame-single.svg'\r\nimport flameDouble from '../images/icons/flame-double.svg'\r\nimport group from '../images/icons/group.svg'\r\nimport injury from '../images/icons/injury.svg'\r\nimport kebabMenu from '../images/icons/kebab-menu.svg'\r\nimport pen from '../images/icons/pen.svg'\r\nimport injurySuspension1 from '../images/icons/injury-suspension-1.svg'\r\nimport injurySuspension2 from '../images/icons/injury-suspension-2.svg'\r\nimport injurySuspension3 from '../images/icons/injury-suspension-3.svg'\r\nimport injurySuspension4 from '../images/icons/injury-suspension-4.svg'\r\nimport injurySuspension5 from '../images/icons/injury-suspension-5.svg'\r\nimport injurySuspension6 from '../images/icons/injury-suspension-6.svg'\r\nimport injurySuspension7 from '../images/icons/injury-suspension-7.svg'\r\nimport injurySuspension8 from '../images/icons/injury-suspension-8.svg'\r\nimport injurySuspension9 from '../images/icons/injury-suspension-9.svg'\r\nimport info from '../images/icons/info.svg'\r\nimport triangleUp from '../images/icons/triangle-up.svg'\r\nimport triangleRight from '../images/icons/triangle-right.svg'\r\nimport triangleDown from '../images/icons/triangle-down.svg'\r\nimport triangleLeft from '../images/icons/triangle-left.svg'\r\nimport dot from '../images/icons/dot.svg'\r\nimport dotSmall from '../images/icons/dot-small.svg'\r\nimport heart from '../images/icons/heart.svg'\r\nimport heartOutline from '../images/icons/heart-outline.svg'\r\nimport heartSmall from '../images/icons/heart-small.svg'\r\nimport magnify from '../images/icons/magnify.svg'\r\nimport plus from '../images/icons/plus.svg'\r\nimport flag from '../images/icons/flag.svg'\r\nimport stopwatch from '../images/icons/stopwatch.svg'\r\nimport stopwatchAnimated from '../images/icons/stopwatch-animated.svg'\r\nimport meatballs from '../images/icons/meatballs.svg'\r\nimport cog from '../images/icons/cog.svg'\r\nimport burgermenu from '../images/icons/burgermenu.svg'\r\nimport cup from '../images/icons/cup.svg'\r\nimport table from '../images/icons/table.svg'\r\nimport waitAnimated from '../images/icons/wait-animated.svg'\r\nimport settings from '../images/icons/settings.svg'\r\nimport period1 from '../images/icons/period-1.svg'\r\nimport period1plus from '../images/icons/period-1-plus.svg'\r\nimport period2 from '../images/icons/period-2.svg'\r\nimport period2plus from '../images/icons/period-2-plus.svg'\r\nimport period3 from '../images/icons/period-3.svg'\r\nimport period4 from '../images/icons/period-4.svg'\r\nimport periodLive from '../images/icons/period-live.svg'\r\nimport person from '../images/icons/person.svg'\r\nimport personCrossed from '../images/icons/person-crossed.svg'\r\nimport padlock from '../images/icons/padlock.svg'\r\nimport star from '../images/icons/star.svg'\r\nimport share from '../images/icons/share.svg'\r\n\r\nimport suspension1 from '../images/icons/suspension-1.svg'\r\nimport suspension2 from '../images/icons/suspension-2.svg'\r\nimport suspension3 from '../images/icons/suspension-3.svg'\r\nimport suspension4 from '../images/icons/suspension-4.svg'\r\nimport suspension5 from '../images/icons/suspension-5.svg'\r\nimport suspension6 from '../images/icons/suspension-6.svg'\r\nimport suspension7 from '../images/icons/suspension-7.svg'\r\nimport suspension8 from '../images/icons/suspension-8.svg'\r\nimport suspension9 from '../images/icons/suspension-9.svg'\r\nimport spinner from '../images/icons/spinner.svg'\r\nimport eyeOutline from '../images/icons/eye-outline.svg'\r\nimport eyeOffOutline from '../images/icons/eye-off-outline.svg'\r\n\r\n\r\nconst rotate = keyframes`\r\n from { transform: rotate(0deg); }\r\n to { transform: rotate(360deg); }\r\n`;\r\n\r\n\r\nconst ICON_MAP = {\r\n basket,\r\n facebook,\r\n linkedin,\r\n snapchat,\r\n twitter,\r\n sms,\r\n email,\r\n\r\n copy,\r\n envelope,\r\n envelopeOpen,\r\n envelopeOpenWithLetter,\r\n sort,\r\n filter,\r\n bell,\r\n close,\r\n circle,\r\n check,\r\n checkbox,\r\n checkboxChecked,\r\n chevronDown,\r\n chevronLeft,\r\n chevronRight,\r\n chevronUp,\r\n exclamationTriangle,\r\n externalLink,\r\n flameSingle,\r\n flameDouble,\r\n group,\r\n kebabMenu,\r\n info,\r\n pen,\r\n injury,\r\n injurySuspension1,\r\n injurySuspension2,\r\n injurySuspension3,\r\n injurySuspension4,\r\n injurySuspension5,\r\n injurySuspension6,\r\n injurySuspension7,\r\n injurySuspension8,\r\n injurySuspension9,\r\n radiomark,\r\n radiomarkChecked,\r\n speechBubble,\r\n speechBubbleOutline,\r\n triangleUp,\r\n triangleRight,\r\n triangleDown,\r\n triangleLeft,\r\n dot,\r\n dotSmall,\r\n heart,\r\n heartOutline,\r\n heartSmall,\r\n magnify,\r\n plus,\r\n flag,\r\n stopwatch,\r\n stopwatchAnimated,\r\n meatballs,\r\n cog,\r\n burgermenu,\r\n cup,\r\n table,\r\n waitAnimated,\r\n settings,\r\n period1,\r\n period1plus,\r\n period2,\r\n period2plus,\r\n period3,\r\n period4,\r\n periodLive,\r\n person,\r\n personCrossed,\r\n padlock,\r\n star,\r\n suspension1,\r\n suspension2,\r\n suspension3,\r\n suspension4,\r\n suspension5,\r\n suspension6,\r\n suspension7,\r\n suspension8,\r\n suspension9,\r\n spinner,\r\n share,\r\n eyeOutline,\r\n eyeOffOutline,\r\n gold\r\n}\r\n\r\n\r\nconst sizeMapper = ({ size }) => (\r\n size == '1-2x' && '12px' ||\r\n size == 'sm' && '20px' || \r\n size == '2x' && '48px' || \r\n size == '3x' && '72px' || \r\n '24px');\r\n\r\nconst StyledIcon = styled.div`\r\n height: ${ sizeMapper };\r\n width: ${ sizeMapper };\r\n \r\n line-height: 1;\r\n font-size: 0;\r\n \r\n vertical-align: middle;\r\n\r\n display: inline-block;\r\n\r\n ${ props => props.shadow && css`\r\n box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);\r\n `}\r\n\r\n ${\r\n props => props.animation === 'rotate' && css`\r\n animation: ${ rotate } 1s linear infinite;\r\n `\r\n }\r\n\r\n \r\n ${ color }\r\n ${ space }\r\n`\r\n\r\n\r\n\r\nconst Icon = React.memo(({ type, size, ...props }) => {\r\n const html = { __html : ICON_MAP[type] };\r\n return \r\n})\r\n\r\nIcon.propTypes = {\r\n type : PropTypes.string.isRequired,\r\n color : PropTypes.string.isRequired,\r\n size : PropTypes.oneOf([ 'default', '1-2x', '2x', '3x']),\r\n animation : PropTypes.string\r\n}\r\n\r\nIcon.defaultProps = {\r\n size : 'default',\r\n color : 'inherit'\r\n}\r\n\r\nexport default Icon;\r\n\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"CoverImage__container__b29eh\",\"disabled\":\"CoverImage__disabled__28b27\",\"tint\":\"CoverImage__tint__3lYq_\",\"content\":\"CoverImage__content__2GoEc\"};","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js??ref--7-1!./EmailIdentity.module.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","import React, { useMemo } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport styled, { css } from 'styled-components'\r\nimport { space, layout, shadow } from 'styled-system'\r\n\r\nconst tiny = css`\r\n line-height: 24px;\r\n width: 24px;\r\n height: 24px;\r\n\r\n border-radius: ${ props => props.variant == 'round' ? '12px' : props.theme.radii.r400 };\r\n \r\n font-size: 11px;\r\n`\r\n\r\nconst small = css`\r\n line-height: 36px;\r\n width: 36px;\r\n height: 36px;\r\n \r\n border-radius: ${ props => props.variant == 'round' ? '18px' : props.theme.radii.r600 };\r\n\r\n font-size: 18px;\r\n`\r\n\r\nconst medium = css`\r\n line-height: 48px;\r\n width: 48px;\r\n height: 48px;\r\n \r\n border-radius: ${ props => props.variant == 'round' ? '18px' : props.theme.radii.r600 };\r\n \r\n font-size: 18px;\r\n`\r\n\r\nconst large = css`\r\n line-height: calc(var(--vertical-rythm) * 2);\r\n width: calc(var(--vertical-rythm) * 2);\r\n height: calc(var(--vertical-rythm) * 2);\r\n border-radius: var(--vertical-rythm);\r\n\r\n font-size: 48px;\r\n`\r\n\r\nconst huge = css`\r\n line-height: 100px;\r\n width: 100px;\r\n height: 100px;\r\n \r\n border-radius: ${ props => props.variant == 'round' ? '46px' : props.theme.radii.r800 };\r\n\r\n font-size: 48px;\r\n`\r\n\r\nconst StyledAvatar = styled.div`\r\n display: inline-block;\r\n text-align: center;\r\n background-color: ${ props => props.theme.colors.cardBackgroundSecondary };\r\n color: ${ props => props.theme.colors.cardForeground };\r\n font-weight: bold;\r\n overflow: hidden;\r\n position: relative;\r\n vertical-align: middle;\r\n text-transform: uppercase;\r\n \r\n border-radius: 3px;\r\n\r\n img { \r\n width: 100; \r\n height: 100%; \r\n display: block; \r\n border: none; \r\n }\r\n\r\n ${\r\n props => \r\n ({\r\n tiny,\r\n small,\r\n medium,\r\n large,\r\n huge\r\n })[props.size]\r\n }\r\n\r\n ${space}\r\n ${layout}\r\n ${shadow}\r\n`\r\n\r\nconst Avatar = React.memo(({ size, variant, src, name, ...otherProps }) => {\r\n const normalizedName = useMemo(() => name && name.replace(/[^0-9a-z]/gi, '') ||'', [name]);\r\n const content = src ?{ : { (normalizedName || '?' ).substring(0, 2) };\r\n\r\n \r\n return { content }\r\n})\r\n\r\nAvatar.propTypes = {\r\n name: PropTypes.string,\r\n src: PropTypes.string,\r\n size: PropTypes.string.isRequired,\r\n variant : PropTypes.oneOf([ 'round', 'rounded' ])\r\n}\r\n\r\nAvatar.defaultProps = {\r\n size : 'small',\r\n variant : 'round'\r\n}\r\n\r\nexport default Avatar","module.exports = \"\"","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js??ref--7-1!./ExpandablePanel.module.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","module.exports = \"\"","module.exports = \"\"","export const FETCH_CONFIG_REQUEST = 'FETCH_CONFIG_REQUEST';\r\nexport const FETCH_CONFIG_SUCCESS = 'FETCH_CONFIG_SUCCESS';\r\nexport const FETCH_CONFIG_FAILURE = 'FETCH_CONFIG_FAILURE';\r\n ","import React, { useContext } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { ThemeContext } from 'styled-components';\r\n\r\nconst useTheme = () => {\r\n return useContext(ThemeContext);\r\n \r\n}\r\n\r\nexport default useTheme;","module.exports = \"\"","export default __webpack_public_path__ + \"geomanist-light-webfont.78ca3565e5ac494ebeb911e0f3419403.woff\";","module.exports = \"\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Stack__container__2eyKm\",\"horizontal\":\"Stack__horizontal__3tH8m\",\"vertical\":\"Stack__vertical__1oNwf\"};","module.exports = \"\"","import * as signalR from '@microsoft/signalr'\r\nimport auth from './auth'\r\n\r\n\r\nclass WebSocketClient {\r\n\tconstructor() {\r\n\t\tthis.connection = null;\r\n\t\tthis.onClose = this.onClose.bind(this);\r\n\t\tthis.retryAttempt = 0;\r\n\t}\r\n\r\n\tinitialize(url) {\r\n\t\tthis.url = url;\r\n\t\tthis.connection = new signalR.HubConnectionBuilder()\r\n\t\t\t.withUrl(url, { accessTokenFactory: () => auth.getAccessToken() })\r\n\t\t\t.withAutomaticReconnect()\r\n\t\t\t.build();\r\n\r\n\t\tthis.connection.onclose(this.onClose);\r\n\t}\r\n\r\n\ton(method, handler) { \r\n\t\tthis.connection.on(method, handler);\t\r\n\t}\r\n\t\r\n\tconnect() { \r\n\r\n\t\treturn this.connection.start()\r\n\t\t\t.then(() => { \r\n\t\t\t\tconsole.log('[WebSocket] Connected');\r\n\t\t\t\tdocument.dispatchEvent(new Event('wsConnected'));\r\n\t\t\t})\r\n\t\t\t.catch(error => { \r\n\t\t\t\tconsole.error('[WebSocket] Error', error);\r\n\t\t\t\tdocument.dispatchEvent(new Event('wsError'));\r\n\t\t\t});\r\n\t\t\r\n\t\t\r\n\t}\r\n\r\n\tonClose(err) {\r\n\t\tif (err) {\r\n\t\t\tdocument.dispatchEvent(new Event('wsDisconnected'));\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport default new WebSocketClient();","export default __webpack_public_path__ + \"roboto-v27-latin-italic.c8864b37568c1e60cc4437c78c60caba.woff\";","export default __webpack_public_path__ + \"roboto-v27-latin-700.52327c41eefb552d40746a37266bf17f.ttf\";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"._1DbsQYlFK_zoYy2EWeoXJt {\\r\\n position: relative;\\r\\n\\r\\n box-shadow: 6px 6px 15px rgba(0,0,0,0.15);\\r\\n border-radius: 5px;\\r\\n background-color: var(--card);\\r\\n color: var(--on-card);\\r\\n}\\r\\n\\r\\n._2DM7xxjlWjxiSWQLr2IShY {\\r\\n cursor : pointer;\\r\\n transition: background-color 0.2s ease-in-out;\\r\\n}\\r\\n\\r\\n._2DM7xxjlWjxiSWQLr2IShY:hover { background-color: var(--card-light); }\\r\\n._2DM7xxjlWjxiSWQLr2IShY:hover ._330Qv9Crv35CCLr43JEN6n { background-color: var(--card-secondary-light); }\\r\\n._2DM7xxjlWjxiSWQLr2IShY ._3BOfpnu41ET9CbxO4dDx9g { transition: background-color 0.2s ease-in-out; }\\r\\n\\r\\n._3BOfpnu41ET9CbxO4dDx9g {\\r\\n background-color: var(--card-secondary);\\r\\n\\r\\n margin: 0 9px;\\r\\n padding: 0 9px; \\r\\n border-radius: 5px;\\r\\n}\", \"\"]);\n// Exports\nexports.locals = {\n\t\"container\": \"_1DbsQYlFK_zoYy2EWeoXJt\",\n\t\"clickable\": \"_2DM7xxjlWjxiSWQLr2IShY\",\n\t\"insert\": \"_330Qv9Crv35CCLr43JEN6n\",\n\t\"inset\": \"_3BOfpnu41ET9CbxO4dDx9g\"\n};\nmodule.exports = exports;\n","import React from 'react';\r\n\r\nimport styles from './Spinner.scss'\r\n\r\nimport styled, { keyframes } from 'styled-components'\r\n\r\nconst rotate = keyframes`\r\n 0% { \r\n transform: perspective(120px) rotateX(0deg) rotateY(0deg); \r\n } \r\n 50% { \r\n transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);\r\n } \r\n 100% { \r\n transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);\r\n }\r\n`\r\n\r\n\r\nconst StyledContainer = styled.div`\r\n height: 24px;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n`\r\n\r\nconst StyledSpinner = styled.div`\r\n width: 24px;\r\n height: 24px;\r\n background-color: ${ props => props.theme.colors.siteForeground };\r\n \r\n animation: ${ rotate } 1.2s infinite ease-in-out;\r\n`\r\n\r\n\r\nconst Spinner = () => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default Spinner;","var api = require(\"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--7-1!./SiteFooter.module.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"item\":\"TeamList__item__3Gq_x\",\"name\":\"TeamList__name__1hKAw\"};","export default __webpack_public_path__ + \"roboto-v27-latin-700italic.43c077649e51429fefb9f694b5d532f7.woff\";","export default __webpack_public_path__ + \"roboto-v27-latin-700.0344cc3c5cd0959f5f92fdb3d8168fed.woff\";","export const FETCH_GAME_FANTASYTEAMS_REQUEST = 'game/fantasyteams/fetch/request';\r\nexport const FETCH_GAME_FANTASYTEAMS_SUCCESS = 'game/fantasyteams/fetch/success';\r\nexport const FETCH_GAME_FANTASYTEAMS_FAIL = 'game/fantasyteams/fetch/fail';\r\n\r\nexport const FETCH_LINEUP_REQUEST = 'FETCH_LINEUP_REQUEST';\r\nexport const FETCH_LINEUP_SUCCESS = 'FETCH_LINEUP_SUCCESS';\r\nexport const FETCH_LINEUP_FAIL = 'FETCH_LINEUP_FAIL';\r\n","module.exports = \"\"","export const FETCH_TOURNAMENT_INJURIES_REQUEST = 'tournament/injury/fetch/request';\r\nexport const FETCH_TOURNAMENT_INJURIES_SUCCESS = 'tournament/injury/fetch/success';\r\nexport const FETCH_TOURNAMENT_INJURIES_FAIL = 'tournament/injury/fetch/fail';\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Highlight__container__2ZvFm\",\"item\":\"Highlight__item__11FEn\",\"heading\":\"Highlight__heading__8LvFq\",\"value\":\"Highlight__value__34e8u\",\"content\":\"Highlight__content__10LUl\",\"media\":\"Highlight__media__23DhX\",\"children\":\"Highlight__children__3tRsV\"};","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js??ref--7-1!./ColumnLayout.module.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","export const AUTHENTICATION_SUCCESS = 'auth/success';\r\n\r\nexport const LOGIN_REQUEST = 'login/request';\r\nexport const LOGIN_SUCCESS = 'login/success';\r\nexport const LOGIN_FAILURE = 'login/fail';\r\n\r\nexport const FACEBOOK_LOGIN_REQUEST = 'facebook-login/request';\r\nexport const FACEBOOK_LOGIN_SUCCESS = 'facebook-login/success';\r\nexport const FACEBOOK_LOGIN_FAIL = 'facebook-login/fail';\r\n\r\nexport const FACEBOOK_SIGNUP_REQUIRED = 'facebook-login/signup-required';\r\n\r\nexport const FACEBOOK_SIGNUP_REQUEST = 'facebook-signup/request';\r\nexport const FACEBOOK_SIGNUP_SUCCESS = 'facebook-signup/success';\r\nexport const FACEBOOK_SIGNUP_FAIL = 'facebook-signup/fail';\r\n\r\nexport const CHECK_ACCOUNT_REQUEST = \"account/check/request\";\r\nexport const CHECK_ACCOUNT_SUCCESS = \"account/check/success\";\r\nexport const CHECK_ACCOUNT_FAIL = \"account/check/fail\";\r\n\r\nexport const SIGNUP_SUBMIT_EMAIL_REQUEST = 'signup/submit-email/request';\r\nexport const SIGNUP_SUBMIT_EMAIL_SUCCESS = 'signup/submit-email/success';\r\nexport const SIGNUP_SUBMIT_EMAIL_FAIL = 'signup/submit-email/failure';\r\n\r\nexport const SIGNUP_SUBMIT_CODE_REQUEST = 'signup/submit-code/request';\r\nexport const SIGNUP_SUBMIT_CODE_SUCCESS = 'signup/submit-code/success';\r\nexport const SIGNUP_SUBMIT_CODE_FAIL = 'signup/submit-code/failure';\r\n\r\nexport const SIGNUP_SUBMIT_REQUEST = 'signup/submit/request';\r\nexport const SIGNUP_SUBMIT_SUCCESS = 'signup/submit/success';\r\nexport const SIGNUP_SUBMIT_FAIL = 'signup/submit/failure';\r\n\r\nexport const SIGNIN_REQUEST = 'signin/request';\r\nexport const SIGNIN_SUCCESS = 'signin/success';\r\nexport const SIGNIN_FAIL = 'signin/failure';\r\n\r\nexport const REQUEST_RESET_REQUEST = 'auth/request-reset/request';\r\nexport const REQUEST_RESET_SUCCESS = 'auth/request-reset/success';\r\nexport const REQUEST_RESET_FAIL = 'auth/request-reset/failure';\r\n\r\n\r\nexport const RESET_REQUEST = 'auth/reset/request';\r\nexport const RESET_SUCCESS = 'auth/reset/success';\r\nexport const RESET_FAIL = 'auth/reset/failure';\r\n\r\nexport const START = 'auth/start';\r\nexport const CANCEL = 'auth/cancel';\r\nexport const COMPLETE = 'auth/complete';\r\nexport const GOTO = 'auth/goto';\r\n\r\nexport const SET = 'auth/set';","import axios from 'axios'\r\nimport { normalize } from 'normalizr'\r\nimport { gameSchema } from '../../schemas'\r\n\r\nimport * as types from './types';\r\n\r\n\r\n/* Catalog */\r\n\r\nconst requestCatalog = () => ({ type: types.FETCH_CATALOG_REQUEST })\r\nconst receiveCatalog = (payload) => ({ type: types.FETCH_CATALOG_SUCCESS, payload })\r\nconst fetchCatalog = () => (dispatch) => {\r\n dispatch(requestCatalog())\r\n \r\n axios.get('catalog/games').then(response => {\r\n dispatch(receiveCatalog(normalize(response.data, [gameSchema])));\r\n });\r\n \r\n}\r\n\r\nconst shouldFetchCatalog = (state) => {\r\n const game = state.games\r\n\r\n if (!game.catalog.items) {\r\n return true;\r\n } else if (game.catalog.isFetching) {\r\n return false;\r\n } else {\r\n return game.catalog.didInvalidate;\r\n }\r\n}\r\n\r\nexport const fetchCatalogIfNeeded = () => {\r\n return (dispatch, getState) => {\r\n if (shouldFetchCatalog(getState())) {\r\n return dispatch(fetchCatalog())\r\n }\r\n }\r\n}\r\n\r\n/* Selected Game */\r\n\r\nexport const selectGame = (id) => ({ type: types.SELECT_GAME, id : id })\r\nexport const selectRound = (round) => ({ type: types.SELECT_ROUND, round })\r\n\r\nconst fetchGameRequest = (id) => ({ type: types.FETCH_GAME_REQUEST, id })\r\nconst fetchGameSuccess = (payload) => ({ type: types.FETCH_GAME_SUCCESS, payload })\r\n\r\n\r\n\r\nexport const fetchGame = (id) => (dispatch) => new Promise((resolve, reject) => {\r\n dispatch(fetchGameRequest(id))\r\n \r\n axios.get(`catalog/games/${id}?v=3`).then(response => {\r\n dispatch(fetchGameSuccess(normalize(response.data, gameSchema)));\r\n resolve(response.data);\r\n }, e => {\r\n reject(e);\r\n })\r\n/*\r\n const promise = axios.get(`catalog/games/${id}`);\r\n promise.then(response => {\r\n dispatch(fetchGameSuccess(normalize(response.data, gameSchema)));\r\n });\r\n\r\n return promise;*/\r\n});\r\n\r\nconst shouldFetchGame = (state, id) => {\r\n const { byId } = state.games || { byId : {} };\r\n const item = byId[id];\r\n\r\n if (!item) {\r\n return true;\r\n }\r\n else if (item.isFetching) {\r\n return false;\r\n }\r\n else {\r\n return item.didInvalidate;\r\n }\r\n}\r\n\r\nexport const fetchGameIfNeeded = (id) => (dispatch, getState) => {\r\n\r\n if (shouldFetchGame(getState(), id)) {\r\n dispatch(fetchGame(id));\r\n }\r\n}\r\n\r\n\r\n","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--7-1!./Dropdown.module.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"._1HqKqdV3KdK3zv76nSMzPc {\\r\\n position: relative;\\r\\n background-color: var(--panel);\\r\\n color: var(--on-panel);\\r\\n display: inline-flex;\\r\\n height: 36px;\\r\\n overflow: hidden;\\r\\n border-radius: 3px;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n._1HqKqdV3KdK3zv76nSMzPc.P4xs85iepfAxihRfapRwa {\\r\\n background-color: var(--action);\\r\\n color: var(--on-action);\\r\\n}\\r\\n\\r\\n._1HqKqdV3KdK3zv76nSMzPc::before {\\r\\n position: absolute;\\r\\n content: \\\"\\\";\\r\\n top: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n height: 8px;\\r\\n \\r\\n z-index: 2;\\r\\n\\r\\n background: linear-gradient(var(--panel), rgba(var(--panel), 0));\\r\\n}\\r\\n\\r\\n\\r\\n._1HqKqdV3KdK3zv76nSMzPc::after {\\r\\n position: absolute;\\r\\n content: \\\"\\\";\\r\\n bottom: 0;\\r\\n left: 0;\\r\\n right: 0;\\r\\n height: 8px;\\r\\n \\r\\n z-index: 2;\\r\\n\\r\\n background: linear-gradient(rgba(var(--panel), 0), var(--panel));\\r\\n}\\r\\n\\r\\n._3BUxl1zEBvo-s3YzAkJjz2 {\\r\\n transition: transform 1s ease;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n._2Glxv7XeTK2bmkhNTtUe8u {\\r\\n position: relative;\\r\\n\\r\\n width: 24px;\\r\\n height: 36px;\\r\\n\\r\\n font-family: 'Roboto';\\r\\n font-size: 20px;\\r\\n font-weight: bold;\\r\\n\\r\\n z-index: 1;\\r\\n\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n._2Glxv7XeTK2bmkhNTtUe8u > * {\\r\\n width: 24px;\\r\\n height: 36px;\\r\\n display: block;\\r\\n\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 1024px) {\\r\\n\\r\\n ._1_qTkeolAa0tYJxfVuxES5 {\\r\\n height: 54px;\\r\\n }\\r\\n\\r\\n ._1_qTkeolAa0tYJxfVuxES5 ._2Glxv7XeTK2bmkhNTtUe8u {\\r\\n width: 36px;\\r\\n height: 54px;\\r\\n font-size: 32px\\r\\n }\\r\\n\\r\\n ._1_qTkeolAa0tYJxfVuxES5 ._2Glxv7XeTK2bmkhNTtUe8u > * {\\r\\n width: 36px;\\r\\n height: 54px;\\r\\n \\r\\n }\\r\\n\\r\\n}\", \"\"]);\n// Exports\nexports.locals = {\n\t\"container\": \"_1HqKqdV3KdK3zv76nSMzPc\",\n\t\"highlight\": \"P4xs85iepfAxihRfapRwa\",\n\t\"transitioning\": \"_3BUxl1zEBvo-s3YzAkJjz2\",\n\t\"digit\": \"_2Glxv7XeTK2bmkhNTtUe8u\",\n\t\"large\": \"_1_qTkeolAa0tYJxfVuxES5\"\n};\nmodule.exports = exports;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"badge\":\"RoundBadge__badge__1LUIj\"};","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js??ref--7-1!./Checkbox.module.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","module.exports = \"\"","module.exports = \"\"","import React from 'react'\r\n\r\nimport styles from './ContentContainer.scss'\r\n\r\nconst ContentContainer = ({ children }) => {\r\n return (\r\n
    { children }
    \r\n )\r\n}\r\n\r\nexport default ContentContainer;","module.exports = \"\"","var api = require(\"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js??ref--5-1!../../node_modules/postcss-loader/src/index.js??postcss!./main.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"._1CnvNGUul1qbMvXTcITbkH {\\r\\n position: relative; \\r\\n}\\r\\n\\r\\n._3E3Fu6zYIdlaILhsri2A8H {\\r\\n position: relative;\\r\\n z-index: 2;\\r\\n \\r\\n}\\r\\n\\r\\n._1bRnse06EdRCsQhOa3Lgi9 {\\r\\n position: absolute;\\r\\n left: 0;\\r\\n right: 0;\\r\\n top: calc(100% - 8px);\\r\\n opacity: 0;\\r\\n\\r\\n z-index: 1;\\r\\n\\r\\n padding-top: 8px;\\r\\n\\r\\n background-color: var(--action);\\r\\n color: var(--on-action);\\r\\n border-bottom-left-radius: 5px;\\r\\n border-bottom-right-radius: 5px;\\r\\n\\r\\n font-size: 11px;\\r\\n}\\r\\n\\r\\n\\r\\n._2S43mUo1XGfNMveuoOHeYt {\\r\\n position: absolute;\\r\\n left: 0;\\r\\n right: 0;\\r\\n\\r\\n height: 36px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n padding: 0 12px;\\r\\n\\r\\n}\", \"\"]);\n// Exports\nexports.locals = {\n\t\"container\": \"_1CnvNGUul1qbMvXTcITbkH\",\n\t\"content\": \"_3E3Fu6zYIdlaILhsri2A8H\",\n\t\"menu\": \"_1bRnse06EdRCsQhOa3Lgi9\",\n\t\"item\": \"_2S43mUo1XGfNMveuoOHeYt\"\n};\nmodule.exports = exports;\n","import React from 'react'\r\n\r\nimport styled from 'styled-components'\r\n\r\nexport const styledHeading = (tag) => styled(tag)`\r\n text-align : ${ props => props.alignment };\r\n ${ props => props.margin && `margin: ${ props.margin}` };\r\n`;\r\n\r\nconst H1 = styledHeading('h1');\r\nconst H2 = styledHeading('h2');\r\nconst H3 = styledHeading('h3');\r\nconst H4 = styledHeading('h4');\r\nconst H5 = styledHeading('h5');\r\nconst H6 = styledHeading('h6');\r\n\r\nconst getComponent = (size) => {\r\n switch(size) {\r\n case 1: return H1;\r\n case 2: return H2;\r\n case 3: return H3;\r\n case 4: return H4;\r\n case 5: return H5;\r\n case 6: return H6;\r\n }\r\n}\r\n\r\nconst Heading = ({ size, alignment, margin, children }) =>{\r\n const Component = getComponent(size);\r\n return { children }\r\n}\r\n\r\nHeading.propTypes = {\r\n}\r\n\r\nHeading.defaultProps = {\r\n size : 1\r\n}\r\n\r\nexport default Heading;\r\n\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Vignette__container__20GWH\",\"vignette\":\"Vignette__vignette__ouoFz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"AccordionVersusHeader__container__2K7GK\",\"left\":\"AccordionVersusHeader__left__3x-ru\",\"team\":\"AccordionVersusHeader__team__yfeDn\",\"score\":\"AccordionVersusHeader__score__3nw8m\",\"growth\":\"AccordionVersusHeader__growth__lQRPF\"};","import axios from 'axios'\r\nimport { normalize } from 'normalizr';\r\n\r\nimport { viewSchema } from '../../schemas';\r\n\r\nimport config from 'config'\r\nimport auth from '../../common/auth'\r\nimport * as types from './types';\r\n\r\nconst fetchCompiledViewByNameRequest = (name) => ({ type: types.FETCH_COMPILED_VIEW_BY_NAME_REQUEST, name })\r\nconst fetchCompiledViewByNameSuccess = (name, payload) => ({ type: types.FETCH_COMPILED_VIEW_BY_NAME_SUCCESS, name, payload })\r\nconst fetchCompiledViewByNameFailure = (name) => ({ type: types.FETCH_COMPILED_VIEW_BY_NAME_FAILURE, name })\r\n\r\nconst fetchCompiledViewByName = (name) => (dispatch) => {\r\n dispatch(fetchCompiledViewByNameRequest(name))\r\n\r\n return axios.get(`${ config.configBaseUrl }/views/compiled/${ name }.json`).then(response => {\r\n dispatch(fetchCompiledViewByNameSuccess(name, response.data));\r\n }, error => {\r\n dispatch(fetchCompiledViewByNameFailure(name));\r\n });\r\n}\r\n\r\n\r\nconst shouldFetchCompiledViewByName = (state, name) => {\r\n const { compiled } = state.views || { compiled : {} };\r\n const item = compiled[name];\r\n\r\n if (!item) {\r\n return true;\r\n }\r\n else if (item.isFetching) {\r\n return false;\r\n }\r\n else {\r\n return item.didInvalidate;\r\n }\r\n}\r\n \r\nexport const fetchCompiledViewByNameIfNeeded = (name) => (dispatch, getState) => new Promise((resolve, reject) => {\r\n if (shouldFetchCompiledViewByName(getState(), name)) {\r\n dispatch(fetchCompiledViewByName(name)).then((response) => {\r\n resolve(response);\r\n });\r\n }\r\n})\r\n\r\n\r\n/* */\r\n\r\n\r\nconst fetchViewByNameRequest = (name) => ({ type: types.FETCH_VIEW_BY_NAME_REQUEST, name })\r\nconst fetchViewByNameSuccess = (name, payload) => ({ type: types.FETCH_VIEW_BY_NAME_SUCCESS, name, payload })\r\nconst fetchViewByNameFailure = (name) => ({ type: types.FETCH_VIEW_BY_NAME_FAILURE, name })\r\n\r\nconst fetchViewByName = (name) => (dispatch) => {\r\n dispatch(fetchViewByNameRequest(name))\r\n\r\n axios.get(`/views/${ name }`).then(response => {\r\n dispatch(fetchViewByNameSuccess(name, normalize(response.data, viewSchema)));\r\n }, error => {\r\n dispatch(fetchViewByNameFailure(name));\r\n });\r\n}\r\n\r\n\r\nconst shouldFetchViewByName = (state, name) => {\r\n const { byName } = state.views || { byName : {} };\r\n const item = byName[name];\r\n\r\n if (!item) {\r\n return true;\r\n }\r\n else if (item.isFetching) {\r\n return false;\r\n }\r\n else {\r\n return item.didInvalidate;\r\n }\r\n}\r\n \r\nexport const fetchViewByNameIfNeeded = (name) => (dispatch, getState) => {\r\n if (shouldFetchViewByName(getState(), name)) {\r\n dispatch(fetchViewByName(name));\r\n }\r\n}\r\n\r\n\r\n/* */\r\n\r\n\r\nconst fetchViewRequest = (id) => ({ type: types.FETCH_VIEW_REQUEST, id })\r\nconst fetchViewSuccess = (id, payload) => ({ type: types.FETCH_VIEW_SUCCESS, id, payload })\r\nconst fetchViewFailure = (id) => ({ type: types.FETCH_VIEW_FAILURE, id })\r\n\r\nconst fetchView = (id) => (dispatch) => {\r\n dispatch(fetchViewRequest(id));\r\n\r\n const accessToken = auth.getAccessToken();\r\n const url = `/views/${ id }?access_token=${ accessToken }`;\r\n\r\n axios.get(url).then(response => {\r\n dispatch(fetchViewSuccess(id, normalize(response.data, viewSchema)));\r\n }, error => {\r\n dispatch(fetchViewFailure(id));\r\n });\r\n}\r\n\r\n\r\nconst shouldFetchView = (state, id) => {\r\n const { byId } = state.views || { byId : {} };\r\n const item = byId[id];\r\n\r\n if (!item) {\r\n return true;\r\n }\r\n else if (item.isFetching) {\r\n return false;\r\n }\r\n else {\r\n return item.didInvalidate;\r\n }\r\n}\r\n \r\nexport const fetchViewIfNeeded = (id) => (dispatch, getState) => {\r\n if (shouldFetchView(getState(), id)) {\r\n dispatch(fetchView(id));\r\n }\r\n}\r\n\r\n/* */\r\n\r\n\r\n\r\nconst fetchPrecompiledViewsRequest = (group) => ({ type: types.FETCH_PRECOMPILED_VIEWS_REQUEST, group })\r\nconst fetchPrecompiledViewsSuccess = (group, payload) => ({ type: types.FETCH_PRECOMPILED_VIEWS_SUCCESS, group, payload })\r\nconst fetchPrecompiledViewsFailure = (group) => ({ type: types.FETCH_PRECOMPILED_VIEWS_FAILURE, group })\r\n\r\nconst fetchPrecompiledViews = (group) => (dispatch) => {\r\n dispatch(fetchPrecompiledViewsRequest(group));\r\n\r\n const url = `/views/precompiled/${ group }`;\r\n\r\n axios.get(url).then(response => {\r\n dispatch(fetchPrecompiledViewsSuccess(group, normalize(response.data, [viewSchema])));\r\n }, error => {\r\n dispatch(fetchPrecompiledViewsFailure(group));\r\n });\r\n}\r\n\r\n\r\nconst shouldFetchPrecompiledViews = (state, group) => {\r\n const { precompiled } = state.views || { precompiled : { } };\r\n \r\n\r\n if (!precompiled[group]) {\r\n return true;\r\n }\r\n if (!precompiled[group].items) {\r\n return true;\r\n }\r\n else if (precompiled[group].isFetching) {\r\n return false;\r\n }\r\n else {\r\n return precompiled[group].didInvalidate;\r\n }\r\n}\r\n \r\nexport const fetchPrecompiledViewsIfNeeded = (group) => (dispatch, getState) => {\r\n \r\n if (shouldFetchPrecompiledViews(getState(), group)) {\r\n dispatch(fetchPrecompiledViews(group));\r\n }\r\n}\r\n\r\n/* */\r\n\r\n\r\nconst updateViewRequest = (id) => ({ type: types.UPDATE_VIEW_REQUEST, id })\r\nconst updateViewSuccess = (id, payload) => ({ type: types.UPDATE_VIEW_SUCCESS, id, payload })\r\nconst updateViewFailure = (id) => ({ type: types.UPDATE_VIEW_FAILURE, id })\r\n\r\nexport const updateView = (id, view) => (dispatch) => new Promise((resolve, reject) => {\r\n dispatch(updateViewRequest(id));\r\n\r\n const accessToken = auth.getAccessToken();\r\n const url = `/views/${ id }?access_token=${ accessToken }`;\r\n\r\n axios.put(url, view).then(response => {\r\n resolve();\r\n dispatch(updateViewSuccess(id, view));\r\n }, error => {\r\n dispatch(updateViewFailure(id));\r\n reject();\r\n });\r\n})\r\n\r\n/* */\r\n\r\nconst fetchViewsRequest = (query, page, pageSize) => ({ type: types.FETCH_VIEWS_REQUEST, query, page, pageSize })\r\nconst fetchViewsSuccess = (query, page, pageSize, count, payload) => ({ type: types.FETCH_VIEWS_SUCCESS, query, page, pageSize, count, payload })\r\nconst fetchViewsFailure = (query, page, pageSize) => ({ type: types.FETCH_VIEWS_FAILURE, query, page, pageSize })\r\n\r\nexport const fetchViews = (query, page, pageSize) => (dispatch) => {\r\n dispatch(fetchViewsRequest(query, page, pageSize))\r\n\r\n const accessToken = auth.getAccessToken();\r\n const url = `/views?query=${ query }&page=${ page }&pageSize=${ pageSize }&access_token=${ accessToken }`;\r\n\r\n axios.get(url).then(response => {\r\n const count = parseInt(response.headers['x-pagination-count']);\r\n\r\n dispatch(fetchViewsSuccess(query, page, pageSize, count, response.data));\r\n }, error => {\r\n dispatch(fetchViewsFailure(query, page, pageSize));\r\n });\r\n}\r\n\r\n\r\n\r\n","module.exports = \"\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"._1-jDnHtCMrbeWDm4CxribY {\\r\\n\\tdisplay: flex;\\r\\n\\tflex-wrap: wrap;\\r\\n}\", \"\"]);\n// Exports\nexports.locals = {\n\t\"container\": \"_1-jDnHtCMrbeWDm4CxribY\"\n};\nmodule.exports = exports;\n","export const UI_SELECT_PLAYER = 'UI_SELECT_PLAYER';\r\nexport const SELECT_TOURNAMENT = 'ui/select-tournament';\r\nexport const UI_HIDE_SIDEBAR = 'UI_HIDE_SIDEBAR';\r\nexport const UI_SELECT_MATCH = 'UI_SELECT_MATCH';\r\nexport const UI_SHOW_GROUP_SETTINGS = 'UI_SHOW_GROUP_SETTINGS';\r\nexport const UI_STATISTICS_FILTER = 'UI_STATISTICS_FILTER';\r\nexport const UI_SCHEDULE_FILTER = 'UI_SCHEDULE_FILTER';\r\n\r\nexport const UI_PUSH_FLYOUT = 'UI_PUSH_FLYOUT';\r\nexport const UI_POP_FLYOUT = 'UI_POP_FLYOUT';\r\nexport const UI_CLEAR_FLYOUTS = 'UI_CLEAR_FLYOUTS';\r\n\r\nexport const UI_SET_DATA = 'UI_SET_DATA';\r\nexport const UI_REPLACE_DATA = 'UI_REPLACE_DATA';\r\nexport const UI_CLEAR_DATA = 'UI_CLEAR_DATA'\r\n\r\nexport const UI_SET_TITLE = 'ui/title/set';\r\n\r\nexport const UPDATE_NOTIFICATION_COUNT = 'ui/notificationcount/update';\r\n\r\nexport const HIDE_MODAL = 'HIDE_MODAL';\r\nexport const SHOW_MODAL = 'SHOW_MODAL';","export default __webpack_public_path__ + \"roboto-v27-latin-700italic.ae9579bbdaa96703f7dfd5f2b712dc58.ttf\";","module.exports = \"\"","module.exports = \"\"","\r\n\r\n\r\nimport * as types from './types'\r\n\r\n// Matches\r\n\r\nexport const selectTournament = (tournament) => ({ type: types.SELECT_TOURNAMENT, tournament})\r\n\r\nexport const hideSidebar = () => ({ type: types.UI_HIDE_SIDEBAR })\r\n\r\nexport const selectPlayer = (gameId, playerId, theme) => ({ type: types.UI_SELECT_PLAYER, gameId, playerId, theme })\r\n\r\n\r\nexport const selectMatch = (matchId) => ({ type: types.UI_SELECT_MATCH, matchId })\r\n\r\n\r\nexport const showGroupSettings = (view) => ({ type: types.UI_SHOW_GROUP_SETTINGS, view })\r\n\r\n\r\nexport const statisticsFilter = (options) => ({ type: types.UI_STATISTICS_FILTER, options })\r\nexport const setScheduleFilter = (options) => ({ type: types.UI_SCHEDULE_FILTER, options })\r\n\r\n// Flyouts\r\n\r\nexport const pushFlyout = (view, props) => ({ type: types.UI_PUSH_FLYOUT, view, props })\r\nexport const popFlyout = () => ({ type: types.UI_POP_FLYOUT })\r\nexport const clearFlyouts = () => ({ type: types.UI_CLEAR_FLYOUTS })\r\n\r\n\r\n// Filters\r\n\r\nexport const setData = (name, data) => ({ type : types.UI_SET_DATA, name, data })\r\nexport const replaceData = (name, data) => ({ type : types.UI_REPLACE_DATA, name, data })\r\nexport const clearData = (name) => ({ type : types.UI_CLEAR_DATA, name })\r\n\r\nexport const updateNotificationCount = (count) => ({ type : types.UPDATE_NOTIFICATION_COUNT, count })\r\n\r\n\r\n// Titles\r\n\r\nexport const setTitle = (title) => ({ type : types.UI_SET_TITLE, title })\r\n\r\n// Modal\r\n\r\nexport const hideModal = () => ({ type : types.HIDE_MODAL })\r\nexport const showModal = (name, props, callback) => ({ type : types.SHOW_MODAL, name, props, callback })\r\n\r\n\r\n\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdown\":\"Dropdown__dropdown__3H_Qy\",\"inline\":\"Dropdown__inline__3wJI9\",\"menu\":\"Dropdown__menu__2ltgG\",\"left\":\"Dropdown__left__2kngj\",\"open\":\"Dropdown__open__3UAL5\",\"item\":\"Dropdown__item__2ncAl\",\"menuOpen\":\"Dropdown__menuOpen__2yGP2\",\"menuOpenActive\":\"Dropdown__menuOpenActive__2VBUT\",\"menuClose\":\"Dropdown__menuClose__3An_1\",\"menuCloseActive\":\"Dropdown__menuCloseActive__2Aat8\"};","module.exports = \"\"","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport ButtonBase from './ButtonBase'\r\nimport styles from './Button.scss'\r\n\r\nconst Button = ({ onClick, type, disabled, children, ...otherProps }) => {\r\n const handleOnClick = (e) => {\r\n e.preventDefault(); \r\n if (!disabled) {\r\n onClick(e);\r\n }\r\n }\r\n\r\n return (\r\n \r\n {\r\n (className) => {\r\n return \r\n }\r\n }\r\n \r\n ) \r\n}\r\n\r\nButton.propTypes = {\r\n onClick : PropTypes.func,\r\n children : PropTypes.node,\r\n type : PropTypes.string\r\n}\r\n\r\nexport default Button;\r\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"\\r\\n.iFviGZTr-jp4L1GSQW45n {\\r\\n min-height: 72px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n padding: 0 48px 0 24px;\\r\\n text-overflow: ellipsis;\\r\\n overflow: hidden;\\r\\n white-space: nowrap;\\r\\n margin-right: 72px; \\r\\n}\\r\\n\\r\\n.Wjwees1kY_W1xtq4o-vNw {\\r\\n margin: 0 24px;\\r\\n flex: 1;\\r\\n overflow-x: hidden;\\r\\n overflow-y: auto;\\r\\n padding-bottom: 24px;\\r\\n}\\r\\n\\r\\n\\r\\n._3SvTuGnz58ftka7RRE6BJv {\\r\\n padding: 12px 24px 24px 24px;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: flex-end;\\r\\n height: 72px;\\r\\n}\\r\\n\\r\\n._3SvTuGnz58ftka7RRE6BJv > * {\\r\\n margin-left: 12px;\\r\\n}\\r\\n \", \"\"]);\n// Exports\nexports.locals = {\n\t\"header\": \"iFviGZTr-jp4L1GSQW45n\",\n\t\"content\": \"Wjwees1kY_W1xtq4o-vNw\",\n\t\"footer\": \"_3SvTuGnz58ftka7RRE6BJv\"\n};\nmodule.exports = exports;\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nclass CSSVariables extends React.PureComponent{\r\n constructor(props) {\r\n super(props);\r\n this.el = null;\r\n\r\n this.setVariables = this.setVariables.bind(this);\r\n }\r\n\r\n setVariables(vars, nextVars) {\r\n vars = vars || {};\r\n nextVars = nextVars || {};\r\n\r\n var e = (this.props.root) ? document.querySelector(':root') : this.el;\r\n\r\n Object.keys(vars).forEach(k => {\r\n var name = '--' + k.split(/(?=[A-Z])/).map(k => k.toLowerCase()).join('-');\r\n e.style.removeProperty(name);\r\n });\r\n\r\n Object.keys(nextVars).forEach(k => {\r\n const value = nextVars[k];\r\n if (typeof value !== 'string')\r\n return;\r\n\r\n var name = '--' + k.split(/(?=[A-Z])/).map(k => k.toLowerCase()).join('-');\r\n e.style.setProperty(name, nextVars[k]);\r\n });\r\n }\r\n\r\n\r\n componentDidMount() {\r\n this.setVariables({}, this.props.vars);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n this.setVariables(this.props.vars, nextProps.vars);\r\n }\r\n\r\n render() {\r\n return
    this.el = el }>{ this.props.children }
    \r\n } \r\n}\r\n\r\n\r\nCSSVariables.propTypes = {\r\n vars : PropTypes.object,\r\n root : PropTypes.bool\r\n}\r\n\r\nexport default CSSVariables;","import axios from 'axios'\r\nimport { normalize } from 'normalizr'\r\n\r\nimport { competitionSchema, leaderboardSchema,fantasyTeamSchema, enrollmentSchema, userSchema, cupQualificationSchema } from '../../schemas';\r\nimport auth from '../../common/auth'\r\n\r\nimport * as types from './types';\r\n\r\nimport { shouldFetchItems, shouldFetchItem } from '../common'\r\nimport { safeget } from '../../common/utils';\r\n\r\nexport const enrollmentChange = (game, competition) => ({ type: types.ENROLLMENT_CHANGE, game, competition });\r\n\r\nconst invalidateUserCompetitions = (game) => ({ type: types.INVALIDATE_USER_COMPETITIONS, game });\r\n\r\n/* Fetch User Competition Leaderboards */\r\n\r\nconst fetchUserCompetitionsRequest = () => ({ type: types.FETCH_USER_COMPETITIONS_REQUEST });\r\nconst fetchUserCompetitionsSuccess = (payload) => ({ type: types.FETCH_USER_COMPETITIONS_SUCCESS, payload });\r\nconst fetchUserCompetitionsFailure = () => ({ type: types.FETCH_USER_COMPETITIONS_FAIL});\r\n\r\nconst fetchUserCompetitions = (game) => (dispatch) => { \r\n dispatch(fetchUserCompetitionsRequest());\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.get(`/games/${ game }/users/me/competitions?access_token=${ accessToken }`).then(response => {\r\n dispatch(fetchUserCompetitionsSuccess(normalize(response.data, [\r\n { \r\n competition : competitionSchema,\r\n teams : [fantasyTeamSchema]\r\n }\r\n ])));\r\n }, e => {\r\n dispatch(fetchUserCompetitionsFailure());\r\n });\r\n}\r\n\r\nexport const fetchUserCompetitionsIfNeeded = () => (dispatch, getState) => {\r\n const state = getState();\r\n const game = state.games.selected;\r\n \r\n if (shouldFetchItems(state.competition.competitions)) {\r\n dispatch(fetchUserCompetitions(game));\r\n }\r\n}\r\n\r\n/* Fetch User Competition Leaderboards */\r\n\r\nexport const fetchUserLeaderboards = (user, competition, round) => (dispatch) => { \r\n dispatch({ type: types.FETCH_USER_LEADERBOARDS_REQUEST, user, competition, round });\r\n\r\n axios.get(`/users/${ user }/competitions/${ competition }/leaderboards/${ round }`).then(response => {\r\n\r\n dispatch({ \r\n type: types.FETCH_USER_LEADERBOARDS_SUCCESS, \r\n user,\r\n competition,\r\n round, \r\n payload : normalize(response.data, [leaderboardSchema])\r\n });\r\n }, error => {\r\n dispatch({ type: types.FETCH_USER_LEADERBOARDS_FAILURE, user, competition, round });\r\n });\r\n}\r\n\r\n\r\n/* Find Competitions */\r\n\r\n\r\n/* Fetch User Competition Leaderboards */\r\n\r\nconst findCompetitionsRequest = () => ({ type: types.FIND_COMPETITIONS_REQUEST });\r\nconst findCompetitionsSuccess = (count, payload, links) => ({ type: types.FIND_COMPETITIONS_SUCCESS, count, payload, links });\r\nconst findCompetitionsFailure = () => ({ type: types.FIND_COMPETITIONS_FAIL });\r\n\r\nexport const findCompetitions = (game, query, view) => (dispatch) => { \r\n dispatch(findCompetitionsRequest());\r\n\r\n return axios.get(`/games/${ game }/competitions?query=${ query }&view=${ view }`).then(response => {\r\n dispatch(findCompetitionsSuccess(\r\n response.data.count, \r\n normalize(response.data.items, [{ competition : competitionSchema }]),\r\n response.data.links\r\n ));\r\n }, e => {\r\n dispatch(findCompetitionsFailure());\r\n });\r\n}\r\n\r\n\r\nconst findMoreCompetitionsRequest = () => ({ type: types.FIND_MORE_COMPETITIONS_REQUEST });\r\nconst findMoreCompetitionsSuccess = (count, payload, links) => ({ type: types.FIND_MORE_COMPETITIONS_SUCCESS, count, payload, links });\r\nconst findMoreCompetitionsFailure = () => ({ type: types.FIND_MORE_COMPETITIONS_FAIL });\r\n\r\nexport const findMoreCompetitions = () => (dispatch, getState) => { \r\n const { next } = getState().competition.search.links;\r\n if (next) {\r\n dispatch(findMoreCompetitionsRequest());\r\n\r\n return axios.get(next).then(response => {\r\n dispatch(findMoreCompetitionsSuccess(\r\n response.data.count, \r\n normalize(response.data.items, [{ competition : competitionSchema }]),\r\n response.data.links\r\n ));\r\n }, e => {\r\n dispatch(findMoreCompetitionsFailure());\r\n });\r\n }\r\n}\r\n\r\n\r\n\r\n/* Fetch User Standings */\r\n\r\nconst fetchStandingsRequest = (game) => ({ type: types.FETCH_STANDINGS_REQUEST, game });\r\nconst fetchStandingsSuccess = (game, payload) => ({ type: types.FETCH_STANDINGS_SUCCESS, game, payload });\r\nconst fetchStandingsFailure = (game) => ({ type: types.FETCH_STANDINGS_FAIL, game });\r\n\r\nconst fetchStandings = (game) => (dispatch) => { \r\n dispatch(fetchStandingsRequest(game));\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.get(`/games/${ game }/users/me/standings?access_token=${ accessToken }`).then(response => {\r\n dispatch(fetchStandingsSuccess(game, normalize(response.data, [leaderboardSchema])));\r\n }, e => {\r\n dispatch(fetchStandingsFailure(game, user));\r\n });\r\n}\r\n\r\n\r\n\r\nexport const fetchStandingsIfNeeded = (game) => (dispatch, getState) => {\r\n const state = getState();\r\n\r\n if (shouldFetchItems(state.competition.standings)) {\r\n dispatch(fetchStandings(game));\r\n }\r\n}\r\n\r\n\r\n\r\n/* Fetch User Qualifications */\r\n\r\nconst fetchQualificationsRequest = (game) => ({ type: types.FETCH_QUALIFICATIONS_REQUEST, game });\r\nconst fetchQualificationsSuccess = (game, payload) => ({ type: types.FETCH_QUALIFICATIONS_SUCCESS, game, payload });\r\nconst fetchQualificationsFailure = (game) => ({ type: types.FETCH_QUALIFICATIONS_FAIL, game });\r\n\r\nconst fetchQualifications = (game) => (dispatch) => { \r\n dispatch(fetchQualificationsRequest(game));\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.get(`/games/${ game }/users/me/qualifications?access_token=${ accessToken }`).then(response => {\r\n dispatch(fetchQualificationsSuccess(game, normalize(response.data, [cupQualificationSchema])));\r\n }, e => {\r\n dispatch(fetchQualificationsFailure(game));\r\n });\r\n}\r\n\r\nexport const fetchQualificationsIfNeeded = (game) => (dispatch, getState) => {\r\n const state = getState();\r\n \r\n \r\n if (shouldFetchItems(state.competition.qualifications)) {\r\n dispatch(fetchQualifications(game));\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n/* Create Competition */\r\n\r\nconst createCompetitionRequest = (game) => ({ type: types.CREATE_COMPETITION_REQUEST, game });\r\nconst createCompetitionSuccess = (game, item) => ({ type: types.CREATE_COMPETITION_SUCCESS, game, item });\r\nconst createCompetitionFailure = (game, e) => ({ type: types.CREATE_COMPETITION_FAIL, game, e });\r\n\r\nexport const createCompetition = (game, item) => (dispatch) => new Promise((resolve, reject) => { \r\n dispatch(createCompetitionRequest());\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.post(`/games/${ game }/competitions?access_token=${ accessToken }`, item).then(response => {\r\n \r\n dispatch(createCompetitionSuccess(game, item));\r\n dispatch(invalidateUserCompetitions());\r\n dispatch(fetchUserCompetitionsIfNeeded());\r\n \r\n\r\n resolve(response);\r\n }, e => {\r\n dispatch(createCompetitionFailure(game, e));\r\n reject(e);\r\n });\r\n})\r\n\r\n\r\n/* Delete Competition */\r\n\r\nconst deleteCompetitionRequest = (competitionId) => ({ type: types.DELETE_COMPETITION_REQUEST, competitionId });\r\nconst deleteCompetitionSuccess = (competitionId) => ({ type: types.DELETE_COMPETITION_SUCCESS, competitionId });\r\nconst deleteCompetitionFailure = (competitionId) => ({ type: types.DELETE_COMPETITION_FAIL, competitionId });\r\n\r\nexport const deleteCompetition = (competitionId) => (dispatch) => new Promise((resolve, reject) => { \r\n dispatch(deleteCompetitionRequest(competitionId));\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.delete(`/competitions/${ competitionId }?access_token=${ accessToken }`).then(() => {\r\n dispatch(deleteCompetitionSuccess(competitionId));\r\n resolve();\r\n }, e => {\r\n dispatch(deleteCompetitionFailure(competitionId));\r\n reject(e);\r\n });\r\n})\r\n\r\n\r\n\r\n/* Create Competition */\r\n\r\nconst updateCompetitionRequest = () => ({ type: types.UPDATE_COMPETITION_REQUEST });\r\nconst updateCompetitionSuccess = (item) => ({ type: types.UPDATE_COMPETITION_SUCCESS, item });\r\nconst updateCompetitionFailure = (e) => ({ type: types.UPDATE_COMPETITION_FAIL, e });\r\n\r\nexport const updateCompetition = (id, item) => (dispatch) => new Promise((resolve, reject) => { \r\n dispatch(updateCompetitionRequest());\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.put(`/competitions/${ id }?access_token=${ accessToken }`, item).then(response => {\r\n dispatch(updateCompetitionSuccess(item));\r\n dispatch(fetchCompetition(id));\r\n resolve(response);\r\n }, e => {\r\n dispatch(updateCompetitionFailure(e));\r\n reject(e);\r\n });\r\n})\r\n\r\n\r\n/* Fetch User Competition Enrollments */\r\n\r\nconst invalidateEnrollmentOptions = (competitionId) => ({ type: types.INVALIDATE_ENROLLMENT_OPTIONS, competitionId });\r\n\r\nconst fetchEnrollmentOptionsRequest = (competitionId) => ({ type: types.FETCH_ENROLLMENT_OPTIONS_REQUEST, competitionId });\r\nconst fetchEnrollmentOptionsSuccess = (competitionId, payload) => ({ type: types.FETCH_ENROLLMENT_OPTIONS_SUCCESS, competitionId, payload });\r\nconst fetchEnrollmentOptionsFailure = (competitionId) => ({ type: types.FETCH_ENROLLMENT_OPTIONS_FAIL, competitionId });\r\n\r\nexport const fetchEnrollmentOptions = (competitionId) => (dispatch) => { \r\n dispatch(fetchEnrollmentOptionsRequest(competitionId));\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.get(`/competitions/${ competitionId }/enrollment-options?access_token=${ accessToken }`).then(response => {\r\n dispatch(fetchEnrollmentOptionsSuccess(competitionId, normalize(response.data, {\r\n fantasyTeams : [fantasyTeamSchema]\r\n })\r\n ));\r\n }, e => {\r\n dispatch(fetchEnrollmentOptionsFailure(competitionId));\r\n });\r\n}\r\n\r\n\r\nexport const fetchEnrollmentOptionsIfNeeded = (competitionId) => (dispatch, getState) => {\r\n const state = safeget(getState().competition.byCompetition, [competitionId, 'enrollmentOptions']);\r\n \r\n if (shouldFetchItem(state)) {\r\n return dispatch(fetchEnrollmentOptions(competitionId));\r\n }\r\n}\r\n\r\n/* Create Competition */\r\n\r\nexport const joinCompetition = (competitionId, fantasyTeamId, password) => (dispatch) => new Promise((resolve, reject) => { \r\n\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n const item = {\r\n fantasyTeam : { id : fantasyTeamId },\r\n password\r\n };\r\n\r\n return axios.post(`/competitions/${ competitionId }/enrollments?access_token=${ accessToken }`, item).then(_ => {\r\n dispatch(invalidateUserCompetitions());\r\n dispatch(fetchUserCompetitionsIfNeeded());\r\n dispatch(fetchMyEnrollments(competitionId));\r\n dispatch(invalidateEnrollmentOptions(competitionId));\r\n\r\n resolve();\r\n }, e => {\r\n reject(e);\r\n });\r\n})\r\n\r\n\r\n\r\n\r\n/* Fetch Competition */\r\n\r\nconst fetchCompetitionRequest = () => ({ type: types.FETCH_COMPETITION_REQUEST });\r\nconst fetchCompetitionSuccess = (payload) => ({ type: types.FETCH_COMPETITION_SUCCESS, payload });\r\nconst fetchCompetitionFailure = () => ({ type: types.FETCH_COMPETITION_FAIL});\r\n\r\nexport const fetchCompetition = (id) => (dispatch) => new Promise((resolve, reject) => { \r\n dispatch(fetchCompetitionRequest());\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.get(`/competitions/${ id }/?access_token=${ accessToken }`).then(response => {\r\n \r\n dispatch(fetchCompetitionSuccess(normalize(response.data, competitionSchema)));\r\n resolve(response.data);\r\n }, e => {\r\n dispatch(fetchCompetitionFailure());\r\n reject(e);\r\n });\r\n})\r\n\r\nexport const fetchCompetitionIfNeeded = (id) => (dispatch, getState) => {\r\n const state = getState();\r\n\r\n if (shouldFetchItem(state.competition.competition)) {\r\n dispatch(fetchCompetition(id));\r\n }\r\n}\r\n\r\n/* Fetch Competition Enrollments */\r\n\r\nconst invalidateEnrollments = (competitionId) => ({ type: types.INVALIDATE_ENROLLMENTS, competitionId });\r\n\r\nconst fetchEnrollmentsRequest = (competitionId) => ({ type: types.FETCH_ENROLLMENTS_REQUEST, competitionId });\r\nconst fetchEnrollmentsSuccess = (competitionId, payload) => ({ type: types.FETCH_ENROLLMENTS_SUCCESS, competitionId, payload });\r\nconst fetchEnrollmentsFailure = (competitionId) => ({ type: types.FETCH_ENROLLMENTS_FAIL, competitionId });\r\n\r\nexport const fetchEnrollments = (competitionId, query) => (dispatch) => { \r\n dispatch(fetchEnrollmentsRequest(competitionId));\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.get(`/competitions/${ competitionId }/enrollments?query=${ query }&access_token=${ accessToken }`).then(response => {\r\n dispatch(\r\n fetchEnrollmentsSuccess(\r\n competitionId, \r\n normalize(response.data, {\r\n items : [enrollmentSchema]\r\n })\r\n )\r\n );\r\n }, e => {\r\n dispatch(fetchEnrollmentsFailure(competitionId));\r\n });\r\n}\r\n\r\nexport const fetchEnrollmentsIfNeeded = (competitionId, query) => (dispatch, getState) => new Promise((resolve, reject) => {\r\n const { enrollments } = getState().competition.byCompetition[competitionId] || { enrollments : { isFetching : false, item : null, didInvalidate : false } }\r\n \r\n if (shouldFetchItem(enrollments)) {\r\n dispatch(fetchEnrollments(competitionId, query)).then(() => resolve(), () => reject());\r\n }\r\n else {\r\n resolve();\r\n }\r\n});\r\n\r\n\r\n\r\nconst fetchMoreEnrollmentsRequest = (competitionId) => ({ type: types.FETCH_MORE_ENROLLMENTS_REQUEST, competitionId });\r\nconst fetchMoreEnrollmentsSuccess = (competitionId, payload) => ({ type: types.FETCH_MORE_ENROLLMENTS_SUCCESS, competitionId, payload });\r\nconst fetchMoreEnrollmentsFailure = (competitionId) => ({ type: types.FETCH_MORE_ENROLLMENTS_FAIL, competitionId });\r\n\r\nexport const fetchMoreEnrollments = (competitionId) => (dispatch, getState) => { \r\n const next = safeget(getState().competition.byCompetition, [competitionId, 'enrollments', 'item', 'links', 'next']);\r\n\r\n if (!next)\r\n return;\r\n\r\n dispatch(fetchMoreEnrollmentsRequest(competitionId));\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.get(`${ next }?access_token=${ accessToken }`).then(response => {\r\n dispatch(\r\n fetchMoreEnrollmentsSuccess(\r\n competitionId, \r\n normalize(response.data, {\r\n items : [enrollmentSchema]\r\n })\r\n )\r\n );\r\n }, e => {\r\n dispatch(fetchMoreEnrollmentsFailure(competitionId));\r\n });\r\n}\r\n\r\n\r\n/* Kick */\r\n\r\nexport const kick = (competitionId, fantasyTeamId, ban) => (dispatch) => new Promise((resolve, reject) => { \r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.post(`/competitions/${ competitionId }/teams/${ fantasyTeamId }/kick?access_token=${ accessToken }`, { ban }).then(_ => {\r\n dispatch(invalidateEnrollments(competitionId))\r\n resolve();\r\n }, e => {\r\n reject(e);\r\n });\r\n})\r\n\r\n\r\n/* Create Competition */\r\n\r\nconst inviteRequest = (competitionId, userId) => ({ type: types.INVITE_REQUEST, competitionId, userId });\r\nconst inviteSuccess = (competitionId, userId) => ({ type: types.INVITE_SUCCESS, competitionId, userId });\r\nconst inviteFailure = (competitionId, userId) => ({ type: types.INVITE_FAIL, competitionId, userId });\r\n\r\nexport const invite = (competitionId, userId) => (dispatch) => new Promise((resolve, reject) => { \r\n dispatch(inviteRequest(competitionId, userId));\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n axios.post(`/competitions/${ competitionId }/users/${ userId }/invitations?access_token=${ accessToken }`).then(response => {\r\n resolve(response);\r\n dispatch(inviteSuccess(competitionId, userId));\r\n }, e => {\r\n reject(e);\r\n dispatch(inviteFailure(competitionId, userId));\r\n \r\n });\r\n});\r\n\r\n\r\n/* Fetch Created Competition */\r\n\r\nconst fetchMyEnrollmentsRequest = (competitionId) => ({ type: types.FETCH_MY_ENROLLMENTS_REQUEST, competitionId });\r\nconst fetchMyEnrollmentsSuccess = (competitionId, payload) => ({ type: types.FETCH_MY_ENROLLMENTS_SUCCESS, competitionId, payload });\r\nconst fetchMyEnrollmentsFailure = (competitionId) => ({ type: types.FETCH_MY_ENROLLMENTS_FAIL, competitionId });\r\n\r\nexport const fetchMyEnrollments = (competitionId) => (dispatch) => { \r\n dispatch(fetchMyEnrollmentsRequest(competitionId));\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.get(`/users/me/competitions/${ competitionId }/enrollments?access_token=${ accessToken }`).then(response => {\r\n dispatch(fetchMyEnrollmentsSuccess(competitionId, \r\n normalize(response.data, [enrollmentSchema])\r\n ));\r\n }, e => {\r\n dispatch(fetchMyEnrollmentsFailure());\r\n });\r\n}\r\n\r\n/* Find Invitees */\r\n\r\n\r\n\r\n/* Resign */\r\n\r\nconst resignSuccess = (competitionId, fantasyTeamId) => ({ type: types.RESIGN_SUCCESS, competitionId, fantasyTeamId });\r\n\r\n\r\nexport const resign = (competitionId, fantasyTeamId) => (dispatch) => { \r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.delete(`/competitions/${ competitionId }/teams/${ fantasyTeamId }?access_token=${ accessToken }`).then(() => {\r\n dispatch(resignSuccess(competitionId, fantasyTeamId))\r\n dispatch(invalidateUserCompetitions());\r\n dispatch(fetchUserCompetitionsIfNeeded());\r\n dispatch(fetchMyEnrollments(competitionId));\r\n dispatch(fetchEnrollments(competitionId));\r\n dispatch(invalidateEnrollmentOptions(competitionId));\r\n \r\n }, e => {\r\n reject(e);\r\n });\r\n}\r\n\r\n\r\nexport const fetchShareUrl = (competitionId, language) => (dispatch) => new Promise((resolve, reject) => { \r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.get(`/competitions/${ competitionId }/share?access_token=${ accessToken }&language=${ language }`).then(response => {\r\n resolve(response.data);\r\n }, e => {\r\n reject();\r\n });\r\n})\r\n\r\n\r\n\r\n/* Invite From Other Competition */\r\n\r\nexport const inviteFromCompetition = (targetCompetitionId, sourceCompetitionId) => (dispatch) => { \r\n const accessToken = auth.getAccessToken();\r\n return axios.post(`/competitions/${ targetCompetitionId }/competitions/${ sourceCompetitionId }/invite?access_token=${ accessToken }`, {});\r\n}\r\n\r\n\r\n\r\n\r\n\r\nconst inviteAllRequest = () => ({ type: types.INVITE_ALL_REQUEST });\r\nconst inviteAllSuccess = () => ({ type: types.INVITE_ALL_SUCCESS });\r\nconst inviteAllFailure = () => ({ type: types.INVITE_ALL_FAIL });\r\n\r\nexport const inviteAll = () => (dispatch, getState) => new Promise((resolve, reject) => { \r\n const state = getState();\r\n const selectedOption = state.recruits.selectedOption;\r\n const option = state.recruits.options.find(o => o.id === selectedOption);\r\n\r\n if (option.links.invite) {\r\n dispatch(inviteAllRequest());\r\n const accessToken = auth.getAccessToken();\r\n\r\n const sep = option.links.invite.indexOf('?') > 0 ? '&' : '?';\r\n\r\n return axios.post(`${ option.links.invite }${ sep }access_token=${ accessToken }`).then(res => {\r\n \r\n dispatch(inviteAllSuccess());\r\n resolve(res);\r\n }, e => {\r\n dispatch(inviteAllFailure());\r\n reject();\r\n });\r\n }\r\n\r\n resolve(null);\r\n})\r\n\r\n/* */\r\n\r\nconst fetchMyCompetitionHistoryRequest = () => ({ type: types.FETCH_MY_COMPETITION_HISTORY_REQUEST });\r\nconst fetchMyCompetitionHistorySuccess = (payload) => ({ type: types.FETCH_MY_COMPETITION_HISTORY_SUCCESS, payload });\r\nconst fetchMyCompetitionHistoryFailure = () => ({ type: types.FETCH_MY_COMPETITION_HISTORY_FAIL });\r\n\r\nexport const fetchMyCompetitionHistory = (rel) => (dispatch, getState) => { \r\n \r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n let url = `/users/me/competitions/history?access_token=${ accessToken }`;\r\n if (rel) {\r\n const state = getState();\r\n const { data } = state.competition.competitionHistory;\r\n const { links } = data;\r\n url = `${ links[rel] }&access_token=${ accessToken }`;\r\n }\r\n\r\n dispatch(fetchMyCompetitionHistoryRequest());\r\n return axios.get(url).then(response => {\r\n dispatch(fetchMyCompetitionHistorySuccess(response.data));\r\n }, e => {\r\n dispatch(fetchMyCompetitionHistoryFailure());\r\n });\r\n}","export const FETCH_TOURNAMENT_SUSPENSIONS_REQUEST = 'tournament/suspensions/fetch/request';\r\nexport const FETCH_TOURNAMENT_SUSPENSIONS_SUCCESS = 'tournament/suspensions/fetch/success';\r\nexport const FETCH_TOURNAMENT_SUSPENSIONS_FAIL = 'tournament/suspensions/fetch/fail';\r\n","export const shouldFetchItems = (state) => {\r\n const { isFetching, didInvalidate, items } = state || { isFetching : false, didInvalidate : false, items : null};\r\n\r\n if (isFetching) {\r\n return false;\r\n }\r\n else if (!items) {\r\n return true;\r\n }\r\n else {\r\n return didInvalidate;\r\n }\r\n}\r\n\r\nexport const shouldFetchItem = (state) => {\r\n const { isFetching, didInvalidate, item } = state || { isFetching : false, didInvalidate : false, item : null};\r\n\r\n if (isFetching) {\r\n return false;\r\n }\r\n else if (!item) {\r\n return true;\r\n }\r\n else {\r\n return didInvalidate;\r\n }\r\n}","import React from 'react'\r\nimport styled from 'styled-components'\r\n\r\nimport {\r\n space, \r\n lineHeight,\r\n fontSize,\r\n fontStyle,\r\n size, \r\n color,\r\n typography,\r\n border,\r\n flexbox,\r\n system\r\n} from 'styled-system'\r\n\r\nconst StyledDynamicComponent = styled.div`\r\n ${ border }\r\n ${ space }\r\n ${ lineHeight }\r\n ${ fontSize }\r\n ${ fontStyle }\r\n ${ size }\r\n ${ color }\r\n ${ typography }\r\n ${ flexbox }\r\n ${system({ textTransform: true })}\r\n`;\r\n\r\nconst DynamicComponent = React.memo(({ tag = \"div\", children, ...props }) => {\r\n const WithComponent = StyledDynamicComponent.withComponent(tag);\r\n return { children }\r\n})\r\n\r\n\r\nexport default DynamicComponent;\r\n\r\n","import React, { useMemo } from 'react'\r\nimport styled from 'styled-components'\r\n\r\nimport DynamicComponent from './DynamicComponent'\r\nimport useTheme from './useTheme';\r\n\r\nconst theme = {\r\n textStyles : {\r\n tiny : {\r\n fontSize : '10px',\r\n lineHeight: '14px'\r\n },\r\n small : {\r\n fontSize : '11px',\r\n lineHeight : '13px'\r\n },\r\n regular : {\r\n fontSize: ['12px', '14px'],\r\n lineHeight: ['20px', '22px']\r\n },\r\n large : {\r\n fontSize : '20px',\r\n lineHeight : '24px',\r\n fontWeight: 'bold'\r\n },\r\n headline : {\r\n fontSize : '18px',\r\n lineHeight : '16px',\r\n fontWeight: 'bold',\r\n textTransform : 'uppercase'\r\n },\r\n canon : {\r\n as : 'h1',\r\n fontSize: ['32px', '44px'],\r\n lineHeight: ['36px', '48px']\r\n },\r\n trafalgar : {\r\n fontSize: ['24px', '32px'],\r\n lineHeight: [28, 36]\r\n },\r\n doublePica : {\r\n fontSize: [20, 24],\r\n lineHeight: [24, 28]\r\n },\r\n greatPrimer : {\r\n fontSize: [18, 20],\r\n lineHeight: [22, 24]\r\n },\r\n bodyCopy : {\r\n fontSize: ['12px', '14px'],\r\n lineHeight: ['20px', '22px']\r\n },\r\n pica : {\r\n fontSize: '16px',\r\n lineHeight: '20px'\r\n },\r\n longPrimer : {\r\n fontSize: '14px',\r\n lineHeight: '18px'\r\n },\r\n brevier : {\r\n fontSize: ['11px', '12px'],\r\n lineHeight: ['16px', '16px']\r\n },\r\n minion : {\r\n fontSize: [10, 12],\r\n lineHeight: [14, 16],\r\n textTransform : 'uppercase'\r\n }\r\n }\r\n}\r\n\r\nconst { tiny, small, regular, large, headline } = theme.textStyles;\r\n\r\nexport const LargeText = props => (\r\n \r\n\r\n \r\n { props.children }\r\n \r\n)\r\n\r\nexport const RegularText = props => (\r\n \r\n { props.children }\r\n \r\n)\r\n\r\nexport const SmallText = props => (\r\n \r\n { props.children }\r\n \r\n)\r\n\r\nexport const TinyText = props => (\r\n \r\n { props.children }\r\n \r\n)\r\n\r\n\r\nexport const Headline = props => (\r\n \r\n { props.children }\r\n \r\n)\r\n\r\nexport const Text = ({ size, children, ...otherProps }) => {\r\n var theme = useTheme();\r\n\r\n const textStyle = useMemo(() => {\r\n switch (size) {\r\n case 'xs':\r\n return theme.textStyles.textxSmall;\r\n case 's':\r\n return theme.textStyles.textSmall\r\n case 'm':\r\n return theme.textStyles.textMedium;\r\n case 'l':\r\n return theme.textStyles.textLarge;\r\n }\r\n }, [size, theme]);\r\n\r\n return (\r\n \r\n { children }\r\n \r\n )\r\n}\r\n\r\n\r\n\r\n\r\nText.defaultProps = {\r\n size : 'm'\r\n}\r\n\r\n\r\nexport const OnelineText = styled(Text)`\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n`\r\n\r\n\r\nexport const TextSmall = props => {\r\n var theme = useTheme();\r\n\r\n return (\r\n \r\n { props.children }\r\n \r\n )\r\n}\r\n\r\n\r\nexport const TextMedium = props => {\r\n var theme = useTheme();\r\n\r\n return (\r\n \r\n { props.children }\r\n \r\n )\r\n}\r\n\r\nexport const TextLarge = props => {\r\n var theme = useTheme();\r\n\r\n return (\r\n \r\n { props.children }\r\n \r\n )\r\n}\r\n\r\n\r\n\r\n/* BBC Gel */\r\n\r\nexport const Canon = props => (\r\n \r\n { props.children }\r\n \r\n)\r\n\r\nexport const Trafalgar = props => (\r\n \r\n { props.children }\r\n \r\n)\r\n\r\nexport const DoublePica = props => (\r\n \r\n { props.children }\r\n \r\n)\r\n\r\nexport const GreatPrimer = props => (\r\n \r\n { props.children }\r\n \r\n)\r\n\r\nexport const BodyCopy = props => (\r\n \r\n { props.children }\r\n \r\n)\r\n\r\nexport const Pica = props => {\r\n var theme = useTheme();\r\n\r\n return (\r\n \r\n { props.children }\r\n \r\n )\r\n}\r\n\r\nexport const LongPrimer = props => (\r\n \r\n { props.children }\r\n \r\n)\r\n\r\nexport const Brevier = props => (\r\n \r\n { props.children }\r\n \r\n)\r\n\r\nexport const Minion = props => (\r\n \r\n { props.children }\r\n \r\n)\r\n\r\n\r\n\r\nexport const Meta = styled.span`\r\n color: var(--meta-text-color);\r\n`\r\n\r\n\r\n\r\nexport const Excerpt = ({ text, maximumLength, ...otherProps }) => {\r\n return (\r\n \r\n { text.substring(0, maximumLength) }\r\n { text.length > maximumLength && '...' }\r\n \r\n )\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"negative\":\"Typography__negative__3aG6o\",\"meta\":\"Typography__meta__14tNy\"};","module.exports = \"\"","import axios from 'axios';\r\n\r\nexport default {\r\n authenticated : false,\r\n auth : null,\r\n isAuthenticating : false,\r\n\r\n signin() {\r\n this.isAuthenticating = true;\r\n \r\n return new Promise((resolve, reject) => {\r\n axios({ method: 'post', url: window.swush.tokenEndpoint, withCredentials: true }).then(response => {\r\n localStorage.setItem('auth', JSON.stringify(response.data));\r\n this.authenticated = true;\r\n this.auth = response.data;\r\n this.isAuthenticating = false;\r\n\r\n resolve(response.data);\r\n }, () => {\r\n localStorage.removeItem('auth');\r\n this.authenticated = false;\r\n this.auth = null;\r\n this.isAuthenticating = false;\r\n\r\n reject();\r\n });\r\n })\r\n },\r\n\r\n signout : function () {\r\n localStorage.removeItem('auth');\r\n this.authenticated = false\r\n this.auth = null;\r\n },\r\n\r\n loadAuth : function() {\r\n var auth = JSON.parse(localStorage.getItem('auth'));\r\n if (auth) {\r\n this.authenticated = true;\r\n this.auth = auth;\r\n }\r\n else {\r\n this.authenticated = false; \r\n this.auth = null; \r\n }\r\n },\r\n\r\n setAuth : function(auth) {\r\n localStorage.setItem('auth', JSON.stringify(auth));\r\n this.authenticated = true;\r\n this.auth = auth;\r\n this.isAuthenticating = false;\r\n },\r\n\r\n getAccessToken() {\r\n return this.auth ? this.auth.token : null\r\n },\r\n\r\n getUserId () {\r\n return this.auth ? this.auth.userId : null\r\n }\r\n}\r\n","module.exports = \"\"","module.exports = \"\"","export const SELECT_RECRUITMENT_OPTION = 'SELECT_RECRUITMENT_OPTION';\r\n\r\nexport const FETCH_RECRUITS_REQUEST = 'FETCH_RECRUITS_REQUEST';\r\nexport const FETCH_RECRUITS_SUCCESS = 'FETCH_RECRUITS_SUCCESS';\r\nexport const FETCH_RECRUITS_FAIL = 'FETCH_RECRUITS_FAIL';\r\n\r\nexport const FETCH_MORE_RECRUITS_REQUEST = 'FETCH_MORE_RECRUITS_REQUEST';\r\nexport const FETCH_MORE_RECRUITS_SUCCESS = 'FETCH_MORE_RECRUITS_SUCCESS';\r\nexport const FETCH_MORE_RECRUITS_FAIL = 'FETCH_MORE_RECRUITS_FAIL';\r\n\r\n","export default __webpack_public_path__ + \"roboto-v27-latin-regular.4673b4537a84c7f7a130799aa6af329b.woff2\";","module.exports = \"\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"table\":\"Table__table__nyOli\",\"fixed\":\"Table__fixed__1xpoo\",\"left\":\"Table__left__2G1cZ\",\"right\":\"Table__right__2bemi\",\"center\":\"Table__center__3wGrR\",\"highlight\":\"Table__highlight__U8VTJ\",\"compact\":\"Table__compact__2vKUa\",\"active\":\"Table__active__34e0O\",\"disabled\":\"Table__disabled__2RIl3\",\"clickable\":\"Table__clickable__1_etM\"};","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","import axios from 'axios'\r\nimport { normalize } from 'normalizr'\r\n\r\nimport { notificationSchema } from '../../schemas';\r\nimport auth from '../../common/auth'\r\n\r\nimport * as types from './types';\r\n\r\n/* Fetch notifications */\r\n\r\nconst fetchNotificationsRequest = (page, pageSize) => ({ type: types.FETCH_NOTIFICATIONS_REQUEST, page, pageSize });\r\nconst fetchNotificationsSuccess = (page, pageSize, count, payload) => ({ type: types.FETCH_NOTIFICATIONS_SUCCESS, page, pageSize, count, payload });\r\nconst fetchNotificationsFailure = (page, pageSize) => ({ type: types.FETCH_NOTIFICATIONS_FAIL, page, pageSize });\r\n\r\nconst fetchNotifications = (page, pageSize) => (dispatch) => { \r\n dispatch(fetchNotificationsRequest(page, pageSize));\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.get(`/users/me/notifications?page=${ page }&pageSize=${ pageSize }&access_token=${ accessToken }`).then(response => {\r\n const count = parseInt(response.headers['x-pagination-count']);\r\n dispatch(fetchNotificationsSuccess(page, pageSize, count, normalize(response.data, [notificationSchema])));\r\n }, e => {\r\n dispatch(fetchNotificationsFailure(page, pageSize));\r\n });\r\n}\r\n\r\nconst shouldFetchNotifications = (state, page, pageSize) => {\r\n const s = state.notification.notifications;\r\n\r\n if (s.page !== page || s.pageSize != pageSize)\r\n return true;\r\n else if (s.isFetching) {\r\n return false;\r\n }\r\n else if (!s.items) {\r\n return true;\r\n }\r\n else {\r\n return s.didInvalidate;\r\n }\r\n}\r\n\r\nexport const fetchNotificationsIfNeeded = (page, pageSize) => (dispatch, getState) => {\r\n if (shouldFetchNotifications(getState(), page, pageSize)) {\r\n dispatch(fetchNotifications(page, pageSize));\r\n }\r\n}\r\n\r\n/* Invote notification */\r\n\r\nconst invokeNotificationRequest = (id) => ({ type: types.INVOKE_NOTIFICATION_REQUEST, id });\r\nconst invokeNotificationSuccess = (id, payload) => ({ type: types.INVOKE_NOTIFICATION_SUCCESS, id, payload });\r\nconst invokeNotificationFailure = (id) => ({ type: types.INVOKE_NOTIFICATION_FAIL, id });\r\n\r\nexport const invokeNotification = (id) => (dispatch) => new Promise((resolve, reject) => { \r\n dispatch(invokeNotificationRequest(id));\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.put(`/users/me/notifications/${ id }/invoke?access_token=${ accessToken }`).then(response => {\r\n dispatch(invokeNotificationSuccess(id, response.data));\r\n resolve(response.data);\r\n }, e => {\r\n dispatch(invokeNotificationFailure(id));\r\n reject(e);\r\n });\r\n})\r\n\r\n\r\n/* Acknowledge */\r\n\r\nconst acknowledgeNotificationsRequest = () => ({ type: types.ACKNOWLEDGE_NOTIFICATIONS_REQUEST });\r\nconst acknowledgeNotificationsSuccess = (payload) => ({ type: types.ACKNOWLEDGE_NOTIFICATIONS_SUCCESS, payload });\r\nconst acknowledgeNotificationsFailure = () => ({ type: types.ACKNOWLEDGE_NOTIFICATIONS_FAIL });\r\n\r\nexport const acknowledgeNotifications = () => (dispatch) => new Promise((resolve, reject) => { \r\n dispatch(acknowledgeNotificationsRequest());\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.post(`/users/me/notifications/acknowledge?access_token=${ accessToken }`).then(response => {\r\n dispatch(acknowledgeNotificationsSuccess(response.data));\r\n resolve(response.data);\r\n }, e => {\r\n dispatch(acknowledgeNotificationsFailure());\r\n reject(e);\r\n });\r\n})\r\n\r\n\r\n\r\nexport const invalidateNotifications = () => ({ type: types.INVALIDATE_NOTIFICATIONS });\r\n\r\n/* Mark notifications read */\r\n\r\nconst markNotificationsReadRequest = () => ({ type: types.MARK_NOTIFICATIONS_READ_REQUEST });\r\nconst markNotificationsReadSuccess = (payload) => ({ type: types.MARK_NOTIFICATIONS_READ_SUCCESS, payload });\r\nconst markNotificationsReadFailure = () => ({ type: types.MARK_NOTIFICATIONS_READ_FAIL });\r\n\r\nexport const markNotificationsRead = () => (dispatch) => new Promise((resolve, reject) => { \r\n dispatch(markNotificationsReadRequest());\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.post(`/users/me/notifications/markread?access_token=${ accessToken }`).then(response => {\r\n dispatch(markNotificationsReadSuccess(response.data));\r\n dispatch(invalidateNotifications());\r\n resolve(response.data);\r\n }, e => {\r\n dispatch(markNotificationsReadFailure());\r\n reject(e);\r\n });\r\n})\r\n\r\n/* */\r\n\r\n//const xinvalidateNotifications = (payload) => ({ type: types.INVALIDATE_NOTIFICATIONS, payload });\r\nconst _wsOnNotification = (payload) => ({ type: types.WS_NOTIFICATION, payload });\r\n\r\nexport const wsOnNotification = (notification) => (dispatch) => { \r\n const normalized = normalize(notification, notificationSchema);\r\n return dispatch(_wsOnNotification(normalized));\r\n}\r\n","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\nimport styles from './Button.scss'\r\n\r\nconst ButtonBase = ({ primary, transparent, outline, large, small, tiny, inline, group, disabled, nopadding, children }) => {\r\n const className = classNames(\r\n styles.button,\r\n { \r\n [styles.primary] : primary,\r\n [styles.transparent] : transparent,\r\n [styles.outline] : outline,\r\n \r\n [styles.large] : large,\r\n [styles.small] : small,\r\n [styles.tiny] : tiny,\r\n \r\n [styles.inline] : inline,\r\n [styles.group] : group,\r\n\r\n [styles.disabled] : disabled,\r\n [styles.nopadding] : nopadding\r\n }\r\n );\r\n\r\n return children(className);\r\n}\r\n\r\nButtonBase.propTypes = {\r\n \r\n primary : PropTypes.bool,\r\n transparent : PropTypes.bool,\r\n outline : PropTypes.bool,\r\n\r\n large : PropTypes.bool,\r\n small : PropTypes.bool,\r\n tiny : PropTypes.bool,\r\n\r\n inline : PropTypes.bool,\r\n group : PropTypes.bool,\r\n\r\n disabled : PropTypes.bool,\r\n nopadding : PropTypes.bool\r\n \r\n}\r\n\r\nexport default ButtonBase;","export const FETCH_NOTIFICATIONS_REQUEST = 'notifications/fetch/request';\r\nexport const FETCH_NOTIFICATIONS_SUCCESS = 'notifications/fetch/success';\r\nexport const FETCH_NOTIFICATIONS_FAIL = 'notifications/fetch/fail';\r\n\r\nexport const INVOKE_NOTIFICATION_REQUEST = 'notification/invoke/request';\r\nexport const INVOKE_NOTIFICATION_SUCCESS = 'notification/invoke/success';\r\nexport const INVOKE_NOTIFICATION_FAIL = 'notification/invoke/fail';\r\n\r\n\r\nexport const MARK_NOTIFICATIONS_READ_REQUEST = 'notifications/markread/request';\r\nexport const MARK_NOTIFICATIONS_READ_SUCCESS = 'notifications/markread/success';\r\nexport const MARK_NOTIFICATIONS_READ_FAIL = 'notifications/markread/fail';\r\n\r\nexport const ACKNOWLEDGE_NOTIFICATIONS_REQUEST = 'notifications/acknowledge/request';\r\nexport const ACKNOWLEDGE_NOTIFICATIONS_SUCCESS = 'notifications/acknowledge/success';\r\nexport const ACKNOWLEDGE_NOTIFICATIONS_FAIL = 'notifications/acknowledge/fail';\r\n\r\nexport const INVALIDATE_NOTIFICATIONS = 'notifications/invalidate'\r\n\r\nexport const WS_NOTIFICATION = 'notifications/ws'","module.exports = \"\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"list\":\"MatchCard__list__38PU5\",\"groupHeading\":\"MatchCard__groupHeading__3RmK9\",\"matchCard\":\"MatchCard__matchCard__1FXtv\",\"current\":\"MatchCard__current__134fq\",\"post\":\"MatchCard__post__26Jeb\",\"round\":\"MatchCard__round__S-J84\",\"content\":\"MatchCard__content__3wENZ\",\"progress\":\"MatchCard__progress__2gb94\",\"footer\":\"MatchCard__footer__2ykzy\",\"live\":\"MatchCard__live__1QK7F\",\"icon\":\"MatchCard__icon__12D4e\",\"simpleEvent\":\"MatchCard__simpleEvent__3akmR\",\"title\":\"MatchCard__title__3TRUd\",\"versus\":\"MatchCard__versus__1oeeO\",\"participants\":\"MatchCard__participants__2YUR9\",\"group\":\"MatchCard__group__3drJH\",\"team\":\"MatchCard__team__CwRTu\",\"teamIcon\":\"MatchCard__teamIcon__OouC-\",\"scoreContainer\":\"MatchCard__scoreContainer__3a_G_\",\"score\":\"MatchCard__score__2vlg-\",\"status\":\"MatchCard__status__3-X3O\",\"unread\":\"MatchCard__unread__4Xiht\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"scrollTable\":\"ScrollTable__scrollTable__1Rxda\",\"left\":\"ScrollTable__left__3q8lK\",\"right\":\"ScrollTable__right__fTmdH\",\"label\":\"ScrollTable__label__20I4n\"};","import axios from 'axios'\r\nimport { normalize } from 'normalizr'\r\n\r\nimport { messageBoardPostSchema, messageBoardSchema } from '../../schemas';\r\nimport auth from '../../common/auth'\r\nimport * as types from './types';\r\nimport { shouldFetchItem, shouldFetchItems } from '../common'\r\n\r\nimport { safeget } from 'utils';\r\n\r\nimport ws from '../../common/WebSocketClient'\r\n\r\n/* Fetch Posts */\r\n\r\nconst fetchPostsRequest = (messageBoardId) => ({ type: types.FETCH_POSTS_REQUEST, messageBoardId });\r\nconst fetchPostsSuccess = (messageBoardId, payload) => ({ type: types.FETCH_POSTS_SUCCESS, messageBoardId, payload });\r\nconst fetchPostsFailure = (messageBoardId) => ({ type: types.FETCH_POSTS_FAIL, messageBoardId });\r\n\r\nconst fetchPosts = (messageBoardId) => (dispatch) => { \r\n dispatch(fetchPostsRequest(messageBoardId));\r\n\r\n const accessToken = auth.getAccessToken();\r\n return axios.get(`/messageboards/${ messageBoardId }/posts?access_token=${ accessToken }&embed=user`).then(response => {\r\n \r\n dispatch(fetchPostsSuccess(messageBoardId, normalize(response.data, \r\n {\r\n items : [messageBoardPostSchema]\r\n }\r\n )));\r\n }, e => {''\r\n dispatch(fetchPostsFailure(messageBoardId));\r\n });\r\n}\r\n\r\nexport const fetchPostsIfNeeded = (messageBoardId) => (dispatch, getState) => {\r\n const state = getState();\r\n \r\n if (shouldFetchItems(safeget(state.messageBoard, ['byMessageBoard', messageBoardId, 'posts']))) {\r\n dispatch(fetchPosts(messageBoardId));\r\n }\r\n}\r\n\r\n/* Fetch Posts */\r\n\r\nconst fetchMorePostsRequest = (messageBoardId) => ({ type: types.FETCH_MORE_POSTS_REQUEST, messageBoardId });\r\nconst fetchMorePostsSuccess = (messageBoardId, payload) => ({ type: types.FETCH_MORE_POSTS_SUCCESS, messageBoardId, payload });\r\nconst fetchMorePostsFailure = (messageBoardId) => ({ type: types.FETCH_MORE_POSTS_FAIL, messageBoardId });\r\n\r\nexport const fetchMorePosts = (messageBoardId) => (dispatch, getState) => { \r\n\r\n \r\n const { posts } = getState().messageBoard.byMessageBoard[messageBoardId];\r\n const { links } = posts || { links : {} };\r\n \r\n dispatch(fetchMorePostsRequest(messageBoardId));\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.get(`${ links.next }&access_token=${ accessToken }&embed=user`).then(response => {\r\n dispatch(fetchMorePostsSuccess(messageBoardId, normalize(response.data, {\r\n items : [messageBoardPostSchema]\r\n })));\r\n }, e => {''\r\n dispatch(fetchMorePostsFailure(messageBoardId));\r\n });\r\n}\r\n\r\n/* Invalidate posts */\r\n\r\nexport const invalidatePosts = (messageBoardId) => ({ type: types.INVALIDATE_POSTS, messageBoardId });\r\n\r\n/* Create post */\r\n\r\nconst createPostRequest = (messageBoardId) => ({ type: types.CREATE_POST_REQUEST, messageBoardId });\r\nconst createPostSuccess = (messageBoardId, payload) => ({ type: types.CREATE_POST_SUCCESS, messageBoardId, payload });\r\nconst createPostFailure = (messageBoardId) => ({ type: types.CREATE_POST_FAIL, messageBoardId });\r\n\r\nexport const createPost = (messageBoardId, data) => (dispatch) => { \r\n dispatch(createPostRequest(messageBoardId));\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.post(`/messageboards/${ messageBoardId }/posts?access_token=${ accessToken }&embed=user`, data).then(response => {\r\n dispatch(createPostSuccess(messageBoardId, normalize(response.data, messageBoardPostSchema)));\r\n }).catch(() => {\r\n dispatch(createPostFailure(messageBoardId));\r\n });\r\n}\r\n\r\n\r\n/*\r\nexport const createPost = (messageBoardId, data) => (dispatch) => { \r\n dispatch(createPostRequest(messageBoardId));\r\n\r\n ws.connection.invoke('SendToMessageBoard', messageBoardId, null, data.text).then((data) => {\r\n dispatch(createPostSuccess(messageBoardId, normalize(data, messageBoardPostSchema)));\r\n }).catch(() => {\r\n dispatch(createPostFailure(messageBoardId));\r\n });\r\n}\r\n*/\r\n\r\n/* Fetch Replies */\r\n\r\nconst fetchRepliesRequest = (messageBoardId, postId) => ({ type: types.FETCH_REPLIES_REQUEST, messageBoardId, postId });\r\nconst fetchRepliesSuccess = (messageBoardId, postId, payload) => ({ type: types.FETCH_REPLIES_SUCCESS, messageBoardId, postId, payload });\r\nconst fetchRepliesFailure = (messageBoardId, postId) => ({ type: types.FETCH_REPLIES_FAIL, messageBoardId, postId });\r\n\r\nconst fetchReplies = (messageBoardId, postId) => (dispatch) => { \r\n dispatch(fetchRepliesRequest(messageBoardId, postId));\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.get(`/messageboards/${ messageBoardId }/posts/${ postId }/replies?access_token=${ accessToken }&embed=user`).then(response => {\r\n dispatch(fetchRepliesSuccess(messageBoardId, postId, normalize(response.data, {\r\n items : [messageBoardPostSchema]\r\n })));\r\n }, e => {\r\n dispatch(fetchRepliesFailure(messageBoardId, postId));\r\n });\r\n}\r\n\r\nconst shouldFetchReplies = (state) => {\r\n const { isFetching, didFetch, didInvalidate, items } = state || { isFetching : false, didInvalidate : false, items : null, didFetch : false};\r\n\r\n if (isFetching) { \r\n return false;\r\n }\r\n else if (!didFetch) {\r\n return true;\r\n }\r\n else {\r\n return didInvalidate;\r\n }\r\n}\r\n\r\nexport const fetchRepliesIfNeeded = (messageBoardId, postId) => (dispatch, getState) => new Promise((resolve, reject) => {\r\n const state = getState();\r\n\r\n const { byPost } = state.messageBoard.byMessageBoard[messageBoardId] || { byPost : null };\r\n \r\n const { replies } = byPost || { replies : null }\r\n \r\n \r\n if (shouldFetchReplies(replies)) {\r\n dispatch(fetchReplies(messageBoardId, postId)).then(\r\n () => resolve(),\r\n () => reject()\r\n );\r\n } else {\r\n resolve();\r\n }\r\n})\r\n\r\n\r\n/* Fetch More Replies */\r\n\r\nconst fetchMoreRepliesRequest = (messageBoardId, postId) => ({ type: types.FETCH_MORE_REPLIES_REQUEST, messageBoardId, postId });\r\nconst fetchMoreRepliesSuccess = (messageBoardId, postId, payload) => ({ type: types.FETCH_MORE_REPLIES_SUCCESS, messageBoardId, postId, payload });\r\nconst fetchMoreRepliesFailure = (messageBoardId, postId) => ({ type: types.FETCH_MORE_REPLIES_FAIL, messageBoardId, postId });\r\n\r\nexport const fetchMoreReplies = (messageBoardId, postId) => (dispatch, getState) => { \r\n\r\n const links = safeget(getState(), ['messageBoard', 'byMessageBoard', messageBoardId, 'repliesByPost', postId, 'links'])\r\n \r\n dispatch(fetchMoreRepliesRequest(messageBoardId, postId));\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.get(`${ links.next }&access_token=${ accessToken }&embed=user`).then(response => {\r\n dispatch(fetchMoreRepliesSuccess(messageBoardId, postId, normalize(response.data, {\r\n items : [messageBoardPostSchema]\r\n })));\r\n }, e => {''\r\n dispatch(fetchMoreRepliesFailure(messageBoardId, postId));\r\n });\r\n}\r\n\r\n\r\n/* Create Reply */\r\n\r\nconst createReplyRequest = (messageBoardId, postId) => ({ type: types.CREATE_REPLY_REQUEST, messageBoardId, postId });\r\nconst createReplySuccess = (messageBoardId, postId, payload) => ({ type: types.CREATE_REPLY_SUCCESS, messageBoardId, postId, payload });\r\nconst createReplyFailure = (messageBoardId, postId) => ({ type: types.CREATE_REPLY_FAIL, messageBoardId, postId });\r\n\r\nexport const createReply = (messageBoardId, postId, data) => (dispatch) => { \r\n dispatch(createReplyRequest(messageBoardId, postId));\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.post(`/messageboards/${ messageBoardId }/posts/${ postId }/replies?access_token=${ accessToken }&embed=user`, data).then(response => {\r\n dispatch(createReplySuccess(messageBoardId, postId, normalize(response.data, messageBoardPostSchema)));\r\n }).catch(() => {\r\n dispatch(createReplyFailure(messageBoardId, postId));\r\n });\r\n}\r\n\r\n/* Fetch Messageboard */\r\n\r\nconst fetchMessageBoardRequest = (messageBoardId) => ({ type: types.FETCH_MESSAGEBOARD_REQUEST, messageBoardId });\r\nconst fetchMessageBoardSuccess = (messageBoardId, payload) => ({ type: types.FETCH_MESSAGEBOARD_SUCCESS, messageBoardId, payload });\r\nconst fetchMessageBoardFailure = (messageBoardId) => ({ type: types.FETCH_MESSAGEBOARD_FAIL, messageBoardId });\r\n\r\nconst fetchMessageBoard = (messageBoardId) => (dispatch) => { \r\n dispatch(fetchMessageBoardRequest(messageBoardId));\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.get(`/messageboards/${ messageBoardId }?access_token=${ accessToken }`).then(response => {\r\n dispatch(fetchMessageBoardSuccess(messageBoardId, normalize(response.data, messageBoardSchema)));\r\n }, e => {''\r\n dispatch(fetchMessageBoardFailure(messageBoardId));\r\n });\r\n}\r\n\r\nexport const fetchMessageBoardIfNeeded = (messageBoardId) => (dispatch, getState) => {\r\n const state = getState();\r\n \r\n if (shouldFetchItem(state.messageBoard.byId[messageBoardId])) {\r\n dispatch(fetchMessageBoard(messageBoardId));\r\n }\r\n}\r\n\r\nexport const invalidateMessageBoard = (messageBoardId) => ({ type: types.INVALIDATE_MESSAGEBOARD, messageBoardId });\r\n\r\n\r\n/* Mark messageboard as read */\r\n\r\nconst markMessageBoardReadRequest = (messageBoardId) => ({ type: types.MARK_MESSAGEBOARD_READ_REQUEST, messageBoardId });\r\nconst markMessageBoardReadSuccess = (messageBoardId, payload) => ({ type: types.MARK_MESSAGEBOARD_READ_SUCCESS, messageBoardId });\r\nconst markMessageBoardReadFailure = (messageBoardId) => ({ type: types.MARK_MESSAGEBOARD_READ_FAIL, messageBoardId });\r\n\r\nexport const markMessageBoardRead = (messageBoardId) => (dispatch) => { \r\n dispatch(markMessageBoardReadRequest(messageBoardId));\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.post(`/messageboards/${ messageBoardId }/mark-read?access_token=${ accessToken }`).then(response => {\r\n dispatch(markMessageBoardReadSuccess(messageBoardId));\r\n }, e => {\r\n dispatch(markMessageBoardReadFailure(messageBoardId));\r\n });\r\n}\r\n\r\n/* Delete Post */\r\n\r\nconst deletePostRequest = (messageBoardId, postId, parentPostId) => ({ type: types.DELETE_POST_REQUEST, messageBoardId, postId, parentPostId });\r\nconst deletePostSuccess = (messageBoardId, postId, parentPostId) => ({ type: types.DELETE_POST_SUCCESS, messageBoardId, postId, parentPostId });\r\nconst deletePostFailure = (messageBoardId, postId, parentPostId) => ({ type: types.DELETE_POST_FAIL, messageBoardId, postId, parentPostId });\r\n\r\nexport const deletePost = (messageBoardId, postId, parentPostId) => (dispatch) => new Promise((resolve, reject) => { \r\n dispatch(deletePostRequest(messageBoardId, postId, parentPostId));\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n axios.delete(`/messageboards/${ messageBoardId }/posts/${ postId }?access_token=${ accessToken }`).then(response => {\r\n dispatch(deletePostSuccess(messageBoardId, postId, parentPostId));\r\n resolve();\r\n }, e => {\r\n \r\n dispatch(deletePostFailure(messageBoardId, postId, parentPostId));\r\n reject();\r\n });\r\n})\r\n\r\n/* Report Post */\r\n\r\nexport const reportPost = (messageBoardId, postId, request) => (dispatch) => new Promise((resolve, reject) => { \r\n const accessToken = auth.getAccessToken();\r\n\r\n axios.post(`/messageboards/${ messageBoardId }/posts/${ postId }/report?access_token=${ accessToken }`, request).then(response => {\r\n resolve();\r\n }, e => {\r\n reject();\r\n });\r\n})\r\n\r\n\r\n\r\n/**/\r\n\r\nconst subscribeMessageBoard = (messageBoardId) => ({ type: types.SUBSCRIBE, messageBoardId });\r\nconst unsubscribeMessageBoard = (messageBoardId) => ({ type: types.UNSUBSCRIBE, messageBoardId });\r\n\r\nexport const subscribe = (messageBoardId) => (dispatch, getState) => { \r\n const subscriptions = getState().messageBoard.subscriptions;\r\n\r\n if (subscriptions.indexOf(messageBoardId) < 0) {\r\n\r\n setTimeout(() => {\r\n ws.connection.send('subscribeMessageBoard', messageBoardId).then(() => {\r\n dispatch(subscribeMessageBoard(messageBoardId));\r\n })\r\n }, 1000); // gagh\r\n }\r\n};\r\n\r\nexport const unsubscribe = (messageBoardId) => (dispatch, getState) => { \r\n const subscriptions = getState().messageBoard.subscriptions;\r\n\r\n if (subscriptions.indexOf(messageBoardId) >= 0) {\r\n ws.connection.send('unsubscribeMessageBoard', messageBoardId).then(() => {\r\n dispatch(unsubscribeMessageBoard(messageBoardId));\r\n })\r\n }\r\n};\r\n\r\n\r\n\r\n\r\n\r\n/* Invalidate posts */\r\n\r\nexport const applyPendingPosts = (messageBoardId) => ({ type: types.APPLY_PENDING_POSTS, messageBoardId });\r\nexport const applyPendingReplies = (messageBoardId, postId) => ({ type: types.APPLY_PENDING_REPLIES, messageBoardId, postId });\r\n\r\nconst wsOnNewPostReceived = (messageBoardId, postId, payload) => ({ type: types.WS_NEW_POST, messageBoardId, postId, payload });\r\n\r\n\r\n\r\nexport const wsOnNewPost = (messageBoardId, postId, post) => (dispatch, getState) => { \r\n const userId = auth.getUserId();\r\n\r\n if (userId !== post.user.id) {\r\n dispatch(wsOnNewPostReceived(messageBoardId, postId, normalize(post, messageBoardPostSchema)))\r\n }\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n","module.exports = \"\"","module.exports = \"\"","export default __webpack_public_path__ + \"roboto-v27-latin-700.9cc0e6124996a89894204ad52a5b394d.svg\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Pagination__container__Ra_Jo\"};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/getUrl.js\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = require(\"./geomanist-light-webfont.woff\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\nexports.push([module.id, \"/* Generated by Font Squirrel (https://www.fontsquirrel.com) on October 7, 2016 */\\r\\n\\r\\n\\r\\n\\r\\n@font-face {\\r\\n font-family: \\\"geomanist\\\";\\r\\n src: local('Geomanist Light'), url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"woff\\\");\\r\\n font-weight: 300;\\r\\n font-style: normal; \\r\\n font-display: swap;\\r\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Overlay__container__cnOq1\",\"overlay\":\"Overlay__overlay__1OFnl\"};","module.exports = \"\"","module.exports = \"\"","module.exports = \"\"","export const FETCH_PLAYER_EVENTS_REQUEST = 'FETCH_PLAYER_EVENTS_REQUEST';\r\nexport const FETCH_PLAYER_EVENTS_SUCCESS = 'FETCH_PLAYER_EVENTS_SUCCESS';\r\nexport const FETCH_PLAYER_EVENTS_FAILURE = 'FETCH_PLAYER_EVENTS_FAILURE';\r\n\r\n\r\nexport const FETCH_PLAYER_FANTASY_EVENTS_REQUEST = 'FETCH_PLAYER_FANTASY_EVENTS_REQUEST';\r\nexport const FETCH_PLAYER_FANTASY_EVENTS_SUCCESS = 'FETCH_PLAYER_FANTASY_EVENTS_SUCCESS';\r\nexport const FETCH_PLAYER_FANTASY_EVENTS_FAILURE = 'FETCH_PLAYER_FANTASY_EVENTS_FAILURE';\r\n\r\n\r\n\r\n\r\nexport const FETCH_PLAYER_VALUES_REQUEST = 'FETCH_PLAYER_VALUES_REQUEST';\r\nexport const FETCH_PLAYER_VALUES_SUCCESS = 'FETCH_PLAYER_VALUES_SUCCESS';\r\nexport const FETCH_PLAYER_VALUES_FAILURE = 'FETCH_PLAYER_VALUES_FAILURE';\r\n\r\n\r\nexport const FETCH_PLAYER_PROFILE_REQUEST = 'FETCH_PLAYER_PROFILE_REQUEST';\r\nexport const FETCH_PLAYER_PROFILE_SUCCESS = 'FETCH_PLAYER_PROFILE_SUCCESS';\r\nexport const FETCH_PLAYER_PROFILE_FAILURE = 'FETCH_PLAYER_PROFILE_FAILURE';\r\n\r\n\r\nexport const FETCH_PLAYER_STATISTICS_REQUEST = 'FETCH_PLAYER_STATISTICS_REQUEST';\r\nexport const FETCH_PLAYER_STATISTICS_SUCCESS = 'FETCH_PLAYER_STATISTICS_SUCCESS';\r\nexport const FETCH_PLAYER_STATISTICS_FAILURE = 'FETCH_PLAYER_STATISTICS_FAILURE';\r\n\r\nexport const FETCH_PLAYER_GAME_STATISTICS_REQUEST = 'FETCH_PLAYER_GAME_STATISTICS_REQUEST';\r\nexport const FETCH_PLAYER_GAME_STATISTICS_SUCCESS = 'FETCH_PLAYER_GAME_STATISTICS_SUCCESS';\r\nexport const FETCH_PLAYER_GAME_STATISTICS_FAILURE = 'FETCH_PLAYER_GAME_STATISTICS_FAILURE';\r\n\r\nexport const FETCH_STATISTICS_BY_ROUND_REQUEST = 'FETCH_STATISTICS_BY_ROUND_REQUEST';\r\nexport const FETCH_STATISTICS_BY_ROUND_SUCCESS = 'FETCH_STATISTICS_BY_ROUND_SUCCESS'; \r\nexport const FETCH_STATISTICS_BY_ROUND_FAILURE = 'FETCH_STATISTICS_BY_ROUND_FAILURE';\r\n","module.exports = \"\"","module.exports = \"\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"._3QEQA-qv6f6STpmvhmfJx1 {\\r\\n max-width: 1200px;\\r\\n margin: 0 auto;\\r\\n display: none;\\r\\n margin-top: 24px;\\r\\n\\r\\n color : var(--meta-text-color);\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n._3QEQA-qv6f6STpmvhmfJx1 p { \\r\\n font-size: inherit; \\r\\n line-height: 2; \\r\\n}\\r\\n\\r\\n._3QEQA-qv6f6STpmvhmfJx1 a { \\r\\n color : var(--meta-text-color);\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n._3QEQA-qv6f6STpmvhmfJx1 a { opacity: 0.5; transition: 0.1s linear opacity; will-change: opacity; }\\r\\n._3QEQA-qv6f6STpmvhmfJx1 a:hover img { opacity: 1; }\\r\\n\\r\\n@media screen and (min-width: 1024px) {\\r\\n ._3QEQA-qv6f6STpmvhmfJx1 {\\r\\n display: block;\\r\\n }\\r\\n}\\r\\n\", \"\"]);\n// Exports\nexports.locals = {\n\t\"container\": \"_3QEQA-qv6f6STpmvhmfJx1\"\n};\nmodule.exports = exports;\n","import serverTime from './serverTime';\r\nimport dayjs from 'dayjs'\r\n\r\n\r\nArray.prototype.except = function(val) {\r\n return this.filter(function(x) { return x !== val; }); \r\n}; \r\n\r\n\r\nwindow.env = {\r\n culture : 'da'\r\n};\r\n\r\nconst points = (value) => { return value + ' p.'; }\r\n\r\n\r\nconst number = (value, postfix, zero) => { \r\n postfix = postfix || '';\r\n\r\n if (value === undefined || value === 0)\r\n return typeof(zero) !== 'undefined' ? zero : '-';\r\n \r\n \r\n const { formatting } = window.swush;\r\n if (formatting && formatting.number) {\r\n return formatting.number.format(value) + postfix;\r\n }\r\n \r\n return value.toFixed(0) + postfix; \r\n}\r\n\r\nconst currency = (value) => { \r\n if (value === undefined)\r\n return '-';\r\n\r\n const { formatting } = window.swush;\r\n if (formatting && formatting.currency) {\r\n return formatting.currency.format(value);\r\n }\r\n \r\n return value.toFixed(0); \r\n}\r\nconst percent = (value) => { \r\n if (value === undefined)\r\n return '-';\r\n\r\n var p = Math.round(value * 1000) / 10;\r\n \r\n return p.toFixed(1) + '%'; \r\n}\r\n\r\nconst jump = (value) => {\r\n if (value == 0)\r\n return '-';\r\n else if (value < 0)\r\n return value;\r\n else\r\n return '+' + value;\r\n}\r\n\r\n\r\nconst minute = (value) => { \r\n if (!value)\r\n return '-';\r\n \r\n return parseInt(value / (1000 * 60)) + '\\'';\r\n}\r\n\r\nconst currentRound = (rounds) => {\r\n let now = serverTime.now();\r\n \r\n if (now < new Date(rounds[0].start))\r\n return rounds[0];\r\n\r\n for(let i = rounds.length - 1; i >= 0; i--){\r\n let round = rounds[i];\r\n if(now > new Date(round.start)) {\r\n return round;\r\n }\r\n }\r\n\r\n if (rounds.length > 0)\r\n return rounds[rounds.length - 1];\r\n\r\n return null;\r\n}\r\n\r\n\r\n\r\nconst getRoundIndex = (rounds, dt) => {\r\n for(let i = 0; i < rounds.length; i++){\r\n let round = rounds[i];\r\n if(dt < new Date(round.end)) {\r\n return i;\r\n }\r\n }\r\n\r\n return rounds.length - 1;\r\n}\r\n\r\n\r\nexport const buildLineups = (rounds, trades) => {\r\n let lineups = [];\r\n for (let i = 0; i < rounds.length; i++)\r\n {\r\n lineups.push([]);\r\n }\r\n\r\n\r\n for (let i = 0; i < trades.length; i++)\r\n {\r\n var trade = trades[i];\r\n \r\n const roundIndex = getRoundIndex(rounds, new Date(trade.at));\r\n \r\n for(let j = roundIndex; j < rounds.length; j++)\r\n {\r\n switch(trade.type)\r\n {\r\n case 'purchase':\r\n lineups[j].push(trade.player);\r\n break;\r\n case 'sale':\r\n var idx = lineups[j].indexOf(trade.player);\r\n lineups[j].splice(idx, 1);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return lineups;\r\n}\r\n\r\n\r\nconst publicRound = (rounds) => {\r\n let now = serverTime.now();\r\n\r\n for(let i = rounds.length - 1; i >= 0; i--){\r\n let round = rounds[i];\r\n if(now > new Date(round.close)) {\r\n return round;\r\n }\r\n }\r\n\r\n return rounds[0];\r\n}\r\n\r\n\r\n// Localize object property\r\nconst lo = (o, property) => {\r\n if (!o)\r\n return '';\r\n\r\n var translation = o.translations ? o.translations[window.swush.apiCulture] : null;\r\n if (translation) {\r\n return translation ? (translation[property] || o[property]) : o[property];\r\n }\r\n else {\r\n return o[property];\r\n }\r\n}\r\n\r\n\r\nlet qs = (function(a) {\r\n if (a == \"\") return {};\r\n var b = {};\r\n for (var i = 0; i < a.length; ++i)\r\n {\r\n var p=a[i].split('=', 2);\r\n if (p.length == 1)\r\n b[p[0]] = \"\";\r\n else\r\n b[p[0]] = decodeURIComponent(p[1].replace(/\\+/g, \" \"));\r\n }\r\n return b;\r\n })(window.location.search.substr(1).split('&'));\r\n\r\n\r\nconst slugify = (s) => {\r\n s = s || '-';\r\n\r\n s = s.replace(/^\\s+|\\s+$/g, ''); // trim\r\n s = s.toLowerCase();\r\n \r\n // remove accents, swap ñ for n, etc\r\n var from = \"àáäâèéëêìíïîòóöôùúüûñç·/_,:;\";\r\n var to = \"aaaaeeeeiiiioooouuuunc------\";\r\n for (let i = 0, l = from.length; i < l ; i++) \r\n {\r\n s = s.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i));\r\n }\r\n\r\n s = s.replace(/[^a-z0-9 -]/g, '') // remove invalid chars\r\n .replace(/\\s+/g, '-') // collapse whitespace and replace by -\r\n .replace(/-+/g, '-'); // collapse dashes\r\n\r\n return s;\r\n}\r\n\r\nconst camelize = (str) => {\r\n return (str + '').replace(/(?:^\\w|[A-Z]|\\b\\w)/g, function(letter, index) {\r\n return index == 0 ? letter.toLowerCase() : letter.toUpperCase();\r\n }).replace(/\\s+/g, '');\r\n}\r\n\r\n\r\nexport { points, number, minute, currency, jump, lo, currentRound, publicRound, getRoundIndex, qs, percent, slugify, camelize };\r\n\r\nexport const safeget = (o, path) => {\r\n return path.reduce((obj, p) => {\r\n return obj && obj[p];\r\n }, o);\r\n}\r\n\r\nexport const cmp = (a, b) => {\r\n if (a > b) { return 1; }\r\n else if (a < b) { return -1; }\r\n else return 0;\r\n}\r\n\r\n\r\nexport const fullName = (person) => {\r\n\r\n if (person.firstname && person.lastname)\r\n return person.firstname + ' ' + person.lastname;\r\n else if (person.lastname)\r\n return person.lastname;\r\n else return person.firstname;\r\n}\r\n\r\n\r\n\r\nexport const relativeUrl = (url) => {\r\n return window.swush.externalBaseUrl + '/' + url;\r\n}\r\n\r\n\r\nexport const resolve = (path, obj = self, separator='.') => {\r\n var properties = Array.isArray(path) ? path : path.split(separator);\r\n return properties.reduce((prev, curr) => { \r\n if (curr === '$first')\r\n curr = 0;\r\n else if (curr === '$last') {\r\n curr = Array.isArray(prev) && prev.length - 1;\r\n }\r\n \r\n return prev && prev[curr]\r\n \r\n }, obj);\r\n}\r\n\r\n\r\nexport const evaluateOperation = (value, op, compareTo) => {\r\n switch(op) {\r\n case 'eq':\r\n return value === compareTo;\r\n case 'neq':\r\n return value !== compareTo;\r\n case 'gt':\r\n return value > compareTo;\r\n case 'lt':\r\n return value < compareTo;\r\n case 'gte':\r\n return value >= compareTo;\r\n case 'lte':\r\n return value <= compareTo;\r\n }\r\n}\r\n\r\n\r\nexport const interpolateString = (obj, s) => {\r\n if (!(typeof s === 'string'))\r\n return s;\r\n\r\n if (s[0] === '@') {\r\n const path = s.substring(1);\r\n return resolve(path, obj);\r\n }\r\n else {\r\n return s;\r\n }\r\n\r\n}\r\n\r\n\r\nexport const interpolateObject = (obj, props) => {\r\n\r\n return Object.keys(props).reduce((agg, key) => {\r\n let value = props[key];\r\n\r\n if (typeof value === 'string') {\r\n value = interpolateString(obj, value);\r\n }\r\n\r\n agg[key] = value;\r\n return agg;\r\n }, {})\r\n}\r\n\r\n\r\nexport const filterArray = (arr, filters) => {\r\n \r\n return arr.filter(r => {\r\n for(var i = 0; i < filters.length; i++) {\r\n const f = filters[i];\r\n const value = interpolateString(r, f.expr);\r\n\r\n if (!evaluateOperation(value, f.op, f.value)) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n })\r\n\r\n}\r\n\r\n\r\n\r\n\r\nexport const parseExpressions = (obj) => {\r\n Object.keys(obj).forEach(key => {\r\n const val = obj[key];\r\n \r\n if (typeof val === 'object') {\r\n obj[key] = parseExpressions(val);\r\n }\r\n else if (typeof val === 'string' && val.indexOf('@@') === 0) {\r\n const expression = val.substr(2);\r\n obj[key] = jsep(expression);\r\n }\r\n else{\r\n obj[key] = val\r\n }\r\n\r\n }, obj);\r\n\r\n return obj;\r\n}\r\n\r\n\r\n\r\n\r\nexport const matchesCondition = (obj, condition) => {\r\n const value = resolve(condition.property, obj);\r\n\r\n switch(condition.op) {\r\n case 'eq':\r\n return value === condition.value;\r\n case 'neq':\r\n return value !== condition.value;\r\n case 'gt':\r\n return value > condition.value;\r\n case 'gte':\r\n return value >= condition.value;\r\n case 'lt':\r\n return value < condition.value;\r\n case 'lte':\r\n return value <= condition.value;\r\n case 'like':\r\n return (value || '').toLowerCase().indexOf((condition.value || '').toLowerCase()) >= 0;\r\n case 'in':\r\n return (condition.value || []).indexOf(value) >= 0;\r\n case 'defined':\r\n return typeof value !== 'undefined';\r\n case 'undefined':\r\n return typeof value === 'undefined';\r\n default:\r\n throw 'Invalid operation \\'' + condition.op + '\\'';\r\n }\r\n}\r\n\r\n\r\nexport const matchesConditions = (obj, conditions) => {\r\n for(let i = 0; i < conditions.length; i++) {\r\n if (!matchesCondition(obj, conditions[i]))\r\n return false;\r\n }\r\n\r\n return true;\r\n}\r\n\r\n\r\nexport const contextMatchesCondition = (obj, condition) => {\r\n const value = exp(condition.property, obj);\r\n\r\n \r\n\r\n switch(condition.op) {\r\n case 'eq':\r\n return value === condition.value;\r\n case 'neq':\r\n return value !== condition.value;\r\n case 'gt':\r\n return value > condition.value;\r\n case 'gte':\r\n return value >= condition.value;\r\n case 'lt':\r\n return value < condition.value;\r\n case 'lte':\r\n return value <= condition.value;\r\n case 'like':\r\n return (value || '').toLowerCase().indexOf((condition.value || '').toLowerCase()) >= 0;\r\n case 'in':\r\n return (condition.value || []).indexOf(value) >= 0;\r\n case 'defined':\r\n return typeof value !== 'undefined';\r\n case 'undefined':\r\n return typeof value === 'undefined';\r\n default:\r\n throw 'Invalid operation \\'' + condition.op + '\\'';\r\n }\r\n}\r\n\r\n\r\nexport const contextMatchesConditions = (obj, conditions) => {\r\n for(let i = 0; i < conditions.length; i++) {\r\n if (!contextMatchesCondition(obj, conditions[i]))\r\n return false;\r\n }\r\n\r\n return true;\r\n}\r\n\r\n\r\n\r\nexport const format = (str, obj) => {\r\n return Object.keys(obj).reduce((agg, k) => { \r\n return agg.replace('{' + k + '}', obj[k]) ;\r\n }, str);\r\n}\r\n\r\n\r\nexport const getConfigurationSection = (config, section, profileName) => {\r\n const profile = config && config.profiles && config.profiles[profileName] || {};\r\n return profile[section] ? profile[section] : config[section];\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport const pick = (val, context, _default) => {\r\n\r\n if (typeof val === 'undefined' || val.length === 0) {\r\n\r\n \r\n return context;\r\n }\r\n \r\n const path = val.split('.');\r\n\r\n return path.reduce((agg, p) => {\r\n if (p === '$first')\r\n return agg && agg[0];\r\n else if (p === '$last')\r\n return agg && agg[agg.length - 1];\r\n else\r\n return agg && agg[p];\r\n }, context) || _default;\r\n\r\n\r\n}\r\n\r\n\r\nexport const exp = (val, context, _default) => {\r\n return val && val[0] == '$' ? pick(val.substring(1), context, _default) : pick(val, context.current, _default) \r\n}\r\n\r\nexport const flatten = (obj, separator = '-', parent) => Object.keys(obj).reduce((acc, k) => {\r\n const pName = parent ? parent + separator + k : k;\r\n\r\n if (typeof obj[k] === 'object') \r\n Object.assign(acc, flatten(obj[k], separator, pName));\r\n else \r\n acc[pName] = obj[k];\r\n \r\n return acc;\r\n}, {});\r\n\r\n\r\n\r\n\r\nexport const unflatten = (obj, separator = '.') => {\r\n let nObj = {};\r\n\r\n Object.keys(obj).forEach(key => {\r\n const path = key.split(separator);\r\n const leafs = path.slice(0, path.length - 1);\r\n \r\n let iObj = leafs.reduce((agg, l) => {\r\n agg[l] = {};\r\n return agg[l];\r\n }, nObj) || {};\r\n\r\n iObj[path[path.length - 1]] = obj[key];\r\n });\r\n\r\n return nObj;\r\n\r\n}\r\n\r\n\r\n\r\n\r\nconst getMaximumEliminationRounds = (count) => {\r\n if (count <= 2)\r\n return 1;\r\n\r\n return parseInt(Math.floor(Math.log2(count - 1)));\r\n}\r\n\r\n\r\nconst getEliminationStageName = (t, count) => {\r\n if (count == 2)\r\n return t('competitions.final');\r\n else if (count == 4)\r\n return t('competitions.semifinal');\r\n else if (count == 8)\r\n return t('competitions.quaterfinal');\r\n else\r\n return `1/${ number(count) }`;\r\n}\r\n\r\n\r\nexport const getCupStructure = (t, rounds, maximumEliminationRounds, count) => {\r\n const absMaximumEliminationRounds = getMaximumEliminationRounds(count);\r\n\r\n const elimination = maximumEliminationRounds > 0 ? \r\n Math.min(absMaximumEliminationRounds, maximumEliminationRounds) : \r\n Math.min(absMaximumEliminationRounds, rounds - 1); // Must have 1 qualification round\r\n\r\n\r\n\r\n const qualification = rounds - elimination;\r\n\r\n let rArr = [];\r\n\r\n for(let i = 0; i < rounds; i++) {\r\n \r\n if (i < qualification) {\r\n rArr.push({ type : 'qualification', name : t('competitions.qualification'), count })\r\n }\r\n else {\r\n const eIdx = rounds - i;\r\n const rCount = Math.pow(2, eIdx);\r\n\r\n rArr.push({ type : 'elimination', name : getEliminationStageName(t, rCount), count : rCount })\r\n }\r\n }\r\n\r\n return { \r\n finalists : Math.pow(2, elimination),\r\n qualificationRounds : qualification,\r\n eliminationRounds : elimination,\r\n rounds : rArr \r\n };\r\n}\r\n\r\n\r\n\r\nexport const relativeTime = (dt) => {\r\n\r\n\r\n var elapsed = new Date().getTime() - dt.getTime();\r\n\r\n if (elapsed < 1000) {\r\n return elapsed + ' ms ago'; \r\n }\r\n else if (elapsed < 60 * 1000) {\r\n return Math.round(elapsed / 1000) + ' seconds ago'; \r\n }\r\n else if (elapsed < 60 * 60 * 1000) {\r\n return Math.round(elapsed / (60 * 1000)) + ' minutes ago'; \r\n }\r\n else if (elapsed < 24 * 60 * 60 * 1000 ) {\r\n return Math.round(elapsed/ (60 * 60 * 1000)) + ' hours ago'; \r\n }\r\n else {\r\n dt\r\n }\r\n}\r\n","module.exports = \"\"","import React, { useState, useEffect, useContext, useRef } from 'react'\r\nimport { SnackbarContext } from 'components';\r\n\r\n\r\nexport const useSnackbar = () => {\r\n const snackbar = useContext(SnackbarContext);\r\n \r\n return [snackbar.open]\r\n}\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"full\":\"PersonName__full__2xA65\",\"abbreviated\":\"PersonName__abbreviated__1h0eu\"};","export default __webpack_public_path__ + \"roboto-v27-latin-italic.45bb88c2a9b6a4bb6e4d932a1649c4b7.ttf\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Timeline__container__31a-w\",\"row\":\"Timeline__row__2ZwzG\",\"left\":\"Timeline__left__3Xnn-\",\"right\":\"Timeline__right__2sftW\",\"both\":\"Timeline__both__HZn4w\",\"time\":\"Timeline__time__q--Da\",\"event\":\"Timeline__event__3LaP_\",\"separator\":\"Timeline__separator__3f-PX\",\"opacity-blinker\":\"Timeline__opacity-blinker__J32vu\"};","export const FETCH_SCHEDULE_REQUEST = 'FETCH_SCHEDULE_REQUEST';\r\nexport const FETCH_SCHEDULE_SUCCESS = 'FETCH_SCHEDULE_SUCCESS';\r\nexport const FETCH_SCHEDULE_FAILURE = 'FETCH_SCHEDULE_FAILURE';\r\n\r\n","module.exports = \"\"","export const FETCH_THEME_REQUEST = 'theme/fetch/request';\r\nexport const FETCH_THEME_SUCCESS = 'theme/fetch/success';\r\nexport const FETCH_THEME_FAIL = 'theme/fetch/fail';\r\n","export default __webpack_public_path__ + \"roboto-v27-latin-regular.69358f64aea6fd09499aacb2bae24f53.ttf\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"round\":\"Round__round__1yBGh\"};","import React, { useContext, useState, useRef, useEffect, useCallback } from 'react'\r\n\r\nimport Box from './Box'\r\n\r\nimport styled, { css } from 'styled-components'\r\nimport Icon from './Icon'\r\n\r\nimport { space } from 'styled-system';\r\n\r\nconst InputStyle = css`\r\n width: 100%;\r\n border-radius: 3px;\r\n border: 3px solid transparent;\r\n font-size: 14px;\r\n color: ${ props => props.theme.colors.inputForeground };\r\n \r\n box-sizing: border-box;\r\n font-family: 'Roboto', sans-serif;\r\n transition: border-color 0.2s linear;\r\n will-change: border-color;\r\n margin: 0 !important;\r\n\r\n border: 1px solid #ccc;\r\n box-sizing: border-box;\r\n\r\n outline: 0;\r\n\r\n :focus {\r\n border-color: ${ props => props.theme.colors.utilityBlue };\r\n }\r\n\r\n ${ space };\r\n`\r\n\r\nconst Input = styled.input`\r\n height: 48px; \r\n padding: 0 12px;\r\n ${ InputStyle }\r\n`\r\n\r\nexport const Textbox = styled(Input).attrs(props => ({\r\n type : 'text',\r\n autocomplete : props.autocomplete\r\n}))`\r\n`\r\n\r\nexport const Textarea = styled.textarea`\r\n min-height: calc(var(--vertical-rythm) * 2);\r\n padding: 12px;\r\n ${ InputStyle }\r\n`\r\n\r\n\r\n\r\nexport const Password = styled(Input).attrs(props => ({\r\n type : 'password',\r\n autoComplete : props.autoComplete\r\n}))`\r\n`\r\n\r\nexport const FauxPassword = styled(Input).attrs(props => ({\r\n type : 'text'\r\n}))`\r\n -webkit-text-security: disc;\r\n`\r\n\r\nexport const OnetimePasswordInput = styled(Input).attrs(props => ({\r\n type : 'number'\r\n}))`\r\n text-align: center;\r\n font-family: monospace;\r\n font-size: 24px;\r\n\r\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\r\n -webkit-appearance: none;\r\n margin: 0;\r\n }\r\n`\r\n\r\n\r\nconst StyledInputWithIconContainer = styled.div`\r\n position: relative;\r\n ${Input} {\r\n padding-right: 48px;\r\n }\r\n` \r\n\r\nconst StyledInputWithIconIcon = styled.div`\r\n position: absolute;\r\n width: 48px;\r\n height: 48px;\r\n right: 0;\r\n top: 0;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n color: var(--meta-text-color);\r\n cursor: pointer;\r\n user-select: none;\r\n \r\n`\r\n\r\nconst StyledEmail = styled(Input).attrs(props => ({\r\n type : 'email',\r\n name : 'email',\r\n autoComplete: 'username',\r\n placeholder : 'name@example.com'\r\n}))`\r\n`\r\n\r\n\r\nexport const Email = React.forwardRef(\r\n ({ onClear, ...otherProps }, ref) => {\r\n \r\n\r\n return(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n)\r\n\r\n\r\nexport const PasswordInput = React.forwardRef(\r\n ({ ...otherProps }, ref) => {\r\n const [showCharacters, setShowCharacter] = useState(false);\r\n\r\n return(\r\n \r\n { showCharacters && || }\r\n \r\n setShowCharacter(!showCharacters) }>\r\n \r\n \r\n \r\n )\r\n }\r\n)\r\n\r\nexport const FauxPasswordInput = React.forwardRef(\r\n ({ ...otherProps }, ref) => {\r\n const [showCharacters, setShowCharacter] = useState(false);\r\n\r\n return(\r\n \r\n { showCharacters && || }\r\n \r\n setShowCharacter(!showCharacters) }>\r\n \r\n \r\n \r\n )\r\n }\r\n)\r\n\r\n\r\nexport const Label = styled.label`\r\n display: block;\r\n min-height: 24px;\r\n line-height: 24px;\r\n color: #8A8A8A;\r\n font-size: 11px;\r\n\r\n transition: color 0.2s linear;\r\n will-change: color;\r\n\r\n`\r\n\r\nconst StyledHelpLabel = styled.div`\r\n display: flex;\r\n\r\n > *:first-child {\r\n flex: 1;\r\n }\r\n`\r\n\r\nexport const HelpLabel = ({ text, children }) => {\r\n return (\r\n \r\n \r\n { children }\r\n \r\n )\r\n\r\n}\r\n\r\nconst StyledInputGroup = styled.div`\r\n position: relative;\r\n`\r\n\r\nexport const InputGroupButton = styled.div`\r\n width: 48px;\r\n height: 48px; \r\n\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n\r\n display: flex;\r\n align-items: center; \r\n justify-content: center;\r\n\r\n cursor: pointer;\r\n`\r\n\r\nexport const InputGroupTextbox = styled(Textbox)`\r\n padding-right: 48px !important;\r\n box-sizing: border-box;\r\n\r\n`\r\n\r\n\r\nexport const InputGroup = ({ children }) => {\r\n return (\r\n \r\n { children }\r\n \r\n )\r\n}\r\n\r\n\r\nexport const FormGroup = styled.div`\r\n margin-bottom: 12px;\r\n\r\n ${\r\n props => props.state == 'error' && css`\r\n \r\n \r\n ${FieldError} {\r\n color: ${ props => props.theme.colors.utilityRedContrast };\r\n }\r\n\r\n ${Input} {\r\n border-color: ${ props => props.theme.colors.utilityRed };\r\n }\r\n `\r\n };\r\n \r\n\r\n`\r\n\r\nexport const FieldError = styled.label`\r\n display: block;\r\n\r\n margin-top: 6px;\r\n line-height: 18px;\r\n color: var(--utility-red-foreground);\r\n font-size: 11px;\r\n\r\n transition: color 0.2s linear;\r\n will-change: color;\r\n`\r\n\r\nexport const FieldHelpText = styled.label`\r\n display: block;\r\n\r\n margin-top: 6px;\r\n line-height: 18px;\r\n color: #8A8A8A;\r\n font-size: 11px;\r\n\r\n transition: color 0.2s linear;\r\n will-change: color;\r\n`\r\n\r\nexport const Fieldset = styled.div`\r\n margin-bottom: 24px;\r\n`\r\n\r\n\r\n\r\nconst FormContext = React.createContext();\r\n\r\nexport const Form = ({ problems, children, ...otherProps }) => {\r\n return (\r\n \r\n \r\n
    \r\n { children }\r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport const FormField = ({ name, children }) => {\r\n const context = useContext(FormContext);\r\n\r\n return (\r\n \r\n { children }\r\n { \r\n context.problems && \r\n context.problems[name] &&\r\n context.problems[name].map((err, index) => {\r\n return (\r\n { err }\r\n )\r\n })\r\n }\r\n \r\n )\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\nconst StyledSearch = styled.div`\r\n height: 48px;\r\n\r\n border-radius: 3px;\r\n border: none;\r\n font-size: 14px;\r\n \r\n padding: 0 0 0 12px;\r\n box-sizing: border-box;\r\n font-family: 'Roboto', sans-serif;\r\n display: flex;\r\n flex: 1;\r\n\r\n background: #fff;\r\n`;\r\n\r\nconst StyledInput = styled.input`\r\n height: 48px;\r\n border: none;\r\n flex: 1;\r\n color: #8A8A8A;\r\n min-width: 0;\r\n width: 0;\r\n\r\n :focus {\r\n outline: none;\r\n }\r\n`;\r\n\r\n\r\nexport const Search = ({ value, autofocus, placeholder, onSearch }) => {\r\n const inputRef = useRef();\r\n const [text, setText] = useState(value);\r\n\r\n useEffect(() => {\r\n setText(value || '');\r\n }, [value])\r\n\r\n useEffect(() => {\r\n if (autofocus)\r\n inputRef.current.focus();\r\n }, [autofocus, inputRef])\r\n\r\n const handleKeyPress = useCallback((e) => {\r\n if (e.key === 'Enter') {\r\n onSearch(text);\r\n inputRef.current.select();\r\n }\r\n })\r\n\r\n const handleFocus = useCallback((e) => {\r\n e.target.select();\r\n })\r\n\r\n const handleReset = () => {\r\n setText('');\r\n onSearch('');\r\n }\r\n\r\n return (\r\n \r\n setText(event.target.value) } />\r\n handleReset() }>\r\n \r\n \r\n \r\n )\r\n}\r\n","import React from 'react';\r\n\r\nimport CSSVariables from './CSSVariables'\r\n\r\nconst ThemeProvider = ({ theme, children }) => {\r\n\r\n const { colors, sizes } = theme;\r\n\r\n const vars = {\r\n\r\n muted : colors.foregroundMeta,\r\n\r\n panel: colors.panelBackground,\r\n onPanel: colors.panelForeground,\r\n\r\n size0: sizes.s100,\r\n size1: sizes.s200,\r\n size2: sizes.s300,\r\n size3: sizes.s400,\r\n size4: sizes.s500,\r\n size5: sizes.s600,\r\n size7: sizes.s700,\r\n size8: sizes.s800,\r\n size9: sizes.s900,\r\n\r\n action: colors.themes.default.action,\r\n actionLight: colors.themes.default.actionHover,\r\n onAction: colors.themes.default.onAction,\r\n\r\n utilitySilver: colors.utilitySilver,\r\n utilityBlack: colors.utilityBlack,\r\n utilityBlue: colors.utilityBlue,\r\n utilityWhite: colors.utilityWhite,\r\n utilityRed: colors.utilityRed,\r\n utilityGreen: colors.utilityGreen,\r\n utilityYellow: colors.utilityYellow,\r\n\r\n button: colors.buttonLikeBackground,\r\n buttonForegroundDisabled: colors.buttonLikeForegroundDisabled,\r\n buttonBackgroundDisabled: colors.buttonLikeBackgroundDisabled,\r\n \r\n card: colors.cardBackground,\r\n cardLight: colors.cardBackgroundHover,\r\n onCard: colors.cardForeground,\r\n cardSecondary: colors.cardBackgroundSecondary,\r\n cardSecondaryLight: colors.cardBackgroundSecondaryHover,\r\n\r\n\r\n dropdown: colors.dropdownBackground,\r\n dropdownLight: colors.dropdownBackgroundHover,\r\n onDropdown: colors.dropdownForeground,\r\n onDropdownLight: colors.dropdownForegroundHover,\r\n dropdownSeparator: colors.dropdownSeparatorBackground,\r\n onDropdownSeparator: colors.dropdownSeparatorForeground,\r\n dropdownBorderLight: colors.dropdownBorderUp,\r\n dropdownBorderDark: colors.dropdownBorderDown\r\n\r\n\r\n }\r\n \r\n return \r\n { children }\r\n \r\n}\r\n\r\nexport default ThemeProvider;","import React from 'react'\r\nexport default React.createContext({})\r\n\r\n\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { connect } from 'react-redux';\r\n\r\nimport { createSelector } from 'reselect'\r\n\r\nimport { fetchViewByNameIfNeeded } from '../redux/view/actions'\r\n\r\nclass WithView extends React.PureComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n if (!this.props.preloaded) {\r\n this.props.fetch(this.props.name);\r\n }\r\n }\r\n\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (!nextProps.preloaded && nextProps.name !== this.props.name) {\r\n this.props.fetch(nextProps.name);\r\n }\r\n }\r\n\r\n render() {\r\n const { view, children } = this.props;\r\n \r\n if (!view)\r\n return null;\r\n \r\n\r\n return (\r\n
    \r\n { children({ \r\n isFetching : view.isFetching, \r\n view : view.item \r\n }) }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport const makeGetView = () => (\r\n createSelector([\r\n (state, props) => props.name,\r\n (state) => state.views.byName,\r\n (state) => state.entities.views\r\n ],\r\n (name, byName, viewEntities) => {\r\n const { isFetching, item } = byName[name] || { item : 0, isFetching : false };\r\n const view = item > 0 ? viewEntities[item] : null;\r\n const viewContent = view ? JSON.parse(view.content) : null;\r\n\r\n return {\r\n isFetching,\r\n item : viewContent\r\n }\r\n })\r\n)\r\n\r\nconst makeMapStateToProps = () => {\r\n const getView = makeGetView();\r\n \r\n return (state, ownProps) => ({\r\n view : getView(state, ownProps)\r\n })\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch, ownProps) {\r\n return {\r\n fetch(name) {\r\n if (name) {\r\n dispatch(fetchViewByNameIfNeeded(name));\r\n }\r\n }\r\n }\r\n}\r\n\r\nWithView.propTypes = {\r\n name : PropTypes.any,\r\n preloaded : PropTypes.bool.isRequired\r\n}\r\n\r\nWithView.defaultProps = {\r\n preloaded : false\r\n}\r\n\r\n\r\nexport default connect(makeMapStateToProps, mapDispatchToProps)(WithView);\r\n\r\n","import React, { useContext } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { View } from 'components'\r\n\r\nimport GameContext from './GameContext'\r\nimport ComponentContext from './ComponentContext'\r\nimport WithView from './WithView'\r\n\r\nimport { currentRound } from 'utils'\r\n\r\nconst ViewMappingContext = React.createContext();\r\n\r\nconst createContext = (game) => {\r\n if (game) {\r\n const cRound = currentRound(game.rounds);\r\n const currentRoundIndex = game.rounds.indexOf(cRound);\r\n\r\n return {\r\n 'game_number_of_rounds' : game.rounds.length,\r\n 'game_current_round_number' : currentRoundIndex + 1\r\n }\r\n }\r\n else {\r\n return {};\r\n }\r\n}\r\n\r\nexport const ViewMappingProvider = ({ map, children }) => {\r\n return (\r\n \r\n { children }\r\n \r\n )\r\n \r\n}\r\n\r\nconst useViewMapping = () => {\r\n const context = useContext(ViewMappingContext);\r\n return context;\r\n}\r\n\r\n\r\nconst ViewContainer = ({ name, componentProps, children }) => {\r\n\r\n \r\n \r\n\r\n\r\n const viewMapping = useViewMapping();\r\n let mappedName = viewMapping && viewMapping[name] || name;\r\n\r\n if (!mappedName)\r\n return null;\r\n\r\n\r\n\r\n\r\n return (\r\n { ({ game }) => (\r\n { (components) => {\r\n const context = createContext(game);\r\n\r\n return (\r\n { ({ view }) => {\r\n if (!view) {\r\n return children || null;\r\n }\r\n else {\r\n return \r\n }\r\n }}\r\n )\r\n }}\r\n )}\r\n )\r\n}\r\n\r\nViewContainer.propTypes = {\r\n name : PropTypes.string\r\n}\r\n\r\nViewContainer.defaultProps = {\r\n}\r\n\r\nexport default ViewContainer;\r\n\r\n","import React, { useEffect } from 'react'\r\nimport ReactDOM from 'react-dom'\r\n\r\nimport ViewContainer from './ViewContainer'\r\n\r\nimport DataContextProvider from '../components/DataContextProvider'\r\n\r\nconst StaticWidgetRenderer = () => {\r\n const elements = Array.from(document.querySelectorAll('[data-view]'));\r\n\r\n\r\n\r\n return elements.map(e => {\r\n const view = e.dataset['view'];\r\n const viewParametersJson = e.dataset['viewParameters'];\r\n \r\n const viewParameters = viewParametersJson && JSON.parse(viewParametersJson);\r\n\r\n return ReactDOM.createPortal(\r\n \r\n \r\n , e);\r\n\r\n })\r\n\r\n \r\n}\r\n\r\nexport default StaticWidgetRenderer;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { connect } from 'react-redux';\r\nimport { createSelector } from 'reselect'\r\nimport { fullName } from 'utils'\r\n\r\nclass WithPlayer extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n\r\n const player = this.props.player && { ...this.props.player, ...this.props.extra };\r\n return this.props.children(player);\r\n }\r\n}\r\n\r\n\r\nWithPlayer.propTypes = {\r\n id : PropTypes.any.isRequired\r\n}\r\n\r\n\r\nexport const makeGetPlayer = () => (\r\n createSelector([\r\n (state, props) => props.id,\r\n\r\n (state) => state.entities.players,\r\n (state) => state.entities.persons,\r\n (state) => state.entities.teams,\r\n (state) => state.entities.positions\r\n ], \r\n (id, players, persons, teams, positions) => { \r\n \r\n const player = players[id];\r\n if (!player)\r\n return null;\r\n\r\n const person = persons[player.person];\r\n const team = teams[player.team];\r\n const position = positions[player.position];\r\n \r\n return {\r\n ...player,\r\n person : {\r\n ...person,\r\n fullName : fullName(person)\r\n },\r\n team,\r\n position\r\n }\r\n })\r\n);\r\n\r\n\r\n\r\nconst makeMapStateToProps = () => {\r\n const getPlayer = makeGetPlayer();\r\n\r\n return (state, ownProps) => ({\r\n player : getPlayer(state, ownProps)\r\n })\r\n}\r\n\r\n\r\n\r\n\r\nexport default connect(makeMapStateToProps)(WithPlayer);\r\n\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { connect } from 'react-redux';\r\n\r\nimport { pushFlyout, popFlyout, clearFlyouts } from '../redux/ui/actions';\r\n\r\nclass WithFlyout extends React.PureComponent {\r\n componentDidMount() {\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n }\r\n \r\n render() {\r\n const { push, pop, clear, children } = this.props;\r\n return children({ push, pop, clear});\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({})\r\n\r\nfunction mapDispatchToProps(dispatch, ownProps) {\r\n return {\r\n push(type, props) {\r\n dispatch(pushFlyout(type, props));\r\n },\r\n pop() {\r\n dispatch(popFlyout());\r\n },\r\n clear() {\r\n dispatch(clearFlyouts())\r\n }\r\n }\r\n}\r\n\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(WithFlyout);\r\n\r\n","import React from 'react'\r\n\r\nimport { getConfigurationSection } from 'utils'\r\n\r\nimport WithFlyout from './WithFlyout'\r\nimport GameContext from './GameContext'\r\n\r\n\r\nconst absoluteUrl = (url) => {\r\n let actualUrl = url || '';\r\n return (actualUrl.indexOf('/') == 0) ? window.swush.externalBaseUrl + actualUrl : window.swush.externalBaseUrl + '/' + actualUrl;\r\n \r\n\r\n}\r\n\r\nconst GameNavigationService = ({ children }) => {\r\n return (\r\n { ({ game, gameConfiguration }) => {\r\n if (!gameConfiguration)\r\n return null;\r\n\r\n return (\r\n { ({ push }) => {\r\n\r\n const flyouts = getConfigurationSection(gameConfiguration, 'flyouts', window.swush.profile) || {};\r\n\r\n const funcs = {\r\n showMatch : (id) => {\r\n if (flyouts.match) {\r\n push('match', { id })\r\n }\r\n else {\r\n window.location.href = absoluteUrl(`${ game.slug }/m/${ id }/${ id }` )\r\n }\r\n },\r\n showPlayer : (id, slug, earnings) => {\r\n if (flyouts.player) {\r\n push('player', { id, earnings })\r\n }\r\n else {\r\n window.location.href = absoluteUrl(`${ game.slug }/players/${ slug }` )\r\n }\r\n }\r\n }\r\n\r\n return children(funcs);\r\n }}\r\n )\r\n }}\r\n )\r\n}\r\n\r\nexport default GameNavigationService;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { connect } from 'react-redux';\r\nimport { PersonName, ExternalLink } from '../components';\r\n\r\nimport GameContext from './GameContext'\r\n\r\nimport { selectPlayer } from '../redux/ui/actions'\r\nimport WithFlyout from './WithFlyout'\r\nimport GameNavigationService from './GameNavigationService'\r\n\r\nclass PlayerLink extends React.PureComponent{\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const { form, player } = this.props;\r\n\r\n return { ({ showPlayer }) => {\r\n return (\r\n {\r\n const tr = e.currentTarget.closest('tr');\r\n let earnings = 0;\r\n if (tr) {\r\n try {\r\n earnings = parseInt(tr.getAttribute('earnings'));\r\n }\r\n catch {\r\n // Ignore\r\n }\r\n }\r\n\r\n showPlayer(player.id, player.person.slug, earnings) \r\n }}>\r\n )\r\n }}\r\n } \r\n}\r\n\r\nPlayerLink.propTypes = {\r\n player : PropTypes.object.isRequired,\r\n form: PropTypes.string.isRequired,\r\n}\r\n\r\nPlayerLink.defaultProps = {\r\n form : 'auto'\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => {\r\n return {\r\n show : () => {\r\n dispatch(selectPlayer(ownProps.game.id, ownProps.player.id, ownProps.game.theme));\r\n }\r\n }\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(PlayerLink);\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { MediaObject, PlayerAvatar, PlayerByline, Icon, WithSticker, InjurySuspensionIcon } from '../components'\r\nimport PlayerLink from './PlayerLink'\r\n\r\nimport GameContext from './GameContext'\r\n\r\n\r\nconst PlayerIdentityAvatar = ({ injured, suspensionDays, game, player}) => {\r\n\r\n if (injured || (suspensionDays && suspensionDays > 0)) {\r\n return (\r\n }>\r\n \r\n \r\n )\r\n }\r\n else {\r\n return (\r\n \r\n )\r\n }\r\n\r\n}\r\n\r\n\r\nconst PlayerIdentity = ({ editMode, player, captain, hideTeam, hidePosition, form, watchlist }) => {\r\n \r\n if (editMode)\r\n return \"(PlayerIdentity)\"\r\n \r\n if (!player)\r\n return \"-\";\r\n\r\n \r\n\r\n return (\r\n { ({ game, gameConfiguration, injuries, suspensions, permissionManager }) => {\r\n const injury = permissionManager.hasPermission('ListInjuries') && gameConfiguration && gameConfiguration.injuries && injuries && injuries.map[player.person.id + ''];\r\n const suspension = permissionManager.hasPermission('ListSuspensions') && gameConfiguration && gameConfiguration.suspensions && suspensions && suspensions.map[player.person.id + ''];\r\n const suspensionDays = (suspension || []).reduce((acc, s) => acc += s.remainingMatches, 0);\r\n\r\n return (\r\n \r\n { \r\n player && \r\n \r\n \r\n \r\n }\r\n \r\n
    \r\n { watchlist && }\r\n { player && }\r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n }}
    \r\n )\r\n}\r\n\r\n\r\nPlayerIdentity.propTypes = {\r\n player: PropTypes.object,\r\n form : PropTypes.oneOf(['default', 'compact', 'auto'])\r\n}\r\n\r\nPlayerIdentity.defaultProps = {\r\n form : 'auto'\r\n}\r\n\r\nexport default PlayerIdentity;\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport translatable from '../hocs/translatable'\r\n\r\nconst LocalizeText = ({ t, text }) => {\r\n\r\n if (!text || text.length == 0)\r\n return null;\r\n\r\n if (text.indexOf('@') == 0)\r\n return t(text.substring(1));\r\n else\r\n return text;\r\n}\r\n\r\n\r\nLocalizeText.propTypes = {\r\n text : PropTypes.string\r\n}\r\n\r\nexport default translatable(LocalizeText);\r\n\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { XButton, Icon, ContextMenuPortal, ToolbarButton, Box } from 'components'\r\n\r\nimport LocalizeText from '../../LocalizeText'\r\nimport WithFlyout from '../../WithFlyout'\r\n\r\nconst FlyoutButton = ({ label, header, view, icon = 'filter' }) => (\r\n\r\n { ({ push }) => (\r\n \r\n \r\n push('view', { header, view }) }>\r\n \r\n \r\n\r\n \r\n\r\n \r\n push('view', { header, view }) }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n)\r\n\r\nFlyoutButton.propTypes = {\r\n view : PropTypes.string.isRequired,\r\n header : PropTypes.string\r\n}\r\n\r\nFlyoutButton.defaultProps = {\r\n}\r\n\r\nexport default FlyoutButton;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport ViewContainer from '../../ViewContainer'\r\n\r\nconst ViewContainerWidget = ({ name }) => {\r\n return \r\n}\r\n\r\nViewContainerWidget.propTypes = {\r\n name : PropTypes.string\r\n}\r\n\r\nexport default ViewContainerWidget;\r\n\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { TabBar, TabBarItem,ErrorBoundary } from 'components'\r\nimport LocalizeText from '../../LocalizeText';\r\n\r\n\r\nexport const TabBarItemWidget = () => null;\r\n\r\nTabBarItemWidget.propTypes = {\r\n title : PropTypes.string.isRequired\r\n}\r\n\r\nexport const TabBarWidget = ({ children, ...otherProps }) => {\r\n \r\n const items = React.Children.map(children, (child, index) => { \r\n const { title, children, ...otherProps } = child.props;\r\n\r\n return } { ...otherProps }>\r\n \r\n { children }\r\n \r\n \r\n });\r\n\r\n return \r\n { items }\r\n \r\n\r\n}","import React, { useContext } from 'react';\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { FactList, FactListItem, ErrorBoundary } from 'components'\r\nimport LocalizeText from '../../LocalizeText'\r\nimport { DataContext, Number } from '../../../components';\r\nimport { useTranslator } from '../../../hooks/useTranslator';\r\n\r\nexport const FactListItemWidget = ({ }) => {\r\n return null;\r\n}\r\n\r\nconst HackEarnings = () => {\r\n const context = useContext(DataContext);\r\n const t = useTranslator();\r\n \r\n const earnings = context?.current?.player?.earnings;\r\n\r\n if (!earnings)\r\n return null;\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport const FactListWidget = ({ large, shadow, children }) => (\r\n \r\n \r\n \r\n {\r\n React.Children.map(children, (child, index) => {\r\n let valueToRender = null;\r\n\r\n if (typeof child.props.children === 'string') {\r\n valueToRender = child.props.children\r\n } else {\r\n valueToRender = child.props.children;\r\n }\r\n\r\n return (\r\n \r\n { valueToRender}\r\n \r\n )\r\n })\r\n }\r\n\r\n { large && }\r\n\r\n\r\n \r\n \r\n\r\n)\r\n\r\nFactListWidget.propTypes = {\r\n}\r\n\r\nFactListWidget.defaultProps = {\r\n}","import React from 'react';\r\n\r\nimport { Block } from 'components'\r\n\r\n\r\nconst BlockWidget = ({ children, ...otherProps}) => {\r\n return { children }\r\n\r\n}\r\n\r\nexport default BlockWidget;","import axios from 'axios'\r\nimport { normalize } from 'normalizr'\r\n\r\nimport { eventSchema, fantasyEventSchema, playerValueSchema, playerProfileSchema, playerStatisticsSchema, playerGameStatisticsSchema, playerRoundStatisticsSchema } from '../../schemas';\r\n\r\nimport { safeget } from 'utils'\r\n\r\nimport * as types from './types';\r\n\r\n/* Fetch Player Events */\r\n\r\nconst fetchPlayerEventsRequest = (playerId) => ({ type: types.FETCH_PLAYER_EVENTS_REQUEST, playerId });\r\nconst fetchPlayerEventsSuccess = (playerId, payload) => ({ type: types.FETCH_PLAYER_EVENTS_SUCCESS, playerId, payload });\r\nconst fetchPlayerEventsFailure = (playerId) => ({ type: types.FETCH_PLAYER_EVENTS_FAILURE, playerId });\r\n\r\nconst fetchPlayerEvents = (playerId) => (dispatch) => {\r\n dispatch(fetchPlayerEventsRequest(playerId));\r\n\r\n axios.get(`/players/${ playerId }/events`).then(response => {\r\n dispatch(fetchPlayerEventsSuccess(playerId, normalize(response.data, [eventSchema])));\r\n }, error => {\r\n dispatch(fetchPlayerEventsFailure(playerId));\r\n });\r\n}\r\n\r\n\r\n\r\nconst shouldFetchPlayerEvents = (state, playerId) => {\r\n const item = state.player.events[playerId];\r\n \r\n if (!item) {\r\n return true;\r\n }\r\n else if (item.isFetching) {\r\n return false;\r\n }\r\n else {\r\n return item.didInvalidate;\r\n }\r\n }\r\n \r\n \r\n export const fetchPlayerEventsIfNeeded = (playerId) => (dispatch, getState) => {\r\n if (shouldFetchPlayerEvents(getState(), playerId)) {\r\n dispatch(fetchPlayerEvents(playerId));\r\n }\r\n }\r\n \r\n\r\n\r\n/* Fetch Player FantasyEvents */\r\n\r\nconst fetchPlayerFantasyEventsRequest = (gameId, playerId) => ({ type: types.FETCH_PLAYER_FANTASY_EVENTS_REQUEST, gameId, playerId });\r\nconst fetchPlayerFantasyEventsSuccess = (gameId, playerId, payload) => ({ type: types.FETCH_PLAYER_FANTASY_EVENTS_SUCCESS, gameId, playerId, payload });\r\nconst fetchPlayerFantasyEventsFailure = (gameId, playerId) => ({ type: types.FETCH_PLAYER_FANTASY_EVENTS_FAILURE, gameId, playerId });\r\n\r\nconst fetchPlayerFantasyEvents = (gameId, playerId) => (dispatch) => {\r\n dispatch(fetchPlayerFantasyEventsRequest(gameId, playerId));\r\n\r\n axios.get(`/games/${ gameId }/players/${ playerId }/fantasyevents`).then(response => {\r\n dispatch(fetchPlayerFantasyEventsSuccess(gameId, playerId, normalize(response.data, [fantasyEventSchema])));\r\n }, error => {\r\n dispatch(fetchPlayerFantasyEventsFailure(gameId, playerId));\r\n });\r\n}\r\n\r\n\r\n\r\nconst shouldFetchPlayerFantasyEvents = (state, gameId, playerId) => {\r\n const { isFetching, items, didInvalidate } = state.player.fantasyEvents[playerId] && state.player.fantasyEvents[playerId][gameId] || { items : null, isFetching : false, didInvalidate : false };\r\n\r\n if (isFetching) {\r\n return false;\r\n }\r\n else if (!items) {\r\n return true;\r\n }\r\n else {\r\n return didInvalidate;\r\n }\r\n }\r\n \r\n \r\n export const fetchPlayerFantasyEventsIfNeeded = (gameId, playerId) => (dispatch, getState) => {\r\n if (shouldFetchPlayerFantasyEvents(getState(), gameId, playerId)) {\r\n dispatch(fetchPlayerFantasyEvents(gameId, playerId));\r\n }\r\n }\r\n\r\n/* Fetch Player Values */\r\n\r\nconst fetchPlayerValuesRequest = (gameId, playerId) => ({ type: types.FETCH_PLAYER_VALUES_REQUEST, gameId, playerId });\r\nconst fetchPlayerValuesSuccess = (gameId, playerId, payload) => ({ type: types.FETCH_PLAYER_VALUES_SUCCESS, gameId, playerId, payload });\r\nconst fetchPlayerValuesFailure = (gameId, playerId) => ({ type: types.FETCH_PLAYER_VALUES_FAILURE, gameId, playerId });\r\n\r\nconst fetchPlayerValues = (gameId, playerId) => (dispatch) => {\r\n dispatch(fetchPlayerValuesRequest(gameId, playerId));\r\n\r\n axios.get(`/games/${ gameId }/players/${ playerId }/values`).then(response => {\r\n dispatch(fetchPlayerValuesSuccess(gameId, playerId, normalize(response.data, [playerValueSchema])));\r\n }, error => {\r\n dispatch(fetchPlayerValuesFailure(gameId, playerId));\r\n });\r\n}\r\n\r\nconst shouldFetchPlayerValues = (state, gameId, playerId) => {\r\n const item = safeget(state.player.values, [playerId, gameId]);\r\n \r\n if (!item) {\r\n return true;\r\n }\r\n else if (item.isFetching) {\r\n return false;\r\n }\r\n else {\r\n return item.didInvalidate;\r\n }\r\n }\r\n \r\n \r\n export const fetchPlayerValuesIfNeeded = (gameId, playerId) => (dispatch, getState) => {\r\n if (shouldFetchPlayerValues(getState(), gameId, playerId)) {\r\n dispatch(fetchPlayerValues(gameId, playerId));\r\n }\r\n }\r\n\r\n\r\n/* Fetch Player Profile */\r\n\r\nconst fetchPlayerProfileRequest = (gameId, playerId) => ({ type: types.FETCH_PLAYER_PROFILE_REQUEST, gameId, playerId });\r\nconst fetchPlayerProfileSuccess = (gameId, playerId, payload) => ({ type: types.FETCH_PLAYER_PROFILE_SUCCESS, gameId, playerId, payload });\r\nconst fetchPlayerProfileFailure = (gameId, playerId) => ({ type: types.FETCH_PLAYER_PROFILE_FAILURE, gameId, playerId });\r\n\r\nexport const fetchPlayerProfile = (gameId, playerId) => (dispatch) => {\r\n dispatch(fetchPlayerProfileRequest(gameId, playerId));\r\n\r\n axios.get(`/games/${ gameId }/players/${ playerId }/profile`).then(response => {\r\n dispatch(fetchPlayerProfileSuccess(gameId, playerId, normalize(response.data, playerProfileSchema)));\r\n }, error => {\r\n dispatch(fetchPlayerProfileFailure(gameId, playerId));\r\n });\r\n}\r\n\r\n\r\n\r\n/* Fetch Player Fantasy Statistics */\r\n\r\nconst fetchPlayerGameStatisticsRequest = (gameId, playerId) => ({ type: types.FETCH_PLAYER_GAME_STATISTICS_REQUEST, gameId, playerId });\r\nconst fetchPlayerGameStatisticsSuccess = (gameId, playerId, payload) => ({ type: types.FETCH_PLAYER_GAME_STATISTICS_SUCCESS, gameId, playerId, payload });\r\nconst fetchPlayerGameStatisticsFailure = (gameId, playerId) => ({ type: types.FETCH_PLAYER_GAME_STATISTICS_FAILURE, gameId, playerId });\r\n\r\nexport const fetchPlayerGameStatistics = (gameId, playerId) => (dispatch) => {\r\n dispatch(fetchPlayerGameStatisticsRequest(gameId, playerId));\r\n\r\n axios.get(`/games/${ gameId }/players/${ playerId }/statistics`).then(response => {\r\n dispatch(fetchPlayerGameStatisticsSuccess(gameId, playerId, normalize(response.data, [playerGameStatisticsSchema])));\r\n }, error => {\r\n dispatch(fetchPlayerGameStatisticsFailure(gameId, playerId));\r\n });\r\n}\r\n\r\n\r\n\r\n/* Fetch Statistics By Round */\r\n\r\nconst fetchStatisticsByRoundRequest = (gameId, round) => ({ type: types.FETCH_STATISTICS_BY_ROUND_REQUEST, gameId, round });\r\nconst fetchStatisticsByRoundSuccess = (gameId, round, payload) => ({ type: types.FETCH_STATISTICS_BY_ROUND_SUCCESS, gameId, round, payload });\r\nconst fetchStatisticsByRoundFailure = (gameId, round) => ({ type: types.FETCH_STATISTICS_BY_ROUND_FAILURE, gameId, round });\r\n\r\nconst fetchStatisticsByRound = (gameId, round) => (dispatch) => {\r\n\r\n dispatch(fetchStatisticsByRoundRequest(gameId, round));\r\n \r\n axios.get(`/games/${ gameId }/rounds/${ round }/statistics`).then(response => {\r\n dispatch(fetchStatisticsByRoundSuccess(gameId, round, normalize(response.data, [playerRoundStatisticsSchema])));\r\n }, error => {\r\n dispatch(fetchStatisticsByRoundFailure(gameId, round));\r\n });\r\n}\r\n\r\n\r\n\r\n\r\nconst shouldFetchStatisticsByRound = (state, gameId, round) => {\r\n \r\n const { isFetching, items, didInvalidate } = state.player.statisticsByRound[gameId] && state.player.statisticsByRound[gameId][round] || { items : null, isFetching: false, didInvalidate : false }\r\n \r\n\r\n\r\n if (isFetching) {\r\n return false;\r\n } \r\n else if (!items) {\r\n return true;\r\n }\r\n \r\n else {\r\n return didInvalidate;\r\n }\r\n }\r\n \r\n \r\n export const fetchStatisticsByRoundIfNeeded = (gameId, round) => (dispatch, getState) => {\r\n if (shouldFetchStatisticsByRound(getState(), gameId, round)) {\r\n \r\n \r\n dispatch(fetchStatisticsByRound(gameId, round));\r\n }\r\n }\r\n\r\n\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { connect } from 'react-redux';\r\nimport { createSelector } from 'reselect'\r\n\r\nimport { fetchStatisticsByRoundIfNeeded } from '../redux/player/actions';\r\nimport { camelize, pluralize } from 'utils';\r\n\r\nclass WithPlayerValues extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.fetch(this.props.gameId, this.props.round);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if ((nextProps.gameId !== this.props.gameId) || (nextProps.round !== this.props.round)) {\r\n this.props.fetch(nextProps.gameId, nextProps.round);\r\n }\r\n }\r\n\r\n render() {\r\n const { statistics, children } = this.props;\r\n if (!statistics)\r\n return null;\r\n else { \r\n return children(statistics);\r\n }\r\n }\r\n}\r\n\r\nexport const makeGetStatistics = () => createSelector([\r\n (state, props) => props.gameId,\r\n (state, props) => props.round,\r\n (state) => state.player.statisticsByRound,\r\n (state) => state.entities.playerValues,\r\n (state) => state.entities.eventTypes\r\n \r\n ],\r\n (gameId, round, statisticsByRound, playerValueEntities, eventTypeEntities) => {\r\n const stats = (statisticsByRound[gameId] && statisticsByRound[gameId][round]) || [];\r\n\r\n \r\n\r\n return (stats.items || []).reduce((agg, stat) => {\r\n const values = playerValueEntities[stat.values];\r\n\r\n const round = stat.events.round.reduce((agg, r) => {\r\n const eventType = eventTypeEntities[r.type];\r\n if (eventType) {\r\n agg[camelize(eventType.name)] = r.amount\r\n return agg;\r\n }\r\n }, {});\r\n\r\n\r\n const total = stat.events.total.reduce((agg, r) => {\r\n const eventType = eventTypeEntities[r.type];\r\n if (eventType) {\r\n agg[camelize(eventType.name)] = r.amount\r\n return agg;\r\n }\r\n }, {});\r\n\r\n agg[stat.player] = { \r\n values,\r\n round,\r\n total\r\n };\r\n\r\n return agg;\r\n }, {})\r\n }\r\n)\r\n\r\nconst makeMapStateToProps = () => {\r\n const getStatistics = makeGetStatistics();\r\n return (state, ownProps) => ({\r\n statistics : getStatistics(state, ownProps)\r\n })\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch, ownProps) {\r\n return {\r\n fetch(gameId, round) {\r\n \r\n dispatch(fetchStatisticsByRoundIfNeeded(gameId, round));\r\n }\r\n }\r\n}\r\n\r\nWithPlayerValues.propTypes = {\r\n gameId : PropTypes.number.isRequired,\r\n round : PropTypes.number.isRequired\r\n}\r\n\r\nexport default connect(makeMapStateToProps, mapDispatchToProps)(WithPlayerValues);\r\n\r\n","import axios from 'axios'\r\nimport { normalize } from 'normalizr'\r\n\r\nimport { watchlistSchema } from '../../schemas'\r\nimport auth from '../../common/auth'\r\n\r\nimport * as types from './types';\r\n\r\n/* Fetch Statistics By Round */\r\n\r\nconst fetchWatchlistRequest = (gameId) => ({ type: types.FETCH_WATCHLIST_REQUEST, gameId });\r\nconst fetchWatchlistSuccess = (gameId, payload) => ({ type: types.FETCH_WATCHLIST_SUCCESS, gameId, payload });\r\nconst fetchWatchlistFailure = (gameId) => ({ type: types.FETCH_WATCHLIST_FAILURE, gameId });\r\n\r\n const fetchWatchlist = (gameId) => (dispatch) => {\r\n if (!auth.authenticated)\r\n return;\r\n\r\n dispatch(fetchWatchlistRequest(gameId));\r\n \r\n const accessToken = auth.getAccessToken();\r\n axios.get(`/games/${ gameId }/watchlist?access_token=${ accessToken }`).then(response => {\r\n dispatch(fetchWatchlistSuccess(gameId, normalize(response.data, [watchlistSchema])));\r\n }, error => {\r\n dispatch(fetchWatchlistFailure(gameId));\r\n });\r\n}\r\n\r\nconst shouldFetchWatchlist = (state, gameId) => {\r\n const { watchlist } = state;\r\n\r\n if (!watchlist.byGame[gameId + '']) {\r\n return true;\r\n } else if (watchlist.byGame[gameId + ''].isFetching) {\r\n return false;\r\n } else {\r\n return watchlist.byGame[gameId + ''].didInvalidate;\r\n }\r\n}\r\n\r\nexport const fetchWatchlistIfNeeded = (gameId) => {\r\n return (dispatch, getState) => {\r\n if (shouldFetchWatchlist(getState(), gameId)) {\r\n return dispatch(fetchWatchlist(gameId))\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n/* Add to watchlist */\r\n\r\nconst addToWatchlistRequest = (gameId, playerId) => ({ type: types.ADD_TO_WATCHLIST_REQUEST, gameId, playerId });\r\nconst addToWatchlistSuccess = (gameId, playerId, payload) => ({ type: types.ADD_TO_WATCHLIST_SUCCESS, gameId, playerId, payload });\r\nconst addToWatchlistFailure = (gameId, playerId) => ({ type: types.ADD_TO_WATCHLIST_FAILURE, gameId, playerId });\r\n\r\nexport const addToWatchlist = (gameId, playerId) => (dispatch) => {\r\n\r\n if (!auth.authenticated)\r\n throw 'User is not authenticated.';\r\n\r\n dispatch(addToWatchlistRequest(gameId, playerId));\r\n\r\n const accessToken = auth.getAccessToken();\r\n return axios.post(`/games/${ gameId }/players/${ playerId }/watchlist?access_token=${ accessToken }`, {}).then(response => {\r\n dispatch(addToWatchlistSuccess(gameId, playerId, normalize(response.data, watchlistSchema) ));\r\n }, error => {\r\n dispatch(addToWatchlistFailure(gameId, playerId));\r\n })\r\n}\r\n\r\n\r\n/* Remove from watchlist */\r\n\r\nconst removeFromWatchlistRequest = (gameId, playerId) => ({ type: types.REMOVE_FROM_WATCHLIST_REQUEST, gameId, playerId });\r\nconst removeFromWatchlistSuccess = (gameId, playerId, payload) => ({ type: types.REMOVE_FROM_WATCHLIST_SUCCESS, gameId, playerId, payload });\r\nconst removeFromWatchlistFailure = (gameId, playerId) => ({ type: types.REMOVE_FROM_WATCHLIST_FAILURE, gameId, playerId });\r\n\r\nexport const removeFromWatchlist = (gameId, playerId) => (dispatch) => {\r\n if (!auth.authenticated)\r\n throw 'User is not authenticated.';\r\n\r\n dispatch(removeFromWatchlistRequest(gameId, playerId));\r\n const accessToken = auth.getAccessToken();\r\n return axios.delete(`/games/${ gameId }/players/${ playerId }/watchlist?access_token=${ accessToken }`).then(response => {\r\n dispatch(removeFromWatchlistSuccess(gameId, playerId, {}));\r\n }, error => {\r\n dispatch(removeFromWatchlistFailure(gameId, playerId));\r\n });\r\n}","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { connect } from 'react-redux';\r\n\r\nimport { createSelector } from 'reselect'\r\n\r\nimport { fetchWatchlistIfNeeded, addToWatchlist, removeFromWatchlist } from '../redux/watchlist/actions'\r\n\r\nimport GameContext from './GameContext'\r\n\r\nclass WithWatchlist extends React.PureComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.addToWatchlist = this.addToWatchlist.bind(this);\r\n this.removeFromWatchlist = this.removeFromWatchlist.bind(this);\r\n }\r\n\r\n addToWatchlist(playerId) {\r\n this.props.add(this.props.gameId, playerId);\r\n }\r\n\r\n removeFromWatchlist(playerId) {\r\n this.props.remove(this.props.gameId, playerId);\r\n }\r\n\r\n\r\n componentDidMount() {\r\n this.props.fetchIfNeeded(this.props.gameId);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.gameId !== this.props.gameId) {\r\n \r\n this.props.fetchIfNeeded(nextProps.gameId);\r\n }\r\n }\r\n\r\n render() {\r\n const { watchlist, children } = this.props;\r\n \r\n return children({ watchlist, addToWatchlist : this.addToWatchlist, removeFromWatchlist : this.removeFromWatchlist });\r\n }\r\n}\r\n\r\nconst getWatchlist = createSelector([\r\n (state) => (state.watchlist.byGame[state.games.selected] || {}).items\r\n ],\r\n (watchlist) => {\r\n return (watchlist || []).map(w => w.player);\r\n })\r\n\r\n\r\nconst mapStateToProps = state => ({\r\n watchlist : getWatchlist(state)\r\n})\r\n\r\nfunction mapDispatchToProps(dispatch, ownProps) {\r\n return {\r\n fetchIfNeeded(gameId) {\r\n dispatch(fetchWatchlistIfNeeded(gameId));\r\n },\r\n add(gameId, playerId) {\r\n dispatch(addToWatchlist(gameId, playerId));\r\n },\r\n remove(gameId, playerId) {\r\n dispatch(removeFromWatchlist(gameId, playerId));\r\n }\r\n }\r\n}\r\n\r\nWithWatchlist.propTypes = {\r\n gameId : PropTypes.number.isRequired\r\n}\r\n\r\n\r\nconst ConnectedWithWatchlist = connect(mapStateToProps, mapDispatchToProps)(WithWatchlist);\r\n\r\nconst WithWatchlistWrapper = ({ match, children }) => (\r\n { ({ game }) => {\r\n \r\n return game && { children }\r\n }}\r\n)\r\n\r\n\r\nexport default WithWatchlistWrapper;\r\n\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport GameContext from './GameContext'\r\nimport WithPlayerRoundStatistics from './WithPlayerRoundStatistics';\r\nimport WithWatchlist from './WithWatchlist'\r\n\r\nimport { fullName } from 'utils';\r\n\r\nclass WithTournamentStatistics extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n items : []\r\n }\r\n this.shape = this.shape.bind(this);\r\n }\r\n\r\n\r\n shape(props) {\r\n const players = props.tournament.players.filter(p => p.active && p.team.active ).map(player => {\r\n const statistics = props.statistics[player.id] || {};\r\n\r\n return {\r\n player : {\r\n ...player,\r\n person : {\r\n ...player.person,\r\n fullName : fullName(player.person)\r\n }\r\n },\r\n watchlist : (props.watchlist ||[]).indexOf(player.id) >= 0,\r\n ...statistics,\r\n disabled : player.eliminated || player.team.eliminated || !player.active || !player.team.active\r\n }\r\n });\r\n\r\n return players; \r\n }\r\n\r\n componentDidMount() {\r\n const items = this.shape(this.props);\r\n this.setState({ items });\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.game !== this.props.game || nextProps.tournament !== this.props.tournament || \r\n nextProps.statistics !== this.props.statistics || nextProps.watchlist !== this.props.watchlist)\r\n {\r\n\r\n const items = this.shape(nextProps);\r\n this.setState({ items })\r\n }\r\n }\r\n\r\n render() {\r\n return this.props.children({ \r\n items : this.state.items\r\n });\r\n }\r\n}\r\n\r\nWithTournamentStatistics.propTypes = {\r\n game : PropTypes.object.isRequired,\r\n tournament : PropTypes.object.isRequired,\r\n statistics : PropTypes.object.isRequired,\r\n watchlist : PropTypes.array.isRequired\r\n}\r\n\r\nWithTournamentStatistics.defaultProps = {\r\n watchlist : []\r\n}\r\n\r\nconst WithTournamentStatisticsWrapper = ({ round, ...otherProps }) => (\r\n { ({ tournament, game, ruleset }) => (\r\n { ({ watchlist }) => (\r\n { (statistics) => {\r\n if (!tournament)\r\n return null;\r\n\r\n return (\r\n \r\n )\r\n }}\r\n )}\r\n )}\r\n)\r\n\r\nWithTournamentStatisticsWrapper.propTypes = {\r\n round : PropTypes.number.isRequired\r\n}\r\n\r\nexport default WithTournamentStatisticsWrapper;\r\n\r\n\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { \r\n Highlight,\r\n FormattedValue\r\n\r\n} from 'components';\r\n\r\nimport WithTournamentStatistics from '../../WithTournamentStatistics';\r\nimport LocalizeText from '../../LocalizeText';\r\nimport PlayerLink from '../../PlayerLink'\r\n\r\nimport { matchesConditions, resolve } from 'utils'\r\n\r\nclass Filter extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n items : []\r\n }\r\n this.filter = this.filter.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.filter(this.props);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if ((nextProps.items !== this.props.items) || (nextProps.conditions !== this.props.conditions)) {\r\n this.filter(nextProps);\r\n }\r\n }\r\n\r\n filter(props) {\r\n this.setState({\r\n items : (props.items || []).filter(i => matchesConditions(i, props.conditions))\r\n })\r\n }\r\n\r\n render() {\r\n return this.props.children({ items : this.state.items });\r\n }\r\n}\r\n\r\n\r\nclass Sort extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n items : []\r\n }\r\n this.sort = this.sort.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.sort(this.props);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if ((nextProps.items !== this.props.items) ||\r\n (nextProps.sort !== this.props.sort)) {\r\n this.sort(nextProps);\r\n }\r\n }\r\n\r\n sort(props) {\r\n const sorted = props.items.slice().sort((a, b) => {\r\n for(var i = 0; i < props.sort.length; i++) {\r\n const si = props.sort[i];\r\n const av = resolve(si.property, a) || si.default;\r\n const bv = resolve(si.property, b) || si.default;\r\n \r\n if (av > bv)\r\n return si.direction === 'asc' ? 1 : -1;\r\n else if (bv > av)\r\n return si.direction === 'asc' ? -1 : 1;\r\n }\r\n \r\n return 0;\r\n });\r\n\r\n this.setState({\r\n items : sorted\r\n })\r\n }\r\n\r\n render() {\r\n return this.props.children({ items : this.state.items });\r\n }\r\n}\r\n\r\n\r\n\r\nclass TournamentPlayerHighlightList extends React.PureComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n filters : []\r\n }\r\n\r\n this.updateFilters = this.updateFilters.bind(this);\r\n this.sortByColumn = this.sortByColumn.bind(this);\r\n }\r\n\r\n \r\n updateFilters(props) {\r\n const conditions = [];\r\n conditions.push({ property : 'player.active', op : 'eq', value : true });\r\n\r\n if (props.positions && props.positions.length > 0)\r\n conditions.push({ property : 'player.position.slug', op : 'in', value : props.positions });\r\n\r\n if (props.team)\r\n conditions.push({ property : 'player.team.slug', op : 'eq', value : props.team });\r\n\r\n this.setState({\r\n filters : conditions\r\n })\r\n }\r\n\r\n componentDidMount() {\r\n this.updateFilters(this.props);\r\n \r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n\r\n if (\r\n (nextProps.positions !== this.props.positions) || \r\n (nextProps.team !== this.props.team)\r\n ) {\r\n this.updateFilters(nextProps);\r\n this.setState({ page: 1})\r\n }\r\n\r\n if (nextProps.columns !== this.props.columns) {\r\n const sortColumn = nextProps.columns.find(c => c.sort && c.sort.default);\r\n if (sortColumn) {\r\n this.setState({\r\n activeColumnIndex : nextProps.columns.indexOf(sortColumn)\r\n });\r\n }\r\n }\r\n }\r\n\r\n sortByColumn(index) {\r\n const column = this.props.columns[index];\r\n\r\n if (index === this.state.activeColumnIndex) {\r\n this.setState({\r\n sort : this.state.sort.map(s => {\r\n return {\r\n ...s,\r\n direction : s.direction === 'asc' ? 'desc' : 'asc'\r\n }\r\n })\r\n })\r\n }\r\n else {\r\n this.setState({\r\n activeColumnIndex : index,\r\n sort : column.sort.by || []\r\n })\r\n }\r\n\r\n this.setState({ page: 1})\r\n }\r\n\r\n render() {\r\n\r\n const { highlights, round } = this.props;\r\n\r\n if (this.props.editMode) {\r\n return (\r\n \r\n {\r\n highlights.map((highlight, index) => {\r\n return (\r\n \r\n Player Identity\r\n \r\n )\r\n })\r\n }\r\n \r\n )\r\n }\r\n\r\n\r\n \r\n\r\n return (\r\n { ({ items }) => (\r\n { ({ items : filteredItems }) => (\r\n \r\n \r\n {\r\n highlights.map((highlight, index) => {\r\n return (\r\n { ({ items }) => {\r\n\r\n const item = items[0];\r\n if (!item)\r\n return null;\r\n\r\n const value = resolve(highlight.property, item);\r\n\r\n\r\n return (\r\n }>\r\n \r\n \r\n )\r\n }}\r\n )\r\n })\r\n }\r\n \r\n\r\n \r\n \r\n )}\r\n )}\r\n )\r\n }\r\n}\r\n\r\nTournamentPlayerHighlightList.propTypes = {\r\n round : PropTypes.number,\r\n team : PropTypes.string,\r\n positions : PropTypes.array,\r\n highlights : PropTypes.array,\r\n}\r\n \r\n\r\nexport default TournamentPlayerHighlightList;","import React from 'react';\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { CoverImage } from 'components'\r\n\r\nconst CoverImageWidget = ({ children, ...otherProps }) => {\r\n return \r\n { children }\r\n \r\n\r\n}\r\n\r\n\r\nexport default CoverImageWidget;","import React from 'react';\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { Overlay } from 'components'\r\n\r\n\r\n\r\nconst OverlayWidget = ({ children, ...otherProps }) => {\r\n return \r\n { children }\r\n \r\n\r\n}\r\n\r\n\r\n\r\nexport default OverlayWidget","import React from 'react';\r\nimport PropTypes from 'prop-types'\r\n\r\nconst Html = ({ children }) => {\r\n return
    \r\n\r\n}\r\n\r\nexport default Html;","import React from 'react';\r\nimport PropTypes from 'prop-types'\r\n\r\nconst Text = ({ value }) => {\r\n return value + '';\r\n}\r\n\r\nText.propTypes = {\r\n value : PropTypes.string.isRequired\r\n}\r\n\r\nText.defaultProps = {\r\n value : ''\r\n}\r\n\r\nexport default Text;","import React, { useContext } from 'react';\r\nimport PropTypes from 'prop-types'\r\n\r\nimport * as Components from 'components';\r\n\r\nconst Number = ({ value, ...otherProps }) => {\r\n return \r\n}\r\n\r\nNumber.propTypes = {\r\n value : PropTypes.number.isRequired\r\n}\r\n\r\nNumber.defaultProps = {\r\n value : 0\r\n}\r\n\r\nexport default Number;","import React from 'react';\r\nimport PropTypes from 'prop-types'\r\nimport PlayerIdentity from '../../PlayerIdentity'\r\n\r\nconst PlayerIdentityWidget = ({ editMode, form, hideTeam, hidePosition, value, watchlist }) => {\r\n \r\n\r\n if (editMode) {\r\n\r\n const dummy = {\r\n person : {\r\n firstName : 'Firstname',\r\n lastName : 'Lastname'\r\n },\r\n position : {\r\n name : 'Position',\r\n abbreviation : 'Pos'\r\n },\r\n team : {\r\n name : 'Team',\r\n abbreviation : 'TEM'\r\n }\r\n }\r\n\r\n \r\n return ;\r\n }\r\n \r\n \r\n \r\n return ;\r\n}\r\n\r\nPlayerIdentityWidget.propTypes = {\r\n editMode : PropTypes.bool,\r\n value : PropTypes.object,\r\n watchlist : PropTypes.bool,\r\n hideTeam : PropTypes.bool,\r\n hidePosition : PropTypes.bool,\r\n form : PropTypes.string.isRequired,\r\n}\r\n\r\nPlayerIdentityWidget.defaultProps = {\r\n form : 'auto'\r\n}\r\n\r\nexport default PlayerIdentityWidget;","import React, { useContext } from 'react';\r\nimport PropTypes from 'prop-types'\r\nimport { exp } from 'utils';\r\nimport DataContext from '../../../components/DataContext'\r\nimport * as Components from 'components';\r\n\r\nconst EventDate = ({ editMode, value, defaultValue, ...otherProps }) => {\r\n if (editMode) {\r\n return \"Event Date\";\r\n }\r\n\r\n\r\n return (value && ) || defaultValue;\r\n}\r\n\r\nEventDate.propTypes = {\r\n value : PropTypes.string.isRequired,\r\n defaultValue : PropTypes.string.isRequired\r\n}\r\n\r\nEventDate.defaultProps = {\r\n value : '',\r\n defaultValue : '-'\r\n}\r\n\r\nexport default EventDate;","import React from 'react';\r\nimport PropTypes from 'prop-types'\r\nimport { percent } from 'utils';\r\n\r\nconst Percent = ({ value, defaultValue }) => {\r\n if (typeof value == 'number') {\r\n return percent(value);\r\n }\r\n else {\r\n return defaultValue;\r\n }\r\n}\r\n\r\nPercent.propTypes = {\r\n value : PropTypes.number\r\n}\r\n\r\nPercent.defaultProps = {\r\n defaultValue : '-'\r\n}\r\n\r\nexport default Percent;","import React, { useContext } from 'react';\r\nimport PropTypes from 'prop-types'\r\n\r\nconst Json = ({ value }) => {\r\n return typeof value === 'object' ? JSON.stringify(value) : value + '';\r\n}\r\n\r\nJson.propTypes = {\r\n value : PropTypes.object.isRequired\r\n}\r\n\r\nJson.defaultProps = {\r\n value : ''\r\n}\r\n\r\nexport default Json;","import React, { useContext } from 'react';\r\nimport PropTypes from 'prop-types'\r\nimport * as Components from 'components';\r\nimport GameContext from '../../GameContext';\r\nimport { lo } from 'utils';\r\n\r\n\r\nexport const PageTitle = ({ editMode, title }) => {\r\n if (editMode)\r\n return null;\r\n\r\n \r\n\r\n const siteName = window.swush.site && window.swush.site.name;\r\n return \r\n}\r\n\r\nPageTitle.propTypes = {\r\n title : PropTypes.string.isRequired\r\n}\r\n\r\n\r\n\r\nexport const GamePageTitle = ({ editMode, title }) => {\r\n if (editMode)\r\n return null;\r\n\r\n \r\n \r\n const { game } = useContext(GameContext)\r\n \r\n const siteName = window.swush.site && window.swush.site.name;\r\n \r\n return \r\n}\r\n\r\nGamePageTitle.propTypes = {\r\n title : PropTypes.string.isRequired\r\n}","import React, { useEffect, useContext, useRef } from 'react';\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { exp } from 'utils';\r\nimport { DataContext, ErrorBoundary } from 'components';\r\n\r\nconst Script = ({ context, src, onInit, onLoad }) => {\r\n const ref = useRef();\r\n const ctx = useContext(DataContext);\r\n \r\n\r\n const scriptContext = exp(context, ctx);\r\n\r\n\r\n \r\n useEffect(() => {\r\n let script = document.querySelector('script[src=\"' + src + '\"]');\r\n \r\n const onInitFunc = onInit ? new Function(['el', 'context'], onInit) : () => {};\r\n onInitFunc(ref.current);\r\n \r\n const onLoadFunc = onLoad ? new Function(['el', 'context'], onLoad) : () => {};\r\n\r\n if (script) {\r\n // Script is already present\r\n onLoadFunc(ref.current, scriptContext);\r\n }\r\n else {\r\n const script = document.createElement(\"script\");\r\n \r\n script.onload = () => {\r\n onLoadFunc(ref.current, scriptContext);\r\n }\r\n\r\n script.src = src;\r\n script.async = true;\r\n\r\n document.body.appendChild(script);\r\n }\r\n }, []);\r\n\r\n \r\n return
    ;\r\n\r\n}\r\n\r\nexport default Script;","import React from 'react';\r\nimport { Box } from 'components';\r\n\r\nconst ContentContainer = ({ children }) => {\r\n return { children }\r\n}\r\n\r\n\r\nexport default ContentContainer;","import React from 'react';\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { Underlay } from 'components'\r\n\r\n\r\nexport const UnderlayUnderlayWidget = ({ children, ...otherProps }) => {\r\n return children;\r\n\r\n}\r\n\r\nexport const UnderlayContentWidget = ({ children }) => {\r\n return children;\r\n\r\n}\r\n\r\n\r\nexport const UnderlayWidget = ({ children }) => {\r\n const underlay = children.find(c => c.type === UnderlayUnderlayWidget);\r\n const content = children.find(c => c.type === UnderlayContentWidget);\r\n\r\n return \r\n { content.props.children }\r\n \r\n\r\n}\r\n\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types'\r\n\r\nconst Sticky = ({ offset, children }) => {\r\n return
    \r\n { children }\r\n
    \r\n}\r\n\r\nSticky.defaultProps = {\r\n offset : 0\r\n}\r\n\r\nexport default Sticky;","import { useMemo } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport { pushFlyout, popFlyout, clearFlyouts } from '../redux/ui/actions';\r\n\r\nconst useFlyout = () => {\r\n const dispatch = useDispatch()\r\n const res = useMemo(() => {\r\n const push = (type, props) => {\r\n dispatch(pushFlyout(type, props));\r\n }\r\n \r\n const pop = () => {\r\n dispatch(popFlyout());\r\n }\r\n \r\n const clear = () => {\r\n dispatch(clearFlyouts())\r\n }\r\n \r\n return [push, pop, clear] \r\n }, [])\r\n \r\n return res;\r\n};\r\n\r\nexport default useFlyout;\r\n\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types'\r\nimport { Paragraph } from 'components'\r\n\r\n\r\nconst ParagraphWidget = ({ text }) => {\r\n return { text }\r\n\r\n}\r\n\r\nexport default ParagraphWidget;","import React, { useContext } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nconst AppConfigContext = React.createContext();\r\n\r\n\r\nexport const AppConfigProvider = ({ config, children }) => {\r\n return (\r\n \r\n { children }\r\n \r\n )\r\n}\r\n\r\n\r\n\r\nexport const useAppConfig = () => {\r\n return useContext(AppConfigContext);\r\n}","import React from 'react';\r\nimport { useParams } from 'react-router-dom';\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { NavigationMenu } from 'components'\r\n\r\nimport { useAppConfig } from '../../AppConfigProvider'\r\n\r\nimport { format } from 'utils';\r\n\r\nconst NavigationMenuWidget = ({ menu }) => {\r\n const cfg = useAppConfig();\r\n const params = useParams();\r\n\r\n const menuItems = cfg && cfg.menus && cfg.menus[menu] || [];\r\n\r\n const mappedItems = menuItems.map(i => {\r\n return {\r\n text : i.text,\r\n href : format(i.url, params),\r\n external : i.external\r\n };\r\n });\r\n\r\n return \r\n\r\n}\r\n\r\nexport default NavigationMenuWidget;","import React from 'react'\r\n\r\nimport { Block } from 'components'\r\n\r\nimport ReactMarkdown from 'react-markdown';\r\n\r\nimport styled from 'styled-components'\r\n\r\n\r\nexport const ContentEditor = ({ text, ...otherProps }) => {\r\n\r\n \r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\n\r\nconst StyledContainer = styled.div`\r\n table {\r\n width: 100%;\r\n }\r\n \r\n th, td {\r\n padding: 0 6px;\r\n line-height: 12px;\r\n box-sizing: border-box;\r\n height: 36px;\r\n white-space: nowrap;\r\n }\r\n\r\n th {\r\n border-bottom: 1px solid rgba(#000, 0.1);\r\n text-align: left;\r\n color: #8A8A8A;\r\n font-weight: normal;\r\n font-size: 11px;\r\n vertical-align: bottom;\r\n padding: 6px;\r\n \r\n }\r\n\r\n td {\r\n border-top: 1px solid rgba(255,255,255, 0.1);\r\n border-bottom: 1px solid rgba(0,0,0, 0.1);\r\n }\r\n` \r\n\r\n\r\nexport const Content = ({ text, ...otherProps }) => {\r\n\r\n \r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\n","import React, { useState, useEffect } from 'react';\r\nimport ReactDOM from 'react-dom'\r\n\r\nimport styled from 'styled-components'\r\n\r\nimport styles from './SiteFooter.module.css'\r\n\r\nconst Container = styled.div`\r\n max-width: 1200px;\r\n margin: 0 auto;\r\n display: none;\r\n margin-top: 24px;\r\n\r\n color : var(--meta-text-color);\r\n font-size: 12px;\r\n\r\n p { \r\n font-size: inherit; \r\n line-height: 2; \r\n }\r\n a { \r\n color : var(--meta-text-color);\r\n text-decoration: underline;\r\n }\r\n \r\n @media screen and (min-width: 1024px) {\r\n display: block;\r\n }\r\n\r\n`\r\n\r\n\r\nconst SiteFooter = ({ children }) => {\r\n const [showContent, setShowContent] = useState(false);\r\n\r\n useEffect(() => {\r\n setTimeout(() => setShowContent(true), 250);\r\n }, [])\r\n\r\n return showContent ? { children } : null;\r\n\r\n}\r\n\r\nconst PortalSiteFooter = ({ children }) => {\r\n const el = document.getElementById('sw-footer');\r\n if (el) {\r\n \r\n return ReactDOM.createPortal({ children }, el)\r\n }\r\n else {\r\n return null;\r\n }\r\n\r\n}\r\n\r\nexport default PortalSiteFooter;","import React from 'react';\r\nimport { withRouter, Link } from 'react-router-dom'\r\nimport { format, getConfigurationSection } from '../../common/utils'\r\n\r\nimport { ExternalLink, HorizontalMenu, VerticalMenu, MenuItem } from '../../components'\r\n\r\n\r\nimport GameContext from '../GameContext';\r\nimport LocalizeText from '../LocalizeText'\r\n\r\n\r\nconst GameMenu = ({ match, vertical, themeName }) => (\r\n\r\n \r\n\r\n \r\n { ({ game, gameConfiguration}) => {\r\n\r\n if (!gameConfiguration || !game)\r\n return;\r\n\r\n \r\n const menu = getConfigurationSection(gameConfiguration, 'menu', window.swush.profile);\r\n const Menu = vertical ? VerticalMenu : HorizontalMenu;\r\n\r\n return (\r\n \r\n {\r\n menu && menu.items.map((i, index) => {\r\n if (i.external || window.swush.routing == 'static') {\r\n const url = format(i.url, { language: match.params.language, gameSlug: game.slug, gameId : game.id });\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n else {\r\n const route = format(i.url, { language: match.params.language, gameSlug: game.slug, gameId : game.id });\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n })\r\n }\r\n \r\n )\r\n }}\r\n \r\n)\r\n\r\nGameMenu.defaultProps = {\r\n vertical : false\r\n}\r\n\r\nexport default withRouter(GameMenu);","\r\nimport { createSelector } from 'reselect'\r\n\r\nexport const getIsAuthenticated = createSelector(state => state.auth.isAuthenticated, (isAuthenticated) => isAuthenticated)\r\n","import { createSelector } from 'reselect'\r\n\r\nexport const getMe = createSelector(\r\n state => state.user.me,\r\n state => state.user.byId,\r\n (me, userEntities) => {\r\n\r\n\r\n\r\n return me && userEntities[me]\r\n }\r\n);","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\n\r\nimport { Attachment, NotificationIcon } from 'components'\r\n\r\nconst ConnectedNotificationBadge = ({ children }) => {\r\n const notificationCount = useSelector(state => state.notification.count);\r\n\r\n if (notificationCount > 0)\r\n {\r\n return (\r\n }>\r\n { children }\r\n \r\n )\r\n }\r\n else \r\n return children;\r\n}\r\n\r\nexport default ConnectedNotificationBadge;","import React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport { acknowledgeNotifications } from '../redux/notification/actions'\r\nimport useFlyout from '../hooks/useFlyout';\r\nimport { useAuthentication } from '../hooks/useAuthentication';\r\n\r\nimport { Icon, ToolbarButton } from 'components'\r\nimport ConnectedNotificationBadge from './ConnectedNotificationBadge'\r\n\r\nconst NotificationBell = () => {\r\n const dispatch = useDispatch();\r\n const [push] = useFlyout();\r\n const auth = useAuthentication();\r\n \r\n const handleShowNotifications = () => {\r\n dispatch(acknowledgeNotifications());\r\n push('notifications', {} )\r\n }\r\n\r\n if (!auth.isAuthenticated)\r\n return null;\r\n \r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default NotificationBell;","import { useSelector } from 'react-redux'\r\n\r\nexport const useAuthentication = () => {\r\n return useSelector(state => state.auth || { isAuthenticated : false });\r\n}\r\n\r\n","import React, { useCallback } from 'react';\r\nimport { useDispatch } from 'react-redux'\r\n\r\nimport { start } from '../redux/auth/actions'\r\nimport { useAppConfig } from './AppConfigProvider'\r\nimport auth from '../common/auth';\r\n\r\nconst useAuthenticator = () => {\r\n const dispatch = useDispatch();\r\n const cfg = useAppConfig();\r\n\r\n const tryAuthenticate = useCallback(() => {\r\n\r\n if (!auth.authenticated) { \r\n if (!cfg)\r\n alert('Configuration not loaded');\r\n\r\n if (cfg.auth && cfg.auth.type == 'local') {\r\n dispatch(start());\r\n }\r\n else if (cfg.auth && cfg.auth.type == 'redirect') {\r\n \r\n location.href = (typeof cfg.auth.redirect == 'function') ? cfg.auth.redirect() : cfg.auth.redirect;\r\n \r\n }\r\n else {\r\n location.href = window.swush.externalBaseUrl + '/account/signin';\r\n }\r\n } \r\n\r\n return auth.authenticated;\r\n });\r\n\r\n return [tryAuthenticate];\r\n}\r\n\r\nexport default useAuthenticator;","import React from 'react';\r\nimport { useDispatch } from 'react-redux'\r\n\r\nimport { XButton, LinkButton } from 'components'\r\n\r\nimport { start } from '../redux/auth/actions'\r\nimport { useAppConfig } from './AppConfigProvider'\r\n\r\nimport useAuthenticator from './useAuthenticator';\r\n\r\n\r\nconst AuthenticationButton = ({ children, ...otherProps }) => {\r\n const [tryAuthenticate] = useAuthenticator();\r\n\r\n return tryAuthenticate() } {...otherProps } textTransform=\"uppercase\">{ children }\r\n\r\n}\r\n\r\nexport default AuthenticationButton;","import React from 'react';\r\nimport { useSelector } from 'react-redux'\r\n\r\nimport { UserDropdown, Icon } from 'components'\r\n\r\nimport { getIsAuthenticated } from '../redux/auth/selectors'\r\nimport { getMe } from '../redux/user/selectors'\r\n\r\nimport { useTranslator } from '../hooks/useTranslator'\r\n\r\nimport NotificationBell from './NotificationBell'\r\n\r\nimport AuthenticationButton from './AuthenticationButton'\r\nimport { StaticRouter } from 'react-router';\r\n\r\nconst UnauthenticatedMenu = () => {\r\n const t = useTranslator();\r\n\r\n return (\r\n
    \r\n { t('common.signIn') }\r\n {' '}\r\n { t('common.register') }\r\n
    \r\n )\r\n}\r\n\r\n\r\nconst AuthenticatedUserMenu = ({ hideName, }) => {\r\n const t = useTranslator();\r\n const user = useSelector(state => state.user.me && state.user.byId[state.user.me]);\r\n\r\n if (user == null)\r\n return null;\r\n\r\n\r\n const items = [\r\n { value : '/users/' + user.slug, label : t('common.profile') },\r\n { value : '/account', label : t('common.account') },\r\n { value : '/signout', label : t('common.signout') }\r\n ];\r\n\r\n const onSelect = (value) => {\r\n location.href = window.swush.externalBaseUrl + value\r\n }\r\n\r\n return (\r\n \r\n\r\n { \r\n window.swush.basket && window.swush.basket.count > 0 && \r\n \r\n \r\n \r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst UserMenu = React.memo(({ hideName }) => {\r\n const isAuthenticated = useSelector(state => getIsAuthenticated(state));\r\n const isAuthenticating = useSelector(state => state.auth.isAuthenticating);\r\n const me = useSelector(state => getMe(state));\r\n \r\n if (isAuthenticating)\r\n return null;\r\n\r\n return isAuthenticated ? : ;\r\n})\r\n\r\nexport default UserMenu;","import React from 'react';\r\nimport { withRouter, Switch, Route, useParams } from 'react-router-dom'\r\nimport { connect } from 'react-redux';\r\nimport { TopBar, VerticalMenu, MenuItem, Box, Icon, CSSVariables, Gamebox, Phase, PhaseText } from 'components'\r\n\r\nimport translatable from '../../../hocs/translatable'\r\nimport { useAppConfig } from '../../AppConfigProvider'\r\n\r\nimport { lo, format } from 'utils'\r\nimport GameMenu from '../../header/GameMenu'\r\nimport GameContext from '../../GameContext';\r\nimport styled from 'styled-components'\r\nimport UserMenu from '../../UserMenu'\r\n\r\n\r\nconst InGameMenu = translatable(withRouter( ({ match, t }) => {\r\n return (\r\n { ({ game, gameConfiguration}) => {\r\n if (!game || !gameConfiguration)\r\n return null;\r\n\r\n return (\r\n\r\n \r\n {(phase) => (\r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n )\r\n }}\r\n )\r\n}))\r\n\r\n\r\n\r\nconst Footer = styled.div`\r\n padding: 24px 12px;\r\n\r\n \r\n color : var(--meta-text-color);\r\n font-size: 12px;\r\n\r\n \r\n p { \r\n font-size: inherit; \r\n line-height: 2; \r\n }\r\n a { \r\n color : var(--meta-text-color);\r\n text-decoration: underline;\r\n }\r\n\r\n a img { opacity: 0.5; transition: 0.1s linear opacity; will-change: opacity; }\r\n a:hover img { opacity: 1; }\r\n\r\n @media screen and (min-width: 1024px) {\r\n display: block;\r\n }\r\n`\r\n\r\n\r\nconst Sidebar = ({ t, logoImageUrl, menu, children }) => {\r\n const cfg = useAppConfig();\r\n const params = useParams();\r\n\r\n \r\n \r\n const menuItems = menu && cfg && cfg.menus && cfg.menus[menu] || [];\r\n \r\n const mappedItems = menuItems.map(i => {\r\n return {\r\n text : i.text,\r\n href : format(i.url, { language : window.swush.locale, ...params })\r\n };\r\n })\r\n \r\n\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \"Logo\"\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n { t('common.allGames') }\r\n \r\n\r\n { \r\n mappedItems.map((l, index) => {\r\n const icon = l.type === 'external' ? 'externalLink' : null;\r\n\r\n return (\r\n \r\n { l.text }\r\n { icon && }\r\n \r\n )\r\n })\r\n }\r\n \r\n\r\n
    { children }
    \r\n
    \r\n )\r\n}\r\n\r\n\r\nconst mapStateToProps = (state, props) => {\r\n const { isAuthenticated, isAuthenticating, username } = state.auth || { isAuthenticated : false };\r\n\r\n const { usersById , me } = {\r\n usersById : state.user.byId,\r\n me : state.user.me,\r\n };\r\n \r\n return {\r\n me : usersById[me] || {},\r\n isAuthenticated,\r\n isAuthenticating, \r\n username\r\n }\r\n}\r\n\r\n\r\nexport default translatable(withRouter(connect(mapStateToProps)(Sidebar)));","import React, { useContext } from 'react'\r\nimport { withRouter, Switch, Route } from 'react-router-dom';\r\nimport PropTypes from 'prop-types'\r\n\r\nimport ViewContainer from './ViewContainer'\r\n\r\nconst PageRouteContext = React.createContext();\r\n\r\nexport const PageRouteProvider = ({ parent, routes, children }) => {\r\n return (\r\n \r\n { children }\r\n \r\n )\r\n}\r\n\r\nPageRouteProvider.propTypes = {\r\n parent : PropTypes.string,\r\n routes : PropTypes.array.isRequired\r\n}\r\n\r\nexport const TemplateContentRegion = withRouter(({ editMode, match }) => {\r\n if (editMode)\r\n return \"(PageContent)\"\r\n\r\n const context = useContext(PageRouteContext);\r\n const childRoutes = context.routes.filter(r => (r.parent === context.parent) || (!r.parent && !context.parent));\r\n\r\n return (\r\n \r\n \r\n { \r\n childRoutes.map(r => {\r\n return (\r\n \r\n { \r\n r.view &&\r\n \r\n \r\n \r\n }\r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n\r\n )\r\n});\r\n\r\n\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types'\r\nimport { TemplateContentRegion } from '../../TemplateContentRegion'\r\n\r\n const TemplateContentRegionWidget = ({ editMode }) => {\r\n\r\n if (editMode)\r\n return '(TemplateContentRegionWidget)';\r\n\r\n return \r\n}\r\n\r\nexport default TemplateContentRegionWidget;","import React, { useMemo } from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\n\r\nimport { setTitle } from '../redux/ui/actions'\r\n\r\nexport const useTitle = () => {\r\n const dispatch = useDispatch();\r\n const title = useSelector(state => state.ui.title);\r\n\r\n const res = useMemo(() => [title, title => dispatch(setTitle(title))], [title])\r\n\r\n return res;\r\n}\r\n\r\n\r\n","import React, { useContext, useEffect } from 'react';\r\nimport PropTypes from 'prop-types'\r\nimport { Head } from 'components';\r\nimport { lo } from 'utils';\r\nimport GameContext from '../../GameContext'\r\nimport { useTitle } from '../../../hooks/useTitle'\r\n\r\n\r\n\r\n const Page = ({ title, description, keywords, children }) => {\r\n const { game } = useContext(GameContext);\r\n const [_, setTitle] = useTitle();\r\n\r\n\r\n\r\n useEffect(() => { setTitle(title), [title] });\r\n \r\n const siteName = window.swush.site && window.swush.site.name;\r\n const fTitle = game ?\r\n `${ title } - ${ lo(game, 'name') } - ${ siteName }` :\r\n `${ title } - ${ siteName }`;\r\n\r\n\r\n \r\n return (\r\n \r\n \r\n { fTitle && { fTitle } }\r\n { description && }\r\n { keywords && }\r\n \r\n\r\n { children }\r\n \r\n );\r\n}\r\n\r\nPage.propTypes = {\r\n title : PropTypes.string,\r\n description : PropTypes.string,\r\n keywords : PropTypes.string\r\n}\r\n\r\nexport default Page;","import axios from 'axios'\r\nimport { normalize } from 'normalizr'\r\n\r\nimport { themeSchema } from '../../schemas';\r\n\r\nimport * as types from './types';\r\n\r\n/* Fetch User Competition Leaderboards */\r\n\r\nconst fetchThemeRequest = (id) => ({ type: types.FETCH_THEME_REQUEST, id });\r\nconst fetchThemeSuccess = (id, payload) => ({ type: types.FETCH_THEME_SUCCESS, id, payload });\r\nconst fetchThemeFailure = (id) => ({ type: types.FETCH_THEME_FAIL, id });\r\n\r\nconst fetchTheme = (id) => (dispatch) => { \r\n dispatch(fetchThemeRequest(id));\r\n\r\n return axios.get(`/themes/${ id }`).then(response => {\r\n dispatch(fetchThemeSuccess(id, normalize(response.data, themeSchema)));\r\n }, e => {\r\n dispatch(fetchThemeFailure(id));\r\n });\r\n}\r\n\r\n\r\nconst shouldFetchTheme = (state, id) => {\r\n const { isFetching, didInvalidate, item } = state.theme.byId[id] || { isFetching : false, didInvalidate : false, item : null};\r\n\r\n if (isFetching) {\r\n return false;\r\n }\r\n else if (!item) {\r\n return true;\r\n }\r\n else {\r\n return didInvalidate;\r\n }\r\n}\r\n\r\nexport const fetchThemeIfNeeded = (id) => (dispatch, getState) => {\r\n if (shouldFetchTheme(getState(), id)) {\r\n dispatch(fetchTheme(id));\r\n }\r\n}\r\n","import { useMemo, useEffect } from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\n\r\n\r\nimport { fetchThemeIfNeeded } from '../redux/theme/actions'\r\nimport { makeGetTheme } from '../redux/theme/selectors'\r\n\r\nexport const useTheme = (id) => {\r\n\r\n const dispatch = useDispatch();\r\n \r\n const getTheme = useMemo(() => makeGetTheme(), [id])\r\n\r\n useEffect(() => {\r\n dispatch(fetchThemeIfNeeded(id));\r\n }, [id]);\r\n\r\n return useSelector(state => getTheme(state, id));\r\n\r\n\r\n}\r\n\r\n\r\n","\r\nimport { createSelector } from 'reselect'\r\n\r\nexport const makeGetTheme = () => createSelector(\r\n (state, id) => state.theme.byId[id],\r\n state => state.entities.themes,\r\n (theme, themeEntities) => {\r\n\r\n const { isFetching, didInvalidate, item } = theme || { isFetching : false, didInvalidate : false, item : null };\r\n\r\n return {\r\n isFetching,\r\n didInvalidate,\r\n item : item && themeEntities[item]\r\n }\r\n }\r\n)\r\n\r\n","import React, { useContext } from 'react';\r\nimport PropTypes from 'prop-types'\r\nimport { CSSVariables } from 'components';\r\nimport { useTheme } from '../../../hooks/useTheme'\r\n\r\nconst Theme = ({ id, children }) => {\r\n const theme = useTheme(id);\r\n\r\n \r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nTheme.propTypes = {\r\n id : PropTypes.number.isRequired\r\n}\r\n\r\nTheme.defaultProps = {\r\n id : ''\r\n}\r\n\r\nexport default Theme;","import React from 'react';\r\n\r\nimport { Hero } from 'components';\r\n\r\n\r\nconst HeroWidget = ({ ...otherProps }) => {\r\n\r\n\treturn (\r\n\t\t\r\n\t)\r\n}\r\n\r\n\r\nexport default HeroWidget;","import React from 'react';\r\nimport { Panel } from 'components'\r\n\r\nconst PanelWidget = ({ children, ...otherProps }) => {\r\n return { children }\r\n}\r\n\r\n\r\nexport default PanelWidget;","import React from 'react';\r\nimport ReactMarkdown from 'react-markdown'\r\n\r\n\r\n\r\nconst Prize = ({ reason, prize, description, imageUrl, link, legalese, children, align = 'left', size = 'default'}) => {\r\n\r\n\r\n\r\n\r\n return (\r\n
    \r\n\r\n {\r\n size == 'large' &&\r\n

    \r\n { reason && { reason }: }\r\n { prize }\r\n

    ||\r\n

    \r\n { reason && { reason }
    }\r\n { prize }\r\n

    \r\n }\r\n \r\n\r\n
    \r\n {\r\n link && \r\n \r\n \r\n ||\r\n \r\n }\r\n
    \r\n\r\n \r\n\r\n { legalese && { legalese } }\r\n
    \r\n )\r\n\r\n}\r\n\r\n\r\n\r\nexport default Prize;","import React from 'react';\r\n\r\nconst Divider = () => {\r\n return
    ;\r\n}\r\n\r\nexport default Divider;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { number } from 'utils';\r\n\r\nimport styles from './Typography.scss'\r\n\r\nconst Growth = ({ value, treatZeroAsMissing }) => {\r\n if (value === 0 && treatZeroAsMissing) {\r\n return '-';\r\n }\r\n else if (value > 0) {\r\n return '+' + number(value);\r\n }\r\n else if (value < 0) {\r\n return { number(value) };\r\n }\r\n else { \r\n return '0'\r\n }\r\n}\r\n\r\nGrowth.propTypes = {\r\n value : PropTypes.number\r\n}\r\n\r\nexport default Growth;","import axios from 'axios'\r\nimport { normalize } from 'normalizr';\r\n\r\nimport * as types from './types';\r\n\r\nimport { matchSchema, eventSchema, fantasyEventSchema } from '../../schemas';\r\n\r\n/* Fetch Match */\r\n\r\nconst fetchMatchRequest = (id) => ({ type: types.FETCH_MATCH_REQUEST, id });\r\nconst fetchMatchSuccess = (id, payload) => ({ type: types.FETCH_MATCH_SUCCESS, id, payload });\r\nconst fetchMatchFailure = (id) => ({ type: types.FETCH_MATCH_FAILURE, id });\r\n\r\nconst fetchMatch = (id) => (dispatch) => {\r\n dispatch(fetchMatchRequest(id))\r\n\r\n axios.get(`matches/${ id }`).then(response => {\r\n dispatch(fetchMatchSuccess(id, normalize(response.data, matchSchema)));\r\n }, error => {\r\n dispatch(fetchMatchFailure(id));\r\n });\r\n}\r\n\r\nconst shouldFetchMatch = (state, id) => {\r\n const item = state.match.byId[id];\r\n \r\n if (!item) {\r\n return true;\r\n }\r\n else if (item.isFetching) {\r\n return false;\r\n }\r\n else {\r\n return item.didInvalidate;\r\n }\r\n }\r\n \r\n \r\nexport const fetchMatchIfNeeded = (id) => (dispatch, getState) => {\r\n if (shouldFetchMatch(getState(), id)) {\r\n dispatch(fetchMatch(id));\r\n }\r\n}\r\n\r\n\r\n/* Fetch Match Events */\r\n\r\nexport const invalidateMatchEvents = (match) => ({ type: types.INVALIDATE_MATCH_EVENTS, match });\r\nconst fetchMatchEventsRequest = (match) => ({ type: types.FETCH_MATCH_EVENTS_REQUEST, match });\r\nconst fetchMatchEventsSuccess = (match, payload) => ({ type: types.FETCH_MATCH_EVENTS_SUCCESS, match, payload });\r\nconst fetchMatchEventsFailure = (match) => ({ type: types.FETCH_MATCH_FANTASY_EVENTS_FAILURE, match });\r\n\r\n\r\n\r\nconst fetchMatchEvents = (match) => (dispatch) => {\r\n dispatch(fetchMatchEventsRequest(match))\r\n\r\n axios.get(`/matches/${ match }/events`).then(response => {\r\n dispatch(fetchMatchEventsSuccess(match, normalize(response.data, [eventSchema])));\r\n }, error => {\r\n dispatch(fetchMatchEventsFailure(match));\r\n });\r\n}\r\n\r\nconst shouldFetchMatchEvents = (state, id) => {\r\n const item = state.match.events[id];\r\n\r\n if (!item) {\r\n return true;\r\n }\r\n else if (item.isFetching) {\r\n return false;\r\n }\r\n else if (typeof item.isFetching == 'undefined') {\r\n return true;\r\n }\r\n else {\r\n return item.didInvalidate;\r\n }\r\n }\r\n \r\n \r\n export const fetchMatchEventsIfNeeded = (id) => (dispatch, getState) => {\r\n \r\n \r\n if (shouldFetchMatchEvents(getState(), id)) {\r\n dispatch(fetchMatchEvents(id));\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n/* Fetch Match Fantasy Events */\r\n\r\nexport const invalidateMatchFantasyEvents = (match) => ({ type: types.INVALIDATE_MATCH_FANTASY_EVENTS, match });\r\nconst fetchMatchFantasyEventsRequest = (match) => ({ type: types.FETCH_MATCH_FANTASY_EVENTS_REQUEST, match });\r\nconst fetchMatchFantasyEventsSuccess = (match, payload) => ({ type: types.FETCH_MATCH_FANTASY_EVENTS_SUCCESS, match, payload });\r\nconst fetchMatchFantasyEventsFailure = (match) => ({ type: types.FETCH_MATCH_FANTASY_EVENTS_FAILURE, match });\r\n\r\nconst fetchMatchFantasyEvents = (match) => (dispatch) => {\r\n dispatch(fetchMatchFantasyEventsRequest(match))\r\n\r\n axios.get(`matches/${ match }/fantasyevents`).then(response => {\r\n dispatch(fetchMatchFantasyEventsSuccess(match, normalize(response.data, [fantasyEventSchema])));\r\n }, error => {\r\n dispatch(fetchMatchFantasyEventsFailure(match));\r\n });\r\n\r\n}\r\n\r\nconst shouldFetchMatchFantasyEvents = (state, id) => {\r\n const item = state.match.fantasyEvents[id];\r\n \r\n if (!item) {\r\n return true;\r\n }\r\n else if (item.isFetching) {\r\n return false;\r\n }\r\n else {\r\n return item.didInvalidate;\r\n }\r\n }\r\n \r\n \r\n export const fetchMatchFantasyEventsIfNeeded = (id) => (dispatch, getState) => {\r\n if (shouldFetchMatchFantasyEvents(getState(), id)) {\r\n dispatch(fetchMatchFantasyEvents(id));\r\n }\r\n }\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { connect } from 'react-redux';\r\nimport { createSelector } from 'reselect'\r\n\r\nimport { invalidateMatchEvents, fetchMatchEventsIfNeeded } from '../redux/match/actions';\r\n\r\nclass WithMatchEvents extends React.PureComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n \r\n }\r\n\r\n\r\n\r\n componentDidMount() {\r\n if (this.props.enabled) {\r\n this.props.fetch(this.props.id);\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.id !== this.props.id && nextProps.enabled) {\r\n this.props.fetch(nextProps.id);\r\n }\r\n }\r\n\r\n render() {\r\n const { matchEvents, children } = this.props;\r\n\r\n\r\n return children({ isLoaded : matchEvents && matchEvents.isLoaded, events : (matchEvents && matchEvents.items) || [] });\r\n }\r\n}\r\n\r\nexport const makeGetMatchEvents = () => createSelector([\r\n (state, props) => props.id,\r\n (state) => state.match.events,\r\n (state) => state.entities.events,\r\n (state) => state.entities.players,\r\n (state) => state.entities.persons,\r\n (state) => state.entities.teams,\r\n (state) => state.entities.positions,\r\n (state) => state.entities.eventTypes\r\n ],\r\n (id, matchEvents, eventEntities, playerEntities, personEntities, teamEntities, positionEntities, eventTypeEntities) => {\r\n const list = (matchEvents[id] || {}).items || [];\r\n\r\n let events = list.map(eventId => {\r\n const e = eventEntities[eventId];\r\n const player = playerEntities[e.player];\r\n const person = player && personEntities[player.person];\r\n const team = player && teamEntities[player.team];\r\n const position = player && positionEntities[player.position];\r\n\r\n return {\r\n ...e,\r\n type : eventTypeEntities[e.type],\r\n player : {\r\n ...player,\r\n person : person,\r\n team : team,\r\n position : position\r\n }\r\n }\r\n });\r\n\r\n return {\r\n ...matchEvents[id],\r\n items : events\r\n }\r\n }\r\n)\r\n\r\n\r\n\r\nconst makeMapStateToProps = () => {\r\n const getMatchEvents = makeGetMatchEvents();\r\n return (state, ownProps) => ({\r\n matchEvents : getMatchEvents(state, ownProps)\r\n })\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch, ownProps) {\r\n return {\r\n fetch(id, force) {\r\n if (force) {\r\n dispatch(invalidateMatchEvents(id));\r\n }\r\n dispatch(fetchMatchEventsIfNeeded(id));\r\n }\r\n }\r\n}\r\n\r\nWithMatchEvents.propTypes = {\r\n id : PropTypes.any.isRequired,\r\n enabled : PropTypes.bool\r\n}\r\n\r\nWithMatchEvents.defaultProps = {\r\n enabled : true\r\n}\r\n\r\nexport default connect(makeMapStateToProps, mapDispatchToProps)(WithMatchEvents);\r\n\r\n","import PropTypes from 'prop-types'\r\n\r\nimport translatable from '../../hocs/translatable';\r\n\r\nconst SoccerPeriodStatus = ({ t, period, minutes, seconds, paused }) => {\r\n\r\n if (paused)\r\n return t('soccer.paused');\r\n\r\n const periodName = t('soccer.periodAbbreviation' + (period - 1));\r\n\r\n return `${ periodName } ${ (minutes + '').padStart(2, '0') }:${ (seconds + '').padStart(2, '0') }`;\r\n};\r\n\r\nSoccerPeriodStatus.propTypes = {\r\n period : PropTypes.number.isRequired,\r\n minutes : PropTypes.number.isRequired,\r\n seconds : PropTypes.number.isRequired,\r\n paused : PropTypes.bool\r\n}\r\n\r\nexport default translatable(SoccerPeriodStatus);","import React, { useContext } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { Odds } from '../components';\r\n\r\nimport { format } from 'utils'\r\nimport GameContext from './GameContext'\r\n\r\nconst MatchOdds = React.memo(({ odds }) => {\r\n\r\n const { gameConfiguration } = useContext(GameContext);\r\n\r\n if (!odds)\r\n return null;\r\n\r\n\r\n const link = gameConfiguration.odds && gameConfiguration.odds.link;\r\n\r\n const o1 = odds['1'];\r\n const ox = odds['x'];\r\n const o2 = odds['2'];\r\n\r\n if (!o1 || !ox || !o2 )\r\n return null;\r\n\r\n const link1 = link && format(link, o1);\r\n const linkx = link && format(link, ox);\r\n const link2 = link && format(link, o2);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n})\r\n\r\nMatchOdds.displayName = 'MatchOdds';\r\n\r\nMatchOdds.propTypes = {\r\n odds : PropTypes.object\r\n}\r\n\r\n\r\nexport default MatchOdds;","import { createSelector } from 'reselect'\r\n\r\nexport const getMatch = createSelector([\r\n (state) => state.ui.matchId,\r\n (state) => state.entities.matches,\r\n (state) => state.entities.locations,\r\n (state) => state.entities.matchGroups,\r\n (state) => state.entities.teams\r\n],\r\n(matchId, matchEntities, locationEntities, matchGroupEntities, teamEntities) => {\r\n\r\n const match = matchEntities[matchId];\r\n\r\n if (!match)\r\n return null;\r\n\r\n const participants = match && match.participants.map(p => {\r\n const team = teamEntities[p.team];\r\n return {\r\n ...p,\r\n team\r\n }\r\n });\r\n\r\n return {\r\n ...match,\r\n location : locationEntities[match.location],\r\n matchGroup : matchGroupEntities[match.group],\r\n participants\r\n }\r\n }\r\n)\r\n\r\n\r\nexport const getMatchEvents = createSelector([\r\n (state) => state.match.events[state.ui.matchId],\r\n (state) => state.entities.events,\r\n (state) => state.entities.players,\r\n (state) => state.entities.persons,\r\n (state) => state.entities.teams,\r\n (state) => state.entities.positions,\r\n (state) => state.entities.eventTypes\r\n ],\r\n (matchEvents, eventEntities, playerEntities, personEntities, teamEntities, positionEntities, eventTypeEntities) => {\r\n\r\n const events = (matchEvents ? matchEvents.items : []).map(eventId => {\r\n const e = eventEntities[eventId];\r\n const player = playerEntities[e.player];\r\n const person = player && personEntities[player.person];\r\n const team = player && teamEntities[player.team];\r\n const position = player && positionEntities[player.position];\r\n\r\n return {\r\n ...e,\r\n type : eventTypeEntities[e.type],\r\n player : {\r\n ...player,\r\n person : person,\r\n team : team,\r\n position : position\r\n }\r\n }\r\n });\r\n\r\n return {\r\n ...matchEvents,\r\n items : events\r\n }\r\n }\r\n)\r\n\r\n\r\n\r\n\r\nexport const makeGetMatchEventNotifications = () => createSelector([\r\n (state, id) => state.match.eventNotifications[id],\r\n (state) => state.entities.events,\r\n (state) => state.entities.players,\r\n (state) => state.entities.persons,\r\n (state) => state.entities.teams,\r\n (state) => state.entities.positions,\r\n (state) => state.entities.eventTypes\r\n],\r\n(notifications, eventEntities, playerEntities, personEntities, teamEntities, positionEntities, eventTypeEntities) => {\r\n \r\n \r\n\r\n return (notifications || []).map(eventId => {\r\n const e = eventEntities[eventId];\r\n\r\n\r\n const player = playerEntities[e.player];\r\n const person = player && personEntities[player.person];\r\n const team = player && teamEntities[player.team];\r\n const position = player && positionEntities[player.position];\r\n\r\n\r\n return {\r\n ...e,\r\n type : eventTypeEntities[e.type],\r\n player : {\r\n ...player,\r\n person : person,\r\n team : team,\r\n position : position\r\n }\r\n }\r\n });\r\n})\r\n\r\n\r\n\r\nexport const makeGetMatchFantasyEventNotifications = () => createSelector([\r\n (state, id) => state.match.fantasyEventNotifications[id],\r\n (state) => state.entities.fantasyEvents,\r\n (state) => state.entities.players,\r\n (state) => state.entities.persons,\r\n (state) => state.entities.teams,\r\n (state) => state.entities.positions,\r\n (state) => state.entities.fantasyEventTypes\r\n],\r\n(notifications, fantasyEventEntities, playerEntities, personEntities, teamEntities, positionEntities, fantasyEventTypeEntities) => {\r\n \r\n\r\n return (notifications || []).map(eventId => {\r\n const e = fantasyEventEntities[eventId];\r\n\r\n const player = playerEntities[e.player];\r\n const person = player && personEntities[player.person];\r\n const team = player && teamEntities[player.team];\r\n const position = player && positionEntities[player.position];\r\n\r\n const type = fantasyEventTypeEntities[e.type];\r\n\r\n return {\r\n ...e,\r\n type,\r\n player : {\r\n ...player,\r\n person : person,\r\n team : team,\r\n position : position\r\n }\r\n }\r\n });\r\n})","import React, { useMemo } from 'react'\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { makeGetMatchFantasyEventNotifications } from '../redux/match/selectors';\r\n\r\n\r\nconst useMatchFantasyEventNotifications = (id) => {\r\n const getMatchFantasyEventNotification = useMemo(() => makeGetMatchFantasyEventNotifications(), []);\r\n \r\n return useSelector(state => getMatchFantasyEventNotification(state, id, 177));\r\n}\r\n\r\nexport default useMatchFantasyEventNotifications;","\r\nimport React, { useMemo } from 'react'\r\nimport { useTransition, animated, useSpring } from 'react-spring'\r\n\r\nimport styles from './CardToast.module.css'\r\n\r\nconst CardToast = ({ keySelector, toasts, render, children }) => {\r\n const items = useMemo(() => {\r\n return toasts.map((item, idx) => ({ ...item, y : idx * 36 }))\r\n }, [toasts]);\r\n\r\n const transition = useTransition(items, item => item.key , {\r\n from: { opacity: 0, transform: 'translate3d(0, -36px, 0)' },\r\n enter: ({ y }) => ({ opacity: 1,transform: 'translate3d(0, ' + y + 'px, 0)'}),\r\n leave: ({ y }) => ({ opacity: 0, transform: 'translate3d(0, ' + y + ', 0)' }),\r\n update: ({ y }) => ({ transform: 'translate3d(0, ' + y + 'px, 0)'})\r\n })\r\n\r\n const style = useSpring({\r\n opacity: items.length > 0 ? 1 : 0,\r\n height: (items.length * 36 + 8) + 'px'\r\n })\r\n \r\n return (\r\n
    \r\n
    \r\n { children }\r\n
    \r\n \r\n \r\n {\r\n transition.map(\r\n ({ item, key, props }) => {\r\n return (\r\n \r\n { render ? render(item) : item.label }\r\n \r\n \r\n )\r\n }\r\n )\r\n }\r\n \r\n
    \r\n )\r\n}\r\n\r\n\r\n\r\n\r\nexport default CardToast;","import React from 'react'\r\n\r\nimport { Icon } from '../components'\r\n\r\nimport translatable from '../hocs/translatable'\r\n\r\nimport Pill from '../components/Pill'\r\n\r\nconst MatchStatus = ({ t, status }) => {\r\n switch(status) {\r\n case 'pending':\r\n return { t('common.pending') }\r\n case 'live':\r\n return (\r\n \r\n \r\n { t('common.live') }\r\n \r\n )\r\n case 'updated':\r\n return { t('common.updating') } \r\n case 'completed':\r\n return { t('common.completed') }\r\n default:\r\n return (Unknown)\r\n }\r\n \r\n}\r\n\r\nexport default translatable(MatchStatus);","import React, { useState } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { SoccerClock, MatchCard, Progress, EventDate, Icon, Pill } from '../../components';\r\nimport Growth from '../../components/Growth';\r\nimport WithMatchEvents from '../WithMatchEvents';\r\n\r\nimport SoccerPeriodStatus from './SoccerPeriodStatus';\r\n\r\nimport { lo, minute, fullName } from '../../common/utils'\r\n\r\nimport MatchOdds from '../MatchOdds'\r\n\r\nimport translatable from '../../hocs/translatable'\r\nimport useMatchFantasyEventNotifications from '../../hooks/useMatchFantasyEventNotifications'\r\nimport CardToast from '../../components/CardToast';\r\n\r\nimport MatchStatus from '../../containers/MatchStatus'\r\n\r\nconst SoccerLiveFooter = ({ period, minutes, seconds, paused}) => {\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n )\r\n}\r\n\r\n\r\nconst SoccerMatchCard = React.memo(({ t, game, hideGroup, item, onClick }) => {\r\n\r\n const properties = item.properties || {}\r\n const homeScore = properties.homeScore || '0';\r\n const awayScore = properties.awayScore || '0';\r\n \r\n const fantasyEventNotifications = useMatchFantasyEventNotifications(item.id);\r\n const toasts = fantasyEventNotifications.filter(e => e.type && e.type.notify).map(e => ({ key : e.id, event : e }));\r\n \r\n\r\n const renderToast = ({ event }) => {\r\n return(\r\n
    \r\n
    \r\n { event.minute }' - { event.type.shortTitle }, { fullName(event.player.person) }\r\n
    \r\n \r\n
    \r\n )\r\n }\r\n\r\n\r\n return (\r\n\r\n \r\n\r\n { ({ period, minutes, seconds, nominalMinutes, nominalSeconds, stops, paused }) => (\r\n item.id } render={ renderToast }>\r\n \r\n \r\n \r\n \r\n \r\n\r\n { \r\n item.status === 'live' &&\r\n \r\n s * 60) } value={ nominalMinutes * 60 + nominalSeconds } maximum={ stops[stops.length - 1] * 60 } />\r\n \r\n }\r\n \r\n { item.status === 'pending' && }\r\n { (item.status === 'updated' || item.status === 'completed') && { t('soccer.matchCompleted') } }\r\n { item.status === 'live' && }\r\n { item.status !== 'live' && }\r\n \r\n \r\n { \r\n item.status === 'updated' &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n )} \r\n\r\n )\r\n})\r\n\r\nexport default translatable(SoccerMatchCard);","import React from 'react';\r\nimport PropTypes from 'prop-types'\r\n\r\nimport SoccerMatchCard from '../../soccer/SoccerMatchCard'\r\n\r\nimport GameNavigationService from '../../GameNavigationService'\r\n\r\nexport const SoccerMatchCardWidget = ({ editMode, game, hideGroup, match }) => {\r\n if (editMode) {\r\n return
    \r\n SoccerMatchView\r\n
    \r\n }\r\n\r\n\r\n\r\n if (!match)\r\n return null;\r\n\r\n \r\n const item = {\r\n ...match,\r\n participants : match.participants.reduce((agg, p) => {\r\n agg[p.type] = p.team;\r\n return agg;\r\n }, {})\r\n }\r\n\r\n\r\n return (\r\n { ({ showMatch }) => (\r\n showMatch(item.id) }>\r\n\r\n )}\r\n )\r\n}\r\n\r\n","import React, { useEffect, useCallback, useContext, useState, useRef } from 'react'\r\nimport ReactDOM from 'react-dom'\r\n\r\nimport { Icon, WithSticker, InjurySuspensionIcon } from 'components'\r\n\r\nimport WithPlayer from './WithPlayer'\r\nimport PlayerIdentity from './PlayerIdentity';\r\nimport GameContext from './GameContext';\r\n\r\nimport * as fromUI from './widgets/ui'\r\nimport useFlyout from '../hooks/useFlyout';\r\n\r\nconst PlayerIdentityComponent = ({ playerId, captain }) => {\r\n return (\r\n { player => (\r\n \r\n )}\r\n );\r\n}\r\n\r\n\r\nconst PlayerAvatarComponent = ({ playerId, imageUrl }) => {\r\n var { gameConfiguration, injuries, suspensions, permissionManager } = useContext(GameContext);\r\n const [ push] = useFlyout();\r\n const imgRef = useRef(null);\r\n\r\n const handleClick = (e) => {\r\n const tr = imgRef.current.closest('tr');\r\n let earnings = 0;\r\n if (tr) {\r\n try {\r\n earnings = parseInt(tr.getAttribute('earnings'));\r\n }\r\n catch {\r\n // Ignore\r\n }\r\n }\r\n\r\n push('player', { id : playerId, earnings })\r\n }\r\n\r\n return (\r\n { player => {\r\n\r\n const injury = player ? permissionManager.hasPermission('ListInjuries') && gameConfiguration && gameConfiguration.injuries && injuries && injuries.map[player.person.id + ''] : null;\r\n const suspension = player ? permissionManager.hasPermission('ListSuspensions') && gameConfiguration && gameConfiguration.suspensions && suspensions && suspensions.map[player.person.id + ''] : null;\r\n const suspensionDays = player ? (suspension || []).reduce((acc, s) => acc += s.remainingMatches, 0) : 0;\r\n\r\n return (\r\n }>\r\n \r\n \r\n )\r\n }}\r\n );\r\n}\r\n\r\nconst COMPONENT_MAP = {\r\n 'PlayerIdentity' : PlayerIdentityComponent,\r\n 'PlayerAvatar' : PlayerAvatarComponent,\r\n 'UI.FlyoutButton' : fromUI.FlyoutButton\r\n}\r\n\r\n\r\n\r\nconst StaticComponentRenderer = ({ children }) => {\r\n\r\n const [, updateState] = React.useState();\r\n const forceUpdate = useCallback(() => updateState({}), []);\r\n\r\n const elements = Array.from(document.querySelectorAll('[data-react-component]'));\r\n\r\n\r\n useEffect(() => {\r\n window.addEventListener('UIChange', forceUpdate);\r\n\r\n\r\n return () => {\r\n window.removeEventListener('UIChange', forceUpdate);\r\n }\r\n })\r\n\r\n\r\n\r\n var portals = elements.map(el => {\r\n\r\n if (!el.dataset[\"reactMounted\"])\r\n {\r\n el.innerHTML = ''\r\n }\r\n\r\n const props = Object.keys(el.dataset).reduce((acc, k) => {\r\n if (k.indexOf('reactProps') === 0) {\r\n const prop = k.substr('reactProps'.length);\r\n const nProp = prop[0].toLowerCase() + prop.substr(1);\r\n\r\n acc[nProp] = el.dataset[k];\r\n }\r\n\r\n return acc;\r\n }, {});\r\n\r\n \r\n\r\n el.dataset['reactMounted'] = true;\r\n\r\n const componentName = el.dataset['reactComponent'];\r\n const Component = COMPONENT_MAP[componentName];\r\n\r\n\r\n if (Component == null)\r\n return null;\r\n\r\n return ReactDOM.createPortal(, el);\r\n })\r\n\r\n return (\r\n { portals }\r\n )\r\n}\r\n\r\nexport default StaticComponentRenderer;","import axios from 'axios'\r\n\r\nimport * as types from './types';\r\n\r\nconst fetchConfigRequest = (url) => ({ type: types.FETCH_CONFIG_REQUEST, url })\r\nconst fetchConfigSuccess = (url, payload) => ({ type: types.FETCH_CONFIG_SUCCESS, url, payload })\r\nconst fetchConfigFailure = (url) => ({ type: types.FETCH_CONFIG_SUCCESS, url })\r\n\r\nconst fetchConfig = (url) => (dispatch) => {\r\n dispatch(fetchConfigRequest(url))\r\n\r\n axios.get(url).then(response => {\r\n dispatch(fetchConfigSuccess(url, response.data))\r\n }, error => {\r\n dispatch(fetchConfigFailure(url))\r\n });\r\n}\r\n\r\n\r\nconst shouldFetchConfig = (state, url) => {\r\n const { byUrl } = state.configs || { byUrl : {} };\r\n \r\n if (!byUrl[url])\r\n return true;\r\n else if (byUrl[url].didInvalidate)\r\n return true;\r\n else\r\n return false;\r\n}\r\n \r\n export const fetchConfigIfNeeded = (url) => (dispatch, getState) => {\r\n if (shouldFetchConfig(getState(), url)) {\r\n dispatch(fetchConfig(url));\r\n }\r\n }","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { connect } from 'react-redux'\r\nimport { createSelector } from 'reselect'\r\n\r\nimport config from 'config'\r\n\r\nimport { fetchConfigIfNeeded } from '../redux/config/actions'\r\n\r\nclass WithConfiguration extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.fetch(this.props)\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.url != this.props.url) {\r\n this.props.fetch(nextProps)\r\n }\r\n }\r\n\r\n render() {\r\n return this.props.children(this.props.configuration)\r\n }\r\n}\r\n\r\n\r\n\r\nWithConfiguration.propTypes = {\r\n url : PropTypes.string\r\n}\r\n\r\nconst makeGetConfiguration = () => {\r\n return createSelector([\r\n (state, props) => props.url,\r\n (state, props) => state.configs.byUrl\r\n ],\r\n (url, byUrl) => {\r\n return url && byUrl[url] && byUrl[url].item;\r\n });\r\n}\r\n\r\n\r\nconst makeMapStateToProps = () => {\r\n const getConfiguration = makeGetConfiguration();\r\n\r\n return (state, props) => {\r\n return {\r\n configuration : getConfiguration(state, props)\r\n }\r\n }\r\n} \r\n\r\nconst mapDispatchToProps = (dispatch, ownProps) => {\r\n return {\r\n fetch : (props) => {\r\n if (props.url) {\r\n dispatch(fetchConfigIfNeeded(props.url));\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default connect(makeMapStateToProps, mapDispatchToProps)(WithConfiguration);\r\n","import { createSelector } from 'reselect'\r\n\r\nexport const makeGetGame = () => (\r\n createSelector([\r\n (state, props) => props.id,\r\n (state) => state.entities.games\r\n ], \r\n (gameId, gameEntities) => { \r\n return gameId && gameEntities[gameId]; \r\n }\r\n));\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport const getSelectedGame = createSelector([\r\n (state) => state.games.selected,\r\n (state) => state.entities.games\r\n ], \r\n (gameId, gameEntities) => { \r\n return gameId && gameEntities[gameId]; \r\n }\r\n);\r\n\r\n ","import axios from 'axios'\r\nimport { normalize } from 'normalizr';\r\n\r\nimport { tournamentSchema, tournamentStandingSchema } from '../../schemas';\r\n\r\nimport * as types from './types';\r\n\r\n// Tournament\r\n\r\nconst fetchTournamentRequest = (id) => ({ type: types.FETCH_TOURNAMENT_REQUEST, id})\r\nconst fetchTournamentSuccess = (id, payload) => ({ type: types.FETCH_TOURNAMENT_SUCCESS, id, payload })\r\nconst fetchTournamentFailure = (id) => ({ type: types.FETCH_TOURNAMENT_FAILURE, id })\r\n\r\nconst fetchTournament = (id) => (dispatch) => {\r\n dispatch(fetchTournamentRequest(id))\r\n\r\n axios.get(`tournaments/${ id }`).then(response => {\r\n dispatch(fetchTournamentSuccess(id, normalize(response.data, tournamentSchema)));\r\n }, error => {\r\n dispatch(fetchTournamentFailure(id));\r\n });\r\n}\r\n\r\n\r\nconst shouldFetchTournament = (state, id) => {\r\n const { byId } = state.tournaments || { byId : {} };\r\n const item = byId[id];\r\n\r\n if (!item) {\r\n return true;\r\n }\r\n else if (item.isFetching) {\r\n return false;\r\n }\r\n else {\r\n return item.didInvalidate;\r\n }\r\n}\r\n\r\n\r\nexport const fetchTournamentIfNeeded = (id) => (dispatch, getState) => {\r\n if (shouldFetchTournament(getState(), id)) {\r\n dispatch(fetchTournament(id));\r\n }\r\n}\r\n\r\n\r\n\r\n// Tournament Standings\r\n\r\nconst fetchTournamentStandingsRequest = (id) => ({ type: types.FETCH_TOURNAMENT_STANDINGS_REQUEST, id})\r\nconst fetchTournamentStandingsSuccess = (id, payload) => ({ type: types.FETCH_TOURNAMENT_STANDINGS_SUCCESS, id, payload })\r\nconst fetchTournamentStandingsFailure = (id) => ({ type: types.FETCH_TOURNAMENT_STANDINGS_FAILURE, id })\r\n\r\nconst fetchTournamentStandings = (id) => (dispatch) => {\r\n dispatch(fetchTournamentStandingsRequest(id))\r\n\r\n axios.get(`tournaments/${ id }/standings`).then(response => {\r\n dispatch(fetchTournamentStandingsSuccess(id, normalize(response.data, [tournamentStandingSchema])));\r\n }, error => {\r\n dispatch(fetchTournamentStandingsFailure(id));\r\n });\r\n}\r\n\r\n\r\nconst shouldFetchTournamentStandings = (state, id) => {\r\n const { standingsById } = state.tournaments || { standingsById : {} };\r\n const item = standingsById[id];\r\n\r\n if (!item) {\r\n return true;\r\n }\r\n else if (item.isFetching) {\r\n return false;\r\n }\r\n else {\r\n return item.didInvalidate;\r\n }\r\n}\r\n\r\n\r\nexport const fetchTournamentStandingsIfNeeded = (id) => (dispatch, getState) => {\r\n if (shouldFetchTournamentStandings(getState(), id)) {\r\n dispatch(fetchTournamentStandings(id));\r\n }\r\n}\r\n","import { createSelector } from 'reselect'\r\nimport { denormalize } from 'normalizr'\r\n\r\nimport { tournamentSchema } from '../../schemas'\r\n\r\n\r\nexport const makeGetTournament = () => (\r\n createSelector([\r\n (state, props) => props.id,\r\n (state) => state.entities.tournaments,\r\n (state) => state.entities.teams,\r\n (state) => state.entities.players,\r\n (state) => state.entities.persons,\r\n (state) => state.entities.matchGroups,\r\n (state) => state.entities.locations,\r\n (state) => state.entities.participants,\r\n (state) => state.entities.positions\r\n ], \r\n (id, tournaments, teams, players, persons, matchGroups, locations, participants, positions) => { \r\n\r\n\r\n const entities = {\r\n tournaments,\r\n teams,\r\n players,\r\n persons,\r\n matchGroups,\r\n locations,\r\n participants,\r\n positions\r\n }\r\n \r\n return denormalize(id, tournamentSchema, entities)\r\n }\r\n )\r\n);","import axios from 'axios'\r\nimport { normalize } from 'normalizr';\r\n\r\nimport { rulesetSchema } from '../../schemas';\r\n\r\nimport * as types from './types';\r\n\r\nconst fetchRulesetRequest = (id) => ({ type: types.FETCH_RULESET_REQUEST, id })\r\nconst fetchRulesetSuccess = (id, payload) => ({ type: types.FETCH_RULESET_SUCCESS, id, payload })\r\nconst fetchRulesetFailure = (id) => ({ type: types.FETCH_RULESET_FAILURE, id })\r\n\r\nconst fetchRuleset = (id) => (dispatch) => {\r\n dispatch(fetchRulesetRequest(id))\r\n\r\n axios.get(`rulesets/${ id }`).then(response => {\r\n dispatch(fetchRulesetSuccess(id, normalize(response.data, rulesetSchema)));\r\n }, error => {\r\n dispatch(fetchRulesetFailure(id));\r\n });\r\n}\r\n\r\n\r\nconst shouldFetchRuleset = (state, id) => {\r\n const { byId } = state.rulesets || { byId : {} };\r\n const item = byId[id];\r\n\r\n if (!item) {\r\n return true;\r\n }\r\n else if (item.isFetching) {\r\n return false;\r\n }\r\n else {\r\n return item.didInvalidate;\r\n }\r\n}\r\n \r\nexport const fetchRulesetIfNeeded = (id) => (dispatch, getState) => {\r\n if (shouldFetchRuleset(getState(), id)) {\r\n dispatch(fetchRuleset(id));\r\n }\r\n}\r\n","import { createSelector } from 'reselect'\r\nimport { denormalize } from 'normalizr'\r\n\r\nimport { rulesetSchema } from '../../schemas'\r\n\r\n\r\n\r\nexport const makeGetRuleset = () => (createSelector([\r\n (state, props) => props.id,\r\n (state) => state.entities.rulesets,\r\n (state) => state.entities.eventTypes,\r\n (state) => state.entities.fantasyEventTypes,\r\n (state) => state.entities.formations,\r\n (state) => state.entities.positions\r\n], \r\n(id, rulesets, eventTypes, fantasyEventTypes, formations, positions) => { \r\n const entities = {\r\n rulesets, \r\n eventTypes, \r\n fantasyEventTypes, \r\n formations, \r\n positions\r\n }\r\n\r\n return denormalize(id, rulesetSchema, entities); \r\n\r\n}\r\n));","import axios from 'axios'\r\n\r\n\r\nimport { normalize } from 'normalizr';\r\nimport { injurySchema } from '../../schemas';\r\n\r\nimport * as types from './types';\r\n\r\n/* Fetch User Competition Leaderboards */\r\n\r\nconst fetchTournamentInjuriesRequest = (tournament) => ({ type: types.FETCH_TOURNAMENT_INJURIES_REQUEST, tournament });\r\nconst fetchTournamentInjuriesSuccess = (tournament, payload) => ({ type: types.FETCH_TOURNAMENT_INJURIES_SUCCESS, tournament, payload });\r\nconst fetchTournamentInjuriesFailure = (tournament) => ({ type: types.FETCH_TOURNAMENT_INJURIES_FAIL, tournament });\r\n\r\nconst fetchTournamentInjuries = (tournament) => (dispatch) => { \r\n dispatch(fetchTournamentInjuriesRequest(tournament));\r\n\r\n return axios.get(`/tournaments/${ tournament }/injuries?culture=${ window.swush.apiCulture }`).then(response => {\r\n dispatch(fetchTournamentInjuriesSuccess(tournament, normalize(response.data, [injurySchema])));\r\n }, e => {\r\n dispatch(fetchTournamentInjuriesFailure(tournament));\r\n });\r\n}\r\n\r\nconst shouldFetchTournamentInjuries = (state, tournament) => {\r\n const { isFetching, didInvalidate, items } = state.injury.byTournament[tournament] || { isFetching : false, didInvalidate : false, items : null };\r\n\r\n if (isFetching) {\r\n return false;\r\n }\r\n else if (!items) {\r\n return true;\r\n }\r\n else {\r\n return didInvalidate;\r\n }\r\n}\r\n\r\nexport const fetchTournamentInjuriesIfNeeded = (tournament) => (dispatch, getState) => {\r\n if (shouldFetchTournamentInjuries(getState(), tournament)) {\r\n dispatch(fetchTournamentInjuries(tournament));\r\n }\r\n}","import { createSelector } from 'reselect'\r\nimport { denormalize } from 'normalizr'\r\n\r\nexport const makeGetTournamentInjuries = () => (createSelector([\r\n (state, props) => props.id,\r\n (state) => state.injury.byTournament,\r\n (state) => state.entities.injuries,\r\n (state) => state.entities.injuryTypes\r\n], \r\n(id, byTournament, injuryEntities, injuryTypeEntities) => { \r\n const { isFetching, items } = byTournament[id] || { isFetching : false, items : [] }\r\n\r\n return {\r\n isFetching,\r\n map : (items || []).reduce((acc, i) => {\r\n const injury = injuryEntities[i];\r\n const type = injuryTypeEntities[injury.type];\r\n\r\n if (acc[injury.person.id])\r\n {\r\n acc[injury.person.id].push({\r\n ...injury,\r\n type\r\n })\r\n }\r\n else {\r\n acc[injury.person.id] = [{\r\n ...injury,\r\n type\r\n }]\r\n }\r\n\r\n\r\n \r\n\r\n return acc;\r\n }, {})\r\n }\r\n}\r\n));","import axios from 'axios'\r\n\r\nimport { normalize } from 'normalizr';\r\nimport { suspensionSchema } from '../../schemas';\r\n\r\nimport * as types from './types';\r\n\r\n/* Fetch User Competition Leaderboards */\r\n\r\nconst fetchTournamentSuspensionsRequest = (tournament) => ({ type: types.FETCH_TOURNAMENT_SUSPENSIONS_REQUEST, tournament });\r\nconst fetchTournamentSuspensionsSuccess = (tournament, payload) => ({ type: types.FETCH_TOURNAMENT_SUSPENSIONS_SUCCESS, tournament, payload });\r\nconst fetchTournamentSuspensionsFailure = (tournament) => ({ type: types.FETCH_TOURNAMENT_SUSPENSIONS_FAIL, tournament });\r\n\r\nconst fetchTournamentSuspensions = (tournament) => (dispatch) => { \r\n dispatch(fetchTournamentSuspensionsRequest(tournament));\r\n\r\n return axios.get(`/tournaments/${ tournament }/suspensions`).then(response => {\r\n \r\n dispatch(fetchTournamentSuspensionsSuccess(tournament, normalize(response.data, [suspensionSchema])));\r\n }, e => {\r\n \r\n dispatch(fetchTournamentSuspensionsFailure(tournament));\r\n });\r\n}\r\n\r\nconst shouldFetchTournamentSuspensions = (state, tournament) => {\r\n const { isFetching, didInvalidate, items } = state.suspension.byTournament[tournament] || { isFetching : false, didInvalidate : false, items : null };\r\n\r\n if (isFetching) {\r\n return false;\r\n }\r\n else if (!items) {\r\n return true;\r\n }\r\n else {\r\n return didInvalidate;\r\n }\r\n}\r\n\r\nexport const fetchTournamentSuspensionsIfNeeded = (tournament) => (dispatch, getState) => {\r\n if (shouldFetchTournamentSuspensions(getState(), tournament)) {\r\n dispatch(fetchTournamentSuspensions(tournament));\r\n }\r\n}","import { createSelector } from 'reselect'\r\n\r\nexport const makeGetTournamentSuspensions = () => (createSelector([\r\n (_, props) => props.id,\r\n (state) => state.suspension.byTournament,\r\n (state) => state.entities.suspensions,\r\n (state) => state.entities.suspensionTypes,\r\n (state) => state.entities.matches\r\n], \r\n(id, byTournament, suspensionEntities, suspensionTypeEntities) => { \r\n const { isFetching, items } = byTournament[id] || { isFetching : false, items : [] }\r\n\r\n \r\n \r\n\r\n return {\r\n isFetching,\r\n map : (items || []).reduce((acc, q) => {\r\n const suspension = suspensionEntities[q];\r\n const type = suspensionTypeEntities[suspension.type];\r\n\r\n if (acc[suspension.person])\r\n {\r\n acc[suspension.person].push({\r\n ...suspension,\r\n type\r\n })\r\n }\r\n else {\r\n acc[suspension.person] = [{\r\n ...suspension,\r\n type\r\n }]\r\n }\r\n\r\n return acc;\r\n }, {})\r\n }\r\n}\r\n));","import axios from 'axios'\r\nimport { normalize } from 'normalizr'\r\n\r\nimport auth from '../../common/auth'\r\n\r\nimport * as types from './types';\r\n\r\n/* Fetch User Competition Leaderboards */\r\n\r\nconst fetchResourcePermissionsRequest = (resource) => ({ type: types.FETCH_RESOURCE_PERMISSIONS_REQUEST, resource });\r\nconst fetchResourcePermissionsSuccess = (resource, payload) => ({ type: types.FETCH_RESOURCE_PERMISSIONS_SUCCESS, resource, payload });\r\nconst fetchResourcePermissionsFailure = (resource) => ({ type: types.FETCH_RESOURCE_PERMISSIONS_FAIL, resource });\r\n\r\nconst fetchResourcePermissions = (resource) => (dispatch) => { \r\n dispatch(fetchResourcePermissionsRequest(resource));\r\n\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.get(`/permissions/resources/${ resource }?access_token=${ accessToken }`).then(response => {\r\n dispatch(fetchResourcePermissionsSuccess(resource, response.data));\r\n }, e => {\r\n dispatch(fetchResourcePermissionsFailure(resource));\r\n });\r\n}\r\n\r\n\r\nconst shouldFetchResourcePermissions = (state, resource) => {\r\n\r\n const { isFetching, didInvalidate, items } = state.permission.resources[resource] || { isFetching : false, didInvalidate : false, items : null};\r\n\r\n if (isFetching) {\r\n return false;\r\n }\r\n else if (!items) {\r\n return true;\r\n }\r\n else {\r\n return didInvalidate;\r\n }\r\n}\r\n\r\nexport const fetchResourcePermissionsIfNeeded = (resource) => (dispatch, getState) => {\r\n if (shouldFetchResourcePermissions(getState(), resource)) {\r\n dispatch(fetchResourcePermissions(resource));\r\n }\r\n}\r\n","\r\nimport { createSelector } from 'reselect'\r\n\r\n\r\nexport const makeGetResourcePermissions = () => createSelector(\r\n (state, resource) => { return state.permission.resources[resource] },\r\n (permissions) => {\r\n return permissions || [];\r\n }\r\n)\r\n","import axios from 'axios'\r\nimport { normalize } from 'normalizr'\r\n\r\nimport { matchSchema } from '../../schemas'\r\nimport * as types from './types'\r\n\r\n// Schedule\r\n\r\nconst fetchScheduleRequest = (tournament) => ({ type: types.FETCH_SCHEDULE_REQUEST, tournament})\r\nconst fetchScheduleSuccess = (tournament, payload) => ({ type: types.FETCH_SCHEDULE_SUCCESS, tournament, payload })\r\nconst fetchScheduleFailure = (tournament) => ({ type: types.FETCH_SCHEDULE_FAILURE, tournament })\r\n\r\nconst fetchSchedule = (tournament) => (dispatch) => {\r\n dispatch(fetchScheduleRequest(tournament))\r\n\r\n axios.get(`tournaments/${ tournament }/schedule`).then(response => {\r\n dispatch(fetchScheduleSuccess(tournament, normalize(response.data, [matchSchema])));\r\n }, error => {\r\n dispatch(fetchScheduleFailure(tournament));\r\n });\r\n}\r\n\r\nconst shouldFetchSchedule = (state, tournament) => {\r\n const { items, isFetching, didInvalidate } = state.schedule.byTournament[tournament] || { isFetching : false, items : null, didInvalidate : false };\r\n\r\n if (isFetching) {\r\n return false;\r\n }\r\n else if (!items) {\r\n return true;\r\n }\r\n else {\r\n return didInvalidate;\r\n }\r\n}\r\n\r\nexport const fetchScheduleIfNeeded = (tournament) => (dispatch, getState) => {\r\n if (shouldFetchSchedule(getState(), tournament)) {\r\n dispatch(fetchSchedule(tournament));\r\n }\r\n}\r\n","import { createSelector } from 'reselect'\r\n\r\n\r\nexport const makeGetSchedule = () => (\r\n createSelector([\r\n (state, props) => props.id,\r\n (state, props) => state.schedule.byTournament,\r\n (state) => state.entities.matches,\r\n (state) => state.entities.locations,\r\n (state) => state.entities.matchGroups,\r\n (state) => state.entities.teams\r\n ],\r\n (id, scheduleByTournament, matchEntities, locationEntities, matchGroupEntities, teamEntities) => {\r\n const schedule = scheduleByTournament[id] || { items : [] };\r\n\r\n return {\r\n ...schedule,\r\n items : (schedule.items || []).map(id => {\r\n const match = matchEntities[id];\r\n \r\n\r\n const participants = match && match.participants.map(p => {\r\n const team = teamEntities[p.team];\r\n return {\r\n ...p,\r\n team\r\n }\r\n }) || [];\r\n \r\n return {\r\n ...match,\r\n location : match && locationEntities[match.location],\r\n group : match && matchGroupEntities[match.group],\r\n participants\r\n }\r\n })\r\n }\r\n }\r\n )\r\n)\r\n\r\n\r\nexport const getIsScheduleFetching = createSelector([\r\n (state) => state.ui.selectedTournament,\r\n (state) => state.schedule.byTournament\r\n],\r\n(selectedTournament, scheduleByTournament) => {\r\n const schedule = scheduleByTournament[selectedTournament];\r\n return schedule && schedule.isFetching;\r\n }\r\n)\r\n\r\nexport const getIsScheduleLoaded = createSelector([\r\n (state) => state.ui.selectedTournament,\r\n (state) => state.schedule.byTournament\r\n],\r\n(selectedTournament, scheduleByTournament) => {\r\n const schedule = scheduleByTournament[selectedTournament];\r\n return schedule && schedule.isLoaded;\r\n }\r\n)\r\n\r\n","import React, { useEffect, useMemo } from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\n\r\nimport config from 'config'\r\nimport { withRouter } from 'react-router-dom'\r\nimport { ThemeProvider } from 'styled-components'\r\n\r\nimport WithConfiguration from './WithConfiguration'\r\n\r\nimport GameContext from './GameContext'\r\nimport { currentRound } from 'utils'\r\n\r\nimport { selectGame, fetchGameIfNeeded } from '../redux/game/actions';\r\nimport { getSelectedGame } from '../redux/game/selectors';\r\n\r\nimport { fetchTournamentIfNeeded } from '../redux/tournament/actions';\r\nimport { makeGetTournament } from '../redux/tournament/selectors';\r\n\r\nimport { fetchRulesetIfNeeded } from '../redux/ruleset/actions'\r\nimport { makeGetRuleset } from '../redux/ruleset/selectors';\r\n\r\nimport { fetchTournamentInjuriesIfNeeded } from '../redux/injury/actions'\r\nimport { makeGetTournamentInjuries } from '../redux/injury/selectors';\r\n\r\nimport { fetchTournamentSuspensionsIfNeeded } from '../redux/suspension/actions'\r\nimport { makeGetTournamentSuspensions } from '../redux/suspension/selectors';\r\n\r\nimport { fetchResourcePermissionsIfNeeded } from '../redux/permission/actions'\r\nimport { makeGetResourcePermissions } from '../redux/permission/selectors';\r\n\r\nimport { fetchScheduleIfNeeded } from '../redux/schedule/actions'\r\nimport { makeGetSchedule } from '../redux/schedule/selectors'\r\n\r\nimport auth from '../common/auth'\r\nimport useTheme from '../components/useTheme';\r\n\r\n\r\nconst useGame = (id) => {\r\n const dispatch = useDispatch();\r\n const game = useSelector(getSelectedGame);\r\n\r\n useEffect(() => {\r\n if (id) {\r\n dispatch(selectGame(id));\r\n dispatch(fetchGameIfNeeded(id));\r\n }\r\n }, [id])\r\n\r\n return game;\r\n}\r\n\r\nconst useTournament = (id) => {\r\n const dispatch = useDispatch();\r\n const getTournament = useMemo(makeGetTournament, []);\r\n const tournament = useSelector(state => getTournament(state, { id }));\r\n\r\n useEffect(() => {\r\n if (id) {\r\n dispatch(fetchTournamentIfNeeded(id));\r\n }\r\n }, [id])\r\n\r\n return tournament;\r\n}\r\n\r\nconst useRuleset = (id) => {\r\n const dispatch = useDispatch();\r\n const getRuleset = useMemo(makeGetRuleset, []);\r\n const ruleset = useSelector(state => getRuleset(state, { id }));\r\n\r\n useEffect(() => {\r\n if (id) {\r\n dispatch(fetchRulesetIfNeeded(id));\r\n }\r\n }, [id])\r\n\r\n return ruleset;\r\n}\r\n\r\n\r\nconst useTournamentInjuries = (id) => {\r\n const dispatch = useDispatch();\r\n const getTournamentInjuries = useMemo(makeGetTournamentInjuries, []);\r\n const injuries = useSelector(state => getTournamentInjuries(state, { id }));\r\n\r\n useEffect(() => {\r\n \r\n if (id) {\r\n dispatch(fetchTournamentInjuriesIfNeeded(id));\r\n }\r\n }, [id])\r\n\r\n return injuries;\r\n}\r\n\r\n\r\n\r\n\r\nconst useTournamentSuspensions = (id) => {\r\n const dispatch = useDispatch();\r\n const getTournamentSuspensions = useMemo(makeGetTournamentSuspensions, []);\r\n const suspensions = useSelector(state => getTournamentSuspensions(state, { id }));\r\n\r\n\r\n\r\n useEffect(() => {\r\n \r\n if (id) {\r\n dispatch(fetchTournamentSuspensionsIfNeeded(id));\r\n }\r\n }, [id])\r\n\r\n return suspensions;\r\n}\r\n\r\n\r\n\r\nconst useSchedule = (id) => {\r\n const dispatch = useDispatch();\r\n const getSchedule = useMemo(makeGetSchedule, []);\r\n const schedule = useSelector(state => getSchedule(state, { id }));\r\n\r\n\r\n useEffect(() => {\r\n \r\n if (id) {\r\n dispatch(fetchScheduleIfNeeded(id));\r\n }\r\n }, [id])\r\n\r\n return schedule;\r\n}\r\n\r\n\r\n\r\n\r\n\r\nconst useResourcePermissionManager = (resource) => {\r\n const dispatch = useDispatch();\r\n const getResourcePermissions = useMemo(makeGetResourcePermissions, []);\r\n const permissions = useSelector(state => getResourcePermissions(state, resource));\r\n const authenticated = auth.authenticated;\r\n\r\n const resourceManager = useMemo(() => {\r\n return {\r\n permissions,\r\n hasPermission : function (permission) {\r\n return this.permissions.indexOf(permission) >= 0\r\n }\r\n }\r\n },[permissions]);\r\n\r\n useEffect(() => {\r\n if (resource && authenticated) {\r\n dispatch(fetchResourcePermissionsIfNeeded(resource));\r\n }\r\n }, [authenticated, resource])\r\n\r\n return resourceManager;\r\n}\r\n\r\nconst GameContextProvider = React.memo(({ match, children }) => {\r\n const { gameId, gameSlug } = match.params;\r\n const theme = useTheme();\r\n \r\n\r\n const permissionManager = useResourcePermissionManager(`game:${ gameId }`);\r\n const game = useGame(gameId);\r\n const tournament = useTournament(game && game.tournament);\r\n const ruleset = useRuleset(game && game.ruleset);\r\n const injuries = useTournamentInjuries(game && game.tournament);\r\n const suspensions = useTournamentSuspensions(game && game.tournament);\r\n const schedule = useSchedule(game && game.tournament);\r\n\r\n let th = game && game.theme || '';\r\n \r\n if (typeof th !== 'string')\r\n th = '';\r\n\r\n var themeParts = th.length > 0 ? th.split(' ') : [];\r\n const themeName = themeParts && themeParts.length > 0 ? themeParts[themeParts.length - 1] : 'default';\r\n\r\n let currentTheme = theme.colors.themes[themeName];\r\n if (!currentTheme) {\r\n console.error(`Theme '${ themeName }' does not exist.`);\r\n currentTheme = theme.colors.themes['default'];\r\n }\r\n\r\n const nTheme = {\r\n ...theme,\r\n colors : {\r\n ...theme.colors,\r\n themes : {\r\n ...theme.colors.themes,\r\n '_current' : currentTheme\r\n }\r\n }\r\n }\r\n \r\n \r\n const configUrl = `${ config.configBaseUrl }/season/games/${ window.swush.appId }/${ gameSlug }.json`;\r\n\r\n\r\n return (\r\n \r\n { ( gameConfiguration ) => {\r\n const cRound = game && currentRound(game.rounds);\r\n const currentRoundNumber = (game && game.rounds.indexOf(cRound) + 1) || 1;\r\n\r\n return (\r\n \r\n { children }\r\n \r\n )\r\n }}\r\n \r\n )\r\n }\r\n)\r\n\r\nexport default withRouter(GameContextProvider);\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { connect } from 'react-redux';\r\n\r\nimport { pushFlyout, popFlyout, clearFlyouts } from '../redux/ui/actions';\r\n\r\nclass WithFlyout extends React.PureComponent {\r\n componentDidMount() {\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.id !== this.props.id) {\r\n this.props.fetch(nextProps.id);\r\n }\r\n }\r\n\r\n render() {\r\n const { flyouts, push, pop, clear, children } = this.props;\r\n return children({ flyouts, push, pop, clear});\r\n }\r\n}\r\n\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n flyouts : state.ui.flyouts\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch, ownProps) {\r\n return {\r\n push(type, props) {\r\n dispatch(pushFlyout(type, props));\r\n },\r\n pop() {\r\n dispatch(popFlyout());\r\n },\r\n clear() {\r\n dispatch(clearFlyouts())\r\n }\r\n }\r\n}\r\n\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(WithFlyout);\r\n\r\n","import React from 'react'\r\n\r\nimport GameContext from './GameContext'\r\nimport ViewContainer from './ViewContainer'\r\n\r\nimport { getConfigurationSection } from 'utils'\r\n\r\nconst TournamentStandingsFlyout = ({ onClose }) => {\r\n return (\r\n { ({ gameConfiguration }) => {\r\n const flyouts = getConfigurationSection(gameConfiguration, 'flyouts', window.swush.profile) || {};\r\n return (\r\n \r\n )\r\n \r\n }}\r\n )\r\n}\r\n\r\n\r\nexport default TournamentStandingsFlyout;","import React from 'react'\r\nexport default React.createContext({})\r\n\r\n\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { connect } from 'react-redux';\r\nimport { createSelector } from 'reselect'\r\n\r\n\r\nimport { fetchMatchIfNeeded } from '../redux/match/actions'\r\n\r\nclass WithMatch extends React.PureComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.id) {\r\n this.props.fetch(this.props.id);\r\n }\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.id !== this.props.id && nextProps.id) {\r\n this.props.fetch(this.props.id);\r\n }\r\n }\r\n\r\n render() {\r\n\r\n \r\n\r\n const { match, children } = this.props;\r\n\r\n \r\n if (!match)\r\n return null;\r\n\r\n return children({ match });\r\n }\r\n}\r\n\r\n\r\nexport const makeGetMatch = () => (\r\n createSelector([\r\n (state, props) => props.id,\r\n (state) => state.entities.matches,\r\n (state) => state.entities.teams,\r\n (state) => state.entities.locations,\r\n (state) => state.entities.matchGroups\r\n ],\r\n (id, matches, teams, locations, matchGroups) => {\r\n const match = matches[id];\r\n\r\n if (!match)\r\n return null;\r\n\r\n const participants = match && match.participants.map(p => {\r\n const team = teams[p.team];\r\n return {\r\n ...p,\r\n team\r\n }\r\n });\r\n\r\n return {\r\n ...match,\r\n location : locations[match.location],\r\n matchGroup : matchGroups[match.group],\r\n participants\r\n }\r\n })\r\n)\r\n\r\n\r\n\r\n\r\nconst makeMapStateToProps = () => {\r\n const getMatch = makeGetMatch();\r\n return (state, ownProps) => ({\r\n match : getMatch(state, ownProps)\r\n })\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch, ownProps) {\r\n return {\r\n fetch(id) {\r\n dispatch(fetchMatchIfNeeded(id));\r\n }\r\n }\r\n}\r\n\r\nWithMatch.propTypes = {\r\n id : PropTypes.any.isRequired\r\n}\r\n\r\nWithMatch.defaultProps = {\r\n}\r\n\r\nexport default connect(makeMapStateToProps, mapDispatchToProps)(WithMatch);\r\n\r\n","import React from 'react'\r\n\r\nimport { getConfigurationSection } from 'utils';\r\n\r\nimport { Flyout, DataContextProvider, TopBar } from '../components'\r\n\r\nimport GameContext from './GameContext';\r\nimport MatchContext from './MatchContext';\r\nimport WithMatch from './WithMatch'\r\n\r\n\r\nimport ViewContainer from './ViewContainer'\r\n\r\nclass MatchReportFlyout extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const { id, onClose } = this.props;\r\n\r\n\r\n\r\n return (\r\n { ({ match }) => (\r\n \r\n \r\n { ({ gameConfiguration }) => { \r\n if (!gameConfiguration)\r\n return null;\r\n\r\n const flyouts = getConfigurationSection(gameConfiguration, 'flyouts', window.swush.profile);\r\n\r\n return (\r\n \r\n )\r\n }}\r\n \r\n \r\n )}\r\n )\r\n }\r\n}\r\n\r\n\r\nexport default MatchReportFlyout;","import React from 'react'\r\nexport default React.createContext({})\r\n\r\n\r\n","import React from 'react'\r\n\r\nimport { Flyout, DataContextProvider } from '../components'\r\n\r\nimport GameContext from './GameContext';\r\nimport PlayerContext from './PlayerContext';\r\nimport WithMatch from './WithMatch'\r\n\r\nimport { getConfigurationSection } from 'utils'\r\n\r\nimport ViewContainer from './ViewContainer'\r\n\r\nimport WithPlayer from './WithPlayer'\r\n\r\n\r\nclass PlayerFlyout extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const { id, earnings, onClose } = this.props;\r\n\r\n return (\r\n { ({ game, gameConfiguration }) => { \r\n\r\n const flyouts = getConfigurationSection(gameConfiguration, 'flyouts', window.swush.profile);\r\n\r\n return (\r\n { (player) => (\r\n \r\n \r\n \r\n )}\r\n )\r\n }}\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default PlayerFlyout;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport ViewContainer from './ViewContainer'\r\nimport { Datasource } from 'components';\r\n\r\nclass ViewFlyout extends React.PureComponent {\r\n render() {\r\n const { view, args } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nViewFlyout.propTypes = {\r\n view : PropTypes.string.isRequired\r\n}\r\n\r\n\r\nexport default ViewFlyout;","import React from 'react'\r\n\r\n// Components\r\nimport { Icon, Box, Pill, Avatar, Card, Text, ListView, ListViewItem, CommentCountIcon } from 'components' \r\nimport { useTranslator } from '../../hooks/useTranslator'\r\nimport { number } from 'utils'\r\nimport { CardInset } from '../../components';\r\nimport auth from '../../common/auth'\r\n\r\n\r\nconst PreviewCompetitionCardHeader = ({ name, typeName, passwordProtected, imageUrl }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n { name }\r\n { typeName }\r\n \r\n \r\n { passwordProtected && } \r\n \r\n \r\n )\r\n}\r\n\r\n\r\nconst MemberCompetitionCardHeader = React.memo(({ name, typeName, unread, imageUrl }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n { name }\r\n { typeName }\r\n \r\n { !!unread && }\r\n \r\n )\r\n})\r\n\r\nconst CompetitionCardFooter = ({ enrollmentCount, owner, isOwner }) => {\r\n const t = useTranslator();\r\n\r\n return (\r\n \r\n\r\n \r\n { number(enrollmentCount, '', 0) }\r\n\r\n {\r\n isOwner ?\r\n \r\n \r\n { t('competitions.administrator') }\r\n\r\n :\r\n \r\n owner ?\r\n \r\n \r\n \r\n { owner }\r\n : null\r\n }\r\n \r\n )\r\n\r\n}\r\n\r\nconst CompetitionCardTeamList = React.memo(({ teams, ...otherProps }) => {\r\n return (\r\n \r\n \r\n {\r\n teams.map(item => (\r\n \r\n \r\n { item.text }\r\n { item.status}\r\n \r\n \r\n )) \r\n }\r\n \r\n \r\n )\r\n})\r\n\r\n\r\n\r\n\r\nexport const PreviewCompetitionCard = React.memo(({ competition, onClick }) => {\r\n const t = useTranslator();\r\n\r\n const typeName = t(`competitions.format_${ competition.type }`);\r\n\r\n const { name, passwordProtected, description, enrollmentCount } = competition;\r\n const owner = competition && competition.owner && competition.owner.username;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n})\r\n\r\n\r\n\r\nexport const MemberCompetitionCard = React.memo(({ competition, teams, unread, onClick, onShowMore, onShowMessageBoard }) => {\r\n const t = useTranslator();\r\n\r\n const typeName = t(`competitions.format_${ competition.type }`);\r\n\r\n const { name, enrollmentCount } = competition;\r\n const owner = competition && competition.owner && competition.owner.username;\r\n const userId = auth.getUserId();\r\n const isOwner = competition && competition.owner && competition && competition.owner.id == userId;\r\n\r\n return (\r\n \r\n \r\n { teams && teams.length > 0 && }\r\n \r\n \r\n )\r\n})\r\n","import React, { useEffect, useContext, useState } from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom'\r\n\r\n// Redux\r\nimport { findCompetitions, findMoreCompetitions } from '../redux/competition/actions'\r\nimport { getCompetitionsSearchResult } from '../redux/competition/selectors'\r\n\r\n// Components\r\nimport { \r\n Flyout, FlyoutHeader, FlyoutContent, \r\n ListViewItem, \r\n Icon, \r\n Box, Pica, ToolbarButtonGroup , ToolbarButton, FlatList,\r\n SplitView,\r\n SplitViewTopPane, SplitViewPane,\r\n HorizontalMenu\r\n} from 'components' \r\nimport { Search } from '../components/Forms';\r\nimport GameContext from '../containers/GameContext'\r\nimport LocalizeText from '../containers/LocalizeText';\r\nimport translatable from '../hocs/translatable';\r\nimport useFlyout from '../hooks/useFlyout'\r\n\r\nimport { PreviewCompetitionCard } from './components/CompetitionCard'\r\nimport { MenuItem } from '../components';\r\n\r\nconst useCompetitionSearch = (gameId, query, view) => {\r\n const dispatch = useDispatch();\r\n const searchResult = useSelector(state => getCompetitionsSearchResult(state));\r\n\r\n useEffect(() => {\r\n dispatch(findCompetitions(gameId, query, view));\r\n }, [gameId, query, view]);\r\n\r\n const fetchMore = () => {\r\n dispatch(findMoreCompetitions())\r\n }\r\n\r\n\r\n return [searchResult, fetchMore]\r\n}\r\n\r\n\r\nconst FindCompetitionFlyout = translatable(({ t, match, onClose }) => {\r\n const { game } = useContext(GameContext);\r\n const [query, setQuery] = useState('');\r\n const [showFlyout] = useFlyout();\r\n const [view, setView] = useState('');\r\n const [searchResult, fetchMore] = useCompetitionSearch(game.id, query, view);\r\n \r\n\r\n const showCompetition = (competition) => {\r\n showFlyout('competition_preview', { competitionId : competition.id });\r\n }\r\n\r\n const Item = ({ index, style}) => {\r\n const item = (searchResult.items || [])[index];\r\n \r\n if (item == null)\r\n return \r\n\r\n return (\r\n \r\n showCompetition(item) }/>\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setView('') }>{ t('competitions.all_menu_item') }\r\n setView('public') }>{ t('competitions.only_public_menu_item') }\r\n \r\n \r\n \r\n \r\n setQuery(value) } buttonCaption={ t('common.search_caption') } />\r\n \r\n \r\n \r\n \r\n { Item }\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n})\r\n\r\n\r\nexport default withRouter(FindCompetitionFlyout);\r\n","import { useMemo } from 'react'\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport { kick } from '../redux/competition/actions'\r\nimport { useSnackbar } from '../hooks/useSnackbar'\r\n\r\nconst useKick = () => {\r\n const dispatch = useDispatch();\r\n const [showSnackbar] = useSnackbar();\r\n\r\n const value = useMemo(() => {\r\n const _kick = (competitionId, fantasyTeamId, ban) => new Promise((resolve, reject) => {\r\n dispatch(kick(competitionId, fantasyTeamId, ban)).then(\r\n () => {\r\n\r\n if (ban) {\r\n showSnackbar('Holdet blev afmeldt, og brugeren bannet', 'success'); \r\n }\r\n else {\r\n showSnackbar('Holdet blev afmeldt', 'success');\r\n }\r\n\r\n resolve();\r\n },\r\n (e) => {\r\n const message = e.response.data.title || 'Der opstod en fejl';\r\n\r\n showSnackbar(message, 'error');\r\n reject();\r\n }\r\n )\r\n })\r\n\r\n return [_kick];\r\n }, []);\r\n\r\n return value;\r\n \r\n}\r\n\r\nexport default useKick;","\r\nimport React, { useState } from 'react';\r\nimport useKick from './useKick'\r\n\r\nimport { \r\n Dialog, DialogHeader, DialogContent, DialogFooter,\r\n Checkbox,\r\n Box,\r\n Button \r\n} from 'components'\r\nimport { RegularText } from '../components';\r\n\r\nimport { useTranslator } from '../hooks/useTranslator'\r\n\r\nconst KickDialog = ({ open, competition, fantasyTeam, onClose }) => {\r\n const [kick] = useKick();\r\n const [ban, setBan] = useState(false);\r\n const t = useTranslator();\r\n\r\n const teamName = fantasyTeam && fantasyTeam.name;\r\n const userName = fantasyTeam && fantasyTeam.user.username;\r\n\r\n const onConfirm = () => {\r\n kick(competition.id, fantasyTeam.id, ban).then(() => onClose(true));\r\n }\r\n\r\n return (\r\n \r\n { t('competitions.kick_team_heading') }\r\n \r\n { t('competitions.kick_team_description', { teamName }) }\r\n\r\n \r\n setBan(e.target.checked) } /> \r\n \r\n { t('competitions.kick_user_description', { userName }) }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default KickDialog;","import React, { useEffect, useMemo } from 'react'\r\n\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { fetchEnrollments, fetchMoreEnrollments } from '../redux/competition/actions'\r\nimport { makeGetEnrollments } from '../redux/competition/selectors'\r\n\r\n\r\nconst useEnrollments = (competitionId, query) => {\r\n const dispatch = useDispatch();\r\n const getEnrollments = useMemo(() => makeGetEnrollments(), []);\r\n \r\n useEffect(() => {\r\n if (competitionId) {\r\n dispatch(fetchEnrollments(competitionId, query));\r\n }\r\n }, [competitionId, query]);\r\n\r\n const fetchMore = () => {\r\n \r\n dispatch(fetchMoreEnrollments(competitionId));\r\n }\r\n\r\n const enrollments = useSelector(state => getEnrollments(state, competitionId));\r\n\r\n return [enrollments, fetchMore];\r\n}\r\nexport default useEnrollments;","\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { getSelectedGame } from '../redux/game/selectors'\r\n\r\nconst useCurrentGame = () => {\r\n return useSelector(state => getSelectedGame(state));\r\n}\r\n\r\nexport default useCurrentGame;","import React, { useState } from 'react'\r\nimport { useDispatch } from 'react-redux'\r\n\r\nimport { Search } from '../components/Forms';\r\n\r\nimport KickDialog from './KickDialog'\r\n\r\n\r\n\r\nimport useEnrollments from './useEnrollments'\r\nimport auth from '../common/auth'\r\nimport { FlatList, ListViewItem, FantasyTeamIdentity, XButton, Box } from 'components'\r\nimport useCurrentGame from '../containers/useCurrentGame'\r\n\r\nimport { useTranslator } from '../hooks/useTranslator'\r\n\r\nimport { fetchEnrollmentsIfNeeded } from '../redux/competition/actions'\r\n\r\nconst initialKickDialogState = {\r\n open : false, \r\n fantasyTeam : null\r\n}\r\n\r\nconst Enrollments = ({ competition, canKick, ...otherProps }) => {\r\n const [kickDialog, setKickDialog] = useState(initialKickDialogState);\r\n const [query, setQuery] = useState('');\r\n const [enrollments, fetchMore] = useEnrollments(competition.id, query);\r\n const userId = auth.getUserId();\r\n const game = useCurrentGame();\r\n const t = useTranslator();\r\n const dispatch = useDispatch();\r\n\r\n const handleKick = (fantasyTeam) => {\r\n if (competition.type == 'cup') {\r\n const firstRound = game.rounds[competition.firstRound - 1];\r\n if (new Date() > new Date(firstRound.close)) {\r\n alert(t('competitions.cannot_kick_when_cup_started_error'));\r\n return;\r\n }\r\n }\r\n\r\n setKickDialog({ open : true, fantasyTeam : fantasyTeam });\r\n }\r\n\r\n const onKickComplete = (success) => {\r\n if (success) {\r\n dispatch(fetchEnrollmentsIfNeeded(competition.id, 1, 25));\r\n }\r\n\r\n setKickDialog(initialKickDialogState);\r\n }\r\n\r\n const Item = ({ index, style}) => {\r\n const item = (enrollments.item && enrollments.item.items || [])[index];\r\n\r\n if (!item) {\r\n return ()\r\n }\r\n else {\r\n return (\r\n \r\n \r\n\r\n { canKick && item.fantasyTeam.user.id !== userId && handleKick(item.fantasyTeam) }>{ t('competitions.resign_caption')} }\r\n \r\n )\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n setQuery(value) } buttonCaption={ t('common.search_caption') } />\r\n \r\n \r\n {\r\n !enrollments.isFetching && enrollments.item && enrollments.item.items.length == 0 && \r\n (\r\n \r\n { t('competitions.no_matching_teams_found') }\r\n \r\n )\r\n }\r\n\r\n { Item }\r\n \r\n \r\n\r\n \r\n \r\n )\r\n}\r\n\r\nexport default Enrollments;","import { useEffect, useMemo } from 'react'\r\n\r\nimport { useDispatch, useSelector } from 'react-redux'\r\nimport { makeGetCompetition } from '../redux/competition/selectors'\r\nimport { fetchCompetitionIfNeeded } from '../redux/competition/actions';\r\n\r\nconst useCompetition = (competitionId) => {\r\n const dispatch = useDispatch();\r\n const getCompetition = useMemo(() => makeGetCompetition(), []);\r\n\r\n useEffect(() => {\r\n dispatch(fetchCompetitionIfNeeded(competitionId));\r\n }, [competitionId]);\r\n\r\n const competition = useSelector(state => getCompetition(state, competitionId));\r\n \r\n return [competition];\r\n}\r\n\r\nexport default useCompetition;","import React from 'react'\r\n\r\nimport { Box, FactList, FactListItem, BodyCopy, Separator } from 'components'\r\n\r\nimport { useTranslator } from '../hooks/useTranslator'\r\n\r\nconst Info = ({ competition}) => {\r\n const t = useTranslator();\r\n return (\r\n \r\n \r\n\r\n { \r\n competition && competition.description && \r\n \r\n { competition.description }\r\n \r\n }\r\n\r\n \r\n { competition.enrollmentCount }\r\n \r\n { competition.owner && { competition.owner.username } }\r\n \r\n \r\n { competition && `${ competition.firstRound }-${ competition.firstRound + competition.rounds }` }\r\n \r\n \r\n\r\n \r\n \r\n )\r\n}\r\n\r\n\r\nexport default Info;","import React from 'react'\r\n\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport { deleteCompetition } from '../redux/competition/actions'\r\n\r\nimport { \r\n Box,\r\n XButton,\r\n Dialog, DialogHeader, DialogContent, DialogFooter,\r\n BodyCopy\r\n} from 'components'\r\nimport { useTranslator } from '../hooks/useTranslator'\r\n\r\nimport { useSnackbar } from '../hooks/useSnackbar'\r\n\r\nconst DeleteCompetitionDialog = ({ open, competitionId, onClose, onDelete }) => {\r\n const dispatch = useDispatch();\r\n const [showSnackbar] = useSnackbar();\r\n const t = useTranslator();\r\n\r\n const handleDelete = () => {\r\n dispatch(deleteCompetition(competitionId)).then(\r\n () => {\r\n showSnackbar(t('competitions.mini_league_deleted_confirmation'), 'success');\r\n onDelete();\r\n },\r\n () => {\r\n showSnackbar(t('common.an_error_occurred'), 'error');\r\n }\r\n );\r\n }\r\n\r\n return (\r\n \r\n { t('competitions.delete_mini_league_heading') }\r\n \r\n { t('competitions.delete_mini_league_prompt') }\r\n \r\n \r\n \r\n { t('common.cancel_caption') }\r\n { t('common.ok_caption') }\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default DeleteCompetitionDialog;\r\n","import React, { useState, useEffect } from 'react'\r\nimport { useDispatch } from 'react-redux'\r\n\r\n\r\nimport { updateCompetition } from '../redux/competition/actions';\r\nimport { useSnackbar } from '../hooks/useSnackbar'\r\n\r\nimport { \r\n XButton,\r\n Form,\r\n FormField,\r\n Textbox,\r\n Icon,\r\n CheckBoxButton,\r\n PasswordInput,\r\n Textarea,\r\n Box,\r\n HoverWithOpacity\r\n\r\n\r\n} from 'components'\r\nimport { Label } from '../components';\r\n\r\nimport DeleteCompetitionDialog from './DeleteCompetitionDialog'\r\nimport { useTranslator } from '../hooks/useTranslator'\r\n\r\n\r\nconst UIToggle = ({ label, show, text, children, onChangeDisplay }) => {\r\n const t = useTranslator();\r\n\r\n return (\r\n \r\n \r\n { \r\n !show && \r\n onChangeDisplay(true) }>\r\n \r\n \r\n \r\n { text }\r\n \r\n }\r\n\r\n {\r\n show &&\r\n \r\n \r\n \r\n \r\n \r\n onChangeDisplay(false) }>{ t('common.remove_caption')}\r\n \r\n\r\n { children }\r\n \r\n\r\n }\r\n\r\n \r\n )\r\n}\r\n\r\nconst Settings = ({ open, competition, onDelete }) => {\r\n const dispatch = useDispatch();\r\n const [problems, setProblems] = useState(null)\r\n const [showDeleteDialog, setShowDeleteDialog] = useState(false)\r\n const [showSnackbar] = useSnackbar();\r\n const t = useTranslator();\r\n\r\n const [item, setItem] = useState({\r\n name : '',\r\n type : 'leaderboard',\r\n useDescription : false,\r\n description : '',\r\n allowMultipleEntries : false,\r\n enforceDeadline : false,\r\n usePassword : false,\r\n password : ''\r\n })\r\n\r\n useEffect(() => {\r\n if (competition) {\r\n const password = typeof(competition.password) == 'undefined' ? '': competition.password + '';\r\n setItem({\r\n name : competition.name,\r\n type : competition.type,\r\n useDescription : competition.description.length > 0,\r\n description : competition.description + '',\r\n enforceDeadline : competition.enforceDeadline,\r\n allowMultipleEntries : competition.allowMultipleEntries,\r\n usePassword : password.length > 0,\r\n password : password\r\n\r\n })\r\n }\r\n }, [competition]);\r\n\r\n\r\n const onSubmit = () => {\r\n const data = {\r\n name : item.name,\r\n type : item.type,\r\n allowMultipleEntries : item.allowMultipleEntries,\r\n enforceDeadline : item.enforceDeadline,\r\n description : item.useDescription ? item.description : '',\r\n password : item.usePassword && item.password || ''\r\n }\r\n\r\n dispatch(updateCompetition(competition.id, data)).then(response => {\r\n showSnackbar('Miniligaen blev opdateret', 'success');\r\n }, e => {\r\n const title = e.response.data.title || 'Der opstod en fejl under opdateringen.'\r\n showSnackbar(title, 'error');\r\n setProblems(e.response.data.errors);\r\n });\r\n }\r\n\r\n const handleDelete = () => {\r\n onDelete();\r\n }\r\n\r\n return (\r\n \r\n\r\n
    \r\n \r\n \r\n setItem({ ...item, name : e.target.value })} />\r\n \r\n\r\n \r\n setItem({ ...item, useDescription : value })}>\r\n \r\n \r\n \r\n { t('common.cancel_caption') }\r\n { t('common.save_caption') }\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default CreatePost;","import React, { useState } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { XButton, Icon, Box } from 'components'\r\n\r\nconst AsyncButton = ({ onClick, children, disabled, ...otherProps }) => {\r\n const [busy, setBusy] = useState(false);\r\n\r\n const handleOnClick = (e) => {\r\n if (!busy) {\r\n setBusy(true);\r\n\r\n \r\n\r\n onClick(e).then(\r\n () => setBusy(false),\r\n () => setBusy(false)\r\n );\r\n }\r\n }\r\n \r\n return (\r\n \r\n \r\n \r\n \r\n { children }\r\n\r\n \r\n \r\n \r\n )\r\n \r\n}\r\n\r\nAsyncButton.propTypes = {\r\n onClick : PropTypes.func,\r\n children : PropTypes.node\r\n}\r\n\r\n\r\nexport default AsyncButton;","import React from 'react'\r\n\r\nimport Button from '../components/Button'\r\nimport Icon from '../components/Icon'\r\nimport IconButton from '../components/IconButton'\r\n\r\nconst BusyButton = ({ busy, label, children, onClick, ...otherProps }) => {\r\n if (busy) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n \r\n return (\r\n \r\n )\r\n}\r\n\r\nexport default BusyButton;","import React, { useState } from 'react'\r\n\r\nimport { Box, Textarea, XButton } from 'components';\r\nimport { useTranslator } from '../../hooks/useTranslator'\r\nconst initialState = { text : '' };\r\n\r\nconst CreateReply = ({ onCreate, onCancel }) => {\r\n const [item, setItem] = useState({ text: '' });\r\n const t = useTranslator();\r\n\r\n const onCommit = () => {\r\n onCreate(item);\r\n setItem(initialState) ;\r\n }\r\n\r\n const handleKeyDown = (e) => {\r\n if(e.keyCode == 13 && e.shiftKey == false) {\r\n e.preventDefault();\r\n onCreate(item);\r\n setItem(initialState) ;\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n { t('common.cancel_caption') }\r\n { t('common.save_caption') }\r\n \r\n \r\n )\r\n}\r\n\r\nexport default CreateReply;","import React, { useMemo, useState } from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\n\r\nimport { fetchRepliesIfNeeded, fetchMoreReplies, createReply, applyPendingReplies } from '../../redux/messageBoard/actions'\r\nimport { makeGetReplies, makeGetNumberOfPendingReplies } from '../../redux/messageBoard/selectors'\r\n\r\nimport CreateReply from './CreateReply'\r\n\r\nimport auth from '../../common/auth'\r\n\r\nimport styled from 'styled-components'\r\n\r\nimport { \r\n Avatar,\r\n Dropdown,\r\n ListViewItem,\r\n XButton,\r\n RelativeTime,\r\n More,\r\n Spinner,\r\n ToolbarButton,\r\n PostText,\r\n Box,\r\n Icon,\r\n\r\n Card,\r\n ListView,\r\n Text,\r\n Brevier,\r\n BodyCopy\r\n} from 'components'\r\n\r\nimport { AsyncButton } from '../../molecules';\r\nimport { useTranslator } from '../../hooks/useTranslator'\r\n\r\nconst UserIdentity = ({ user }) => {\r\n\r\n if (!user)\r\n return null;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n { user.username }\r\n \r\n )\r\n}\r\n\r\n\r\n\r\nconst PostCommandDropdown = ({ post, onCommand, rights }) => {\r\n const t = useTranslator();\r\n\r\n const items = rights.indexOf('d') >= 0 ?\r\n [\r\n { value : 'delete', label : t('messageboard.delete_label') },\r\n { value : 'report', label : t('messageboard.report_label') }\r\n ] : [{ value : 'report', label : t('messageboard.report_label') }]\r\n\r\n return (\r\n onCommand(value, post) } >{ ({ open, isOpen }) => (\r\n \r\n \r\n \r\n )}\r\n )\r\n}\r\n\r\n\r\nconst Replies = ({ numberOfPendingReplies, didFetch, replies, clientReplyCount, onApplyPending, onFetch }) => {\r\n const t = useTranslator();\r\n\r\n if (numberOfPendingReplies > 0) {\r\n return { t('messageboard.show_n_new_caption', { count : numberOfPendingReplies}) }\r\n }\r\n else if (!didFetch && replies > 0) {\r\n return { t('messageboard.n_replies_caption', { count : clientReplyCount}) } \r\n }\r\n else {\r\n return { t('messageboard.n_replies_caption', { count : clientReplyCount}) }\r\n }\r\n}\r\n\r\n\r\n\r\nconst PostFooter = ({ replies, clientReplyCount, numberOfPendingReplies, didFetch, onReply, onApplyPending, onShowReplies }) => {\r\n const t = useTranslator();\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { t('messageboard.reply_caption')}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\n\r\n\r\nconst PostHeader = ({ post, onCommand, role, userId, ...otherProps}) => {\r\n const { user } = post;\r\n\r\n const rights = role == 'administrator' || user.id == userId ? 'rwcd' : 'r';\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\n\r\n\r\nconst StyledReply = styled(Box)`\r\n border-top: 1px solid ${ props => props.theme.colors.borderUp};\r\n`\r\n\r\n\r\n\r\nconst Reply = ({ reply, number, onCommand, role, userId, ...otherProps }) => {\r\n return (\r\n \r\n \r\n #{ number }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\n\r\n\r\nconst PostItem = ({ messageBoardId, role, post, onCommand }) => {\r\n \r\n\r\n const dispatch = useDispatch();\r\n const [showReply, setShowReply] = useState(false);\r\n const getReplies = useMemo(() => makeGetReplies(), []);\r\n const getNumberOfPendingReplies = useMemo(() => makeGetNumberOfPendingReplies(), [])\r\n const replies = useSelector(state => getReplies(state, messageBoardId, post.id));\r\n const numberOfPendingReplies = useSelector(state => getNumberOfPendingReplies(state, messageBoardId, post.id));\r\n\r\n const onFetch = () => dispatch(fetchRepliesIfNeeded(messageBoardId, post.id));\r\n const onMore = () => dispatch(fetchMoreReplies(messageBoardId, post.id));\r\n const handleCreateReply = data => {\r\n dispatch(createReply(messageBoardId, post.id, data))\r\n setShowReply(false);\r\n };\r\n const applyPending = () => dispatch(applyPendingReplies(messageBoardId, post.id));\r\n\r\n const userId = auth.getUserId();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n { !showReply && setShowReply(!showReply) } />}\r\n\r\n { showReply && setShowReply(false) } /> }\r\n\r\n {\r\n replies.items && replies.items.length > 0 && \r\n \r\n { \r\n replies.items.map((reply, index) => (\r\n \r\n \r\n \r\n ))\r\n }\r\n \r\n }\r\n\r\n\r\n { replies.isFetching && }\r\n\r\n { !replies.isFetching && replies.links && replies.links.next && Vis ældre }\r\n\r\n \r\n )\r\n}\r\n\r\nexport default PostItem;","import React, { useEffect, useMemo, useState } from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\n\r\nimport { \r\n invalidatePosts, \r\n invalidateMessageBoard, \r\n fetchPostsIfNeeded, \r\n createPost, \r\n fetchMorePosts, \r\n deletePost, reportPost, markMessageBoardRead,\r\n applyPendingPosts,\r\n fetchMessageBoardIfNeeded \r\n} from '../../redux/messageBoard/actions'\r\n\r\nimport { makeGetPosts, makeGetHasPendingPosts, makeGetMessageBoard } from '../../redux/messageBoard/selectors'\r\n\r\nimport { useSnackbar } from '../../hooks/useSnackbar'\r\n\r\nimport useUnread from './useUnread'\r\n\r\nimport ReportDialog from './ReportDialog'\r\nimport ConfirmationDialog from './ConfirmationDialog'\r\nimport CreatePost from './CreatePost'\r\nimport { useTranslator } from '../../hooks/useTranslator'\r\nimport { \r\n Icon,\r\n ChangeNotification,\r\n Spinner,\r\n ToolbarButton,\r\n BodyCopy,\r\n Box,\r\n ListView\r\n \r\n} from 'components'\r\nimport { AsyncButton } from '../../molecules'\r\n\r\nimport PostItem from './PostItem'\r\n\r\n\r\nconst DialogConductor = ({ dialog, onClose }) => {\r\n if (!dialog)\r\n return null;\r\n\r\n switch(dialog.type) {\r\n case 'confirm':\r\n return \r\n case 'report':\r\n return \r\n default:\r\n return null; \r\n }\r\n}\r\n\r\n\r\n\r\n/* Post Header */\r\n\r\nconst MessageBoard = ({ messageBoardId }) => {\r\n const dispatch = useDispatch();\r\n const getPosts = useMemo(() => makeGetPosts(), []);\r\n const getHasPendingPosts = useMemo(() => makeGetHasPendingPosts(), [])\r\n const getMessageBoard = useMemo(() => makeGetMessageBoard(), [])\r\n const posts = useSelector(state => getPosts(state, messageBoardId));\r\n const hasPendingPosts = useSelector(state => getHasPendingPosts(state, messageBoardId));\r\n const messageBoard = useSelector(state => getMessageBoard(state, messageBoardId));\r\n const [showSnackbar] = useSnackbar();\r\n const [dialog, setDialog] = useState();\r\n const [unread] = useUnread(messageBoardId);\r\n const t = useTranslator();\r\n\r\n const [showCreate, setShowCreate] = useState(false);\r\n\r\n const role = (messageBoard && messageBoard.item && messageBoard.item.permissions && messageBoard.item.permissions.role) || 'none';\r\n\r\n const onRefresh = () => {\r\n dispatch(invalidatePosts(messageBoardId));\r\n dispatch(fetchPostsIfNeeded(messageBoardId));\r\n }\r\n\r\n useEffect(() => {\r\n dispatch(invalidateMessageBoard(messageBoardId));\r\n dispatch(fetchMessageBoardIfNeeded(messageBoardId));\r\n dispatch(fetchPostsIfNeeded(messageBoardId));\r\n dispatch(markMessageBoardRead(messageBoardId));\r\n\r\n return () => {\r\n dispatch(invalidateMessageBoard(messageBoardId));\r\n }\r\n }, [])\r\n\r\n\r\n const onCreate = (data) => {\r\n dispatch(createPost(messageBoardId, data));\r\n setShowCreate(false);\r\n }\r\n\r\n const onMore = () => {\r\n return dispatch(fetchMorePosts(messageBoardId));\r\n }\r\n\r\n const getFresh = () => dispatch(applyPendingPosts(messageBoardId));\r\n\r\n const onCommandConfirm = (command, post) => {\r\n switch(command) {\r\n case 'delete':\r\n \r\n dispatch(deletePost(messageBoardId, post.id, post.parent && post.parent.id)).then(\r\n () => showSnackbar(t('messageboard.post_deleted'), 'success'),\r\n () => showSnackbar(t('common.an_error_occurred'), 'error')\r\n );\r\n break;\r\n }\r\n }\r\n\r\n const onCommand = (command, post) => {\r\n switch(command) {\r\n case 'delete':\r\n setDialog({\r\n type : 'confirm',\r\n props : {\r\n title : t('messageboard.delete_post_prompt_heading'),\r\n text : t('messageboard.delete_post_prompt_message'),\r\n onConfirm : () => {\r\n dispatch(deletePost(messageBoardId, post.id, post.parent)).then(\r\n () => showSnackbar(t('messageboard.post_deleted'), 'success'),\r\n () => showSnackbar(t('common.an_error_occurred'), 'error')\r\n );\r\n }\r\n }\r\n })\r\n break;\r\n case 'report':\r\n setDialog({\r\n type : 'report',\r\n props : {\r\n title : 'Report post',\r\n onConfirm : (reason) => {\r\n dispatch(reportPost(messageBoardId, post.id, { reason })).then(\r\n () => showSnackbar(t('messageboard.post_reported'), 'success'),\r\n () => showSnackbar(t('common.an_error_occurred'), 'error')\r\n );\r\n }\r\n }\r\n })\r\n break; \r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n setShowCreate(!showCreate) } >\r\n \r\n \r\n \r\n \r\n setShowCreate(false) } />\r\n\r\n \r\n \r\n \r\n {\r\n posts.items.map(item => (\r\n \r\n ))\r\n }\r\n \r\n \r\n \r\n { posts.isFetching && }\r\n\r\n { !posts.isFetching && posts.links && posts.links.next && \r\n \r\n { t('messageboard.more_comments_caption') } \r\n \r\n }\r\n\r\n {\r\n posts.didFetch && posts.items.length == 0 &&\r\n \r\n { t('messageboard.no_posts_message') }\r\n \r\n }\r\n \r\n\r\n setDialog() } />\r\n \r\n )\r\n}\r\n\r\nexport default MessageBoard;","import React, { useEffect, useMemo } from 'react'\r\n\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { fetchMyEnrollments } from '../redux/competition/actions'\r\nimport { makeGetMyEnrollments } from '../redux/competition/selectors'\r\n\r\nconst useMyEnrollments = (competitionId) => {\r\n const dispatch = useDispatch();\r\n const getMyEnrollments = useMemo(() => makeGetMyEnrollments(), []);\r\n const myEnrollments = useSelector(state => getMyEnrollments(state, competitionId));\r\n\r\n useEffect(() => {\r\n if (competitionId) {\r\n dispatch(fetchMyEnrollments(competitionId));\r\n }\r\n }, [competitionId])\r\n\r\n return useMemo(() => [myEnrollments.items, myEnrollments.isFetching], [myEnrollments]);\r\n}\r\n\r\nexport default useMyEnrollments;","import { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { showModal } from '../redux/ui/actions'\r\n\r\nconst useModal = () => {\r\n const dispatch = useDispatch();\r\n\r\n const show = (name, props, callback) => {\r\n dispatch(showModal(name, props, callback));\r\n }\r\n\r\n const modal = useSelector(state => state.ui.modal);\r\n\r\n return [show, modal];\r\n}\r\n\r\nexport default useModal;","import React from 'react'\r\n\r\nimport { ListView, ListViewItem, Spinner, FantasyTeamIdentity, Box, XButton } from 'components'\r\n\r\nimport useMyEnrollments from './useMyEnrollments'\r\nimport useModal from '../containers/useModal'\r\nimport useCompetition from './useCompetition'\r\nimport useCurrentGame from '../containers/useCurrentGame'\r\nimport { useTranslator } from '../hooks/useTranslator'\r\n\r\nconst MyEnrollments = ({ competitionId, ...otherProps }) => {\r\n const [showModal] = useModal();\r\n const [myEnrollments, isFetching] = useMyEnrollments(competitionId);\r\n const [competition] = useCompetition(competitionId)\r\n const game = useCurrentGame();\r\n const t = useTranslator();\r\n\r\n const handleResign = (item) => {\r\n \r\n \r\n\r\n if (competition.type == 'cup') {\r\n const firstRound = game.rounds[competition.firstRound - 1];\r\n if (new Date() > new Date(firstRound.close)) {\r\n alert(t('competitions.cannot_change_enrollment_after_start_error'));\r\n return;\r\n }\r\n }\r\n\r\n showModal('resign', { competitionId, fantasyTeamId : item.fantasyTeam.id });\r\n }\r\n\r\n\r\n if (isFetching)\r\n return \r\n\r\n return (\r\n \r\n \r\n {\r\n myEnrollments && myEnrollments.map(item => (\r\n \r\n \r\n \r\n \r\n \r\n handleResign(item) }>{ t('competitions.resign_caption') }\r\n \r\n \r\n ))\r\n }\r\n \r\n\r\n \r\n showModal('enrollment', { competitionId }) }>{ t('competitions.enroll_caption') }\r\n \r\n \r\n )\r\n}\r\n\r\nexport default MyEnrollments;","import React, { useState } from 'react'\r\nimport { ToolbarButton, ToolbarButtonGroup, Icon } from 'components'\r\nimport Enrollments from './Enrollments'\r\nimport { matchPath, useLocation } from 'react-router-dom'\r\n\r\nimport { \r\n NotificationIcon,\r\n Attachment,\r\n Flyout,\r\n FlyoutOverlayContent,\r\n TabBar, TabBarItem,\r\n Box,\r\n ExpandablePanel,\r\n Text,\r\n SectionHeading,\r\n Avatar\r\n} from 'components'\r\n\r\nimport useCompetition from './useCompetition'\r\n\r\nimport Info from './Info'\r\n//import Invite from './Invite'\r\nimport Settings from './Settings'\r\nimport MessageBoard from '../containers/messageBoard/MessageBoard'\r\nimport useUnread from '../containers/messageBoard/useUnread'\r\nimport MyEnrollments from './MyEnrollments';\r\nimport { useTranslator } from '../hooks/useTranslator'\r\n\r\nimport auth from '../common/auth';\r\n\r\n\r\nconst MessageBoardTitle = ({ competition }) => {\r\n const t = useTranslator();\r\n\r\n const [unread] = useUnread(competition && competition.messageBoard && competition.messageBoard.id)\r\n return (\r\n } top={ -12 } right={ -16 }>\r\n { t('common.messageboard') }\r\n \r\n )\r\n}\r\n\r\n\r\n\r\nconst Header = ({ competition }) => {\r\n const t = useTranslator();\r\n\r\n return (\r\n \r\n \r\n \r\n { competition && competition.name }\r\n { t(`competitions.format_${ competition.type }`) }\r\n \r\n \r\n )\r\n}\r\n\r\nconst ExtendedHeader = ({ competition }) => {\r\n const t = useTranslator();\r\n return (\r\n \r\n \r\n \r\n { competition && competition.name }\r\n { t(`competitions.format_${ competition.type }`) }\r\n \r\n \r\n )\r\n}\r\n\r\n\r\nconst MenuWrap = ({ view, competition, children }) => {\r\n\r\n \r\n\r\n return (\r\n \r\n \r\n {\r\n view == 'info' && competition &&\r\n \r\n }\r\n\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nconst CompetitionFlyout = ({ competitionId, initialTab, onClose }) => {\r\n const [competition] = useCompetition(competitionId);\r\n \r\n const userId = auth.getUserId();\r\n const [view, setView] = useState();\r\n const loc = useLocation();\r\n \r\n const t = useTranslator();\r\n\r\n const isOwner = competition && competition.owner && competition.owner.id == userId;\r\n\r\n let initialTabIndex = 0;\r\n if (initialTab == 'messageBoard')\r\n initialTabIndex = 1;\r\n\r\n const toolbar = (\r\n \r\n view == 'info' ? setView() : setView('info') } selected={ view === 'info' } >\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n const handleDelete = () => {\r\n const match = matchPath(loc.pathname, { path : '/:language/games/:gameSlug/:gameId'});\r\n location.href = `/${ match.params.language }/games/${ match.params.gameSlug }/${ match.params.gameId }/competitions`;\r\n\r\n onClose();\r\n }\r\n\r\n return (\r\n \r\n } toolbar={ toolbar }>\r\n \r\n\r\n {\r\n competition &&\r\n \r\n {component } } initialTabIndex={ initialTabIndex }>\r\n \r\n \r\n \r\n \r\n\r\n {\r\n competition.kind == 'groupGame' &&\r\n \r\n { t('competitions.my_teams') }\r\n \r\n \r\n }\r\n \r\n\r\n \r\n { t('competitions.all_enrollments') }\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {\r\n competition.messageBoard &&\r\n }>\r\n {\r\n competition.messageBoard && || null\r\n }\r\n \r\n }\r\n\r\n {\r\n isOwner &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n }\r\n \r\n \r\n\r\n )\r\n}\r\n\r\nexport default CompetitionFlyout;\r\n","import React, {useCallback} from 'react'\r\nimport { ToolbarButton, ToolbarButtonGroup, Icon } from 'components'\r\nimport Enrollments from './Enrollments'\r\nimport { Redirect } from 'react-router-dom'\r\n\r\nimport { useDispatch } from 'react-redux'\r\nimport { fetchGame } from '../redux/game/actions';\r\n\r\n\r\nimport { \r\n Flyout,\r\n Avatar,\r\n FlyoutOverlayContent,\r\n TabBar, \r\n TabBarItem,\r\n Text,\r\n Box,\r\n XButton\r\n} from 'components'\r\n\r\nimport useCompetition from './useCompetition'\r\n\r\nimport Info from './Info'\r\nimport useModal from '../containers/useModal';\r\nimport { Panel } from '../components';\r\nimport useCurrentGame from '../containers/useCurrentGame';\r\nimport useAuthenticator from '../containers/useAuthenticator'\r\nimport { useTranslator } from '../hooks/useTranslator'\r\n\r\nconst Header = ({ competition }) => {\r\n const t = useTranslator();\r\n\r\n return (\r\n \r\n \r\n \r\n { competition && competition.name }\r\n { t(`competitions.format_${ competition.type }`) }\r\n \r\n \r\n )\r\n}\r\n\r\nconst ExtendedHeader = ({ competition }) => {\r\n const t = useTranslator();\r\n\r\n return (\r\n \r\n \r\n \r\n { competition && competition.name }\r\n { t(`competitions.format_${ competition.type }`) }\r\n \r\n \r\n )\r\n}\r\n\r\n\r\n\r\nconst CompetitionPreviewFlyout = ({ competitionId, password, onClose }) => {\r\n const [competition] = useCompetition(competitionId);\r\n const [showModal] = useModal();\r\n const game = useCurrentGame();\r\n const [authenticate] = useAuthenticator();\r\n const t = useTranslator();\r\n \r\n \r\n const toolbar = (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\n const onEnroll = () => {\r\n \r\n if (authenticate()) {\r\n showModal('enrollment', { competitionId, password })\r\n }\r\n }\r\n\r\n return (\r\n \r\n } toolbar={ toolbar }>\r\n \r\n \r\n \r\n { t('competitions.join_caption') }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default CompetitionPreviewFlyout;\r\n","\r\nimport { createSelector } from 'reselect'\r\n\r\nexport const getNotifications = createSelector(\r\n state => state.notification.notifications,\r\n state => state.entities.notifications,\r\n (notifications, notificationEntities) => {\r\n\r\n\r\n const items = (notifications.items || []).map(item => {\r\n const notification = notificationEntities[item];\r\n\r\n return notification;\r\n });\r\n\r\n return {\r\n ...notifications,\r\n items\r\n }\r\n }\r\n)\r\n","import React, { useEffect, useMemo, useCallback } from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\n\r\nimport { useRouteMatch, useHistory } from 'react-router-dom';\r\n\r\nimport { Flyout, FlyoutHeader, FlyoutContent } from 'components'\r\nimport { Box, RegularText, XButton, ListView, ListViewItem, ListViewHeader, RelativeTime,\r\n ToolbarButton, ToolbarButtonGroup, Icon,\r\nBodyCopy, Brevier\r\n} from '../components';\r\nimport Spinner from '../components/Spinner';\r\nimport { fetchNotificationsIfNeeded, invokeNotification, markNotificationsRead, invalidateNotifications } from '../redux/notification/actions';\r\nimport { getNotifications } from '../redux/notification/selectors';\r\nimport LocalizeText from './LocalizeText'\r\nimport translatable from '../hocs/translatable';\r\nimport useFlyout from '../hooks/useFlyout'\r\nimport { fetchCompetition } from '../redux/competition/actions';\r\nimport { fetchGame } from '../redux/game/actions';\r\n\r\nconst FormattedNotificationText = ({ text }) => {\r\n return text.split('\\n').map((s, index) => {s}
    )\r\n}\r\n\r\nconst NotificationSection = ({ t, status, items, onInvoke }) => {\r\n \r\n\r\n return (\r\n \r\n \r\n \r\n { status == 'new' ? t('notifications.newNotificationsHeader') : t('notifications.olderNotificationsHeader') }\r\n \r\n\r\n {\r\n items.map(item => {\r\n return (\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n {\r\n item.actionText &&\r\n onInvoke(item) } nopadding>\r\n { item.actionText }\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n )\r\n\r\n}\r\n\r\n\r\nconst NoNotifications = ({ t }) => {\r\n return (\r\n { t('notifications.noNotifications') }\r\n )\r\n}\r\n\r\nconst NotificationGroupList = ({ t, notifications, hasMore, onMarkAllAsRead, onMore, onInvoke }) => {\r\n\r\n \r\n const groupedNotifications = useMemo(() => {\r\n\r\n return notifications.items.reduce((agg, un) => {\r\n const status = un.new ? 'new' : 'default';\r\n\r\n if (!agg[status])\r\n agg[status] = [];\r\n \r\n agg[status].push(un);\r\n\r\n return agg;\r\n }, {});\r\n\r\n\r\n }, [notifications])\r\n\r\n return (\r\n \r\n\r\n \r\n { t('notifications.markAllAsRead') }\r\n \r\n\r\n {\r\n Object.keys(groupedNotifications).map((key, index) => {\r\n return (\r\n 0 ? 3 : 0 }>\r\n \r\n \r\n )\r\n })\r\n }\r\n\r\n {\r\n hasMore &&\r\n Show { notifications.pageSize } More\r\n }\r\n \r\n \r\n )\r\n}\r\n\r\nconst NotificationViewConductor = (props) => {\r\n\r\n\r\n\r\n if (props.notifications.isFetching && (props.notifications.count === 0 || typeof(props.notifications.count) === 'undefined'))\r\n return \r\n else if (typeof(props.notifications.count) === 'undefined' || props.notifications.count === 0)\r\n return \r\n else\r\n return \r\n}\r\n\r\n\r\nconst NotificationFlyout = translatable(({ t, onClose }) => {\r\n const dispatch = useDispatch();\r\n const [showFlyout] = useFlyout();\r\n const match = useRouteMatch(\"/:language\");\r\n\r\n useEffect(() => {\r\n dispatch(fetchNotificationsIfNeeded(1, 10))\r\n }, []);\r\n\r\n const notifications = useSelector(getNotifications);\r\n \r\n const handleInvoke = (notification) => {\r\n dispatch(invokeNotification(notification.id)).then((res) => {\r\n if (res && res.action == 'url') {\r\n location.href = res.parameters['href'];\r\n }\r\n else if (res && res.action == 'competition') {\r\n\r\n dispatch(fetchCompetition(res.parameters['id'])).then(competition => {\r\n dispatch(fetchGame(competition.game.id)).then(game => {\r\n \r\n let url = `/${ match.params.language }/games/${ game.slug }/${ game.id }/competitions/${ competition.slug }/${ competition.id }/share`;\r\n \r\n location.href = url;\r\n \r\n\r\n })\r\n \r\n })\r\n\r\n // showFlyout('competition_preview', { competitionId : res.parameters['id'] })\r\n }\r\n });\r\n }\r\n\r\n const handleMarkAllRead = () => {\r\n dispatch(markNotificationsRead());\r\n }\r\n\r\n\r\n const handleShowMore = () => {\r\n dispatch(fetchNotificationsIfNeeded(notifications.page + 1, 10))\r\n }\r\n\r\n\r\n const hasMore = notifications.count > notifications.page * notifications.pageSize;\r\n \r\n\r\n return (\r\n \r\n \r\n\r\n \r\n \r\n \r\n { t('notifications.notifications') }\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}) \r\n\r\n\r\nexport default NotificationFlyout;","import React, { useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { pushFlyout, popFlyout, clearFlyouts } from '../redux/ui/actions';\r\n\r\n\r\nimport { FlyoutStack, ErrorBoundary } from '../components'\r\n\r\nimport WithFlyouts from './WithFlyouts'\r\n\r\nimport TournamentStandingsFlyout from './TournamentStandingsFlyout'\r\nimport MatchReportFlyout from './MatchReportFlyout'\r\nimport PlayerFlyout from './PlayerFlyout'\r\nimport ViewFlyout from './ViewFlyout'\r\n\r\nimport FindCompetitionFlyout from '../competitions/FindCompetitionFlyout'\r\nimport CompetitionFlyout from '../competitions/CompetitionFlyout'\r\nimport CompetitionPreviewFlyout from '../competitions/CompetitionPreviewFlyout'\r\nimport NotificationFlyout from './NotificationFlyout';\r\n\r\nconst map = {\r\n view : ViewFlyout,\r\n match : MatchReportFlyout,\r\n standings : TournamentStandingsFlyout,\r\n player: PlayerFlyout,\r\n competition : CompetitionFlyout,\r\n competition_preview : CompetitionPreviewFlyout,\r\n find_competition: FindCompetitionFlyout,\r\n notifications: NotificationFlyout\r\n}\r\n\r\n\r\n\r\nconst FlyoutConductor = () => {\r\n const dispatch = useDispatch();\r\n const flyouts = useSelector(state => state.ui.flyouts);\r\n\r\n const pop = useCallback(() => { dispatch(popFlyout()); }, []);\r\n \r\n\r\n \r\n return (\r\n \r\n { \r\n flyouts.map((f, index) => {\r\n const Component = map[f.view];\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n )\r\n\r\n};\r\n\r\n\r\nexport default FlyoutConductor;","import React, { useEffect, useMemo } from 'react'\r\n\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { fetchEnrollmentOptionsIfNeeded } from '../redux/competition/actions'\r\nimport { makeGetEnrollmentOptions } from '../redux/competition/selectors'\r\n\r\nconst useEnrollmentOptions = (competitionId) => {\r\n const dispatch = useDispatch();\r\n const getEnrollmentOptions = useMemo(() => makeGetEnrollmentOptions(), []);\r\n const enrollmentOptions = useSelector(state => getEnrollmentOptions(state, competitionId));\r\n\r\n useEffect(() => {\r\n if (competitionId) {\r\n dispatch(fetchEnrollmentOptionsIfNeeded(competitionId));\r\n }\r\n }, [competitionId])\r\n\r\n \r\n return useMemo(() => [enrollmentOptions], [enrollmentOptions]);\r\n}\r\n\r\nexport default useEnrollmentOptions;","import React, { useCallback } from 'react'\r\n\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport { joinCompetition } from '../redux/competition/actions'\r\nimport { useSnackbar } from '../hooks/useSnackbar'\r\n\r\nconst useJoinCompetition = (competitionId) => {\r\n const dispatch = useDispatch();\r\n const [showSnackbar] = useSnackbar();\r\n\r\n const join = useCallback((fantasyTeamId, password) => new Promise((resolve, reject) => {\r\n dispatch(joinCompetition(competitionId, fantasyTeamId, password)).then(\r\n () => {\r\n showSnackbar('Din til/af-melding blev registreret');\r\n resolve();\r\n },\r\n e => { \r\n reject(e.response.data);\r\n }\r\n );\r\n }), []);\r\n\r\n return [join];\r\n}\r\n\r\nexport default useJoinCompetition;","import React from 'react'\r\n\r\nimport { \r\n Dialog, DialogHeader, DialogContent, DialogFooter,\r\n Button,\r\n RegularText,\r\n Box\r\n} from 'components'\r\n\r\nimport { useTranslator } from '../hooks/useTranslator'\r\nimport { useParams } from 'react-router-dom';\r\n\r\nconst GameClosedDialog = ({ open, onClose }) => {\r\n const t = useTranslator();\r\n\r\n //\r\n\r\n return (\r\n \r\n { t('common.game_closed_heading') }\r\n \r\n { t('common.game_closed_description') }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default GameClosedDialog;","import React, { useState } from 'react'\r\nimport { Box, Spinner } from 'components'\r\n\r\nimport { \r\n XButton,\r\n Dialog, DialogHeader, DialogContent, DialogFooter,\r\n SelectList,\r\n Form, FormField, Label, FauxPasswordInput,\r\n RegularText\r\n} from 'components'\r\n\r\nimport useEnrollmentOptions from './useEnrollmentOptions'\r\nimport useJoinCompetition from './useJoinCompetition'\r\nimport GameClosedDialog from './GameClosedDialog'\r\n\r\nimport { useTranslator } from '../hooks/useTranslator'\r\nimport { LinkButton } from '../components'\r\n\r\nconst Closed = ({ onClose }) => {\r\n const t = useTranslator();\r\n \r\n return (\r\n \r\n { t('competitions.cannot_enroll_heading') }\r\n \r\n { t('competitions.enroll_closed_error' ) }\r\n \r\n \r\n \r\n\r\n\r\n { t('common.ok_caption')}\r\n \r\n \r\n \r\n ) \r\n}\r\n\r\n\r\nconst MaxReached = ({ onClose }) => {\r\n const t = useTranslator();\r\n\r\n return (\r\n \r\n { t('competitions.cannot_enroll_heading') }\r\n \r\n { t('competitions.enroll_max_teams_error' ) }\r\n \r\n \r\n \r\n { t('common.ok_caption')}\r\n \r\n \r\n \r\n ) \r\n}\r\n\r\n\r\nconst Filled = ({ onClose }) => {\r\n const t = useTranslator();\r\n\r\n return (\r\n \r\n { t('competitions.cannot_enroll_heading') }\r\n \r\n { t('competitions.enroll_mini_league_filled_error' ) }\r\n \r\n \r\n \r\n { t('common.ok_caption')}\r\n \r\n \r\n \r\n ) \r\n}\r\n\r\n\r\nconst Banned = ({ onClose }) => {\r\n const t = useTranslator();\r\n\r\n return (\r\n \r\n { t('competitions.banned_enroll_heading') }\r\n \r\n { t('competitions.banned_mini_league_error' ) }\r\n \r\n \r\n \r\n { t('common.ok_caption')}\r\n \r\n \r\n \r\n ) \r\n}\r\n\r\n\r\nconst NoMoreTeams = ({ onClose }) => {\r\n const t = useTranslator();\r\n\r\n return (\r\n \r\n { t('competitions.cannot_enroll_heading') }\r\n \r\n { t('competitions.enroll_no_more_teams_error' ) }\r\n \r\n \r\n \r\n { t('common.ok_caption')}\r\n \r\n \r\n \r\n ) \r\n}\r\n\r\nconst NoTeams = ({ onClose }) => {\r\n const t = useTranslator();\r\n const parts = location.pathname.split('/');\r\n const gameSlug = parts[3];\r\n\r\n\r\n return (\r\n \r\n { t('competitions.cannot_enroll_heading') }\r\n \r\n \r\n { t('competitions.enroll_no_teams_error' ) }\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n { t('common.create_team')}\r\n \r\n \r\n \r\n \r\n ) \r\n}\r\n\r\n\r\nconst GameOver = ({ onClose }) => {\r\n const t = useTranslator();\r\n\r\n return (\r\n \r\n { t('competitions.cannot_enroll_heading') }\r\n \r\n { t('competitions.enroll_game_closed_error' ) }\r\n \r\n \r\n \r\n { t('common.ok_caption')}\r\n \r\n \r\n \r\n ) \r\n}\r\n\r\n\r\nconst Enrollment = ({ competitionId, initialPassword, item, onClose }) => {\r\n \r\n const [value, setValue] = useState(item.fantasyTeams[0].id);\r\n const [password, setPassword] = useState(initialPassword ||'');\r\n const [problems, setProblems] = useState();\r\n const [join] = useJoinCompetition(competitionId)\r\n const t = useTranslator();\r\n \r\n\r\n const items = item.fantasyTeams.map(t => ({ value : t.id, label : t.name }) );\r\n\r\n \r\n const onOk = (e) => {\r\n e.preventDefault();\r\n setProblems();\r\n\r\n join(value, password)\r\n .then(() => { onClose(); })\r\n .catch(problems => setProblems(problems));\r\n }\r\n\r\n return (\r\n \r\n { t('competitions.enrollment_heading') }\r\n \r\n \r\n \r\n \r\n\r\n setValue(v) } />\r\n \r\n\r\n {\r\n item.requiresPassword &&\r\n \r\n \r\n setPassword(e.target.value) } />\r\n \r\n }\r\n \r\n \r\n \r\n \r\n { t('common.cancel_caption') }\r\n { t('common.ok_caption') }\r\n \r\n \r\n \r\n ) \r\n}\r\n\r\nconst IsFetching = ({ onClose }) => {\r\n const t = useTranslator();\r\n\r\n return (\r\n \r\n { t('competitions.enrollment_heading') }\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) \r\n}\r\n\r\n\r\nconst EnrollmentDialogConductor = ({ competitionId, password, enrollmentOptions, onClose }) => {\r\n if (enrollmentOptions.isFetching)\r\n return \r\n\r\n switch(enrollmentOptions.item.status) {\r\n \r\n case 'closed':\r\n return \r\n case 'maxReached':\r\n return \r\n case 'no_more_teams':\r\n return \r\n case 'no_teams':\r\n return \r\n case 'filled':\r\n return \r\n case 'banned':\r\n return \r\n case 'ok':\r\n return \r\n default:\r\n return null;\r\n\r\n }\r\n}\r\n\r\nconst EnrollmentDialog = ({ competitionId, password, open, onClose }) => {\r\n const [enrollmentOptions] = useEnrollmentOptions(competitionId);\r\n\r\n\r\n if (enrollmentOptions.item.status == \"game_over\")\r\n return \r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default EnrollmentDialog;\r\n","import React, { useMemo } from 'react'\r\n\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport { resign } from '../redux/competition/actions'\r\nimport { useSnackbar } from '../hooks/useSnackbar'\r\n\r\nconst useResign = (competitionId) => {\r\n const dispatch = useDispatch();\r\n const [showSnackbar] = useSnackbar();\r\n\r\n const _resign = useMemo(() => (fantasyTeamId) => new Promise((resolve, reject) => {\r\n dispatch(resign(competitionId, fantasyTeamId)).then(() => {\r\n showSnackbar('Holdet blev afmeldt', 'success');\r\n resolve();\r\n }, () => {\r\n showSnackbar('Der opstod en fejl', 'error');\r\n reject();\r\n });\r\n }));\r\n\r\n return [_resign];\r\n}\r\n\r\nexport default useResign;","import React, { useMemo } from 'react'\r\nimport { Box } from 'components'\r\n\r\nimport { \r\n XButton,\r\n Dialog, DialogHeader, DialogContent, DialogFooter,\r\n RegularText\r\n} from 'components'\r\n\r\nimport GameClosedDialog from './GameClosedDialog'\r\n\r\nimport useResign from './useResign'\r\nimport useCurrentGame from '../containers/useCurrentGame'\r\nimport { useTranslator } from '../hooks/useTranslator'\r\n\r\n\r\nconst ResignDialog = ({ competitionId, fantasyTeamId, open, onClose }) => {\r\n const [resign] = useResign(competitionId);\r\n const game = useCurrentGame();\r\n const t = useTranslator();\r\n\r\n\r\n const isClosed = useMemo(() => {\r\n const lastRound = game.rounds[game.rounds.length - 1];\r\n return new Date() > new Date(lastRound.end);\r\n })\r\n \r\n \r\n\r\n const handleOk = () => {\r\n resign(fantasyTeamId).then(onClose);\r\n }\r\n\r\n const handleCancel = () => {\r\n onClose();\r\n }\r\n\r\n if (isClosed) {\r\n \r\n return \r\n }\r\n\r\n return (\r\n \r\n { t('competitions.resign_heading') }\r\n \r\n { t('competitions.resign_confirmation_prompt') }\r\n \r\n \r\n \r\n { t('common.cancel_caption') }\r\n \r\n { t('common.ok_caption') }\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default ResignDialog;\r\n","import axios from 'axios'\r\n\r\nimport auth from '../../common/auth'\r\n\r\nimport * as types from './types';\r\n\r\n\r\n/* Recruits */\r\n\r\nconst fetchRecruitsRequest = () => ({ type: types.FETCH_RECRUITS_REQUEST });\r\nconst fetchRecruitsSuccess = (payload) => ({ type: types.FETCH_RECRUITS_SUCCESS, payload });\r\nconst fetchRecruitsFailure = () => ({ type: types.FETCH_RECRUITS_FAIL });\r\n\r\nexport const fetchRecruits = (competitionId) => (dispatch) => { \r\n dispatch(fetchRecruitsRequest());\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.get(`/competitions/${ competitionId }/recruits?access_token=${ accessToken }`).then(response => {\r\n dispatch(fetchRecruitsSuccess(response.data));\r\n }, e => {\r\n dispatch(fetchRecruitsFailure());\r\n });\r\n}\r\n\r\n\r\nexport const fetchRecruitsFromSelectedOption = () => (dispatch, getState) => { \r\n const state = getState();\r\n const selectedOption = state.recruits.selectedOption;\r\n const option = state.recruits.options.find(o => o.id === selectedOption);\r\n\r\n dispatch(fetchRecruitsRequest());\r\n const accessToken = auth.getAccessToken();\r\n\r\n return axios.get(`${ option.links.results }&access_token=${ accessToken }`).then(response => {\r\n dispatch(fetchRecruitsSuccess(response.data));\r\n }, e => {\r\n dispatch(fetchRecruitsFailure());\r\n });\r\n}\r\n\r\n\r\nconst fetchMoreRecruitsRequest = () => ({ type: types.FETCH_MORE_RECRUITS_REQUEST });\r\nconst fetchMoreRecruitsSuccess = (payload) => ({ type: types.FETCH_MORE_RECRUITS_SUCCESS, payload });\r\nconst fetchMoreRecruitsFailure = () => ({ type: types.FETCH_MORE_RECRUITS_FAIL });\r\n\r\nexport const fetchMoreRecruits = () => (dispatch, getState) => { \r\n const state = getState();\r\n const { isFetching } = state.recruits;\r\n\r\n \r\n if (!isFetching) {\r\n const { next } = state.recruits.links;\r\n\r\n if (next) {\r\n dispatch(fetchMoreRecruitsRequest());\r\n\r\n const accessToken = auth.getAccessToken();\r\n return axios.get(`${ next }&access_token=${ accessToken }`).then(response => {\r\n dispatch(fetchMoreRecruitsSuccess(response.data));\r\n }, e => {\r\n dispatch(fetchMoreRecruitsFailure());\r\n });\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\nexport const selectRecruitmentOption = (value) => ({ type : types.SELECT_RECRUITMENT_OPTION, value });","import { createSelector } from 'reselect'\r\n\r\nexport const getRecruits = createSelector(\r\n state => state.recruits,\r\n (recruits) => {\r\n return {\r\n options : recruits.options,\r\n items : recruits.items,\r\n count : recruits.count\r\n }\r\n }\r\n)\r\n\r\n\r\nexport const getSelectedOption = createSelector(\r\n state => state.recruits,\r\n (recruits) => {\r\n const selectedOption = recruits.selectedOption;\r\n return recruits.options.find(o => o.id === selectedOption);\r\n }\r\n)","import React, { useState, useMemo, useEffect } from 'react'\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { \r\n Dialog, DialogHeader, DialogContent, \r\n Text,\r\n Box,\r\n Share,\r\n UserIdentity,\r\n FlatList,\r\n ListViewItem,\r\n Avatar,\r\n XButton,\r\n Icon,\r\n FormGroup,\r\n Label\r\n} from 'components'\r\n\r\nimport { useDispatch, useSelector } from 'react-redux'\r\nimport { AsyncButton } from '../molecules';\r\nimport { SelectList } from '../components';\r\nimport { useTranslator } from '../hooks/useTranslator'\r\nimport { useSnackbar } from '../hooks/useSnackbar'\r\n\r\nimport { invite, inviteAll } from '../redux/competition/actions'\r\nimport { fetchRecruits, fetchMoreRecruits, fetchRecruitsFromSelectedOption ,selectRecruitmentOption } from '../redux/recruits/actions'\r\nimport { getRecruits, getSelectedOption } from '../redux/recruits/selectors';\r\n\r\nconst InvitationButton = ({ item, onClick }) => {\r\n const t = useTranslator();\r\n \r\n if (!item) {\r\n return null;\r\n }\r\n if (item.user && item.user.isDeleted) {\r\n return null;\r\n }\r\n else if (item.status == 'banned') {\r\n return (\r\n \r\n { t('competitions.banned_caption') }\r\n \r\n \r\n )\r\n }\r\n else if (item.status == 'enrolled') {\r\n return (\r\n \r\n { t('competitions.enrolled_caption') }\r\n \r\n \r\n )\r\n \r\n }\r\n else if (item.invited) {\r\n return (\r\n \r\n { t('competitions.invited_caption') }\r\n \r\n \r\n )\r\n\r\n }\r\n else {\r\n return { t('competitions.invite_caption') }\r\n }\r\n}\r\n\r\n\r\n/*type, competitionId, query, arg, children*/\r\n\r\nconst InviteeList = ({ option, items, count, fetchMore, onInvite }) => {\r\n const t = useTranslator();\r\n\r\n const Item = ({ index, style}) => {\r\n const item = items[index];\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n { return onInvite(item.user) } }>\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n { Item }\r\n )\r\n}\r\n\r\n\r\nconst CompetitionItem = ({ item }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n { item.text }\r\n \r\n { item.description }\r\n { ' ' } { item.count }\r\n \r\n \r\n\r\n \r\n { item.selected && }\r\n \r\n \r\n )\r\n}\r\n\r\nconst CanonicalItem = ({ item }) => {\r\n return (\r\n \r\n \r\n { item.text }\r\n \r\n { ' ' } { item.count }\r\n \r\n \r\n\r\n \r\n { item.selected && }\r\n \r\n \r\n )\r\n}\r\n\r\n\r\nconst DefaultItem = ({ item }) => {\r\n return (\r\n \r\n \r\n { item.text }\r\n {\r\n \r\n { item.count }\r\n \r\n }\r\n \r\n\r\n \r\n { item.selected && }\r\n \r\n \r\n )\r\n}\r\n\r\n\r\n\r\nconst renderItem = (t, item) => {\r\n\r\n switch(item.type) {\r\n case 'canonical':\r\n return ;\r\n case 'competition':\r\n return ;\r\n default:\r\n return ;\r\n }\r\n\r\n \r\n\r\n}\r\n\r\nconst groupBy = (arr, property) => {\r\n return arr.reduce((acc, obj) => {\r\n const val = obj[property];\r\n\r\n if (acc[val]) {\r\n acc[val].push(obj);\r\n }\r\n else {\r\n acc[val] = [obj];\r\n }\r\n return acc;\r\n }, {});\r\n}\r\n\r\n\r\nconst ShareInviteDialog = ({ competition, title, description, subject, text, url, open, onClose }) => {\r\n const [query, setQuery] = useState('');\r\n const [type, setType] = useState('friends');\r\n const t = useTranslator();\r\n const dispatch = useDispatch();\r\n const [showSnackbar] = useSnackbar();\r\n\r\n const handleInvite = user => new Promise((resolve, reject) => {\r\n \r\n dispatch(invite(competition.id, user.id )).then(\r\n () => {\r\n \r\n showSnackbar('Invitation sendt', 'success');\r\n resolve();\r\n },\r\n () => {\r\n \r\n showSnackbar('Der opstod en fejl', 'error');\r\n reject();\r\n }\r\n )\r\n })\r\n\r\n const tParts = type.split(':');\r\n\r\n const { options, items, count } = useSelector(getRecruits);\r\n const selectedOption = useSelector(getSelectedOption);\r\n\r\n useEffect(() => {\r\n dispatch(selectRecruitmentOption('friends'));\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (competition) {\r\n dispatch(fetchRecruits(competition.id));\r\n }\r\n }, [competition]);\r\n\r\n const fetchMore = () => {\r\n \r\n dispatch(fetchMoreRecruits());\r\n \r\n }\r\n\r\n const dItems = useMemo(() => {\r\n \r\n const groups = groupBy(options, 'type');\r\n\r\n let items = []\r\n for(const [key, value] of Object.entries(groups)) {\r\n if (key === 'grouped')\r\n items.push({ separator : t('competitions.grouped_mini_leagues_heading') });\r\n else if (key !== 'friends')\r\n items.push({ separator : t('competitions.previous_mini_leagues_heading') });\r\n\r\n for(let i = 0; i < value.length; i++) {\r\n const o = value[i];\r\n items.push({\r\n value : o.id, label : o.text, data : o,\r\n ...o\r\n })\r\n }\r\n }\r\n\r\n return items;\r\n \r\n \r\n }, [options])\r\n\r\n const handleChangeType = value => {\r\n setQuery(''); \r\n\r\n dispatch(selectRecruitmentOption(value));\r\n dispatch(fetchRecruitsFromSelectedOption ());\r\n setType(value);\r\n }\r\n\r\n const handleInviteEveryone = () => {\r\n dispatch(inviteAll()).then(res => {\r\n showSnackbar(t('competitions.count_new_invitations_sent', { count : res.data.count }), 'success');\r\n })\r\n \r\n }\r\n\r\n const [coreType, arg] = type.split(':');\r\n\r\n\r\n return (\r\n \r\n { title }\r\n \r\n \r\n\r\n
    \r\n\r\n \r\n \r\n renderItem(t, item) } onRenderSelectedItem={ item => renderItem(t, item) } onSelect={ handleChangeType } >\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {\r\n selectedOption && selectedOption.links.invite &&\r\n { t('competitions.invite_everyone_caption') }\r\n }\r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nShareInviteDialog.propTypes = {\r\n title : PropTypes.string.isRequired,\r\n description : PropTypes.string,\r\n subject : PropTypes.string.isRequired,\r\n text : PropTypes.string.isRequired,\r\n url : PropTypes.string.isRequired\r\n}\r\n\r\nexport default ShareInviteDialog;\r\n","import React from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux'\r\nimport { hideModal } from '../redux/ui/actions';\r\n\r\nimport EnrollmentDialog from '../competitions/EnrollmentDialog'\r\nimport ResignDialog from '../competitions/ResignDialog'\r\n//import ShareDialog from '../components/ShareDialog'\r\nimport ShareInviteDialog from '../competitions/ShareInviteDialog'\r\n\r\nconst ModalConductor = () => {\r\n\r\n const dispatch = useDispatch();\r\n const modal = useSelector(state => state.ui.modal);\r\n\r\n const close = () => {\r\n dispatch(hideModal());\r\n }\r\n\r\n if (modal == null) {\r\n\r\n return null;\r\n }\r\n\r\n switch(modal.name) {\r\n case 'share':\r\n return close() } />\r\n case 'enrollment':\r\n return close() } />\r\n case 'resign':\r\n return close() } /> \r\n default:\r\n return null;\r\n }\r\n \r\n \r\n\r\n\r\n};\r\n\r\n\r\nexport default ModalConductor;","import React from 'react';\r\nimport PropTypes from 'prop-types'\r\nimport { connect } from 'react-redux';\r\n\r\nimport { NavBar, NavItem, Box } from '../../../components';\r\n\r\nimport useFlyout from '../../../hooks/useFlyout'\r\n\r\nimport translatable from '../../../hocs/translatable';\r\n\r\nimport UserMenu from './../../UserMenu'\r\n\r\n\r\n\r\nconst RoutedDesktopSiteHeader = () => {\r\n let logoImageUrl = window.swush.logoImageUrl;\r\n const menuItems = (window.swush.ui && window.swush.ui.menuItems) || [];\r\n\r\n const brand = ;\r\n const aux = (\r\n \r\n \r\n \r\n );\r\n\r\n\r\n return (\r\n \r\n \r\n {\r\n menuItems.filter(m => m.type === 'primary' || m.type === 'external').map((i, index) => {\r\n return { i.label }\r\n })\r\n }\r\n \r\n \r\n )\r\n}\r\n\r\nRoutedDesktopSiteHeader.propTypes = {\r\n me: PropTypes.object.isRequired,\r\n dispatch: PropTypes.func.isRequired,\r\n isAuthenticated : PropTypes.bool.isRequired\r\n}\r\n\r\nfunction mapStateToProps(state) {\r\n const { isAuthenticated, isAuthenticating, username } = state.auth || { isAuthenticated : false };\r\n const { notificationCount } = state.ui;\r\n\r\n const { usersById , me } = {\r\n usersById : state.user.byId,\r\n me : state.user.me,\r\n \r\n };\r\n\r\n\r\n return { \r\n me : usersById[me] || {},\r\n username,\r\n isAuthenticated, \r\n isAuthenticating,\r\n notificationCount\r\n }\r\n}\r\n\r\n\r\nexport default translatable(connect(mapStateToProps)(RoutedDesktopSiteHeader));\r\n","import React from 'react'\r\n\r\nimport { TopBar, Icon, Box, ContextMenuContainer, ToolbarButton } from '../../components'\r\nimport ConnectedNotificationBadge from '../ConnectedNotificationBadge'\r\n\r\nimport styled from 'styled-components';\r\n\r\nconst Container = styled.div`\r\n position: fixed;\r\n top: 0;\r\n width: 100%;\r\n z-index: 1001;\r\n -webkit-transform: translateZ(0);\r\n\r\n`\r\n\r\n\r\nclass MobileSiteHeader extends React.PureComponent\r\n{\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const { children, onShowMenu } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { children }\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default MobileSiteHeader;\r\n","import React from 'react'\r\nimport { withRouter, Switch, Route } from 'react-router-dom'\r\nimport { ExternalLink } from '../../../components'\r\nimport translateable from '../../../hocs/translatable'\r\n\r\nimport { useTitle } from '../../../hooks/useTitle'\r\n\r\nconst Header = ({ title }) => {\r\n return (\r\n { title }\r\n )\r\n}\r\n\r\nconst Logo = () => {\r\n let siteImageUrl = window.swush.logoImageUrl;\r\n\r\n return (\r\n \r\n \"Logo\"\r\n \r\n )\r\n}\r\n\r\nconst TitleConductor = ({ t }) => {\r\n const [title, setTitle] = useTitle();\r\n\r\n return (\r\n \r\n
    } />\r\n
    }/>\r\n
    } />\r\n
    } />\r\n
    } />\r\n
    } />\r\n title && title.length > 0 ? title : (window.swush.defaultTitle ? window.swush.defaultTitle : ) } />\r\n \r\n )\r\n}\r\n\r\nexport default translateable(\r\n withRouter(TitleConductor)\r\n);\r\n\r\n\r\n","import React from 'react'\r\n\r\nimport MobileSiteHeader from '../MobileSiteHeader'\r\nimport TitleConductor from './TitleConductor'\r\n\r\nconst RoutedMobileHeader = ({ themeName, onShowMenu }) => {\r\n \r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default RoutedMobileHeader;\r\n","import React from 'react'\r\nimport { withRouter } from 'react-router-dom'\r\nimport RoutedDesktopSiteHeader from './RoutedDesktopSiteHeader'\r\n\r\nimport { GameHeader, GameIdentity, Phase, PhaseText, Countdown} from '../../../components'\r\n\r\nimport { lo } from '../../../common/utils'\r\nimport GameMenu from '../GameMenu'\r\nimport translatable from '../../../hocs/translatable'\r\nimport GameContext from '../../GameContext';\r\n\r\n\r\nconst RoutedDesktopGameHeader = ({ match, t }) => {\r\n const { view, gameId, gameSlug } = match.params;\r\n\r\n\r\n return (\r\n \r\n \r\n {\r\n ({ game, gameConfiguration }) => (\r\n \r\n\r\n \r\n \r\n {\r\n \r\n\r\n view !== 'landing' && game && gameConfiguration &&\r\n \r\n {\r\n (phase) =>\r\n }\r\n countdown={ }\r\n statusSubheading={ }\r\n />\r\n }\r\n \r\n }\r\n\r\n
    \r\n {\r\n view !== 'landing' &&\r\n \r\n }\r\n\r\n
    \r\n
    \r\n )\r\n }\r\n
    \r\n )\r\n}\r\n\r\nRoutedDesktopGameHeader.propTypes = {\r\n}\r\n\r\nexport default translatable(\r\n withRouter(RoutedDesktopGameHeader)\r\n);\r\n","import React from 'react'\r\n\r\nimport { CSSVariables } from '../../../components'\r\n\r\nimport RoutedMobileSiteHeader from './RoutedMobileSiteHeader'\r\nimport GameContext from '../../GameContext';\r\n\r\nconst RoutedMobileGameHeader = ({ themeName, onShowMenu }) => {\r\n\r\n \r\n return (\r\n \r\n { ({ gameConfiguration}) => (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n )\r\n}\r\n\r\nRoutedMobileGameHeader.propTypes = {\r\n}\r\n\r\n\r\n\r\nexport default RoutedMobileGameHeader;\r\n","import React from 'react'\r\n\r\nimport styles from './GameHeader.scss'\r\n\r\nconst GlobalHeader = ({ backgroundImageUrl, children }) =>{\r\n return (\r\n
    \r\n
    \r\n { children }\r\n
    \r\n
    \r\n )\r\n}\r\n\r\nexport default GlobalHeader;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport styles from './GameIdentity.scss'\r\n\r\nconst GlobalIdentity = ({ title }) =>{\r\n return (\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n\r\n
    \r\n { title }\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n}\r\n\r\nGlobalIdentity.propTypes = {\r\n sponsorImageUrl: PropTypes.string,\r\n phase : PropTypes.object\r\n}\r\n\r\nexport default GlobalIdentity;","import React from 'react'\r\nimport RoutedDesktopSiteHeader from './RoutedDesktopSiteHeader'\r\n\r\nimport GlobalHeader from '../../../components/GlobalHeader'\r\nimport GlobalIdentity from '../../../components/GlobalIdentity'\r\nimport { HorizontalMenu, MenuItem } from '../../../components/Menu'\r\n\r\nconst AccountHeader = ({ children }) => {\r\n\r\n return (\r\n <>\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n
    \r\n \r\n Konto \r\n Venner \r\n Meddelelser \r\n Præmier \r\n Arkiv \r\n \r\n
    \r\n \r\n )\r\n}\r\n\r\nAccountHeader.propTypes = {\r\n}\r\n\r\nexport default AccountHeader;\r\n","\r\nimport React from 'react'\r\nimport { connect } from 'react-redux';\r\n\r\nimport { pushFlyout, s } from '../redux/ui/actions';\r\n\r\nclass FlyoutProxy extends React.PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.openFlyout = this.openFlyout.bind(this);\r\n window.openFlyout = this.openFlyout;\r\n }\r\n\r\n openFlyout(type, props) {\r\n this.props.push(type, props);\r\n }\r\n\r\n\r\n render() {\r\n return null;\r\n }\r\n}\r\n\r\n\r\nfunction mapDispatchToProps(dispatch, ownProps) {\r\n return {\r\n push(type, props) {\r\n dispatch(pushFlyout(type, props));\r\n }\r\n }\r\n}\r\n\r\nconst mapStateToProps = () => {\r\n return {\r\n }\r\n}\r\n\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(FlyoutProxy);\r\n\r\n\r\n\r\n","import React from 'react';\r\nimport { Switch, Route } from \"react-router-dom\";\r\n\r\n\r\nimport RoutedDesktopSiteHeader from './RoutedDesktopSiteHeader'\r\nimport RoutedMobileSiteHeader from './RoutedMobileSiteHeader'\r\nimport RoutedDesktopGameHeader from './RoutedDesktopGameHeader'\r\nimport RoutedMobileGameHeader from './RoutedMobileGameHeader'\r\nimport AccountHeader from './AccountHeader'\r\n\r\nimport { Media, ErrorBoundary } from '../../../components'\r\nimport FlyoutProxy from '../../FlyoutProxy';\r\n\r\n\r\nconst RoutedHeader = ({ themeName, onShowMenu }) => {\r\n \r\n \r\n return (\r\n \r\n \r\n \r\n } />\r\n } />\r\n } />\r\n \r\n \r\n\r\n \r\n \r\n } />\r\n } />\r\n \r\n \r\n\r\n \r\n \r\n )\r\n};\r\n\r\n\r\n\r\nexport default RoutedHeader;","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\n\r\nimport RoutedHeader from './routed/RoutedHeader';\r\n\r\n\r\nconst el = document.getElementById('sw-header');\r\n\r\nconst Header = ({ themeName, onShowMenu }) => \r\n{\r\n \r\n if (!el)\r\n return null;\r\n\r\n return ReactDOM.createPortal(, el);\r\n}\r\n\r\n\r\nexport default Header;","import React, { useEffect } from 'react'\r\n\r\nimport { getConfigurationSection } from 'utils'\r\nimport GameContext from './GameContext'\r\nimport WithFlyout from './WithFlyout'\r\n\r\nconst LinkHijacker = ({ gameConfiguration, push }) => {\r\n const clickHandler = (e) => {\r\n e.preventDefault();\r\n onShowMatch(e.target.dataset.matchId);\r\n }\r\n\r\n\r\n const hijack = () => {\r\n const hijackSection = getConfigurationSection(gameConfiguration, 'hijack', window.swush.profile);\r\n if (!hijackSection)\r\n return;\r\n\r\n const links = document.getElementsByTagName(\"a\");\r\n \r\n for(let i = 0; i < links.length; i++) {\r\n var link = links[i];\r\n const href = link.getAttribute(\"href\");\r\n if (!href)\r\n continue;\r\n\r\n for(let j = 0; j < hijackSection.links.length; j++) {\r\n const hijack = hijackSection.links[j];\r\n const match = new RegExp(hijack.href).exec(href);\r\n\r\n if (match) {\r\n\r\n if (link.dataset['hijacked'])\r\n continue;\r\n\r\n if (hijack.flyout) {\r\n const props = Object.keys(hijack.flyout.props || {}).reduce((agg, key) => {\r\n const pVal = hijack.flyout.props[key];\r\n \r\n if (typeof pVal == \"number\") {\r\n // A number means a capturing group\r\n agg[key] = match[pVal];\r\n }\r\n else if (link.dataset[pVal + '']) {\r\n // A string/other means data attribute\r\n agg[key] = parseInt(link.dataset[pVal + '']);\r\n\r\n }\r\n \r\n return agg;\r\n }, {});\r\n \r\n link.onclick = (e) => {\r\n e.preventDefault();\r\n push(hijack.flyout.name, props);\r\n }\r\n\r\n \r\n link.dataset['hijacked'] = true;\r\n\r\n }\r\n\r\n \r\n }\r\n \r\n \r\n }\r\n \r\n }\r\n }\r\n\r\n useEffect(() => {\r\n hijack();\r\n\r\n window.addEventListener('UIChange', hijack);\r\n\r\n return () => {\r\n window.removeEventListener('UIChange', hijack);\r\n }\r\n }, []);\r\n\r\n \r\n\r\n return null;\r\n}\r\n\r\n\r\nconst WrappedLinkHijacker = () => (\r\n { ({ push }) => (\r\n { ({ gameConfiguration }) => {\r\n if (!gameConfiguration)\r\n return null;\r\n\r\n return ()\r\n }}\r\n )}\r\n)\r\n\r\n\r\nexport default WrappedLinkHijacker;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\n\r\nclass WithMatchReport extends React.PureComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n players : []\r\n }\r\n this.updateState = this.updateState.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.updateState(this.props);\r\n }\r\n\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (\r\n (nextProps.match !== this.props.match) ||\r\n (nextProps.events !== this.props.events) ||\r\n (nextProps.fantasyEvents !== this.props.fantasyEvents)\r\n )\r\n {\r\n this.updateState(nextProps);\r\n }\r\n }\r\n\r\n updateState(props) {\r\n\r\n const growths = props.fantasyEvents.reduce((agg, ev) => {\r\n if (!ev.player || !ev.type)\r\n return agg;\r\n \r\n const pid = ev.player.id;\r\n \r\n agg[pid] = agg[pid] ? agg[pid] + ev.amount * ev.type.value : ev.amount * ev.type.value;\r\n return agg;\r\n }, {});\r\n\r\n \r\n const players = props.events.reduce((agg, ev) => {\r\n const pid = ev.player.id;\r\n const typeName = ev.type.name[0].toLowerCase() + ev.type.name.substring(1);\r\n\r\n if (!agg[pid]) {\r\n \r\n //const participant = (props.match.participants || []).find(pa => pa.team === ev.player.team);\r\n const participant = (props.match.participants || []).find(pa => pa.id === ev.participant.id);\r\n //console.log(props.match.participants, ev.participant.id);\r\n\r\n agg[pid] = {\r\n player : ev.player || {},\r\n participant : participant || {},\r\n stats : {},\r\n fantasyEvents : {},\r\n events : [],\r\n growth : growths[pid] || 0,\r\n match : props.match || {} ,\r\n }\r\n }\r\n\r\n agg[pid].stats[typeName] = agg[pid].stats[typeName] ? agg[pid].stats[typeName] + ev.amount : ev.amount;\r\n agg[pid].events.push(ev);\r\n \r\n return agg;\r\n }, {});\r\n \r\n \r\n this.setState({ \r\n players : Object.values(players)\r\n })\r\n }\r\n\r\n\r\n render() {\r\n const { children } = this.props;\r\n const { players } = this.state;\r\n return children(players);\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\nWithMatchReport.propTypes = {\r\n fantasyEvents : PropTypes.array,\r\n events : PropTypes.array,\r\n match : PropTypes.object\r\n}\r\n\r\nexport default WithMatchReport;\r\n\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { connect } from 'react-redux';\r\nimport { createSelector } from 'reselect'\r\n\r\nimport { invalidateMatchFantasyEvents, fetchMatchFantasyEventsIfNeeded } from '../redux/match/actions';\r\n\r\nclass WithMatchFantasyEvents extends React.PureComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n }\r\n\r\n\r\n componentDidMount() {\r\n this.props.fetch(this.props.id);\r\n }\r\n\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.id !== this.props.id && nextProps.enabled) {\r\n this.props.fetch(nextProps.id);\r\n }\r\n }\r\n\r\n render() {\r\n const { fantasyEvents, children } = this.props;\r\n\r\n\r\n\r\n return children({ isLoaded : fantasyEvents && fantasyEvents.isLoaded, fantasyEvents : (fantasyEvents && fantasyEvents.items) || [] });\r\n }\r\n}\r\n\r\nexport const makeGetFantasyEvents = () => createSelector([\r\n (state, props) => props.id,\r\n (state) => state.match.fantasyEvents,\r\n (state) => state.entities.fantasyEvents,\r\n (state) => state.entities.players,\r\n (state) => state.entities.persons,\r\n (state) => state.entities.teams,\r\n (state) => state.entities.positions,\r\n (state) => state.entities.fantasyEventTypes\r\n ],\r\n (id, matchEvents, eventEntities, playerEntities, personEntities, teamEntities, positionEntities, fantasyEventTypeEntities) => {\r\n const list = (matchEvents[id] || {}).items || [];\r\n\r\n const events = list.map(eventId => {\r\n const e = eventEntities[eventId];\r\n const player = playerEntities[e.player];\r\n const person = player && personEntities[player.person];\r\n const team = player && teamEntities[player.team];\r\n const position = player && positionEntities[player.position];\r\n\r\n return {\r\n ...e,\r\n type : fantasyEventTypeEntities[e.type],\r\n player : {\r\n ...player,\r\n person : person,\r\n team : team,\r\n position : position\r\n }\r\n }\r\n });\r\n\r\n return {\r\n ...matchEvents[id],\r\n items : events\r\n }\r\n }\r\n)\r\n\r\n\r\n\r\nconst makeMapStateToProps = () => {\r\n const getFantasyEvents = makeGetFantasyEvents();\r\n return (state, ownProps) => ({\r\n fantasyEvents : getFantasyEvents(state, ownProps)\r\n })\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch, ownProps) {\r\n return {\r\n fetch(id, force) {\r\n if (force) {\r\n dispatch(invalidateMatchFantasyEvents(id));\r\n }\r\n dispatch(fetchMatchFantasyEventsIfNeeded(id));\r\n }\r\n }\r\n}\r\n\r\nWithMatchFantasyEvents.propTypes = {\r\n id : PropTypes.any.isRequired\r\n}\r\n\r\nWithMatchFantasyEvents.defaultProps = {\r\n\r\n}\r\n\r\nexport default connect(makeMapStateToProps, mapDispatchToProps)(WithMatchFantasyEvents);\r\n\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\n\r\nimport { ScrollTable, Table } from 'components'\r\n\r\nimport MatchContext from '../MatchContext'\r\nimport WithMatchReport from '../WithMatchReport'\r\nimport WithMatchFantasyEvents from '../WithMatchFantasyEvents'\r\nimport WithMatchEvents from '../WithMatchEvents'\r\n\r\nimport { currency, number, minute } from 'utils'\r\n\r\nimport PlayerIdentity from '../PlayerIdentity'\r\n\r\n\r\nconst Currency = ({ value }) => {\r\n if (typeof value === 'undefined')\r\n return -\r\n else if (value < 0)\r\n return { currency(value) }\r\n else\r\n return { currency(value) };\r\n}\r\n\r\nconst Number = ({ value }) => {\r\n if (typeof value === 'undefined')\r\n return -\r\n else return { number(value) };\r\n}\r\n\r\n\r\nconst Minute = ({ value }) => {\r\n if (typeof value === 'undefined' || value === 0)\r\n return -\r\n\r\n else return { minute(value) };\r\n}\r\n\r\n\r\n\r\nconst HandballLineup = ({ items, type }) => {\r\n\r\n const goalies = items.filter( p => p.participant.type == type && p.player.position.slug === 'handball_goalkeeper');\r\n const players = items.filter( p => p.participant.type == type && p.player.position.slug !== 'handball_goalkeeper').sort((a, b) => a.player.position.order - b.player.position.order);\r\n\r\n return (\r\n \r\n \r\n \r\n { \r\n goalies.length > 0 &&\r\n \r\n \r\n \r\n Målvogtere\r\n \r\n \r\n \r\n \r\n { \r\n goalies.map((item, index) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n }\r\n\r\n {\r\n players.length > 0 &&\r\n \r\n\r\n \r\n \r\n Markspiller\r\n \r\n \r\n \r\n { \r\n players.map((item, index) => {\r\n \r\n return (\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n }\r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n { goalies.length > 0 &&\r\n \r\n \r\n \r\n \r\n Vækst\r\n Assist\r\n R\r\n RS\r\n Min\r\n \r\n \r\n\r\n \r\n { \r\n goalies.map((item, index) => {\r\n const assists = item.stats.assist;\r\n const reds = item.stats.redCard;\r\n const saves = item.stats.saves;\r\n const minutesPlayed = item.stats.minutesPlayed;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n }\r\n\r\n { \r\n players.length > 0 &&\r\n \r\n \r\n \r\n Vækst\r\n Mål\r\n Assist\r\n Gult\r\n 2 min\r\n \r\n \r\n \r\n \r\n { \r\n players.map((item, index) => {\r\n const goals = item.stats.goal;\r\n const assists = item.stats.assist;\r\n const yellows = item.stats.yellowCard;\r\n const twoMin = item.stats.twoMinuteSuspensions;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n\r\n}\r\n\r\n\r\nconst HandballLineupWidget = ({ type }) => {\r\n return (\r\n { (match) => {\r\n\r\n return (\r\n { ({ events }) => (\r\n { ({ fantasyEvents }) => (\r\n { (items) => {\r\n\r\n \r\n return (\r\n \r\n \r\n \r\n )\r\n }}\r\n )}\r\n )}\r\n )\r\n }}\r\n \r\n )\r\n}\r\n\r\n\r\nHandballLineupWidget.propTypes = {\r\n type : PropTypes.string.isRequired\r\n}\r\n\r\nexport default HandballLineupWidget;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { ScrollTable, Table } from 'components'\r\n\r\nimport MatchContext from '../MatchContext'\r\nimport WithMatchReport from '../WithMatchReport'\r\nimport WithMatchFantasyEvents from '../WithMatchFantasyEvents'\r\nimport WithMatchEvents from '../WithMatchEvents'\r\n\r\nimport { currency, number, minute } from 'utils'\r\n\r\nimport PlayerIdentity from '../PlayerIdentity'\r\n\r\nconst Currency = ({ value }) => {\r\n if (typeof value === 'undefined')\r\n return -\r\n else if (value < 0)\r\n return { currency(value) }\r\n else\r\n return { currency(value) };\r\n}\r\n\r\nconst Number = ({ value }) => {\r\n if (typeof value === 'undefined')\r\n return -\r\n else return { number(value) };\r\n}\r\n\r\n\r\nconst Minute = ({ value }) => {\r\n if (typeof value === 'undefined' || value === 0)\r\n return -\r\n\r\n else return { minute(value) };\r\n}\r\n\r\nconst PlayerList = ({ heading, items }) => (\r\n \r\n \r\n \r\n { heading }\r\n \r\n \r\n \r\n \r\n { \r\n items.map((item, index) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n)\r\n\r\nconst HandballLineup = ({ items, type }) => {\r\n\r\n const passing = items.filter(p => p.participant.type == type && (p.stats.passingYard > 0 || p.stats.passingYard < 0)).sort((a, b) => b.stats.passingYard - a.stats.passingYard);\r\n const receiving = items.filter(p => p.participant.type == type && (p.stats.receivingYard > 0 || p.stats.receivingYard < 0)).sort((a, b) => b.stats.receivingYard - a.stats.receivingYard);\r\n const rushing = items.filter(p => p.participant.type == type && (p.stats.rushingYard > 0 || p.stats.rushingYard < 0)).sort((a, b) => b.stats.rushingYard - a.stats.rushingYard);\r\n const fumbles = items.filter(p => p.participant.type == type && p.stats.fumble > 0).sort((a, b) => a.player.position.order - b.player.position.order);\r\n const defense = items.filter(p => p.participant.type == type && p.player.position.slug === 'def');\r\n const kickers = items.filter(p => p.participant.type == type && p.player.position.slug === 'k');\r\n\r\n return (\r\n \r\n \r\n \r\n { passing.length > 0 && }\r\n { rushing.length > 0 && }\r\n { receiving.length > 0 && }\r\n \r\n { fumbles.length > 0 && }\r\n { defense.length > 0 && }\r\n { kickers.length > 0 && }\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n { \r\n passing.length > 0 &&\r\n \r\n \r\n \r\n \r\n Vækst\r\n \r\n \r\n YDS\r\n TD\r\n INT\r\n \r\n 2PT\r\n \r\n \r\n\r\n \r\n { \r\n passing.map((item, index) => {\r\n const interceptions = item.stats.passingInterception;\r\n const yards = item.stats.passingYard;\r\n const touchdowns = item.stats.passingTouchdown;\r\n const twoPts = item.stats.twoPointConversionPass;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n }\r\n\r\n{ \r\n rushing.length > 0 &&\r\n \r\n \r\n \r\n Vækst\r\n \r\n YDS\r\n TD\r\n \r\n 2PT\r\n \r\n \r\n \r\n \r\n { \r\n rushing.map((item, index) => {\r\n const yards = item.stats.rushingYard;\r\n const touchdowns = item.stats.rushingTouchdown;\r\n const twoPts = item.stats.twoPointConversionRun;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n }\r\n\r\n{ \r\n receiving.length > 0 &&\r\n \r\n \r\n \r\n Vækst\r\n \r\n YDS\r\n TD\r\n \r\n 2PT\r\n \r\n \r\n \r\n \r\n { \r\n receiving.map((item, index) => {\r\n const yards = item.stats.receivingYard;\r\n const touchdowns = item.stats.receivingTouchdown;\r\n const twoPts = item.stats.twoPointConversionReception;\r\n\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n }\r\n\r\n \r\n\r\n \r\n { \r\n fumbles.length > 0 &&\r\n \r\n \r\n \r\n Vækst\r\n F\r\n \r\n \r\n \r\n \r\n { \r\n fumbles.map((item, index) => {\r\n const fumbles = item.stats.fumble;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n }\r\n\r\n\r\n { \r\n defense.length > 0 &&\r\n \r\n \r\n \r\n Vækst\r\n INT\r\n SCK\r\n TD\r\n FF\r\n SAF\r\n KP\r\n \r\n \r\n \r\n \r\n { \r\n defense.map((item, index) => {\r\n const sacks = item.stats.sack;\r\n const forcedFumbles = item.stats.fumbleForced;\r\n const safeties = item.stats.safety;\r\n const interceptions = item.stats.interception;\r\n const touchdowns = item.stats.defensiveTouchdown;\r\n const returns = (item.stats.puntReturnTouchdown || 0) + (item.stats.kickReturnTouchdown || 0);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n }\r\n\r\n\r\n { \r\n kickers.length > 0 &&\r\n \r\n \r\n \r\n Vækst\r\n \r\n FGS\r\n LFG\r\n XP\r\n \r\n \r\n \r\n \r\n \r\n { \r\n kickers.map((item, index) => {\r\n const xps = item.stats.extraPoint;\r\n const fieldGoals = item.stats.fieldGoal;\r\n const longestFieldGoal = item.stats.longestFieldGoal;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n\r\n}\r\n\r\n\r\nconst HandballLineupWidget = ({ type }) => {\r\n return (\r\n { (match) => {\r\n\r\n return (\r\n { ({ events }) => (\r\n { ({ fantasyEvents }) => (\r\n { (items) => {\r\n\r\n \r\n return (\r\n \r\n \r\n \r\n )\r\n }}\r\n )}\r\n )}\r\n )\r\n }}\r\n \r\n )\r\n}\r\n\r\n\r\nHandballLineupWidget.propTypes = {\r\n type : PropTypes.string.isRequired\r\n}\r\n\r\nexport default HandballLineupWidget;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\n\r\nimport { ScrollTable, Table } from 'components'\r\n\r\nimport MatchContext from '../MatchContext'\r\nimport WithMatchReport from '../WithMatchReport'\r\nimport WithMatchFantasyEvents from '../WithMatchFantasyEvents'\r\nimport WithMatchEvents from '../WithMatchEvents'\r\n\r\nimport { currency, number, minute } from 'utils'\r\n\r\nimport PlayerIdentity from '../PlayerIdentity'\r\nimport LocalizeText from '../LocalizeText'\r\n\r\n\r\nconst Currency = ({ value }) => {\r\n if (typeof value === 'undefined')\r\n return -\r\n else if (value < 0)\r\n return { currency(value) }\r\n else\r\n return { currency(value) };\r\n}\r\n\r\nconst Number = ({ value }) => {\r\n if (typeof value === 'undefined')\r\n return -\r\n else return { number(value) };\r\n}\r\n\r\n\r\nconst Minute = ({ value }) => {\r\n if (typeof value === 'undefined' || value === 0)\r\n return -\r\n\r\n else return { minute(value) };\r\n}\r\n\r\n\r\nconst PlayerList = ({ heading, items }) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { \r\n items.map((item, index) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n)\r\n\r\n\r\nconst HockeyLineup = ({ items, type }) => {\r\n\r\n const trainers = items.filter( p => p.participant.type == type && p.player.position.slug === 'hockey_trainer');\r\n const goalies = items.filter( p => p.participant.type == type && p.player.position.slug === 'hockey_goalkeeper');\r\n const players = items.filter( p => p.participant.type == type && p.player.position.slug !== 'hockey_trainer' && p.player.position.slug !== 'hockey_goalkeeper').sort((a, b) => a.player.position.order - b.player.position.order);\r\n\r\n return (\r\n \r\n \r\n \r\n { trainers.length > 0 && }\r\n { goalies.length > 0 && }\r\n { players.length > 0 && }\r\n\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n { trainers.length > 0 &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n { \r\n trainers.map((item, index) => {\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n }\r\n\r\n { \r\n goalies.length > 0 &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { \r\n goalies.map((item, index) => {\r\n const saves = item.stats.saves || 0 + item.stats.save || 0;\r\n const goalsAgainst = item.stats.goalsAgainst || 0 + item.stats.goalAgainst || 0;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n }\r\n\r\n { \r\n players.length > 0 &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { \r\n players.map((item, index) => {\r\n const goals = item.stats.goal;\r\n const assists = item.stats.assists || 0 + item.stats.assist || 0;\r\n const sogs = item.stats.shots || 0 + item.stats.shotOnGoal || 0;\r\n const plusMinus = item.stats.plusMinus || 0 +\r\n (item.stats.positive || 0 - item.stats.negative || 0);\r\n const minor = item.stats.minorPenalty || 0 + item.stats['suspension/Minor'] || 0;\r\n \r\n const major = item.stats.majorPenalty || 0 + item.stats['suspension/Major'] || 0;\r\n \r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n\r\n}\r\n\r\n\r\nconst HockeyLineupWidget = ({ type }) => {\r\n return (\r\n { (match) => {\r\n\r\n return (\r\n { ({ events }) => (\r\n { ({ fantasyEvents }) => (\r\n { (items) => {\r\n\r\n \r\n return (\r\n \r\n \r\n \r\n )\r\n }}\r\n )}\r\n )}\r\n )\r\n }}\r\n \r\n )\r\n}\r\n\r\n\r\nHockeyLineupWidget.propTypes = {\r\n type : PropTypes.string.isRequired\r\n}\r\n\r\nexport default HockeyLineupWidget;","import React from 'react';\r\n\r\n\r\nimport { MatchHead, EventDate } from 'components';\r\nimport { lo } from 'utils';\r\nimport MatchContext from '../MatchContext';\r\n\r\n\r\nconst GenericVersusMatchHead = ({ editMode }) => {\r\n if (editMode)\r\n return null;\r\n \r\n return (\r\n { (match) => { \r\n const home = match.participants.find(p => p.type === 'home');\r\n const away = match.participants.find(p => p.type === 'away');\r\n\r\n const homeScore = (match.properties && match.properties.homeScore || '0' );\r\n const awayScore = (match.properties && match.properties.awayScore || '0' );\r\n\r\n return (\r\n \r\n }\r\n\r\n homeScore={ homeScore }\r\n awayScore={ awayScore }\r\n\r\n home={ home ? lo(home.team, 'name') : '-' }\r\n away={ away ? lo(away.team, 'name') : '-' }\r\n\r\n score={ match.status !== 'pending' && `${ homeScore || '0' }-${ awayScore || '0' }` }\r\n />\r\n \r\n )\r\n }}\r\n )\r\n}\r\n\r\n\r\nGenericVersusMatchHead.defaultProps = {\r\n \r\n}\r\n\r\nexport default GenericVersusMatchHead;","import React from 'react';\r\n\r\nimport { MatchHead, FactList, FactListItem, EventDate } from 'components';\r\n\r\nimport translatable from '../../hocs/translatable';\r\nimport MatchContext from '../MatchContext';\r\n\r\nconst Kilometers = ({ value }) => {\r\n const km = parseInt(value) / 1000.0;\r\n\r\n return (\r\n { km.toFixed(2) } km\r\n )\r\n}\r\n\r\nconst GolfMatchHead = ({ t }) => {\r\n return (\r\n { (match) => { \r\n const category = parseInt((match.properties || {}).tournamentCategory || '0');\r\n const par = parseInt((match.properties || {}).tournamentPar || '0');\r\n const prize = (match.properties || {}).tournamentPrize;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n } label={ t('golf.firstTeeOff') } />\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }}\r\n )\r\n}\r\n\r\nexport default translatable(GolfMatchHead);","import React from 'react';\r\n\r\nimport { MatchHead, FactList, FactListItem, EventDate } from 'components';\r\n\r\nimport translatable from '../../hocs/translatable';\r\nimport MatchContext from '../MatchContext';\r\n\r\nconst Kilometers = ({ value }) => {\r\n const km = parseInt(value) / 1000.0;\r\n\r\n return (\r\n { km.toFixed(2) } km\r\n )\r\n}\r\n\r\nconst MotorsportMatchHead = ({ t, id }) => {\r\n return (\r\n { (match) => { \r\n const laps = parseInt((match.properties || {}).circuitLaps || '0');\r\n const length = parseInt((match.properties || {}).circuitLength || '0');\r\n const distance = parseInt((match.properties || {}).circuitDistance || '0');\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n } label={ t('motorsport.qualificationStart') } />\r\n \r\n\r\n \r\n \r\n } label={ t('motorsport.distance') } />\r\n } label={ t('motorsport.totalDistance') } />\r\n \r\n \r\n \r\n )\r\n }}\r\n )\r\n}\r\n\r\nexport default translatable(MotorsportMatchHead);","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\n\r\nimport { ScrollTable, Table } from 'components'\r\n\r\nimport MatchContext from '../MatchContext'\r\nimport WithMatchReport from '../WithMatchReport'\r\nimport WithMatchFantasyEvents from '../WithMatchFantasyEvents'\r\nimport WithMatchEvents from '../WithMatchEvents'\r\n\r\nimport { currency, number } from 'utils'\r\n\r\nimport PlayerIdentity from '../PlayerIdentity'\r\nimport { ErrorBoundary } from '../../components';\r\n\r\n\r\nconst Currency = ({ value }) => {\r\n if (typeof value === 'undefined')\r\n return -\r\n else if (value < 0)\r\n return { currency(value) }\r\n else\r\n return { currency(value) };\r\n}\r\n\r\nconst Number = ({ value }) => {\r\n if (typeof value === 'undefined')\r\n return -\r\n else return { number(value) };\r\n}\r\n\r\n\r\nconst PlayerList = ({ heading, items }) => (\r\n \r\n \r\n \r\n { heading }\r\n \r\n \r\n \r\n \r\n { \r\n items.map((item, index) => {\r\n const disabled = item.stats.disqualified > 0 || item.stats.retired > 0;\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n)\r\n\r\nconst getPosition = (item, prefix) => {\r\n const ev = item.events.find(e => e.type.name.indexOf(prefix) === 0 && e.type.name.length > prefix.length);\r\n if (ev) {\r\n return parseInt(ev.type.name.substring(prefix.length));\r\n };\r\n\r\n return 0;\r\n}\r\n\r\nconst getTime = (item) => {\r\n if (item.stats.disqualified > 0)\r\n return 'DSQ';\r\n else if (item.stats.retired > 0)\r\n return 'RET';\r\n else if (item.stats.endPosition1 > 0) {\r\n return \"-\"\r\n }\r\n else if (item.stats.laps < parseInt(item.match.properties.circuitLaps)) {\r\n const deltaLaps = parseInt(item.match.properties.circuitLaps) - (item.stats.laps || 0);\r\n return '+' + deltaLaps + ' Omgang(e)'\r\n }\r\n else {\r\n return \"-\"\r\n }\r\n}\r\n\r\nconst Drivers = ({ items }) => {\r\n\r\n const drivers = items.filter(i => i.player.position.slug === 'driver').sort((a, b) => {\r\n const aPos = getPosition(a, 'EndPosition');\r\n const bPos = getPosition(b, 'EndPosition');\r\n\r\n return aPos - bPos;\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n { drivers.length > 0 && }\r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n { drivers.length > 0 &&\r\n \r\n \r\n \r\n \r\n Vækst\r\n Position\r\n Grid\r\n Point\r\n Omgange\r\n Slut\r\n \r\n \r\n\r\n \r\n { \r\n drivers.map((item, index) => {\r\n const endPosition = getPosition(item, 'EndPosition');\r\n \r\n const gridPosition = getPosition(item, 'GridPosition');;\r\n const points = item.stats.worldCupPoints;\r\n const laps = (item.stats.laps || 0) + ' / ' + item.match.properties.circuitLaps;\r\n const time = getTime(item);\r\n const disabled = item.stats.disqualified > 0 || item.stats.retired > 0;\r\n \r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n { laps }\r\n \r\n \r\n { time }\r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n\r\n}\r\n\r\n\r\nconst MotorsportDriverListWidget = () => {\r\n return (\r\n \r\n { (match) => {\r\n return (\r\n { ({ events }) => (\r\n { ({ fantasyEvents }) => (\r\n { (items) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n }}\r\n )}\r\n )}\r\n )\r\n }}\r\n \r\n \r\n )\r\n}\r\n\r\n\r\nMotorsportDriverListWidget.propTypes = {\r\n \r\n}\r\n\r\nexport default MotorsportDriverListWidget;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\n\r\nimport { ScrollTable, Table } from 'components'\r\n\r\nimport MatchContext from '../MatchContext'\r\nimport WithMatchReport from '../WithMatchReport'\r\nimport WithMatchFantasyEvents from '../WithMatchFantasyEvents'\r\nimport WithMatchEvents from '../WithMatchEvents'\r\n\r\nimport { currency, number } from 'utils'\r\n\r\nimport PlayerIdentity from '../PlayerIdentity'\r\nimport { ErrorBoundary } from '../../components';\r\n\r\n\r\nconst Currency = ({ value }) => {\r\n if (typeof value === 'undefined')\r\n return -\r\n else if (value < 0)\r\n return { currency(value) }\r\n else\r\n return { currency(value) };\r\n}\r\n\r\nconst Number = ({ value }) => {\r\n if (typeof value === 'undefined')\r\n return -\r\n else return { number(value) };\r\n}\r\n\r\n\r\nconst PlayerList = ({ heading, items }) => (\r\n \r\n \r\n \r\n { heading }\r\n \r\n \r\n \r\n \r\n { \r\n items.map((item, index) => {\r\n const disabled = item.stats.disqualified > 0 || item.stats.retired > 0;\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n)\r\n\r\nconst Drivers = ({ items }) => {\r\n\r\n const drivers = items.filter(i => i.player.position.slug === 'pitcrew').sort((a, b) => (a.stats.worldCupPoints || 0) - (b.stats.worldCupPoints || 0));\r\n\r\n return (\r\n \r\n \r\n \r\n { drivers.length > 0 && }\r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n { drivers.length > 0 &&\r\n \r\n \r\n \r\n \r\n Vækst\r\n Point\r\n \r\n \r\n\r\n \r\n { \r\n drivers.map((item, index) => {\r\n const points = item.stats.worldCupPoints;\r\n const disabled = item.stats.disqualified > 0 || item.stats.retired > 0;\r\n \r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n\r\n}\r\n\r\n\r\nconst MotorsportDriverListWidget = () => {\r\n return (\r\n \r\n { (match) => {\r\n return (\r\n { ({ events }) => (\r\n { ({ fantasyEvents }) => (\r\n { (items) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n }}\r\n )}\r\n )}\r\n )\r\n }}\r\n \r\n \r\n )\r\n}\r\n\r\n\r\nMotorsportDriverListWidget.propTypes = {\r\n \r\n}\r\n\r\nexport default MotorsportDriverListWidget;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\n\r\nimport { ScrollTable, Table } from 'components'\r\n\r\nimport MatchContext from '../MatchContext'\r\nimport WithMatchReport from '../WithMatchReport'\r\nimport WithMatchFantasyEvents from '../WithMatchFantasyEvents'\r\nimport WithMatchEvents from '../WithMatchEvents'\r\n\r\nimport { currency, number } from 'utils'\r\n\r\nimport PlayerIdentity from '../PlayerIdentity'\r\nimport { ErrorBoundary } from '../../components';\r\n\r\n\r\nconst Currency = ({ value }) => {\r\n if (typeof value === 'undefined')\r\n return -\r\n else if (value < 0)\r\n return { currency(value) }\r\n else\r\n return { currency(value) };\r\n}\r\n\r\nconst Number = ({ value }) => {\r\n if (typeof value === 'undefined')\r\n return -\r\n else return { number(value) };\r\n}\r\n\r\n\r\nconst getPosition = (item, prefix) => {\r\n const ev = item.events.find(e => e.type.name.indexOf(prefix) === 0);\r\n if (ev) {\r\n return parseInt(ev.type.name.substring(prefix.length));\r\n };\r\n\r\n return 0;\r\n}\r\n\r\nconst PlayerList = ({ heading, items }) => (\r\n \r\n \r\n \r\n { heading }\r\n \r\n \r\n \r\n \r\n { \r\n items.map((item, index) => {\r\n const disabled = item.stats.disqualified > 0 || item.stats.retired > 0;\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n)\r\n\r\nconst Drivers = ({ items }) => {\r\n\r\n const drivers = items.filter(i => i.player.position.slug === 'chassis').sort((a, b) => {\r\n const aPos = getPosition(a, 'EndPosition');\r\n const bPos = getPosition(b, 'EndPosition');\r\n\r\n return aPos - bPos;\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n { drivers.length > 0 && }\r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n { drivers.length > 0 &&\r\n \r\n \r\n \r\n \r\n Vækst\r\n Position\r\n Point\r\n \r\n \r\n\r\n \r\n { \r\n drivers.map((item, index) => {\r\n const endPosition = getPosition(item, 'EndPosition');\r\n const points = item.stats.worldCupPoints;\r\n const disabled = item.stats.disqualified > 0 || item.stats.retired > 0;\r\n \r\n return (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n\r\n}\r\n\r\n\r\nconst MotorsportDriverListWidget = () => {\r\n return (\r\n \r\n { (match) => {\r\n return (\r\n { ({ events }) => (\r\n { ({ fantasyEvents }) => (\r\n { (items) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n }}\r\n )}\r\n )}\r\n )\r\n }}\r\n \r\n \r\n )\r\n}\r\n\r\n\r\nMotorsportDriverListWidget.propTypes = {\r\n \r\n}\r\n\r\nexport default MotorsportDriverListWidget;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\n\r\nimport { ScrollTable, Table } from 'components'\r\n\r\nimport MatchContext from '../MatchContext'\r\nimport WithMatchReport from '../WithMatchReport'\r\nimport WithMatchFantasyEvents from '../WithMatchFantasyEvents'\r\nimport WithMatchEvents from '../WithMatchEvents'\r\n\r\nimport { points, number } from 'utils'\r\n\r\nimport PlayerIdentity from '../PlayerIdentity'\r\nimport { ErrorBoundary } from '../../components';\r\n\r\n\r\nconst Points = ({ value }) => {\r\n if (typeof value === 'undefined')\r\n return -\r\n else if (value < 0)\r\n return { currency(value) }\r\n else\r\n return { points(value) };\r\n}\r\n\r\nconst Number = ({ value }) => {\r\n if (typeof value === 'undefined')\r\n return -\r\n else return { number(value) };\r\n}\r\n\r\n\r\nconst PlayerList = ({ heading, items }) => (\r\n \r\n \r\n \r\n { heading }\r\n \r\n \r\n \r\n \r\n { \r\n items.map((item, index) => {\r\n const madeTheCut = item.stats.madeTheCut;\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n)\r\n\r\n\r\nconst Golfers = ({ items }) => {\r\n\r\n const players = items.sort((a, b) => {\r\n\r\n if (a.stats.endPosition === b.stats.endPosition) {\r\n return b.growth - a.growth;\r\n }\r\n else\r\n return (a.stats.endPosition || 0) - (b.stats.endPosition || 0)\r\n \r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n { players.length > 0 && }\r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n { players.length > 0 &&\r\n \r\n \r\n \r\n \r\n Vækst\r\n Pos\r\n Til par\r\n R1\r\n R2\r\n R3\r\n R4\r\n Total\r\n \r\n \r\n \r\n\r\n \r\n { \r\n players.map((item, index) => {\r\n const par = parseInt(item.match.properties.tournamentPar || '0') * 4;\r\n const total = (item.stats.day1Strokes || 0) + (item.stats.day2Strokes || 0) + (item.stats.day3Strokes || 0) + (item.stats.day4Strokes || 0);\r\n \r\n const endPosition = item.stats.endPosition;\r\n const toPar = total - par;\r\n const r1 = item.stats.day1Strokes;\r\n const r2 = item.stats.day2Strokes;\r\n const r3 = item.stats.day3Strokes;\r\n const r4 = item.stats.day4Strokes;\r\n const madeTheCut = item.stats.madeTheCut;\r\n \r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n }\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n\r\n}\r\n\r\n\r\nconst GolfTournamentReport = () => {\r\n return (\r\n \r\n { (match) => {\r\n return (\r\n { ({ events }) => (\r\n { ({ fantasyEvents }) => (\r\n { (items) => {\r\n return (\r\n \r\n \r\n \r\n )\r\n }}\r\n )}\r\n )}\r\n )\r\n }}\r\n \r\n \r\n )\r\n}\r\n\r\n\r\nGolfTournamentReport.propTypes = {\r\n \r\n}\r\n\r\nexport default GolfTournamentReport;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { connect } from 'react-redux';\r\nimport { createSelector } from 'reselect'\r\n\r\nimport { fetchTournamentStandingsIfNeeded } from '../redux/tournament/actions';\r\n\r\nclass WithTournamentStandings extends React.PureComponent {\r\n componentDidMount() {\r\n this.props.fetch(this.props.id);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.id !== this.props.id) {\r\n this.props.fetch(nextProps.id);\r\n }\r\n }\r\n\r\n render() {\r\n const { standings, children } = this.props;\r\n \r\n return children(standings);\r\n }\r\n}\r\n\r\n\r\n\r\nexport const makeGetTournamentStandings = () => createSelector([\r\n (state, props) => props.id,\r\n (state) => state.tournaments.standingsById,\r\n (state) => state.entities.matchGroups,\r\n (state) => state.entities.teams\r\n ],\r\n (id, standingsById, matchGroups, teams) => {\r\n const standings = standingsById[id] || { items : [], isFetching : false };\r\n \r\n const groups = (standings.items || []).map(s => {\r\n const matchGroup = matchGroups[s.group];\r\n\r\n return {\r\n group : matchGroup,\r\n standings : (s.standings || []).map(i => {\r\n const team = teams[i.team];\r\n\r\n return {\r\n ...i,\r\n goalDifference : `${ i.goalsFor}-${ i.goalsAgainst}`,\r\n team\r\n }\r\n })\r\n }\r\n })\r\n \r\n return {\r\n isFetching : standings.isFetching,\r\n groups\r\n }\r\n }\r\n)\r\n\r\n\r\n\r\nconst makeMapStateToProps = () => {\r\n const getTournamentStandings = makeGetTournamentStandings();\r\n return (state, ownProps) => ({\r\n standings : getTournamentStandings(state, ownProps)\r\n })\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch, ownProps) {\r\n return {\r\n fetch(id) {\r\n dispatch(fetchTournamentStandingsIfNeeded(id));\r\n }\r\n }\r\n}\r\n\r\nWithTournamentStandings.propTypes = {\r\n id : PropTypes.any.isRequired\r\n}\r\n\r\nexport default connect(makeMapStateToProps, mapDispatchToProps)(WithTournamentStandings);\r\n\r\n","import React from 'react'\r\nimport { ScrollTable, Table, Box } from '../components'\r\n\r\nimport WithFlyout from './WithFlyout'\r\nimport WithTournamentStandings from './WithTournamentStandings'\r\nimport GameContext from './GameContext'\r\n\r\nimport { lo } from '../common/utils'\r\n\r\nimport LocalizeText from './LocalizeText'\r\n\r\n\r\nconst TournamentStandings = ({ view, columns }) =>{\r\n \r\n return (\r\n \r\n { ({ game }) => (\r\n { ({ isFetching, groups}) => (\r\n { ({ push }) => (\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n { \r\n groups.map((g, index) => {\r\n const standings = g.standings.filter(g => g.team);\r\n\r\n return (\r\n \r\n \r\n \r\n { lo(g.group, 'name') }\r\n \r\n \r\n \r\n {\r\n standings.map(s => (\r\n \r\n \r\n \r\n { s.rank }\r\n { ' ' }\r\n { view && push(\"view\", { view : view, args : { team : s.team } })}>{ lo(s.team, 'name') } }\r\n { !view && lo(s.team, 'name') }\r\n \r\n \r\n \r\n ))\r\n }\r\n \r\n \r\n )\r\n }\r\n )}\r\n\r\n
    \r\n \r\n
    \r\n \r\n \r\n\r\n { \r\n \r\n groups.map((g, index) => {\r\n const standings = g.standings.filter(g => g.team);\r\n\r\n return (\r\n \r\n \r\n \r\n { columns.map((c, index) => ) }\r\n \r\n \r\n \r\n {\r\n standings.map(s => (\r\n \r\n { columns.map((c, index) => { s[c.property] }) }\r\n \r\n ))\r\n }\r\n \r\n \r\n )\r\n })\r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n )}
    \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n )\r\n}\r\n\r\n\r\n\r\nexport default TournamentStandings;","import React, { useRef, useEffect, useState, useCallback } from 'react';\r\nimport { useBreakpoint } from './BreakpointProvider'\r\nimport useThrottle from './useThrottle';\r\n\r\nconst getLowestColumn = (cols) => {\r\n let index = 0;\r\n let height = Number.MAX_SAFE_INTEGER;\r\n\r\n for(let i = 0; i < cols.length; i++) {\r\n if (cols[i] < height) {\r\n index = i;\r\n height = cols[i];\r\n }\r\n }\r\n\r\n return index;\r\n}\r\n\r\n\r\nconst MasonryItem = React.memo(({ children }) => {\r\n return
    { children }
    \r\n})\r\n\r\n\r\n\r\n\r\nexport const Masonry = React.memo(({ children, gap, columns }) => {\r\n const ref = useRef();\r\n const [layoutTimer, setLayoutTimer] = useState();\r\n\r\n const layout = useCallback(() => {\r\n const el = ref.current;\r\n\r\n if (!el)\r\n return;\r\n\r\n let colHeights = Array(columns).fill(0);\r\n\r\n const width = el.offsetWidth;\r\n const columnWidth = (width - ((columns - 1) * gap)) / columns;\r\n \r\n var childs = ref.current.children;\r\n\r\n let maxHeight = 0;\r\n for(let i = 0; i < childs.length; i++) {\r\n const cel = childs[i];\r\n\r\n cel.style.width = columnWidth + 'px';\r\n\r\n const index = getLowestColumn(colHeights);\r\n const height = colHeights[index];\r\n\r\n \r\n const left = (index * (columnWidth + gap)) + 'px';\r\n const top = height + 'px';\r\n\r\n cel.style.transform = `translate3d(${ left }, ${ top }, 0)`;\r\n\r\n const elHeight = cel.getBoundingClientRect().height;\r\n\r\n const newHeight = height + elHeight;\r\n if (newHeight > maxHeight) \r\n maxHeight = newHeight;\r\n\r\n colHeights[index] += elHeight + gap;\r\n }\r\n\r\n el.style.height = maxHeight + 'px';\r\n })\r\n\r\n useEffect(() => {\r\n window.addEventListener('resize', layout);\r\n\r\n return () => {\r\n window.removeEventListener('resize', layout);\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n layout();\r\n }, [columns, children]);\r\n\r\n\r\n const style = {\r\n position: 'relative',\r\n transition: 'height 0.2s ease-in-out'\r\n };\r\n \r\n return
    \r\n { \r\n React.Children.map(children, (child, index) => {\r\n\r\n return { child }\r\n }) \r\n }\r\n
    \r\n \r\n})\r\n\r\nMasonry.defaultProps = {\r\n columns : 3,\r\n gap : 12\r\n};\r\n\r\n\r\nexport const ResponsiveMasonry = React.memo(({ columns, children, ...otherProps }) => {\r\n const breakpoint = useBreakpoint();\r\n const nColumns = Array.isArray(columns) ? columns[breakpoint.index] : columns;\r\n\r\n \r\n\r\n return \r\n { children }\r\n \r\n});\r\n\r\n","import { useMemo, useEffect } from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\n\r\nimport { fetchMessageBoardIfNeeded, markMessageBoardRead, subscribe, unsubscribe } from '../../redux/messageBoard/actions';\r\nimport { makeGetUnreadMessageBoardPosts } from '../../redux/messageBoard/selectors';\r\n\r\nconst useMessageBoard = (messageBoardId) => {\r\n const dispatch = useDispatch();\r\n\r\n const getUnreadMessageBoardPosts = useMemo(() => makeGetUnreadMessageBoardPosts(), []);\r\n\r\n const unread = useSelector(state => {\r\n return messageBoardId && getUnreadMessageBoardPosts(state, messageBoardId) || 0\r\n });\r\n\r\n useEffect(() => {\r\n if (messageBoardId) {\r\n dispatch(fetchMessageBoardIfNeeded(messageBoardId));\r\n dispatch(subscribe(messageBoardId));\r\n \r\n return () => {\r\n dispatch(unsubscribe(messageBoardId));\r\n }\r\n }\r\n }, [messageBoardId])\r\n\r\n const markRead = () => {\r\n dispatch(markMessageBoardRead(messageBoardId));\r\n }\r\n\r\n const role = '';\r\n return [unread, role, markRead];\r\n}\r\n\r\n\r\nexport default useMessageBoard;","import React, { useMemo } from 'react'\r\n\r\nimport { useParams } from 'react-router-dom'\r\n\r\nimport { number, getCupStructure } from '../common/utils';\r\nimport { useTranslator } from '../hooks/useTranslator'\r\n\r\nimport useMessageBoard from '../containers/messageBoard/useMessageBoard'\r\nimport useFlyout from '../hooks/useFlyout'\r\n\r\n\r\nimport { MemberCompetitionCard } from './components/CompetitionCard'\r\n\r\n\r\nconst CompetitionCard = React.memo( ({ competition, teams, isOwner }) => {\r\n const t = useTranslator();\r\n\r\n const [unread] = useMessageBoard(competition.messageBoard && competition.messageBoard.id);\r\n const [showFlyout] = useFlyout();\r\n\r\n let cup = competition.type == 'cup' && getCupStructure(t, competition.rounds, competition.maximumEliminationRounds, competition.enrollmentCount);\r\n const maximumRank = cup && cup.finalists || 0;\r\n const stage = null;\r\n\r\n const props = {\r\n ...competition,\r\n enrollmentCountText : t(`competitions.n_teams`, { count : number(competition.enrollmentCount, '', 0) }),\r\n typeName : t(`competitions.format_${ competition.type }`)\r\n }\r\n\r\n let params = useParams();\r\n\r\n function handleClick() {\r\n if (competition.type == 'leaderboard') {\r\n location.href = `/${ params.language }/${ params.gameSlug }/leaderboards/${ competition.slug }`;\r\n }\r\n else {\r\n location.href = `/${ params.language }/${ params.gameSlug }/cups/${ competition.slug }`;\r\n }\r\n }\r\n\r\n const teamItems = useMemo(() => (teams ||[]).map(team => {\r\n let rank = team.standings && team.standings.length > 0 && team.standings[0].rank || 0;\r\n if (team.qualification)\r\n rank = t.qualification && t.qualification.rank;\r\n \r\n const color = rank > maximumRank && maximumRank > 0 ? \"base300\" : null;\r\n \r\n let right = number(rank);\r\n\r\n if (competition.type === 'leaderboard' && stage == 'pending')\r\n right = '-'\r\n if (t.qualification && t.qualification.isEliminated)\r\n right = t('competitions.eliminated');\r\n else if (competition.type === 'cup')\r\n right = t('competitions.participates');\r\n\r\n return {\r\n id : team.id,\r\n text : team.name,\r\n color : color,\r\n status : right\r\n }\r\n }), [teams]);\r\n\r\n\r\n const handleShowInfo = (e) => {\r\n e.stopPropagation();\r\n showFlyout('competition', { competitionId : competition.id, title : competition.name }); \r\n };\r\n\r\n const handleShowMessageBoard = (e) => {\r\n e.stopPropagation();\r\n showFlyout('competition', { competitionId : competition.id, title : competition.name, initialTab : 'messageBoard' }); \r\n };\r\n \r\n return ;\r\n\r\n\r\n})\r\n\r\n\r\n\r\nexport default CompetitionCard;","import axios from 'axios'\r\nimport { normalize } from 'normalizr'\r\n\r\nimport { competitionSchema, leaderboardSchema,fantasyTeamSchema, groupSchema } from '../../schemas';\r\nimport auth from '../../common/auth'\r\n\r\nimport * as types from './types';\r\n\r\n/* Fetch User Competition Leaderboards */\r\n\r\nconst fetchGameFantasyTeamsRequest = (gameId) => ({ type: types.FETCH_GAME_FANTASYTEAMS_REQUEST, gameId });\r\nconst fetchGameFantasyTeamsSuccess = (gameId, payload) => ({ type: types.FETCH_GAME_FANTASYTEAMS_SUCCESS, gameId, payload });\r\nconst fetchGameFantasyTeamsFailure = (gameId) => ({ type: types.FETCH_GAME_FANTASYTEAMS_FAIL, gameId });\r\n\r\nconst fetchGameFantasyTeams = (gameId) => (dispatch) => { \r\n dispatch(fetchGameFantasyTeamsRequest(gameId));\r\n\r\n const accessToken = auth.getAccessToken();\r\n return axios.get(`/games/${ gameId }/users/me/fantasyteams?access_token=${ accessToken }`).then(response => {\r\n dispatch(fetchGameFantasyTeamsSuccess(gameId, normalize(response.data, [fantasyTeamSchema])));\r\n }, e => {\r\n dispatch(fetchGameFantasyTeamsFailure(gameId));\r\n });\r\n}\r\n\r\nconst shouldFetchGameFantasyTeams = (state, gameId) => {\r\n const { isFetching, didInvalidate, items } = state.fantasyTeam.byGame[gameId] || { isFetching : false, didInvalidate : false, items : null};\r\n\r\n if (isFetching) {\r\n return false;\r\n }\r\n else if (!items) {\r\n return true;\r\n }\r\n else {\r\n return didInvalidate;\r\n }\r\n}\r\n\r\nexport const fetchGameFantasyTeamsIfNeeded = (gameId) => (dispatch, getState) => {\r\n if (shouldFetchGameFantasyTeams(getState(), gameId)) {\r\n dispatch(fetchGameFantasyTeams(gameId));\r\n }\r\n}\r\n\r\n\r\n/* Fetch lineup */\r\n\r\nconst fetchLineupRequest = (fantasyTeamId) => ({ type: types.FETCH_LINEUP_REQUEST, fantasyTeamId });\r\nconst fetchLineupSuccess = (fantasyTeamId, payload) => ({ type: types.FETCH_LINEUP_SUCCESS, fantasyTeamId, payload });\r\nconst fetchLineupFailure = (fantasyTeamId) => ({ type: types.FETCH_LINEUP_FAIL, fantasyTeamId });\r\n\r\nexport const fetchLineup = (fantasyTeamId) => (dispatch) => { \r\n dispatch(fetchLineupRequest(fantasyTeamId));\r\n\r\n const accessToken = auth.getAccessToken();\r\n return axios.get(`/fantasyteams/${ fantasyTeamId }/lineup?access_token=${ accessToken }`).then(response => {\r\n \r\n dispatch(fetchLineupSuccess(fantasyTeamId, response.data));\r\n }, e => {\r\n dispatch(fetchLineupFailure(fantasyTeamId));\r\n });\r\n}\r\n","import { createSelector } from 'reselect'\r\n\r\nexport const getGameFantasyTeams = createSelector(\r\n state => state.fantasyTeam.byGame[state.games.selected],\r\n state => state.entities.fantasyTeams,\r\n (fantasyTeamsBySelectedGame, fantasyTeamEntities) => {\r\n var el = fantasyTeamsBySelectedGame || { isFetching : false, didInvalidate : false, items : []}\r\n\r\n return (el.items || []).map(item => fantasyTeamEntities[item]);\r\n }\r\n)\r\n\r\nexport const makeGetGameFantasyTeams = () => createSelector(\r\n (state, gameId) => state.fantasyTeam.byGame[gameId],\r\n state => state.entities.fantasyTeams,\r\n (fantasyTeamsBySelectedGame, fantasyTeamEntities) => {\r\n var el = fantasyTeamsBySelectedGame || { isFetching : false, didInvalidate : false, items : []}\r\n\r\n return {\r\n ...el,\r\n items : (el.items ||[]).map(item => fantasyTeamEntities[item])\r\n }\r\n }\r\n)\r\n\r\n\r\n\r\n\r\nexport const makeGetLineup = () => createSelector(\r\n (state, fantasyTeamId) => state.fantasyTeam.lineups[fantasyTeamId],\r\n (state) => state.entities.players,\r\n (state) => state.entities.persons,\r\n (state) => state.entities.teams,\r\n (state) => state.entities.positions,\r\n (fantasyTeamLineup, playerEntities, personEntities, teamEntities, positionEntities) => {\r\n const { isFetching, didFetch, lineup } = fantasyTeamLineup || { lineup : [] }\r\n\r\n return {\r\n isFetching,\r\n didFetch,\r\n lineup : (lineup || []).map(l => {\r\n const player = playerEntities[l.player];\r\n const person = player && personEntities[player.person];\r\n const team = player && teamEntities[player.team];\r\n const position = player && positionEntities[player.position];\r\n \r\n return {\r\n ...player,\r\n person,\r\n team,\r\n position,\r\n flags : l.flags\r\n }\r\n })\r\n }\r\n }\r\n)\r\n","\r\nimport { useEffect, useMemo } from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { fetchGameFantasyTeamsIfNeeded } from '../redux/fantasyTeam/actions'\r\nimport { makeGetGameFantasyTeams } from '../redux/fantasyTeam/selectors'\r\n\r\nconst useFantasyTeams = (gameId) => {\r\n const dispatch = useDispatch();\r\n const getFantasyTeams = useMemo(() => makeGetGameFantasyTeams(), []);\r\n const fantasyTeams = useSelector(state => getFantasyTeams(state, gameId));\r\n\r\n useEffect(() => {\r\n if (gameId) {\r\n dispatch(fetchGameFantasyTeamsIfNeeded(gameId))\r\n }\r\n }, [gameId]);\r\n\r\n return [fantasyTeams.items, fantasyTeams.isFetching, fantasyTeams.didFetch];\r\n}\r\n\r\nexport default useFantasyTeams;","import React, { useMemo } from 'react'\r\n\r\nimport { SelectList, Box, Text, Icon } from 'components'\r\nimport { useTranslator } from '../hooks/useTranslator'\r\n\r\nconst renderItem = item => {\r\n return (\r\n \r\n \r\n \r\n { item.selected && }\r\n \r\n \r\n \r\n { item.label }\r\n { item.description }\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst CompetitionTypeSelectList = ({ value, onChange }) => {\r\n const t = useTranslator();\r\n\r\n const items = useMemo(() => {\r\n return [\r\n { value : 'leaderboard', label : t('competitions.format_leaderboard'), description : t('competitions.format_description_leaderboard')},\r\n { value : 'cup' , label : t('competitions.format_cup'), description : t('competitions.format_description_cup') }\r\n ];\r\n }, []);\r\n\r\n return (\r\n onChange(value) } expand={ true } onRenderItem={ renderItem }/>\r\n )\r\n}\r\n\r\nexport default CompetitionTypeSelectList;","import React, { useRef,useEffect, useState, useContext, useMemo } from 'react'\r\nimport { useDispatch } from 'react-redux'\r\n\r\nimport GameContext from '../containers/GameContext'\r\nimport { createCompetition } from '../redux/competition/actions';\r\n\r\n\r\nimport { useTranslator } from '../hooks/useTranslator'\r\n\r\n\r\nimport { \r\n Dialog, DialogHeader, DialogContent, DialogFooter,\r\n XButton, HoverWithOpacity,\r\n Form,\r\n FormField,\r\n Textbox,\r\n FauxPasswordInput,\r\n Label,\r\n Textarea,\r\n Box,\r\n Icon\r\n} from 'components'\r\n\r\nimport CompetitionSelectList from './CompetitionSelectList'\r\nimport CompetitionTypeSelectList from './CompetitionTypeSelectList'\r\n\r\nconst initialState = {\r\n name : '',\r\n type : 'leaderboard',\r\n useDescription : false,\r\n description : '',\r\n allowMultipleEntries : true,\r\n usePassword : false,\r\n password : ''\r\n};\r\n\r\n\r\nconst UIToggle = ({ label, show, text, children, onChangeDisplay }) => {\r\n const t = useTranslator();\r\n\r\n return (\r\n \r\n { \r\n !show && \r\n\r\n onChangeDisplay(!show) } collapse>\r\n \r\n \r\n \r\n { text }\r\n \r\n }\r\n {\r\n show &&\r\n \r\n \r\n \r\n \r\n \r\n onChangeDisplay(false) }>{ t('common.remove_caption')}\r\n \r\n { children }\r\n \r\n\r\n }\r\n \r\n )\r\n}\r\n\r\n\r\nconst CreateCompetitionDialog = ({ open, onChange, onComplete, onCancel }) => {\r\n const nameRef = useRef();\r\n const [problems, setProblems] = useState(null);\r\n const dispatch = useDispatch();\r\n const gameContext = useContext(GameContext);\r\n const t = useTranslator();\r\n\r\n useEffect(() => {\r\n if (nameRef.current)\r\n nameRef.current.focus();\r\n\r\n }, [nameRef.current])\r\n\r\n const [item, setItem] = useState({\r\n name : '',\r\n type : 'leaderboard',\r\n useDescription : false,\r\n description : '',\r\n allowMultipleEntries : true,\r\n usePassword : false,\r\n password : '',\r\n inviteFrom : null,\r\n useInviteFrom : false\r\n });\r\n\r\n\r\n const onSubmit = () => {\r\n const data = {\r\n name : item.name,\r\n type : item.type,\r\n allowMultipleEntries : item.allowMultipleEntries,\r\n description : item.useDescription ? item.description : '',\r\n password : item.usePassword ? item.password : '',\r\n inviteFrom : item.useInviteFrom ? { id : item.inviteFrom } : null\r\n }\r\n\r\n dispatch(createCompetition(gameContext.game.id, data)).then(response => {\r\n setProblems(null);\r\n onComplete({ competition : response.data });\r\n }, e => {\r\n //const title = e.response.data.title || 'Der opstod en fejl under oprettelsen.'\r\n //showSnackbar(title, 'error');\r\n setProblems(e.response.data.errors);\r\n });\r\n }\r\n\r\n const handleCancel = () => {\r\n setProblems(null);\r\n onCancel();\r\n }\r\n\r\n return (\r\n \r\n { t('competitions.create_mini_league_heading') }\r\n \r\n
    \r\n \r\n \r\n setItem({ ...item, name : e.target.value })} />\r\n \r\n\r\n \r\n \r\n setItem({ ...item, type : value }) } \r\n />\r\n \r\n\r\n\r\n \r\n setItem({ ...item, useDescription : value } ) }>\r\n