{"version":3,"file":"static/chunks/5227-7539b6d8a62a23b9.js","mappings":"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","sources":["webpack://_N_E/./components/AuthorInfo.js","webpack://_N_E/./utilities/content-parser.js","webpack://_N_E/./components/Content.js","webpack://_N_E/./components/Rivalry.js","webpack://_N_E/./hooks/useCasinos.js","webpack://_N_E/./components/pages/MiscPage.js"],"sourcesContent":["import Image from \"next/image\";\nimport Link from \"next/link\";\n\nimport labels from \"@/config/labels\";\nimport { useLocalTime } from \"@/hooks/useLocalTime\";\n\nconst PostAuthorInfo = ({ post }) => {\n const formattedPostDate = useLocalTime({\n startTime: post?.modified || post?.date,\n format: \"ddd MMM DD, YYYY, HH:mm A\",\n });\n const readTime = post?.seo?.readTime ?? \"\";\n const dateLabel =\n post?.modified === post?.date\n ? `${labels.authorInfoPublished}`\n : `${labels.authorInfoLastUpdated}`;\n\n return (\n <div className=\"mb-4 mt-2 flex justify-between rounded-lg border border-solid border-[rgb(203,210,217)] bg-white p-2\">\n <div className=\"flex w-full items-center gap-[10px]\">\n <Image\n src={post?.author?.avatar}\n alt={post?.author?.name}\n width={55}\n height={55}\n className=\"h-[45px] w-[45px] rounded-full\"\n />\n <div className=\"flex w-full flex-col justify-between text-xs leading-4 md:flex-row md:gap-6 lg:text-sm\">\n <div>\n <p>\n {labels.authorInfoWrittenBy}:{\" \"}\n <Link\n href={post?.author?.uri ?? \"\"}\n className=\"hover:underline\"\n style={{ color: \"rgb(9 103 210/1)\" }}\n >\n {post?.author?.name}\n </Link>\n </p>\n <p>\n <span>{dateLabel}</span>: {formattedPostDate}\n </p>\n </div>\n {readTime && (\n <p className=\"md:mt-auto\">\n {labels.authorInfoReadTime}:{\" \"}\n {`${readTime} minute${readTime > 1 ? \"s\" : \"\"}`}\n </p>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default PostAuthorInfo;\n","export function updateImageAndSponsoredAttributes(htmlContent) {\n if (!htmlContent) return \"\";\n\n const externalAffiliateRegex = new RegExp(\n \"https://affiliates\\\\.bettingnews\\\\.com/[\\\\w-]+/\",\n \"g\"\n );\n\n // Function to check if a link is an affiliate link\n const isAffiliateLink = (href) => {\n return href && href.match(externalAffiliateRegex);\n };\n\n // Function to process link (<a>) tags\n const processLinks = (tag) => {\n const hrefIndex = tag?.indexOf('href=\"');\n if (hrefIndex === -1) return tag; // No href attribute found\n\n const start = hrefIndex + 6; // Start of the URL in href\n const end = tag?.indexOf('\"', start); // End of the URL\n const href = tag?.substring(start, end);\n\n if (isAffiliateLink(href)) {\n const relIndex = tag?.indexOf('rel=\"');\n const targetIndex = tag?.indexOf('target=\"');\n const hasSponsored =\n relIndex !== -1 &&\n tag\n ?.substring(relIndex, tag.indexOf('\"', relIndex + 5))\n .includes(\"sponsored\");\n\n if (relIndex === -1) {\n tag = tag?.slice(0, end + 1) + ' rel=\"sponsored\"' + tag?.slice(end + 1);\n } else if (!hasSponsored) {\n const relEnd = tag.indexOf('\"', relIndex + 5);\n tag = tag?.slice(0, relEnd) + \" sponsored\" + tag?.slice(relEnd);\n }\n\n if (targetIndex === -1) {\n tag = tag?.slice(0, end + 1) + ' target=\"_blank\"' + tag?.slice(end + 1);\n }\n }\n\n return tag;\n };\n\n // Main processing of HTML content\n return htmlContent?.replace(/<a [^>]*>/g, processLinks);\n}\n","import { useEffect, useState } from \"react\";\n\nimport { updateImageAndSponsoredAttributes } from \"@/utilities/content-parser\";\n\nconst Content = ({ content, customClass }) => {\n const parsedHtmlContent = updateImageAndSponsoredAttributes(content);\n\n const [clientContent, setClientContent] = useState(null);\n\n useEffect(() => {\n setClientContent(parsedHtmlContent);\n }, [content]);\n\n if (!clientContent) return null;\n\n return (\n <div\n id=\"bettingnews-content\"\n className={customClass}\n dangerouslySetInnerHTML={{ __html: clientContent || content }}\n suppressHydrationWarning\n />\n );\n};\n\nexport default Content;\n","import Image from \"next/image\";\nimport Link from \"next/link\";\n\nimport labels from \"@/config/labels\";\n\nconst Team = ({ team }) => (\n <div className=\"flex flex-col items-center\">\n <Image alt={team?.name} height={80} src={team?.logo} width={80} />\n <p className=\"mt-2 flex flex-col text-center\">\n <span className=\"text-xs\">{team?.location}</span>\n <h5>{team?.name}</h5>\n <span className=\"mt-1 text-xs text-grey-600\">{team?.record}</span>\n </p>\n </div>\n);\n\nconst Rivalry = ({ rivalry }) => (\n <div\n className=\"mb-2 flex flex-col rounded-lg border border-card-border bg-off-white p-4 lg:px-12\"\n itemScope\n itemType=\"http://schema.org/SportsEvent\"\n >\n <div className=\"flex flex-col items-center text-center text-xs\">\n {rivalry?.broadcaster && (\n <p className=\"mb-1 rounded-lg bg-darker p-[0.5em] text-white\">\n {rivalry?.broadcaster}\n </p>\n )}\n <p itemProp=\"location\" itemScope itemType=\"https://schema.org/Place\">\n <span itemProp=\"name\">{rivalry?.venue?.name}</span>\n {rivalry?.venue.location && (\n <span\n itemProp=\"address\"\n itemScope\n itemType=\"https://schema.org/PostalAddress\"\n >\n ,\n <b className=\"ml-1\" itemProp=\"addressLocality\">\n {rivalry?.venue?.location}\n </b>\n </span>\n )}\n </p>\n </div>\n <div className=\"my-2 flex flex-row items-center justify-between\">\n <Team team={rivalry?.away} />\n <div className=\"flex flex-col items-center text-center\">\n <time\n className=\"mb-6\"\n dateTime={rivalry?.startDateTime}\n itemProp=\"startDate\"\n >\n {rivalry?.startDate}\n <br />\n {rivalry?.startTime}\n </time>\n <div className=\"flex flex-row text-[80%] leading-6\">\n <p className=\"mr-1 border-r border-card-border pr-1\">\n {rivalry?.consensus?.team}\n <br />\n {labels.consensusOverUnder}\n </p>\n <p className=\"font-bold\">\n {rivalry?.consensus?.spread}\n <br />\n {rivalry?.consensus?.overUnder}\n </p>\n </div>\n </div>\n <Team team={rivalry?.home} />\n </div>\n <Link\n aria-label={labels.rivalryMatchupLink}\n className=\"self-center rounded-full bg-blue px-6 py-[.4375rem] font-heading text-[.8125rem] font-medium leading-[1.75rem] text-white hover:bg-darker-blue focus:bg-link-blue\"\n href={rivalry?.matchupLink ?? \"\"}\n >\n {labels.rivalryMatchupLink}\n </Link>\n </div>\n);\n\nexport default Rivalry;\n","import { useEffect } from \"react\";\n\nexport const useCasinoSuffix = (casinos, pageContent) => {\n useEffect(() => {\n const baseCasinoURL = /^\\/best-online-casinos\\/?$/;\n const realMoneyURL = new RegExp(\"^/best-online-casinos/real-money/?$\");\n const cryptoURL = new RegExp(\"^/best-online-casinos/crypto/?$\");\n const bonusURL = new RegExp(\"^/best-online-casinos/bonuses/?$\");\n\n const timer = setTimeout(() => {\n const currentPath = window.location.pathname;\n const affiliateLinkElements = document.querySelectorAll(\n \".casino-affiliate-link\"\n );\n\n affiliateLinkElements.forEach((link) => {\n let suffix = \"\";\n if (realMoneyURL.test(currentPath)) {\n suffix = \"-real\";\n } else if (cryptoURL.test(currentPath)) {\n suffix = \"-crypto\";\n } else if (baseCasinoURL.test(currentPath)) {\n suffix = \"-best\";\n } else if (bonusURL.test(currentPath)) {\n suffix = \"-bonus\";\n }\n\n if (\n casinos?.some(\n (slug) => currentPath === `/best-online-casinos/${slug}/`\n )\n ) {\n suffix = \"-review\";\n }\n\n let currentHref = link.href.replace(/\\/$/, \"\");\n if (currentHref && !currentHref.includes(suffix)) {\n currentHref += suffix;\n }\n\n link.href = `${currentHref}/`;\n\n let currentEventLabel = link.getAttribute(\"data-event-label\");\n if (currentEventLabel && !currentEventLabel.includes(suffix)) {\n currentEventLabel += suffix;\n }\n\n link.setAttribute(\"data-event-label\", currentEventLabel);\n });\n }, 100);\n\n return () => clearTimeout(timer);\n }, [casinos, pageContent]);\n};\n\nexport const useCasinoEventListeners = (pageContent) => {\n useEffect(() => {\n const handleExtraCasinosClick = () => {\n const extraCasinos = document.getElementById(\"extra-casinos\");\n const showMoreButton = document.getElementById(\"show-more\");\n if (extraCasinos && showMoreButton) {\n const isHidden = extraCasinos.style.display === \"none\";\n extraCasinos.style.display = isHidden ? \"block\" : \"none\";\n showMoreButton.textContent = isHidden\n ? \"Show Less Casinos\"\n : \"Show More Casinos\";\n }\n };\n\n const handleShowMoreClick = () => {\n const fullText = document.getElementById(\"full-text\");\n const shortText = document.getElementById(\"truncated-text\");\n const readMore = document.getElementById(\"read-more-button\");\n\n if (fullText && shortText && readMore) {\n const isFullTextVisible = fullText.style.display === \"block\";\n fullText.style.display = isFullTextVisible ? \"none\" : \"block\";\n shortText.style.display = isFullTextVisible ? \"block\" : \"none\";\n readMore.style.display = isFullTextVisible ? \"block\" : \"none\";\n }\n };\n\n const attachEventListeners = () => {\n const buttonExtraCasinos = document.getElementById(\"show-more\");\n const buttonReadMore = document.getElementById(\"read-more-button\");\n\n if (buttonExtraCasinos) {\n buttonExtraCasinos.addEventListener(\"click\", handleExtraCasinosClick);\n }\n if (buttonReadMore) {\n buttonReadMore.addEventListener(\"click\", handleShowMoreClick);\n }\n\n return () => {\n if (buttonExtraCasinos) {\n buttonExtraCasinos.removeEventListener(\n \"click\",\n handleExtraCasinosClick\n );\n }\n if (buttonReadMore) {\n buttonReadMore.removeEventListener(\"click\", handleShowMoreClick);\n }\n };\n };\n\n const observer = new MutationObserver(() => {\n attachEventListeners();\n });\n\n observer.observe(document.body, { childList: true, subtree: true });\n\n return () => {\n observer.disconnect();\n attachEventListeners();\n };\n }, [pageContent]);\n};\n\nexport const useCopyToClipboard = () => {\n useEffect(() => {\n const handleCopyClick = (event) => {\n const button = event.currentTarget;\n const copyTargetId = button.getAttribute(\"data-copy-target\");\n const copyTextElement = document.getElementById(copyTargetId);\n\n if (copyTextElement) {\n navigator.clipboard\n .writeText(copyTextElement.value)\n .then(() => {\n button.textContent = \"Copied!\";\n button.style.backgroundColor = \"#01337d\";\n button.style.color = \"white\";\n\n setTimeout(() => {\n button.textContent = button.getAttribute(\"data-original-label\");\n button.style.backgroundColor = \"transparent\";\n button.style.color = \"#01337d\";\n }, 2000);\n })\n // eslint-disable-next-line no-console\n .catch((err) => console.error(\"Copy failed:\", err));\n } else {\n // eslint-disable-next-line no-console\n console.error(\"Element not found: \", copyTargetId);\n }\n };\n\n const attachEventListeners = () => {\n const copyButtons = document.querySelectorAll(\".copy-button\");\n copyButtons.forEach((button) => {\n button.addEventListener(\"click\", handleCopyClick);\n });\n\n return () => {\n copyButtons.forEach((button) => {\n button.removeEventListener(\"click\", handleCopyClick);\n });\n };\n };\n\n const observer = new MutationObserver(() => {\n attachEventListeners();\n });\n\n observer.observe(document.body, { childList: true, subtree: true });\n\n return () => {\n observer.disconnect();\n attachEventListeners();\n };\n }, []);\n};\n\nexport const useCasinoListing = (casinos, pageContent) => {\n useEffect(() => {\n const hideCurrentCasino = () => {\n const currentUrl = window.location.pathname;\n const items = document.querySelectorAll(\"#casino-list li\");\n\n items.forEach((item) => {\n const link = item.querySelector(\"a\");\n if (link && link.getAttribute(\"href\") === currentUrl) {\n item.style.display = \"none\";\n }\n });\n };\n\n hideCurrentCasino();\n\n const observer = new MutationObserver(hideCurrentCasino);\n observer.observe(document.body, { childList: true, subtree: true });\n\n return () => {\n observer.disconnect();\n };\n }, [casinos, pageContent]);\n};\n","import dynamic from \"next/dynamic\";\n\nimport Content from \"@/components/Content\";\nimport Head from \"@/components/Head\";\nimport Rivalry from \"@/components/Rivalry\";\nimport {\n ABOUT_US_PATH,\n NEWSLETTER_PATH,\n PRIVACY_POLICY_PATH,\n SPORTS_BETTING_SHOWS,\n STORE_PATH,\n} from \"@/config/constants\";\nimport {\n useCasinoEventListeners,\n useCasinoListing,\n useCasinoSuffix,\n useCopyToClipboard,\n} from \"@/hooks/useCasinos\";\nimport { useGTM } from \"@/hooks/useGTM\";\nimport { getCookie } from \"@/utilities/cookies\";\n\nimport PostAuthorInfo from \"../AuthorInfo\";\nimport CustomImage from \"../CustomImage\";\n\nconst ShortCodes = dynamic(() => import(\"@/utilities/shortcodes\"), {\n ssr: false,\n});\n\nconst MiscPage = ({ page, rivalry, casinos, pageCanada }) => {\n useGTM(page);\n useCasinoSuffix(casinos, page?.content);\n useCasinoEventListeners(page?.content);\n useCopyToClipboard(page);\n useCasinoListing(casinos, page?.content);\n\n const excludedPages = [\n ABOUT_US_PATH,\n STORE_PATH,\n PRIVACY_POLICY_PATH,\n SPORTS_BETTING_SHOWS,\n NEWSLETTER_PATH,\n ];\n const hasRivalry = rivalry && Object.keys(rivalry).length > 0;\n\n if (typeof window === \"undefined\") return null;\n const storedCountry = getCookie(\"userCountry\");\n const isCanada = storedCountry === \"Canada\";\n\n let pageContent = page;\n if (isCanada && page?.uri === \"/best-online-casinos/\") {\n pageContent = pageCanada;\n }\n\n return (\n <>\n <Head seo={pageContent?.seo} />\n <ShortCodes />\n <h1\n className=\"mb-4 font-heading text-2xl font-bold leading-[1.15] text-nav-blue sm:text-[2rem]\"\n dangerouslySetInnerHTML={{ __html: pageContent?.title || \"\" }}\n suppressHydrationWarning\n />\n {page?.author && !excludedPages.includes(pageContent?.uri) && (\n <PostAuthorInfo post={pageContent} />\n )}\n {hasRivalry && <Rivalry rivalry={rivalry} />}\n {pageContent?.featuredImage && (\n <div className=\"mb-4 max-h-[305px] w-full rounded-t-lg md:max-h-[405px] lg:max-h-[345px] xl:max-h-[395px]\">\n <CustomImage\n key={pageContent?.featuredImage?.altText}\n className=\"w-full rounded-t-lg object-cover\"\n alt={pageContent?.featuredImage?.altText}\n width={680}\n height={500}\n sizes=\"(max-width: 768px) 540px, (max-width: 992px) 730px, 680px\"\n src={pageContent?.featuredImage?.sourceUrl}\n srcSet={pageContent?.featuredImage?.srcSet}\n />\n </div>\n )}\n <Content content={pageContent?.content} customClass=\"custom-link\" />\n </>\n );\n};\n\nexport default MiscPage;\n"],"names":["__webpack_exports__","Z","post","param","formattedPostDate","useLocalTime","startTime","modified","date","format","readTime","seo","dateLabel","concat","labels","authorInfoPublished","authorInfoLastUpdated","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","div","className","jsxs","Image","src","author","avatar","alt","name","width","height","p","authorInfoWrittenBy","Link","href","uri","style","color","span","authorInfoReadTime","components_Content","content","customClass","parsedHtmlContent","updateImageAndSponsoredAttributes","htmlContent","externalAffiliateRegex","isAffiliateLink","match","replace","hrefIndex","tag","indexOf","start","end","substring","relIndex","targetIndex","hasSponsored","includes","slice","relEnd","clientContent","setClientContent","useState","useEffect","jsx_runtime","id","dangerouslySetInnerHTML","__html","suppressHydrationWarning","Team","team","logo","location","h5","record","components_Rivalry","rivalry","itemScope","itemType","broadcaster","itemProp","venue","b","away","time","dateTime","startDateTime","startDate","br","consensus","consensusOverUnder","spread","overUnder","home","aria-label","rivalryMatchupLink","matchupLink","useCasinoSuffix","casinos","pageContent","baseCasinoURL","realMoneyURL","cryptoURL","bonusURL","timer","setTimeout","currentPath","window","pathname","affiliateLinkElements","querySelectorAll","forEach","suffix","test","some","slug","currentHref","link","currentEventLabel","getAttribute","setAttribute","clearTimeout","useCasinoEventListeners","handleExtraCasinosClick","extraCasinos","document","getElementById","showMoreButton","isHidden","display","textContent","handleShowMoreClick","fullText","shortText","readMore","isFullTextVisible","attachEventListeners","buttonExtraCasinos","buttonReadMore","addEventListener","removeEventListener","observer","MutationObserver","observe","body","childList","subtree","disconnect","useCopyToClipboard","handleCopyClick","button","event","currentTarget","copyTargetId","copyTextElement","navigator","clipboard","writeText","value","then","backgroundColor","catch","console","error","err","copyButtons","useCasinoListing","hideCurrentCasino","currentUrl","items","item","querySelector","ShortCodes","dynamic","Promise","resolve","__webpack_require__","bind","ssr","pages_MiscPage","page","pageCanada","useGTM","excludedPages","ABOUT_US_PATH","STORE_PATH","PRIVACY_POLICY_PATH","SPORTS_BETTING_SHOWS","NEWSLETTER_PATH","hasRivalry","Object","keys","length","storedCountry","getCookie","Fragment","Head","h1","title","PostAuthorInfo","Rivalry","featuredImage","CustomImage","altText","sizes","sourceUrl","srcSet","Content"],"sourceRoot":""}