{"version":3,"file":"static/js/tournament-single-view.ca95aa57.chunk.js","mappings":"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","sources":["elements/CasinoTournaments/views/TournamentSingleView/Desktop/Skeleton.tsx","elements/CasinoTournaments/views/TournamentSingleView/index.tsx"],"sourcesContent":["import { ReactElement } from 'react';\nimport 'newcomponents/Shared/LeaderBoardCustomTab/index.less';\nimport 'newcomponents/Shared/LeaderBoardCustomTab/LeaderBoardRow/index.less';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport './style.less';\n\nconst CustomSkeleton = (\n \n);\n\nexport const SidebarSkeleton = (): ReactElement => (\n
\n
{CustomSkeleton}
\n
{CustomSkeleton}
\n
{CustomSkeleton}
\n
\n);\n\nexport const DesktopTournamentSingleViewSkeleton = (): ReactElement => {\n return (\n <>\n
\n \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n {CustomSkeleton}\n
\n
\n \n
\n \n );\n};\n","import { ReactElement, useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { useLocation } from 'react-router-dom';\nimport { timeoutDuration } from 'utils/constants/dateInfo/time-numbers';\nimport { lazy } from 'utils/generic/lazy';\nimport { isMobile } from 'utils/is-mobile';\nimport {\n CasinoTournamentsType,\n ETournamentProductTypeIds,\n TournamentPlayerList\n} from 'interfaces/casino-data';\nimport {\n getTournament,\n getTournamentStats\n} from 'services/casino/casino-tournaments';\nimport { DesktopTournamentSingleViewSkeleton } from './Desktop/Skeleton';\nimport { Viewport } from 'components/Viewport';\nimport { useMounted } from 'hooks/useMounted';\nimport { useSearchParams } from 'hooks/useSearchParams';\nimport {\n getCachedTournamentsData,\n getTournamentActiveProductTypeId\n} from 'store/selectors/casino-data';\nimport { getIsLoggedIn, getUser } from 'store/selectors/user-data';\n\nconst { MobileTournamentSingleView } = lazy(\n () =>\n import(\n /* webpackChunkName: \"mobile-casino-tournaments-single\" */ './Mobile'\n )\n);\n\nconst { DesktopTournamentSingleView } = lazy(\n () =>\n import(\n /* webpackChunkName: \"desktop-casino-tournaments-single\" */ './Desktop'\n )\n);\n\ntype Props = {\n notNeedSkeleton?: boolean;\n fromIndex?: boolean;\n};\n\nexport const TournamentSingleView = function ({\n notNeedSkeleton,\n fromIndex\n}: Props): ReactElement {\n const tournaments = useSelector(getCachedTournamentsData);\n const activeProductTypeId = useSelector(getTournamentActiveProductTypeId);\n\n const queries = useSearchParams();\n const { mounted } = useMounted();\n const [visible, setVisible] = useState(false);\n const [loading, setLoading] = useState(true);\n const location = useLocation();\n const user = useSelector(getUser);\n const isLoggedIn = useSelector(getIsLoggedIn);\n const [tournamentData, setTournamentData] =\n useState(null);\n\n const [topPlayerList, setTopPlayerList] =\n useState(null);\n\n const isSportsTournament =\n tournamentData?.ProductTypeId === ETournamentProductTypeIds.SPORT;\n\n const tournamentId = queries.tournamentId;\n\n useEffect(() => {\n document.documentElement.scrollTop = 0;\n document.body.scrollTop = 0;\n }, []);\n\n useEffect(() => {\n if (\n !user.pending &&\n !notNeedSkeleton &&\n (isMobile() || !fromIndex) &&\n tournamentId\n ) {\n setVisible(true);\n\n if (activeProductTypeId && tournaments[activeProductTypeId].length) {\n const tournament = tournaments[activeProductTypeId].find(\n item => item.Id === +tournamentId\n );\n\n if (tournament) {\n setTournamentData(tournament);\n }\n }\n\n setLoading(true);\n getTournament(\n +tournamentId,\n (data: { result: CasinoTournamentsType }) => {\n if (!mounted.current) {\n return;\n }\n\n setLoading(false);\n setTournamentData(data.result);\n }\n );\n } else if (tournamentData) {\n setTournamentData(null);\n }\n\n if (!tournamentId && visible) {\n setVisible(false);\n }\n }, [location.search, !!user.pending, isLoggedIn]);\n\n useEffect(() => {\n if (!isMobile() && fromIndex) {\n return;\n }\n\n const interval = setInterval(() => {\n if (tournamentId) {\n getTournamentStats(\n +tournamentId,\n (data: { result: [TournamentPlayerList] }) => {\n setTopPlayerList(data?.result?.[0]);\n }\n );\n }\n }, timeoutDuration.DURATION_30000);\n\n return () => {\n interval && clearInterval(interval);\n };\n }, [visible]);\n\n return (\n \n ) : (\n \n )\n }\n innerProps={{\n tournamentData,\n visible,\n setVisible,\n loading,\n isSportsTournament,\n fromIndex,\n topPlayerList\n }}\n />\n );\n};\n"],"names":["CustomSkeleton","_jsx","Skeleton","title","style","width","paragraph","active","SidebarSkeleton","_jsxs","className","children","DesktopTournamentSingleViewSkeleton","_Fragment","Image","height","MobileTournamentSingleView","lazy","DesktopTournamentSingleView","TournamentSingleView","_ref","notNeedSkeleton","fromIndex","tournaments","useSelector","getCachedTournamentsData","activeProductTypeId","getTournamentActiveProductTypeId","queries","useSearchParams","mounted","useMounted","visible","setVisible","useState","loading","setLoading","location","useLocation","user","getUser","isLoggedIn","getIsLoggedIn","tournamentData","setTournamentData","topPlayerList","setTopPlayerList","isSportsTournament","ProductTypeId","ETournamentProductTypeIds","SPORT","tournamentId","useEffect","document","documentElement","scrollTop","body","pending","isMobile","length","tournament","find","item","Id","getTournament","data","current","result","search","interval","setInterval","getTournamentStats","_data$result","timeoutDuration","DURATION_30000","clearInterval","Viewport","desktop","mobile","fallback","innerProps"],"sourceRoot":""}