{"version":3,"file":"static/js/24.28ab19b5.js","mappings":"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","sources":["webpack://tcpp_web/./src/containers/Terms/TermSwitchTab/index.module.scss?62fa","webpack://tcpp_web/./src/containers/Terms/index.module.scss?f476","containers/Terms/TermSwitchTab/index.tsx","containers/Terms/index.tsx","utils/hooks/useLogUserViewBehaviors.ts"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"container\":\"TermSwitchTab_container__i22me\",\"tabItem\":\"TermSwitchTab_tab-item__1Q2Fa\",\"highlight\":\"TermSwitchTab_highlight__pIk8N\"};","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"Terms_container__p-2oK\",\"contentWrapper\":\"Terms_content-wrapper__yocQO\",\"tabs\":\"Terms_tabs__ZMw6o\",\"title\":\"Terms_title__1djZz\",\"subTitle\":\"Terms_sub-title__5Kf0L\",\"agreementContent\":\"Terms_agreement-content__xtusg\",\"signBar\":\"Terms_sign-bar__7NNfZ\",\"fakeRight\":\"Terms_fake-right__nPxiO\"};","import React, { useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport cls from 'classnames';\nimport styles from './index.module.scss';\n\ninterface TermSwitchTabProps {\n className?: string;\n children: React.ReactNode;\n value: number;\n onValueChange: (val: number) => void;\n}\n\ninterface TabItemProps {\n value: number;\n children: React.ReactNode;\n}\n\ntype ContextDataType = Pick & {\n values: number[];\n setValues: React.Dispatch>;\n setHighlightBarTop: React.Dispatch>;\n};\n\nconst context = React.createContext({\n value: -1,\n values: [],\n setValues: () => {},\n onValueChange: () => {},\n setHighlightBarTop: () => {}\n});\n\nfunction TabItem({ value, children }: TabItemProps) {\n const store = useContext(context);\n const tabRef = useRef(null);\n const highlighted = value === store.value;\n\n const className = useMemo(() => {\n if (highlighted) {\n setTimeout(() => {\n const shouldBeTop = tabRef.current?.offsetTop! + tabRef.current?.clientHeight! / 2 - 16;\n store.setHighlightBarTop(shouldBeTop || 0);\n }, 0);\n }\n return cls(styles.tabItem, {\n [styles.highlight]: highlighted\n });\n }, [highlighted]);\n\n const onClick = () => {\n store.onValueChange(value);\n };\n\n useEffect(() => {\n store.setValues((vals) => [...vals, value]);\n return () => {\n store.setValues((vals) => {\n const newVals = [...vals];\n const index = vals.indexOf(value);\n if (index === -1) {\n return vals;\n }\n newVals.splice(index, 1);\n return newVals;\n });\n };\n }, [value]);\n\n return (\n
\n {children}\n
\n );\n}\n\nfunction TermSwitchTab({ className, children, value, onValueChange }: TermSwitchTabProps) {\n const [values, setValues] = useState([]);\n const [highlightBarTop, setHighlightBarTop] = useState(-100);\n\n console.log('value', value);\n\n const highlightStyle = {\n '--highlight-top': `${highlightBarTop + 2}px`\n } as React.CSSProperties;\n\n return (\n \n
\n {children}\n
\n \n );\n}\n\nTermSwitchTab.TabItem = TabItem;\n\nexport default TermSwitchTab;\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { observer } from 'mobx-react';\nimport { Trans, useTranslation } from 'react-i18next';\nimport qs from 'query-string';\nimport { useLocation, useNavigate } from 'react-router-dom';\nimport { Button, Checkbox, Skeleton } from '@byte-design/ui';\nimport { resolveUrl } from '@ad/ad_utils/src/utils/common';\nimport { useLoadingEffect } from '@ad/ad_utils_react/src/utils/hooks/loading';\nimport { sendCustomEvent, checkSuccessResponse } from '@ad/ad_utils/src';\nimport AgreementView from '@/components/Agreement';\nimport { globalInfoStore, UserRegionEnum, UserRoleEnum } from '@/models/global';\nimport { getRootUrl } from '@/utils';\nimport userApis from '@/apis/userApis';\nimport { AgreementID, AgreementTypeEnum } from '@/containers/BusinessRelatedParams/consts';\nimport { bulkWhitelistLogEventsEnum, useLogUserViewBehaviors } from '@/utils/hooks/useLogUserViewBehaviors';\nimport { AgreementCommonInfo, TTEntity } from '@/utils/typings';\nimport { withPage } from '@/utils/logger/event-tracking';\nimport { PageEnum } from '@/utils/logger/event-tracking/types';\nimport { PROJECT_PREFIX } from '@/../config/mpa-config';\nimport TermSwitchTab from './TermSwitchTab';\nimport styles from './index.module.scss';\nimport { reportFatal } from '@/utils/logger/slardar';\nimport { ErrorLabel } from '@ad/creative-business-components/src/logger/slardar/typings';\nimport { Agreement } from '@ad/ad_utils/src/services/ttcx/bam-auto-generate/ad.site.creative_tcpp_server_i18n/namespaces/tcpp_common';\n\ninterface StarlingKeyValuePair {\n key: string;\n default: string;\n}\n\nfunction AgreementPage() {\n const { t } = useTranslation();\n const { search } = useLocation();\n const navigate = useNavigate();\n\n const [agreement, setAgreement] = useState();\n const [checked, setChecked] = useState(false);\n const [agreementsRecord, setAgreementsRecord] = useState>({});\n const [activeTabIndex, setActiveTabIndex] = useState(-1);\n const [unsignedAgreements, setUnsignedAgreements] = useState([]);\n const [agreementStarlingKey, setAgreementStarlingKey] = useState({\n key: 'agreement_notice',\n default: 'By clicking Submit, you acknowledge and agree to .'\n });\n\n const isSharedFolderAgreement = useMemo(\n () => qs.parse(search)?.isSharedFolderAgreement === 'true',\n [search]\n );\n\n const viewBehaviorLogger = useLogUserViewBehaviors();\n\n async function getSOWContent(content: string, region?: string) {\n const res = await userApis.getSowInfo();\n const newContent = content || '';\n let newContentText = newContent;\n if (newContentText) {\n newContentText = newContentText!\n .replace(/\\{\\{\\.EffectiveDateLocal\\}\\}/g, res.data?.effectiveDateLocal)\n .replace(/\\{\\{\\.EffectiveDate\\}\\}/g, res.data?.effectiveDate)\n .replace(/\\{\\{\\.OriginEffectiveDate\\}\\}/g, res.data?.originEffectiveDate)\n .replace(/\\{\\{\\.PartnerEntityName\\}\\}/g, res.data?.partnerEntityName)\n .replace(/\\{\\{\\.SignatureTable\\}\\}/g, '')\n .replace(/\\{\\{\\.OrderListTable\\}\\}/g, '');\n\n if (region) {\n const regionEntityInfo = res.data?.ttEntities.find((item: TTEntity) => item.region === region);\n newContentText = newContentText!\n .replace(/\\{\\{\\.TtEntityName\\}\\}/g, regionEntityInfo?.ttEntityName)\n .replace(/\\{\\{\\.TtEntityNameLocal\\}\\}/g, regionEntityInfo?.ttEntityNameLocal);\n } else {\n newContentText = newContentText!\n .replace(/\\{\\{\\.TtEntityName\\}\\}/g, res.data?.ttEntityName)\n .replace(/\\{\\{\\.TtEntityNameLocal\\}\\}/g, res.data?.ttEntityNameLocal);\n }\n }\n return newContentText;\n }\n\n // 获取要签署的协议类型\n const agreementType = useMemo(() => {\n if (globalInfoStore.currentUserRole === UserRoleEnum.Advertiser) {\n return AgreementTypeEnum.Advertiser;\n }\n if (globalInfoStore.currentUserRole === UserRoleEnum.Partner) {\n return AgreementTypeEnum.Partner;\n }\n return null;\n }, [globalInfoStore.currentUserRole]);\n\n const [loadingList, fetchAgreementList] = useLoadingEffect(async (agreementType: AgreementTypeEnum) => {\n const unSignStatus = await userApis.getAgreementStatus(isSharedFolderAgreement);\n const unsignedAgreements: AgreementCommonInfo[] = unSignStatus?.agreements || [];\n\n const agreements = await userApis.getAgreementDetail({\n agreementIds: unsignedAgreements.map((item) => item.id)\n });\n\n // handle error report\n if (!agreements && unsignedAgreements?.length > 0) {\n reportFatal(ErrorLabel.CLIENT, {\n name: 'Api error',\n message: 'Agreement data is empty'\n });\n }\n\n if (agreements) {\n setAgreementsRecord(agreements);\n }\n setUnsignedAgreements(unsignedAgreements);\n if (\n unsignedAgreements.find(\n (item: AgreementCommonInfo) =>\n item.id === AgreementID.PartnerPlatformTerm || item.id === AgreementID.AdvertiserPlatformTerm\n )\n ) {\n setAgreementStarlingKey({\n key: 'agreement_notice_v2',\n default: `By clicking Submit, you acknowledge and agree to and the TikTok for Business Commercial Terms of Service. \n I have read and understand the Privacy Policy.`\n });\n }\n });\n\n // 获取当前角色的协议列表\n useEffect(() => {\n if (agreementType === null) {\n return;\n }\n\n fetchAgreementList(agreementType, isSharedFolderAgreement);\n viewBehaviorLogger({\n event_type: bulkWhitelistLogEventsEnum.viewTerms,\n invite_code: sessionStorage.getItem('ttcx_invite_code') as string\n });\n }, [agreementType, isSharedFolderAgreement]);\n\n // 设置默认展示的协议\n useEffect(() => {\n setActiveTabIndex(unsignedAgreements.length ? 0 : -1);\n }, [unsignedAgreements]);\n\n // 获取协议内容\n useEffect(() => {\n async function fetchData() {\n if (activeTabIndex === -1) {\n return;\n }\n const currentAgreementId = unsignedAgreements[activeTabIndex].id;\n const currentAgreementRegion = unsignedAgreements[activeTabIndex].region;\n sendCustomEvent('sign_page_view_agreement', {\n id: currentAgreementId,\n role: globalInfoStore.currentUserRole\n });\n\n try {\n if (\n [\n AgreementID.SOW,\n AgreementID.SubscriptionAddendumForPartner,\n AgreementID.FrameWorkSOWLATAMBR,\n AgreementID.FrameWorkSOWLATAMMX3SA,\n AgreementID.FrameWorkSOWAPACJP,\n AgreementID.FrameWorkSOWAPACKR\n ].includes(currentAgreementId) &&\n agreementsRecord[currentAgreementId]?.content\n ) {\n const newContent = { ...agreementsRecord[currentAgreementId] };\n // @ts-ignore\n newContent.content = await getSOWContent(newContent.content, currentAgreementRegion);\n\n setAgreement(newContent);\n } else {\n setAgreement(agreementsRecord[currentAgreementId]);\n }\n } catch (error) {\n console.error(error);\n }\n }\n\n fetchData();\n }, [activeTabIndex]);\n\n // 获取签署协议后的重定向地址\n const redirectUrl = useMemo(() => {\n const url = qs.parse(search).redirectUrl as string;\n if (url && typeof url === 'string' && url.startsWith(`${window.location.origin}${PROJECT_PREFIX}`)) {\n return url;\n }\n\n return resolveUrl(window.location.origin, getRootUrl('home-page'));\n }, [search]);\n\n const [isSigning, onSignClick] = useLoadingEffect(async () => {\n const redirect = () => {\n if (isSharedFolderAgreement) {\n navigate('/assets');\n return;\n }\n window.location.href = decodeURI(redirectUrl);\n };\n if (!unsignedAgreements || unsignedAgreements.length === 0) {\n // no terms to be signed, go to redirectUrl\n redirect();\n return;\n }\n const { code, msg } = await userApis.signAgreement({\n agreements: unsignedAgreements,\n partnerId: agreementType === AgreementTypeEnum.Partner ? globalInfoStore.currentAccountId : undefined\n });\n viewBehaviorLogger({\n event_type: bulkWhitelistLogEventsEnum.signTerms,\n invite_code: sessionStorage.getItem('ttcx_invite_code') as string\n });\n const success = checkSuccessResponse(code);\n sendCustomEvent('sign_agreement', {\n success: success ? 1 : 0,\n error_msg: msg,\n role: globalInfoStore.currentUserRole\n });\n if (!success) {\n return;\n }\n redirect();\n });\n\n return (\n
\n

\n {isSharedFolderAgreement\n ? 'Welcome to TikTok Creative Shared Folder'\n : t('ttcx_greeting', 'Welcome to TikTok Creative Exchange!')}\n

\n

\n {t(\n 'agreement_sign_hint',\n 'Before you spark your creativity, read and check ({{agreementCount}}) terms and conditions below',\n { agreementCount: unsignedAgreements.length || undefined }\n )}\n

\n
\n \n \n {unsignedAgreements.map((item, index) => {\n const { agreementId, titleKey } = agreementsRecord[item.id] || {};\n const regionString = item.region ? ` - ${item.region}` : '';\n\n return (\n \n {`${t(titleKey || '')}${regionString}`}\n \n );\n })}\n \n \n \n
\n
\n
\n {!loadingList && (\n <>\n \n ,\n terms: (\n <>\n {unsignedAgreements.map((item, index) => {\n const { agreementId, titleKey } = agreementsRecord[item.id] || {};\n\n return (\n \n {t(titleKey || '')}\n {index < unsignedAgreements.length - 1 && ', '}\n \n );\n })}\n \n ),\n a1: (\n \n ),\n a2: (\n \n )\n }}\n values={{\n email: globalInfoStore.user?.email\n }}\n />\n \n \n \n )}\n
\n
\n );\n}\n\nexport default withPage(observer(AgreementPage), PageEnum.AgreementAssignment);\n","import { useCallback } from 'react';\nimport { v1 as uuid } from 'uuid';\nimport commonApis from '@/apis/commonApis';\n\nexport enum bulkWhitelistLogEventsEnum {\n visitTTCX = 4,\n loginTTCX = 5,\n joinTTCX = 6,\n viewTerms = 7,\n signTerms = 8,\n clickCreateProject = 9,\n submitBrief = 10,\n register = 100\n}\n\nexport function getDeviceId() {\n let deviceId = localStorage.getItem('ttcx_device_id');\n\n if (!deviceId) {\n deviceId = uuid();\n localStorage.setItem('ttcx_device_id', deviceId);\n }\n\n return deviceId;\n}\n\nexport function useLogUserViewBehaviors() {\n const isMobile = /Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent);\n const logger = useCallback((params: { event_type: bulkWhitelistLogEventsEnum; invite_code?: string }) => {\n const _params = {\n device_id: getDeviceId(),\n operating_system: isMobile ? 'mobile' : 'pc',\n ...params\n };\n commonApis.eventTracking(_params);\n console.log(_params);\n }, []);\n return logger;\n}\n"],"names":["context","React","createContext","value","values","setValues","onValueChange","setHighlightBarTop","TermSwitchTab","className","children","useState","highlightBarTop","console","log","Provider","div","cls","styles","container","style","TabItem","store","useContext","tabRef","useRef","highlighted","useMemo","setTimeout","shouldBeTop","current","offsetTop","clientHeight","tabItem","highlight","useEffect","vals","newVals","index","indexOf","splice","ref","onClick","withPage","observer","globalInfoStore","useTranslation","t","useLocation","search","navigate","useNavigate","agreement","setAgreement","checked","setChecked","agreementsRecord","setAgreementsRecord","activeTabIndex","setActiveTabIndex","unsignedAgreements","setUnsignedAgreements","key","default","agreementStarlingKey","setAgreementStarlingKey","isSharedFolderAgreement","qs","parse","viewBehaviorLogger","useLogUserViewBehaviors","getSOWContent","content","region","res","newContentText","regionEntityInfo","userApis","getSowInfo","replace","data","effectiveDateLocal","effectiveDate","originEffectiveDate","partnerEntityName","ttEntities","find","item","ttEntityName","ttEntityNameLocal","agreementType","currentUserRole","UserRoleEnum","Advertiser","AgreementTypeEnum","Partner","useLoadingEffect","unSignStatus","agreements","getAgreementStatus","getAgreementDetail","agreementIds","map","id","length","reportFatal","ErrorLabel","CLIENT","name","message","AgreementID","PartnerPlatformTerm","AdvertiserPlatformTerm","loadingList","fetchAgreementList","event_type","bulkWhitelistLogEventsEnum","viewTerms","invite_code","sessionStorage","getItem","fetchData","currentAgreementId","currentAgreementRegion","newContent","sendCustomEvent","role","SOW","SubscriptionAddendumForPartner","FrameWorkSOWLATAMBR","FrameWorkSOWLATAMMX3SA","FrameWorkSOWAPACJP","FrameWorkSOWAPACKR","includes","error","redirectUrl","url","startsWith","PROJECT_PREFIX","window","location","origin","resolveUrl","getRootUrl","redirect","code","msg","success","href","decodeURI","signAgreement","partnerId","currentAccountId","undefined","signTerms","checkSuccessResponse","error_msg","isSigning","onSignClick","h1","title","p","subTitle","agreementCount","contentWrapper","tabs","Skeleton","loading","avatar","active","agreementId","titleKey","regionString","AgreementView","agreementContent","fakeRight","signBar","Checkbox","checkbox","Trans","i18nKey","defaults","components","strong","terms","span","a1","a","target","rel","a2","email","user","Button","type","disabled","PageEnum","AgreementAssignment","getDeviceId","deviceId","localStorage","uuid","setItem","isMobile","test","navigator","userAgent","useCallback","params","_params","device_id","operating_system","commonApis","eventTracking","visitTTCX","loginTTCX","joinTTCX","clickCreateProject","submitBrief","register"],"sourceRoot":""}