{"version":3,"file":"static/chunks/pages/[path]/odds-92080d5edc543df0.js","mappings":"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","sources":["webpack://_N_E/?0402","webpack://_N_E/./components/table/components/OddsRow.js","webpack://_N_E/./components/table/OddsTable.js","webpack://_N_E/./pages/[path]/odds.js"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/[path]/odds\",\n function () {\n return require(\"private-next-pages/[path]/odds.js\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/[path]/odds\"])\n });\n }\n ","import Image from \"next/image\";\nimport Link from \"next/link\";\nimport { Fragment } from \"react\";\n\nimport { GameStartTimeDisplay } from \"@/components/GameStartTimeDisplay\";\nimport { LiveBox } from \"@/components/LiveBox\";\nimport { GAME_STATUS_FILTER, SOCCER_LEAGUES } from \"@/config/constants\";\nimport labels from \"@/config/labels\";\nimport { useLocalTime } from \"@/hooks/useLocalTime\";\nimport {\n getDateDifference,\n getESTTime,\n getOddsRowAriaLabel,\n} from \"@/utilities/dates\";\nimport { capitalizeWord } from \"@/utilities/word\";\n\nconst Badge = ({ isPick, primary, secondary }) => (\n <div\n className={\n isPick\n ? \"my-[2px] flex flex-row items-center justify-center rounded-lg bg-teal px-2 py-[5px] font-body text-white\"\n : \"my-[2px] flex flex-row items-center justify-center rounded-lg border border-card-border px-2 py-[5px] font-body\"\n }\n >\n <p>{primary}</p>\n {secondary && (\n <p className={isPick ? \"ml-1 text-xs\" : \"ml-1 text-xs text-grey-600\"}>\n {secondary}\n </p>\n )}\n </div>\n);\n\nconst TeamLogo = ({ team }) => (\n <div className=\"flex flex-row items-center py-2\">\n <Image\n className=\"mr-2 h-[24px] w-[24px]\"\n alt={team?.name}\n height={24}\n src={team?.logo}\n width={24}\n />\n <p className=\"font-body\">{team.abbreviation}</p>\n </div>\n);\n\nconst OddsRow = ({ sites, game, selectedTab }) => {\n const awayTeam = game?.awayTeam;\n const homeTeam = game?.homeTeam;\n const gameOdds = game?.odds?.[selectedTab];\n const matchupLink = game?.matchupLink;\n const startTime = game?.startTime;\n\n const { daysDiff } = getDateDifference(startTime);\n\n const formattedStartTime = useLocalTime({ startTime });\n const shouldRenderLiveBox = Boolean(\n getESTTime() >= startTime &&\n daysDiff >= -1 &&\n !GAME_STATUS_FILTER.includes(game?.gameStatus ?? \"\")\n );\n\n const sortedSites = Object.keys(sites).sort((a, b) => {\n if (a === \"betonlineag\") return -1;\n if (b === \"betonlineag\") return 1;\n return 0;\n });\n\n return (\n <tr className=\"border-b-[3px] border-site-bg p-4 last:border-b-0\">\n <td className=\"sticky left-0 z-[1] bg-off-white p-3 \">\n <Link\n className=\"relative bottom-2\"\n aria-label={getOddsRowAriaLabel(\n awayTeam?.name,\n homeTeam?.name,\n startTime\n )}\n href={matchupLink ?? \"\"}\n >\n <TeamLogo team={awayTeam} />\n {selectedTab === \"moneyLine\" &&\n SOCCER_LEAGUES.includes(game?.league) && (\n <div className=\"h-10 py-2 pl-1 font-body\">DRAW</div>\n )}\n <TeamLogo team={homeTeam} />\n </Link>\n\n {formattedStartTime && !shouldRenderLiveBox ? (\n <GameStartTimeDisplay\n startTime={formattedStartTime}\n targetLeague={game?.league}\n />\n ) : (\n <LiveBox className={\"mr-16\"} />\n )}\n </td>\n {sortedSites.map((siteKey) => (\n <Fragment key={siteKey}>\n <td className=\"p-3 align-baseline\">\n {!!gameOdds?.[siteKey] &&\n (gameOdds?.[siteKey]?.awayPrimary !== \"0\" ||\n gameOdds?.[siteKey]?.homePrimary !== \"0\") &&\n gameOdds?.[siteKey]?.draw !== \"0\" ? (\n <Link\n aria-label={labels.oddsPageBetPrompt}\n className=\"odds-site flex flex-col justify-start\"\n href={sites[siteKey] || \"/sportsbooks/\"}\n target={sites[siteKey] ? \"_blank\" : \"_self\"}\n prefetch={false}\n rel={sites[siteKey] && \"sponsored\"}\n data-event-label={`${siteKey}-sportsbook-lines`}\n >\n <Badge\n isPick={gameOdds?.[siteKey]?.isAwayBest}\n primary={gameOdds?.[siteKey]?.awayPrimary}\n secondary={gameOdds?.[siteKey]?.awaySecondary}\n />\n {SOCCER_LEAGUES.includes(game?.league) &&\n selectedTab === \"moneyLine\" &&\n (gameOdds?.[siteKey]?.draw ? (\n <Badge\n isPick={gameOdds?.[siteKey]?.isDrawBest}\n primary={gameOdds?.[siteKey]?.draw}\n />\n ) : (\n <Badge\n isPick={false}\n primary={gameOdds?.[siteKey]?.draw || \"-\"}\n />\n ))}\n <Badge\n isPick={gameOdds?.[siteKey]?.isHomeBest}\n primary={gameOdds?.[siteKey]?.homePrimary}\n secondary={gameOdds?.[siteKey]?.homeSecondary}\n />\n <p className=\"site-bet-prompt mt-[1px] max-w-[94px] whitespace-normal bg-card-link-hover p-1 text-center font-body text-xs font-bold text-white\">\n <span> {labels.oddsPageBetPrompt}</span>\n <br />\n <span>{`at ${capitalizeWord(siteKey)}`}</span>\n </p>\n </Link>\n ) : (\n <>\n <div\n className={\n \"my-[2px] flex flex-row items-center justify-center rounded-lg border border-card-border px-2 py-[5px] font-body\"\n }\n >\n <p>-</p>\n </div>\n {/* */}\n {selectedTab === \"moneyLine\" &&\n SOCCER_LEAGUES.includes(game?.league) && (\n <div\n className={\n \"my-[2px] flex flex-row items-center justify-center rounded-lg border border-card-border px-2 py-[5px] font-body\"\n }\n >\n <p>-</p>\n </div>\n )}\n <div\n className={\n \"my-[2px] flex flex-row items-center justify-center rounded-lg border border-card-border px-2 py-[5px] font-body\"\n }\n >\n <p>-</p>\n </div>\n </>\n )}\n </td>\n </Fragment>\n ))}\n </tr>\n );\n};\n\nexport default OddsRow;\n","import Image from \"next/image\";\nimport Link from \"next/link\";\nimport { useState } from \"react\";\n\nimport { SITE_LOGOS_FULL } from \"@/config/constants\";\nimport labels from \"@/config/labels\";\nimport { LEAGUE_ODDS_MENU } from \"@/config/menus\";\n\nimport TableSkeleton from \"../skeleton/TableSkeleton\";\nimport OddsRow from \"./components/OddsRow\";\nimport TabSelector from \"./components/TabSelector\";\n\nconst OddsTable = ({ games, isGamesLoading, league }) => {\n const initialSelectedTab =\n league === \"nfl\" || league === \"nba\" || league === \"wnba\"\n ? \"pointSpread\"\n : \"moneyLine\";\n const [selectedTab, setSelectedTab] = useState(initialSelectedTab);\n const gamesArray = Object.values(games ?? {});\n\n const bettingSites =\n gamesArray?.length > 0\n ? gamesArray.reduce((acc, curr) => {\n const sites = { ...acc, ...curr.sites };\n if (sites.everygame) {\n sites.everygame =\n \"https://affiliates.bettingnews.com/register/everygame-odds/\";\n }\n return sites;\n }, {})\n : null;\n\n const gameRows = gamesArray.filter((game) => game?.odds?.[selectedTab]);\n\n const sortedBettingSites = Object.keys(bettingSites || {}).sort((a, b) => {\n if (a === \"betonlineag\") return -1;\n if (b === \"betonlineag\") return 1;\n return 0;\n });\n\n return (\n <>\n <TabSelector\n onSelectTab={setSelectedTab}\n options={LEAGUE_ODDS_MENU}\n selectedTab={selectedTab}\n />\n <div\n className={\n \"my-4 min-h-[450px] overflow-x-auto border border-card-border bg-off-white\"\n }\n >\n {isGamesLoading && <TableSkeleton />}\n {!isGamesLoading && gameRows?.length > 0 && (\n <table className=\"block whitespace-nowrap\">\n <thead className=\"text-table text w-full border-b-2 border-card-border\">\n <tr>\n <th className=\"sticky left-0 z-[1] bg-off-white\"></th>\n {sortedBettingSites.map((siteName) => (\n <th key={siteName} className=\"p-3\">\n <Link\n aria-label={siteName}\n className=\"block h-[30px] w-[94px]\"\n href={bettingSites[siteName] || \"/sportsbooks/\"}\n target={bettingSites[siteName] ? \"_blank\" : \"_self\"}\n prefetch={false}\n rel={bettingSites[siteName] && \"sponsored\"}\n data-event-label={`${siteName}-sportsbook-lines`}\n >\n <Image\n className=\"h-8 object-contain\"\n alt={siteName}\n height={30}\n src={SITE_LOGOS_FULL[siteName]}\n width={94}\n />\n </Link>\n </th>\n ))}\n </tr>\n </thead>\n <tbody className=\"text-table-text\">\n {gameRows.map((game) => (\n <OddsRow\n key={game?.gameKey}\n sites={bettingSites}\n game={game}\n selectedTab={selectedTab}\n />\n ))}\n </tbody>\n </table>\n )}\n {!isGamesLoading && gameRows?.length === 0 && (\n <div className=\"mt-2 flex items-center justify-center p-4 text-center font-body tracking-[.01em] text-card-dark\">\n {games?.length > 0 ? labels.oddsPageNoOdds : labels.oddsPageNoGames}\n </div>\n )}\n </div>\n </>\n );\n};\n\nexport default OddsTable;\n","import { useRouter } from \"next/router\";\n\nimport Content from \"@/components/Content\";\nimport DivisionPicksSelect from \"@/components/divisionPicks/DivisionPicksSelect\";\nimport Head from \"@/components/Head\";\nimport Offseason from \"@/components/Offseason\";\nimport OddsTable from \"@/components/table/OddsTable\";\nimport { LEAGUE_PAGES, REVALIDATION_TIME } from \"@/config/constants\";\nimport { useGamesContext } from \"@/hooks/useGamesContext\";\nimport { formatGamesSchema, formatSeo } from \"@/utilities/seo\";\nimport ShortCodes from \"@/utilities/shortcodes\";\n\nimport { getLatestSeason } from \"../api/apiBettingsNews\";\nimport { getPageContentByURI } from \"../api/apiWP\";\n\nconst Odds = ({ page, latestSeason }) => {\n const router = useRouter();\n const league = router?.query?.path;\n const leagueParam = router?.query?.league;\n const {\n games,\n isGamesLoading,\n isCollegeGamesLoading,\n collegeGames,\n isSoccerGamesLoading,\n soccerGames,\n selectedGames,\n isWnbaGamesLoading,\n wnbaGames,\n } = useGamesContext();\n const isCollegeLeague = league === \"ncaaf\" || league === \"ncaab\";\n const isSoccerLeague = league === \"soccer\";\n const isWnbaLeague = league === \"wnba\";\n const isLoading = isWnbaLeague\n ? isWnbaGamesLoading\n : isCollegeLeague\n ? isCollegeGamesLoading\n : isSoccerLeague\n ? isSoccerGamesLoading\n : isGamesLoading;\n\n const getSelectedGames = (games, leagueParam, soccerGames, collegeGames) => {\n if (leagueParam) {\n return selectedGames;\n }\n switch (league) {\n case \"soccer\":\n return soccerGames;\n case \"wnba\":\n return wnbaGames;\n case \"ncaaf\":\n case \"ncaab\":\n return collegeGames?.[league];\n default:\n return games?.[league];\n }\n };\n\n const gamesData = getSelectedGames(\n games,\n leagueParam,\n soccerGames,\n collegeGames\n );\n\n const seo = {\n ...formatSeo(router, page),\n ...formatGamesSchema(gamesData),\n };\n\n //The isOffSeason variable is determined by checking the latest season data from the API endpoint\n //https://api.bettingnews.com/ncaaf/latest-season. It indicates whether the current season is in the off-season.\n const isOffSeason = latestSeason?.is_off_season; //latestSeason?.is_post_season ||\n\n return (\n <>\n <Head seo={seo} />\n <ShortCodes />\n <div className=\"flex flex-row justify-between\">\n <h1 className=\"mb-4 font-heading text-2xl font-bold leading-[1.15] text-nav-blue sm:text-[2rem]\">\n {`${(league || \"\").toUpperCase()} Odds`}\n </h1>\n {(isCollegeLeague || isSoccerLeague) && (\n <DivisionPicksSelect leagueParam={leagueParam} />\n )}\n </div>\n {isOffSeason ? (\n <Offseason league={league} />\n ) : (\n <OddsTable\n games={gamesData}\n isGamesLoading={isLoading}\n league={league}\n />\n )}\n <Content content={page?.content} customClass=\"custom-link\" />\n </>\n );\n};\n\nexport async function getStaticPaths() {\n let paths = [];\n if (process.env.NEXT_PUBLIC_APP_STAGE === \"production\") {\n paths = LEAGUE_PAGES.map((league) => ({ params: { path: league } }));\n }\n return {\n paths,\n fallback: \"blocking\",\n };\n}\n\nexport async function getStaticProps(context) {\n const league = (context?.params?.path || \"\")?.toLowerCase();\n\n // Fetch page content\n const page = await getPageContentByURI(`/${league}/odds`);\n const latestSeason = await getLatestSeason(league);\n\n return {\n props: { page, latestSeason, revalidate: REVALIDATION_TIME },\n };\n}\n\nexport default Odds;\n"],"names":["window","__NEXT_P","push","__webpack_require__","Badge","isPick","primary","secondary","param","jsx_runtime","jsxs","div","className","jsx","p","TeamLogo","team","Image","alt","name","height","src","logo","width","abbreviation","components_OddsRow","game","sites","selectedTab","awayTeam","homeTeam","gameOdds","odds","matchupLink","startTime","daysDiff","getDateDifference","formattedStartTime","useLocalTime","shouldRenderLiveBox","Boolean","getESTTime","GAME_STATUS_FILTER","includes","gameStatus","sortedSites","Object","keys","sort","a","b","tr","td","Link","aria-label","getOddsRowAriaLabel","href","SOCCER_LEAGUES","league","GameStartTimeDisplay","targetLeague","LiveBox","map","Fragment","siteKey","awayPrimary","homePrimary","draw","labels","oddsPageBetPrompt","target","prefetch","rel","data-event-label","concat","isAwayBest","awaySecondary","isDrawBest","isHomeBest","homeSecondary","span","br","capitalizeWord","table_OddsTable","games","isGamesLoading","setSelectedTab","useState","gamesArray","values","bettingSites","length","reduce","acc","curr","everygame","gameRows","filter","sortedBettingSites","TabSelector","onSelectTab","options","LEAGUE_ODDS_MENU","TableSkeleton","table","thead","th","siteName","SITE_LOGOS_FULL","tbody","OddsRow","gameKey","oddsPageNoOdds","oddsPageNoGames","router","page","latestSeason","useRouter","query","path","leagueParam","isCollegeGamesLoading","collegeGames","isSoccerGamesLoading","soccerGames","selectedGames","isWnbaGamesLoading","wnbaGames","useGamesContext","isCollegeLeague","isSoccerLeague","isWnbaLeague","gamesData","getSelectedGames","seo","formatSeo","formatGamesSchema","isOffSeason","is_off_season","Head","ShortCodes","h1","toUpperCase","DivisionPicksSelect","Offseason","OddsTable","Content","content","customClass"],"sourceRoot":""}