{"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/newsTab/index.ts","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","../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","newslist/Container.less","newslist/Container.tsx","newslist/App.tsx","../node_modules/.jupiter/newslist/index.js","utils/credits/index.js","components/domainLimit/index.less","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","newTabName","name","key","TAB_NAME_TYPE","0","1","2","3","4","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","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","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","component_text","is_score","process_type","component_name","component_id","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","TopNews","goDetail","SingleTopNews","alt","update_at","DoubleTopNews","MulityTopNews","newsLength","setNewsLength","topData","setTopData","tabs","setTabs","news","setNews","more","setMore","setType","size","lock","loadMoreNews","targetType","isAppend","getNews","res","old","pageIndex","pageSize","totalCount","count","getList","getTop","getTOPNews","slice","tbs","handleSelectTab","createApp","plugins","ssr","features","renderApp","LOADINGMap","siteMap","Map","commonData","String","login_type","channel_app_id","bricksGet","method","params","headers","Math","floor","httpRequest","sharkParams","app_name","useSharkSign","useSharkParam","message","Error","Promise","reject","isSandbox","origin","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","getNewsDetail","getCredits","detail","getSocialLink","getPictureWithPage","getYoutubeVideo","isPc","getCreatorprogram"],"mappings":"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","file":"static/js/newslist.945feea6.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 newTabName = [\n { name: 'ALL', key: 'all', active: true },\n { name: 'ANNOUNCEMENTS', key: 'announcements', active: false },\n { name: 'GAME UPDATES', key: 'game_updates', active: false },\n { name: 'EVENTS', key: 'events', active: false },\n { name: 'MEDIA', key: 'media', active: false }\n];\nexport const TAB_NAME_TYPE = {\n 0: 'ALL',\n 1: 'ANNOUNCEMENTS',\n 2: 'GAME_UPDATES',\n 3: 'EVENTS',\n 4: 'MEDIA'\n}\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","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--e8p5J\",\"news_list_banner\":\"Container__news_list_banner--3J5l6\",\"top-news-wrap\":\"Container__top-news-wrap--3AJD2\",\"home_news\":\"Container__home_news--3VXPH\",\"home_news_bg\":\"Container__home_news_bg--3AfVY\",\"home_news_title\":\"Container__home_news_title--3XOk7\",\"home_news_desc\":\"Container__home_news_desc--2cooO\",\"home_news_date\":\"Container__home_news_date--1Wcns\",\"home_news_wrap\":\"Container__home_news_wrap--2KmGo\",\"white_bg\":\"Container__white_bg--1bNYH\",\"news_list_contain\":\"Container__news_list_contain--3OPTg\",\"news_tab_title\":\"Container__news_tab_title--1Fa3j\",\"tab_list\":\"Container__tab_list--26n9L\",\"tab_act\":\"Container__tab_act--3rV8F\",\"tab_change_contain\":\"Container__tab_change_contain--1fs9o\",\"tab_change_containbody\":\"Container__tab_change_containbody--3Zzja\",\"newList_wrap\":\"Container__newList_wrap--TAXzt\",\"newsList_left\":\"Container__newsList_left--3Fa5p\",\"newsList_center\":\"Container__newsList_center--1sOD1\",\"tab_active_name\":\"Container__tab_active_name--3dKiI\",\"tab_active_title\":\"Container__tab_active_title--1jgeS\",\"tab_active_date\":\"Container__tab_active_date--3nzZI\",\"newsList_right\":\"Container__newsList_right--1_OyO\",\"jiantou\":\"Container__jiantou--28tUl\",\"btn_load_more\":\"Container__btn_load_more--12g05\",\"home_news_wrap_2\":\"Container__home_news_wrap_2--2-0tV\",\"home_newss_2\":\"Container__home_newss_2--2islF\",\"incline_block_02\":\"Container__incline_block_02--2Riyg\",\"funcTranslate\":\"Container__funcTranslate--1bS3b\",\"home_news_desc_2\":\"Container__home_news_desc_2--1p9fE\",\"home_news_bg_2\":\"Container__home_news_bg_2--3sr-O\",\"home_news_title_2\":\"Container__home_news_title_2--2WncS\",\"home_news_date_2\":\"Container__home_news_date_2--3-yUV\",\"home_news_01_wrap\":\"Container__home_news_01_wrap--3G_Dv\",\"home_01_bg\":\"Container__home_01_bg--wCzJL\",\"home_01_right\":\"Container__home_01_right--1ZMHU\",\"home_01_title\":\"Container__home_01_title--103-8\",\"home_01_desc\":\"Container__home_01_desc--FLFKn\",\"home_01_date\":\"Container__home_01_date--1e9pD\",\"home_01_arrow\":\"Container__home_01_arrow--2htwA\",\"incline_block_01\":\"Container__incline_block_01--3Zwqu\"};","import { useTranslation } from 'react-i18next';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport './Container.less';\nimport Header from '../components/HeaderForPC';\nimport Footer from '../components/FooterForPC';\nimport BaseContainer from '../components/BaseContainer';\nimport { getTime } from '~/utils/getTime';\nimport { customRedirect } from '~/utils/link/goPage';\nimport { newTabName, TAB_NAME_TYPE } from '~/utils/newsTab';\nimport { getSpecFont } from '~/utils/fontClass/index';\nimport useAreaLimit from '~/common/hooks/useAreaLimit';\nimport DomainLimit from '~/components/domainLimit';\nimport { getNews, getTOPNews } from '../common/services/siteData';\n\nexport default function Container() {\n const { t, i18n } = useTranslation();\n\n const { isLimit } = useAreaLimit();\n const [newsLength, setNewsLength] = useState(0);\n const [topData, setTopData] = useState([]);\n\n const [tabs, setTabs] = useState(newTabName);\n const [news, setNews] = useState([]);\n const [more, setMore] = useState(false);\n const [type, setType] = useState(TAB_NAME_TYPE[0]);\n const page = useRef(1);\n const size = useRef(10);\n const lock = useRef(false);\n\n const goDetail = useCallback((item) => {\n if (!item.url) {\n customRedirect(`./newsdetail?id=${item.id}`);\n } else {\n window.open(item.url);\n }\n }, []);\n\n // 点击切换tab\n const handleSelectTab = (index) => {\n if (tabs[index].active) {\n return;\n }\n if (lock.current) {\n return;\n }\n let targetType = TAB_NAME_TYPE[index];\n setTabs((tbs) => {\n tbs.forEach((i) => (i.active = false));\n tbs[index].active = true;\n return [...tbs];\n });\n setType(targetType);\n page.current = 0;\n // 获取数据\n loadMoreNews(targetType, false);\n };\n\n // 点击加载更多\n const loadMoreNews = async (targetType, isAppend = true) => {\n if (lock.current) {\n return;\n }\n lock.current = true;\n const res = await getNews({\n type: targetType,\n page: page.current + 1,\n size: size.current,\n language: i18n.language\n });\n if (isAppend) {\n setNews((old) => {\n return old.concat(res.data);\n });\n } else {\n setNews(res.data);\n }\n if (res.pageIndex * res.pageSize >= res.totalCount) {\n setMore(false);\n } else {\n setMore(true);\n }\n page.current += 1;\n lock.current = false;\n };\n\n // 获取ALL新闻\n useEffect(() => {\n // 获取默认\n let count = 0;\n console.log('i18n.language', i18n.language);\n const init = () => {\n if (lock.current) {\n return;\n }\n lock.current = true;\n page.current = 1;\n size.current = 10;\n getList();\n getTop();\n };\n const done = () => {\n count += 1;\n if (count >= 2) {\n lock.current = false;\n }\n };\n const getList = async () => {\n const res = await getNews({\n type: type,\n page: page.current,\n size: size.current,\n language: i18n.language\n });\n setNews(res.data);\n if (res.pageIndex * res.pageSize >= res.totalCount) {\n setMore(false);\n } else {\n setMore(true);\n }\n done();\n };\n // 获取置顶\n const getTop = async () => {\n const res = await getTOPNews(i18n.language);\n let data = res.data.slice(0, 3);\n setTopData(data);\n setNewsLength(data.length);\n done();\n };\n\n init();\n }, [t]);\n\n if (isLimit) {\n return ;\n }\n\n return (\n \n
\n
\n \n
\n
\n
\n {tabs.map((item, index) => {\n return (\n handleSelectTab(index)}\n >\n {t(item.key)}\n
\n );\n })}\n
\n {/* 选项卡内容区 */}\n
\n {news.map((item) => (\n
goDetail(item)}>\n
\n \"\"\n
\n
\n
\n {item?.description}\n
\n
\n {item?.title}\n
\n
\n {getTime(item?.update_at * 1000, 'MM/dd/yyyy')}\n
\n
\n
\n
\n
\n
\n ))}\n
\n {more && (\n
loadMoreNews(type)}>\n {t('load_more')}\n
\n )}\n \n