{"version":3,"file":"static/chunks/6101-c3eaeb58a1e5bfd2.js","mappings":"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","sources":["webpack://_N_E/./src/app/ui/footer.tsx","webpack://_N_E/./src/app/ui/header.tsx","webpack://_N_E/./src/app/ui/headernav.tsx","webpack://_N_E/./src/app/utils/MixinSize.tsx","webpack://_N_E/./src/app/utils/constant/odd.tsx","webpack://_N_E/./src/app/utils/request/query.ts","webpack://_N_E/./src/app/utils/request/index.ts","webpack://_N_E/./src/app/utils/request/requestList.ts","webpack://_N_E/./src/app/style/Footer.scss","webpack://_N_E/./src/app/style/comm.scss","webpack://_N_E/./src/app/style/header.scss","webpack://_N_E/./src/app/style/headernav.scss"],"sourcesContent":["\"use client\"\nimport { getFooterMenu, getRGPBanner } from \"@/app/utils/request/requestList\";\nimport { useEffect, useState } from 'react';\nimport '../style/Footer.scss';\nimport { GET_FOOTER_MENU, GET_RGPBanner } from '../utils/request/query';\nimport { useLanguage } from \"../utils/LanguageContext\";\nimport { useMediaQuery } from \"@mui/material\";\nimport { theme } from \"@/app/utils/Common\";\nimport \"@/app/style/comm.scss\";\n\ntype propType = {\n data?: any;\n};\n\nconst Footer = (props: propType) => {\n const { state: lang } = useLanguage();\n const { t } = lang;\n const [isOpen, setIsOpen] = useState<any>([])\n const setIsOpenHandle = (index: any) => {\n let currentOpen = !isOpen[index];\n\n let reSetOpen = [];\n reSetOpen[index] = currentOpen\n\n setIsOpen([...reSetOpen])\n }\n\n const [footerMenu, setFooterMenu] = useState<any>(null);\n const [footerRGBbanner, setFooterRGBbanner] = useState<any>(null);\n\n //get CMS Data\n useEffect(() => {\n getFooterMenu({\n language: lang.langCode,\n }, GET_FOOTER_MENU, \"cms\").then((res) => {\n setFooterMenu(res?.item);\n console.log(\"footer menu\", res);\n });\n\n getRGPBanner({\n language: lang.langCode,\n }, GET_RGPBanner, \"cms\").then((res) => {\n setFooterRGBbanner(res?.item?.RGPBanner);\n console.log(\"RGP banner\", res);\n });\n }, [])\n\n var htmlText = footerMenu?.sitemap.value;\n var parser = new DOMParser();\n var doc = parser.parseFromString(htmlText, 'text/html');\n var htmlFragment: any = doc.body.firstChild;\n const isMobile = useMediaQuery(theme.breakpoints.down(\"lg\")) ?? false;\n return (\n <>\n <div id=\"seo\" className=\"fiveCol\">\n <div className=\"content\">\n { htmlText==null || htmlText==\"\" ? <></> : [...htmlFragment?.children].map((item, index) => {\n return (\n <>\n {item.tagName !== \"DL\" ? <span dangerouslySetInnerHTML={{ __html: item.outerHTML }}></span> :\n\n <dl className={`${isOpen[index] ? 'isOpen' : ''}`} >\n <dt onClick={() => { setIsOpenHandle(index) }}>{item?.firstElementChild.textContent} <span className={`open-button`}></span></dt>\n {[...item?.children].map((itemdd, indexdd) => {\n return (\n itemdd.tagName === \"DD\" || itemdd.tagName === \"UL\" ? <span dangerouslySetInnerHTML={{ __html: itemdd.outerHTML }}></span > : <></>\n )\n })}\n </dl>\n\n }\n </>\n )\n })}\n </div>\n </div>\n <div className=\"footer\">\n <div className=\"commBContent\" style={{ padding: isMobile ? \"12px 12px 0 12px\" : \"0 16px\"}}>\n <span dangerouslySetInnerHTML={{ __html: footerRGBbanner?.rendered }} id=\"footer-top\"></span>\n <div className=\"footer-buttom\" dangerouslySetInnerHTML={{ __html: footerMenu?.bottomlink.value }} id=\"footer-bottom\">\n </div>\n </div>\n </div>\n </>\n );\n};\n\nexport default Footer","\"use client\"\nimport React, { useState, useEffect } from 'react';\nimport { Grid } from '@mui/material';\nimport \"@/app/style/header.scss\";\nimport { switchLanguage, openTarget } from '@/app/utils/Common';\nimport { GET_HEADER } from \"@/app/utils/request/query\";\nimport { getHeader } from \"@/app/utils/request/requestList\";\nimport { LANGTYPE_CT, LANGTYPE_EN, LANGUAGE, str2LangCode, useLanguage } from '@/app/utils/LanguageContext';\nimport { redirectPage, theme, getLoginInfo } from \"@/app/utils/Common\";\nimport { useMediaQuery } from \"@mui/material\";\nimport cookie from 'react-cookies';\nimport \"@/app/style/comm.scss\";\nimport { useMyContext } from '@/app/utils/MyContext';\n\nconst Header = () => {\n const { state: myContextState } = useMyContext();\n const { state: lang } = useLanguage();\n const { t: dict } = lang;\n const [headerData, setHeader] = useState<any>();\n const [salut, setSalut] = useState<string>(\"\");\n const [searchTxt, setSearchTxt] = useState<string>(\"\");\n const isMobile = useMediaQuery(theme.breakpoints.down(\"lg\")) ?? false;\n const [isLogin, setIsLogin] = useState<boolean>(false);\n const [showDisplayName, setShowDisplayName] = useState(\"\");\n\n useEffect(() => {\n getHeader(\n {\n path: \"/sitecore/content/Sites/JCRW/SiteConfiguration/Header\",\n language: lang.langCode,\n },\n GET_HEADER,\n \"cms\"\n )\n .then((res: any) => {\n normalizeMainMenu(res);\n })\n .catch((e: any) => {\n console.log(e);\n });\n }, []);\n\n const normalizeMainMenu = (res: any) => {\n const data = res?.item;\n if (data !== null && data !== undefined) {\n setHeader(data);\n }\n }\n\n const submitSearch = (e?: any) => {\n if( e && e.keyCode != '13'){\n return;\n }\n const searchVlaue = btoa(encodeURIComponent(searchTxt.replace(/^\\s+/, '').replace(/\\s+$/, '')));\n let url = \"\";\n if (searchVlaue == \"\") {\n if (lang.langType === LANGTYPE_EN)\n alert(\"Please input a search query\");\n if (lang.langType === LANGTYPE_CT)\n alert(\"請輸入æœå°‹å—串\");\n } else {\n if (lang.langType === LANGTYPE_EN)\n url = window.globalConfig?.LINKED_PAGES?.SEARCHPAGEENG + \"?g=all&k=\" + searchVlaue;\n if (lang.langType === LANGTYPE_CT)\n url = window.globalConfig?.LINKED_PAGES?.SEARCHPAGECHI + \"?g=all&k=\" + searchVlaue;\n window.location.href = url;\n }\n } \n\n useEffect(() => { \n\n if(!isMobile)\n getLoginStatus()\n \n }, [isMobile])\n\n let count = 0;\n const getLoginStatus = () => {\n const isUserProfileLoaded = localStorage.getItem(\"IsUserProfileLoaded\");\n console.log(\"getLoginInfo getLoginStatus isUserProfileLoaded\", isUserProfileLoaded)\n if(count <= 10 && (isUserProfileLoaded == \"false\" || !isUserProfileLoaded)) {\n console.log(\"getLoginInfo getLoginStatus count\", count) \n setTimeout(() => {\n count++; \n console.log(\"getLoginInfo getLoginStatus no\")\n return getLoginStatus()\n }, 1000); \n }else if(isUserProfileLoaded || count > 10 || WCIPCookie.isLoggedIn()){\n console.log(\"getLoginInfo getLoginStatus end\")\n refreshGlobalLoginControl();\n } \n };\n\n const refreshGlobalLoginControl = () => {\n const custProIn = cookie.load(\"custProIn\");\n const {isLogin, displayName} = getLoginInfo(custProIn, lang.langType);\n setIsLogin(isLogin);\n setShowDisplayName(displayName);\n console.log(\"getLoginInfo\", isLogin, displayName, window.WCIPCookie?.isLoggedIn())\n };\n \n return (\n <div id=\"header\">\n <Grid spacing={0} className=\"commBContent\" container sx={{ maxWidth: \"1808px\", margin: \"0 auto\", padding: isMobile ? \"\" : \"0 16px\" }}>\n <Grid item lg={3}>\n {lang.langType === LANGTYPE_EN ? (<a id=\"logo\" className=\"logo_en\" href={headerData?.LeftLink?.value} target={openTarget(headerData?.LeftLinkNewWindow?.value)}>{headerData?.LeftImage?.value ? (<img src={headerData?.LeftImage?.src} alt={headerData?.LeftImage?.alt} id=\"imgMainLogo\" />) : (<img src={`${myContextState.assetPrefix}/commonImg/logo_hkjc_e.png`} alt=\"The Hong Kong Jockey Club\" id=\"imgMainLogo\" />)}</a>) : (<a id=\"logo\" className=\"logo_ch\" href={headerData?.LeftLink?.value} target={openTarget(headerData?.LeftLinkNewWindow?.value)}>{headerData?.LeftImage?.value ? (<img src={headerData?.LeftImage?.src} alt={headerData?.LeftImage?.alt} id=\"imgMainLogo\" />) : (<img src={`${myContextState.assetPrefix}/commonImg/logo_hkjc_c.png`} alt=\"香港賽馬會\" id=\"imgMainLogo\" />)}</a>)}\n </Grid>\n <Grid item lg={9} sx={{ display: { xs: 'none', lg: 'block' } }}>\n <div id=\"header_nav\" className=\"nav\">\n <div id=\"topNav\">\n <div>\n <input name=\"searchkey\" id=\"searchkey\" type=\"hidden\" />\n {\n Object.keys(LANGUAGE).map((key: string) => {\n const code = str2LangCode(key)\n if (lang.langCode === code) return\n const homepage = lang.langType === LANGTYPE_EN ? window.globalConfig?.LINKED_PAGES?.HOMEPAGEENG : window.globalConfig?.LINKED_PAGES?.HOMEPAGECHI\n return (\n <>\n <a href={homepage}>{dict(\"home\")}</a><a onClick={() => switchLanguage(code)} className=\"lang\">{LANGUAGE[code].display}</a>\n </>\n )\n })\n }\n <input maxLength={166} title=\"\" placeholder={dict(\"search\")} type=\"text\" name=\"\" id=\"searchtxt\" onChange={(e) => setSearchTxt(e.target.value)} onKeyUp={(e) => submitSearch(e)} />\n <input className=\"iconToggle\" type=\"image\" name=\"\" id=\"searchimg\" src={`${myContextState.assetPrefix}/commonImg/icon_toggle.gif`} alt={dict(\"search\")} onClick={() => submitSearch()} />\n </div>\n <div id=\"globalLoginControl\">\n <div className=\"beforelogin\" style={{ display: isLogin ? \"none\" : \"\" }}><a className=\"login\" href=\"javascript:;\" onClick={(e) => redirectPage(e, 'login', lang.langType)}>{dict(\"login\")}</a> / <a href=\"javascript:;\" onClick={(e) => redirectPage(e, 'register', lang.langType)}>{dict(\"register\")}</a><a href=\"javascript:;\" onClick={(e) => redirectPage(e, 'help', lang.langType)} className=\"faq\">{dict(\"faq\")}</a></div>\n <div className=\"afterlogin\" style={{ display: isLogin ? '' : \"none\"}}><div className=\"hkjc_login_message\">\n <span className=\"hkjc_greeting_name\">{dict(\"hi\")}{showDisplayName}</span><a className=\"logout\" href=\"javascript:;\" onClick={(e) => redirectPage(e, 'logout', lang.langType)}>{dict(\"logout\")}</a> / </div><a href=\"javascript:;\" onClick={(e) => redirectPage(e, 'preference', lang.langType)}>{dict(\"preference\")}</a><a href=\"javascript:;\" onClick={(e) => redirectPage(e, 'help', lang.langType)} className=\"faq\">{dict(\"faq\")}</a></div>\n </div>\n {/* <div id=\"ssoDiv\"></div> */}\n </div>\n <div id=\"ewinContainer\">\n <a className=\"ewin\" onClick={(e) => waTracker('header_ewin_home')} href={headerData?.RightLink?.value} target={openTarget(headerData?.RightLinkNewWindow?.value)}><img src={headerData?.RightImage?.src ? headerData?.RightImage?.src : `${myContextState.assetPrefix}/commonImg/icon_ewin.png`} style={{ border: 0, width: 39, height: 40 }} alt={headerData?.RightImage?.alt} id=\"imgSubLogo\" /></a>\n <a onClick={(e) => waTracker('header_ewin_racing')} href={headerData?.HRRedirectionLink?.value} target={openTarget(headerData?.HRRedirectionNewWindow?.value)} id=\"lblHR\">{headerData?.HRLabel?.value}</a>\n <a onClick={(e) => waTracker('header_ewin_football')} href={headerData?.FBRedirectionLink?.value} target={openTarget(headerData?.FBRedirectionNewWindow?.value)} id=\"lblFB\">{headerData?.FBLabel?.value}</a>\n <a onClick={(e) => { waTracker('header_ewin_marksix') }} href={headerData?.M6RedirectionLink?.value} target={openTarget(headerData?.M6RedirectionNewWindow?.value)} id=\"lblM6\">{headerData?.M6Label?.value}</a>\n </div>\n </div>\n </Grid>\n </Grid>\n </div>\n )\n}\n\nfunction waTracker(name: string) {\n console.log('tracker name: ', name);\n // WATracker.trackClickEvent(name)\n}\n\nexport default Header","\"use client\"\nimport React, { useState, useEffect } from 'react';\nimport { Container, Drawer } from '@mui/material';\nimport { headernavType } from '@/app/lib/definitions';\nimport { GET_HEADER, GET_HEADER_NAV_MAIN, GET_RACE_SITE_MENU } from \"@/app/utils/request/query\";\nimport { getHeader, getHeaderNavMain, getRaceSiteMenu } from \"@/app/utils/request/requestList\";\nimport \"@/app/style/headernav.scss\";\nimport _ from 'lodash';\nimport { switchLanguage, openTarget, openNewWindow } from \"@/app/utils/Common\";\nimport { LANGTYPE_EN, LANGUAGE, str2LangCode, useLanguage } from '@/app/utils/LanguageContext';\nimport SearchIcon from '@mui/icons-material/Search';\nimport { redirectPage, theme, getLoginInfo} from \"@/app/utils/Common\";\nimport { textSize } from \"@/app/utils/MixinSize\";\nimport { useMediaQuery } from \"@mui/material\";\nimport \"@/app/style/comm.scss\";\nimport { useMyContext } from '@/app/utils/MyContext';\nimport cookie from 'react-cookies';\nimport Script from 'next/script';\nimport { getAssetPrefix } from '@/app/utils/Metadata';\n\ntype propType = {\n data?: any;\n};\n\nconst HeaderNav = (props: propType) => {\n const assetPrefix = getAssetPrefix();\n const { state: myContextState } = useMyContext();\n const { state: lang } = useLanguage();\n const { t: dict } = lang;\n const [headerData, setHeader] = useState<any>();\n const [open, setMainMenuOpen] = useState<boolean>(false);\n const [mainMenu, setMainMenu] = useState<any[]>([]);\n // const [raceSiteMenu, setRaceSiteMenu] = useState<any[]>([]);\n const isMobile = useMediaQuery(theme.breakpoints.down(\"lg\")) ?? false;\n const [isLogin, setIsLogin] = useState<boolean>(false);\n const [showDisplayName, setShowDisplayName] = useState(\"\");\n\n const toggleMainMenu = (open: boolean) => () => {\n setMainMenuOpen(open);\n };\n const [simulcastMainMenu, setSimulcastMainMenu] = useState<any>(null);\n const clientQuery = props.data?.simulcastMainMenu;\n useEffect(() => {\n setSimulcastMainMenu(clientQuery);\n }, [])\n\n const changeMenu = (e: any, hiddenId: string, displayId: string) => {\n const hideElement = document.getElementById(hiddenId);\n if (!!hideElement) hideElement.className = \"inactive\";\n const displayElement = document.getElementById(displayId);\n if (!!displayElement) displayElement.className = \"active\";\n }\n\n useEffect(() => {\n getHeaderNavMain(\n {\n path: \"/sitecore/content/Sites/CorpWebCommon/InformationArchitercutre/\",\n language: lang.langCode\n },\n GET_HEADER_NAV_MAIN,\n \"cms\"\n )\n .then((res: any) => {\n normalizeMainMenu(res);\n })\n .catch((e: any) => {\n console.log(e);\n });\n }, []);\n\n useEffect(() => {\n // getRaceSiteMenu(\n // {\n // path: \"/sitecore/content/Sites/JCRW/Simulcast/MeetingSummaryMenu\",\n // language: lang.langCode\n // },\n // GET_RACE_SITE_MENU,\n // \"cms\"\n // )\n // .then((res: any) => {\n // setRaceSiteMenu(res?.item?.children);\n // })\n // .catch((e: any) => {\n // console.log(e);\n // });\n }, []);\n\n useEffect(() => { \n if(isMobile)\n getLoginStatus(); \n }, [isMobile]);\n let count = 0;\n const getLoginStatus = () => {\n const isUserProfileLoaded = localStorage.getItem(\"IsUserProfileLoaded\");\n console.log(\"getLoginInfo getLoginStatus isUserProfileLoaded\", isUserProfileLoaded)\n if(count <= 10 && (isUserProfileLoaded == \"false\" || !isUserProfileLoaded)) { \n setTimeout(() => {\n count++;\n console.log(\"getLoginInfo Mobile getLoginStatus no\")\n return getLoginStatus()\n }, 1000); \n } else if (isUserProfileLoaded || count > 10 || WCIPCookie.isLoggedIn()){\n console.log(\"getLoginInfo Mobile getLoginStatus end\")\n refreshGlobalLoginControl();\n }\n };\n\n const refreshGlobalLoginControl = () => {\n const custProIn = cookie.load(\"custProIn\");\n const {isLogin, displayName} = getLoginInfo(custProIn, lang.langType);\n setIsLogin(isLogin);\n setShowDisplayName(displayName);\n console.log(\"getLoginInfo\", isLogin, displayName, window.WCIPCookie?.isLoggedIn())\n };\n\n useEffect(() => {\n getHeader(\n {\n path: \"/sitecore/content/Sites/JCRW/SiteConfiguration/Header\",\n language: lang.langCode,\n },\n GET_HEADER,\n \"cms\"\n )\n .then((res: any) => {\n const data = res?.item;\n if (data !== null && data !== undefined) {\n setHeader(data);\n }\n })\n .catch((e: any) => {\n console.log(e);\n });\n }, []);\n \n const normalizeMainMenu = (res: any) => {\n const data = res?.item?.data;\n if (data !== null && data !== undefined) {\n _.forEach(data, function(item1) {\n item1.seqIndex = Number(item1?.seq?.value || \"999\") ;\n if(item1.children !== null && item1.children !== undefined){\n _.forEach(item1.children, function(item2) {\n item2.seqIndex = Number(item2?.seq?.value || \"999\") ;\n if(item2.children !== null && item2.children !== undefined){\n _.forEach(item2.children, function(item3) {\n item3.seqIndex = Number(item3?.seq?.value || \"999\") ;\n if(item3.children !== null && item3.children !== undefined){\n _.forEach(item3.children, function(item4) {\n item4.seqIndex = Number(item4?.seq?.value || \"999\") ;\n });\n }\n });\n }\n });\n }\n });\n const sortedData = _.sortBy(data, ['seqIndex']); \n setMainMenu(sortedData);\n }\n }\n\n const subMena = _.sortBy((mainMenu.filter((item) => item.name === '02-Racing' && item.label.value)[0]?.children || []), ['seqIndex']);\n return (\n <>\n <Container disableGutters maxWidth={false} sx={{ display: { xs: 'none', lg: 'block' } }}>\n <div className=\"nav-block\" id=\"mainNav\">\n <div className=\"nav-block\">\n <div className=\"container\">\n <div className=\"navbar\">\n <div className=\"collapse navbar-collapse\" id=\"bs-example-navbar-collapse-1\">\n <nav className=\"main-nav nav-en\">\n <ul className={`nav nav-level-1 ${lang.langType === LANGTYPE_EN?\"\": \"nav-level-1-ch\"} commBContent`} style={{padding: isMobile ? \"\" : \"0 16px\"}}>\n {mainMenu.map((item, index) => {\n if (item.label?.value) {\n return (\n <li key={\"nav\" + index} id={item.name} style={{ borderLeft: index === 0 ? '1px solid #003c84' : '', borderRight: index === mainMenu.length - 1 ? '1px solid #003c84' : '' }}>\n {item.name === '02-Racing' ? (<a className='active' target={openNewWindow(item?.target?.value)} href={item.link?.value || 'javascript:;'}>{item.label?.value}</a>) : (<a target={openNewWindow(item?.target?.value)} href={item.link?.value || 'javascript:;'}>{item.label?.value}</a>)}\n </li>\n )\n }\n })}\n </ul>\n </nav>\n <nav className=\"second-nav\" id=\"second-nav-container\">\n <ul className={`dropdown ${lang.langType === LANGTYPE_EN?\"\": \"dropdown_ch\"} navbar-hkjc index commBContent`} id=\"nav-racing\" style={{padding: isMobile ? \"\" : \"10px 16px\"}}>\n {subMena.map((sub: any, idx) => {\n if (sub?.label?.value) {\n return (\n <li key={`subMena_${idx}`} onMouseLeave={hideSubMenu}>\n <a id={sub.name} href={sub.link.value || 'javascript:;'} target={openNewWindow(sub?.target?.value)} onMouseEnter={displaySubMenu}>{sub?.label?.value}</a>\n <ul>\n {!!sub.children ? _.sortBy(sub.children, ['seqIndex']).map((lvl: any, i: number) => {\n if (lvl.label.value) {\n return (\n <li key={`sub_${i}`}>\n <a id={lvl.name} href={lvl.link.value} target={openNewWindow(lvl?.target?.value)} className={lvl.children.length > 0 ? 'nav-arrow' : ''} onMouseEnter={displaySubMenu2}>{lvl.label.value}</a>\n <ul>\n {!!lvl.children ? _.sortBy(lvl.children, ['seqIndex']).map((last: any, j: number) => {\n if (last.label.value) {\n return (\n <li key={`last_${j}`}>\n <a id={last.name} href={last.link.value} target={openNewWindow(last?.target?.value)}>{last.label.value}</a>\n </li>\n )\n }\n }) : <></>}\n </ul>\n </li>\n )\n }\n }) : <></>}\n </ul>\n </li>\n )\n }\n })\n }\n </ul>\n </nav>\n </div>\n <div className=\"clear\"></div>\n </div>\n </div>\n </div>\n </div>\n </Container>\n <Container sx={{ display: { lg: 'none' } }}>\n <div style={{ position: 'absolute', top: '15px', right: '15px' }} onClick={toggleMainMenu(true)}>\n <a id=\"btn-menu-mobile\" />\n </div>\n <Drawer open={open} onClose={toggleMainMenu(false)} anchor={'right'}>\n <nav id=\"mainNav-mobile\">\n <div className=\"mobileTitle\" style={{display:\"flex\"}}>\n {/* <div id=\"ewinContainer\" className=\"mobile-top-ewin\">\n <a className=\"ewin\" onClick={(e) => waTracker('header_ewin_home')} href=\"//bet.hkjc.com/default.aspx?lang=en\" target=\"_blank\">\n <img src={getStaticSrcPath(\"/commonImg/spacer.png\")} style={{ border: 0, width: 39, height: 40 }} alt=\"eWin\" />\n </a>\n </div> */}\n <span className=\"mobile-top-login\" style={{display:\"flex\"}}>\n <span><a className=\"ewin\" onClick={(e) => waTracker('header_ewin_home')} href={headerData?.RightLink?.value} target={openTarget(headerData?.RightLinkNewWindow?.value)}><img src={headerData?.RightImage?.src ? headerData?.RightImage?.src : `${myContextState.assetPrefix}/commonImg/icon_ewin.png`} style={{ border: 0, width: 39, height: 40 }} alt={headerData?.RightImage?.alt} id=\"imgSubLogo\" /></a></span>\n <span className=\"beforelogin\" style={{display: isLogin ? \"none\" : \"\" }}>\n <a className=\"login\" href=\"javascript:;\" onClick={(e) => redirectPage(e, 'login', lang.langType)}>{dict(\"login\")}</a> /\n <a href=\"javascript:;\" onClick={(e) => redirectPage(e, 'register', lang.langType)}>{dict(\"register\")}</a> /\n <a href=\"javascript:;\" onClick={(e) => redirectPage(e, 'help', lang.langType)} className=\"faq\">{dict(\"faq\")}</a> \n <a href={lang.langType === LANGTYPE_EN ? window.globalConfig?.LINKED_PAGES?.SEARCHPAGEENG : window.globalConfig?.LINKED_PAGES?.SEARCHPAGECHI} target=\"_blank\"><SearchIcon sx={{ color:\"#FFF\",...textSize(22), verticalAlign: \"middle\"}} ></SearchIcon></a>\n \n </span>\n <span className=\"afterlogin\" style={{display: isLogin ? \"\" : \"none\", paddingLeft: '10px' }}>\n <div className=\"mobile_login_message\">\n <span className=\"hkjc_greeting_name\">{dict(\"hi\")}{showDisplayName}</span> \n <a className=\"logout\" href=\"javascript:;\" onClick={(e) => redirectPage(e, 'logout', lang.langType)}>{dict(\"logout\")}</a> /\n </div>\n <a href=\"javascript:;\" onClick={(e) => redirectPage(e, 'preference', lang.langType)}>{dict(\"preference\")}</a> \n <a href=\"javascript:;\" onClick={(e) => redirectPage(e, 'help', lang.langType)} className=\"faq\">{dict(\"faq\")}</a> \n <a href={lang.langType === LANGTYPE_EN ? window.globalConfig?.LINKED_PAGES?.SEARCHPAGEENG : window.globalConfig?.LINKED_PAGES?.SEARCHPAGECHI} target=\"_blank\"><SearchIcon sx={{ color:\"#FFF\",...textSize(22), verticalAlign: \"middle\"}} ></SearchIcon></a>\n </span>\n </span>\n <span className=\"mobile-top-lang\"> \n {\n Object.keys(LANGUAGE).map((key: string) => {\n const code = str2LangCode(key)\n if (lang.langCode === code) return\n return <a key={`languageBtn_${key}`} onClick={() => switchLanguage(code)} className=\"lang\">{LANGUAGE[code].display}</a>\n })\n }\n </span>\n </div>\n <div className=\"mm-panel\">\n <div className=\"active\" id=\"mm-1\">\n <div className=\"mm-navbar\">\n <a className=\"mm-title\" id=\"nav_title_hkjc\">{lang.langType === LANGTYPE_EN ? \"HKJC\" : \"香港賽馬會\"}</a>\n </div>\n <ul className=\"mm-listview\">\n <li><a id=\"home\" href={lang.langType === LANGTYPE_EN ? window.globalConfig?.LINKED_PAGES?.HOMEPAGEENG : window.globalConfig?.LINKED_PAGES?.HOMEPAGECHI}>{dict(\"home\")}</a></li>\n {mainMenu.map((item, index) => {\n if (item?.label?.value) {\n return (\n <li key={`${item}_${index}`}>\n <a id={item?.name} href={item?.link.value} target={openNewWindow(item?.target?.value)}>{item?.label?.value}</a>\n {item.name === '02-Racing' ? <a className=\"mm-next\" id=\"nav_next_mm_2\" href=\"javascript:;\" data-target=\"#mm-2\" onClick={(e) => changeMenu(e, 'mm-1', 'mm-2')}></a> : <></>}\n </li>\n )\n }\n })}\n </ul>\n </div>\n <div className=\"inactive\" id=\"mm-2\">\n <div className=\"mm-navbar\">\n <a className=\"mm-prev\" id=\"nav_prew_mm_1\" href=\"javascript:;\" data-target=\"#mm-1\" onClick={(e) => changeMenu(e, 'mm-2', 'mm-1')}></a>\n <a className=\"mm-title\" id=\"nav_title_02_Racing\">{mainMenu.filter((item) => item.name === '02-Racing')[0]?.label.value}</a>\n </div>\n <ul className=\"mm-listview\">\n {subMena.map((sub, idx) => {\n if (sub.label.value) {\n return (\n <li key={`${sub}_${idx}`}>\n <a id={sub.name} href={sub.link.value} target={openNewWindow(sub?.target?.value)}>{sub.label.value}</a>\n {!!(sub.children.length > 0) ? <a className=\"mm-next\" id=\"nav_next_mm_3\" href=\"javascript:;\" data-target={\"#mm-3\" + idx} onClick={(e) => changeMenu(e, 'mm-2', \"mm-3\" + idx)}></a> : <></>}\n </li>\n )\n }\n })}\n </ul>\n </div>\n {subMena.map((sub, idx) => {\n if (sub.label.value) {\n return (!!sub.children ? (\n <div className=\"inactive\" id={\"mm-3\" + idx} key={\"mm-3\" + idx}>\n <div className=\"mm-navbar\">\n <a className=\"mm-prev\" id=\"nav_prew_mm_2\" href=\"javascript:;\" data-target=\"#mm-2\" onClick={(e) => changeMenu(e, \"mm-3\" + idx, 'mm-2')}></a>\n <a className=\"mm-title\" id={\"nav_title_mm_3\" + idx}>{sub.label.value}</a>\n </div>\n <ul className=\"mm-listview\">\n {_.sortBy(sub.children, ['seqIndex']).map((lvl: any, indx: number) => {\n if (lvl.label.value) {\n return (\n <li key={`${lvl}_${indx}`}>\n <a id={lvl.name} href={lvl.link.value} target={openNewWindow(lvl?.target?.value)}>{lvl.label.value}</a>\n {!!(lvl.children.length > 0) ? <a className=\"mm-next\" id=\"nav_next_mm_4\" href=\"javascript:;\" data-target={\"#mm-4\" + indx} onClick={(e) => changeMenu(e, \"mm-3\" + idx, \"mm-4\" + indx)}></a> : <></>}\n </li>\n )\n }\n })}\n </ul>\n </div>\n ) : (<></>))\n }\n })}\n {subMena.map((sub, idx) => {\n return (!!sub.children ? (\n _.sortBy(sub.children, ['seqIndex']).map((lvl: any, indx: number) => {\n if (lvl.label.value) {\n return (!!lvl.children ? (\n <div className=\"inactive\" id={\"mm-4\" + indx} key={\"mm-4\" + indx} onClick={(e) => changeMenu(e, \"mm-4\" + indx, \"mm-3\" + idx)}>\n <div className=\"mm-navbar\">\n <a className=\"mm-prev\" id=\"nav_prew_mm_3\" href=\"javascript:;\" data-target={\"#mm-3\" + idx}></a>\n <a className=\"mm-title\" id={\"nav_title_mm_4\" + indx}>{lvl.label.value}</a>\n </div>\n <ul className=\"mm-listview\">\n {_.sortBy(lvl.children, ['seqIndex']).map((lvllast: any, ix: number) => {\n if (lvllast.label.value) {\n return (\n <li key={`${lvllast}_${ix}`}>\n <a id={lvllast.name} href={lvllast.link.value} target={openNewWindow(lvllast?.target?.value)}>{lvllast.label.value}</a>\n </li>\n )\n }\n })}\n </ul>\n </div>\n ) : (<></>))\n }\n })\n ) : (<></>))\n })}\n </div>\n </nav>\n </Drawer>\n </Container>\n {/* <Script src={`${assetPrefix}/js/loadSSO.js`} /> */}\n </>\n );\n}\n\nfunction displaySubMenu(e: any) {\n e.preventDefault();\n e.target.parentElement.parentElement.classList.add('dim');\n e.target.classList.add('active');\n e.target.parentElement.parentElement.classList.remove('first');\n adjustPosition(e.target, e.target.nextElementSibling)\n}\n\nfunction displaySubMenu2(e: any) {\n e.preventDefault();\n adjustPosition2(e.target, e.target.nextElementSibling);\n \n}\n\nfunction adjustPosition(curentTab:any, ele:any) {\n const rect = curentTab.getBoundingClientRect();\n const viewportWidth = window.innerWidth;\n if(viewportWidth - rect.right < 210) {\n ele.style.left = 'auto';\n ele.style.right = '0';\n } else {\n ele.style.left = '0';\n ele.style.right = 'auto';\n }\n}\nfunction hideSubMenu(e: any) {\n e.preventDefault();\n e.target.parentElement.parentElement.classList.remove('dim');\n const children = e.target.parentElement.children;\n for (const child of children) {\n child.classList.remove('active');\n }\n e.target.parentElement.parentElement.classList.remove('first');\n}\nfunction adjustPosition2(curentTab:any, ele:any) {\n const rect = curentTab.getBoundingClientRect();\n const viewportWidth = window.innerWidth;\n if(viewportWidth - rect.right < 210) {\n ele.style.left = 'auto';\n ele.style.right = '100%';\n } else {\n ele.style.left = '100%';\n ele.style.right = 'auto';\n }\n}\nfunction waTracker(name: string) {\n console.log('tracker name: ', name);\n // WATracker.trackClickEvent(name)\n}\n\nexport default HeaderNav","\n\nexport const textSize =(value:number)=>{\n return {\n fontSize: value+\"px\",\n [`@media only screen and (min-width: 1680px)`]: {\n fontSize: (value+2) +\"px\",\n },\n }\n};\n\nexport const text_size = (value:number)=>{\n return `\n font-size: ${value}px;\n @media only screen and (min-width: 1680px) {\n font-size: ${value+2}px;\n }`\n};","export const oddType = {\n WIN: \"WIN\",\n PLA: \"PLA\",\n QIN: \"QIN\",\n QPL: \"QPL\",\n IWN: \"IWN\",\n FCT: \"FCT\",\n TCE: \"TCE\",\n QTT: \"QTT\",\n TRI: \"TRI\",\n FF: \"FF\",\n DBL: \"DBL\",\n TBL: \"TBL\",\n DT: \"DT\",\n TT: \"TT\",\n SIX_UP: \"SixUP\",\n CWA: \"CWA\",\n CWB: \"CWB\",\n CWC: \"CWC\",\n JKC: \"JKC\",\n TNC: \"TNC\",\n}\nexport const singlePools = [\n oddType.WIN,\n oddType.PLA,\n oddType.QIN,\n oddType.QPL,\n oddType.IWN,\n oddType.CWA,\n oddType.CWB,\n oddType.CWC,\n oddType.FCT,\n oddType.TCE,\n oddType.TRI,\n oddType.FF,\n oddType.QTT,\n];","export const GET_RACE_CARD_LIST = `\nquery RaceCardProfile($date: String, $venueCode: String, $type: STStatType, $ids: [String!], $raceNumber: String, $meetingDate: String) {\n raceMeetingProfile(date: $date, venueCode: $venueCode) {\n totalNumberOfRace\n status\n pmPools {\n leg {\n races\n }\n status\n oddsType\n }\n races {\n id\n no\n status\n postTime\n raceName_en\n raceName_ch\n raceResults {\n status\n }\n countryCodeNm {\n code\n english\n chinese\n }\n distance\n raceCourse {\n code\n description_en\n description_ch\n }\n raceTrack {\n code\n description_en\n description_ch\n }\n raceType_en\n raceType_ch\n raceClass_en\n raceClass_ch\n country_en\n country_ch\n winningMargin {\n seqNo\n lbw\n }\n go_en\n go_ch\n remarks {\n name_en\n name_ch\n seqNo\n }\n runners {\n horse {\n name_en\n name_ch\n id\n }\n status\n color\n no\n handicapWeight\n jockey {\n code\n name_en\n name_ch\n }\n trainer {\n code\n name_en\n name_ch\n }\n id\n last6run\n internationalRating\n currentRating \n sire\n sexNm {\n chinese\n english\n code\n }\n age\n barrierDrawNumber\n gearInfo\n stat(type: $type) {\n statType\n numStarts\n numFirst\n numSecond\n numThird\n }\n damNm {\n code\n chinese\n english\n }\n sireOfDamNm {\n code\n chinese\n english\n }\n ownerNm {\n code\n chinese\n english\n }\n colorNm {\n code\n chinese\n english\n }\n }\n }\n date\n venueCode\n }\n\n simulcastHorse(ids: $ids, raceNumber: $raceNumber, meetingDate: $meetingDate, venCode: $venueCode) {\n id\n brandNumber\n earings\n performanceStats {\n type\n firstPlace\n secondPlace\n thirdPlace\n totalRun\n ssn\n } \n }\n}\n`;\nexport const GET_RACE_INFO_LIST = `\nquery SimulcastRaceInfo($ids: [String!], $raceNumber: String, $meetingDate: String, $venCode: String) {\n simulcastHorse(ids: $ids, raceNumber: $raceNumber, meetingDate: $meetingDate, venCode: $venCode) {\n id\n horseFormRecord {\n id\n date\n jockey {\n code\n name_ch\n name_en\n }\n trainer {\n name_ch\n name_en\n }\n raceNo\n placeNo\n ruPlace\n venue {\n code\n chinese\n english\n }\n track {\n english\n chinese\n code\n }\n gear\n comments {\n code\n chinese\n english\n }\n winners{\n pos\n name {\n chinese\n english\n }\n cnty {\n code\n chinese\n english\n }\n }\n med {\n code\n chinese\n english\n }\n raceName {\n code\n chinese\n english\n }\n course {\n code\n chinese\n english\n }\n raceId\n raceIndex\n runnerStatus\n racingComments {\n name\n date\n }\n winOdds\n resultIndex\n horseWeight\n actualWeight\n marginOrLBW {\n code\n chinese\n english\n }\n season\n runnerResults {\n id\n }\n racecourse {\n code\n chinese\n english\n }\n going {\n code\n chinese\n english\n }\n sectionTimeSplits {\n sectionTime\n gpSec\n sectionNo\n }\n raceTimeSplits {\n sectionNo\n gpSec\n sectionTime\n }\n sectionInfos {\n sectionNo\n ruPos\n sectionTime\n }\n barrierDrNo\n distance\n finalTimeOfRace\n raceCountry {\n code\n chinese\n english\n }\n cntyShortNm {\n code\n chinese\n english\n }\n racecourse {\n code\n chinese\n english\n }\n numOfStarters\n currency {\n english\n code\n chinese\n }\n ageCondition {\n code\n english\n chinese\n } \n condition {\n code\n english\n chinese\n }\n prizeMoney\n fav\n placingRemarks\n className {\n chinese\n code\n english\n }\n raceTurn {\n chinese\n code\n english\n }\n }\n brandNumber\n }\n}\n`;\nexport const GET_HEADER_NAV_MAIN = `\n query SiteHeaderNavMain($path: String, $language: String) {\n item(path: $path, language: $language) {\n data: children {\n name\n hasChildren\n label: field(name: \"label\") {\n ... on TextField {\n value\n }\n }\n link: field(name: \"link\") {\n ... on TextField {\n value\n }\n }\n seq: field(name: \"seq\") {\n ... on TextField {\n value\n }\n }\n target: field(name: \"newwindow\") {\n ... on CheckboxField {\n value\n }\n }\n newwindow: field(name: \"newwindow\") {\n name\n value \n }\n children {\n name\n hasChildren\n label: field(name: \"label\") {\n ... on TextField {\n value\n }\n }\n link: field(name: \"link\") {\n ... on TextField {\n value\n }\n }\n seq: field(name: \"seq\") {\n ... on TextField {\n value\n }\n }\n target: field(name: \"newwindow\") {\n ... on CheckboxField {\n value\n }\n }\n newwindow: field(name: \"newwindow\") {\n name\n value \n }\n children {\n name\n hasChildren\n label: field(name: \"label\") {\n ... on TextField {\n value\n }\n }\n link: field(name: \"link\") {\n ... on TextField {\n value\n }\n }\n seq: field(name: \"seq\") {\n ... on TextField {\n value\n }\n }\n target: field(name: \"newwindow\") {\n ... on CheckboxField {\n value\n }\n }\n newwindow: field(name: \"newwindow\") {\n name\n value \n }\n children {\n name\n hasChildren\n label: field(name: \"label\") {\n ... on TextField {\n value\n }\n }\n link: field(name: \"link\") {\n ... on TextField {\n value\n }\n }\n seq: field(name: \"seq\") {\n ... on TextField {\n value\n }\n }\n target: field(name: \"newwindow\") {\n ... on CheckboxField {\n value\n }\n }\n newwindow: field(name: \"newwindow\") {\n name\n value \n }\n }\n }\n }\n }\n }\n }\n `;\n\nexport const GET_HEADER = `\n query SiteHeader($path: String, $language: String) {\n item(path: $path, language: $language) {\n displayName\n HRLabel: field(name: \"HRLabel\") {\n value\n }\n LeftImage: field(name: \"LeftImage\") {\n ... on ImageField {\n value\n size\n src\n title\n }\n }\n RightImage: field(name: \"RightImage\") {\n ... on ImageField {\n value\n size\n src\n title\n alt\n }\n }\n HRRedirectionLink: field(name: \"HRRedirectionLink\") {\n value\n }\n LeftLink: field(name: \"LeftLink\") {\n value\n }\n RightLink: field(name: \"RightLink\") {\n value\n }\n HRRedirectionNewWindow: field(name: \"HRRedirectionNewWindow\") {\n value\n }\n LeftLinkNewWindow: field(name: \"LeftLinkNewWindow\") {\n value\n }\n RightLinkNewWindow: field(name: \"RightLinkNewWindow\") {\n value\n }\n FBLabel: field(name: \"FBLabel\") {\n value\n }\n FBRedirectionLink: field(name: \"FBRedirectionLink\") {\n value\n }\n FBRedirectionNewWindow: field(name: \"FBRedirectionNewWindow\") {\n value\n }\n M6Label: field(name: \"M6Label\") {\n value\n }\n M6RedirectionLink: field(name: \"M6RedirectionLink\") {\n value\n }\n M6RedirectionNewWindow: field(name: \"M6RedirectionNewWindow\") {\n value\n }\n }\n } \n `;\n\nexport const GET_RACE_SITE_MENU = `\n query SiteRacingMenu($path: String, $language: String) {\n item(path: $path, language: $language) {\n children {\n name\n hasChildren\n label: field(name: \"Label\") {\n ... on TextField {\n value\n }\n }\n link: field(name: \"RedirectionURL\") {\n ... on TextField {\n value\n }\n }\n target: field(name: \"Target\") {\n ... on TextField {\n value\n }\n }\n targetJCRWPage: field(name: \"RedirectionJCRWPage\") {\n ... on TextField {\n value\n }\n }\n redirectionTarget: field(name: \"Redirection\") {\n ... on TextField {\n value\n }\n }\n children {\n name\n hasChildren\n label: field(name: \"Label\") {\n ... on TextField {\n value\n }\n }\n link: field(name: \"RedirectionURL\") {\n ... on TextField {\n value\n }\n }\n target: field(name: \"Target\") {\n ... on TextField {\n value\n }\n }\n targetJCRWPage: field(name: \"RedirectionJCRWPage\") {\n ... on TextField {\n value\n }\n }\n redirectionTarget: field(name: \"Redirection\") {\n ... on TextField {\n value\n }\n }\n children {\n name\n hasChildren\n label: field(name: \"Label\") {\n ... on TextField {\n value\n }\n }\n link: field(name: \"RedirectionURL\") {\n ... on TextField {\n value\n }\n }\n target: field(name: \"Target\") {\n ... on TextField {\n value\n }\n }\n targetJCRWPage: field(name: \"RedirectionJCRWPage\") {\n ... on TextField {\n value\n }\n }\n redirectionTarget: field(name: \"Redirection\") {\n ... on TextField {\n value\n }\n }\n children {\n name\n hasChildren\n label: field(name: \"Label\") {\n ... on TextField {\n value\n }\n }\n link: field(name: \"RedirectionURL\") {\n ... on TextField {\n value\n }\n }\n target: field(name: \"Target\") {\n ... on TextField {\n value\n }\n }\n targetJCRWPage: field(name: \"RedirectionJCRWPage\") {\n ... on TextField {\n value\n }\n }\n redirectionTarget: field(name: \"Redirection\") {\n ... on TextField {\n value\n }\n }\n }\n }\n }\n }\n }\n } \n`;\n\nexport const GET_RACE_MEETING_PROFILE = `\n query RaceMeetingProfile($date: String, $oddsTypes: [OddsType], $venueCode: String) {\n raceMeetingProfile(date: $date, venueCode: $venueCode) {\n races {\n runners {\n jockey {\n id\n code\n name_en\n name_ch\n status\n }\n trainer {\n id\n code\n name_en\n name_ch\n }\n horse {\n name_en\n name_ch\n id\n }\n id\n no\n winOdds\n status\n }\n distance\n raceClass_en\n raceClass_ch\n no\n raceTrack {\n code\n description_en\n description_ch\n }\n id\n raceName_en\n raceName_ch\n status\n }\n venueCode\n date\n status\n pmPools(oddsTypes: $oddsTypes) {\n status\n sellStatus \n id \n leg {\n number\n races\n }\n oddsNodes {\n oddsValue \n combString\n hotFavourite\n }\n }\n changeHistories {\n type\n raceNo\n runnerNo\n }\n } \n }\n`;\n\nexport const GET_FOOTER_MENU = `\n query FooterMenu($language: String, $path: String) { \n item(language: $language, path: $path) {\n sitemap: field(name: \"Sitemap\") {\n ... on TextField {\n value\n }\n } \n bottomlink: field(name: \"BottomLink\") {\n ... on TextField {\n value\n }\n }\n }\n } \n `;\n\nexport const GET_RGPBanner = ` \n query RGPBanner($language: String, $path: String) { \n item(language: $language, path: $path) {\n RGPBanner: field(name: \"RGPBanner\") {\n ... on TextField {\n rendered \n }\n }\n }\n } \n `;\n\nexport const GET_SELECTED_MEETING_RACES_INFO = `\n query SelectedMeetingRacingInfo($language: String, $path: String, $entriesFolderTemplateIDs: [String]) {\n item (language: $language, path: $path){\n displayName\n hasChildren\n races: children {\n id\n displayName\n hasChildren \n ... on Race {\n raceName {\n value\n }\n venueCode {\n value\n }\n raceDatetime {\n value: formattedDateValue(format: \"yyyy-MM-ddTHH:mm:sszzz\", offset: -480)\n }\n raceDistance {\n value\n }\n group {\n value\n }\n trackMap {\n targetItem {\n ... on TrackImage {\n trackImage {\n src\n alt\n }\n }\n }\n }\n raceDescription {\n value\n }\n }\n entries: children (includeTemplateIDs: $entriesFolderTemplateIDs) {\n displayName\n hasChildren \n ... on Entries {\n entries {\n value\n } \n }\n }\n }\n }\n }\n `;\n\nexport const GET_SIMPLIFIED_MEETING_RACES_INFO = `\n query SimpifedMeetingRacingInfo($language: String, $path: String) {\n item(language: $language, path: $path) {\n displayName\n hasChildren\n races: children {\n displayName\n hasChildren\n ... on Race {\n venueCode {\n value\n }\n raceDistance {\n value\n }\n group {\n value\n }\n }\n }\n }\n }\n`;\n\n\nexport const SEARCH_MEETINGS_BY_DATE = `\nfragment menuInfo on MeetingSummaryMenu {\n displayName\n name\n hasChildren\n label {\n value\n name\n }\n redirection {\n value\n }\n redirectionJCRWPage {\n value\n }\n redirectionURL {\n value\n }\n target {\n value\n }\n}\n\nfragment meetingSummaryMenu on MeetingSummaryMenu {\n ...menuInfo\n children{\n ...menuInfo\n children {\n ...menuInfo\n }\n }\n}\n\nquery SearchMeetingsByDate($path: String!, $language: String!, $meetingDate: String!) {\n search(\n rootItem: $path, \n language: $language,\n fieldsEqual: [{name: \"MeetingDate\", value: $meetingDate}]\n ) {\n results {\n items {\n meeting: item {\n ... on MeetingDate {\n id\n name\n displayName\n hasChildren\n path\n season: parent {\n name\n }\n presite {\n boolValue\n }\n meetingDate {\n value: formattedDateValue(format: \"yyyy-MM-ddTHH:mm:sszzz\", offset: -480)\n }\n meetingVenueCode {\n value\n }\n meetingCountry {\n value\n }\n countryName {\n value\n }\n racedayName {\n value\n rendered\n }\n racedayImage {\n alt\n src\n }\n carnivalInfo {\n value\n }\n racecourseName {\n value\n }\n noOfRaces {\n value\n }\n mainRace {\n targetItem {\n displayName\n path\n template {\n id\n }\n }\n }\n meetingDescription {\n value\n rendered\n }\n MeetingSummaryMenu: meetingSummaryMenu {\n targetItems {\n ...meetingSummaryMenu\n }\n }\n RaceImages: raceImages {\n targetItems {\n ... on RaceImage {\n RaceimageURL: raceimage {\n src\n alt\n }\n }\n } \n }\n finalDeclarationsAndBarrierDraws {\n displayName\n rendered\n value\n url\n }\n }\n }\n }\n totalCount\n }\n }\n}\n`;\n\nexport const GET_MEETING_BROADCAST = ` \nquery MeetingBroadcast($path: String, $language: String) {\n items: item(path: $path, language: $language) {\n remarks: field(name: \"remarks\") {\n value\n }\n content:children {\n ... on BroadcastTable {\n title {\n value\n }\n }\n broadcasts: children {\n ... on BroadcastRow {\n displayName\n broadcastTime {\n value\n }\n channels {\n value\n }\n languages {\n value\n }\n reserved1 {\n value\n }\n reserved2 {\n value\n }\n reserved3 {\n value\n }\n }\n }\n }\n }\n}\n`;\n\nexport const GET_MEETING_BROADCASTCONFIG = ` \nquery MeetingBroadcastConfig($path: String, $language: String) { \n config: item(path: $path, language: $language) {\n ... on BroadcastConfig {\n displayName\n title {\n value\n }\n enableBroadcastTime {\n value: boolValue\n }\n enableChannels {\n value: boolValue\n }\n enableLanguages {\n value: boolValue\n }\n enableReserved1 {\n value: boolValue\n }\n enableReserved2 {\n value: boolValue\n }\n enableReserved3 {\n value: boolValue\n }\n }\n }\n}\n`;\n\nexport const GET_RACE_PASTWINNERS = ` \nquery PastWinners($path: String, $language: String) {\n data: item(path: $path, language: $language) {\n pastWinners: children{\n ... on PastWinner {\n year {\n value\n }\n horse {\n value\n }\n jockey {\n value\n }\n trainer {\n value\n }\n replayVideo {\n value\n }\n }\n }\n }\n config: item(path: \"/sitecore/content/Sites/JCRW/Simulcast/PastWinnersConfig\", language: $language) {\n ... on PassWinnersConfig {\n displayName\n label1 {\n value\n }\n label2 {\n value\n }\n label3 {\n value\n }\n label4 {\n value\n }\n label5 {\n value\n }\n enabled1 {\n value\n }\n enabled2 {\n value\n }\n enabled3 {\n value\n }\n enabled4 {\n value\n }\n enabled5 {\n value\n }\n isVideo1 {\n value\n }\n isVideo2 {\n value\n }\n isVideo3 {\n value\n }\n isVideo4 {\n value\n }\n isVideo5 {\n value\n }\n }\n \n }\n}\n`;\n\nexport const GET_HORSE_PROFILE = `\nquery SimulcastHorseProfile($ids: [String!], $meetingDate: String, $raceNumber: String) {\n simulcastHorse(ids: $ids, meetingDate: $meetingDate, raceNumber: $raceNumber) {\n age\n brandNumber\n earings\n colour {\n code\n chinese\n english\n }\n dam\n countryOfOrigin {\n chinese\n code\n english\n }\n sire\n sireOfDam\n rating\n name_ch\n name_en\n gender {\n chinese\n code\n english\n }\n id\n trainer {\n name_ch\n name_en\n }\n ownerName {\n chinese\n code\n english\n }\n winningRecord {\n totalStakes\n firstPlace\n secondPlace\n thirdPlace\n totalRun\n }\n performanceStats {\n type\n firstPlace\n secondPlace\n thirdPlace\n totalRun\n ssn\n }\n horseFormRecord {\n id\n } \n }\n}\n`;\nexport const GET_HORSE_PERFORMANCE = `\nquery SimulcastHorse_Performance($raceNumber: String, $meetingDate: String, $ids: [String!]) {\n simulcastHorse(raceNumber: $raceNumber, meetingDate: $meetingDate, ids: $ids) {\n performanceStats {\n type\n firstPlace\n secondPlace\n thirdPlace\n totalRun\n ssn\n } \n earings\n }\n}\n`;\n\nexport const GET_RACE_RESULTS_LIST = `\n query RaceResultsProfile($date: String, $venueCode: String) {\n videoReplay(date: $date, venueCode: $venueCode) {\n hkRaceDate\n raceNo\n overseasRaceIndicator\n videoPresentOrNot\n isVideoReplayOn\n language\n }\n raceMeetingProfile(date: $date, venueCode: $venueCode) {\n totalNumberOfRace\n currentNumberOfRace\n races {\n id\n no\n status\n runners {\n horse {\n id\n name_en\n name_ch\n }\n color\n id\n no\n handicapWeight\n jockey {\n code\n name_en\n name_ch\n }\n trainer {\n code\n name_en\n name_ch\n }\n last6run\n internationalRating\n sire\n sexNm {\n chinese\n english\n }\n age\n barrierDrawNumber\n gearInfo\n margin\n marginNm {\n chinese\n english\n }\n lbwNm {\n chinese\n english\n }\n winOdds\n finalPosition\n deadHeat\n status\n }\n judgeSigns {\n value_en\n }\n raceName_en\n raceName_ch\n postTime\n country_en\n country_ch\n distance\n go_en\n go_ch\n raceTrack {\n description_en\n description_ch\n }\n raceCourse {\n description_en\n description_ch\n displayCode\n }\n raceClass_en\n raceClass_ch\n raceResults {\n status\n raceTime\n mgnInd\n }\n }\n date\n venueCode\n pmPools {\n leg {\n number\n races\n }\n status\n comingleStatus \n oddsType\n name_en\n name_ch\n lastUpdateTime\n dividends(officialOnly: true) {\n winComb\n type\n div\n seq\n status\n guarantee\n partial\n partialUnit\n }\n }\n status\n }\n }\n `;\n\nexport const GET_FIXTURELIST_SUMMARY = `\nquery FixtureListSummary($path: String, $language: String, $racesFolderTemplateIDs: [String]) { \n data: item(path: $path, language: $language) {\n season: children {\n displayName\n hasChildren\n ... on FixtureSeasonFolder {\n fixtureSorting {\n targetItems {\n ... on Fixture {\n meetingRaceMapping {\n targetItem {\n displayName\n template {\n name\n }\n ... on MeetingDate {\n hasChildren\n path\n presite {\n boolValue\n }\n meetingDate {\n value: formattedDateValue(\n format: \"yyyy-MM-ddTHH:mm:sszzz\"\n offset: -480\n )\n }\n meetingVenueCode {\n value\n }\n mainRace {\n targetItem {\n displayName\n path\n template {\n id\n }\n }\n }\n races: children(\n includeTemplateIDs: $racesFolderTemplateIDs\n ) {\n raceInfo: children {\n ... on Race {\n displayName\n raceDatetime {\n value: formattedDateValue(\n format: \"yyyy-MM-ddTHH:mm:sszzz\"\n offset: -480\n )\n }\n }\n }\n }\n }\n ... on Race {\n raceDatetime {\n value: formattedDateValue(\n format: \"yyyy-MM-ddTHH:mm:sszzz\"\n offset: -480\n )\n }\n parent {\n meeting: parent {\n displayName\n ... on MeetingDate {\n hasChildren\n path\n presite {\n boolValue\n }\n meetingDate {\n value: formattedDateValue(\n format: \"yyyy-MM-ddTHH:mm:sszzz\"\n offset: -480\n )\n }\n meetingVenueCode {\n value\n }\n }\n }\n }\n }\n }\n }\n date_HK {\n value: rendered\n }\n raceName {\n value\n }\n locationName {\n value\n }\n locationCode {\n value\n }\n locationNameList: versions(allLanguages: true) {\n version\n language {\n name\n }\n ... on Fixture {\n locationName {\n value\n }\n }\n }\n raceSeries: field(name: \"raceSeries\") {\n ... on MultilistField {\n targetItems {\n displayName\n label: field(name: \"raceSeries\") {\n value\n }\n }\n }\n }\n teamsiteURL {\n value\n }\n }\n }\n }\n currentSeason {\n boolValue\n }\n }\n }\n }\n config: item(\n path: \"/sitecore/content/Sites/JCRW/Simulcast/FixtureConfig_MeetingSummary\"\n language: $language\n ) {\n ... on FixtureConfig_MeetingSummary {\n date_HK {\n value\n }\n time {\n value\n }\n raceday_Race {\n value\n }\n country {\n value\n }\n }\n }\n}`;\n\nexport const GET_FIXTURELIST = `\nquery FixtureList($path: String, $language: String, $racesFolderTemplateIDs: [String]) { \n data: item(path: $path, language: $language) {\n season: children {\n displayName\n hasChildren\n ... on FixtureSeasonFolder {\n fixtureSorting {\n targetItems {\n ... on Fixture {\n carnivalName {\n value\n }\n meetingRaceMapping {\n targetItem {\n displayName\n template {\n name\n }\n ... on MeetingDate {\n hasChildren\n path\n presite {\n boolValue\n }\n meetingDate {\n value: formattedDateValue(\n format: \"yyyy-MM-ddTHH:mm:sszzz\"\n offset: -480\n )\n }\n meetingVenueCode {\n value\n }\n mainRace {\n targetItem {\n displayName\n path\n template {\n id\n }\n }\n }\n races: children(\n includeTemplateIDs: $racesFolderTemplateIDs\n ) {\n raceInfo: children {\n ... on Race {\n displayName\n raceDatetime {\n value: formattedDateValue(\n format: \"yyyy-MM-ddTHH:mm:sszzz\"\n offset: -480\n )\n }\n }\n }\n }\n }\n ... on Race {\n raceDatetime {\n value: formattedDateValue(\n format: \"yyyy-MM-ddTHH:mm:sszzz\"\n offset: -480\n )\n }\n parent {\n meeting: parent {\n displayName\n ... on MeetingDate {\n hasChildren\n path\n presite {\n boolValue\n }\n meetingDate {\n value: formattedDateValue(\n format: \"yyyy-MM-ddTHH:mm:sszzz\"\n offset: -480\n )\n }\n meetingVenueCode {\n value\n }\n }\n }\n }\n }\n }\n }\n date_HK {\n value: rendered\n }\n raceName {\n value\n }\n locationName {\n value\n }\n locationCode {\n value\n }\n locationNameList: versions(allLanguages: true) {\n version\n language {\n name\n }\n ... on Fixture {\n locationName {\n value\n }\n }\n }\n raceSeries: field(name: \"raceSeries\") {\n ... on MultilistField {\n targetItems {\n displayName\n label: field(name: \"raceSeries\") {\n value\n }\n }\n }\n }\n teamsiteURL {\n value\n }\n }\n }\n }\n currentSeason {\n boolValue\n }\n }\n }\n }\n config: item(\n path: \"/sitecore/content/Sites/JCRW/Simulcast/FixtureConfig_FixtureList\"\n language: $language\n ) {\n ... on FixtureConfig_FixtureList {\n date_HK {\n value\n }\n raceName {\n value\n }\n location {\n value\n }\n raceSeries1 {\n value\n }\n raceSeries2 {\n value\n }\n raceSeries3 {\n value\n }\n }\n }\n}`;\nexport const GET_WINODDS_INFO = `\nquery RacesWinOdds($date: String, $venueCode: String, $oddsTypes: [OddsType]) {\n raceMeetingProfile(date: $date, venueCode: $venueCode) {\n races {\n no\n status\n runners {\n no\n status\n } \n }\n pmPools(oddsTypes: $oddsTypes) {\n id\n oddsNodes {\n combString\n hotFavourite\n oddsValue\n }\n lastUpdateTime\n }\n }\n}\n`;\nexport const GET_REFERENCEODDS_INFO = `\nquery ReferenceOdds($path: String, $language: String) {\n item(path: $path, language: $language) {\n ... on ReferenceOdds {\n ReferenceOddsTimestamp: referenceOddsTimestamp {\n value: formattedDateValue(format: \"yyyy-MM-ddTHH:mm:sszzz\", offset: -480)\n }\n referenceOdds {\n \n value\n }\n }\n }\n}\n`;\nexport const GET_FORMCOMMENTS = `\nquery FormComments($path: String, $language: String) {\n item(path: $path, language: $language) {\n children {\n ... on FormComments {\n content {\n value\n }\n } \n }\n ... on Race{\n raceName {\n value\n }\n raceDatetime {\n value\n }\n venueCode {\n value\n }\n }\n }\n}\n`;\nexport const GET_FORMTITLE = `\nquery RacesFormTitle($date: String, $venueCode: String) {\n raceMeetingProfile(date: $date, venueCode: $venueCode) {\n races {\n id\n raceName_en\n raceName_ch\n postTime\n no\n }\n }\n}\n`;\n\n\nexport const GET_DISCLAIMER = `\n query Disclaimer($path: String, $language: String) {\n item: item(\n path: $path,\n language: $language\n ){\n disclaimer:field(name:\"disclaimer\"){\n value\n }\n }\n }\n `;\n\nexport const GET_TRACK_ANALYSIS = `\nquery TrackAnalysis($path: String, $language: String) {\n item: item(\n path: $path,\n language: $language\n ){\n ... on TrackAnalysis {\n title {\n value\n }\n videoLink {\n value\n }\n videoThumbnail {\n src\n }\n videoTitle {\n value\n }\n description {\n value\n }\n expertSelection {\n value\n }\n trackMap {\n targetItem {\n ... on TrackImage {\n trackImage {\n src\n alt\n }\n }\n }\n }\n }\n }\n}\n`;\n\nexport const GET_TRACK_ANALYSIS_EXPERTS = `\nquery TrackAnalysisExperts($path: String, $language: String) {\n item: item(\n path: $path,\n language: $language\n ){\n expertName:field(name:\"expertName\"){\n value\n }\n expertIntroduction:field(name:\"expertIntroduction\"){\n value\n }\n expertPicture: field(name: \"expertPicture\") {\n ... on ImageField {\n src\n alt\n }\n }\n }\n }\n `;\n\nexport const GET_BANNERS = `\nquery BannerQuery($path:String,$language:String){\n banners:item(path:$path,language:$language){\n bannerList:children{\n imageUrl:field(name:\"Banner\"){\n ... on ImageField{\n value:src\n }\n }\n imageUrl_Mobile:field(name:\"MobileBanner\"){\n ... on ImageField{\n value:src\n }\n }\n redirectionLink:field(name:\"RedirectionLink\"){\n value\n }\n target:field(name:\"Target\"){\n value\n }\n enabled:field(name:\"Enabled\"){\n ... on CheckboxField{\n value:boolValue\n }\n }\n description: field(name:\"BannerDescription\"){\n value\n }\n onlineDatetime:field(name:\"OnlineDatetime\"){\n sourceDate:value\n ...on DateField{\n value:formattedDateValue(format:\"s\",offset:-480)\n }\n }\n OfflineDatetime:field(name:\"OfflineDatetime\"){\n sourceDate:value\n ...on DateField{\n value:formattedDateValue(format:\"s\",offset:-480)\n }\n }\n }\n }\n}\n`;\n\nexport const GET_TIMEOFFSET = `\nquery TimeOffset {\n timeOffset {\n ts\n fb\n rc\n m6\n }\n}\n`;\n\nexport const GET_MEETING_SUMMARY_MENU_TYPE = `\nquery SimulcastMeetingMenuType($path: String, $language: String) {\n item(path: $path, language: $language) {\n menus: children {\n displayName\n subMenus: children {\n displayName\n }\n }\n }\n}\n`;\n\nexport const GET_SEASON_BY_DATE = `\nquery GetSeasonByDate ($path: String!, $dateStr: String!, $limit: Int!, $language: String!) {\n search(\n rootItem: $path, \n fieldsEqual:[\n { name:\"MeetingDate\", value: $dateStr }\n ],\n after: \"0\",\n first: $limit,\n language: $language,\n ) {\n results {\n items {\n name\n path\n language\n }\n totalCount\n }\n }\n}\n`;\n\nexport const GET_JOCKEYSTRAINERSRANKING = `\nquery JockeysTrainersRanking($path: String, $language: String) {\n item(path: $path, language: $language) {\n displayName\n name\n hasChildren\n children {\n name\n displayName\n location: field(name: \"Location\"){\n value\n } \n jockeysRanking: field(name: \"JockeysRanking\"){\n value\n } \n jockeysSourceLastUpdated: field(name: \"JockeysSourceLastUpdated\"){\n value\n } \n trainersSourceLastUpdated: field(name: \"TrainersSourceLastUpdated\"){\n value\n }\n trainersRanking: field(name: \"TrainersRanking\"){\n value\n } \n }\n }\n}\n`;\n\nexport const GET_MEETING_STATUS = `\nquery MeetingStatus($date: String, $venueCode: String, $oddsTypes: [OddsType]) {\n raceMeetingProfile(date: $date, venueCode: $venueCode) {\n totalNumberOfRace\n currentNumberOfRace\n date\n venueCode\n status\n races {\n no\n postTime\n status\n raceResults {\n status\n }\n }\n pmPools(oddsTypes: $oddsTypes) {\n oddsType\n status\n leg {\n races\n }\n }\n }\n}\n`;\n\nexport const GET_MEETINGRACE_NEWS = `\nquery GetMeetingRaceNews(\n $language: String\n $path: String\n $fieldid: String!\n $offset: Int\n) {\n search(\n language: $language\n rootItem: $path\n fieldsEqual: [{ name: \"simulcastmeetingrace\", value: $fieldid }]\n ) {\n results {\n items {\n item {\n displayName\n ... on News {\n publishDateTime: field(name: \"datetime\") {\n ... on DateField {\n date: formattedDateValue(format: \"dd/MM\", offset: $offset)\n time: formattedDateValue(format: \"HH:mm\", offset: $offset)\n value: formattedDateValue(format: \"yyyy-MM-ddTHH:mm:sszzz\", offset: -480)\n }\n }\n title {\n value\n }\n target{\n value\n }\n url: newsURL{\n value\n }\n }\n }\n }\n }\n }\n}\n`;\n\nexport const GET_RACING_CHANGES = `\nquery racingChanges($date: String, $venueCode: String) {\n raceMeetingProfile(date: $date, venueCode: $venueCode)\n {\n id\n venueCode\n date\n races {\n no\n runners {\n id\n no\n }\n }\n changeHistories {\n type\n time\n raceNo\n runnerNo\n horseName_ch\n horseName_en\n jockeyName_ch\n jockeyName_en\n scratchHorseName_ch\n scratchHorseName_en\n handicapWeight\n scrResvIndicator\n horseCode\n }\n }\n}\n`;\nexport const GET_GEARINFO = `\nquery GearInfo($path: String, $language: String) {\n item(path: $path, language: $language) {\n displayName \n children { \n gearCode: field(name: \"GearCode\") {\n value\n }\n gearName: field(name: \"GearName\") {\n value\n }\n }\n }\n}\n`;\n\nexport const GET_HOME_BASIC_INFO = `\nquery getHomeBasicInfo($localSim: LocalSim, $meetingsOnly: Boolean!, $oddsTypes: [OddsType]) {\n commonMeetings(localSim: $localSim) {\n id\n venueCode\n date\n status\n season\n totalNumberOfRace\n currentNumberOfRace\n races {\n no\n postTime\n status\n raceResults {\n status\n }\n }\n pmPools(oddsTypes: $oddsTypes) {\n oddsType\n status\n leg {\n races\n }\n }\n }\n racingSeasonPeriod(locSim: $localSim) @skip(if: $meetingsOnly) {\n code\n endDate\n nature\n startDate\n }\n}\n`;\n\nexport const SEARCH_MEETINGS_IN_DATE_RANGE = `\nquery SearchMeetingsInDateRange($path: String, $language: String, $fieldsEqual: [ItemSearchFieldQuery], $from: String, $to: String, $racesFolderTemplateIDs: [String]) {\n extendedSearch(\n fieldsEqual: $fieldsEqual,\n rootItem: $path, \n language: $language,\n dateFrom: $from,\n dateTo: $to,\n fieldName: \"MeetingDate\",\n sortBy: \"MeetingDate\",\n sortDesc: false,\n ) {\n results {\n items {\n meeting: item {\n ... on MeetingDate {\n id\n name\n path\n displayName\n hasChildren\n season: parent {\n name\n }\n presite {\n boolValue\n }\n meetingDate {\n date: formattedDateValue(format: \"yyyy-MM-dd\", offset: -480)\n value: formattedDateValue(format: \"yyyy-MM-ddTHH:mm:sszzz\", offset: -480)\n }\n meetingVenueCode {\n value\n }\n mainRace {\n targetItem {\n displayName\n path\n template {\n id\n }\n }\n }\n races: children(\n includeTemplateIDs: $racesFolderTemplateIDs\n ) {\n raceInfo: children {\n displayName\n }\n }\n }\n }\n }\n totalCount\n }\n }\n}\n`;\n\nexport const GET_OVERRIDE_REDIRECTION_CONFIG = `\nquery GetOverrideRedirectionConfig($path: String, $language: String, $racesFolderTemplateIDs: [String]) {\n overrideConfig: item(path: $path,language: $language){\n ... on OverrideRedirectionConfig {\n enable {\n boolValue\n }\n offlineDateTime {\n value: formattedDateValue(format: \"yyyy-MM-ddTHH:mm:sszzz\", offset: -480)\n }\n onlineDateTime {\n value: formattedDateValue(format: \"yyyy-MM-ddTHH:mm:sszzz\", offset: -480)\n }\n redirectTo {\n targetItem {\n displayName\n template {\n id\n name\n }\n ... on MeetingDate {\n hasChildren\n path\n presite {\n boolValue\n }\n meetingDate {\n date: formattedDateValue(format: \"yyyy-MM-dd\", offset: -480)\n value: formattedDateValue(format: \"yyyy-MM-ddTHH:mm:sszzz\", offset: -480)\n }\n meetingVenueCode {\n value\n }\n mainRace {\n targetItem {\n displayName\n path\n template {\n id\n }\n }\n }\n races: children(\n includeTemplateIDs: $racesFolderTemplateIDs\n ) {\n raceInfo: children {\n displayName\n }\n }\n } \n ... on Race {\n parent {\n meeting: parent {\n displayName\n ... on MeetingDate {\n hasChildren\n path\n presite {\n boolValue\n }\n meetingDate {\n date: formattedDateValue(format: \"yyyy-MM-dd\", offset: -480)\n value: formattedDateValue(format: \"yyyy-MM-ddTHH:mm:sszzz\", offset: -480)\n }\n meetingVenueCode {\n value\n }\n }\n }\n }\n }\n } \n }\n }\n }\n}\n`;\n\nexport const GET_MEETING_GENERAL_INFORMATION = `\nquery GetPmPools($date: String, $venueCode: String, $oddsTypes: [OddsType]) {\n raceMeetingProfile(date: $date, venueCode: $venueCode) {\n races {\n no\n postTime\n }\n pmPools(oddsTypes: $oddsTypes) {\n oddsType\n estimatedDividend\n comingleStatus \n jackpot\n leg {\n number\n races\n }\n }\n }\n}\n`;\nexport const GET_RACE_CARD_COLUMNS = `\nquery GetRaceCardColumnConfig($path: String, $language: String) {\n raceCardColumns: item(path: $path,language: $language){\n children{\n tabLabel: field(name:\"tabLabel\"){\n value\n }\n columns: field(name:\"Columns\"){\n ... on MultilistField{\n targetItems{\n Option_Name: field(name:\"Option_Name\"){\n value\n }\n displayName\n }\n }\n }\n }\n }\n}\n`;\n\nexport const GET_EXPERTCOLUMN = ` \nquery ExpertColumn($path: String, $language: String) {\n item(path: $path, language: $language) {\n displayName \n expert: field(name: \"Expert\") {\n name\n value\n } \n horseNumber01: field(name: \"HorseNumber01\") {\n name\n value\n }\n horseName01: field(name: \"HorseName01\") {\n name\n value\n }\n horseNumber02: field(name: \"HorseNumber02\") {\n name\n value\n }\n horseName02: field(name: \"HorseName02\") {\n name\n value\n }\n horseNumber03: field(name: \"HorseNumber03\") {\n name\n value\n }\n horseName03: field(name: \"HorseName03\") {\n name\n value\n }\n horseNumber04: field(name: \"HorseNumber04\") {\n name\n value\n }\n horseName04: field(name: \"HorseName04\") {\n name\n value\n }\n horseNumber05: field(name: \"HorseNumber05\") {\n name\n value\n }\n horseName05: field(name: \"HorseName05\") {\n name\n value\n }\n horseNumber06: field(name: \"HorseNumber06\") {\n name\n value\n }\n horseName06: field(name: \"HorseName06\") {\n name\n value\n }\n horseNumber07: field(name: \"HorseNumber07\") {\n name\n value\n }\n horseName07: field(name: \"HorseName07\") {\n name\n value\n }\n horseNumber08: field(name: \"HorseNumber08\") {\n name\n value\n }\n horseName08: field(name: \"HorseName08\") {\n name\n value\n }\n horseNumber09: field(name: \"HorseNumber09\") {\n name\n value\n }\n horseName09: field(name: \"HorseName09\") {\n name\n value\n }\n horseNumber10: field(name: \"HorseNumber10\") {\n name\n value\n }\n horseName10: field(name: \"HorseName10\") {\n name\n value\n }\n commentary: field(name: \"Commentary\") {\n name\n value\n }\n betSelectionName01: field(name: \"BetSelectionName01\") {\n name\n value\n }\n selectionLinkParameters01: field(name: \"SelectionLinkParameters01\") {\n name\n value\n }\n betSelectionDetails01: field(name: \"BetSelectionDetails01\") {\n name\n value\n }\n betSelectionName02: field(name: \"BetSelectionName02\") {\n name\n value\n }\n selectionLinkParameters02: field(name: \"SelectionLinkParameters02\") {\n name\n value\n }\n betSelectionDetails02: field(name: \"BetSelectionDetails02\") {\n name\n value\n }\n betSelectionName03: field(name: \"BetSelectionName03\") {\n name\n value\n }\n selectionLinkParameters03: field(name: \"SelectionLinkParameters03\") {\n name\n value\n }\n betSelectionDetails03: field(name: \"BetSelectionDetails03\") {\n name\n value\n }\n \n }\n}\n`;\n\nexport const GET_HORSE_MEETINGRACE = `\nquery HorseByMeetingRace($meetingDate: String, $raceNumber: String, $venCode: String, $ids: [String!]) {\n simulcastHorse(meetingDate: $meetingDate, raceNumber: $raceNumber, venCode: $venCode, ids: $ids) {\n id\n brandNumber\n name_ch\n name_en\n }\n}\n`;\n\nexport const GET_TIPSTERS_SELECTION = `\nquery TipstersSelections($path: String, $language: String) {\n item(path: $path, language: $language) {\n races: children {\n ... on TipstersSelectionTable {\n race {\n information: targetItem {\n ... on Race {\n name: raceName {\n value\n }\n raceNo: venueCode {\n value\n }\n }\n }\n }\n selections: children {\n selection: field(name: \"Content\") {\n value\n }\n }\n }\n }\n }\n}\n`; \n\nexport const GET_MEETING_PM_POOL_STATUS = `\nquery GetMeetingPmPoolStatus($date: String, $venueCode: String, $oddsTypes: [OddsType]) {\n raceMeetingProfile(date: $date, venueCode: $venueCode) {\n venueCode\n pmPools(oddsTypes: $oddsTypes) {\n oddsType\n status\n leg {\n races\n }\n }\n }\n}\n`; \n\nexport const GET_INPAGEDISPLAYBUTTONS = `\nfragment templateName on Item {\n template {\n name\n }\n}\nquery GetInPageDisplayButtons(\n $path: String\n $path_SpeedMap: String\n $path_DefaultButtonsMap: String\n $language: String\n) {\n item(path: $path, language: $language) {\n buttons: children {\n name\n ... on JockeysTrainersRankings {\n versions {\n version\n }\n }\n ... on RacingStatistics {\n versions {\n version\n }\n }\n ... on TipstersSelections {\n versions {\n version\n }\n }\n ... on TrackAnalysis {\n versions {\n version\n }\n }\n ...templateName\n children {\n name\n ...templateName\n displayName: field(name: \"Label\") {\n value\n }\n ... on URLButton {\n URLLink: field(name: \"URLLink\") {\n value\n }\n target: field(name: \"Target\") {\n value\n }\n }\n ... on PDFButton {\n PDFLink: field(name: \"PDF\") {\n ... on FileField {\n url\n }\n }\n }\n ... on SinglePhotoButton {\n singlePhoto: field(name: \"Photo\") {\n ... on ImageField {\n src\n width\n height\n }\n }\n\n captionTitle: field(name: \"Caption Title\") {\n value\n }\n captionContent: field(name: \"Caption Content\") {\n value\n }\n }\n\n selectedRaceInRoot: field(name: \"Race\") {\n ... on MultilistField {\n targetItems {\n name\n path\n template {\n id\n }\n }\n }\n }\n ... on TipstersSelectionTable {\n selectedRaceTipstersSelections: field(name: \"Race\") {\n ... on ReferenceField {\n targetItem {\n name\n path\n template {\n id\n }\n }\n }\n }\n }\n children {\n name\n ... on ExpertColumn {\n versions {\n version\n }\n }\n ... on FormComments {\n versions {\n version\n }\n }\n ...templateName\n ... on MultiplePhotoItem {\n photo: field(name: \"Photo\") {\n ... on ImageField {\n src\n width\n height\n }\n }\n captionTitle: field(name: \"Caption Title\") {\n value\n }\n captionContent: field(name: \"Caption Content\") {\n value\n }\n }\n ... on VideoItem {\n videoTitle: field(name: \"Title\") {\n value\n }\n videoThumbnail: field(name: \"Thumbnail\") {\n ... on ImageField {\n src\n }\n }\n videoURL: field(name: \"URL\") {\n value\n }\n }\n selectedRace: field(name: \"Race\") {\n ... on MultilistField {\n targetItems {\n name\n path\n template {\n id\n }\n }\n }\n }\n }\n }\n }\n }\n speedMapItem: item(path: $path_SpeedMap, language: $language) {\n name\n url\n width: field(name: \"width\") {\n value\n }\n height: field(name: \"height\") {\n value\n }\n }\n defaultButtons: item(path: $path_DefaultButtonsMap, language: $language) {\n buttons: children {\n name\n template {\n name\n }\n displayName: field(name: \"Label\") {\n value\n }\n redirectionLink: field(name: \"RedirectionLink\") {\n value\n }\n }\n }\n}\n\n`; \n\nexport const GET_ARTICLE = `\nquery Article($path: String, $language: String) {\n item: item(path: $path, language: $language) {\n ... on ArticleButton {\n Article: children {\n id\n name\n \ttitle: field(name: \"Title\") {\n value\n }\n description: field(name: \"Description\") {\n value\n rendered\n }\n imageUrl: field(name: \"Image\") {\n ... on ImageField {\n src\n }\n }\n race: field(name: \"Race\") {\n ... on MultilistField {\n targetItems {\n displayName\n }\n }\n }\n }\n }\n }\n}\n`; \n\nexport const GET_CARNIVALS = ` \nquery Carnivals($path: String, $language: String) {\n item(path: $path, language: $language) { \n carnivals: children {\n displayName\n ... on CarnivalPage{\n carnivalName: field(name: \"carnivalName\") {\n value\n } \n raceDate: field(name: \"raceDate\") {\n ... on DateField {\n value: formattedDateValue(format: \"yyyy-MM-dd\", offset: -480)\n }\n value\n } \n racecourseName: field(name: \"racecourseName\") {\n value\n } \n }\n carnivalTab: children {\n displayName\n ... on CarnivalTab{\n tabLabel: field(name: \"TabLabel\") {\n value\n } \n }\n carnivalSection: children {\n displayName \n template {\n name\n }\n ... on CarnivalA{\n title: field(name: \"Title\") {\n value\n } \n image: field(name: \"Image\") {\n ... on ImageField {\n src\n } \n }\n content: field(name: \"Content\") {\n value\n }\n externalLink: field(name: \"ExternalLink\") {\n value\n }\n } \n\n ... on CarnivalB {\n title: field(name: \"Title\") {\n value\n }\n image: field(name: \"Image\") {\n ... on ImageField {\n src\n } \n }\n }\n \n ... on CarnivalC {\n displayName\n title {\n value\n }\n horseTitle {\n value\n }\n trainer {\n value\n }\n horseImage {\n src\n }\n description {\n value\n }\n videosHeader {\n value\n }\n video1EnableDisable {\n boolValue\n }\n video1Source {\n value\n }\n video1LinkDiv {\n value\n }\n video1LinkScript {\n value\n }\n video1Link {\n value\n }\n video1Thumbnail {\n src\n }\n video1Description {\n value\n }\n video2EnableDisable {\n boolValue\n }\n video2Source {\n value\n }\n video2LinkDiv {\n value\n }\n video2LinkScript {\n value\n }\n video2Link {\n value\n }\n video2Thumbnail {\n src\n }\n video2Description {\n value\n }\n video3EnableDisable {\n boolValue\n }\n video3Source {\n value\n }\n video3LinkDiv {\n value\n }\n video3LinkScript {\n value\n }\n video3Link {\n value\n }\n video3Thumbnail {\n src\n }\n video3Description {\n value\n }\n }\n } \n }\n }\n }\n}\n`;\n\nexport const SEARCH_CARNIVAL_BY_NAME = `\nquery SearchCarnivalByName($path: String, $language: String, $fieldsEqual: [ItemSearchFieldQuery], $limit: Int) {\n search(rootItem: $path, language: $language, fieldsEqual: $fieldsEqual, first: $limit) {\n results {\n items {\n carnivalPage: item {\n versions {\n version\n }\n displayName\n template {\n name\n }\n ... on CarnivalPage {\n carnivalName: field(name: \"carnivalName\") {\n value\n }\n raceDate: field(name: \"raceDate\") {\n ... on DateField {\n value\n }\n value\n }\n racecourseName: field(name: \"racecourseName\") {\n value\n }\n carnivalTabs: children {\n versions {\n version\n }\n displayName\n ... on CarnivalTab {\n tabLabel: field(name: \"TabLabel\") {\n value\n }\n raceDate: field(name: \"raceDate\") {\n ... on DateField {\n value: formattedDateValue(format: \"yyyy-MM-dd\", offset: -480)\n }\n value\n }\n }\n carnivalSection: children {\n versions {\n version\n }\n displayName\n template {\n name\n }\n ... on Text_Image {\n title: field(name: \"Title\") {\n value\n }\n image: field(name: \"Image\") {\n ... on ImageField {\n src\n }\n }\n content: field(name: \"Content\") {\n value\n }\n externalLink: field(name: \"ExternalLink\") {\n value\n }\n }\n ... on Image {\n title: field(name: \"Title\") {\n value\n }\n image: field(name: \"Image\") {\n ... on ImageField {\n src\n }\n }\n }\n ... on Key_Contenders {\n displayName\n title {\n value\n }\n horseTitle {\n value\n }\n trainer {\n value\n }\n horseInfoDescription {\n value\n }\n horseImage {\n src\n }\n videosHeader {\n value\n }\n video1EnableDisable {\n boolValue\n }\n video1Source {\n value\n }\n video1LinkDiv {\n value\n }\n video1LinkScript {\n value\n }\n video1Link {\n value\n }\n video1Thumbnail {\n src\n }\n video1Description {\n value\n }\n video2EnableDisable {\n boolValue\n }\n video2Source {\n value\n }\n video2LinkDiv {\n value\n }\n video2LinkScript {\n value\n }\n video2Link {\n value\n }\n video2Thumbnail {\n src\n }\n video2Description {\n value\n }\n video3EnableDisable {\n boolValue\n }\n video3Source {\n value\n }\n video3LinkDiv {\n value\n }\n video3LinkScript {\n value\n }\n video3Link {\n value\n }\n video3Thumbnail {\n src\n }\n video3Description {\n value\n }\n }\n }\n }\n }\n }\n }\n totalCount\n }\n }\n}`;\n\nexport const GET_RACINGSTATISTICS = `\nquery GetRacingStatistics($path: String, $language: String) {\n item(path: $path, language: $language) {\n ... on RacingStatistics {\n children {\n name\n ... on RacingStatisticsText {\n template {\n name\n }\n title: field(name: \"Title\") {\n value\n }\n subTitle: field(name: \"subTitle\") {\n value\n }\n text: field(name: \"Text\") {\n value\n rendered\n }\n }\n ... on RacingStatisticsImage {\n template {\n name\n }\n title: field(name: \"Title\") {\n value\n }\n subTitle: field(name: \"subTitle\") {\n value\n }\n imageUrl: field(name: \"Image\") {\n ... on ImageField {\n src\n }\n }\n }\n ... on RacingStatisticsTable {\n template {\n name\n }\n title: field(name: \"Title\") {\n value\n }\n subTitle: field(name: \"subTitle\") {\n value\n }\n table: field(name: \"Table\") {\n value\n }\n remarks:field(name:\"Remarks\"){\n value\n }\n }\n ... on RacingStatisticsVideo {\n template {\n name\n }\n title: field(name: \"Title\") {\n value\n }\n subTitle: field(name: \"subTitle\") {\n value\n }\n video: field(name: \"Video\") {\n value\n }\n thumbnail: field(name: \"Thumbnail\") {\n ... on ImageField {\n src\n }\n }\n description:field(name:\"Description\"){\n value\n }\n }\n }\n }\n }\n}\n`;\n\nexport const GET_CARNIVAL_NAMES = `query CarnivalNameList($path: String, $language: String) {\n item(path: $path, language: $language) {\n children {\n ... on CarnivalName {\n displayName\n carnivalName {\n value\n }\n }\n }\n }\n}`;\n\nexport const GET_CARNIVALSection = `\nquery CarnivalTab($language: String, $path: String) {\n item(language: $language, path: $path) {\n children {\n displayName\n }\n }\n}\n` \nexport const GET_MEETINGCOUNTRY_HORSESTATUS_GIDS = `\nquery MeetingCountryHorseStatus($date: String, $venueCode: String) {\n raceMeetingProfile(date: $date, venueCode: $venueCode) {\n date\n country {\n code\n namech\n nameen\n }\n races{\n status\n no\n countryCodeNm {\n code\n english\n chinese\n }\n runners {\n no\n status\n } \n }\n }\n}\n`;","const useMockdata = false;\n\nasync function fetchWithAbort(url:any, options = {}, timeout = 3000) {\n const controller = new AbortController();\n const signal = controller.signal;\n\n // 设置超时,超时åŽè°ƒç”¨ abort\n const timeoutId = setTimeout(() => {\n controller.abort(); // å–消请求\n }, timeout);\n\n try {\n const response = await fetch(url, { ...options, signal });\n if (!response.ok) {\n throw new Error('网络å“应ä¸æ£å¸¸');\n }\n return response;\n } catch (error: any) {\n if (error?.name === 'AbortError') {\n console.error('请求被å–消(超时)');\n } else {\n console.error('请求失败:', error?.message);\n }\n } finally {\n clearTimeout(timeoutId); // 清ç†è¶…æ—¶\n }\n}\n\nconst request = async (variables: any, query: any, callName: \"qids\" | \"cms\", mockResponse?: any, signal?: AbortSignal) => {\n if (useMockdata && mockResponse) {\n return {\n status: 200,\n ...mockResponse.data\n };\n }\n try {\n const requestBody = {\n variables,\n query,\n };\n const options: any = {\n method: \"POST\",\n mode: \"cors\",\n credentials: \"omit\",\n referrerPolicy: \"strict-origin-when-cross-origin\",\n signal: signal,\n headers: {\n accept: \"*/*\",\n \"accept-language\": \"en-us,en;q=0.9\",\n \"content-type\": \"application/json\",\n \"sec-fetch-dest\": \"empty\",\n \"sec-fetch-mode\": \"cors\",\n \"sec-fetch-site\": \"cross-site\",\n },\n body: JSON.stringify(requestBody),\n };\n const uri = callName === \"qids\" ? window.globalConfig?.DATA_SOURCES?.QIDS_URI : window.globalConfig?.DATA_SOURCES?.CMS_URI;\n const response = useMockdata? await fetchWithAbort(uri, options) : await fetch(uri, options)\n const data = await response?.json();\n\n const { errors, data: graphQLData } = data;\n if (errors) {\n console.log(\n \"GraphQL errors:\",\n errors?.[0]?.message,\n response?.status,\n JSON.stringify(errors)\n );\n throw {\n message: errors?.[0]?.message,\n code: response?.status,\n };\n } else {\n return {\n status: response?.status,\n ...graphQLData,\n };\n }\n } catch (error) {\n console.log(error);\n }\n};\nexport default request;\n","import fetchRequest from \"./index\";\nimport { GET_SELECTED_MEETING_RACES_INFO, GET_MEETING_BROADCAST, \n GET_RACE_PASTWINNERS, GET_FIXTURELIST_SUMMARY, GET_FIXTURELIST, GET_REFERENCEODDS_INFO, \n GET_SIMPLIFIED_MEETING_RACES_INFO, GET_TRACK_ANALYSIS, GET_TRACK_ANALYSIS_EXPERTS, GET_BANNERS, GET_TIMEOFFSET,\n GET_MEETING_SUMMARY_MENU_TYPE, GET_SEASON_BY_DATE, GET_JOCKEYSTRAINERSRANKING, GET_MEETINGRACE_NEWS, GET_GEARINFO, \n SEARCH_MEETINGS_BY_DATE, GET_HOME_BASIC_INFO, SEARCH_MEETINGS_IN_DATE_RANGE, GET_EXPERTCOLUMN, GET_HORSE_MEETINGRACE,\n GET_RACE_CARD_COLUMNS, GET_TIPSTERS_SELECTION, GET_MEETING_PM_POOL_STATUS, GET_FORMCOMMENTS,GET_INPAGEDISPLAYBUTTONS, \n GET_ARTICLE, GET_MEETING_STATUS, SEARCH_CARNIVAL_BY_NAME, GET_RACINGSTATISTICS, GET_CARNIVAL_NAMES, \n GET_HORSE_PERFORMANCE,GET_CARNIVALSection, GET_MEETINGCOUNTRY_HORSESTATUS_GIDS, GET_MEETING_BROADCASTCONFIG,\n GET_RACE_RESULTS_LIST,\n GET_OVERRIDE_REDIRECTION_CONFIG\n} from \"./query\";\nimport { formattedDate } from \"../DayJS\";\nimport { carnivalTemplate, meetingTemplate, racesTemplate } from \"@/app/utils/constant/template\";\nimport { oddType } from \"@/app/utils/constant/odd\";\nimport { LangCode } from \"@/app/utils/LanguageContext\";\n\nconst HK_TIME_OFFSET = -480;\nexport const getRaceCardList = async (\n variables: any,\n query: any,\n callName: any\n) => {\n return await fetchRequest(variables, query, callName);\n};\nexport const getFormTitle = async (\n variables: any,\n query: any,\n callName: any\n) => {\n return await fetchRequest(variables, query, callName);\n};\nexport const getRaceInfoList = async (\n variables: any,\n query: any,\n callName: any\n) => {\n return await fetchRequest(variables, query, callName);\n};\n\nexport const getHeader = async (\n variables: any,\n query: any,\n callName: any\n) => {\n return await fetchRequest(variables, query, callName);\n};\n\nexport const getHeaderNavMain = async (\n variables: any,\n query: any,\n callName: any\n) => {\n return await fetchRequest(variables, query, callName);\n};\n\nexport const getRaceSiteMenu = async (\n variables: any,\n query: any,\n callName: any\n) => {\n return await fetchRequest(variables, query, callName);\n};\n\nexport const getRaceMeeting = async (\n variables: any,\n query: any,\n callName: any\n) => {\n return await fetchRequest(variables, query, callName);\n};\n\nexport const getMeetingStatus = async (\n meetingDate: Date,\n venueCode?: string,\n signal?: AbortSignal,\n) => {\n const variables = {\n date: formattedDate(meetingDate, \"YYYY-MM-DD\"), \n venueCode: venueCode,\n oddsTypes: [oddType.WIN],\n }\n return await fetchRequest(variables, GET_MEETING_STATUS, \"qids\", undefined, signal);\n};\n\nexport const getRacingChanges = async (\n variables: any,\n query: any,\n callName: any\n) => {\n return await fetchRequest(variables, query, callName);\n};\n\nexport const getMeetingGeneralInformation = async (\n variables: any,\n query: any,\n callName: any\n) => {\n return await fetchRequest(variables, query, callName);\n};\n\nexport const getHorseProfile = async (\n variables: any,\n query: any,\n callName: any\n) => {\n return await fetchRequest(variables, query, callName);\n};\n\nexport const getHorsePerformance = async (\n variables: any,\n) => {\n return await fetchRequest(variables, GET_HORSE_PERFORMANCE, \"qids\");\n};\n\nexport const getWinOddsInfo = async (\n variables: any,\n query: any,\n callName: any\n) => {\n return await fetchRequest(variables, query, callName);\n};\n\nexport const getFooterMenu = async (\n options: any,\n query: any,\n callName: any\n) => {\n const variables = { path: \"/sitecore/content/Sites/JCRW/SiteConfiguration/Footer\", ...options };\n return await fetchRequest(variables, query, callName);\n};\n\nexport const getRGPBanner = async (\n options: any,\n query: any,\n callName: any\n) => {\n const variables = { path: \"/sitecore/content/Sites/CorpWebCommon/RGP/02-Racing\", ...options };\n return await fetchRequest(variables, query, callName);\n};\n\nexport const getSelectedMeetingInfo = async (\n langCode: string,\n season: string,\n meetingId: string,\n signal?: AbortSignal,\n) => {\n const variables = {\n path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/Races`,\n language: langCode,\n entriesFolderTemplateIDs: [racesTemplate.RACE.ENTRIES.ID],\n };\n return await fetchRequest(variables, GET_SELECTED_MEETING_RACES_INFO, \"cms\", undefined, signal);\n};\n\nexport const getSimplifiedMeetingInfo = async (\n langCode: string,\n season: string,\n meetingId: string,\n) => {\n const variables = {\n path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/Races`,\n language: langCode,\n };\n return await fetchRequest(variables, GET_SIMPLIFIED_MEETING_RACES_INFO, \"cms\");\n};\n\nexport const searchMeetingsByDate = async (\n lang: LangCode,\n meetingDate?: Date,\n signal?: AbortSignal,\n) => {\n const rootPath = `/sitecore/content/Sites/JCRW/Meetings/Simulcast/`;\n const variables = {\n path: rootPath,\n language: lang,\n meetingDate: formattedDate(meetingDate, \"YYYY-MM-DDTHH:mm:ss[Z]\", true),\n dateFormat: \"d/M/yyyy, hh:mmtt\",\n offset: HK_TIME_OFFSET,\n };\n return await fetchRequest(variables, SEARCH_MEETINGS_BY_DATE, \"cms\", undefined, signal);\n};\n\nexport const getSelectedMeetingBroadcast = async (\n lang: LangCode,\n season: string,\n meetingDate: Date,\n) => {\n const variables = {\n path: `/sitecore/content/Sites/JCRW/Broadcasts/Simulcast/${season}/${formattedDate(meetingDate, \"YYYYMMDD\")}`,\n language: lang\n };\n return await fetchRequest(variables, GET_MEETING_BROADCAST, \"cms\");\n};\n\nexport const getBroadcastConfig = async (\n lang: LangCode,\n) => {\n const variables = {\n path: `/sitecore/content/Sites/JCRW/Simulcast/BroadcastConfig`,\n language: lang\n };\n return await fetchRequest(variables, GET_MEETING_BROADCASTCONFIG, \"cms\");\n};\n\nexport const getReferenceInfo = async (\n lang: LangCode,\n season: any,\n meetingId: any,\n raceNo:any\n) => {\n \n const variables = {\n path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/Races/${raceNo}/ReferenceOdds`,\n language: lang\n };\n return await fetchRequest(variables, GET_REFERENCEODDS_INFO, \"cms\");\n};\n\nexport const getFormComments = async (\n lang: LangCode,\n season: any,\n meetingId: any,\n raceNo:any\n) => {\n \n const variables = {\n path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/Races/${raceNo}`,\n language: lang\n };\n return await fetchRequest(variables, GET_FORMCOMMENTS, \"cms\");\n};\n\nexport const getPastWinners = async (\n lang: LangCode,\n season: string,\n meetingId: string,\n raceId: string\n) => {\n \n const variables = {\n path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/Races/${raceId}/PastWinners`,\n language: lang\n };\n return await fetchRequest(variables, GET_RACE_PASTWINNERS, \"cms\");\n};\n\nexport const getRaceResultsList = async (\n meetingDate: Date,\n venueCode: string,\n signal?: AbortSignal,\n) => {\n const variables = {\n date: formattedDate(meetingDate, \"YYYY-MM-DD\"),\n venueCode: venueCode\n };\n return await fetchRequest(variables, GET_RACE_RESULTS_LIST, \"qids\", undefined, signal);\n};\n\nexport const getFixtureList = async (\n lang: string,\n isSummary?: boolean, // true, will get config for calendar column; false: fixture list column\n season?: string // \"22_23\", default retrieve latest season \n) => {\n const variables = {\n path: `/sitecore/content/Sites/JCRW/Simulcast/FixtureList`,\n language: lang,\n racesFolderTemplateIDs: [meetingTemplate.RACES.ID]\n };\n\n var calendarFixtureList: IFixture[] = [];\n var seasonList: string[] = [];\n var res = await fetchRequest(variables, isSummary ? GET_FIXTURELIST_SUMMARY : GET_FIXTURELIST, \"cms\");\n res?.data?.season?.reduce((prev: any, current: any) => {\n if (current?.currentSeason?.boolValue) {\n seasonList = [prev?.displayName, current?.displayName];\n if (isSummary) {\n calendarFixtureList = current?.fixtureSorting?.targetItems?.concat(prev?.fixtureSorting?.targetItems || []) || [];\n }\n return current\n }\n return current\n }, \"\")\n\n res = {\n ...res,\n data: {\n fixtureList: isSummary ? calendarFixtureList : // all season for calendar view\n res?.data?.season?.find((s: { currentSeason: { boolValue: boolean }; displayName: string; }) => !season && s?.currentSeason?.boolValue || (season && s?.displayName == season))?.fixtureSorting?.targetItems || [], // latest season on fixture list\n seasonList\n }\n }\n\n return res;\n};\n\nexport const getDisclaimer = async (\n options: any,\n query: any,\n callName: any,\n isCarnival?: boolean\n) => {\n const variables = { path: `/sitecore/content/Sites/JCRW/Simulcast/${isCarnival ? \"Carnival_\" : \"\"}Disclaimer`, ...options };\n return await fetchRequest(variables, query, callName);\n};\n\nexport const getTrackAnalysis = async (\n lang: LangCode,\n season: string,\n meetingId: string\n) => {\n \n const variables = {\n path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/TrackAnalysis`,\n language: lang\n };\n return await fetchRequest(variables, GET_TRACK_ANALYSIS, \"cms\", undefined);\n};\n\nexport const getTrackAnalysisExperts = async (\n lang: LangCode,\n expertsName: string\n) => {\n \n const variables = {\n path: `/sitecore/content/Sites/JCRW/Simulcast/Experts//${expertsName}`,\n language: lang\n };\n return await fetchRequest(variables, GET_TRACK_ANALYSIS_EXPERTS, \"cms\");\n};\n\nexport const getBanners = async (\n lang: LangCode,\n bannerType: \"Top\" | \"Bottom\" | \"Middle\"\n) => {\n let bannerPath = \"\";\n switch (bannerType) {\n case \"Top\":\n bannerPath = \"TopBanners\";\n break;\n case \"Middle\":\n bannerPath = \"BannerWithText\";\n break;\n case \"Bottom\":\n bannerPath = \"BottomCarnivalBanners\";\n break;\n default:\n break;\n }\n\n const variables = {\n path: `/sitecore/content/Sites/JCRW/Banners/Simulcast/${bannerPath}`,\n language: lang\n };\n return await fetchRequest(variables, GET_BANNERS, \"cms\");\n};\n\nexport const getBusinessDate = async (signal?: AbortSignal) => {\n return await fetchRequest(null, GET_TIMEOFFSET, 'qids', undefined, signal);\n};\n\nexport const getMeetingSummaryMenuType = async () => { \n const variables = {\n path: \"/sitecore/content/Sites/JCRW/Simulcast/MeetingSummaryMenu\",\n language: \"en-us\",\n };\n return await fetchRequest(variables, GET_MEETING_SUMMARY_MENU_TYPE, 'cms', undefined);\n};\n\nexport const searchSeasonByDate = async (dateStr: string, lang: LangCode, signal?: AbortSignal) => {\n const rootPath = \"/sitecore/content/Sites/JCRW/Meetings/Simulcast/\"\n const variables = {\n path: rootPath,\n dateStr: dateStr,\n limit: 1, // return first result if more than one\n language: lang,\n };\n return fetchRequest(variables, GET_SEASON_BY_DATE, 'cms', undefined, signal).then((res)=> res?.search?.results?.items[0]?.path.toLowerCase().replace(rootPath.toLowerCase(), '').split(\"/\")[0] || '');\n};\n\nexport const getJockeysTrainersRanking = async (\n lang: LangCode,\n season: string,\n meetingId: string\n) => {\n const variables = {\n path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/JockeysTrainersRankings`,\n language: lang\n };\n var res = await fetchRequest(variables, GET_JOCKEYSTRAINERSRANKING, \"cms\");\n return res\n}\n\nexport const getMeetingRaceNews = async (\n lang: LangCode,\n meetingraceid: string\n) => {\n \n const variables = {\n path: `/sitecore/content/Sites/JCRW/News/`,\n language: lang,\n fieldid: meetingraceid,\n offset: HK_TIME_OFFSET,\n };\n return await fetchRequest(variables, GET_MEETINGRACE_NEWS, \"cms\");\n};\n\nexport const getGearInfo = async (\n lang: LangCode, \n) => {\n \n const variables = {\n path: `/sitecore/content/Sites/JCRW/SiteConfiguration/GearInfo`,\n language: lang\n };\n return await fetchRequest(variables, GET_GEARINFO, \"cms\");\n};\n\nexport const getHomeBasicInfo = async (meetingsOnly?:boolean, signal?: AbortSignal) => { \n const variables = {\n localSim: \"SIM\",\n meetingsOnly: meetingsOnly,\n oddsTypes: [oddType.WIN],\n };\n return await fetchRequest(variables, GET_HOME_BASIC_INFO, \"qids\", undefined, signal);\n};\n\nexport const searchMeetingsInDateRange = async (lang: LangCode, from?: Date, to?: Date, signal?: AbortSignal) => {\n const variables = {\n path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast`,\n language: lang,\n fieldsEqual: [{name: \"_templateName\", value: meetingTemplate.NAME}],\n from: formattedDate(from, \"YYYY-MM-DDTHH:mm:ss[Z]\", true),\n to: formattedDate(to, \"YYYY-MM-DDTHH:mm:ss[Z]\", true),\n racesFolderTemplateIDs: [meetingTemplate.RACES.ID],\n };\n return await fetchRequest(variables, SEARCH_MEETINGS_IN_DATE_RANGE, \"cms\", undefined, signal);\n};\n\nexport const getOverrideRedirectionConfig = async (lang: LangCode, signal?: AbortSignal) => {\n const variables = {\n path: `/sitecore/content/Sites/JCRW/Simulcast/OverrideRedirectionConfig`,\n language: lang,\n racesFolderTemplateIDs: [meetingTemplate.RACES.ID],\n };\n return await fetchRequest(variables, GET_OVERRIDE_REDIRECTION_CONFIG, \"cms\", undefined, signal);\n};\n\nexport const getRaceCardColumns = async (\n lang: LangCode,\n) => {\n const variables = {\n path: \"/sitecore/content/Sites/JCRW/SiteConfiguration/RaceCard_Columns\",\n language: lang\n };\n return await fetchRequest(variables, GET_RACE_CARD_COLUMNS, \"cms\");\n}\n\nexport const getExpertColumn = async (\n lang: LangCode, \n season: any,\n meetingId: any,\n raceNo:any\n) => {\n \n const variables = {\n path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/Races/${raceNo}/ExpertColumn`,\n language: lang\n };\n return await fetchRequest(variables, GET_EXPERTCOLUMN, \"cms\");\n};\n\nexport const getHorseByMeetingRace = async (\n meetingDate: string,\n venCode: string,\n raceNumber: string, \n ids: any\n ) => { \n const variables = {\n meetingDate: meetingDate, \n venCode: venCode,\n raceNumber: raceNumber,\n ids: ids ?? []\n };\n return await fetchRequest(variables, GET_HORSE_MEETINGRACE, \"qids\");\n};\n\nexport const getTipstersSelection = async (\n lang: LangCode,\n season: string,\n meetingId: string\n) => {\n const variables = {\n path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/TipstersSelections`,\n language: lang\n };\n var res = await fetchRequest(variables, GET_TIPSTERS_SELECTION, \"cms\");\n return res\n};\n\nexport const getMeetingPmPoolStatus = async (\n meetingDate: string,\n venCode: string\n) => {\n const variables = {\n date: meetingDate, \n venueCode: venCode,\n oddsTypes: [\"WIN\"]\n };\n var res = await fetchRequest(variables, GET_MEETING_PM_POOL_STATUS, \"qids\");\n return res\n};\n\nexport const getInPageDisplayButtons = async ( \n lang: LangCode, \n season: any,\n meetingId: any,\n speedMapPath: string\n) => {\n const variables = {\n path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}`,\n path_SpeedMap: `/sitecore/media library/Sites/JCRW/Speedmap/Simulcast/${speedMapPath}`,\n path_DefaultButtonsMap: `/sitecore/content/Sites/JCRW/Simulcast/InPageDisplayDefaultButtons`, \n language: lang\n };\n var res = await fetchRequest(variables, GET_INPAGEDISPLAYBUTTONS, \"cms\", undefined);\n return res\n};\n\nexport const getArticle = async (\n lang: LangCode,\n season: any,\n meetingId: any,\n name: string\n) => {\n const variables = {\n path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/InPageDisplayButtons/${name}`,\n language: lang\n };\n var res = await fetchRequest(variables, GET_ARTICLE, \"cms\");\n return res\n};\n\nexport const getCarnivalSection = async (\n lang: string,\n carnival: string,\n raceday: string,\n) => {\n const variables = {\n path: `/sitecore/content/Sites/JCRW/Simulcast/Carnivals/${carnival}/${raceday}`,\n language: lang\n };\n\n var res = await fetchRequest(variables, GET_CARNIVALSection, \"cms\");\n return res\n};\n\nexport const searchCarnivalByName = async (\n langCode: LangCode,\n pageName: string,\n) => {\n const variables = {\n path: `/sitecore/content/Sites/JCRW/Simulcast/Carnivals`,\n language: langCode,\n fieldsEqual: [\n {name: \"_templateName\", value: carnivalTemplate.NAME},\n {name: \"_name\", value: pageName}\n ],\n limit: 1, // return first result if more than one\n };\n return await fetchRequest(variables, SEARCH_CARNIVAL_BY_NAME, \"cms\");\n};\n\nexport const getRacingStatistics = async (\n lang: LangCode,\n season: string,\n meetingId: string\n) => {\n \n const variables = {\n path: `/sitecore/content/Sites/JCRW/Meetings/Simulcast/${season}/${meetingId}/RacingStatistics`,\n language: lang\n };\n return await fetchRequest(variables, GET_RACINGSTATISTICS, \"cms\", undefined);\n};\n\nexport const getCarnivalNameList = async (lang: LangCode) => {\n const variables = {\n path: `/sitecore/content/Sites/JCRW/Simulcast/CarnivalNames`,\n language: lang\n };\n return await fetchRequest(variables, GET_CARNIVAL_NAMES, \"cms\");\n}\n\nexport const getMeetingCountryAndHorseStatus = async (\n meetingDate: string,\n venCode: string\n) => {\n const variables = {\n date: meetingDate, \n venueCode: venCode\n };\n return await fetchRequest(variables, GET_MEETINGCOUNTRY_HORSESTATUS_GIDS, \"qids\");\n}","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin"],"names":["__webpack_exports__","Z","state","lang","useLanguage","t","isOpen","setIsOpen","useState","setIsOpenHandle","currentOpen","index","reSetOpen","footerMenu","setFooterMenu","footerRGBbanner","setFooterRGBbanner","useEffect","getFooterMenu","language","langCode","GET_FOOTER_MENU","then","res","item","console","log","getRGPBanner","GET_RGPBanner","RGPBanner","useMediaQuery","htmlText","sitemap","value","htmlFragment","doc","DOMParser","parseFromString","body","firstChild","isMobile","theme","breakpoints","down","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsxs","Fragment","jsx","div","id","className","children","map","tagName","span","dangerouslySetInnerHTML","__html","outerHTML","dl","concat","dt","onClick","firstElementChild","textContent","itemdd","indexdd","style","padding","rendered","bottomlink","waTracker","name","headerData","myContextState","useMyContext","dict","setHeader","salut","setSalut","searchTxt","setSearchTxt","isLogin","setIsLogin","showDisplayName","setShowDisplayName","getHeader","path","GET_HEADER","normalizeMainMenu","catch","e","data","submitSearch","keyCode","searchVlaue","btoa","encodeURIComponent","replace","url","langType","LANGTYPE_EN","alert","LANGTYPE_CT","window","globalConfig","LINKED_PAGES","SEARCHPAGEENG","SEARCHPAGECHI","location","href","getLoginStatus","count","isUserProfileLoaded","localStorage","getItem","setTimeout","WCIPCookie","isLoggedIn","refreshGlobalLoginControl","custProIn","cookie","displayName","getLoginInfo","Grid","spacing","container","sx","maxWidth","margin","lg","a","LeftLink","target","openTarget","LeftLinkNewWindow","LeftImage","img","src","alt","assetPrefix","display","xs","input","type","Object","keys","LANGUAGE","code","str2LangCode","key","homepage","HOMEPAGEENG","HOMEPAGECHI","switchLanguage","maxLength","title","placeholder","onChange","onKeyUp","redirectPage","RightLink","RightLinkNewWindow","RightImage","border","width","height","HRRedirectionLink","HRRedirectionNewWindow","HRLabel","FBRedirectionLink","FBRedirectionNewWindow","FBLabel","M6RedirectionLink","M6RedirectionNewWindow","M6Label","displaySubMenu","preventDefault","parentElement","classList","add","remove","adjustPosition","curentTab","ele","rect","getBoundingClientRect","viewportWidth","innerWidth","right","left","nextElementSibling","displaySubMenu2","adjustPosition2","hideSubMenu","child","props","mainMenu","getAssetPrefix","open","setMainMenuOpen","setMainMenu","toggleMainMenu","simulcastMainMenu","setSimulcastMainMenu","clientQuery","changeMenu","hiddenId","displayId","hideElement","document","getElementById","displayElement","getHeaderNavMain","GET_HEADER_NAV_MAIN","_","item1","seqIndex","Number","seq","undefined","item2","item3","item4","subMena","filter","label","Container","disableGutters","nav","ul","li","borderLeft","borderRight","length","openNewWindow","link","sub","idx","onMouseLeave","onMouseEnter","lvl","i","last","j","position","top","Drawer","onClose","anchor","SearchIcon","color","textSize","verticalAlign","paddingLeft","data-target","indx","lvllast","ix","fontSize","text_size","oddType","WIN","PLA","QIN","QPL","IWN","FCT","TCE","QTT","TRI","FF","DBL","TBL","DT","TT","SIX_UP","CWA","CWB","CWC","JKC","TNC","singlePools","GET_RACE_CARD_LIST","GET_RACE_INFO_LIST","GET_RACE_MEETING_PROFILE","GET_SELECTED_MEETING_RACES_INFO","SEARCH_MEETINGS_BY_DATE","GET_MEETING_BROADCAST","GET_MEETING_BROADCASTCONFIG","GET_RACE_PASTWINNERS","GET_HORSE_PROFILE","GET_RACE_RESULTS_LIST","GET_FIXTURELIST_SUMMARY","GET_FIXTURELIST","GET_WINODDS_INFO","GET_REFERENCEODDS_INFO","GET_FORMCOMMENTS","GET_DISCLAIMER","GET_TRACK_ANALYSIS","GET_TRACK_ANALYSIS_EXPERTS","GET_BANNERS","GET_TIMEOFFSET","GET_JOCKEYSTRAINERSRANKING","GET_MEETING_STATUS","GET_MEETINGRACE_NEWS","GET_RACING_CHANGES","GET_GEARINFO","GET_HOME_BASIC_INFO","SEARCH_MEETINGS_IN_DATE_RANGE","GET_OVERRIDE_REDIRECTION_CONFIG","GET_MEETING_GENERAL_INFORMATION","GET_RACE_CARD_COLUMNS","GET_EXPERTCOLUMN","GET_HORSE_MEETINGRACE","GET_TIPSTERS_SELECTION","GET_MEETING_PM_POOL_STATUS","GET_INPAGEDISPLAYBUTTONS","GET_ARTICLE","SEARCH_CARNIVAL_BY_NAME","GET_RACINGSTATISTICS","GET_CARNIVAL_NAMES","GET_CARNIVALSection","GET_MEETINGCOUNTRY_HORSESTATUS_GIDS","request","variables","query","callName","mockResponse","signal","errors","options","method","mode","credentials","referrerPolicy","headers","accept","JSON","stringify","uri","DATA_SOURCES","QIDS_URI","CMS_URI","response","fetch","graphQLData","json","status","message","error","getRaceCardList","fetchRequest","getRaceInfoList","getRaceMeeting","getMeetingStatus","meetingDate","venueCode","date","formattedDate","oddsTypes","getRacingChanges","getMeetingGeneralInformation","getHorseProfile","getWinOddsInfo","getSelectedMeetingInfo","season","meetingId","entriesFolderTemplateIDs","racesTemplate","RACE","ENTRIES","ID","searchMeetingsByDate","dateFormat","offset","getSelectedMeetingBroadcast","getBroadcastConfig","getReferenceInfo","raceNo","getFormComments","getPastWinners","raceId","getRaceResultsList","getFixtureList","isSummary","racesFolderTemplateIDs","meetingTemplate","RACES","calendarFixtureList","seasonList","reduce","prev","current","currentSeason","boolValue","fixtureSorting","targetItems","fixtureList","find","s","getDisclaimer","isCarnival","getTrackAnalysis","getTrackAnalysisExperts","expertsName","getBanners","bannerType","bannerPath","getBusinessDate","getJockeysTrainersRanking","getMeetingRaceNews","meetingraceid","fieldid","getGearInfo","getHomeBasicInfo","meetingsOnly","localSim","searchMeetingsInDateRange","from","to","fieldsEqual","NAME","getOverrideRedirectionConfig","getRaceCardColumns","getExpertColumn","getHorseByMeetingRace","venCode","raceNumber","ids","getTipstersSelection","getMeetingPmPoolStatus","getInPageDisplayButtons","speedMapPath","path_SpeedMap","path_DefaultButtonsMap","getArticle","getCarnivalSection","carnival","raceday","searchCarnivalByName","pageName","carnivalTemplate","limit","getRacingStatistics","getCarnivalNameList","getMeetingCountryAndHorseStatus"],"sourceRoot":""}