{"version":3,"sources":["utils/link/goPage.ts","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-transition-group/esm/CSSTransition.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/dom-helpers/esm/hasClass.js","utils/footerLink.js","common/i18n/config.ts","common/i18n/hooks.ts","common/i18n/index.ts","common/utils/env.ts","common/hooks/useAreaLimit.ts","components/BaseContainer.tsx","common/bootstrap.tsx","utils/fontClass/index.js","common/cookieControl/index.js","common/polyfill.ts","common/i18n/init.ts","utils/log/index.ts","../node_modules/@babel/runtime/helpers/esm/extends.js","config.ts","components/domainLimit/index.tsx","components/FooterForPC/index.jsx","components/modal/index.tsx","components/HeaderForPC/tools.js","components/HeaderForPC/index.jsx","utils/getTime/index.ts","newsdetail/Container.less","newsdetail/App.tsx","newsdetail/Container.tsx","../node_modules/.jupiter/newsdetail/index.js","utils/credits/index.js","components/domainLimit/index.less","../node_modules/@fe/g-utils/node_modules/is-buffer/index.js","common/utils/loadScript.ts","../node_modules/@fe/g-utils/lib/helper/index.js","../node_modules/@fe/g-utils/lib/http/middleware/combineParams.js","../node_modules/@fe/g-utils/lib/http/middleware/optionsParser.js","common/utils/http/index.ts","../node_modules/@fe/g-utils/lib/http/Http.js","common/utils/http/fetch.ts","common/utils/index.ts","components/HeaderForPC/index.less","components/modal/style.less","components/FooterForPC/index.less","common/request.ts","common/services/siteData.ts"],"names":["routers","resolveUrl","url","indexOf","baseUrl","location","protocol","host","pathname","test","replaceArr","split","length","replace","forEach","route","endsWith","base","document","createElement","href","head","getElementsByTagName","insertBefore","firstChild","a","resolved","removeChild","isMobile","search","includes","ua","navigator","userAgent","tablet","toLowerCase","customRedirect","new_open","opt","self","win","window","open","replaceClassName","origClass","classToRemove","RegExp","removeClass","node","classes","c","className","element","classList","remove","setAttribute","baseVal","CSSTransition","_React$Component","_this","_len","arguments","args","Array","_key","call","apply","this","concat","appliedClasses","appear","enter","exit","onEnter","appearing","removeClasses","addClass","props","onEntering","type","onEntered","onExit","onExiting","onExited","getClassNames","classNames","isStringClassNames","baseClassName","activeClassName","doneClassName","_inheritsLoose","_proto","prototype","phase","scrollTop","add","contains","hasClass","_addClass","_this$appliedClasses$","active","done","render","_this$props","_objectWithoutPropertiesLoose","React","Transition","_extends","Component","defaultProps","termOfService","en","de","th","vi","fr","id","it","ja","ko","ru","nuversePrivacyNotice","secondDinnerPrivacyNotice","LANGs","value","label","lang2RedeemMap","useLang","i18n","useTranslation","lang","language","languageLabel","useMemo","find","item","changeLanguage","useCallback","v","Boolean","isValidLang","console","error","isNode","isBrowser","isBoe","process","env","LOAD_SERVICE_PSM","TCE_PSM","TCE_HOST_ENV","isIOS","cookie","isAndroid","isWeixin","isQQ","useAreaLimit","useState","areaList","currentCity","setCurrentCity","isLimit","setIsLimit","handelGetCity","getLimitArea","data","country_code","_","region_code","useEffect","hasInit","BaseContainer","children","start","Date","now","Tea","initSendLogV3","app_id","config","appId","activity_id","actId","zone","region","default_data","page_text","title","activity_form","query","gameUtils","parseQuery","sendLogV3","index","entrance_source","entrance_detail","duration","setLogParam","bootstrap","App","AppWrapper","init","context","level","request","targetRenderLevel","Number","getSpecFont","hasDefault","getSpecFontForNews","getSpecLine","text","words","map","word","countryTier1","countryTier2","initFacebook","initSnapchat","initGoogle","initTwitter","initTiktok","initReddit","initFacebookPixel","enable","_cookie_fb_switch_","script","innerHTML","appendChild","e","initSnapchatPixel","_cookie_sp_switch_","initGooglePixel","_cookie_gg_switch_","scriptLink","scriptCode","src","async","initTwitterPixel","_cookie_tw_switch_","initTikTokPixel","_cookie_tt_switch_","initRedditPixel","_cookie_rd_switch_","controlCookie","Object","keys","key","name","acceptAllCookie","initCookieControl","ref","siteConfig","countryCode","some","country","website","page","block","channel","getCountrySiteConfig","current","CookieBanner","siteParam","needOptOut","optOutOptions","el","onAcceptAll","onRejectAll","info","listen","getStatus","code","getSetting","starlingOptions","api_key","namespace","zoneHost","fallbackLang","Backend","services","options","locale","callback","Starling","load","result","use","initReactI18next","LanguageDetector","fallbackLng","ns","defaultNS","saveMissing","debug","react","useSuspense","interpolation","escapeValue","prefix","suffix","detection","caches","order","cookieMinutes","lookupCookie","lookupLocalStorage","backend","localLng","Cookies","get","localTexts","localStorage","getItem","JSON","parse","getLocalStarlingText","addResources","dfl","localBrowserLanguageDetecter","log","on","lng","t","initI18n","btnClick","component_text","process_type","is_core","component_name","process_id","component_id","pageView","news_id","logWatchYouTube","logAssociationLink","logBigPic","logDownPic","picSource","logViewHome","homeView","logDetail","dtlId","logMedia","assign","target","i","source","hasOwnProperty","appName","enableShark","description","image","DomainLimit","FooterForPC","customStyle","needCookieSetting","setSetting","useRef","term","nuverse","second","links","setLinks","nvsLink","setNvsLink","setCanShowFuntap","logoName","PrivacyUpdatePop","langMap","onInit","popInstance","privacyUrl","style","onClick","showSideBanner","toUpperCase","Modal","show","onClose","showClose","in","timeout","unmountOnExit","hackLangLength","transform","HeaderForPC","appendData","setAppendData","gameData","setGameData","langListDom","showDownload","setShowDownload","rechargeLink","setrechargeLink","goNews","reportTea","system","is_score","backToHome","handleLangChange","opacity","setTimeout","goHowToPlay","goLeaderBoard","getHeaderLinkConfig","then","append","game","getHeaderTopUpConfig","link","child","formatTime","time","getTime","timestamp","format","date","year","getFullYear","month","getMonth","day","getDate","hours","getHours","minutes","getMinutes","getSeconds","module","exports","newsDetail","setNewsDetail","newsList","setNewsList","filtedNews","setFiltedNews","lock","browserAction","scrollTo","top","behavior","history","replaceState","origin","goPrev","hasPrev","findIndex","prev","getNewsDetail","goNext","hasNext","next","initNewsDetail","initNewsList","getNews","size","res","filted","filter","dangerouslySetInnerHTML","__html","content","goDetail","alt","update_at","createApp","plugins","ssr","features","renderApp","LOADINGMap","siteMap","obj","constructor","isBuffer","Map","toString","queryFormat","entries","undefined","encodeURIComponent","join","combineParams","ctx","baseURL","relativeURL","req","params","queryString","addParams","setContentTypeIfUnset","headers","isHeaders","has","optionsParser","method","val","body","FormData","isBlob","isFile","isArrayBuffer","ArrayBuffer","isView","buffer","isArrayBufferView","URLSearchParams","isURLSearchParams","stringify","withCredentials","credentials","http","parent","fetch","wrap","put","post","patch","delete","_middleware","Http","push","m","middleware","optionsParserMiddleware","combineParamsMiddleware","middlewareFn","compose","useMiddleware","prefetch","__prefetch__","prefetchId","p","getPrefetchData","matches","match","str","idx","substr","decodeURIComponent","commonData","String","login_type","channel_app_id","bricksGet","Math","floor","httpRequest","sharkParams","app_name","useSharkSign","useSharkParam","message","Error","Promise","reject","isSandbox","getSiteInstance","siteApi","SiteApi","channels","resource_type","page_size","page_index","getBatchData","getContainData","getBatchResource","pre","getPicture","mapArgs","ALL","ANNOUNCEMENTS","GAME_UPDATES","EVENTS","MEDIA","E_SPORTS","getNewsWithPage","getTOPNews","getCredits","detail","getSocialLink","getPictureWithPage","getYoutubeVideo","isPc","getCreatorprogram"],"mappings":"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","file":"static/js/newsdetail.50ad8365.chunk.js","sourcesContent":["const routers = [\n 'index',\n 'newslist',\n 'medialist',\n 'newsdetail',\n 'textdetail',\n 'privacy',\n 'm_privacy',\n 'm_index',\n 'm_newslist',\n 'm_medialist',\n 'm_newsdetail',\n 'm_textdetail',\n 'credits',\n 'm_credits',\n 'howtoplay',\n 'm_howtoplay',\n 'm_creatorprogram',\n 'creatorprogram'\n];\nconst resolveUrl = (url) => {\n if (url.indexOf('//') > -1) {\n return url;\n }\n\n let baseUrl = `${location.protocol}//${location.host}${location.pathname}`;\n // baseUrl = baseUrl.replace()\n if (/\\/gms\\/(\\w|\\d)*/.test(baseUrl)) {\n const replaceArr = baseUrl.split('/gms/')[1];\n if (replaceArr.length > 1) {\n baseUrl = `${baseUrl.replace(replaceArr, replaceArr.split('/')[0])}/`;\n }\n }\n routers.forEach((route) => {\n baseUrl = baseUrl.replace(`/${route}`, '');\n });\n\n if (!baseUrl.endsWith('/')) {\n baseUrl += '/';\n }\n // baseUrl = baseUrl.replace(/[^\\/]+\\.html/i, '');\n const base = document.createElement('base');\n base.href = baseUrl;\n\n const head = document.getElementsByTagName('head')[0];\n head.insertBefore(base, head.firstChild);\n\n const a = document.createElement('a');\n\n a.href = url;\n const resolved = a.href;\n\n head.removeChild(base);\n\n return resolved;\n};\nfunction isMobile() {\n // 如果手动指定了设备类型 则直接使用\n if (location.search.includes('__gms__platform=mobile')) {\n return true;\n } else if (location.search.includes('__gms__platform=pc')) {\n return false;\n }\n const ua = navigator.userAgent;\n const tablet = /tablet/i.test(ua) && !/tablet pc/i.test(ua);\n const whiteList = ['android', 'iphone', 'symbianos', 'windows phone', 'ipod', 'ipad'];\n return whiteList.includes(ua.toLowerCase()) || (!tablet && /[^-]mobile/i.test(ua));\n}\n\nexport const customRedirect = (href, new_open = false, opt?: any) => {\n opt = opt || {};\n href = resolveUrl(href);\n if (new_open && !isMobile() && !opt.self) {\n const win = window.open('_blank');\n win.location = href;\n } else if (opt.replace) {\n location.replace(href);\n } else {\n location.href = href;\n }\n};\n","function replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nexport default function removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else if (typeof element.className === 'string') {\n ;\n element.className = replaceClassName(element.className, className);\n } else {\n element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n }\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport addOneClass from 'dom-helpers/addClass';\nimport removeOneClass from 'dom-helpers/removeClass';\nimport React from 'react';\nimport Transition from './Transition';\nimport { classNamesShape } from './utils/PropTypes';\n\nvar _addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return addOneClass(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return removeOneClass(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](http://www.nganimate.org/) library, you should use it if you're\n * using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n *
\n * {\"I'll receive my-node-* classes\"}\n *
\n *
\n * \n *
\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**.\n *\n * **Note**: If you're using the\n * [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)\n * prop, make sure to define styles for `.appear-*` classes as well.\n */\n\n\nvar CSSTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.appliedClasses = {\n appear: {},\n enter: {},\n exit: {}\n };\n\n _this.onEnter = function (node, appearing) {\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, appearing ? 'appear' : 'enter', 'base');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(node, appearing);\n }\n };\n\n _this.onEntering = function (node, appearing) {\n var type = appearing ? 'appear' : 'enter';\n\n _this.addClass(node, type, 'active');\n\n if (_this.props.onEntering) {\n _this.props.onEntering(node, appearing);\n }\n };\n\n _this.onEntered = function (node, appearing) {\n var type = appearing ? 'appear' : 'enter';\n\n _this.removeClasses(node, type);\n\n _this.addClass(node, type, 'done');\n\n if (_this.props.onEntered) {\n _this.props.onEntered(node, appearing);\n }\n };\n\n _this.onExit = function (node) {\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n _this.addClass(node, 'exit', 'base');\n\n if (_this.props.onExit) {\n _this.props.onExit(node);\n }\n };\n\n _this.onExiting = function (node) {\n _this.addClass(node, 'exit', 'active');\n\n if (_this.props.onExiting) {\n _this.props.onExiting(node);\n }\n };\n\n _this.onExited = function (node) {\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, 'exit', 'done');\n\n if (_this.props.onExited) {\n _this.props.onExited(node);\n }\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + \"-\" : '';\n var baseClassName = isStringClassNames ? \"\" + prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? baseClassName + \"-active\" : classNames[type + \"Active\"];\n var doneClassName = isStringClassNames ? baseClassName + \"-done\" : classNames[type + \"Done\"];\n return {\n baseClassName: baseClassName,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.addClass = function addClass(node, type, phase) {\n var className = this.getClassNames(type)[phase + \"ClassName\"];\n\n if (type === 'appear' && phase === 'done') {\n className += \" \" + this.getClassNames('enter').doneClassName;\n } // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n\n\n if (phase === 'active') {\n /* eslint-disable no-unused-expressions */\n node && node.scrollTop;\n }\n\n this.appliedClasses[type][phase] = className;\n\n _addClass(node, className);\n };\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$appliedClasses$ = this.appliedClasses[type],\n baseClassName = _this$appliedClasses$.base,\n activeClassName = _this$appliedClasses$.active,\n doneClassName = _this$appliedClasses$.done;\n this.appliedClasses[type] = {};\n\n if (baseClassName) {\n removeClass(node, baseClassName);\n }\n\n if (activeClassName) {\n removeClass(node, activeClassName);\n }\n\n if (doneClassName) {\n removeClass(node, doneClassName);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n _ = _this$props.classNames,\n props = _objectWithoutPropertiesLoose(_this$props, [\"classNames\"]);\n\n return React.createElement(Transition, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(React.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, Transition.propTypes, {\n /**\n * The animation classNames applied to the component as it appears, enters,\n * exits or has finished the transition. A single name can be provided and it\n * will be suffixed for each stage: e.g.\n *\n * `classNames=\"fade\"` applies `fade-appear`, `fade-appear-active`,\n * `fade-appear-done`, `fade-enter`, `fade-enter-active`, `fade-enter-done`,\n * `fade-exit`, `fade-exit-active`, and `fade-exit-done`.\n *\n * **Note**: `fade-appear-done` and `fade-enter-done` will _both_ be applied.\n * This allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply an\n * epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: classNamesShape,\n\n /**\n * A `` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' class is\n * applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit-active' is applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nexport default CSSTransition;","import hasClass from './hasClass';\nexport default function addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","export default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","export const termOfService = {\n en:\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/snap_terms_of_service_en.html',\n 'zh-CN':\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/snap_terms_of_service_en.html',\n 'zh-TW':\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/snap_terms_of_service_zh-hant.html',\n de:\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/snap_terms_of_service_de.html',\n 'es-MX':\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/snap_terms_of_service_es.html',\n 'es-ES':\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/snap_terms_of_service_es.html',\n th:\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/snap_terms_of_service_en.html',\n vi: 'https://funtapcorp.vn/dieu-khoan',\n fr:\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/snap_terms_of_service_fr.html',\n id:\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/snap_terms_of_service_id.html',\n it:\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/snap_terms_of_service_it.html',\n ja:\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/snap_terms_of_service_ja.html',\n ko:\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/snap_terms_of_service_ko.html',\n 'pt-BR':\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/snap_terms_of_service_pt.html',\n ru:\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/snap_terms_of_service_ru.html'\n};\nexport const nuversePrivacyNotice = {\n en:\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/c0a3e1e6-a53d-4a0d-82b4-2e8097015584.html',\n 'zh-CN':\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/c0a3e1e6-a53d-4a0d-82b4-2e8097015584.html',\n 'zh-TW':\n 'https://sf19-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/snap_privacy_policy_zh-hant.html',\n de:\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/c0a3e1e6-a53d-4a0d-82b4-2e8097015584_de.html',\n 'es-MX':\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/c0a3e1e6-a53d-4a0d-82b4-2e8097015584.html',\n 'es-ES':\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/c0a3e1e6-a53d-4a0d-82b4-2e8097015584.html',\n th:\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/c0a3e1e6-a53d-4a0d-82b4-2e8097015584.html',\n vi: 'https://funtapcorp.vn/bao-mat',\n fr:\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/c0a3e1e6-a53d-4a0d-82b4-2e8097015584_fr.html',\n id:\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/c0a3e1e6-a53d-4a0d-82b4-2e8097015584_id.html',\n it:\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/c0a3e1e6-a53d-4a0d-82b4-2e8097015584_it.html',\n ja:\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/c0a3e1e6-a53d-4a0d-82b4-2e8097015584_ja.html',\n ko:\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/c0a3e1e6-a53d-4a0d-82b4-2e8097015584_ko.html',\n 'pt-BR':\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/c0a3e1e6-a53d-4a0d-82b4-2e8097015584_pt.html',\n ru:\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/c0a3e1e6-a53d-4a0d-82b4-2e8097015584_ru.html'\n};\nexport const secondDinnerPrivacyNotice = {\n en:\n 'https://sf19-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/seconddinner_privacy_notice_en.html',\n 'zh-CN':\n 'https://sf19-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/seconddinner_privacy_notice_en.html',\n 'zh-TW':\n 'https://sf19-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/seconddinner_privacy_notice_zh-hant.html',\n de:\n 'https://sf19-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/seconddinner_privacy_notice_de.html',\n 'es-MX':\n 'https://sf19-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/seconddinner_privacy_notice_es-LA.html',\n 'es-ES':\n 'https://sf19-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/seconddinner_privacy_notice_es-ES.html',\n th:\n 'https://sf19-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/seconddinner_privacy_notice_en.html',\n vi:\n 'https://sf19-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/seconddinner_privacy_notice_en.html',\n fr:\n 'https://sf19-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/seconddinner_privacy_notice_fr.html',\n id:\n 'https://sf19-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/seconddinner_privacy_notice_id.html',\n it:\n 'https://sf19-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/seconddinner_privacy_notice_it.html',\n ja:\n 'https://sf19-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/seconddinner_privacy_notice_ja.html',\n ko:\n 'https://sf19-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/seconddinner_privacy_notice_ko.html',\n 'pt-BR':\n 'https://sf19-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/seconddinner_privacy_notice_pt.html',\n ru:\n 'https://sf16-draftcdn-sg.ibytedtos.com/obj/ies-hotsoon-draft-sg/Snap/9b030535-5608-419d-8102-e1da598bae7d_ru.html'\n};\n","// en\tzh-CN\tzh-TW\tde\tes-MX\tes-ES\tth\tvi\tfr\tid\tit\tja\tko\tpt-BR\n\nexport const LANGs = [\n { value: 'en', label: 'English' },\n { value: 'en-SG', label: 'English - SEA' },\n { value: 'zh-CN', label: '简体中文' },\n { value: 'zh-TW', label: '繁體中文' },\n { value: 'de', label: 'Deutsch' },\n { value: 'es-MX', label: 'Español - LA' },\n { value: 'es-ES', label: 'Español - ES' },\n { value: 'th', label: 'ภาษาไทย' },\n { value: 'vi', label: 'Tiếng Việt' },\n { value: 'fr', label: 'Français' },\n { value: 'id', label: 'Indonesia' },\n { value: 'it', label: 'Italiano' },\n { value: 'ja', label: '日本語' },\n { value: 'ko', label: '한국어' },\n { value: 'pt-BR', label: 'Português - BR' },\n { value: 'ru', label: 'Pусский язык' }\n];\n\nexport const lang2RedeemMap = {\n en: 'us-en',\n 'en-SG': 'us-en',\n 'zh-CN': 'us-zh-Hant',\n 'zh-TW': 'us-zh-Hant',\n // \"de\": \"us-en\",\n 'es-MX': 'us-es',\n 'es-ES': 'us-es',\n th: 'us-th',\n // \"fr\": \"\",\n id: 'us-id',\n // \"it\": \"\",\n ja: 'us-ja',\n ko: 'us-ko',\n 'pt-BR': 'us-pt'\n // \"ru\": \"\"\n};\n\nexport const DEFAULT_LANG = 'en';\n","import { useCallback, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { LANGs } from './config';\n\nconst isValidLang = (v: string) => {\n return Boolean(LANGs.find((item) => item.value === v));\n};\n\nexport const useLang = () => {\n const { i18n } = useTranslation();\n const lang = i18n.language;\n\n const languageLabel = useMemo(() => {\n return LANGs.find((item) => item.value === lang)?.label || '-';\n }, [lang]);\n\n const changeLanguage = useCallback(\n (v: string) => {\n if (isValidLang(v)) {\n i18n.changeLanguage(v);\n } else {\n console.error('set lang error:', v);\n }\n },\n [i18n]\n );\n\n return {\n language: lang,\n languageLabel,\n changeLanguage\n };\n};\n","export * from './config';\nexport * from './hooks';\n","export const isNode = typeof window === 'undefined';\nexport const isBrowser = !isNode;\n\nconst getPSM = () => {\n if (isBrowser || typeof process === 'undefined') {\n return '-';\n }\n const psm = process.env.LOAD_SERVICE_PSM || process.env.TCE_PSM || '-';\n return psm;\n};\n\nexport const isInternal = getPSM().endsWith('_internal');\n\nexport const emptyFn = () => {\n //\n};\nexport const isDev = process.env.NODE_ENV === 'development';\nexport const isBoe = process.env.TCE_HOST_ENV === 'boe';\nexport const isTestEnv =\n (isBrowser && document.cookie.includes('env=test')) || (isNode && isBoe);\n\nconst publicPath = isTestEnv\n ? '//p1.dailygn.com/obj/'\n : '//s16b.tiktokcdn.com/toutiao/fe/long_cache/';\nexport const baseUrl = isDev ? '/' : publicPath;\nexport const isIOS = isBrowser && /iPhone/i.test(window.navigator.userAgent);\nexport const isAndroid =\n isBrowser && /Android/i.test(window.navigator.userAgent);\n\nexport const isByte =\n isBrowser &&\n (/(NewsArticle)[\\s/_](\\d.\\d.\\d)/i.test(window.navigator.userAgent) ||\n /aweme_\\d+/i.test(window.navigator.userAgent) ||\n /live_stream_\\d+/i.test(window.navigator.userAgent) ||\n /VideoArticle/i.test(window.navigator.userAgent) ||\n /Super \\d.\\d.\\d/i.test(window.navigator.userAgent));\nexport const isGSDK =\n isBrowser && /BDGameSDK/i.test(window.navigator.userAgent);\nexport const isWeixin =\n isBrowser && /micromessenger/i.test(window.navigator.userAgent);\nexport const isQQ =\n isBrowser && /QQ\\/([\\d.]+)/.test(window.navigator.userAgent) && !isWeixin;\nexport const isQQBrowser =\n isBrowser &&\n /MQQBrowser/i.test(window.navigator.userAgent) &&\n !isWeixin &&\n !isQQ;\nexport const isQzone = isBrowser && /Qzone/i.test(window.navigator.userAgent);\nexport const isUcAndroidBrowser =\n isBrowser && /UCBrowser/i.test(window.navigator.userAgent) && isAndroid;\nexport const isUcIosBrowser =\n isBrowser && /UCBrowser/i.test(window.navigator.userAgent) && isIOS;\n\nexport function getServicePSM() {\n return `ttgame.platform.gms_act_gateway${isInternal ? '_internal' : ''}`;\n}\n\nexport function getCgameShiftServicePSM() {\n return isInternal\n ? 'ttgame.platform.gactivity_sandbox'\n : 'ttgame.platform.gactivity';\n}\n","import { useCallback, useEffect, useState } from 'react';\nimport { getLimitArea } from '../services/siteData';\n\nexport default function useAreaLimit() {\n // 'TW'\n const [areaList] = useState(['KP', 'IR', 'CU', 'SY', 'CRIMEA', 'DT', 'LH', 'CN']);\n const [currentCity, setCurrentCity] = useState('');\n const [isLimit, setIsLimit] = useState(false);\n\n const handelGetCity = useCallback(async () => {\n const data = await getLimitArea();\n try {\n // 存全局\n window['_em_cd_'] = data.country_code;\n } catch (_) { }\n setCurrentCity(data?.country_code);\n areaList.forEach((item) => {\n if (data?.region_code === item || data?.country_code === item) {\n setIsLimit(true);\n }\n });\n }, [areaList]);\n useEffect(() => {\n handelGetCity();\n }, [handelGetCity]);\n return { currentCity, isLimit };\n}\n","import React, { useEffect } from 'react';\nimport { Tea, gameUtils } from '@fe/game-sdk';\nimport { isBrowser } from '../common/utils/env';\nimport { useTranslation } from 'react-i18next';\nimport config from '../config';\n// import usePageBrowseEvent from '../common/hooks/usePageBrowseEvent';\n\nlet hasInit = false;\nexport default function BaseContainer({ children }) {\n const start = Date.now();\n const { i18n } = useTranslation();\n const lang = i18n.language;\n if (isBrowser && !hasInit) {\n Tea.initSendLogV3({\n app_id: config.appId,\n activity_id: config.actId,\n zone: config.region,\n // 非必传参数,这个字段可以自定义通用参数,并且会在所有埋点事件里统一传参\n default_data: {\n page_text: config.title,\n activity_form: '4'\n }\n });\n const query = gameUtils.parseQuery();\n Tea.sendLogV3('acv_pageview', {\n index: 1,\n entrance_source: query.entrance_source ? query.entrance_source : 'unknown',\n entrance_detail: query.entrance_detail ? query.entrance_detail : 'be_null'\n });\n hasInit = true;\n }\n\n // usePageBrowseEvent();\n\n useEffect(() => {\n const query = gameUtils.parseQuery();\n Tea.sendLogV3('acv_pageload', {\n index: 1,\n entrance_source: query.entrance_source ? query.entrance_source : 'unknown',\n entrance_detail: query.entrance_detail ? query.entrance_detail : 'be_null',\n duration: Date.now() - start\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (lang) {\n Tea.setLogParam({\n language: lang\n });\n }\n }, [lang]);\n\n return children;\n}\n","import React from 'react';\n\nexport default function bootstrap(App: any) {\n const AppWrapper = (props: any) => {\n return ;\n };\n\n AppWrapper.init = (context) => {\n const { level } = context.request.query;\n if (['0', '1', '2'].includes(level)) {\n // 2 表示服务器渲染,1表示服务端预取数据,0表示客户端渲染\n context.targetRenderLevel = Number(level);\n }\n };\n\n return AppWrapper;\n}\n","import React from 'react';\n\nexport const getSpecFont = (lang, hasDefault = true) => {\n // 德法西葡意\n if (\n lang === 'de' ||\n lang === 'fr' ||\n lang === 'es-MX' ||\n lang === 'es-ES' ||\n lang === 'pt-BR' ||\n lang === 'it' ||\n lang === 'vi'\n ) {\n return 'ft_ptes';\n } else if (lang === 'ja') {\n return 'ft_ja';\n } else if (lang === 'th') {\n return 'ft_tl';\n }\n if (lang === 'ko') {\n return 'ft_kr_zw';\n }\n if (hasDefault) {\n return 'ft_italic';\n }\n return null;\n};\n\n// 新闻详情专用\nexport const getSpecFontForNews = (lang, hasDefault = true) => {\n // 德法西葡意\n if (\n lang === 'de' ||\n lang === 'fr' ||\n lang === 'es-MX' ||\n lang === 'es-ES' ||\n lang === 'pt-BR' ||\n lang === 'it'\n ) {\n return 'ft_ptes_news';\n } else if (lang === 'ja') {\n return 'ft_ja';\n } else if (lang === 'th') {\n return 'ft_tl';\n }\n if (lang === 'ko') {\n return 'ft_kr_zw';\n }\n if (hasDefault) {\n return 'ft_italic';\n }\n return null;\n};\n\n// 韩语将
转成换行\nexport const getSpecLine = (text, lang) => {\n if (lang !== 'ko') {\n return text;\n }\n // 韩语处理\n let words = text.split('
');\n return (\n <>\n {words.map((word, index) => (\n <>\n {word}\n {words.length - 1 !== index &&
}\n \n ))}\n \n );\n};\n","import { CookieBanner } from '@fe/game-sdk';\n\n// 默认拒绝收集用户数据 tie1\nexport const countryTier1 = [\n 'AT',\n 'BE',\n 'BG',\n 'HR',\n 'CY',\n 'CZ',\n 'DK',\n 'EE',\n 'FI',\n 'FR',\n 'DE',\n 'GR',\n 'HU',\n 'IE',\n 'IT',\n 'LV',\n 'LT',\n 'LU',\n 'MT',\n 'NL',\n 'PL',\n 'PT',\n 'RO',\n 'SK',\n 'SI',\n 'ES',\n 'SE',\n 'IS',\n 'LI',\n 'NO',\n 'GB',\n 'CH',\n 'TR'\n];\n// 默认同意收集 tie2\nexport const countryTier2 = ['BR', 'MX', 'UY', 'AR', 'CO'];\n\nlet initFacebook = false;\nlet initSnapchat = false;\nlet initGoogle = false;\nlet initTwitter = false;\nlet initTiktok = false;\nlet initReddit = false;\n\nconst initFacebookPixel = (enable) => {\n // head内\n try {\n window._cookie_fb_switch_ = enable;\n if (!enable) {\n return;\n }\n if (initFacebook) {\n return;\n }\n let head = document.getElementsByTagName('head')[0];\n let script = document.createElement('script');\n script.innerHTML = `\n !function(f,b,e,v,n,t,s)\n {if(f.fbq)return;n=f.fbq=function(){n.callMethod?\n n.callMethod.apply(n,arguments):n.queue.push(arguments)};\n if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';\n n.queue=[];t=b.createElement(e);t.async=!0;\n t.src=v;s=b.getElementsByTagName(e)[0];\n s.parentNode.insertBefore(t,s)}(window, document,'script',\n 'https://connect.facebook.net/en_US/fbevents.js');\n fbq('init', '1393750854471514');\n fbq('track', 'PageView');\n `;\n head.appendChild(script);\n initFacebook = true;\n } catch (e) {}\n};\nconst initSnapchatPixel = (enable) => {\n // head内\n try {\n window._cookie_sp_switch_ = enable;\n if (!enable) {\n return;\n }\n if (initSnapchat) {\n return;\n }\n let head = document.getElementsByTagName('head')[0];\n let script = document.createElement('script');\n script.innerHTML = `\n (function(e,t,n){if(e.snaptr)return;var a=e.snaptr=function()\n {a.handleRequest?a.handleRequest.apply(a,arguments):a.queue.push(arguments)};\n a.queue=[];var s='script';r=t.createElement(s);r.async=!0;\n r.src=n;var u=t.getElementsByTagName(s)[0];\n u.parentNode.insertBefore(r,u);})(window,document,\n 'https://sc-static.net/scevent.min.js');\n \n snaptr('init', '41a681f3-2d36-49cd-8389-fdc0fe1adb51', {\n 'user_email': '__INSERT_USER_EMAIL__'\n });\n \n snaptr('track', 'PAGE_VIEW');\n `;\n head.appendChild(script);\n initSnapchat = true;\n } catch (e) {}\n};\nconst initGooglePixel = (enable) => {\n // head内\n try {\n window._cookie_gg_switch_ = enable;\n if (!enable) {\n return;\n }\n if (initGoogle) {\n return;\n }\n let head = document.getElementsByTagName('head')[0];\n let scriptLink = document.createElement('script');\n let scriptCode = document.createElement('script');\n scriptLink.src = 'https://www.googletagmanager.com/gtag/js?id=AW-10892319757';\n scriptLink.async = true;\n scriptCode.innerHTML = `\n window.dataLayer = window.dataLayer || [];\n function gtag() {\n dataLayer.push(arguments);\n }\n gtag('js', new Date());\n\n gtag('config', 'AW-10892319757');\n `;\n head.appendChild(scriptLink);\n head.appendChild(scriptCode);\n initGoogle = true;\n } catch (e) {}\n};\nconst initTwitterPixel = (enable) => {\n // head内\n try {\n window._cookie_tw_switch_ = enable;\n if (!enable) {\n return;\n }\n if (initTwitter) {\n return;\n }\n let head = document.getElementsByTagName('head')[0];\n let script = document.createElement('script');\n script.src = '//static.ads-twitter.com/oct.js';\n head.appendChild(script);\n initTwitter = true;\n } catch (e) {}\n};\nconst initTikTokPixel = (enable) => {\n // head内\n try {\n window._cookie_tt_switch_ = enable;\n if (!enable) {\n return;\n }\n if (initTiktok) {\n return;\n }\n let head = document.getElementsByTagName('head')[0];\n let script = document.createElement('script');\n script.innerHTML = `\n !(function (w, d, t) {\n w.TiktokAnalyticsObject = t;\n var ttq = (w[t] = w[t] || []);\n (ttq.methods = [\n 'page',\n 'track',\n 'identify',\n 'instances',\n 'debug',\n 'on',\n 'off',\n 'once',\n 'ready',\n 'alias',\n 'group',\n 'enableCookie',\n 'disableCookie'\n ]),\n (ttq.setAndDefer = function (t, e) {\n t[e] = function () {\n t.push([e].concat(Array.prototype.slice.call(arguments, 0)));\n };\n });\n for (var i = 0; i < ttq.methods.length; i++) ttq.setAndDefer(ttq, ttq.methods[i]);\n (ttq.instance = function (t) {\n for (var e = ttq._i[t] || [], n = 0; n < ttq.methods.length; n++)\n ttq.setAndDefer(e, ttq.methods[n]);\n return e;\n }),\n (ttq.load = function (e, n) {\n var i = 'https://analytics.tiktok.com/i18n/pixel/events.js';\n (ttq._i = ttq._i || {}),\n (ttq._i[e] = []),\n (ttq._i[e]._u = i),\n (ttq._t = ttq._t || {}),\n (ttq._t[e] = +new Date()),\n (ttq._o = ttq._o || {}),\n (ttq._o[e] = n || {});\n var o = document.createElement('script');\n (o.type = 'text/javascript'), (o.async = !0), (o.src = i + '?sdkid=' + e + '&lib=' + t);\n var a = document.getElementsByTagName('script')[0];\n a.parentNode.insertBefore(o, a);\n });\n\n ttq.load('C9UGU4JC77UCFR8RBVPG');\n ttq.page();\n })(window, document, 'ttq');\n `;\n head.appendChild(script);\n initTiktok = true;\n } catch (e) {}\n};\nconst initRedditPixel = (enable) => {\n // head内\n try {\n window._cookie_rd_switch_ = enable;\n if (!enable) {\n return;\n }\n if (initReddit) {\n return;\n }\n let head = document.getElementsByTagName('head')[0];\n let script = document.createElement('script');\n script.innerHTML = `\n !function(w,d){if(!w.rdt){var p=w.rdt=function(){p.sendEvent?p.sendEvent.apply(p,arguments):p.callQueue.push(arguments)};p.callQueue=[];var t=d.createElement(\"script\");t.src=\"https://www.redditstatic.com/ads/pixel.js\",t.async=!0;var s=d.getElementsByTagName(\"script\")[0];s.parentNode.insertBefore(t,s)}}(window,document);rdt('init','t2_micbqy3r');rdt('track', 'PageVisit');\n `;\n head.appendChild(script);\n initReddit = true;\n } catch (e) {}\n};\n\nexport const controlCookie = (data) => {\n let keys = Object.keys(data);\n keys.forEach((key) => {\n let item = data[key];\n let name = item.name.toLowerCase();\n if (name.indexOf('meta') > -1) {\n initFacebookPixel(item.enable);\n } else if (name.indexOf('snapchat') > -1) {\n initSnapchatPixel(item.enable);\n } else if (name.indexOf('google') > -1) {\n initGooglePixel(item.enable);\n } else if (name.indexOf('twitter') > -1) {\n initTwitterPixel(item.enable);\n } else if (name.indexOf('tiktok') > -1) {\n initTikTokPixel(item.enable);\n } else if (name.indexOf('reddit') > -1) {\n initRedditPixel(item.enable);\n }\n });\n};\n\nexport const acceptAllCookie = () => {\n initFacebookPixel(true);\n initSnapchatPixel(true);\n initGooglePixel(true);\n initTwitterPixel(true);\n initTikTokPixel(true);\n initRedditPixel(true);\n};\n\nexport const getCountrySiteConfig = (countryCode) => {\n if (!countryCode) {\n return;\n }\n if (countryTier1.some((country) => country === countryCode)) {\n return {\n appId: 262304,\n website: 93,\n page: 6,\n block: 31,\n channel: 37,\n language: 'en-US',\n region: 'va'\n };\n } else if (countryTier2.some((country) => country === countryCode)) {\n return {\n appId: 262304,\n website: 93,\n page: 6,\n block: 31,\n channel: 38,\n language: 'en-US',\n region: 'va'\n };\n } else {\n return null;\n }\n};\n\nexport const initCookieControl = ({ currentCity, ref, done }) => {\n const siteConfig = getCountrySiteConfig(currentCity);\n if (!siteConfig && currentCity !== 'US') {\n // 不需要cookie弹窗,并初始化所有pixel\n acceptAllCookie();\n return;\n }\n // 获取配置数据\n ref.current = new CookieBanner({\n siteParam: siteConfig,\n needOptOut: currentCity === 'US',\n optOutOptions: {\n el: '#opt-out-button',\n appId: '262304',\n onAcceptAll: () => {\n acceptAllCookie();\n },\n onRejectAll: () => console.info('[reject-all]')\n }\n });\n if (currentCity === 'US') {\n // 美国 不需要执行下面的cookie-setting\n return;\n }\n ref.current.listen('ready', () => {\n let status = ref.current.getStatus();\n if (status.code == 0) {\n // 第一次需要监听接受or拒绝数据\n ref.current.listen('acceptAll', (data) => {\n controlCookie(data);\n });\n ref.current.listen('rejectAll', (data) => {\n controlCookie(data);\n });\n } else {\n // 接受或者拒绝过,需要初始化对应的sdk & 管控参数\n let data = ref.current.getSetting();\n controlCookie(data);\n }\n ref.current.listen('save', (data) => {\n controlCookie(data);\n });\n });\n\n done();\n};\n","import 'whatwg-fetch';\n\nconsole.info('--polyfill--');\n","import i18n from 'i18next';\nimport LanguageDetector from 'i18next-browser-languagedetector';\nimport { initReactI18next } from 'react-i18next';\nimport Starling from '@ies/starling_client';\nimport Cookies from 'js-cookie';\nimport { localBrowserLanguageDetecter } from '../../utils/credits';\n\nconst starlingOptions: any = {\n api_key: '4ab7d06029a011edb233c11c2b8a3138',\n namespace: ['snap_website'],\n zoneHost: 'https://starling-oversea.byteoversea.com',\n // locale: 'en',\n // test: location.host === 'act-va.bytedance.net', // TODO 线上环境注释\n fallbackLang: ['en']\n};\n\nconst getCurrentLanguage = () => {\n const lang = Cookies.get('i18next');\n return lang;\n};\n\nconst getLocalStarlingText = (lang: string) => {\n const key = `text.${starlingOptions.api_key}.${starlingOptions.namespace[0]}.${lang}`;\n const text = localStorage.getItem(key);\n if (text) {\n try {\n return JSON.parse(text);\n } catch {\n //\n }\n }\n return null;\n};\n\nclass Backend {\n static type: string = 'backend';\n services: any;\n options: any;\n constructor(services, options = {}) {\n this.init(services, options);\n }\n init(services, options = {}) {\n this.services = services;\n this.options = options;\n }\n read(locale, namespace, callback) {\n const starling = new Starling({ ...this.options, namespace, locale });\n starling.load((result) => {\n callback(null, result);\n });\n }\n}\n\nconst initI18n = () => {\n i18n\n .use(Backend as any)\n .use(initReactI18next)\n .use(LanguageDetector)\n .init({\n // 优先通过语言检测,如果未检测出,会用该降级语言\n fallbackLng: 'en',\n // load: 'languageOnly', // we only provide en, de -> no region specific locals like en-US, de-DE\n // have a common namespace used around the full app\n ns: ['snap_website'],\n defaultNS: 'snap_website',\n saveMissing: true,\n debug: false,\n react: {\n useSuspense: false\n },\n interpolation: {\n escapeValue: false,\n prefix: '{',\n suffix: '}'\n },\n // wait: process && !process.release,\n detection: {\n caches: ['cookie', 'localStorage'],\n order: [\n // 'querystring',\n 'cookie',\n 'localStorage',\n 'navigator',\n // 'htmlTag',\n // 'path',\n // 'subdomain'\n ],\n cookieMinutes: 60 * 24 * 365,\n // lookupQuerystring: 'lng',\n lookupCookie: 'i18next',\n lookupLocalStorage: 'i18nextLng'\n },\n backend: starlingOptions\n });\n\n const localLng = getCurrentLanguage();\n // console.log('localLng', localLng)\n const localTexts = getLocalStarlingText(localLng);\n if (localTexts) {\n // console.log('cache txt', localTexts)\n i18n.addResources(localLng, 'snap_website', localTexts);\n try {\n const starling = new Starling({ ...starlingOptions, locale: localLng });\n starling.load(result => {\n // console.log('reload txt', result);\n i18n.addResources(localLng, 'snap_website', result);\n });\n } catch (_) { }\n } else {\n let dfl = localBrowserLanguageDetecter();\n console.log('dfl', dfl)\n i18n.changeLanguage(dfl);\n }\n // \n // 监听语言变化,自动设置对应的预约title\n i18n.on('languageChanged', function (lng) {\n try {\n console.log('lng', lng)\n // console.log('now title:', document.title, '\\nnow lang:', localLng);\n // console.log(i18n.t('begin'))\n let title = i18n.t('page_title');\n document.title = title !== 'page_title' ? title : 'MARVEL SNAP - Dominate the Marvel Multiverse in High-Speed Card Battling Action';\n } catch (_) { }\n })\n};\n\nif (typeof window !== 'undefined') {\n initI18n();\n}\n","import { Tea } from '@fe/game-sdk';\n\nconst btnClick = (\n component_text: string,\n page_text = 'snap官网',\n process_type = '999',\n is_core = '1'\n) => {\n Tea.sendLogV3('acv_button_touch', {\n component_text,\n page_text,\n\n process_type,\n is_core,\n component_name: 'BE_NULL',\n process_id: 'BE_NULL',\n component_id: 'BE_NULL'\n });\n};\nconst btnSend = (\n component_text: string,\n is_success = '',\n page_text = 'snap官网',\n process_type = '999',\n is_core = '1'\n) => {\n Tea.sendLogV3('acv_button_touch', {\n component_text,\n is_success,\n page_text,\n\n process_type,\n is_core,\n component_name: 'BE_NULL',\n process_id: 'BE_NULL',\n component_id: 'BE_NULL'\n });\n};\nconst pageView = (page_text, news_id = '') => {\n Tea.sendLogV3('acv_pageview', {\n page_text,\n news_id\n });\n};\nexport const logSendEmail = (isSend) => {\n btnSend('email_register', isSend);\n};\n\nexport const logTopScrollEamil = () => {\n btnClick('top_register');\n};\n\nexport const logWatchYouTube = () => {\n btnClick('watch_trailer');\n};\n\nexport const logAssociationLink = (channel) => {\n btnClick('social_media', channel);\n};\n\nexport const logAgreeCookie = () => {\n btnClick('cookie');\n};\n\nexport const logNextNews = () => {\n btnClick('next_news');\n};\n\nexport const logPrevNews = () => {\n btnClick('previous_news');\n};\nexport const logMoreNews = () => {\n btnClick('load_more_news');\n};\n\nexport const logBigPic = (url) => {\n btnClick('press_content', url);\n};\n\nexport const logDownPic = (picSource) => {\n btnClick('press_download', picSource);\n};\n// pageView\nexport const logViewHome = (homeView) => {\n pageView(homeView);\n};\n\nexport const logDetail = (dtlId) => {\n pageView('news_detail', dtlId);\n};\nexport const logMedia = () => {\n pageView('press_kit');\n};\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","/* eslint-disable import/no-anonymous-default-export */\nexport default {\n appId: 262304,\n actId: 136,\n appName: 'appName',\n region: 'sg',\n enableShark: false,\n title: 'snap官网',\n description: '描述',\n image: ''\n};\n","import React from 'react';\nimport './index.less';\n\nexport default function DomainLimit() {\n // starling-disable-next-line\n return
Currently not available in your country or region
;\n}\n","/* eslint-disable */\nimport { useTranslation } from 'react-i18next';\nimport React, { useState, useEffect, useRef, useMemo } from 'react';\nimport useAreaLimit from '../../common/hooks/useAreaLimit';\nimport { initCookieControl } from '../../common/cookieControl/index';\nimport {\n termOfService,\n secondDinnerPrivacyNotice,\n nuversePrivacyNotice\n} from '../../utils/footerLink';\nimport { customRedirect } from '../../utils/link/goPage';\nimport { getSpecFont } from '../../utils/fontClass/index';\nimport './index.less';\nimport { PrivacyUpdatePop } from '@fe/game-sdk';\nimport { langMap } from '../../common/services/siteData';\n\nexport default function FooterForPC({ customStyle }) {\n const { t, i18n } = useTranslation();\n const [needCookieSetting, setSetting] = useState(false);\n const { currentCity } = useAreaLimit();\n const cookie = useRef(null);\n const [links, setLinks] = useState({\n term: '',\n nuverse: '',\n second: ''\n });\n const [nvsLink, setNvsLink] = useState('');\n const [canShowFuntap, setCanShowFuntap] = useState(false);\n\n const logoName = useMemo(() => {\n if (i18n.language === 'zh-TW') {\n return 'kere';\n }\n return 'nvsgames';\n }, [t]);\n\n const showCookieSetting = () => {\n cookie.current.showSideBanner(false);\n };\n\n const goCreditsPage = () => {\n customRedirect('./credits', true);\n };\n\n useEffect(() => {\n if (!!currentCity) {\n initCookieControl({\n currentCity: currentCity,\n ref: cookie,\n done: () => {\n setSetting(true);\n }\n });\n }\n }, [currentCity]);\n\n useEffect(() => {\n let lang = i18n.language;\n let term = termOfService[lang];\n let nuverse = nuversePrivacyNotice[lang];\n let second = secondDinnerPrivacyNotice[lang];\n setLinks({\n term: term,\n nuverse: nuverse,\n second: second\n });\n setCanShowFuntap(i18n.language === 'vi');\n }, [t]);\n\n // 初始化协议更新弹窗\n useEffect(() => {\n new PrivacyUpdatePop({\n language: langMap[i18n?.language] || 'en-US',\n siteConfig: {\n appId: 262304,\n website: 93,\n page: 25,\n block: 71,\n channel: 71,\n region: 'va'\n },\n onInit: (popInstance) => {\n setNvsLink(popInstance.privacyUrl);\n }\n })\n }, [i18n?.language]);\n\n return (\n
\n
\n \n \n \n {/* {canShowFuntap && } */}\n {i18n.language === 'zh-TW' && }\n
\n
\n \n {t('contact_us')}\n \n \n {t('faq')}\n \n {needCookieSetting && (\n \n {t('cookie_settings')}\n \n )}\n \n {t('credits')}\n \n
\n \n

© 2024 MARVEL

\n
\n );\n}\n","import React from 'react';\nimport {CSSTransition} from 'react-transition-group';\nimport './style.less';\n\nexport default function Modal({show, onClose, showClose = true, children}) {\n return (\n \n
\n
\n
\n {children}\n {showClose &&
}\n
\n
\n
\n
\n );\n}\n","export const hackLangLength = (lang) => {\n if (lang === 'de') {\n return { transform: 'scale(0.7)' };\n } else if (lang === 'fr' || lang === 'ja') {\n return { transform: 'scale(0.8)' };\n }\n return {};\n};\n","/* eslint-disable filenames/match-exported */\nimport { useTranslation } from 'react-i18next';\nimport React, { useState, useEffect, useCallback, useRef } from 'react';\nimport { Tea } from '@fe/game-sdk';\nimport './index.less';\nimport { getHeaderLinkConfig, getHeaderTopUpConfig } from '../../common/services/siteData';\nimport Modal from '../modal';\nimport { customRedirect } from '../../utils/link/goPage';\nimport { getSpecFont } from '../../utils/fontClass';\nimport { hackLangLength } from './tools';\nimport { useLang, LANGs, lang2RedeemMap } from '~/common/i18n';\n\n/* 内容站点配置示例\n{\n\t\"append\": [{\n\t\t\"type\": \"link\",\n\t\t\"key\": \"leaderboard\",\n\t\t\"link\": \"https://marvelsnap.com/\"\n\t},{\n \"type\": \"nav\",\n\t\t\"key\": \"game2\",\n \"child\": [\n {\n\t\t \"key\": \"how_to_play\",\n\t\t \"link\": \"https://marvelsnap.com\"\n\t }\n ]\n }],\n\t\"game\": [{\n\t\t\"key\": \"how_to_play\",\n\t\t\"link\": \"https://marvelsnap.com\"\n\t}, {\n\t\t\"key\": \"cards_and_locations\",\n\t\t\"link\": \"https://www.marvelsnap.com\"\n\t}]\n} \n*/\nexport default function HeaderForPC() {\n const { t, i18n } = useTranslation();\n const { languageLabel, changeLanguage, language } = useLang();\n const [appendData, setAppendData] = useState([]);\n const [gameData, setGameData] = useState([]);\n const langListDom = useRef(null);\n const [showDownload, setShowDownload] = useState(false);\n const [rechargeLink, setrechargeLink] = useState('');\n\n const goNews = useCallback(() => {\n customRedirect('./newslist');\n }, []);\n\n const reportTea = (system) => {\n Tea.sendLogV3('acv_button_touch', {\n component_text: `${system}_top_${i18n.language}`,\n is_score: 1,\n process_type: 999,\n page_text: 'download',\n component_name: 'be_null',\n component_id: 'be_null'\n });\n };\n\n const backToHome = useCallback(() => {\n customRedirect('./');\n }, []);\n\n const handleLangChange = useCallback((item) => {\n langListDom.current.style.opacity = 0;\n langListDom.current.style.transform = 'scale(0)';\n setTimeout(() => {\n langListDom.current.style = '';\n }, 1000);\n if (item.value === i18n.language) {\n return;\n }\n changeLanguage(item.value);\n // 判断是否在新闻详情页面\n if (location.pathname.indexOf('newsdetail') > -1) {\n setTimeout(() => {\n customRedirect('./');\n }, 200);\n }\n }, []);\n\n const goHowToPlay = useCallback(() => {\n customRedirect('./howtoplay');\n }, []);\n\n const goLeaderBoard = useCallback(() => {\n customRedirect('https://www.marvelsnap.com/infiniteleaderboard', true);\n }, []);\n\n const goBattleRecapWithS10 = () => {\n window.open('https://www.marvelsnap.com/battlerecap/s10?from_source=site');\n };\n\n const goBattleRecapWithS11 = useCallback(() => {\n window.open('https://www.marvelsnap.com/battlerecap/s11?from_source=site');\n }, []);\n\n // 获取动态菜单\n useEffect(() => {\n getHeaderLinkConfig().then((data) => {\n if (!data) {\n return;\n }\n // append内的是一级数据,game内的是game下的菜单数据。\n const { append, game } = data;\n if (append) {\n setAppendData(append);\n }\n if (game) {\n setGameData(game);\n }\n });\n }, []);\n\n useEffect(() => {\n // eslint-disable-next-line promise/prefer-await-to-then\n getHeaderTopUpConfig({ language: i18n.language }).then((data) => {\n setrechargeLink(data || '');\n });\n }, [i18n.language]);\n\n const openRechargeLink = () => {\n window.open(rechargeLink);\n };\n\n return (\n
\n
\n
\n {t('game')}\n
\n
\n \n {t('how_to_play')}\n \n
\n
\n \n {t('leader_board')}\n \n
\n {/*
\n {t('battle_recap')}\n
\n
\n \n {t('days_of_future')}\n \n
\n
\n \n {t('animals_assemble_season')}\n \n
\n
\n
*/}\n {gameData.map((item) => (\n \n ))}\n
\n
\n
\n {t('news')}\n
\n {\n window.open(\n `https://pay-va.nvsgames.com/topup/262304/${\n lang2RedeemMap[language] || 'us-en'\n }#tab=cdk`\n );\n }}\n >\n {t('redeem_code')}\n
\n {\n window.open('https://www.marvelsnap.com/creators');\n }}\n >\n {t('creators_link')}\n
\n <>\n {appendData.map((item, index) => {\n if (item.type === 'nav') {\n // 二级菜单类型\n return (\n
\n {t(item.key)}\n
\n {item.child.map((item) => (\n \n ))}\n
\n
\n );\n }\n // link类型\n return (\n \n {t(item.key)}\n \n );\n })}\n \n \n
\n
\n
\n {/* starling-disable-next-line */}\n {languageLabel}\n
\n {LANGs.map((item, index) => (\n handleLangChange(item)}\n >\n {item.label}\n
\n ))}\n
\n
\n {/*
{t('log_in')}
*/}\n setShowDownload(true)}>\n {t('download')}\n \n {rechargeLink && (\n \n {t('top_up')}\n \n )}\n \n\n {/* 下载弹窗 */}\n setShowDownload(false)}>\n
\n

{t('download_marvel_snap')}

\n
\n
\n
\n reportTea('android')}\n >\n
\n
\n reportTea('ios')}\n >\n
\n
\n reportTea('pc')}\n >\n
\n
\n
\n
\n \n );\n}\n","export const formatTime = (time) => {\n if (time < 10) {\n return `0${time}`;\n }\n return time;\n};\n\nexport const getTime = (timestamp, format = 'yyyy-MM-dd') => {\n const date = new Date(timestamp);\n const year = date.getFullYear();\n const month = date.getMonth() + 1;\n const day = date.getDate();\n const hours = date.getHours();\n const minutes = date.getMinutes();\n const second = date.getSeconds();\n\n return format\n .replace('yyyy', `${year}`)\n .replace('MM', `${formatTime(month)}`)\n .replace('dd', `${formatTime(day)}`)\n .replace('HH', `${formatTime(hours)}`)\n .replace('mm', `${formatTime(minutes)}`)\n .replace('ss', `${formatTime(second)}`);\n};\n\nexport const getUTC8Time = () => {\n let now = new Date().getTime();\n let offset = new Date().getTimezoneOffset();\n // 格林尼治时间\n let GMT = now + offset * 60 * 1000;\n // 返回UTC+8的时间\n let UTC = 8;\n return GMT + UTC * 60 * 60 * 1000;\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"error\":\"Container__error--2yL9U\",\"logo\":\"Container__logo--1JP3Q\",\"detail_contain_wrap\":\"Container__detail_contain_wrap--1Eo1l\",\"news_detail_contain\":\"Container__news_detail_contain--35x7X\",\"news_detail_aside\":\"Container__news_detail_aside--2zY_U\",\"aside_title\":\"Container__aside_title--22-is\",\"aside_list\":\"Container__aside_list--11ui6\",\"aside_data_wrap\":\"Container__aside_data_wrap--13ce9\",\"aside_pic\":\"Container__aside_pic--yHezg\",\"latest_wrap\":\"Container__latest_wrap--32wZM\",\"latest_title\":\"Container__latest_title--1cevC\",\"latest_date\":\"Container__latest_date--NLWRK\",\"aside_btn\":\"Container__aside_btn--TO2uN\",\"change_news_contain\":\"Container__change_news_contain--35YzK\",\"prev_news\":\"Container__prev_news--1oJjf\",\"arrow_left\":\"Container__arrow_left--14hwd\",\"next_news\":\"Container__next_news--2xkvz\",\"arrow_right\":\"Container__arrow_right--T0WIx\"};","import AppContainer from './Container';\nimport bootstrap from '~/common/bootstrap';\n\nexport default bootstrap(AppContainer);\n","import { useTranslation } from 'react-i18next';\nimport React, { useCallback, useRef, useEffect, useMemo, useState } from 'react';\nimport './Container.less';\nimport Header from '../components/HeaderForPC';\nimport Footer from '../components/FooterForPC';\nimport BaseContainer from '../components/BaseContainer';\nimport { parseQuery } from '~/common/utils';\nimport { getTime } from '~/utils/getTime';\nimport { customRedirect } from '~/utils/link/goPage';\nimport { logDetail } from '~/utils/log';\nimport { getSpecFont, getSpecFontForNews } from '~/utils/fontClass/index';\nimport useAreaLimit from '~/common/hooks/useAreaLimit';\nimport DomainLimit from '~/components/domainLimit';\nimport { getNews, getNewsDetail } from '~/common/services/siteData';\n\nexport default function Container() {\n const { t, i18n } = useTranslation();\n const { isLimit } = useAreaLimit();\n const [newsDetail, setNewsDetail] = useState({});\n const [newsList, setNewsList] = useState([]);\n const [filtedNews, setFiltedNews] = useState([]);\n const lock = useRef(false);\n\n const backNewsList = () => {\n customRedirect('./newslist');\n };\n\n const goDetail = (item) => {\n if (item.url) {\n customRedirect(item.url, true);\n return;\n }\n customRedirect(`./newsdetail?id=${item.id}`);\n };\n\n const browserAction = useCallback((item) => {\n try {\n setTimeout(() => {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n }, 300);\n history.replaceState({}, '', location.origin + location.pathname + '?id=' + item.id);\n } catch (_) {}\n }, []);\n\n const goPrev = async () => {\n if (!page.hasPrev) {\n return;\n }\n if (lock.current) {\n return;\n }\n lock.current = true;\n let index = filtedNews.findIndex((item) => item.id === newsDetail.id);\n let prev = filtedNews[index - 1];\n const data = await getNewsDetail({\n id: prev.id,\n language: i18n.language\n });\n setNewsDetail(data);\n browserAction(prev);\n setTimeout(() => {\n lock.current = false;\n }, 300);\n };\n const goNext = async () => {\n if (!page.hasNext) {\n return;\n }\n if (lock.current) {\n return;\n }\n lock.current = true;\n let index = filtedNews.findIndex((item) => item.id === newsDetail.id);\n let next = filtedNews[index + 1];\n const data = await getNewsDetail({\n id: next.id,\n language: i18n.language\n });\n setNewsDetail(data);\n browserAction(next);\n setTimeout(() => {\n lock.current = false;\n }, 300);\n };\n\n const page = useMemo(() => {\n let index = filtedNews.findIndex((item) => item.id === newsDetail.id);\n if (!newsDetail || filtedNews.length === 0 || index === -1) {\n return {\n hasPrev: false,\n hasNext: false\n };\n }\n return {\n hasPrev: index !== 0,\n hasNext: index !== filtedNews.length - 1\n };\n }, [filtedNews, newsDetail]);\n\n useEffect(() => {\n // 埋点上报\n const query = parseQuery();\n logDetail(`${query.id}`);\n\n const initNewsDetail = async () => {\n if (!query.id) {\n return;\n }\n const data = await getNewsDetail({\n id: query.id,\n language: i18n.language\n });\n setNewsDetail(data);\n };\n const initNewsList = async () => {\n const res = await getNews({ type: 'ALL', page: 1, size: 2000, language: i18n.language });\n let data = res.data;\n setNewsList(data);\n // 过滤外链新闻\n let filted = data.filter((item) => !item.url);\n setFiltedNews(filted);\n };\n initNewsDetail();\n initNewsList();\n }, []);\n\n if (isLimit) {\n return ;\n }\n return (\n \n
\n
\n
\n
\n
\n {t('latest')}\n
\n {/* 列表循环 */}\n
\n {newsList.map((item, index) => {\n return (\n
goDetail(item)}>\n
\n \"\"\n
\n
\n
{item?.title}
\n
\n {getTime(item?.update_at * 1000, 'MM/dd/yyyy')}\n
\n
\n
\n );\n })}\n
\n
backNewsList()}>\n {t('all_news')}\n
\n
\n \n
\n \n
\n {t('page_news_prev')}\n
\n \n {t('page_news_next')}\n
\n \n \n