{"version":3,"sources":["app/history.ts","features/App/constants.ts","features/App/App.slice.ts","features/AllEvents/constants.ts","features/AllEvents/AllEvents.slice.ts","app/store.ts","app/constants.ts","features/App/styledComponents.tsx","features/App/components/AppHeader/styledComponents.tsx","features/Results/constants.ts","components/SearchField/styledComponents.tsx","assets/icons/search-icon.svg","components/SearchField/SearchField.component.tsx","api/apiHttpService.ts","api/useEventFeed.ts","features/App/components/AppHeader/useSearchQuery.ts","hooks/useChangeLocationSearch.ts","features/App/components/AppHeader/AppHeader.component.tsx","hooks/useHidingHeader.ts","components/EventInfo/styledComponents.tsx","assets/icons/fb.svg","assets/icons/tw.svg","assets/icons/calendar.svg","assets/icons/flag.svg","assets/icons/users.svg","assets/icons/refresh.svg","components/LiveNewsSidebar/styledComponents.tsx","assets/icons/arrow-right.svg","global-styles.ts","api/useEventNews.ts","components/LiveNewsSidebar/LiveNewsSidebar.component.tsx","components/SplashScreen/styledComponents.tsx","components/SplashScreen/SplashScreen.component.tsx","components/EmptyPage/styledComponents.tsx","components/EmptyPage/EmptyPage.component.tsx","assets/icons/horse-lg.png","constants.ts","assets/icons/info.svg","components/EventInfo/EventInfo.component.tsx","features/App/hooks/useAskForEventUpdates.ts","features/AllEvents/styledComponents.tsx","features/AllEvents/components/AllEventsItem/styledComponents.tsx","components/Badge/styledComponents.tsx","components/Badge/Badge.component.tsx","assets/icons/calendar-accent.svg","assets/icons/live.svg","assets/icons/enter.svg","assets/icons/award-accent.svg","features/AllEvents/components/AllEventsItem/AllEventsItem.component.tsx","hooks/useDidUpdate.ts","hooks/useDebounce.ts","hooks/useScrollOnSearch.ts","features/AllEvents/AllEvents.container.tsx","api/useAllEvents.ts","features/Summary/styledComponents.tsx","features/Summary/components/SummaryItem/styledComponents.tsx","assets/icons/award.svg","assets/icons/times.svg","domain.ts","features/Summary/constants.ts","hooks/useWindowSize.ts","features/Summary/components/SummaryItem/SummaryItem.component.tsx","features/Results/styledComponents.tsx","api/useEventResults.ts","assets/icons/helmet.svg","assets/icons/horse.svg","features/Results/components/ResultsSJItem/ResultsSJItem.component.tsx","features/Results/components/ResultsDRItem/ResultsDRItem.component.tsx","features/Results/components/ResultsETItem/ResultsETItem.component.tsx","features/Results/components/ResultsCBItem/ResultsCBItem.component.tsx","features/Results/components/ResultsHTItem/ResultsHTItem.component.tsx","features/Results/components/ResultsSEItem/ResultsSEItem.component.tsx","components/SortIndicator/styledComponents.tsx","components/SortIndicator/SortIndicator.component.tsx","features/Results/components/ResultsSJTableHead/ResultsSJTableHead.component.tsx","features/Results/components/ResultsDRTableHead/ResultsDRTableHead.component.tsx","features/Results/components/ResultsETTableHead/ResultsETTableHead.component.tsx","features/Results/components/ResultsCBTableHead/ResultsCBTableHead.component.tsx","features/Results/components/ResultsHTTableHead/ResultsHTTableHead.component.tsx","features/Results/components/ResultsSETableHead/ResultsSETableHead.component.tsx","components/DownloadResults/styledComponents.tsx","assets/icons/results.png","assets/icons/doc.svg","components/DownloadResults/DownloadResults.component.tsx","components/HorizontalScrollPrompt/styledComponents.tsx","components/HorizontalScrollPrompt/HorizontalScrollPrompt.component.tsx","features/Results/Results.container.tsx","features/Results/hooks/useResultsSort.ts","features/Results/getResultsItem.ts","features/Results/getResultsTableHead.ts","features/Times/components/TimesItem/TimesItem.component.tsx","features/Times/styledComponents.tsx","components/DownloadTimes/styledComponents.tsx","components/DownloadTimes/DownloadTimes.component.tsx","assets/icons/times.png","features/Times/Times.container.tsx","api/useEventTimes.ts","features/Times/getDisabledProps.ts","components/CollapseButtonLine/styledComponents.tsx","components/CollapseButtonLine/CollapseButtonLine.component.tsx","assets/icons/doc-empty.svg","features/Summary/Summary.container.tsx","features/Summary/hooks/useScrollToShowResults.ts","components/RightSidebar/styledComponents.tsx","components/SponsorsSidebar/styledComponents.tsx","api/useEventAds.ts","components/SponsorsSidebar/SponsorsSidebar.component.tsx","components/RightSidebar/RightSidebar.component.tsx","features/App/App.container.tsx","app/theme.ts","index.tsx"],"names":["history","createBrowserHistory","slice","createSlice","name","initialState","searchQuery","allEvents","results","summary","reducers","setSearchQuery","state","action","key","value","payload","actions","scrollPosition","page","setScrollPosition","setPage","sagaMiddleware","createSagaMiddleware","store","configureStore","reducer","router","connectRouter","app","appSlice","allEventsSlice","middleware","routerMiddleware","devTools","process","AppQueryParamsConfigMap","c","StringParam","e","t","LocationID","SecretaryID","PCID","RCID","TABLET_BREAKPOINT","MOBILE_BREAKPOINT","BASE_API_URL","window","REACT_APP_API_URL","APP_WIDTH","Main","styled","div","withConfig","displayName","componentId","MainContent","MainContentBody","AppContainer","Header","header","props","concat","theme","grey","light","fontColor","primary","accent","SearchFieldContainer","attrs","_ref","className","transparentize","dark","SearchField","onChange","placeholder","style","_jsxs","children","_jsx","src","searchIcon","alt","type","currentTarget","onClick","memo","apiHttpService","axios","create","baseURL","useEventFeed","eventId","useQuery","async","data","get","enabled","staleTime","Infinity","refetchIntervalInBackground","keepPreviousData","select","eventClassList","filter","item","_item$clNumber","clNumber","toString","includes","toLowerCase","useSearchQuery","useHistory","dispatch","useDispatch","searchMap","useSelector","pageKey","location","pathname","changeQuery","useChangeLocationSearch","query","useQueryParams","items","queryStr","search","replace","forEach","queryParamStr","param","split","q","join","AppHeader","activeEvent","getModifiedSearchQuery","position","setPosition","useState","pageYOffset","visible","setVisible","useEffect","handleScroll","moving","document","documentElement","scrollTop","addEventListener","removeEventListener","transform","undefined","transition","useHidingHeader","NavLink","to","activeClassName","eventName","v","StyledSplashWrapper","StyledEventInfo","red","StyledLiveNewsSidebar","GlobalStyle","createGlobalStyle","_templateObject","_taggedTemplateLiteral","Array","from","_","i","map","light2","StyledEventImage","StyledCard","useEventNews","dataUpdatedAt","eventFeedUpdatedAt","news","Boolean","LiveNewsSidebar","expanded","showMore","setShowMore","newsProcessed","useMemo","handleArrowClick","direction","length","opacity","disabled","arrorRightIcon","moment","createdDate","format","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","description","eventNewsItemId","StyledSplashScreen","purple","SplashScreen","longLoadingText","setlongLoadingText","setTimeout","role","StyledEmptyPage","EmptyPage","title","APP_NAME_POSTFIX","connector","connect","EventInfo","isFetching","lastTimeUpdatedTimestamp","refetch","refetchEvent","queryClient","useQueryClient","timeStampUrl","freshTimestamp","Date","now","currentTimestamp","getQueryData","refetchInterval","useAskForEventUpdates","SplashScreenComponent","EmptyPageComponent","urlToShare","origin","logoUrl","href","target","rel","fbIcon","twIcon","calendarIcon","eventDate","flagIcon","venueName","usersIcon","reduce","acc","curr","numberOfEntries","refreshIcon","infoIcon","status","LiveNewsSidebarComponent","StyledAllEvents","StyledAllEventsItem","StyledDateTab","white","StyledBadge","span","Badge","icon","active","AllEventsItem","showItemGroup","ref","width","useResizeObserver","_Fragment","eventDateGroup","Link","awardIcon","liveIcon","isOnlineEntry","enterIcon","useDidUpdateEffect","fn","inputs","didMountRef","useRef","current","useDebounce","delay","debouncedValue","setDebouncedValue","handler","clearTimeout","useScrollOnSearch","debounceTime","offsetY","searchQueryDebounced","y","getBoundingClientRect","top","scrollY","scroll","behavior","debouncedSearchQuery","containerRef","useLayoutEffect","body","eventsData","changePage","pageSize","isPreviousData","_data$events","queryParams","events","dateFrom","totalCount","pageNo","useAllEvents","pageCount","Math","ceil","id","pointerEvents","Helmet","index","Number","ReactPaginate","breakLabel","nextLabel","previousLabel","onPageChange","selected","containerClassName","pageClassName","pageLinkClassName","previousClassName","previousLinkClassName","nextClassName","nextLinkClassName","breakClassName","breakLinkClassName","forcePage","StyledSummary","leftMenuCollapsed","StyledSummaryItem","hasActiveItem","Disciplines","HAS_NO_RESULTS_DISCIPLINES","BoxOffice","ArenaCourseHire","XCCourseHire","TrainingClinics","HAS_NO_TIMES_DISCIPLINES","useWindowSize","arguments","windowSize","setWindowSize","height","debouncedHandleResize","debounce","handleResize","innerWidth","innerHeight","SummaryItem","windowWidth","clientWidth","classItem","find","activeItem","hasResults","discipline","hasTimes","startTime","endTime","liveEventFeedStatusText","timesIcon","arenaName","clSort","classDay","className1","className2","judges","StyledResults","useEventResults","classId","sort","toDatePassed","hours","minutes","seconds","autoRefreshResultsFeedTime","intervalTimeMs","processedData","_item$riderBSJARegNum","_item$customHorseName","_item$horseName","riderBSJARegNumber","riderFirstName","riderLastName","customHorseName","horseName","bridleNumber","orderBy","field","order","zeroValuesItems","withoutZeroValues","ResultsItem","result","sjPhasesCount","disabledFields","isEnabled","phases","eaEventClassAndSort","sectionName","helmetIcon","horseIcon","ownerFirstName","ownerLastName","React","Fragment","isScoringEntered","totalJFaults","sectionPlace","sjPlace","riderClassStatusCode","_result$dressageScore","_result$dressageColle","_result$eaDressagePer","dressageTime","judge","_result$judgeScores","judgeScores","dressageScore","toFixed","dressageCollective","eaDressagePercentageCustom","overallPlace","sjFaults","xcFaults","evTrialScoringTime","evTrialTimePenalties","evTrialTotalScore","_result$totalCBScoreB","_result$totalCBScore","console","log","isCBScoreBE","showJumpingTime","sjPenalties","totalCBScoreBE","totalCBScore","htJumpPenalties","htTimeTaken","htTimePenalties","htTotalScore","selectedResult","StyledSortIndicator","SortIndicator","changeSort","tooltip","renderTooltipHelper","OverlayTrigger","overlay","Tooltip","marginLeft","stopPropagation","ResultsSJTableHead","scope","SortIndicatorComponent","colSpan","ResultsDRTableHead","youngHorseResultsRule","ResultsETTableHead","ResultsCBTableHead","ResultsHTTableHead","ResultsSETableHead","StyledDownloadResults","DownloadResults","url","download","substring","lastIndexOf","docIcon","StyledHorizontalScrollPrompt","HorizontalScrollPrompt","promtpRef","shown","setShown","localStorage","horizontalScrollPromptShown","_promtpRef$current","parent","parentNode","scrollWidth","handlePromptClick","onTouchStart","display","eventNewsFeedUpdatedAt","_results$","setSort","orderByPlacing","orderLiveResultsByPlacing","sortField","Showjumping","EventerTrial","HunterTrials","Shows","MixedEvents","useResultsSort","refetchResults","desktopVisible","tabletVisible","mobileVisible","renderTitle","resultsDocUrl","activeClass","publishResultsLiveFeed","linkAvailable","ResultsSJItem","Dressage","ResultsDRItem","ResultsETItem","CombinedTraining","ResultsCBItem","ResultsHTItem","ResultsSEItem","getResultsItem","ResultsTableHead","getResultsTableHead","judgeNamesPositions","Object","keys","some","showSJFullResults","push","HorizontalScrollPromptComponent","scoreByOptimumTime","evStatus","secretaryEventId","TimesItem","time","disabledProps","drawnOrder","eaClassEntrySectionName","riderFullName","ownerFullName","breakTimeCustom","breakTimeName","StyledTimes","StyledDownloadTimes","DownloadTimes","times","refetchTimes","useEventTimes","invalidateQueries","getDisabledProps","emptyValueFields","timesDocUrl","publishTimesLiveFeed","StyledCollapseButtonLine","CollapseButtonLine","_query$e","downloadText","downloadUrl","resultsBlockRef","useLocation","arrowIcon","borderSpacing","SummaryItemComponent","CollapseButtonLineComponent","Switch","Route","path","component","TimesContainer","ResultsContainer","render","Redirect","StyledRightSidebar","StyledSponsorsSidebar","useEventAds","then","ads","SponsorsSidebar","sponsors","imageUrl","RightSidebar","setExpanded","flex","App","exact","AllEventsContainer","SummaryContainer","SponsorsSidebarComponent","lightTheme","black","QueryClient","defaultOptions","queries","ReactDOM","QueryClientProvider","client","Provider","ConnectedRouter","QueryParamProvider","ReactRouterRoute","_ThemeProvider","ReactQueryDevtools","initialIsOpen","getElementById"],"mappings":"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","file":"static/js/main.e5cd8cba.chunk.js","sourcesContent":["import { createBrowserHistory } from 'history';\r\n\r\nconst history = createBrowserHistory();\r\n\r\nexport default history;","/*\r\n *\r\n * App constants\r\n *\r\n */\r\n\r\nexport const SLICE_NAME = 'app';\r\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { SLICE_NAME } from './constants';\r\nimport { AppContainerState, Page } from './app';\r\n\r\nconst initialState: AppContainerState = {\r\n searchQuery: { allEvents: '', results: '', summary: '' },\r\n};\r\n\r\nexport const slice = createSlice({\r\n name: SLICE_NAME,\r\n initialState,\r\n\r\n reducers: {\r\n setSearchQuery: (state, action: PayloadAction<[Page, string]>) => {\r\n const [key, value] = action.payload;\r\n state.searchQuery[key] = value;\r\n },\r\n },\r\n});\r\n\r\nexport const { setSearchQuery } = slice.actions;\r\n\r\nexport default slice.reducer;\r\n","/*\r\n *\r\n * AllEvents constants\r\n *\r\n */\r\n\r\nexport const SLICE_NAME = 'allevents';\r\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { SLICE_NAME } from './constants';\r\nimport { AllEventsContainerState } from './allevents';\r\n\r\nconst initialState: AllEventsContainerState = {\r\n scrollPosition: 0,\r\n page: 0,\r\n};\r\n\r\nexport const slice = createSlice({\r\n name: SLICE_NAME,\r\n\r\n initialState,\r\n\r\n reducers: {\r\n setScrollPosition: (state, action: PayloadAction) => {\r\n state.scrollPosition = action.payload;\r\n },\r\n setPage: (state, action: PayloadAction) => {\r\n state.page = action.payload;\r\n },\r\n },\r\n});\r\n\r\nexport const { setScrollPosition, setPage } = slice.actions;\r\n\r\nexport default slice.reducer;\r\n","import { configureStore, AnyAction } from '@reduxjs/toolkit';\r\nimport {\r\n connectRouter,\r\n RouterState,\r\n routerMiddleware,\r\n} from 'connected-react-router';\r\nimport history from './history';\r\nimport { Reducer } from 'react';\r\nimport appSlice from '../features/App/App.slice';\r\nimport allEventsSlice from '../features/AllEvents/AllEvents.slice';\r\nimport createSagaMiddleware from 'redux-saga';\r\n// import rootSaga from './rootSaga';\r\n\r\nconst sagaMiddleware = createSagaMiddleware();\r\n\r\nconst store = configureStore({\r\n reducer: {\r\n // prettier-ignore\r\n router: connectRouter(history) as Reducer,\r\n app: appSlice,\r\n allEvents: allEventsSlice,\r\n },\r\n middleware: [routerMiddleware(history), sagaMiddleware],\r\n devTools: process.env.NODE_ENV !== 'production',\r\n});\r\n\r\n// sagaMiddleware.run(rootSaga);\r\n\r\nexport default store;\r\n\r\nexport type RootState = ReturnType;\r\nexport type AppDispatch = typeof store.dispatch;\r\n","import { StringParam } from 'use-query-params';\r\n\r\nexport const AppQueryParamsConfigMap = {\r\n c: StringParam, // class id\r\n e: StringParam, // event id\r\n t: StringParam,\r\n LocationID: StringParam, // location id\r\n SecretaryID: StringParam, // secretary id\r\n PCID: StringParam, // pony club id\r\n RCID: StringParam, // riding club id\r\n};\r\n\r\nexport const TABLET_BREAKPOINT = 1000;\r\nexport const MOBILE_BREAKPOINT = 750;\r\n\r\nexport const BASE_API_URL = window.REACT_APP_API_URL;\r\n","import styled from 'styled-components/macro';\r\nimport { TABLET_BREAKPOINT } from '../../app/constants';\r\n\r\nexport const APP_WIDTH = '1440px';\r\n\r\nexport const Container = styled.div`\r\n`;\r\n\r\n\r\nexport const Main = styled.div`\r\n flex-grow: 1;\r\n display: flex;\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n display: block;\r\n max-height: none;\r\n }\r\n .sponsors-mobile {\r\n display: none;\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n display: block;\r\n }\r\n }\r\n`;\r\n\r\nexport const MainContent = styled.div`\r\n align-items: flex-start;\r\n flex-direction: column;\r\n display: flex;\r\n width: 0;\r\n flex-grow: 1;\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n display: block;\r\n width: 100%;\r\n }\r\n`;\r\n\r\nexport const MainContentBody = styled.div`\r\n width: 100%;\r\n height: 100%;\r\n`;\r\n\r\nexport const AppContainer = styled.div`\r\n max-width: ${APP_WIDTH};\r\n margin: 0 auto;\r\n position: relative;\r\n`;\r\n\r\n","import styled from 'styled-components/macro';\r\nimport { MOBILE_BREAKPOINT, TABLET_BREAKPOINT } from '../../../../app/constants';\r\nimport { MOBILE_PADDING } from '../../../Results/constants';\r\nimport { APP_WIDTH } from '../../styledComponents';\r\n\r\nexport const Header = styled.header`\r\n min-height: 11.2rem;\r\n display: flex;\r\n flex-direction: column;\r\n padding-bottom: 3rem;\r\n margin-bottom: 3rem;\r\n position: relative;\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n padding: 0 ${MOBILE_PADDING}px;\r\n }\r\n .header-menu {\r\n position: fixed;\r\n z-index: 9999;\r\n background: white;\r\n width: 100%;\r\n left: 0;\r\n &__inner {\r\n max-width: ${APP_WIDTH};\r\n border-bottom: ${(props) => `1px solid ${props.theme.grey.light}`};\r\n display: flex;\r\n align-items: center;\r\n height: 8.2rem;\r\n margin: 0 auto;\r\n }\r\n &__search {\r\n position: fixed;\r\n left: 50%;\r\n transform: translate(-50%, 0);\r\n top: 50px;\r\n z-index: 99999;\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n position: fixed;\r\n transform: none;\r\n left: 15%;\r\n right: 15%;\r\n max-width: none;\r\n width: auto;\r\n top: 66px;\r\n }\r\n @media (max-width: ${MOBILE_BREAKPOINT}px) {\r\n left: 10px;\r\n right: 10px;\r\n }\r\n }\r\n &__item {\r\n color: ${(props) => props.theme.fontColor.primary};\r\n padding: 0 2rem;\r\n font-size: 1.6rem;\r\n font-weight: 800;\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: relative;\r\n .lbl {\r\n margin-left: 10px;\r\n max-width: 190px;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n display: none;\r\n }\r\n }\r\n &-link {\r\n color: ${(props) => props.theme.fontColor.primary};\r\n text-decoration: none;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: relative;\r\n border-bottom: 2px solid transparent;\r\n height: 100%;\r\n &.active {\r\n color: ${(props) => props.theme.accent};\r\n border-color: ${(props) => props.theme.accent};\r\n }\r\n }\r\n &:hover,\r\n &:focus {\r\n .header-menu__item-link {\r\n color: ${(props) => props.theme.accent};\r\n }\r\n }\r\n &:not(:last-child) {\r\n &:before {\r\n position: absolute;\r\n content: '';\r\n right: 0;\r\n width: 1px;\r\n height: 2rem;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n background-color: ${(props) => props.theme.grey.light};\r\n }\r\n }\r\n &:hover,\r\n &:focus {\r\n text-decoration: none;\r\n }\r\n }\r\n }\r\n`;\r\n","/*\r\n *\r\n * Results constants\r\n *\r\n */\r\n\r\nexport const SLICE_NAME = 'results';\r\n\r\n\r\nexport const REDUCED_VIEW_BREAKPOINT = 770;\r\nexport const MOBILE_PADDING = 20;","import styled from 'styled-components/macro';\r\nimport { transparentize } from 'polished';\r\n\r\nexport const SearchFieldContainer = styled.div.attrs(({ className }) => ({\r\n className,\r\n}))`\r\n width: 100%;\r\n max-width: 52rem;\r\n border-radius: 1.2rem;\r\n border: 1px solid ${(props) => props.theme.grey.light};\r\n height: 6rem;\r\n transition: 0.2s;\r\n position: relative;\r\n box-shadow: 0 0.5rem 2rem 0\r\n ${(props) => transparentize(0.88, props.theme.fontColor.primary)};\r\n\r\n .close-icon {\r\n position: absolute;\r\n right: 15px;\r\n font-size: 30px;\r\n top: 50%;\r\n transform: translate(0, -50%);\r\n color: ${(props) => props.theme.grey.dark};\r\n padding: 0 10px;\r\n }\r\n input {\r\n padding: 2rem 5rem;\r\n border: 0;\r\n height: 100%;\r\n width: 100%;\r\n border-radius: 1.2rem;\r\n font-size: 1.4rem;\r\n color: ${(props) => props.theme.fontColor.primary};\r\n font-weight: 700;\r\n &::-webkit-input-placeholder {\r\n /* Chrome/Opera/Safari */\r\n color: ${(props) => props.theme.grey.primary};\r\n font-size: 1.4rem;\r\n font-weight: 400;\r\n }\r\n &::-moz-placeholder {\r\n /* Firefox 19+ */\r\n color: ${(props) => props.theme.grey.primary};\r\n font-size: 1.4rem;\r\n font-weight: 400;\r\n }\r\n &:-ms-input-placeholder {\r\n /* IE 10+ */\r\n color: ${(props) => props.theme.grey.primary};\r\n font-size: 1.4rem;\r\n font-weight: 400;\r\n }\r\n &:-moz-placeholder {\r\n /* Firefox 18- */\r\n color: $grey;\r\n font-size: 1.4rem;\r\n font-weight: 400;\r\n }\r\n &:hover,\r\n &:focus {\r\n outline: none;\r\n box-shadow: none;\r\n }\r\n }\r\n &:hover,\r\n &:focus,\r\n &.active {\r\n border-color: ${(props) => props.theme.accent};\r\n box-shadow: 0 0.5rem 2rem 0\r\n ${(props) => transparentize(0.88, props.theme.accent)};\r\n }\r\n img {\r\n position: absolute;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n left: 1.6rem;\r\n width: 2rem;\r\n }\r\n`;\r\n","export default __webpack_public_path__ + \"static/media/search-icon.f4287052.svg\";","/**\r\n *\r\n * SearchField\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent, CSSProperties } from 'react';\r\nimport { SearchFieldContainer } from './styledComponents';\r\nimport searchIcon from '../../assets/icons/search-icon.svg'\r\n\r\ninterface IProps {\r\n className?: string;\r\n onChange?: (v: string) => void;\r\n value?: string;\r\n placeholder?: string;\r\n style?: CSSProperties\r\n}\r\n\r\nconst SearchField: FunctionComponent = ({\r\n className,\r\n onChange,\r\n value,\r\n placeholder,\r\n style,\r\n}) => {\r\n return (\r\n \r\n \"\"\r\n onChange && onChange(e.currentTarget.value)}\r\n value={value}\r\n />\r\n {value && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default memo(SearchField);\r\n","import axios, { AxiosInstance } from 'axios';\r\nimport { BASE_API_URL } from '../app/constants';\r\n\r\nexport const apiHttpService: AxiosInstance = axios.create({\r\n baseURL: BASE_API_URL,\r\n});\r\n","import { useQuery } from 'react-query';\r\nimport { LiveFeedEvent } from '../domain';\r\nimport { apiHttpService } from './apiHttpService';\r\n\r\ninterface UseEventFeedParams {\r\n eventId?: string | null;\r\n searchQuery?: string;\r\n}\r\n\r\nexport function useEventFeed({\r\n eventId,\r\n searchQuery = '',\r\n}: UseEventFeedParams) {\r\n return useQuery(\r\n ['eventFeed', eventId],\r\n async () => {\r\n const { data } = await apiHttpService.get(\r\n `/GetEventFeed?eventId=${eventId}`,\r\n );\r\n return data;\r\n },\r\n {\r\n enabled: !!eventId,\r\n staleTime: Infinity,\r\n refetchIntervalInBackground: true,\r\n keepPreviousData: true,\r\n select: (data) =>\r\n searchQuery\r\n ? {\r\n ...data,\r\n eventClassList: data.eventClassList.filter(\r\n (item) =>\r\n item.clNumber?.toString().includes(searchQuery) ||\r\n item.className\r\n .toLowerCase()\r\n .includes(searchQuery.toLowerCase()),\r\n ),\r\n }\r\n : data,\r\n },\r\n );\r\n}\r\n","import { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router';\r\nimport { RootState } from '../../../../app/store';\r\nimport { Page } from '../../app';\r\nimport { setSearchQuery } from '../../App.slice';\r\n\r\nexport default function useSearchQuery() {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const searchMap = useSelector((state: RootState) => state.app.searchQuery);\r\n\r\n let pageKey: Page = 'results';\r\n let placeholder: string = 'Enter Horse or Rider name';\r\n\r\n switch (history.location.pathname) {\r\n case '/all-events':\r\n pageKey = 'allEvents';\r\n placeholder = 'Enter Event name or Discipline';\r\n break;\r\n case '/feed':\r\n pageKey = 'summary';\r\n placeholder = 'Enter Class Number or Part of Class Name';\r\n break;\r\n }\r\n\r\n const changeQuery = (value: string) => {\r\n dispatch(setSearchQuery([pageKey, value]));\r\n }\r\n\r\n return { searchQuery: searchMap[pageKey], changeQuery, placeholder };\r\n}\r\n","import { AppQueryParamsConfigMap } from './../app/constants';\r\nimport { useHistory } from 'react-router';\r\nimport { useQueryParams } from 'use-query-params';\r\n\r\nexport default function useChangeLocationSearch() {\r\n const history = useHistory();\r\n const [query] = useQueryParams(AppQueryParamsConfigMap);\r\n\r\n return (\r\n items: {\r\n param: keyof typeof query;\r\n value: string | undefined;\r\n }[],\r\n ) => {\r\n let queryStr = history.location.search.replace('?', '');\r\n\r\n items.forEach((item) => {\r\n const queryParamStr = `${item.param}=${item.value}`;\r\n\r\n queryStr = queryStr\r\n .split('&')\r\n .filter((q) => !q.includes(`${item.param}=`))\r\n .concat(item.value ? [queryParamStr] : [])\r\n .join('&');\r\n });\r\n\r\n return '?' + queryStr;\r\n };\r\n}\r\n","/**\r\n *\r\n * AppHeader\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent } from 'react';\r\nimport { Header } from './styledComponents';\r\nimport SearchField from '../../../../components/SearchField/SearchField.component';\r\nimport { NavLink, useHistory } from 'react-router-dom';\r\nimport { useQueryParams } from 'use-query-params';\r\nimport { AppQueryParamsConfigMap } from '../../../../app/constants';\r\nimport { useEventFeed } from '../../../../api/useEventFeed';\r\nimport useSearchQuery from './useSearchQuery';\r\nimport useChangeLocationSearch from '../../../../hooks/useChangeLocationSearch';\r\nimport useHidingHeader from '../../../../hooks/useHidingHeader';\r\n\r\n\r\ninterface IProps {}\r\n\r\n\r\nconst AppHeader: FunctionComponent = () => {\r\n const [query] = useQueryParams(AppQueryParamsConfigMap);\r\n const { data: activeEvent } = useEventFeed({ eventId: query.e });\r\n const history = useHistory();\r\n const { searchQuery, changeQuery, placeholder } = useSearchQuery();\r\n\r\n const getModifiedSearchQuery = useChangeLocationSearch();\r\n const style = useHidingHeader();\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n All events\r\n \r\n
\r\n {activeEvent && (\r\n
\r\n \r\n Summary\r\n \r\n
{activeEvent.eventName}
\r\n
\r\n )}\r\n
\r\n
\r\n changeQuery(v)}\r\n placeholder={placeholder}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default memo(AppHeader);\r\n","import { useEffect, useState } from 'react';\r\n\r\nexport default function useHidingHeader() {\r\n const [position, setPosition] = useState(window.pageYOffset);\r\n const [visible, setVisible] = useState(true);\r\n\r\n useEffect(() => {\r\n const handleScroll = () => {\r\n let moving = window.pageYOffset;\r\n let visible = position > moving;\r\n\r\n setPosition(moving);\r\n\r\n if (document.documentElement.scrollTop < 100) {\r\n visible = true;\r\n }\r\n setVisible(visible);\r\n\r\n };\r\n\r\n window.addEventListener('scroll', handleScroll);\r\n\r\n return () => {\r\n window.removeEventListener('scroll', handleScroll);\r\n };\r\n });\r\n\r\n return {\r\n transform: visible ? undefined : `translate(0, -100px)`,\r\n transition: 'transform 0.4s ease-out',\r\n };\r\n}\r\n","import styled from 'styled-components/macro';\r\nimport { TABLET_BREAKPOINT } from '../../app/constants';\r\n\r\nexport const StyledSplashWrapper = styled.div`\r\n width: 100%;\r\n min-height: 207.5px;\r\n`;\r\n\r\nexport const StyledEventInfo = styled.div`\r\n width: 100%;\r\n display: flex;\r\n align-items: center;\r\n margin-bottom: 20px;\r\n padding: 0 20px;\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n display: block;\r\n }\r\n .social-links {\r\n margin-top: 12px;\r\n\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n text-align: center;\r\n margin-bottom: 20px;\r\n }\r\n }\r\n .link-social {\r\n margin-left: 1.6rem;\r\n }\r\n .mobile-live-news {\r\n display: none;\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n display: block;\r\n }\r\n }\r\n .logo {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n img {\r\n width: 100%;\r\n max-width: 9.3rem;\r\n }\r\n }\r\n .logo-title {\r\n font-size: 2rem;\r\n font-weight: 700;\r\n color: ${(props) => props.theme.fontColor.primary};\r\n line-height: 2.6rem;\r\n padding: 0 1.6rem;\r\n max-width: 325px;\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n margin: 20px 0;\r\n max-width: none;\r\n text-align: center;\r\n }\r\n }\r\n .loading {\r\n padding: 1rem 1.6rem;\r\n height: 20px;\r\n display: block;\r\n }\r\n .event-data {\r\n &-wrap {\r\n display: flex;\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n display: block;\r\n }\r\n }\r\n &-item {\r\n margin-right: 50px;\r\n .icon {\r\n margin-right: 0.8rem;\r\n margin-left: -2.6rem;\r\n width: 1.8rem;\r\n }\r\n @media (max-width: 1180px) {\r\n margin-bottom: 20px;\r\n }\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n width: 50%;\r\n margin: 0 auto 20px auto;\r\n }\r\n }\r\n &-col {\r\n @media (max-width: 1180px) {\r\n display: block;\r\n }\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n display: flex;\r\n padding-left: 25px;\r\n }\r\n display: flex;\r\n align-items: start;\r\n }\r\n &-txt {\r\n font-size: 1.2rem;\r\n font-weight: 700;\r\n\r\n color: ${(props) => props.theme.fontColor.primary};\r\n &.md {\r\n font-size: 1.6rem;\r\n }\r\n &.grey {\r\n color: ${(props) => props.theme.grey.primary};\r\n }\r\n &.red {\r\n color: ${(props) => props.theme.red};\r\n }\r\n }\r\n }\r\n`;\r\n","export default __webpack_public_path__ + \"static/media/fb.f8b06d44.svg\";","export default __webpack_public_path__ + \"static/media/tw.fd37c67c.svg\";","export default __webpack_public_path__ + \"static/media/calendar.bb3495bb.svg\";","export default __webpack_public_path__ + \"static/media/flag.22b2a65e.svg\";","export default __webpack_public_path__ + \"static/media/users.80f78c43.svg\";","export default __webpack_public_path__ + \"static/media/refresh.2e0fe4a6.svg\";","import styled from 'styled-components/macro';\r\n\r\nexport const StyledLiveNewsSidebar = styled.div<{ showMore: boolean }>`\r\n margin-bottom: 4.6rem;\r\n overflow: overlay;\r\n .head {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n margin-bottom: 1.6rem;\r\n padding: 0 1.6rem;\r\n }\r\n .title {\r\n font-size: 1.5rem;\r\n font-weight: 700;\r\n color: ${(props) => props.theme.fontColor.primary};\r\n display: flex;\r\n align-items: center;\r\n }\r\n .counter {\r\n font-size: 1.6rem;\r\n font-weight: 700;\r\n color: ${(props) => props.theme.grey.light};\r\n margin-left: 0.8rem;\r\n }\r\n .pager {\r\n display: flex;\r\n align-items: center;\r\n .btn-icon {\r\n background-image: none;\r\n background-color: transparent;\r\n border: 0;\r\n height: 3rem;\r\n width: 3rem;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n &.prev {\r\n transform: rotate(180deg);\r\n }\r\n }\r\n }\r\n .card {\r\n margin-bottom: 4.8rem;\r\n }\r\n`;\r\n","export default __webpack_public_path__ + \"static/media/arrow-right.d6d8be3f.svg\";","import { transparentize } from 'polished';\r\nimport styled, { createGlobalStyle } from 'styled-components/macro';\r\nimport { MOBILE_BREAKPOINT, TABLET_BREAKPOINT } from './app/constants';\r\n\r\nconst GlobalStyle = createGlobalStyle`\r\nhtml, body, div, span, applet, object, iframe,\r\nh1, h2, h3, h4, h5, h6, p, blockquote, pre,\r\na, abbr, acronym, address, big, cite, code,\r\ndel, dfn, em, img, ins, kbd, q, s, samp,\r\nsmall, strike, strong, sub, sup, tt, var,\r\nb, u, i, center,\r\ndl, dt, dd, ol, ul, li,\r\nfieldset, form, label, legend,\r\ntable, caption, tbody, tfoot, thead, tr, th, td,\r\narticle, aside, canvas, details, embed, \r\nfigure, figcaption, footer, header, hgroup, \r\nmenu, nav, output, ruby, section, summary,\r\ntime, mark, audio, video {\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\tborder: 0;\r\n\tfont-size: 100%;\r\n\tfont: inherit;\r\n\tvertical-align: middle;\r\n}\r\nbutton{\r\n border: 0;\r\n background: transparent;\r\n}\r\n/* HTML5 display-role reset for older browsers */\r\narticle, aside, details, figcaption, figure, \r\nfooter, header, hgroup, menu, nav, section {\r\n\tdisplay: block;\r\n}\r\nol, ul {\r\n\tlist-style: none;\r\n}\r\nblockquote, q {\r\n\tquotes: none;\r\n}\r\nblockquote:before, blockquote:after,\r\nq:before, q:after {\r\n\t//content: '';\r\n\tcontent: none;\r\n}\r\ntable {\r\n\tborder-collapse: collapse;\r\n\tborder-spacing: 0;\r\n}\r\n\r\nhtml{\r\n font-family: 'Open Sans', sans-serif;\r\n font-size:10px;\r\n height:100%;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n text-rendering: optimizeLegibility;\r\n}\r\n\r\nhtml body{\r\n font-family: 'Open Sans', sans-serif;\r\n}\r\n.mh-100{\r\n max-height: 100% !important;\r\n}\r\na{ text-decoration: none }\r\n.link{\r\n color: ${props => props.theme.accent};\r\n text-decoration: none;\r\n cursor: pointer;\r\n &:focus,\r\n &:hover{\r\n color:${props => props.theme.accent};\r\n text-decoration: none;\r\n }\r\n}\r\n.lbl{\r\n color:${props => props.theme.grey.primary};\r\n font-size: 1.2rem;\r\n font-weight: 600;\r\n}\r\n.txt{\r\n font-size: 1.4rem;\r\n font-weight: 400;\r\n color: ${props => props.theme.fontColor.primary};\r\n &-accent{\r\n color:${props => props.theme.accent}!important;\r\n }\r\n &-secondary{\r\n color:${props => props.theme.grey.primary}!important;\r\n }\r\n &.accent-hover{\r\n &:hover,\r\n &:focus{\r\n color:${props => props.theme.accent};\r\n }\r\n }\r\n}\r\n\r\n.tooltip-inner{\r\n font-size: 14px;\r\n padding: 5px 10px;\r\n}\r\n\r\n.live-news-time {\r\n color: ${props => props.theme.fontColor.primary};\r\n font-size: 1.6rem;\r\n font-weight: 700;\r\n }\r\n .live-news-event {\r\n font-size: 1.2rem;\r\n font-weight: 400;\r\n color: ${props => props.theme.fontColor.primary};\r\n line-height: 1.4;\r\n }\r\n .live-news-time-lbl {\r\n margin-bottom: 1.6rem;\r\n }\r\n .live-news-time-lbl,\r\n .live-news-event-lbl {\r\n color: ${props => props.theme.grey.primary};\r\n font-size: 1.2rem;\r\n font-weight: 600;\r\n }\r\n\r\n.infinite-scroll-component{\r\n overflow: visible !important;\r\n}\r\n\r\n.overflow{\r\n &-y{\r\n &-auto{\r\n overflow-y: auto!important;\r\n }\r\n }\r\n}\r\n\r\n${Array.from(Array(100), (_, i) => i)\r\n .map(\r\n i => `.mr-${i}{\r\n \tmargin-right:${i}px!important;\r\n \t}`\r\n )\r\n .join(' ')}\r\n\r\n${Array.from(Array(100), (_, i) => i)\r\n .map(\r\n i => `.mb-${i}{\r\n \tmargin-bottom:${i}px!important;\r\n \t}`\r\n )\r\n .join(' ')}\r\n\r\n${Array.from(Array(100), (_, i) => i)\r\n .map(\r\n i => `.mt-${i}{\r\n \tmargin-top:${i}px!important;\r\n \t}`\r\n )\r\n .join(' ')}\r\n\r\n${Array.from(Array(100), (_, i) => i)\r\n .map(\r\n i => `.fs-${i}{\r\n\t\tfont-size:${i / 10}rem!important;\r\n \t}`\r\n )\r\n .join(' ')}\r\n\r\n${Array.from(Array(9), (_, i) => i)\r\n .map(\r\n i => `.fw-${i}{\r\n\t\tfont-weight:${i * 100}!important;\r\n \t}`\r\n )\r\n .join(' ')}\r\n\r\n.tablet-hidden{\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n display: none!important;\r\n }\r\n}\r\n.mobile-hidden{\r\n @media (max-width: ${MOBILE_BREAKPOINT}px) {\r\n display: none!important;\r\n }\r\n}\r\n.tablet-visible{\r\n display: none !important;\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n display: block!important;\r\n }\r\n}\r\nth.mobile-visible, td.mobile-visible{\r\n display: none !important;\r\n @media (max-width: ${MOBILE_BREAKPOINT}px) {\r\n display: table-cell!important;\r\n }\r\n}\r\n.mobile-visible{\r\n display: none !important;\r\n @media (max-width: ${MOBILE_BREAKPOINT}px) {\r\n display: block!important;\r\n }\r\n}\r\n// .horse-detailed {\r\n// @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n// padding: 0 !important;\r\n// }\r\n// }\r\n.nav.nav-tabs {\r\n border-bottom: 0;\r\n .nav-item {\r\n &:first-child {\r\n margin-left: 2.8rem;\r\n }\r\n &:last-child {\r\n margin-right: 2.8rem;\r\n }\r\n }\r\n .nav-link {\r\n font-size: 1.6rem;\r\n font-weight: 800;\r\n color: ${props => props.theme.fontColor.primary};\r\n line-height: 2.1rem;\r\n border: 0;\r\n padding: 2rem 1.6rem;\r\n &.active {\r\n color: ${props => props.theme.accent};\r\n border-bottom: 3px solid ${props => props.theme.accent};\r\n }\r\n }\r\n }\r\n .table.sticky-head thead{\r\n position: sticky;\r\n top:0;\r\n }\r\n\r\n .table{\r\n border-collapse: separate;\r\n border-spacing: 0;\r\n thead{\r\n tr{\r\n &:first-child{\r\n th{\r\n &:first-child{\r\n border-top-left-radius:1rem;\r\n border-left:1px solid ${props => props.theme.grey.light};\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n border-left:0 !important;\r\n border-radius: 0;\r\n }\r\n }\r\n &:last-child{\r\n border-top-right-radius:1rem;\r\n border-right:1px solid ${props => props.theme.grey.light};\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n border-right:0 !important;\r\n border-radius: 0;\r\n }\r\n }\r\n }\r\n }\r\n th{\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n padding: 1.5rem 1rem;\r\n border-top: 0;\r\n }\r\n font-size: 1rem;\r\n font-weight: 700;\r\n color: ${props => props.theme.grey.primary};\r\n background-color: ${props => props.theme.grey.light2};\r\n border-top: 1px solid ${props => props.theme.grey.light};\r\n border-bottom: 1px solid ${props => props.theme.grey.light};\r\n vertical-align: middle;\r\n padding: 1rem 0.7rem !important;\r\n }\r\n }\r\n }\r\n tbody{\r\n tr{\r\n td{\r\n vertical-align: middle;\r\n padding: 2rem 1rem;\r\n border-bottom:1px solid ${props => props.theme.grey.light};\r\n font-size: 1.2rem;\r\n &:first-child{\r\n border-left: 1px solid ${props => props.theme.grey.light};\r\n }\r\n &:last-child{\r\n border-right: 1px solid ${props => props.theme.grey.light};\r\n }\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n padding: 0.7rem;\r\n }\r\n }\r\n &:last-child{\r\n td{\r\n &:first-child{\r\n border-bottom-left-radius:1rem;\r\n }\r\n &:last-child{\r\n border-bottom-right-radius:1rem;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n.table>:not(:last-child)>:last-child>*{\r\n border-bottom-color: ${props => props.theme.grey.light};\r\n}\r\n.table-decorated-cell{\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n div + div{\r\n margin-left:1.4rem;\r\n padding-left:1.4rem;\r\n border-left:1px solid ${props => props.theme.grey.light};\r\n }\r\n}\r\n.dynamic{\r\n transition: 0.2s;\r\n}\r\n.txt-right{\r\n text-align: right;\r\n}\r\n@media (max-width: ${TABLET_BREAKPOINT}px) {\r\n #root, .container, html, body{\r\n height: auto !important;\r\n }\r\n html, body{\r\n overflow: auto;\r\n }\r\n}\r\n\r\n.table th:empty, .table td:empty{\r\n padding: 0 !important;\r\n}\r\n\r\n`;\r\n\r\nexport const StyledEventImage = styled.div`\r\n overflow: hidden;\r\n img {\r\n width: 87px;\r\n height: 46px;\r\n object-fit: cover;\r\n }\r\n`;\r\n\r\nexport const StyledCard = styled.div`\r\n border: 0;\r\n transition: 0.2s;\r\n border-radius: 1rem;\r\n .card-body {\r\n border-radius: 1rem;\r\n }\r\n &.active {\r\n .card-body {\r\n border-color: ${props => props.theme.accent};\r\n }\r\n box-shadow: 0 0.5rem 2rem 0\r\n ${props => transparentize(0.88, props.theme.fontColor.primary)};\r\n }\r\n .card-body {\r\n border: 1px solid ${props => props.theme.grey.light};\r\n border-radius: 1rem;\r\n padding: 1.8rem 1.6rem;\r\n }\r\n .card-footer {\r\n background-color: transparent;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding: 2rem 1.5rem 1.5rem 1.5rem;\r\n border: 1px solid ${props => props.theme.grey.light};\r\n border-bottom-left-radius: 1rem !important;\r\n border-bottom-right-radius: 1rem !important;\r\n margin-top: -0.5rem;\r\n border-top: 0;\r\n .link {\r\n font-size: 1.4rem;\r\n font-weight: 700;\r\n }\r\n }\r\n &.card-vertical {\r\n width: 6.2rem;\r\n height: 26rem;\r\n .card-body {\r\n position: relative;\r\n width: 6.2rem;\r\n height: 26rem;\r\n .txt {\r\n transform-origin: 0 0;\r\n transform: rotate(-90deg) translate(-50%, -50%);\r\n position: absolute;\r\n left: 50%;\r\n top: 50%;\r\n width: 22rem;\r\n text-align: center;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport default GlobalStyle;\r\n","import { useQuery } from 'react-query';\r\nimport { LiveFeedEventNews } from '../domain';\r\nimport { apiHttpService } from './apiHttpService';\r\nimport { useEventFeed } from './useEventFeed';\r\n\r\nexport function useEventNews(eventId?: string | null) {\r\n const { dataUpdatedAt: eventFeedUpdatedAt } = useEventFeed({ eventId });\r\n\r\n return useQuery(\r\n ['eventNews', eventId, eventFeedUpdatedAt],\r\n async () => {\r\n const { data } = await apiHttpService.get<{\r\n news: LiveFeedEventNews[];\r\n }>(`/GetEventNews?eventId=${eventId}`);\r\n\r\n return data.news;\r\n },\r\n { enabled: Boolean(eventId && eventFeedUpdatedAt) },\r\n );\r\n}\r\n","/**\r\n *\r\n * LiveNewsSidebar\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent, useState, useMemo } from 'react';\r\nimport { StyledLiveNewsSidebar } from './styledComponents';\r\nimport arrorRightIcon from '../../assets/icons/arrow-right.svg';\r\nimport { StyledCard } from '../../global-styles';\r\nimport { useEventNews } from '../../api/useEventNews';\r\nimport { AppQueryParamsConfigMap } from '../../app/constants';\r\nimport { useQueryParams } from 'use-query-params';\r\nimport moment from 'moment';\r\n\r\ninterface IProps {\r\n expanded: boolean;\r\n}\r\n\r\nconst LiveNewsSidebar: FunctionComponent = ({ expanded }) => {\r\n const [{ e: eventId }] = useQueryParams(AppQueryParamsConfigMap);\r\n const [showMore, setShowMore] = useState(false);\r\n const [page, setPage] = useState(0);\r\n\r\n const { data: news } = useEventNews(eventId);\r\n\r\n const newsProcessed = useMemo(\r\n () => (showMore ? news : news?.slice(page, page + 1)),\r\n [showMore, news, page],\r\n );\r\n\r\n const handleArrowClick = (direction: number) => {\r\n setPage(page + direction);\r\n }\r\n\r\n if (!news?.length) {\r\n return null;\r\n }\r\n\r\n if (expanded) {\r\n return (\r\n \r\n
\r\n
\r\n News Feed\r\n {showMore ? (\r\n
{news.length}
\r\n ) : (\r\n
\r\n {page + 1} of {news.length}\r\n
\r\n )}\r\n
\r\n {!showMore && news.length > 1 && (\r\n
\r\n handleArrowClick(-1)}\r\n >\r\n \"\"\r\n \r\n handleArrowClick(1)}\r\n >\r\n \"\"\r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n {newsProcessed?.map((item) => (\r\n
\r\n
\r\n
\r\n {moment(item.createdDate).format('HH:mm')}\r\n
\r\n
\r\n {moment(item.createdDate).calendar(null, {\r\n sameDay: '[Today]',\r\n nextDay: '[Tomorrow]',\r\n nextWeek: 'dddd',\r\n lastDay: '[Yesterday]',\r\n lastWeek: '[Last] dddd',\r\n sameElse: 'DD/MM/YYYY',\r\n })}\r\n
\r\n
\r\n
\r\n
Live News
\r\n
{item.description}
\r\n
\r\n
\r\n ))}\r\n {news.length > 1 && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n \r\n
\r\n
\r\n News Feed\r\n
\r\n
\r\n
\r\n );\r\n }\r\n};\r\n\r\nexport default memo(LiveNewsSidebar);\r\n","import styled from 'styled-components/macro';\r\n\r\nexport const StyledSplashScreen = styled.div`\r\n padding: 40px 0;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n height: 100%;\r\n width: 100%;\r\n .spinner-grow {\r\n width: 3rem;\r\n height: 3rem;\r\n color: ${(props) => props.theme.purple};\r\n }\r\n .spinner-border {\r\n color: ${(props) => props.theme.purple};\r\n }\r\n`;\r\n","/**\r\n *\r\n * SplashScreen\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent, useState, useEffect } from 'react';\r\nimport { StyledSplashScreen } from './styledComponents';\r\n\r\ninterface IProps {}\r\n\r\nconst SplashScreen: FunctionComponent = () => {\r\n const [longLoadingText, setlongLoadingText] = useState(false);\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setlongLoadingText(true);\r\n }, 2000);\r\n }, [])\r\n return (\r\n \r\n
\r\n {longLoadingText && (\r\n Please be patient... Loading latest data...\r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default memo(SplashScreen);\r\n","import styled from 'styled-components/macro';\r\n\r\nexport const StyledEmptyPage = styled.div`\r\n padding: 50px 0;\r\n`;\r\n","/**\r\n *\r\n * EmptyPage\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent } from 'react';\r\nimport { StyledEmptyPage } from './styledComponents';\r\nimport horseIcon from '../../assets/icons/horse-lg.png';\r\n\r\ninterface IProps {\r\n title: string;\r\n}\r\n\r\nconst EmptyPage: FunctionComponent = ({ title, children }) => {\r\n return (\r\n \r\n
\r\n
\r\n {title}\r\n
\r\n
{children}
\r\n \"\"\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default memo>(EmptyPage);\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFsAAACoCAMAAAC47mIcAAAAbFBMVEVQUFBVVVVaWlpfX19kZGRpaWlubm5zc3N4eHh9fX2CgoKHh4eMjIyRkZGWlpabm5ugoKClpaWqqqqvr6+0tLS5ubm+vr7Dw8PIyMjNzc3S0tLX19fc3Nzh4eHm5ubr6+vw8PD19fX6+vr////sK9vNAAAAJHRSTlMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMcXYtwAAANGUlEQVRo3uVb2XIcu7HMLKBnhpKOj6+vr3/A//9fDp8jkRS3mW6g8j4A6GXWpihFOMIKieKaXVPI2rJA/hO/7I/hPwT75TG/59vjO743Pabhb/Zr7M5Zh3v/NdhuyP19/jXYMPnhUb/GblPWof8l2DQqp9VeeddZEhSUHn8B9kAAgt5efzq2AEKQdP/2s7HdAUrAWvB3YGcBgATBvz3kn+sT9+JvCHh98J+ZTzxly4BAADjcb7eRPwc7Hx4yE0BRAMD+kDe/b6+hh7+tg+6/PvYUQNR/BOPweNCGH8TW4X7vBREASQIkgh8OfYgf8okengexGShRLITfen7df/qy+4Dd3+9zdQcAsZoPkjEDw1s+7/Y1HPRnI8afJkpwllewk+RP/04/aLc/9A7T3LTicZAgkoT0yu0PYOv5a99tBAc4By/4ZMwi4IdhZ+/F7r+9hkhj9gJdza8+IomYQDP6PsZ3+Vv7b/0mekp+KQQFhtoF3PfvsXv4+j3ElF2e3QmonSVbDBFE5w4B8P0mrsXW/k90nl1SdhEqDoZK5JQPSDAMLrnkhztbif31qVN2Se4qFtb4odgOkwRBudFIw2sX1/hbj4fo2SV311h40GJIleMCgA40M7PAZ19hd3p4De5yz66SPKCaUKqzm9EETKq5xjHLXRfyyf6bmOVZEAHWt8UaSxrJWCnZDcVPxPNmd8Mn+Q+ne04uUKUcqHolBEOLerUsYEHynN2VnnQdu/+XMeeURTbL1ELGqInbam+3pJlZsDA8X/OJHl7InL3B1f/KQ8wAQz6OpBgzyUCCr3fxot369mwFmqyGTZnbAuAM4bjf9E4A3LOkt8t2379E5OSVyoAaQwTQCIkI7qOzypla5YqI18923u789SkiJ5UjhCRQUynjmAanZqt+TYXv0rA/b/fh2yHCc40SkQLEhmDBKAFAqKcxZnV1OSgYjODh0ym2Di8vyYIGJ0RRhXwUQaF4pDrKOAeuh2wQBSrlcIydnp9zoimp9qugWLIHYFKDLoGk9pWp1NWcCy2xNbz0fc4AUjkmA6q1tV+jBSshqvOpPAyEaMwM+82E7a8vKWcnKDGTwUyoPpHDIVqEASBT5blm3GysKCGsfEhxxH7cgzH0DgGyDZF7obxoUYB1IboDApMXSPMZdPEaPYTSFfnbbw1bg0HCphcUQoBSruwkDMYQI7LBBUKqpzHrKlrtDCVJjkyNABgz5EAYuAnw5IURNXiMyLmcH5myt/KgJU9KcBWGojguAsDnZxHyKIScHTZFyUg1UiCzV0Qt2FEeEnukEmAmDw17OxycAKJyDzOD1VqrWaMGs9RK0JjGxOkJFEucCcgjNr7wNSl75/muN9pJTBMMXXhLmuXXEyYS5RWDsGEz8ftzSp452DaZsR3TWLTMrIvhbXBdm7dJGklYa0ZbXO6endhYohGkhWAWWIObNAD7h6FAcwwqHmGXV+kk8xybIGIYRBIxdjEYyWVxTjV9LRLgPM+q4JJWjqVhxy4h9CDZ7bbhtGIM3/o86wbH81s6XE6ScPbihG27rDeCtvl0rlHPf+6LYaWan6So+lKsA61k8xk2/oJHGRh256D7+yF6BnXcKC+7ThhsVkNmr94DiHiuYR3uh6iskTxzq0f/lMQrSFIh1Cx/f4rJsduc68Gz5SS0bEGcYUltJjR1XnPs7TbLT2uzH+5BT2MvWAsDIDvBd9Xg0Um9DOd6zlL3Jaoe5BFXphCWwFDKSlgzXw73Q0ROarP2BD5rERt2CK0p73gTu3/ak8pZbcRZuJsLqkOEl7Ycyjfs9vT8Bso9ty6iJowalTyWQKAy2Lbnx8vIT3uZPBc+EarzZAvBhYPK83ycVa7Yve/3yQnmLKk0bhw9Qo1D1RFJmtVgvIx9L4DurloXNdcfxijk4jQd6Fr+vn6W7rkAi62KlczO2dAzkVCUZPLR8MvYTGXMaf1PjbVlvHMK+mrElK+vnGV48wI7kVjWCKAWmDxydzkV0ivq+Xmn9u7l1Gp/z5EmwowjYyPrymVclK7GpTWT1dgnWxLuXPbuAqv3uis8iZy/bIqi1cCs8xq5iMnSCLoBRtCiXfEJm4I50W08/sY+Lvq2DINcyi4vP3/B7m70B+o7xiVNeHyWVVElnaUvuMgTqwVdnOk8xx3DAl2N3CCtu4LNNlBXfKsRv/iGxdG619aHgG3CtXm+O0wTO8FgVbobDwBH2TvLrLZkjN1VrcDoM4HHzEpTI2oqwhznT4Cu7GakEcZ4FTuMXawomo3BUiaxk9ZHbhjPMPAqdmd18BVFi9VszKSSMQlSAJKLkhwkYseruk/spmSKGMCiMxAkdcQSAhhKMiFJdpvr2swGrDUBZODUv2qadOYs0TbHGvA2CmIXz3L6eQukWqUkXMTCHwCyD+Y1m40uuVgbIr1mEuuCBMCMoNQkvBm9qYRc5mYybLtbOtvnQJYkFaKheILWvL0MeyVnoOTu2ePUq17CvhsbMqN8pDThOsmyTHJHMAjgNtzU7dkdquBoppkqfdLVU8heBxgKu92KncDGctUBXV6EdCOk07WOUpDV9iF8Cit0zW1o9mmaJjXNO6PhwRk7g8NI227W7DK2phFbIriUkCbn7brsRYCguo5rsNuKQZrko3Fg16jpYfup1nghc7mPuYj9lEaBRyLgwUtDORosAkI/ebZbp9vr22Mu3Yx7XdE5UKS01kqVf/nhvXvA/nVQG4zUpgLH+MH0Vv3bO7EHdxEUqXGIL+BzEaEQP/n7sDdGltUWp/5OJSiP9ALr+L59WvfXe5coKJoEh3mlujR1KiUXdu/Z1fmw32daObucQdnMv6Wojd0xeQibL5u12E/PLliZ+UYPqAhSkxM5a9X7/9muxFZJaaeuPdtnEiAe/zesw2bQsYiGW4/KK7GRq9jaBjobRS55OU7NWAiIwVb6pHvzJrFx5CAr5Njuz04C7NZib3cveTbszIeD9pkFz4VutxY7fNq7YzJ97mivU5CWRSqu3ruGLpVUMtWFae3lKJ9uNxhg3ZcvYX1cbv9+OPSjijlXX0TNGI9gYbOLF5abl3qfu52/KaWccgma2lNppj7aJsRo3cV0crk2MHyRPL18b2OrY54GAdz93h1piO/Y/ZMWkwCxiOJtxdBUwi0/dkekOCF26tNR162bl0TW3j+Rpm6/yrL6MDbrlFDDRoun4UP3T8Yhc+zHRTS95qPYbSqeJdQm1osfw86sFDRNBLkFuhbbRJGgaRK7K3a2j2E7y4qRZRE1yqYClLsPYcunHD4bhQXqNsFvYHtqU6u1JlOETICQP8bvJJrZbBAeCxHJ14/Z/WLiiRI4U6Q/gp2LpX48QhV6e/gAdhpK1OR8rj/R8BHsoZZMzfTd8aIBbxHlKrbeZtplzX5j9AsYPsAT77XozZYbGODw49j+kGdFSzypYMPDD/pE3/fpKscIPPefP/8Adv+HZFNDdf4pPOy//+MiWS7cyUnfHn22Vb6QrAnSn3Nn77H76UHzlci5DUCjJPT08uV3rsUeHl+P9mbnO/uRjU9vf+/W+cT/1ddxibenhpK+/EW7VRz8LpzTupd+nsu0BPW8X4OdX8a7UzgeVE9Z0zKuzlxoP/X3a1u4YDle8/yxstwLUn757bbd6cL0pAuMoQUzI/Zax8FJitFpazZX2tikxKQ8bNZgL/YfF5/d5jhQ7iGxv409y3c6aSjLwrntSJsw5C6Thds+iTN5cWZ16bsDrZpc2kIXXHJBwXgbe8ujNK2RDjYtAesEW+8QkmTc3Mbudns5j+khVvlkMehrip94Zyt48pe35OM6TzPv1MmP06Cm0I497Lo1uSr+/niAZjF3zPBpmG/qP8PuE1flwS93f+y9DapnE0t7igmCM2zvtrYyf4d/vLz02TkN3DypwxCgQaB1u7PIF/eAv233z70vea1zt3BCd7fbhPfVy83my+vLy3RpTWeKpgCE33bv0cKUc05KB3kVaMZhYRGkJdP0fzKEbezCZs1Zvj4P7o1u85t3R6POmM9SOoDsPm92vIGt7ylPGzMVBVLjmGOLM5jSOvMz/6+7ZbeHWDTnMfbmOqnGLFBuP2O6pGC64RPJQ0CQiuqgmT7Vdkljiq2Xr0AKgjuvYQvKCUlkoEITpjFKYMf5u15TLq9Sm+M5Ii4oJR96ZsFy/UHDdHe37dU5uzBbBSYJiNGXV40m7LIKScNg28HzaN24BeV8DJ8/r9wSDd3W5GERA3HpEjCIUSl5u5fJ+XU+TZv18RIdjSF2lJfLyzpzR5sCxRDB7LbTkOR1m0OOy4XJ4PKuGWKMIeQhhxiCLctKXAxeJEPy7I5uw5xzdhfgY0oZd18wWjALBrgPPUNXoHmJJwQQQnR3d5ez21jRA+tveHC8A1CGNymBZDALZjTwOr8JhFCWNXKVtQ1omqmPuTHbyt/xmuQ6jRoErLFLJY7aQnv+OwIEcaUpjTd71dMWaJ0ys/73pdbi/YiGh/8i7P8HqPhMzr56Ke8AAAAASUVORK5CYII=\"","export const APP_NAME_POSTFIX = 'Driven by MyRidingLife';","export default __webpack_public_path__ + \"static/media/info.02ee54fa.svg\";","/**\r\n *\r\n * EventInfo\r\n *\r\n */\r\n\r\nimport React, { FunctionComponent } from 'react';\r\nimport { StyledEventInfo, StyledSplashWrapper } from './styledComponents';\r\nimport fbIcon from '../../assets/icons/fb.svg';\r\nimport twIcon from '../../assets/icons/tw.svg';\r\nimport calendarIcon from '../../assets/icons/calendar.svg';\r\nimport flagIcon from '../../assets/icons/flag.svg';\r\nimport usersIcon from '../../assets/icons/users.svg';\r\nimport refreshIcon from '../../assets/icons/refresh.svg';\r\nimport LiveNewsSidebarComponent from '../LiveNewsSidebar/LiveNewsSidebar.component';\r\nimport { connect, ConnectedProps } from 'react-redux';\r\nimport { RootState } from '../../app/store';\r\nimport moment from 'moment';\r\nimport { useEventFeed } from '../../api/useEventFeed';\r\nimport { useQueryParams } from 'use-query-params';\r\nimport { AppQueryParamsConfigMap } from '../../app/constants';\r\nimport SplashScreenComponent from '../SplashScreen/SplashScreen.component';\r\nimport EmptyPageComponent from '../EmptyPage/EmptyPage.component';\r\nimport { APP_NAME_POSTFIX } from '../../constants';\r\nimport useAskForEventUpdates from '../../features/App/hooks/useAskForEventUpdates';\r\nimport infoIcon from '../../assets/icons/info.svg';\r\n\r\ninterface IProps {}\r\nconst connector = connect((state: RootState) => ({}), {});\r\n\r\ntype PropsFromRedux = ConnectedProps;\r\n\r\nconst EventInfo: FunctionComponent = () => {\r\n const [query] = useQueryParams(AppQueryParamsConfigMap);\r\n const { data: activeEvent, isFetching } = useEventFeed({\r\n eventId: query.e,\r\n });\r\n\r\n const { data: lastTimeUpdatedTimestamp } = useAskForEventUpdates(query.e);\r\n\r\n if (!activeEvent && isFetching) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (!activeEvent && query.e) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n if (!activeEvent) {\r\n return null;\r\n }\r\n\r\n const urlToShare = `${window.location.origin}/feed?e=${activeEvent.eventId}`;\r\n\r\n if (!activeEvent.eventName) {\r\n return null;\r\n }\r\n return (\r\n \r\n
\r\n {activeEvent.eventName}\r\n
\r\n
\r\n
{activeEvent.eventName}
\r\n\r\n
\r\n \r\n \"\"\r\n \r\n \r\n \"\"\r\n \r\n
\r\n

\r\n {isFetching ? 'Loading...' : ''}\r\n

\r\n
\r\n\r\n
\r\n
\r\n
Event Date
\r\n
\r\n
\r\n \"\"\r\n
\r\n
{activeEvent.eventDate}
\r\n
\r\n
\r\n
\r\n
Venue
\r\n
\r\n
\r\n \"\"\r\n
\r\n
{activeEvent.venueName}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Total Entries
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n {activeEvent.eventClassList.reduce(\r\n (acc, curr) => acc + curr.numberOfEntries,\r\n 0,\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
Last Time Updated
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n {moment(lastTimeUpdatedTimestamp).format('DD MMM YYYY hh:mm A')}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Status
\r\n
\r\n
\r\n \"\"\r\n
\r\n {activeEvent.status === 'Results Available' ? (\r\n
Results Available
\r\n ) : (\r\n \r\n {activeEvent.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\n\r\nexport default connector(EventInfo);\r\n","import { useQuery, useQueryClient } from 'react-query';\r\nimport { apiHttpService } from '../../../api/apiHttpService';\r\nimport { useEventFeed } from '../../../api/useEventFeed';\r\n\r\nexport default function useAskForEventUpdates(\r\n eventId: string | null | undefined,\r\n) {\r\n const { data: activeEvent, refetch: refetchEvent } = useEventFeed({\r\n eventId,\r\n });\r\n\r\n const queryClient = useQueryClient();\r\n\r\n const timeStampUrl = activeEvent?.timeStampUrl;\r\n return useQuery(\r\n ['eventFeedUpdates', timeStampUrl],\r\n async () => {\r\n // handling case when event comes but it's empty and doesn't have timeStampUrl\r\n if (!timeStampUrl) {\r\n refetchEvent();\r\n return null;\r\n }\r\n\r\n const { data: freshTimestamp } = await apiHttpService.get(\r\n timeStampUrl + `?t=${Date.now()}`, // adding timestamp here to avoid cache of this request\r\n );\r\n\r\n const currentTimestamp = queryClient.getQueryData([\r\n 'eventFeedUpdates',\r\n timeStampUrl,\r\n ]);\r\n\r\n if (currentTimestamp && currentTimestamp !== freshTimestamp) {\r\n refetchEvent();\r\n }\r\n\r\n return freshTimestamp;\r\n },\r\n {\r\n refetchInterval: 10000, // ask for updates every 10 secs\r\n enabled: Boolean(activeEvent),\r\n },\r\n );\r\n}\r\n","import styled from 'styled-components/macro';\r\nimport { MOBILE_PADDING } from '../Results/constants';\r\n\r\nexport const StyledAllEvents = styled.div`\r\n padding: 0 ${MOBILE_PADDING}px;\r\n .pagination {\r\n font-size: 12px;\r\n margin-bottom: 1.6rem;\r\n }\r\n .page-link {\r\n width: 30px;\r\n height: 30px;\r\n font-weight: 600;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n color: ${(props) => props.theme.accent};\r\n border: 0;\r\n border-radius: 100%;\r\n overflow: hidden;\r\n }\r\n .page-item.active .page-link {\r\n color: ${(props) => props.theme.purple};\r\n background-color: ${(props) => props.theme.grey.light};\r\n border-color: ${(props) => props.theme.grey.light};\r\n }\r\n .page-item:first-child .page-link {\r\n display: none;\r\n }\r\n .page-item:last-child .page-link {\r\n display: none;\r\n }\r\n .page-item{\r\n margin: 0 5px;\r\n }\r\n`;\r\n\r\nexport const StyledDateGroup = styled.div`\r\n font-size: 14px;\r\n font-weight: 700;\r\n`;\r\n","import styled from 'styled-components/macro';\r\n\r\nexport const StyledAllEventsItem = styled.div`\r\n &:not(:last-child) {\r\n margin-bottom: 1.6rem;\r\n }\r\n .text-right {\r\n text-align: right;\r\n }\r\n .card-head {\r\n @media (max-width: 500px) {\r\n display: block !important;\r\n }\r\n }\r\n .event-name-cell {\r\n flex: 0 0 auto;\r\n width: 300px;\r\n }\r\n .event-date-cell {\r\n flex: 0 0 auto;\r\n width: 150px;\r\n }\r\n`;\r\n\r\nexport const StyledDateTab = styled.div`\r\n position: sticky;\r\n background: ${(props) => props.theme.white};\r\n padding-bottom: 10px;\r\n top: 0;\r\n`;\r\n","import styled from 'styled-components/macro';\r\n\r\nexport const StyledBadge = styled.span`\r\n display: inline-flex;\r\n align-items: center;\r\n padding: 0.5rem 0.8rem;\r\n border-radius: 3.2rem;\r\n border: 1px solid ${(props) => props.theme.grey.light};\r\n text-decoration: none;\r\n &+ span {\r\n margin-left: 10px;\r\n }\r\n .icon {\r\n margin-right: 0.5rem;\r\n width: 1.6rem;\r\n }\r\n .txt {\r\n color: ${(props) => props.theme.fontColor.primary};\r\n text-decoration: none;\r\n font-size: 1rem;\r\n font-weight: 700;\r\n }\r\n &.accent {\r\n border-color: ${(props) => props.theme.purple};\r\n .txt {\r\n color: ${(props) => props.theme.accent};\r\n text-decoration: none;\r\n }\r\n }\r\n &.active {\r\n background-color: ${(props) => props.theme.purple};\r\n text-decoration: none;\r\n .txt {\r\n color: ${(props) => props.theme.white};\r\n text-decoration: none;\r\n }\r\n }\r\n &.grey-accent {\r\n border-color: ${(props) => props.theme.grey.light};\r\n .txt {\r\n color: ${(props) => props.theme.purple};\r\n text-decoration: none;\r\n }\r\n }\r\n &.no-border {\r\n border: 0px;\r\n }\r\n &:hover,\r\n &:focus {\r\n text-decoration: none;\r\n }\r\n`;\r\n","/**\r\n *\r\n * Badge\r\n *\r\n */\r\n\r\nimport React, { FunctionComponent } from 'react';\r\nimport { StyledBadge } from './styledComponents';\r\n\r\ninterface IProps {\r\n icon?: React.ReactElement;\r\n accent?: boolean;\r\n active?: boolean;\r\n className?: string;\r\n}\r\n\r\nconst Badge: FunctionComponent = ({\r\n children,\r\n icon,\r\n accent,\r\n className,\r\n active,\r\n}) => {\r\n return (\r\n \r\n {icon &&
{icon}
}\r\n
{children}
\r\n
\r\n );\r\n};\r\n\r\nexport default Badge;\r\n","export default __webpack_public_path__ + \"static/media/calendar-accent.d3891747.svg\";","export default __webpack_public_path__ + \"static/media/live.ddeeff18.svg\";","export default __webpack_public_path__ + \"static/media/enter.359c4867.svg\";","export default __webpack_public_path__ + \"static/media/award-accent.38a9aefb.svg\";","/**\r\n *\r\n * AllEventsItem\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent } from 'react';\r\nimport { StyledAllEventsItem, StyledDateTab } from './styledComponents';\r\nimport { StyledCard, StyledEventImage } from '../../../../global-styles';\r\nimport Badge from '../../../../components/Badge/Badge.component';\r\nimport calendarIcon from '../../../../assets/icons/calendar-accent.svg';\r\nimport liveIcon from '../../../../assets/icons/live.svg';\r\nimport enterIcon from '../../../../assets/icons/enter.svg';\r\nimport awardIcon from '../../../../assets/icons/award-accent.svg';\r\nimport useResizeObserver from 'use-resize-observer';\r\nimport { LiveFeedEvent } from '../../../../domain';\r\nimport { Link } from 'react-router-dom';\r\nimport useChangeLocationSearch from '../../../../hooks/useChangeLocationSearch';\r\n\r\ninterface IProps {\r\n item: LiveFeedEvent;\r\n showItemGroup: boolean;\r\n active: boolean;\r\n}\r\n\r\nconst AllEventsItem: FunctionComponent = ({\r\n item,\r\n showItemGroup,\r\n active,\r\n}) => {\r\n const { ref, width = 1001 } = useResizeObserver();\r\n\r\n const getModifiedSearchQuery = useChangeLocationSearch();\r\n\r\n if (width > 1000) {\r\n return (\r\n <>\r\n {showItemGroup && (\r\n \r\n {item.eventDateGroup}\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \"\"\r\n \r\n
\r\n
\r\n \r\n {item.eventName}\r\n \r\n
\r\n
\r\n
{item.eventDate}
\r\n
Event Date
\r\n
\r\n
\r\n {item.status === 'Results Available' ? (\r\n
\r\n Results Available \"\"\r\n
\r\n ) : (\r\n
{item.status}
\r\n )}\r\n
Status
\r\n
\r\n
\r\n
\r\n \r\n }\r\n >\r\n Schedule\r\n \r\n \r\n \r\n }\r\n >\r\n Live Feed\r\n \r\n \r\n\r\n {item.isOnlineEntry && (\r\n \r\n }\r\n >\r\n Enter\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 {showItemGroup && (\r\n \r\n {item.eventDateGroup}\r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n \"\"\r\n \r\n
\r\n \r\n }\r\n >\r\n Schedule\r\n \r\n \r\n \r\n }\r\n >\r\n Live Feed\r\n \r\n \r\n {item.isOnlineEntry && (\r\n \r\n }>\r\n Enter\r\n \r\n \r\n )}\r\n
\r\n
\r\n \r\n {item.eventName}\r\n \r\n\r\n
\r\n
\r\n {item.status === 'Results Available' ? (\r\n
\r\n Results Available \"\"\r\n
\r\n ) : (\r\n
{item.status}
\r\n )}\r\n
Status
\r\n
\r\n
\r\n
\r\n
{item.eventDate}
\r\n
Event Date
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default memo(AllEventsItem);\r\n","import { useRef, useEffect, DependencyList } from 'react';\r\n\r\n/**\r\n * @function\r\n * @name useDidUpdateEffect\r\n * @description A hook that calls function on component update or inputs change phase\r\n * @param fn\r\n * @param inputs\r\n */\r\nexport default function useDidUpdateEffect(\r\n fn: () => void,\r\n inputs: DependencyList,\r\n) {\r\n const didMountRef = useRef(false);\r\n\r\n useEffect(() => {\r\n if (didMountRef.current) fn();\r\n else didMountRef.current = true;\r\n //eslint-disable-next-line\r\n }, inputs);\r\n\r\n return true;\r\n}\r\n","import { useState, useEffect } from 'react';\r\n\r\nexport default function useDebounce(value: T, delay: number) {\r\n const [debouncedValue, setDebouncedValue] = useState(value);\r\n\r\n useEffect(() => {\r\n const handler = setTimeout(() => {\r\n setDebouncedValue(value);\r\n }, delay);\r\n\r\n return () => {\r\n clearTimeout(handler);\r\n };\r\n // eslint-disable-next-line\r\n }, [value]);\r\n\r\n return debouncedValue;\r\n}\r\n","import { RefObject } from 'react';\r\nimport useDebounce from './useDebounce';\r\nimport useSearchQuery from '../features/App/components/AppHeader/useSearchQuery';\r\nimport useDidUpdateEffect from './useDidUpdate';\r\n\r\nexport function useScrollOnSearch(\r\n ref: RefObject,\r\n debounceTime: number,\r\n offsetY?: number,\r\n) {\r\n const { searchQuery } = useSearchQuery();\r\n const searchQueryDebounced = useDebounce(searchQuery, debounceTime);\r\n\r\n useDidUpdateEffect(() => {\r\n if (searchQueryDebounced && ref.current) {\r\n const y =\r\n ref.current.getBoundingClientRect().top +\r\n window.scrollY +\r\n (offsetY || 0);\r\n\r\n window.scroll({\r\n top: y,\r\n behavior: 'smooth',\r\n });\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [searchQueryDebounced]);\r\n}\r\n","import React, {\r\n FunctionComponent,\r\n useLayoutEffect,\r\n useRef,\r\n} from 'react';\r\nimport { RootState } from '../../app/store';\r\nimport { ConnectedProps, connect } from 'react-redux';\r\nimport { StyledAllEvents } from './styledComponents';\r\nimport AllEventsItem from './components/AllEventsItem/AllEventsItem.component';\r\nimport { useAllEvents } from '../../api/useAllEvents';\r\nimport SplashScreenComponent from '../../components/SplashScreen/SplashScreen.component';\r\nimport useDebounce from '../../hooks/useDebounce';\r\nimport EmptyPageComponent from '../../components/EmptyPage/EmptyPage.component';\r\nimport {\r\n AppQueryParamsConfigMap,\r\n} from '../../app/constants';\r\nimport { useQueryParams } from 'use-query-params';\r\nimport { Helmet } from 'react-helmet';\r\nimport { APP_NAME_POSTFIX } from '../../constants';\r\nimport { setScrollPosition } from './AllEvents.slice';\r\nimport ReactPaginate from 'react-paginate';\r\nimport { useScrollOnSearch } from '../../hooks/useScrollOnSearch';\r\n\r\nconst connector = connect(\r\n (state: RootState) => ({\r\n searchQuery: state.app.searchQuery.allEvents,\r\n scrollPosition: state.allEvents.scrollPosition,\r\n }),\r\n { setScrollPosition },\r\n);\r\n\r\ntype PropsFromRedux = ConnectedProps;\r\n\r\nconst AllEvents: FunctionComponent = ({\r\n searchQuery,\r\n setScrollPosition,\r\n scrollPosition,\r\n}) => {\r\n const debouncedSearchQuery = useDebounce(searchQuery, 600);\r\n // const queryClient = useQueryClient();\r\n\r\n const containerRef = useRef(null);\r\n\r\n useLayoutEffect(() => {\r\n setTimeout(() => {\r\n document.documentElement.scrollTop = scrollPosition;\r\n }, 0);\r\n\r\n return () => {\r\n // eslint-disable-next-line\r\n setScrollPosition(\r\n document.documentElement.scrollTop || document.body.scrollTop || 0,\r\n );\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const {\r\n data: eventsData,\r\n status,\r\n changePage,\r\n isFetching,\r\n pageSize,\r\n page,\r\n isPreviousData,\r\n } = useAllEvents(debouncedSearchQuery);\r\n\r\n const [query] = useQueryParams(AppQueryParamsConfigMap);\r\n\r\n useScrollOnSearch(containerRef, 600, -120);\r\n\r\n if (!eventsData?.events.length && searchQuery && status !== 'loading') {\r\n return (\r\n
\r\n \r\n Try entering just part of event name\r\n \r\n
\r\n );\r\n }\r\n\r\n const pageCount = eventsData\r\n ? Math.ceil(eventsData.totalCount / pageSize)\r\n : 0;\r\n\r\n\r\n return (\r\n \r\n \r\n Calendar - {APP_NAME_POSTFIX}\r\n \r\n {isFetching && !eventsData?.events.length && }\r\n\r\n {eventsData?.events.map((item, index) => (\r\n \r\n ))}\r\n {eventsData && pageCount > 1 && (\r\n changePage(e.selected)}\r\n pageCount={pageCount}\r\n containerClassName=\"pagination justify-content-center\"\r\n pageClassName=\"page-item\"\r\n pageLinkClassName=\"page-link\"\r\n previousClassName=\"page-item\"\r\n previousLinkClassName=\"page-link\"\r\n nextClassName=\"page-item\"\r\n nextLinkClassName=\"page-link\"\r\n activeClassName=\"active\"\r\n breakClassName=\"page-item\"\r\n breakLinkClassName=\"page-link\"\r\n forcePage={page}\r\n />\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default connector(AllEvents);\r\n","import { RootState } from './../app/store';\r\nimport moment from 'moment';\r\nimport { useQuery } from 'react-query';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useQueryParams } from 'use-query-params';\r\nimport { AppQueryParamsConfigMap } from '../app/constants';\r\nimport { LiveFeedEventRes } from '../domain';\r\nimport useDidUpdateEffect from '../hooks/useDidUpdate';\r\nimport { apiHttpService } from './apiHttpService';\r\nimport { setPage } from '../features/AllEvents/AllEvents.slice';\r\nconst ALL_EVENTS_PAGE_SIZE = 20;\r\nconst ALL_EVENTS_REFETCH_INTERVAL = 60000; // one minute;\r\n\r\nexport function useAllEvents(searchQuery: string) {\r\n const [query] = useQueryParams(AppQueryParamsConfigMap);\r\n const page = useSelector((state: RootState) => state.allEvents.page);\r\n const dispatch = useDispatch();\r\n\r\n const changePage = (page: number) => dispatch(setPage(page));\r\n\r\n\r\n // reset page when search changed\r\n useDidUpdateEffect(() => {\r\n changePage(0);\r\n }, [searchQuery]);\r\n\r\n const queryData = useQuery(\r\n [\r\n 'events',\r\n page + 1,\r\n searchQuery,\r\n query.LocationID,\r\n query.SecretaryID,\r\n query.PCID,\r\n query.RCID,\r\n ],\r\n async () => {\r\n const queryParams = [\r\n `search=${searchQuery}`,\r\n `pageNo=${page + 1}`,\r\n `pageSize=${ALL_EVENTS_PAGE_SIZE}`,\r\n `LID=${query.LocationID}`,\r\n `SID=${query.SecretaryID}`,\r\n `PCID=${query.PCID}`,\r\n `RCID=${query.RCID}`,\r\n ];\r\n const { data } = await apiHttpService.get(\r\n `/GetEventsList?${queryParams.join('&')}`,\r\n );\r\n return data?.events?.length\r\n ? {\r\n ...data,\r\n events: data.events.map((item) => {\r\n return {\r\n ...item,\r\n eventDateGroup: moment(item.dateFrom).format('MMMM YYYY'),\r\n };\r\n }),\r\n }\r\n : {\r\n events: [],\r\n totalCount: 0,\r\n pageSize: ALL_EVENTS_PAGE_SIZE,\r\n pageNo: 0,\r\n };\r\n },\r\n {\r\n staleTime: Infinity,\r\n keepPreviousData: true,\r\n refetchInterval: ALL_EVENTS_REFETCH_INTERVAL,\r\n },\r\n );\r\n\r\n return {\r\n ...queryData,\r\n page,\r\n changePage,\r\n pageSize: ALL_EVENTS_PAGE_SIZE,\r\n };\r\n}\r\n","import styled from 'styled-components/macro';\r\nimport { TABLET_BREAKPOINT } from '../../app/constants';\r\n\r\nexport const StyledSummary = styled.div<{ leftMenuCollapsed: boolean }>`\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n display: block !important;\r\n padding-left: 0;\r\n\r\n }\r\n padding-left: ${(props) => (props.leftMenuCollapsed ? '306px' : '0')};\r\n position: relative;\r\n\r\n .summary-nav {\r\n border-bottom: 1px solid ${(props) => props.theme.grey.light};\r\n justify-content: space-between;\r\n padding: 0 20px 0 0;\r\n }\r\n .nav-tabs {\r\n flex: 1 0 auto;\r\n white-space: nowrap;\r\n }\r\n .classes-list {\r\n min-height: calc(100vh - 279px);\r\n position: ${(props) => (props.leftMenuCollapsed ? 'absolute' : 'static')};;\r\n width: ${(props) => (props.leftMenuCollapsed ? '306px' : 'auto')};;\r\n left: 0;\r\n top: 0;\r\n bottom: 0;\r\n padding: 0 2rem;\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n margin-right: 0 !important;\r\n position: static;\r\n min-height: auto;\r\n width: 100%;\r\n }\r\n }\r\n .classes-list-inner {\r\n overflow-y: auto;\r\n\r\n height: 100%;\r\n }\r\n .results-block {\r\n position: relative;\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n width: 100%;\r\n }\r\n }\r\n .back-button {\r\n @media (min-width: ${TABLET_BREAKPOINT}px) {\r\n display: none !important;\r\n }\r\n }\r\n .download-link {\r\n text-align: right;\r\n line-height: 1;\r\n }\r\n`;\r\n","import styled from 'styled-components/macro';\r\nimport { TABLET_BREAKPOINT } from '../../../../app/constants';\r\n\r\ninterface Props {\r\n hasActiveItem: boolean;\r\n}\r\n\r\nexport const StyledSummaryItem = styled.div`\r\n box-shadow: 0 0 0 1px ${(props) => props.theme.grey.light} inset;\r\n border-radius: 10px;\r\n > div {\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n display: ${(props) => (props.hasActiveItem ? 'none' : 'block')};\r\n }\r\n }\r\n > .active {\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n display: block;\r\n }\r\n }\r\n .d-table-cell {\r\n padding: 20px 10px;\r\n text-align: left;\r\n }\r\n .d-table-cell:first-child {\r\n padding-left: 30px;\r\n }\r\n .d-table-cell:last-child {\r\n padding-right: 30px;\r\n }\r\n .date-cell{\r\n white-space: nowrap;\r\n }\r\n`;\r\n","export default __webpack_public_path__ + \"static/media/award.d5a932bc.svg\";","export default __webpack_public_path__ + \"static/media/times.2be3e756.svg\";","declare global {\r\n interface Window {\r\n REACT_APP_API_URL?: string;\r\n }\r\n}\r\n\r\nexport interface LiveFeedEventRes {\r\n events: LiveFeedEvent[];\r\n pageNo: number;\r\n pageSize: number;\r\n totalCount: number;\r\n}\r\n\r\nexport interface LiveFeedEvent {\r\n eventId: number;\r\n logoUrl: string;\r\n venueName: string;\r\n dateFrom: string;\r\n dateTo: string;\r\n eventName: string;\r\n eventDate: string;\r\n active: boolean;\r\n toDatePassed: boolean;\r\n activeDatePassed: boolean;\r\n turnOffAfterToDatePassed: boolean;\r\n autoRefreshResultsFeedTime: string;\r\n eventClassList: LiveFeedEventClass[];\r\n eventDateGroup: string;\r\n discipline: Disciplines;\r\n status: string;\r\n evStatus: EventType;\r\n resultsDocUrl?: string;\r\n scoreByOptimumTime?: boolean;\r\n publishResultsLiveFeed: boolean;\r\n publishTimesLiveFeed: boolean;\r\n timeStamp: string;\r\n timeStampUrl: string | null;\r\n timesDocUrl?: string;\r\n isOnlineEntry: boolean;\r\n showSJFullResults: boolean;\r\n}\r\n\r\nexport type EventType = 'affiliated' | 'unaffiliated' | 'mixed';\r\n\r\nexport enum Disciplines {\r\n ArenaCourseHire = 'Arena/CourseHire', //\r\n TrainingClinics = 'Training Clinics',\r\n Dressage = 'Dressage', //\r\n Showjumping = 'Showjumping', //\r\n MixedEvents = 'Mixed Events',\r\n Shows = 'Shows',\r\n CombinedTraining = 'Combined Training', //\r\n EventerTrial = 'Eventer Trial', //\r\n XCCourseHire = 'XC Course Hire',\r\n HunterTrials = 'Hunter Trials',\r\n BoxOffice = 'Box Office',\r\n}\r\n\r\nexport interface LiveFeedEventClass {\r\n id: number;\r\n eventId: number;\r\n description: string | null;\r\n createdDate: string;\r\n modifiedDate: string;\r\n arenaName: string;\r\n clNumber: number | null;\r\n clSort: string;\r\n classDay: string | null;\r\n numberOfEntries: number;\r\n liveEventFeedStatusText: 'Open' | 'Closed';\r\n startTime: string;\r\n endTime: string;\r\n className: string;\r\n className1: string;\r\n className2: string;\r\n judges?: string;\r\n numberOfJudges?: number;\r\n judgeNamesPositions?: JudgeNamePosition[];\r\n judgePositions?: string;\r\n classId: number;\r\n sjPhasesCount: number;\r\n linkAvailable: boolean;\r\n youngHorseResultsRule: boolean;\r\n}\r\n\r\nexport interface JudgeNamePosition {\r\n name: string;\r\n position: string;\r\n}\r\n\r\nexport interface LiveFeedEventSponsor {\r\n url: string;\r\n imageUrl: string;\r\n name: string;\r\n}\r\n\r\nexport interface LiveFeedEventNews {\r\n createdDate: string;\r\n description: string;\r\n eventId: number;\r\n eventNewsItemId: number;\r\n modifiedDate: string;\r\n}\r\n\r\nexport interface LiveFeedEventTime {\r\n breakTimeCustom?: string;\r\n breakTimeName?: string;\r\n bridleNumber?: number;\r\n cappedClassNotes: string;\r\n class: string;\r\n classId: number;\r\n customHorseName: string;\r\n drawnOrder: number;\r\n dressageTime?: string;\r\n showJumpingTime?: string;\r\n eaClassEntrySectionName: string;\r\n eaEventClassAndSort: string;\r\n evclid: number;\r\n eventId: number;\r\n riderClassStatusName: string;\r\n riderClassStatusCode: string;\r\n riderFullName: string;\r\n secretaryEventId: number;\r\n secretaryID: number;\r\n ownerFullName: string;\r\n}\r\n\r\nexport interface LiveFeedEventResult {\r\n breakTimeCustom: string;\r\n breakTimeName?: string;\r\n bridleNumber: number;\r\n bsjaHorseName?: string;\r\n bsjaRegistrationNumber?: string;\r\n class: string;\r\n classId: number;\r\n dressageTime?: string;\r\n showJumpingTime?: string;\r\n isCBScoreBE?: boolean;\r\n eaEventClassAndSort: string;\r\n evclid: string;\r\n eventId: string;\r\n horseName?: string;\r\n customHorseName?: string;\r\n horseNameFormatted?: string;\r\n ownerBSJARegNumber?: string;\r\n ownerFirstName?: string;\r\n ownerLastName?: string;\r\n ownerNameFormatted?: string;\r\n riderBSJARegNumber?: string;\r\n riderClassStatusName: string;\r\n riderClassStatusCode: string;\r\n riderFirstName: string;\r\n riderLastName: string;\r\n riderNameFormatted: string;\r\n secretaryEventId: number;\r\n secretaryID: number;\r\n sectionName: string;\r\n sjPlace?: number;\r\n overallPlace?: number;\r\n sectionPlace?: number;\r\n selectedResult?: number;\r\n dressageScore?: number;\r\n dressageCollective?: number;\r\n eaDressagePercentageCustom?: number;\r\n judgeScores?: number[];\r\n sjPenalties?: number;\r\n sjFaults?: number;\r\n totalJFaults?: number;\r\n xcFaults?: number;\r\n isScoringEntered?: boolean;\r\n evTrialScoringTime?: number;\r\n evTrialTimePenalties?: number;\r\n evTrialTotalScore?: number;\r\n evTrialTotalScoreByOptTime?: number;\r\n totalCBScore?: number;\r\n totalCBScoreBE?: number;\r\n htJumpPenalties?: number;\r\n htTimePenalties?: number;\r\n htTimeTaken?: string;\r\n htTotalScore?: number;\r\n [key: `phase${number}JF`]: number | undefined;\r\n [key: `phase${number}TF`]: number | undefined;\r\n [key: `phase${number}F`]: number | undefined;\r\n [key: `phase${number}RecTime`]: number | undefined;\r\n orderLiveResultsByPlacing?: boolean;\r\n}\r\n\r\nexport interface Sort {\r\n order: 'asc' | 'desc';\r\n field: string;\r\n}\r\n","/*\r\n *\r\n * Summary constants\r\n *\r\n */\r\n\r\nimport { Disciplines } from '../../domain';\r\n\r\nexport const SLICE_NAME = 'summary';\r\n\r\nexport const HAS_NO_RESULTS_DISCIPLINES = [\r\n Disciplines.BoxOffice,\r\n Disciplines.ArenaCourseHire,\r\n Disciplines.XCCourseHire,\r\n Disciplines.TrainingClinics,\r\n];\r\n\r\nexport const HAS_NO_TIMES_DISCIPLINES = [\r\n Disciplines.BoxOffice,\r\n Disciplines.ArenaCourseHire,\r\n Disciplines.XCCourseHire,\r\n];\r\n","import { debounce } from 'lodash';\r\nimport { useState, useEffect } from 'react';\r\n// Define general type for useWindowSize hook, which includes width and height\r\ninterface Size {\r\n width: number | undefined;\r\n height: number | undefined;\r\n}\r\n\r\n// Hook\r\nexport default function useWindowSize(delay = 300): Size {\r\n const [windowSize, setWindowSize] = useState({\r\n width: undefined,\r\n height: undefined,\r\n });\r\n useEffect(() => {\r\n const debouncedHandleResize = debounce(handleResize, delay);\r\n\r\n // Handler to call on window resize\r\n function handleResize() {\r\n // Set window width/height to state\r\n setWindowSize({\r\n width: window.innerWidth,\r\n height: window.innerHeight,\r\n });\r\n }\r\n // Add event listener\r\n window.addEventListener('resize', debouncedHandleResize);\r\n // Call handler right away so state gets updated with initial window size\r\n handleResize();\r\n // Remove event listener on cleanup\r\n return () => window.removeEventListener('resize', debouncedHandleResize);\r\n }, [delay]); // Empty array ensures that effect is only run on mount\r\n return windowSize;\r\n}\r\n","/**\r\n *\r\n * SummaryItem\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent } from 'react';\r\nimport Badge from '../../../../components/Badge/Badge.component';\r\nimport { StyledCard } from '../../../../global-styles';\r\nimport { StyledSummaryItem } from './styledComponents';\r\nimport usersIcon from '../../../../assets/icons/users.svg';\r\nimport awardIcon from '../../../../assets/icons/award.svg';\r\nimport timesIcon from '../../../../assets/icons/times.svg';\r\nimport flagIcon from '../../../../assets/icons/flag.svg';\r\nimport useResizeObserver from 'use-resize-observer';\r\nimport { Link } from 'react-router-dom';\r\nimport { useQueryParams } from 'use-query-params';\r\nimport { AppQueryParamsConfigMap, TABLET_BREAKPOINT } from '../../../../app/constants';\r\nimport { useEventFeed } from '../../../../api/useEventFeed';\r\nimport { HAS_NO_RESULTS_DISCIPLINES, HAS_NO_TIMES_DISCIPLINES } from '../../constants';\r\nimport enterIcon from '../../../../assets/icons/enter.svg';\r\nimport useChangeLocationSearch from '../../../../hooks/useChangeLocationSearch';\r\nimport useWindowSize from '../../../../hooks/useWindowSize';\r\n\r\ninterface IProps {\r\n id: number;\r\n}\r\n\r\nconst SummaryItem: FunctionComponent = ({ id }) => {\r\n const { width: windowWidth = document.body.clientWidth } = useWindowSize();\r\n const { ref, width = windowWidth } = useResizeObserver();\r\n\r\n const [query] = useQueryParams(AppQueryParamsConfigMap);\r\n const { data: activeEvent } = useEventFeed({ eventId: query.e });\r\n\r\n const classItem = activeEvent?.eventClassList.find((item) => item.id === id);\r\n\r\n const activeItem = classItem?.id === Number(query.c);\r\n\r\n const hasResults =\r\n activeEvent && !HAS_NO_RESULTS_DISCIPLINES.includes(activeEvent.discipline);\r\n\r\n const hasTimes =\r\n activeEvent && !HAS_NO_TIMES_DISCIPLINES.includes(activeEvent.discipline);\r\n\r\n const getModifiedSearchQuery = useChangeLocationSearch();\r\n\r\n if (width < TABLET_BREAKPOINT) {\r\n return (\r\n \r\n \r\n
\r\n
\r\n {classItem?.startTime && classItem?.endTime ? (\r\n
\r\n
\r\n {classItem?.startTime} - {classItem?.endTime}\r\n
\r\n
Class Time
\r\n
\r\n ) : (\r\n
\r\n }>\r\n {classItem?.numberOfEntries}\r\n \r\n {classItem?.liveEventFeedStatusText === 'Closed' && (\r\n \r\n {classItem?.liveEventFeedStatusText}\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n {hasTimes && (\r\n \r\n }>\r\n Times\r\n \r\n \r\n )}\r\n {hasResults && (\r\n \r\n }>\r\n Results\r\n \r\n \r\n )}\r\n {classItem?.liveEventFeedStatusText === 'Open' && (\r\n \r\n }>\r\n Enter\r\n \r\n \r\n )}\r\n
\r\n
\r\n\r\n
\r\n {classItem?.arenaName && (\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n {classItem?.arenaName}\r\n
\r\n
\r\n )}\r\n {classItem?.startTime && classItem?.endTime && (\r\n }>\r\n {classItem?.numberOfEntries}\r\n \r\n )}\r\n
\r\n\r\n
\r\n
{classItem?.clNumber}
\r\n
{classItem?.clSort}
\r\n
\r\n
\r\n {classItem?.className}\r\n
\r\n
\r\n

{classItem?.classDay}

\r\n

{classItem?.className1}

\r\n

{classItem?.className2}

\r\n

{classItem?.judges}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n return (\r\n \r\n
\r\n {classItem?.clNumber}\r\n
\r\n
\r\n {classItem?.clSort}\r\n
\r\n
\r\n
{classItem?.className1}
\r\n
\r\n
\r\n
\r\n

{classItem?.className2}

\r\n {classItem?.judges && (\r\n

Judges: {classItem?.judges}

\r\n )}\r\n
\r\n
\r\n
\r\n {classItem?.classDay}\r\n
\r\n
\r\n {classItem?.startTime && classItem?.endTime && (\r\n <>\r\n
\r\n {classItem?.startTime} - {classItem?.endTime}\r\n
\r\n
Class Time
\r\n \r\n )}\r\n
\r\n
\r\n {classItem?.arenaName && (\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n {classItem?.arenaName}\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n }>\r\n {classItem?.numberOfEntries}\r\n \r\n
\r\n
\r\n
\r\n {classItem?.liveEventFeedStatusText === 'Closed' && (\r\n
\r\n {classItem?.liveEventFeedStatusText}\r\n
\r\n )}\r\n {hasTimes && (\r\n \r\n }>\r\n Times\r\n \r\n \r\n )}\r\n {hasResults && (\r\n \r\n }>\r\n Results\r\n \r\n \r\n )}\r\n {classItem?.liveEventFeedStatusText === 'Open' && (\r\n \r\n }>\r\n Enter\r\n \r\n \r\n )}\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default memo(SummaryItem);\r\n","import styled from 'styled-components/macro';\r\nimport {TABLET_BREAKPOINT} from \"../../app/constants\";\r\n\r\nexport const StyledResults = styled.div`\r\n height: calc(100vh - 363px);\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n height: calc(100% - 81px);\r\n }\r\n`;\r\n","import { orderBy } from 'lodash';\r\nimport { useQuery } from 'react-query';\r\nimport { LiveFeedEventResult, Sort } from '../domain';\r\nimport { apiHttpService } from './apiHttpService';\r\nimport { useEventFeed } from './useEventFeed';\r\n\r\nexport function useEventResults(\r\n eventId?: string | null,\r\n classId?: string | null,\r\n searchQuery?: string,\r\n sort?: Sort,\r\n) {\r\n const { data: activeEvent } = useEventFeed({\r\n eventId,\r\n });\r\n return useQuery(\r\n ['eventResults', eventId, classId],\r\n async () => {\r\n const { data } = await apiHttpService.get<{\r\n results: LiveFeedEventResult[];\r\n }>(`/GetEventResults?eventId=${eventId}&classId=${classId}`);\r\n\r\n return data.results;\r\n },\r\n {\r\n enabled: !!eventId && !!classId,\r\n staleTime: Infinity,\r\n // results are refetched after updating event (check useDidUpdateEffect in Results.container)\r\n // and here (by given autoRefreshResultsFeedTime from Event)\r\n refetchInterval: () => {\r\n if (activeEvent?.toDatePassed) {\r\n return false;\r\n }\r\n if (activeEvent) {\r\n const [hours, minutes, seconds] =\r\n activeEvent.autoRefreshResultsFeedTime.split(':');\r\n const intervalTimeMs =\r\n Number(hours) * 3.6e6 +\r\n Number(minutes) * 6e4 +\r\n Number(seconds) * 1000;\r\n if (intervalTimeMs) {\r\n return intervalTimeMs;\r\n }\r\n }\r\n return false;\r\n },\r\n select: (data) => {\r\n let processedData = searchQuery\r\n ? data.filter(\r\n (item) =>\r\n item.riderBSJARegNumber\r\n ?.toLowerCase()\r\n .includes(searchQuery.toLowerCase()) ||\r\n item.riderFirstName\r\n .toLowerCase()\r\n .includes(searchQuery.toLowerCase()) ||\r\n item.riderLastName\r\n .toLowerCase()\r\n .includes(searchQuery.toLowerCase()) ||\r\n item.customHorseName\r\n ?.toLowerCase()\r\n .includes(searchQuery.toLowerCase()) ||\r\n item.horseName\r\n ?.toLowerCase()\r\n .includes(searchQuery.toLowerCase()) ||\r\n item.bridleNumber\r\n .toString()\r\n .includes(searchQuery.toLowerCase()),\r\n )\r\n : data;\r\n\r\n processedData = sort\r\n ? orderBy(processedData, sort.field, sort.order)\r\n : orderBy(processedData, 'sjPlace', 'asc');\r\n\r\n\r\n if (sort?.field === 'sjPlace' || sort?.field === 'overallPlace') {\r\n const zeroValuesItems = processedData.filter(\r\n (item) =>\r\n !item[(sort?.field || 'sjPlace') as keyof LiveFeedEventResult],\r\n );\r\n \r\n const withoutZeroValues = processedData.filter(\r\n (item) =>\r\n item[(sort?.field || 'sjPlace') as keyof LiveFeedEventResult],\r\n );\r\n\r\n if (sort?.order === 'asc') {\r\n // putting zero values items to the end\r\n processedData = withoutZeroValues.concat(zeroValuesItems); \r\n }\r\n \r\n if (sort?.order === 'desc') {\r\n // putting zero values items to the start\r\n processedData = zeroValuesItems.concat(withoutZeroValues);\r\n }\r\n }\r\n\r\n\r\n return processedData;\r\n },\r\n },\r\n );\r\n}\r\n","export default __webpack_public_path__ + \"static/media/helmet.bf81cc2c.svg\";","export default __webpack_public_path__ + \"static/media/horse.5ac65e77.svg\";","/**\r\n *\r\n * ResultsItem\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent } from 'react';\r\nimport helmetIcon from '../../../../assets/icons/helmet.svg';\r\nimport horseIcon from '../../../../assets/icons/horse.svg';\r\nimport { EventType, LiveFeedEventResult } from '../../../../domain';\r\n\r\ninterface IProps {\r\n result: LiveFeedEventResult;\r\n type?: EventType;\r\n sjPhasesCount: number;\r\n disabledFields: string[];\r\n desktopVisible: boolean;\r\n mobileVisible: boolean;\r\n tabletVisible: boolean;\r\n isScoringEntered?: boolean;\r\n}\r\n\r\nconst ResultsItem: FunctionComponent = ({\r\n result,\r\n sjPhasesCount,\r\n disabledFields,\r\n}) => {\r\n const isEnabled = (field: string) => {\r\n return !disabledFields.includes(field);\r\n };\r\n const phases = [...Array(sjPhasesCount)];\r\n\r\n return (\r\n \r\n {isEnabled('eaEventClassAndSort') && result.eaEventClassAndSort}\r\n {isEnabled('sectionName') && result.sectionName}\r\n \r\n {isEnabled('bridleNumber') && (\r\n
{result.bridleNumber}
\r\n )}\r\n \r\n \r\n
\r\n \"\"\r\n
\r\n {result.riderFirstName} {result.riderLastName}\r\n
\r\n
\r\n \r\n \r\n
\r\n \"\"\r\n
\r\n
\r\n {result.customHorseName || result.horseName}\r\n
\r\n
\r\n Owner: {result.ownerFirstName} {result.ownerLastName}{' '}\r\n
\r\n
\r\n
\r\n \r\n {phases.map((_, index) => (\r\n \r\n \r\n {isEnabled(`phase${index + 1}JF`) && (\r\n
{result[`phase${index + 1}JF`]}
\r\n )}\r\n \r\n \r\n {isEnabled(`phase${index + 1}TF`) && (\r\n
{result[`phase${index + 1}TF`]}
\r\n )}\r\n \r\n \r\n {isEnabled(`phase${index + 1}F`) && (\r\n
{result[`phase${index + 1}F`]}
\r\n )}\r\n \r\n \r\n {isEnabled(`phase${index + 1}RecTime`) && (\r\n
{result[`phase${index + 1}RecTime`]}
\r\n )}\r\n \r\n
\r\n ))}\r\n\r\n \r\n {isEnabled('totalJFaults') &&\r\n result.isScoringEntered &&\r\n result.totalJFaults}\r\n \r\n \r\n {isEnabled('sectionPlace') && (\r\n
{result.sectionPlace}
\r\n )}\r\n \r\n \r\n {isEnabled('sjPlace') &&
{result.sjPlace}
}\r\n \r\n \r\n {isEnabled('riderClassStatusCode') && (\r\n
{result.riderClassStatusCode}
\r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default memo(ResultsItem);\r\n","/**\r\n *\r\n * ResultsItem\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent } from 'react';\r\nimport helmetIcon from '../../../../assets/icons/helmet.svg';\r\nimport horseIcon from '../../../../assets/icons/horse.svg';\r\nimport { EventType, JudgeNamePosition, LiveFeedEventResult } from '../../../../domain';\r\n\r\ninterface IProps {\r\n result: LiveFeedEventResult;\r\n judges?: JudgeNamePosition[];\r\n type?: EventType;\r\n disabledFields: string[];\r\n}\r\n\r\nconst ResultsItem: FunctionComponent = ({\r\n result,\r\n judges = [],\r\n type,\r\n disabledFields,\r\n}) => {\r\n // const { ref, width = 0 } = useResizeObserver();\r\n\r\n const isEnabled = (field: string) => {\r\n return !disabledFields.includes(field);\r\n };\r\n\r\n return (\r\n \r\n {isEnabled('eaEventClassAndSort') && result.eaEventClassAndSort}\r\n {isEnabled('sectionName') && result.sectionName}\r\n {isEnabled('bridleNumber') &&
{result.bridleNumber}
}\r\n \r\n
\r\n \"\"\r\n
\r\n {result.riderFirstName} {result.riderLastName}{' '}\r\n
\r\n
\r\n
\r\n {result.customHorseName || result.horseName}\r\n
\r\n \r\n \r\n
\r\n \"\"\r\n
\r\n
\r\n {result.customHorseName || result.horseName}\r\n
\r\n
\r\n Owner: {result.ownerFirstName} {result.ownerLastName}{' '}\r\n
\r\n
\r\n
\r\n \r\n \r\n {isEnabled('dressageTime') &&
{result.dressageTime}
}\r\n \r\n {judges.length > 1 &&\r\n judges.map((judge, index) => (\r\n \r\n {isEnabled(`judgeScore${index + 1}`) && (\r\n
{result.judgeScores?.[index]}
\r\n )}\r\n \r\n ))}\r\n \r\n {isEnabled('dressageScore') && (\r\n
{result.dressageScore?.toFixed(2)}
\r\n )}\r\n \r\n \r\n {isEnabled('dressageCollective') && (\r\n
{result.dressageCollective?.toFixed(2)}
\r\n )}\r\n \r\n \r\n {isEnabled('eaDressagePercentageCustom') && (\r\n
{result.eaDressagePercentageCustom?.toFixed(3)}
\r\n )}\r\n \r\n \r\n {isEnabled('sectionPlace') && (\r\n
{result.sectionPlace}
\r\n )}\r\n \r\n \r\n {isEnabled('overallPlace') && (\r\n
{result.overallPlace}
\r\n )}\r\n \r\n \r\n {isEnabled('riderClassStatusCode') && (\r\n
{result.riderClassStatusCode}
\r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default memo(ResultsItem);\r\n","/**\r\n *\r\n * ResultsItem\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent } from 'react';\r\nimport helmetIcon from '../../../../assets/icons/helmet.svg';\r\nimport horseIcon from '../../../../assets/icons/horse.svg';\r\nimport { LiveFeedEventResult } from '../../../../domain';\r\n\r\ninterface IProps {\r\n result: LiveFeedEventResult;\r\n disabledFields: string[];\r\n scoreByOptimumTime?: boolean;\r\n}\r\n\r\nconst ResultsItem: FunctionComponent = ({ result, disabledFields }) => {\r\n const isEnabled = (field: string) => {\r\n return !disabledFields.includes(field);\r\n };\r\n\r\n return (\r\n \r\n {isEnabled('eaEventClassAndSort') && result.eaEventClassAndSort}\r\n {isEnabled('sectionName') && result.sectionName}\r\n \r\n {isEnabled('bridleNumber') && (\r\n
{result.bridleNumber}
\r\n )}\r\n \r\n \r\n
\r\n \"\"\r\n
\r\n {result.riderFirstName} {result.riderLastName}\r\n
\r\n
\r\n \r\n \r\n
\r\n \"\"\r\n
\r\n
{result.horseName}
\r\n
\r\n Owner: {result.ownerFirstName} {result.ownerLastName}\r\n
\r\n
\r\n
\r\n \r\n \r\n {isEnabled('sjFaults') && result.sjFaults}\r\n \r\n \r\n {isEnabled('xcFaults') && result.xcFaults}\r\n \r\n \r\n {isEnabled('totalJFaults') && result.totalJFaults}\r\n \r\n \r\n {isEnabled('evTrialScoringTime') && result.evTrialScoringTime}\r\n \r\n \r\n {isEnabled('evTrialTimePenalties') && result.evTrialTimePenalties}\r\n \r\n \r\n {isEnabled('evTrialTotalScore') && result.evTrialTotalScore}\r\n \r\n {isEnabled('sectionPlace') && result.sectionPlace}\r\n {isEnabled('overallPlace') && result.overallPlace}\r\n \r\n {isEnabled('riderClassStatusCode') && (\r\n
\r\n {result.riderClassStatusCode}\r\n
\r\n )}\r\n \r\n \r\n );\r\n // return (\r\n // \r\n //
\r\n //
\r\n //
\r\n // {isEnabled('bridleNumber') && (\r\n // <>\r\n //
{result.bridleNumber}
\r\n //
Rider/BN
\r\n // \r\n // )}\r\n //
\r\n //
\r\n // {isEnabled('eaEventClassAndSort') && (\r\n // <>\r\n //
{result.eaEventClassAndSort}
\r\n //
Class
\r\n // \r\n // )}\r\n // {isEnabled('sectionName') && (\r\n // <>\r\n //
{result.sectionName}
\r\n //
Section
\r\n // \r\n // )}\r\n //
\r\n // \"\"\r\n //
\r\n // {result.riderFirstName} {result.riderLastName}\r\n //
\r\n //
\r\n //
\r\n // \"\"\r\n //
\r\n //
{result.horseName}
\r\n //
\r\n // Owner: {result.ownerFirstName} {result.ownerLastName}\r\n //
\r\n //
\r\n //
\r\n //
\r\n //
\r\n // {isEnabled('riderClassStatusCode') && (\r\n // <>\r\n //

\r\n // {result.riderClassStatusCode}\r\n //

\r\n //

Status

\r\n // \r\n // )}\r\n //
\r\n // {isEnabled('overallPlace') && (\r\n // OP {result.overallPlace}\r\n // )}\r\n // {isEnabled('sectionPlace') && (\r\n // SP {result.sectionPlace}\r\n // )}\r\n //
\r\n //
\r\n //
\r\n //
\r\n //
\r\n // {isEnabled('evTrialScoringTime') && (\r\n //
\r\n //

{result.evTrialScoringTime}

\r\n //

Time(secs)

\r\n //
\r\n // )}\r\n // {isEnabled('evTrialTimePenalties') && (\r\n //
\r\n //

{result.evTrialTimePenalties}

\r\n //

Time(pens)

\r\n //
\r\n // )}\r\n //
\r\n //
\r\n // {isEnabled('sjPenalties') && (\r\n //
\r\n //

{result.sjPenalties}

\r\n //

SJ Penalties

\r\n //
\r\n // )}\r\n // {isEnabled('xcFaults') && (\r\n //
\r\n //

{result.xcFaults}

\r\n //

XC Penalties

\r\n //
\r\n // )}\r\n //
\r\n //
\r\n // {isEnabled('totalJFaults') && (\r\n //
\r\n //

{result.totalJFaults}

\r\n //

TotalJ Faults

\r\n //
\r\n // )}\r\n // {isEnabled('evTrialTotalScore') && (\r\n //
\r\n //

{result.evTrialTotalScore}

\r\n //

Score

\r\n //
\r\n // )}\r\n //
\r\n //
\r\n //
\r\n //
\r\n // );\r\n};\r\n\r\nexport default memo(ResultsItem);\r\n","/**\r\n *\r\n * ResultsItem\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent } from 'react';\r\nimport helmetIcon from '../../../../assets/icons/helmet.svg';\r\nimport horseIcon from '../../../../assets/icons/horse.svg';\r\nimport { EventType, LiveFeedEventResult } from '../../../../domain';\r\n\r\ninterface IProps {\r\n result: LiveFeedEventResult;\r\n type?: EventType;\r\n disabledFields: string[];\r\n}\r\n\r\nconst ResultsItem: FunctionComponent = ({ result, disabledFields }) => {\r\n const isEnabled = (field: string) => {\r\n return !disabledFields.includes(field);\r\n };\r\n\r\n console.log(isEnabled(result.isCBScoreBE ? 'totalCBScoreBE' : 'totalCBScore'));\r\n\r\n return (\r\n \r\n {isEnabled('eaEventClassAndSort') && result.eaEventClassAndSort}\r\n {isEnabled('sectionName') && result.sectionName}\r\n \r\n {isEnabled('bridleNumber') && (\r\n
{result.bridleNumber}
\r\n )}\r\n \r\n \r\n
\r\n \"\"\r\n
\r\n {result.riderFirstName} {result.riderLastName}\r\n
\r\n
\r\n \r\n \r\n
\r\n \"\"\r\n
\r\n
{result.horseName}
\r\n
\r\n Owner: {result.ownerFirstName} {result.ownerLastName}\r\n
\r\n
\r\n
\r\n \r\n \r\n {isEnabled('dressageTime') && result.dressageTime}\r\n \r\n \r\n {isEnabled('showJumpingTime') && result.showJumpingTime}\r\n \r\n \r\n {isEnabled('dressageScore') && result.dressageScore?.toFixed(2)}\r\n \r\n \r\n {isEnabled('sjPenalties') && result.sjPenalties}\r\n \r\n \r\n {isEnabled('dressageCollective') &&\r\n result.dressageCollective?.toFixed(2)}\r\n \r\n \r\n {isEnabled('eaDressagePercentageCustom') &&\r\n result.eaDressagePercentageCustom?.toFixed(3)}\r\n \r\n \r\n {isEnabled(result.isCBScoreBE ? 'totalCBScoreBE' : 'totalCBScore') &&\r\n (result.isCBScoreBE\r\n ? result.totalCBScoreBE?.toFixed(2)\r\n : result.totalCBScore?.toFixed(2))}\r\n \r\n {isEnabled('sectionPlace') && result.sectionPlace}\r\n {isEnabled('overallPlace') && result.overallPlace}\r\n \r\n {isEnabled('riderClassStatusCode') && (\r\n
\r\n {result.riderClassStatusCode}\r\n
\r\n )}\r\n \r\n \r\n );\r\n // return (\r\n // \r\n //
\r\n //
\r\n //
\r\n // {isEnabled('bridleNumber') && (\r\n // <>\r\n //
{result.bridleNumber}
\r\n //
Rider/BN
\r\n // \r\n // )}\r\n //
\r\n //
\r\n // {isEnabled('eaEventClassAndSort') && (\r\n // <>\r\n //
{result.eaEventClassAndSort}
\r\n //
Class
\r\n // \r\n // )}\r\n // {isEnabled('sectionName') && (\r\n // <>\r\n //
{result.sectionName}
\r\n //
Section
\r\n // \r\n // )}\r\n //
\r\n // \"\"\r\n //
\r\n // {result.riderFirstName} {result.riderLastName}\r\n //
\r\n //
\r\n //
\r\n // \"\"\r\n //
\r\n //
{result.horseName}
\r\n //
\r\n // Owner: {result.ownerFirstName} {result.ownerLastName}\r\n //
\r\n //
\r\n //
\r\n //
\r\n //
\r\n // {isEnabled('riderClassStatusCode') && (\r\n // <>\r\n //

\r\n // {result.riderClassStatusCode}\r\n //

\r\n //

Status

\r\n // \r\n // )}\r\n //
\r\n // {isEnabled('overallPlace') && (\r\n // OP {result.overallPlace}\r\n // )}\r\n // {isEnabled('sectionPlace') && (\r\n // SP {result.sectionPlace}\r\n // )}\r\n //
\r\n //
\r\n //
\r\n //
\r\n //
\r\n //
\r\n // {isEnabled('showJumpingTime') && (\r\n // <>\r\n //

{result.showJumpingTime}

\r\n //

SJ Time

\r\n // \r\n // )}\r\n //
\r\n //
\r\n // {isEnabled('dressageTime') && (\r\n // <>\r\n //

{result.dressageTime}

\r\n //

DR Time

\r\n // \r\n // )}\r\n //
\r\n //
\r\n // {isEnabled('totalCBScore') && (\r\n // <>\r\n //

\r\n // {result.totalCBScore?.toFixed(2)}\r\n //

\r\n //

Score

\r\n // \r\n // )}\r\n //
\r\n //
\r\n // {isEnabled('dressageCollective') && (\r\n // <>\r\n //

\r\n // {result.dressageCollective?.toFixed(2)}\r\n //

\r\n //

Colls

\r\n // \r\n // )}\r\n //
\r\n //
\r\n // {isEnabled('eaDressagePercentageCustom') && (\r\n // <>\r\n //

\r\n // {result.eaDressagePercentageCustom?.toFixed(3)}\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 memo(ResultsItem);\r\n","/**\r\n *\r\n * ResultsItem\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent } from 'react';\r\nimport helmetIcon from '../../../../assets/icons/helmet.svg';\r\nimport horseIcon from '../../../../assets/icons/horse.svg';\r\nimport { LiveFeedEventResult } from '../../../../domain';\r\n\r\ninterface IProps {\r\n result: LiveFeedEventResult;\r\n disabledFields: string[];\r\n}\r\n\r\nconst ResultsItem: FunctionComponent = ({ result, disabledFields }) => {\r\n const isEnabled = (field: string) => {\r\n return !disabledFields.includes(field);\r\n };\r\n\r\n return (\r\n \r\n {isEnabled('eaEventClassAndSort') && result.eaEventClassAndSort}\r\n {isEnabled('sectionName') && result.sectionName}\r\n \r\n {isEnabled('bridleNumber') && (\r\n
{result.bridleNumber}
\r\n )}\r\n \r\n \r\n
\r\n \"\"\r\n
\r\n {result.riderFirstName} {result.riderLastName}\r\n
\r\n
\r\n \r\n \r\n
\r\n \"\"\r\n
\r\n
{result.horseName}
\r\n
\r\n Owner: {result.ownerFirstName} {result.ownerLastName}\r\n
\r\n
\r\n
\r\n \r\n {isEnabled('dressageTime') && result.dressageTime}\r\n {isEnabled('htJumpPenalties') && result.htJumpPenalties}\r\n {isEnabled('htTimeTaken') && result.htTimeTaken}\r\n {isEnabled('htTimePenalties') && result.htTimePenalties}\r\n {isEnabled('htTotalScore') && result.htTotalScore}\r\n {isEnabled('sectionPlace') && result.sectionPlace}\r\n {isEnabled('overallPlace') && result.overallPlace}\r\n \r\n {isEnabled('riderClassStatusCode') && (\r\n
{result.riderClassStatusCode}
\r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default memo(ResultsItem);\r\n","/**\r\n *\r\n * ResultsItem\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent } from 'react';\r\nimport helmetIcon from '../../../../assets/icons/helmet.svg';\r\nimport horseIcon from '../../../../assets/icons/horse.svg';\r\nimport { EventType, LiveFeedEventResult } from '../../../../domain';\r\n\r\ninterface IProps {\r\n result: LiveFeedEventResult;\r\n type?: EventType;\r\n disabledFields: string[];\r\n}\r\n\r\nconst ResultsItem: FunctionComponent = ({ result, disabledFields }) => {\r\n const isEnabled = (field: string) => {\r\n return !disabledFields.includes(field);\r\n };\r\n\r\n return (\r\n \r\n {isEnabled('eaEventClassAndSort') && result.eaEventClassAndSort}\r\n {isEnabled('sectionName') && result.sectionName}\r\n \r\n {isEnabled('bridleNumber') && (\r\n
{result.bridleNumber}
\r\n )}\r\n \r\n \r\n
\r\n \"\"\r\n
\r\n {result.riderFirstName} {result.riderLastName}\r\n
\r\n
\r\n
{result.horseName}
\r\n \r\n \r\n
\r\n \"\"\r\n
\r\n
{result.horseName}
\r\n
\r\n Owner: {result.ownerFirstName} {result.ownerLastName}\r\n
\r\n
\r\n
\r\n \r\n \r\n {isEnabled('selectedResult') && (\r\n
{result.selectedResult}
\r\n )}\r\n \r\n \r\n {isEnabled('riderClassStatusCode') && (\r\n
{result.riderClassStatusCode}
\r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default memo(ResultsItem);\r\n","import styled from 'styled-components/macro';\r\n\r\nexport const StyledSortIndicator = styled.div<{ active: boolean }>`\r\n font-weight: bold;\r\n color: ${(props) =>\r\n props.active ? props.theme.grey.dark : props.theme.grey.primary};\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n span {\r\n margin-left: 3px;\r\n }\r\n`;\r\n","/**\r\n *\r\n * SortIndicator\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent } from 'react';\r\nimport { Sort } from '../../domain';\r\nimport { StyledSortIndicator } from './styledComponents';\r\nimport OverlayTrigger from 'react-bootstrap/OverlayTrigger';\r\nimport Tooltip from 'react-bootstrap/Tooltip';\r\nimport infoIcon from '../../assets/icons/info.svg';\r\n\r\n\r\ninterface IProps {\r\n field: string;\r\n name: string;\r\n changeSort: (field: string) => void;\r\n sort?: Sort;\r\n disabledFields: string[];\r\n tooltip?: string;\r\n className?: string;\r\n}\r\n\r\nconst SortIndicator: FunctionComponent = ({\r\n field,\r\n sort,\r\n name,\r\n changeSort,\r\n disabledFields,\r\n tooltip,\r\n className,\r\n}) => {\r\n if (disabledFields.includes(field)) {\r\n return null;\r\n }\r\n\r\n const renderTooltipHelper = () => (\r\n <>\r\n {tooltip && (\r\n {tooltip}}>\r\n e.stopPropagation()}\r\n />\r\n \r\n )}\r\n \r\n );\r\n\r\n if (!field) {\r\n return (\r\n <>\r\n {name}\r\n {renderTooltipHelper()}\r\n \r\n );\r\n }\r\n\r\n return (\r\n changeSort(field)}\r\n className={className}\r\n >\r\n {name}\r\n {field === sort?.field &&\r\n (sort?.order === 'asc' ? : )}\r\n {renderTooltipHelper()}\r\n \r\n );\r\n};\r\n\r\nexport default memo(SortIndicator);\r\n","/**\r\n *\r\n * ResultsSjTableHead\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent } from 'react';\r\nimport SortIndicatorComponent from '../../../../components/SortIndicator/SortIndicator.component';\r\nimport { Sort } from '../../../../domain';\r\n\r\ninterface IProps {\r\n changeSort: (field: string) => void;\r\n sort?: Sort;\r\n sjPhasesCount: number;\r\n disabledFields: string[];\r\n}\r\n\r\nconst ResultsSJTableHead: FunctionComponent = ({\r\n changeSort,\r\n sort,\r\n sjPhasesCount,\r\n disabledFields,\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 {[...Array(sjPhasesCount)].map((_, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\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 memo(ResultsSJTableHead);\r\n","/**\r\n *\r\n * ResultsDrTableHead\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent } from 'react';\r\nimport SortIndicatorComponent from '../../../../components/SortIndicator/SortIndicator.component';\r\nimport { JudgeNamePosition, Sort } from '../../../../domain';\r\n\r\ninterface IProps {\r\n youngHorseResultsRule?: boolean;\r\n judges?: JudgeNamePosition[];\r\n changeSort: (field: string) => void;\r\n sort?: Sort;\r\n disabledFields: string[];\r\n}\r\n\r\nconst ResultsDRTableHead: FunctionComponent = ({\r\n judges = [],\r\n sort,\r\n changeSort,\r\n disabledFields,\r\n youngHorseResultsRule,\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 {judges.length > 1 &&\r\n judges.map((judge, index) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\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 memo(ResultsDRTableHead);\r\n","/**\r\n *\r\n * ResultsDrTableHead\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent } from 'react';\r\nimport SortIndicatorComponent from '../../../../components/SortIndicator/SortIndicator.component';\r\nimport { Sort } from '../../../../domain';\r\n\r\ninterface IProps {\r\n changeSort: (field: string) => void;\r\n sort?: Sort;\r\n disabledFields: string[];\r\n desktopVisible: boolean;\r\n mobileVisible: boolean;\r\n tabletVisible: boolean;\r\n scoreByOptimumTime?: boolean;\r\n}\r\n\r\nconst ResultsETTableHead: FunctionComponent = ({\r\n sort,\r\n changeSort,\r\n disabledFields,\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\n \r\n \r\n \r\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 memo(ResultsETTableHead);\r\n","/**\r\n *\r\n * ResultsDrTableHead\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent } from 'react';\r\nimport SortIndicatorComponent from '../../../../components/SortIndicator/SortIndicator.component';\r\nimport { Sort } from '../../../../domain';\r\n\r\ninterface IProps {\r\n changeSort: (field: string) => void;\r\n sort?: Sort;\r\n disabledFields: string[];\r\n}\r\n\r\nconst ResultsCBTableHead: FunctionComponent = ({\r\n sort,\r\n disabledFields,\r\n changeSort,\r\n}) => {\r\n const isEnabled = (field: string) => {\r\n return !disabledFields.includes(field);\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\n \r\n \r\n \r\n \r\n \r\n \r\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 memo(ResultsCBTableHead);\r\n","/**\r\n *\r\n * ResultsDrTableHead\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent } from 'react';\r\nimport SortIndicatorComponent from '../../../../components/SortIndicator/SortIndicator.component';\r\nimport { Sort } from '../../../../domain';\r\n\r\ninterface IProps {\r\n changeSort: (field: string) => void;\r\n sort?: Sort;\r\n disabledFields: string[];\r\n}\r\n\r\nconst ResultsHTTableHead: FunctionComponent = ({\r\n sort,\r\n changeSort,\r\n disabledFields,\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\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 memo(ResultsHTTableHead);\r\n","/**\r\n *\r\n * ResultsSjTableHead\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent } from 'react';\r\nimport SortIndicatorComponent from '../../../../components/SortIndicator/SortIndicator.component';\r\nimport { Sort } from '../../../../domain';\r\n\r\ninterface IProps {\r\n changeSort: (field: string) => void;\r\n sort?: Sort;\r\n disabledFields: string[];\r\n}\r\n\r\nconst ResultsSETableHead: FunctionComponent = ({\r\n changeSort,\r\n sort,\r\n disabledFields,\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\nexport default memo(ResultsSETableHead);\r\n","import styled from 'styled-components/macro';\r\n\r\nexport const StyledDownloadResults = styled.div`\r\n\r\n`;\r\n","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/doc.5ac516b8.svg\";","/**\r\n *\r\n * DownloadResults\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent } from 'react';\r\nimport { StyledDownloadResults } from './styledComponents';\r\nimport resultsIcon from '../../assets/icons/results.png';\r\nimport docIcon from '../../assets/icons/doc.svg';\r\n\r\ninterface IProps {\r\n url: string;\r\n}\r\n\r\nconst DownloadResults: FunctionComponent = ({ url }) => {\r\n return (\r\n \r\n
\r\n \"\"\r\n\r\n \r\n Download Results \"\"\r\n \r\n
\r\n Please download a file with Results.\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default memo(DownloadResults);\r\n","import styled from 'styled-components/macro';\r\nimport { MOBILE_BREAKPOINT } from '../../app/constants';\r\n\r\nexport const StyledHorizontalScrollPrompt = styled.div`\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n left: 0;\r\n right: 0;\r\n background: rgba(255,255,255,0.8);\r\n display: flex;\r\n justify-content: center;\r\n padding-top: 200px;\r\n @media (max-width: ${MOBILE_BREAKPOINT}px) {\r\n padding-top: 200px;\r\n }\r\n .icon-scroll {\r\n position: relative;\r\n width: 30px;\r\n height: 45px;\r\n display: block;\r\n transform: rotate(90deg);\r\n box-shadow: inset 0 0 0 3px;\r\n border-radius: 25px;\r\n z-index: 2;\r\n }\r\n\r\n .icon-scroll:before {\r\n position: absolute;\r\n left: 50%;\r\n content: '';\r\n width: 8px;\r\n height: 8px;\r\n background-color: inherit;\r\n box-shadow: inset 0 0 0 5px;\r\n margin-left: -4px;\r\n top: 7px;\r\n border-radius: 4px;\r\n -webkit-animation-duration: 0.8s;\r\n animation-duration: 0.8s;\r\n -webkit-animation-iteration-count: infinite;\r\n animation-iteration-count: infinite;\r\n -webkit-animation-name: scroll;\r\n animation-name: scroll;\r\n }\r\n @-webkit-keyframes scroll {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 100% {\r\n opacity: 0;\r\n transform: translateY(25px);\r\n }\r\n }\r\n @keyframes scroll {\r\n 0% {\r\n opacity: 1;\r\n }\r\n 100% {\r\n opacity: 0;\r\n transform: translateY(25px);\r\n }\r\n }\r\n`;\r\n","/**\r\n *\r\n * HorizontalScrollPrompt\r\n *\r\n */\r\n\r\nimport React, {\r\n memo,\r\n FunctionComponent,\r\n useState,\r\n useEffect,\r\n useRef,\r\n} from 'react';\r\nimport useWindowSize from '../../hooks/useWindowSize';\r\nimport { StyledHorizontalScrollPrompt } from './styledComponents';\r\n\r\ninterface IProps {}\r\n\r\nconst HorizontalScrollPrompt: FunctionComponent = () => {\r\n const { width = 0 } = useWindowSize();\r\n const promtpRef = useRef(null);\r\n const [shown, setShown] = useState(localStorage.horizontalScrollPromptShown);\r\n\r\n useEffect(() => {\r\n const parent = promtpRef.current?.parentNode as HTMLDivElement;\r\n if (parent && parent.clientWidth < parent.scrollWidth) {\r\n setShown(!!localStorage.horizontalScrollPromptShown || false);\r\n } else {\r\n setShown(true);\r\n }\r\n }, [width]);\r\n\r\n const handlePromptClick = () => {\r\n setShown(true);\r\n localStorage.horizontalScrollPromptShown = true;\r\n };\r\n\r\n return (\r\n \r\n
\r\n \r\n Please use scroll for more results\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default memo(HorizontalScrollPrompt);\r\n","import React, { FunctionComponent, useRef } from 'react';\r\nimport { RootState } from '../../app/store';\r\nimport { ConnectedProps, connect } from 'react-redux';\r\nimport { StyledResults } from './styledComponents';\r\nimport { useQueryParams } from 'use-query-params';\r\nimport {\r\n AppQueryParamsConfigMap,\r\n MOBILE_BREAKPOINT,\r\n TABLET_BREAKPOINT,\r\n} from '../../app/constants';\r\nimport { useEventResults } from '../../api/useEventResults';\r\nimport { Helmet } from 'react-helmet';\r\nimport { APP_NAME_POSTFIX } from '../../constants';\r\nimport EmptyPageComponent from '../../components/EmptyPage/EmptyPage.component';\r\nimport getResultsItem from './getResultsItem';\r\nimport getResultsTableHead from './getResultsTableHead';\r\nimport { useEventFeed } from '../../api/useEventFeed';\r\nimport SplashScreenComponent from '../../components/SplashScreen/SplashScreen.component';\r\nimport { LiveFeedEventResult } from '../../domain';\r\nimport DownloadResults from '../../components/DownloadResults/DownloadResults.component';\r\nimport useDidUpdateEffect from '../../hooks/useDidUpdate';\r\nimport useWindowSize from '../../hooks/useWindowSize';\r\nimport { Disciplines } from '../../domain';\r\nimport useResultsSort from './hooks/useResultsSort';\r\nimport { useScrollOnSearch } from '../../hooks/useScrollOnSearch';\r\nimport HorizontalScrollPromptComponent from '../../components/HorizontalScrollPrompt/HorizontalScrollPrompt.component';\r\n\r\nconst connector = connect(\r\n (state: RootState) => ({\r\n searchQuery: state.app.searchQuery['results'],\r\n }),\r\n {},\r\n);\r\n\r\ntype PropsFromRedux = ConnectedProps;\r\n\r\nconst Results: FunctionComponent = ({ searchQuery }) => {\r\n const [{ c: classId, e: eventId }] = useQueryParams(AppQueryParamsConfigMap);\r\n\r\n const { data: activeEvent, dataUpdatedAt: eventNewsFeedUpdatedAt } =\r\n useEventFeed({ eventId });\r\n\r\n const { sort, changeSort } = useResultsSort();\r\n\r\n const {\r\n data: results,\r\n isFetching,\r\n refetch: refetchResults,\r\n } = useEventResults(eventId, classId, searchQuery, sort);\r\n\r\n useDidUpdateEffect(() => {\r\n // Event refreshes with a given time interval so we need\r\n // refetch results when event is refreshed\r\n refetchResults();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [eventNewsFeedUpdatedAt]);\r\n\r\n const { width = 0 } = useWindowSize();\r\n\r\n const desktopVisible = width > TABLET_BREAKPOINT;\r\n const tabletVisible = width <= TABLET_BREAKPOINT && width > MOBILE_BREAKPOINT;\r\n const mobileVisible = width <= MOBILE_BREAKPOINT;\r\n\r\n const containerRef = useRef(null);\r\n useScrollOnSearch(containerRef, 600, -120);\r\n\r\n const renderTitle = () => (\r\n \r\n \r\n {activeEvent?.eventName} Results - {APP_NAME_POSTFIX}\r\n \r\n \r\n );\r\n\r\n if (activeEvent?.resultsDocUrl && !results?.length && !isFetching) {\r\n return ;\r\n }\r\n\r\n if (isFetching && !results) {\r\n return ;\r\n }\r\n\r\n if (!results?.length && searchQuery) {\r\n return (\r\n
\r\n {renderTitle()}\r\n \r\n Try entering just part Rider or Horse Name\r\n \r\n
\r\n );\r\n }\r\n\r\n const activeClass = classId\r\n ? activeEvent?.eventClassList.find((c) => c.id === +classId)\r\n : undefined;\r\n\r\n if (\r\n !results?.length ||\r\n !activeEvent?.publishResultsLiveFeed ||\r\n activeClass?.linkAvailable === false\r\n ) {\r\n return (\r\n
\r\n \r\n No Results currently published\r\n \r\n
\r\n );\r\n }\r\n\r\n const ResultsItem = getResultsItem(activeEvent?.discipline);\r\n const ResultsTableHead = getResultsTableHead(activeEvent?.discipline);\r\n\r\n let judges = activeClass?.judgeNamesPositions || [];\r\n\r\n let sjPhasesCount = activeClass?.sjPhasesCount || 0;\r\n\r\n // const hasBridleNumber = results.some((result) => result.bridleNumber);\r\n\r\n const disabledFields = results.length\r\n ? Object.keys(results[0]).filter(\r\n (key) =>\r\n !results.some(\r\n (result) =>\r\n result[key as keyof LiveFeedEventResult] &&\r\n result[key as keyof LiveFeedEventResult] !== 'N/A',\r\n ),\r\n )\r\n : [];\r\n\r\n if (\r\n activeEvent.discipline === Disciplines.Showjumping &&\r\n !activeEvent.showSJFullResults\r\n ) {\r\n sjPhasesCount = 0;\r\n disabledFields.push('totalJFaults');\r\n }\r\n\r\n return (\r\n \r\n {renderTitle()}\r\n \r\n \r\n \r\n \r\n {results?.map((item) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default connector(Results);\r\n","import { RootState } from './../../../app/store';\r\nimport { useEffect, useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { useQueryParams } from 'use-query-params';\r\nimport { useEventFeed } from '../../../api/useEventFeed';\r\nimport { useEventResults } from '../../../api/useEventResults';\r\nimport { AppQueryParamsConfigMap } from '../../../app/constants';\r\nimport { Disciplines, Sort } from '../../../domain';\r\n\r\nexport default function useResultsSort() {\r\n const [{ e: eventId, c: classId }] = useQueryParams(AppQueryParamsConfigMap);\r\n\r\n const searchQuery = useSelector(\r\n (state: RootState) => state.app.searchQuery.results,\r\n );\r\n\r\n const [sort, setSort] = useState({\r\n field: 'overallPlace',\r\n order: 'asc',\r\n });\r\n\r\n const { data: activeEvent } = useEventFeed({ eventId });\r\n\r\n const { data: results } = useEventResults(\r\n eventId,\r\n classId,\r\n searchQuery,\r\n sort,\r\n );\r\n\r\n const orderByPlacing = results?.[0]?.orderLiveResultsByPlacing;\r\n\r\n\r\n const changeSort = (field: string) => {\r\n setSort({ field, order: sort?.order === 'asc' ? 'desc' : 'asc' });\r\n };\r\n\r\n useEffect(() => {\r\n if (orderByPlacing === undefined) {\r\n return;\r\n }\r\n\r\n let sortField = orderByPlacing ? 'overallPlace' : 'dressageTime';\r\n\r\n if (activeEvent?.discipline === Disciplines.Showjumping) {\r\n // setting place as default for all cases since it has no time field\r\n sortField = 'sjPlace';\r\n }\r\n\r\n if (\r\n activeEvent?.discipline === Disciplines.EventerTrial &&\r\n orderByPlacing === false\r\n ) {\r\n // evTrialScoringTime for non-orderByPlacing cases (else default overallPlace)\r\n sortField = 'evTrialScoringTime';\r\n }\r\n\r\n if (\r\n activeEvent?.discipline === Disciplines.EventerTrial &&\r\n orderByPlacing === false\r\n ) {\r\n // evTrialScoringTime for non-orderByPlacing cases (else default overallPlace)\r\n sortField = 'evTrialScoringTime';\r\n }\r\n\r\n if (\r\n activeEvent?.discipline === Disciplines.HunterTrials &&\r\n orderByPlacing === false\r\n ) {\r\n // evTrialScoringTime for non-orderByPlacing cases (else default overallPlace)\r\n sortField = 'htTimeTaken';\r\n }\r\n\r\n if (\r\n activeEvent?.discipline === Disciplines.Shows ||\r\n activeEvent?.discipline === Disciplines.MixedEvents\r\n ) {\r\n // setting selectedResult as default for all cases since it has no time field\r\n sortField = 'selectedResult';\r\n }\r\n\r\n setSort({ field: sortField, order: 'asc' });\r\n\r\n }, [activeEvent?.discipline, orderByPlacing]);\r\n\r\n return { changeSort, sort };\r\n}\r\n","import { Disciplines } from '../../domain';\r\nimport ResultsSJItem from './components/ResultsSJItem/ResultsSJItem.component';\r\nimport ResultsDRItem from './components/ResultsDRItem/ResultsDRItem.component';\r\nimport ResultsETItem from './components/ResultsETItem/ResultsETItem.component';\r\nimport ResultsCBItem from './components/ResultsCBItem/ResultsCBItem.component';\r\nimport ResultsHTItem from './components/ResultsHTItem/ResultsHTItem.component';\r\nimport ResultsSEItem from './components/ResultsSEItem/ResultsSEItem.component';\r\n\r\nexport default function getResultsTable(discipline?: Disciplines) {\r\n switch (discipline) {\r\n case Disciplines.Showjumping:\r\n return ResultsSJItem;\r\n case Disciplines.Dressage:\r\n return ResultsDRItem;\r\n case Disciplines.EventerTrial:\r\n return ResultsETItem;\r\n case Disciplines.CombinedTraining:\r\n return ResultsCBItem;\r\n case Disciplines.HunterTrials:\r\n return ResultsHTItem;\r\n case Disciplines.Shows:\r\n case Disciplines.MixedEvents:\r\n return ResultsSEItem;\r\n default:\r\n return ResultsDRItem;\r\n }\r\n}\r\n","import { Disciplines } from '../../domain';\r\nimport ResultsSJTableHead from './components/ResultsSJTableHead/ResultsSJTableHead.component';\r\nimport ResultsDRTableHead from './components/ResultsDRTableHead/ResultsDRTableHead.component';\r\nimport ResultsETTableHead from './components/ResultsETTableHead/ResultsETTableHead.component';\r\nimport ResultsCBTableHead from './components/ResultsCBTableHead/ResultsCBTableHead.component';\r\nimport ResultsHTTableHead from './components/ResultsHTTableHead/ResultsHTTableHead.component';\r\nimport ResultsSETableHead from './components/ResultsSETableHead/ResultsSETableHead.component';\r\n\r\nexport default function getResultsTableHead(discipline?: Disciplines) {\r\n switch (discipline) {\r\n case Disciplines.Showjumping:\r\n return ResultsSJTableHead;\r\n case Disciplines.Dressage:\r\n return ResultsDRTableHead;\r\n case Disciplines.EventerTrial:\r\n return ResultsETTableHead;\r\n case Disciplines.CombinedTraining:\r\n return ResultsCBTableHead;\r\n case Disciplines.HunterTrials:\r\n return ResultsHTTableHead;\r\n case Disciplines.Shows:\r\n case Disciplines.MixedEvents:\r\n return ResultsSETableHead;\r\n default:\r\n return ResultsDRTableHead;\r\n }\r\n}\r\n","/**\r\n *\r\n * TimesItem\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent } from 'react';\r\nimport helmetIcon from '../../../../assets/icons/helmet.svg';\r\nimport horseIcon from '../../../../assets/icons/horse.svg';\r\n// import starIcon from '../../../../assets/icons/star.svg';\r\nimport { Disciplines, LiveFeedEventTime } from '../../../../domain';\r\n\r\ninterface IProps {\r\n time: LiveFeedEventTime;\r\n disabledProps: string[];\r\n discipline: Disciplines;\r\n}\r\n\r\nconst TimesItem: FunctionComponent = ({\r\n time,\r\n disabledProps,\r\n discipline,\r\n}) => {\r\n const isEnabled = (field: string) => {\r\n return !disabledProps.includes(field);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {/* \r\n
\r\n \"\"\r\n
\r\n */}\r\n {isEnabled('drawnOrder') && {time.drawnOrder}}\r\n {isEnabled('class') && {time.eaEventClassAndSort}}\r\n {isEnabled('eaClassEntrySectionName') && (\r\n {time.eaClassEntrySectionName}\r\n )}\r\n {isEnabled('bridleNumber') && (\r\n \r\n
{time.bridleNumber}
\r\n \r\n )}\r\n {isEnabled('riderFullName') && (\r\n \r\n
\r\n \"\"\r\n
\r\n {time.riderFullName ? time.riderFullName : 'N/A'}\r\n
\r\n
\r\n
{time.customHorseName}
\r\n \r\n )}\r\n \r\n
\r\n \"\"\r\n
\r\n
{time.customHorseName}
\r\n
\r\n {time.ownerFullName ? `Owner: ${time.ownerFullName}` : 'N/A'}\r\n
\r\n
\r\n
\r\n \r\n {isEnabled('dressageTime') && {time.dressageTime}}\r\n {isEnabled('showJumpingTime') && (\r\n {time.showJumpingTime || time.dressageTime}\r\n )}\r\n {isEnabled('riderClassStatusName') && (\r\n \r\n
{time.riderClassStatusCode}
\r\n \r\n )}\r\n \r\n {time.breakTimeCustom && time.breakTimeCustom !== '00:00' && (\r\n \r\n \r\n
\r\n
\r\n
\r\n {time.breakTimeCustom}\r\n
\r\n
\r\n {time.breakTimeName}\r\n
\r\n
\r\n
\r\n \r\n \r\n )}\r\n \r\n );\r\n\r\n // return (\r\n // <>\r\n // \r\n //
\r\n //
\r\n //
\r\n // {isEnabled('bridleNumber') && (\r\n // <>\r\n //
{time.bridleNumber}
\r\n //
Rider/BN
\r\n // \r\n // )}\r\n //
\r\n //
\r\n // {isEnabled('class') && (\r\n //
\r\n //
{time.eaEventClassAndSort}
\r\n //
Class
\r\n //
\r\n // )}\r\n // {isEnabled('eaClassEntrySectionName') && (\r\n // <>\r\n //
{time.eaClassEntrySectionName}
\r\n //
Section
\r\n // \r\n // )}\r\n //
\r\n // \"\"\r\n //
{time.riderFullName}
\r\n //
\r\n //
\r\n // \"\"\r\n //
\r\n //
{time.customHorseName}
\r\n //
Owner: {time.ownerFullName}
\r\n //
\r\n //
\r\n //
\r\n //
\r\n // {isEnabled('riderClassStatusName') && (\r\n // <>\r\n //

\r\n // {time.riderClassStatusCode}\r\n //

\r\n //

Status

\r\n // \r\n // )}\r\n // {isEnabled('drawnOrder') && (\r\n // <>\r\n //

{time.drawnOrder}

\r\n //

Drawn order

\r\n // \r\n // )}\r\n //
\r\n //
\r\n //
\r\n //
\r\n // {isEnabled('showJumpingTime') && (\r\n //
\r\n //

{time.showJumpingTime || '-'}

\r\n //

\r\n // {discipline === Disciplines.Showjumping ? 'Time' : 'SJ Time'}\r\n //

\r\n //
\r\n // )}\r\n // {isEnabled('dressageTime') && (\r\n //
\r\n //

{time.dressageTime || '-'}

\r\n //

\r\n // {discipline === Disciplines.Dressage ? 'Time' : 'DR Time'}\r\n //

\r\n //
\r\n // )}\r\n //
\r\n //
\r\n //
\r\n // {time.breakTimeCustom && time.breakTimeCustom !== '00:00' && (\r\n //
\r\n //
\r\n //
\r\n // {time.breakTimeCustom}\r\n //
\r\n //
\r\n // {time.breakTimeName}\r\n //
\r\n //
\r\n //
\r\n // )}\r\n // \r\n // );\r\n};\r\n\r\nexport default memo(TimesItem);\r\n","import styled from 'styled-components/macro';\r\nimport {TABLET_BREAKPOINT} from \"../../app/constants\";\r\n\r\nexport const StyledTimes = styled.div`\r\n max-height: calc(100vh - 363px);\r\n @media (max-width: ${TABLET_BREAKPOINT}px) {\r\n max-height: calc(100% - 80px);\r\n }\r\n`;\r\n","import styled from 'styled-components/macro';\r\n\r\nexport const StyledDownloadTimes = styled.div`\r\n\r\n`;\r\n","/**\r\n *\r\n * DownloadTimes\r\n *\r\n */\r\n\r\n import React, { memo, FunctionComponent } from 'react';\r\n import { StyledDownloadTimes } from './styledComponents';\r\n import timesIcon from '../../assets/icons/times.png';\r\n import docIcon from '../../assets/icons/doc.svg';\r\n \r\n interface IProps {\r\n url: string;\r\n }\r\n \r\n const DownloadTimes: FunctionComponent = ({ url }) => {\r\n return (\r\n \r\n
\r\n \"\"\r\n\r\n \r\n Download Times \"\"\r\n \r\n
\r\n Please download a file with Times.\r\n
\r\n
\r\n
\r\n );\r\n };\r\n \r\n export default memo(DownloadTimes);\r\n ","export default \"data:image/png;base64,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\"","import React, { FunctionComponent, useState } from 'react';\r\nimport { RootState } from '../../app/store';\r\nimport { ConnectedProps, connect } from 'react-redux';\r\nimport TimesItem from './components/TimesItem/TimesItem.component';\r\nimport { StyledTimes } from './styledComponents';\r\nimport { useQueryParams } from 'use-query-params';\r\nimport { AppQueryParamsConfigMap } from '../../app/constants';\r\nimport { useEventFeed } from '../../api/useEventFeed';\r\nimport { useEventTimes } from '../../api/useEventTimes';\r\nimport SplashScreenComponent from '../../components/SplashScreen/SplashScreen.component';\r\nimport EmptyPageComponent from '../../components/EmptyPage/EmptyPage.component';\r\nimport { Helmet } from 'react-helmet';\r\nimport { APP_NAME_POSTFIX } from '../../constants';\r\nimport { LiveFeedEventTime, Sort } from '../../domain';\r\nimport SortIndicator from '../../components/SortIndicator/SortIndicator.component';\r\nimport getDisabledProps from './getDisabledProps';\r\nimport DownloadTimes from '../../components/DownloadTimes/DownloadTimes.component';\r\nimport useDidUpdateEffect from '../../hooks/useDidUpdate';\r\nimport {useQueryClient} from 'react-query';\r\n\r\nconst connector = connect(\r\n (state: RootState) => ({\r\n searchQuery: state.app.searchQuery['results'],\r\n }),\r\n {},\r\n);\r\n\r\ntype PropsFromRedux = ConnectedProps;\r\n\r\nconst Times: FunctionComponent = ({ searchQuery }) => {\r\n const [sort, setSort] = useState();\r\n const queryClient = useQueryClient();\r\n const changeSort = (field: string) => {\r\n setSort({ field, order: sort?.order === 'asc' ? 'desc' : 'asc' });\r\n };\r\n\r\n const [{ c: classId, e: eventId }] = useQueryParams(AppQueryParamsConfigMap);\r\n const { dataUpdatedAt: eventNewsFeedUpdatedAt, data: activeEvent } =\r\n useEventFeed({\r\n eventId: eventId,\r\n });\r\n\r\n const {\r\n data: times,\r\n isFetching,\r\n refetch: refetchTimes,\r\n } = useEventTimes({\r\n eventId,\r\n classId,\r\n searchQuery,\r\n sort,\r\n });\r\n\r\n useDidUpdateEffect(() => {\r\n // Event refreshes with a given time interval so we need\r\n // refetch times when event is refreshed\r\n refetchTimes();\r\n queryClient.invalidateQueries('eventTimes');\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [eventNewsFeedUpdatedAt]);\r\n\r\n const renderTitle = () => (\r\n \r\n \r\n {activeEvent?.eventName} Times - {APP_NAME_POSTFIX}\r\n \r\n \r\n );\r\n\r\n let disabledProps = getDisabledProps(activeEvent?.discipline);\r\n\r\n const emptyValueFields = times?.length\r\n ? Object.keys(times[0]).filter(\r\n (key) =>\r\n !times.some(\r\n (time) =>\r\n time[key as keyof LiveFeedEventTime] &&\r\n time[key as keyof LiveFeedEventTime] !== 'N/A',\r\n ),\r\n )\r\n : [];\r\n\r\n disabledProps = disabledProps.concat(emptyValueFields);\r\n\r\n const isEnabled = (field: string) => {\r\n return !disabledProps.includes(field);\r\n };\r\n\r\n if (isFetching && !times) {\r\n return (\r\n <>\r\n {renderTitle()}\r\n \r\n \r\n );\r\n }\r\n\r\n if (activeEvent?.timesDocUrl && !times?.length) {\r\n return ;\r\n }\r\n\r\n if (!times?.length && searchQuery) {\r\n return (\r\n
\r\n {renderTitle()}\r\n \r\n Try entering just part Rider or Horse Name\r\n \r\n
\r\n );\r\n }\r\n\r\n if (!times?.length || !activeEvent?.publishTimesLiveFeed) {\r\n return (\r\n
\r\n \r\n No Times currently published\r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n {renderTitle()}\r\n \r\n \r\n \r\n {isEnabled('drawnOrder') && (\r\n \r\n )}\r\n {isEnabled('eaEventClassAndSort') && (\r\n \r\n )}\r\n {isEnabled('eaClassEntrySectionName') && (\r\n \r\n )}\r\n\r\n \r\n\r\n {isEnabled('dressageTime') && (\r\n \r\n )}\r\n {isEnabled('showJumpingTime') && (\r\n \r\n )}\r\n {isEnabled('riderClassStatusName') && (\r\n \r\n )}\r\n \r\n \r\n \r\n {activeEvent &&\r\n times?.map((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\n
\r\n );\r\n};\r\n\r\nexport default connector(Times);\r\n","import { useQuery } from 'react-query';\r\nimport { LiveFeedEventTime, Sort } from '../domain';\r\nimport { apiHttpService } from './apiHttpService';\r\nimport { orderBy } from 'lodash';\r\n\r\ninterface UseEventTimesParams {\r\n eventId?: string | null;\r\n classId?: String | null;\r\n searchQuery: string;\r\n sort?: Sort;\r\n}\r\nexport function useEventTimes({\r\n eventId,\r\n classId,\r\n searchQuery,\r\n sort,\r\n}: UseEventTimesParams) {\r\n return useQuery(\r\n ['eventTimes', eventId, classId],\r\n async () => {\r\n const { data } = await apiHttpService.get<{\r\n times: LiveFeedEventTime[];\r\n }>(\r\n `/GetEventTimes?eventId=${eventId}&classId=${classId}`,\r\n );\r\n\r\n return data.times;\r\n },\r\n {\r\n enabled: !!eventId && !!classId,\r\n staleTime: Infinity,\r\n select: (data) => {\r\n let processedData = searchQuery\r\n ? data.filter(\r\n (item) =>\r\n item.riderFullName\r\n .toLowerCase()\r\n .includes(searchQuery.toLowerCase()) ||\r\n item.customHorseName\r\n .toLowerCase()\r\n .includes(searchQuery.toLowerCase()),\r\n )\r\n : data;\r\n\r\n processedData = sort\r\n ? orderBy(processedData, sort?.field, sort?.order)\r\n : orderBy(processedData, 'drawnOrder', 'asc');\r\n\r\n return processedData;\r\n },\r\n },\r\n );\r\n}\r\n","import { Disciplines } from '../../domain';\r\n\r\nexport default function getDisabledProps(discipline?: Disciplines) {\r\n switch (discipline) {\r\n case Disciplines.ArenaCourseHire:\r\n return [\r\n 'eaClassEntrySectionName',\r\n 'bridleNumber',\r\n 'dressageTime',\r\n 'showJumpingTime',\r\n 'drawnOrder',\r\n ];\r\n case Disciplines.Dressage:\r\n case Disciplines.EventerTrial:\r\n return ['showJumpingTime', 'drawnOrder'];\r\n case Disciplines.TrainingClinics:\r\n case Disciplines.XCCourseHire:\r\n return ['bridleNumber', 'drawnOrder'];\r\n case Disciplines.Showjumping:\r\n return [];\r\n default:\r\n return ['drawnOrder'];\r\n }\r\n}\r\n","import styled from 'styled-components/macro';\r\n\r\ninterface IProps {\r\n position: 'left' | 'right';\r\n expanded: boolean;\r\n}\r\n\r\nexport const StyledCollapseButtonLine = styled.div`\r\n width: 2px;\r\n background-color: ${(props) => props.theme.accent};\r\n height: 100%;\r\n position: absolute;\r\n left: ${(props) => (props.position === 'left' ? '1.2rem' : 'auto')};\r\n right: ${(props) => (props.position === 'right' ? '1.2rem' : 'auto')};\r\n top: 0;\r\n\r\n button {\r\n position: absolute;\r\n left: 50%;\r\n top: 40px;\r\n transform: translate(-50%, -50%) ${(props) => {\r\n if (\r\n (props.position === 'right' && props.expanded) ||\r\n (props.position === 'left' && !props.expanded)\r\n ) {\r\n return 'rotate(180deg)';\r\n }\r\n return 'rotate(0deg)';\r\n }};\r\n z-index: 1;\r\n cursor: pointer;\r\n width: 2.4rem;\r\n height: 2.4rem;\r\n border-radius: 50%;\r\n background-color: #fff;\r\n border: 1px solid rgba(235, 237, 239, 0.08);\r\n box-shadow: 0 0.5rem 2rem 0 rgb(35 54 75 / 12%);\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n &:hover {\r\n background: ${(props) => props.theme.accent};\r\n &:before {\r\n border-top: 2px solid ${(props) => props.theme.white};\r\n border-right: 2px solid ${(props) => props.theme.white};\r\n }\r\n }\r\n &:before {\r\n content: '';\r\n width: 0.7rem;\r\n height: 0.7rem;\r\n border-top: 2px solid ${(props) => props.theme.fontColor.primary};\r\n margin-left: -0.3rem;\r\n border-right: 2px solid ${(props) => props.theme.fontColor.primary};\r\n border-bottom: 2px solid transparent;\r\n border-left: 2px solid transparent;\r\n transform: rotate(45deg);\r\n transition: 0.2s;\r\n }\r\n }\r\n`;\r\n","/**\r\n *\r\n * CollapseButtonLine\r\n *\r\n */\r\n\r\nimport React, { memo, FunctionComponent } from 'react';\r\nimport { StyledCollapseButtonLine } from './styledComponents';\r\n\r\ninterface IProps {\r\n position: 'left' | 'right';\r\n expanded: boolean;\r\n onClick: () => void;\r\n}\r\n\r\nconst CollapseButtonLine: FunctionComponent = ({\r\n position,\r\n expanded,\r\n onClick,\r\n}) => {\r\n return (\r\n \r\n