{"version":3,"sources":["webpack://@lemon8/web-legal/./client/atoms/email-verify.ts","webpack://@lemon8/web-legal/./client/atoms/simple-toast.ts","webpack://@lemon8/web-legal/./client/components/loading/index.tsx","webpack://@lemon8/web-legal/./client/components/legal-remix-page/index.tsx","webpack://@lemon8/web-legal/./client/components/legal-region-switcher/index.tsx","webpack://@lemon8/web-legal/./client/components/nav/index.tsx","webpack://@lemon8/web-legal/./client/components/select/option.tsx","webpack://@lemon8/web-legal/./client/components/select/index.tsx","webpack://@lemon8/web-legal/./client/utils/fetch/fetch.ts","webpack://@lemon8/web-legal/./client/utils/fetch/use-fetch.ts","webpack://@lemon8/web-legal/./client/utils/switch-region.ts","webpack://@lemon8/web-legal/./client/utils/webview.ts","webpack://@lemon8/web-legal/./shared/atoms/email/email-data.ts","webpack://@lemon8/web-legal/./shared/atoms/common/legal-region.ts","webpack://@lemon8/web-legal/./shared/atoms/common/location.ts","webpack://@lemon8/web-legal/./shared/atoms/index.ts"],"names":["ReportProgress","defaultEmailVerifyContextState","lastSendCodeTime","progress","EmailVerifyContextReducerKey","REPORT_LAST_EMAIL_SEND","emailVerifyReducer","state","action","type","isInApp","time","payload","now","Date","setValueForKey","for_key","value","localStorage","setItem","toString","_objectSpread","email","report_type","report_url","Error","emailVerifyAtom","atom","useEmailVerifyReducer","useReducerAtom","$ToastAtom","content","LoadingBall","props","fitParent","style","loadingDiv","useRef","useEffect","current","lottie","container","renderer","loop","autoplay","animationData","LOADING_BALL","jsx","className","cls","children","ref","LoadingGradient","shadow","backgroundImage","concat","LOADING_GRADIENT_SHADOW","LOADING_GRADIENT_NO_SHADOW","Loading","variant","jsxs","Fragment","LegalRemixPage","AbsRemixPage","constructor","arguments","HeadSkeleton","BodySkeleton","useRouteLoading","canonicalUrl","useAtomValue","$LegalPageLevelTraffic","a","URL","location","pathname","LegalRegionSwitcher","region","curRegion","$LegalRegion","handleRegionSwitch","switchRegion","join","Select","showMask","onChange","Region","Nav","isShowSwitcher","onClickLogo","useCallback","page_name","replace","window","Tea","open","onClick","prefix","Option","React","label","render","selected","selectedIcon","text","classNames","Icon","PREFIX","close","setState","isOpen","toggleOpen","e","preventDefault","stopPropagation","clickItem","showText","defaultValue","getShowText","componentWillReceiveProps","nextProps","placeholder","options","idx","findIndex","item","Array","isArray","chilren","createChildren","length","map","key","arrowDownIcon","arrowExpandIcon","defaultProps","defaultParams","os","ac","dpi","brand","tz_name","youtube","channel","tz_offset","resolution","os_version","web_source","app_version","device_type","version_code","device_brand","hevc_supported","device_platform","original_channel","update_version_code","manifest_version_code","generateData","data","params","Object","entries","push","encodeURIComponent","value_str","JSON","stringify","parseRes","res","contentType","headers","get","includes","json","formData","blob","handleRes","parsedRes","ok","HttpMethod","_fetch","url","config","undefined","overrideCommonQuery","reqUrl","startsWith","language","RegionFallbackLanguageMap","wapId","store","$AppIdConfig","commonParams","aid","resPromise","method","indexOf","addCommonParams","fetch","isFormData","body","FormData","keys","forEach","append","useFetch","$Locale","switchLang","href","searchParams","set","closeWebview","closeActivity","EmailRequiredArr","$EmailData","ticket","msgId","timestamp","from","to","sceneId","tid","uid","canRequest","debugLabel","$Location","path","hasNav","origin","HydrationAtomsMap","HydrationAtomFamiliesMap","Atoms","BuiltinAtoms"],"mappings":"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","file":"vendors/303-0571fde67e29754efaae-2d6f54db3f5a9dfbcf8b1590f33602f48b673c92.js","sourcesContent":["import { atom } from 'jotai';\nimport { useReducerAtom } from 'jotai/utils';\nimport { setValueForKey } from '@bridge/sharee';\n\nexport enum ReportProgress {\n EMAIL_INPUT,\n EMAIL_VERIFY,\n REPORT_FORM,\n RESULT,\n}\n\ninterface EmailVerifyContextState {\n email?: string;\n lastSendCodeTime: number;\n toast?: {\n content: string;\n time: number;\n };\n report_url?: string;\n report_type?: string;\n progress: ReportProgress;\n}\n\nconst defaultEmailVerifyContextState: EmailVerifyContextState = {\n lastSendCodeTime: -1,\n progress: ReportProgress.EMAIL_INPUT,\n};\n\nexport enum EmailVerifyContextReducerKey {\n UPDATE_SEND_TIME = 'update-send-time',\n UPDATE_EMAIL = 'update-email',\n UPDATE_QUERY = 'update-query',\n UPDATE_PROGRESS = 'update-progress',\n}\n\ntype EmailVerifyContextReducer =\n | {\n type: EmailVerifyContextReducerKey.UPDATE_SEND_TIME;\n payload: {\n isInApp: boolean;\n time?: number;\n };\n }\n | {\n type: EmailVerifyContextReducerKey.UPDATE_EMAIL;\n payload: {\n email: string;\n };\n }\n | {\n type: EmailVerifyContextReducerKey.UPDATE_QUERY;\n payload: {\n report_type: string;\n report_url: string;\n };\n }\n | {\n type: EmailVerifyContextReducerKey.UPDATE_PROGRESS;\n payload: {\n progress: ReportProgress;\n };\n };\n\nexport const REPORT_LAST_EMAIL_SEND = 'REPORT_LAST_EMAIL_SEND';\n\nconst emailVerifyReducer = (state: EmailVerifyContextState, action: EmailVerifyContextReducer) => {\n switch (action.type) {\n case EmailVerifyContextReducerKey.UPDATE_SEND_TIME: {\n const { isInApp, time } = action.payload;\n const now = time || Date.now();\n\n if (isInApp) {\n void setValueForKey({\n for_key: REPORT_LAST_EMAIL_SEND,\n value: now,\n });\n } else {\n localStorage.setItem(REPORT_LAST_EMAIL_SEND, now.toString());\n }\n\n return {\n ...state,\n lastSendCodeTime: now,\n };\n }\n case EmailVerifyContextReducerKey.UPDATE_EMAIL: {\n const { email } = action.payload;\n return {\n ...state,\n email,\n };\n }\n case EmailVerifyContextReducerKey.UPDATE_QUERY: {\n const { report_type, report_url } = action.payload;\n return {\n ...state,\n report_url,\n report_type,\n };\n }\n case EmailVerifyContextReducerKey.UPDATE_PROGRESS: {\n const { progress } = action.payload;\n return {\n ...state,\n progress,\n };\n }\n default:\n throw new Error();\n }\n};\n\nconst emailVerifyAtom = atom(defaultEmailVerifyContextState);\n\nexport const useEmailVerifyReducer = () => {\n return useReducerAtom(emailVerifyAtom, emailVerifyReducer);\n};\n","import { atom } from 'jotai';\n\nexport const $ToastAtom = atom({\n time: 0,\n content: '',\n});\n","import { CSSProperties, useEffect, useRef } from 'react';\nimport LOADING_GRADIENT_SHADOW from './assets/gradient_shadow.png';\nimport LOADING_GRADIENT_NO_SHADOW from './assets/gradient_no_shadow.png';\nimport LOADING_BALL from './assets/loading_ball.json';\nimport cls from 'classnames';\nimport lottie from 'lottie-web/build/player/lottie_light_canvas';\n\nimport './style.scss';\n\nexport interface LoadingProps {\n variant: 'ball' | 'gradient';\n\n /**\n * @default false\n */\n shadow?: boolean;\n\n /**\n * @default false\n */\n fitParent?: boolean;\n\n style?: CSSProperties;\n}\n\nexport const LoadingBall = (props: { fitParent: boolean; style: CSSProperties }): JSX.Element => {\n const { fitParent, style = {} } = props;\n const loadingDiv = useRef(null);\n\n useEffect(() => {\n if (loadingDiv.current) {\n lottie.loadAnimation({\n container: loadingDiv.current,\n renderer: 'canvas',\n loop: true,\n autoplay: true,\n animationData: LOADING_BALL,\n });\n }\n }, []);\n\n return (\n \n
\n
\n );\n};\n\nexport const LoadingGradient = (props: { shadow: boolean; fitParent: boolean; style: CSSProperties }): JSX.Element => {\n const { shadow, fitParent, style = {} } = props;\n return (\n \n \n \n );\n};\n\nexport const Loading = (props: LoadingProps): JSX.Element => {\n const { variant, shadow = false, fitParent = false, style = {} } = props;\n\n return (\n <>\n {variant === 'ball' && }\n {variant === 'gradient' && }\n \n );\n};\n","import { AbsRemixPage } from '@lemon8/web-app-shared/ssr';\nimport { useAtomValue } from 'jotai';\nimport { Loading } from '~/components/loading';\nimport { $LegalPageLevelTraffic } from 'shared/atoms/common/legal-page-level-traffic';\n\nimport './style.scss';\n\nexport abstract class LegalRemixPage extends AbsRemixPage {\n HeadSkeleton = () => {\n return (\n <>\n Lemon8 Loading...\n \n );\n };\n BodySkeleton = () => {\n return (\n
\n \n
\n );\n };\n\n useRouteLoading = () => {\n const { canonicalUrl } = useAtomValue($LegalPageLevelTraffic);\n\n if (__BUILD_TARGET__ === 'server') {\n return false;\n }\n\n const a = new URL(canonicalUrl);\n return location.pathname !== a.pathname;\n };\n}\n","import { Region } from '@lemon8/web-app-shared/i18n';\nimport { $LegalRegion } from 'shared/atoms';\nimport { useAtomValue } from 'jotai';\nimport { Select } from '../select';\nimport switchRegion from '~/utils/switch-region';\n\nimport './style.scss';\n\ntype TSwitchLegalRegionProps = {\n className?: string;\n};\n\nexport const LegalRegionSwitcher = (props: TSwitchLegalRegionProps): JSX.Element => {\n const { className } = props;\n\n const { region: curRegion } = useAtomValue($LegalRegion);\n\n const handleRegionSwitch = (value: Region) => {\n switchRegion({ region: value });\n };\n\n return (\n
\n \n
\n );\n};\n","import { useCallback } from 'react';\nimport { LegalRegionSwitcher } from '../legal-region-switcher';\n\nimport './style.scss';\n\ntype Props = {\n isShowSwitcher?: boolean;\n};\n\nexport default function Nav(props: Props): JSX.Element {\n const { isShowSwitcher = true } = props;\n const onClickLogo = useCallback(() => {\n const page_name = location.pathname.replace(/(\\/studio)?\\//, '');\n window.Tea('pc_click_logo', {\n page_name,\n });\n window.open('https://www.lemon8-app.com/feed/foryou', '_blank');\n }, []);\n\n return (\n
\n
\n
\n {isShowSwitcher && (\n
\n \n
\n )}\n
\n
\n );\n}\n","import * as React from 'react';\nimport classNames from 'classnames';\n\nconst prefix = 'ui-mobile-select';\n\nexport interface OptionProps {\n value: string | number;\n label?: any;\n children?: any;\n onClick?: (value: any, label: any) => void;\n selected?: string | number;\n selectedIcon?: any;\n}\nexport interface OptionStates {}\nexport default class Option extends React.Component {\n constructor(props: OptionProps) {\n super(props);\n }\n onClick = () => {\n const { onClick, value, children, label } = this.props;\n if (onClick) {\n const text = label || children;\n onClick(value, text);\n }\n };\n render() {\n const { selected, value, children, label, selectedIcon } = this.props;\n const text = label || children;\n const className = classNames([`${prefix}-option`, { 'option-active': selected === value }]);\n return (\n
  • \n {text}\n
    {selectedIcon}
    \n
  • \n );\n }\n}\n","import * as React from 'react';\nimport classNames from 'classnames';\nimport Option, { OptionProps } from './option';\nimport './style.scss';\n\nconst Icon: React.FC<{ type?: string; className?: string }> = (props) => {\n return ;\n};\n\nconst PREFIX = 'ui-mobile-select';\n\nexport interface SelectProps {\n /** Options配置 */\n options?: OptionProps[];\n /** 默认选中的value */\n defaultValue?: string | number;\n /** 没有选中时的占位文案 */\n placeholder?: string;\n /** 不传options时需要将Option组件传入children中 */\n children?: any;\n /** onChange回调函数,将value和label传入 */\n onChange?: (value: any, label: any) => void;\n /** 是否展示遮罩层,默认展示 */\n showMask?: boolean;\n /** (受控)当前选中的value值 */\n value?: string | number;\n /** 选中的icon,默认不显示 */\n selectedIcon?: any;\n /** 下拉按钮箭头未展开时icon,默认不显示 */\n arrowDownIcon?: any;\n /** 下拉按钮箭头展开时icon,默认不显示 */\n arrowExpandIcon?: any;\n}\nexport interface SelectStates {\n isOpen: boolean;\n selected: string | number;\n showText: any;\n}\nexport class Select extends React.Component {\n static defaultProps = {\n options: null,\n defaultValue: '',\n placeholder: '',\n children: null,\n onChange: () => {},\n showMask: true,\n value: '',\n selectedIcon: ,\n arrowDownIcon: ,\n arrowExpandIcon: ,\n };\n static Option: typeof Option;\n constructor(props: SelectProps) {\n super(props);\n\n this.state = {\n isOpen: false,\n selected: props.defaultValue || props.value || '',\n showText: this.getShowText(props),\n };\n }\n\n // 对外暴露的可以手动关闭选项框的方法\n close = () => {\n this.setState({\n isOpen: false,\n });\n };\n\n componentWillReceiveProps(nextProps: SelectProps) {\n if (nextProps.value && nextProps.value !== this.state.selected) {\n this.setState({\n selected: nextProps.value,\n showText: this.getShowText(nextProps),\n });\n }\n }\n\n /**\n * 获取初始showText\n * @param {SelectProps} props\n * @returns\n * @memberof Select\n */\n getShowText(props: SelectProps) {\n let showText = props.placeholder || '';\n const value = props.value || props.defaultValue;\n // 如果有初始默认value,则不显示placeholder直接显示对应的label\n if (value) {\n // 通过options的方式声明的子节点\n if (props.options) {\n const idx = props.options.findIndex((item) => item.value === value);\n if (idx > -1) {\n showText = props.options[idx].label;\n }\n } else {\n // 通过\n );\n });\n } else {\n if (Array.isArray(children)) {\n children = children.map((item: any) => {\n return React.cloneElement(item, {\n onClick: this.clickItem,\n key: item.value,\n selected,\n selectedIcon,\n });\n });\n }\n }\n return children;\n }\n render() {\n const children = this.createChildren();\n const { isOpen, showText } = this.state;\n const { showMask, arrowDownIcon, arrowExpandIcon } = this.props;\n return (\n
    \n {showMask &&
    }\n
    \n
    \n {showText}\n {isOpen ? arrowExpandIcon : arrowDownIcon}\n
    \n
    \n
      {children}
    \n
    \n
    \n
    \n );\n }\n}\n\nSelect.Option = Option;\n","import { $AppIdConfig } from '@lemon8/web-app-shared/atom';\nimport { Region, RegionFallbackLanguageMap } from '@lemon8/web-app-shared/i18n';\n\nconst defaultParams = {\n os: 'android',\n ac: 'WIFI',\n dpi: '440',\n brand: 'samsung',\n tz_name: 'Asia/Tokyo',\n youtube: 1,\n channel: 'wap',\n tz_offset: 19800,\n resolution: '1920*1080',\n os_version: 10,\n web_source: 'wap',\n app_version: '10.6.0',\n device_type: 'wap',\n version_code: '10600',\n device_brand: 'samsung',\n hevc_supported: 1,\n device_platform: 'wap',\n original_channel: 'wap',\n update_version_code: '106000',\n manifest_version_code: '10600',\n};\n\nconst generateData = (data: Record): string => {\n const params = [];\n for (const [key, value] of Object.entries(data)) {\n // stringify 过滤掉undefined和null\n if (value !== null) {\n if (value === true) {\n params.push(encodeURIComponent(key));\n } else if (typeof value === 'object') {\n const value_str = JSON.stringify(value);\n params.push(`${encodeURIComponent(key)}=${encodeURIComponent(value_str)}`);\n } else {\n params.push(`${encodeURIComponent(key)}=${encodeURIComponent(value)}`);\n }\n }\n }\n return params.join('&');\n};\n\nconst parseRes = async (res: Response) => {\n const contentType = res.headers.get('Content-Type');\n // 判定返回的内容类型,做不同的处理\n if (contentType) {\n if (contentType.includes('json')) {\n return await res.json();\n }\n if (contentType.includes('text')) {\n return await res.text();\n }\n if (contentType.includes('form')) {\n return await res.formData();\n }\n if (contentType.includes('video')) {\n return await res.blob();\n }\n }\n return await res.text();\n};\n\nconst handleRes = async (res: Response | undefined) => {\n if (!res) {\n return '';\n }\n\n const parsedRes = await parseRes(res);\n // 如果res.ok,则请求成功\n if (res.ok) {\n return parsedRes;\n }\n // 请求失败,返回解析之后的失败的数据\n const error = parsedRes;\n throw error;\n};\n\nexport enum HttpMethod {\n get = 'GET',\n post = 'POST',\n}\n\nexport interface FetchConfig {\n isFormData?: boolean;\n headers?: HeadersInit;\n method?: HttpMethod;\n params: Record;\n overrideCommonQuery?: Record;\n}\n\nexport const _fetch = async (\n url: string,\n config: FetchConfig = {\n headers: {},\n params: {},\n overrideCommonQuery: {},\n },\n props: {\n region: Region;\n addCommonParams: boolean;\n },\n): Promise => {\n let reqUrl = url.startsWith('http') ? url : `/${url}`.replace('//', '/');\n\n const region = props.region.toString();\n const language = RegionFallbackLanguageMap[props.region].toString();\n const { wapId } = window.store.get($AppIdConfig);\n const commonParams = {\n ...defaultParams,\n aid: wapId,\n region,\n language,\n };\n\n let resPromise: Response | undefined;\n\n if (!config.method || config.method === HttpMethod.get) {\n reqUrl +=\n (reqUrl.indexOf('?') === -1 ? '?' : '&') +\n generateData({\n ...(props.addCommonParams ? commonParams : {}),\n ...config.params,\n });\n\n resPromise = await fetch(reqUrl, {\n headers: config.headers,\n });\n }\n\n if (config.method === HttpMethod.post) {\n if (props.addCommonParams) {\n reqUrl +=\n (reqUrl.indexOf('?') === -1 ? '?' : '&') + generateData({ ...commonParams, ...config.overrideCommonQuery });\n }\n\n // 表单上传fetch\n if (config.isFormData) {\n const headers = {\n 'X-Requested-With': 'XMLHttpRequest',\n ...config.headers,\n };\n\n const body = new FormData();\n Object.keys(config.params).forEach((key) => {\n body.append(key, config.params[key]);\n });\n\n resPromise = await fetch(reqUrl, {\n headers,\n body,\n method: HttpMethod.post,\n });\n } else {\n const headers = {\n 'Content-Type': 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n ...config.headers,\n };\n\n resPromise = await fetch(reqUrl, {\n headers,\n body: JSON.stringify(config.params),\n method: HttpMethod.post,\n });\n }\n }\n\n return handleRes(resPromise);\n};\n","import { useCallback } from 'react';\nimport { useAtomValue } from 'jotai';\nimport { FetchConfig, _fetch as fetch } from './fetch';\nimport { $Locale } from '@lemon8/web-app-shared/atom';\n\nexport const useFetch = (): ((url: string, config: FetchConfig) => Promise) => {\n const { region } = useAtomValue($Locale);\n\n return useCallback(\n (url: string, config: FetchConfig) => {\n return fetch(url, config, { region, addCommonParams: true });\n },\n [region],\n );\n};\n","import { Region } from '@lemon8/web-app-shared/i18n';\n\nexport default function switchLang(config: { region: Region }): void {\n const { region } = config;\n const href = new URL(location.href);\n\n href.searchParams.set('region', region);\n location.href = href.toString();\n}\n","export const closeWebview = async (): Promise => {\n const { closeActivity } = await import('@bridge/sharee');\n void closeActivity();\n};\n","import { Region } from '@lemon8/web-app-shared/i18n';\nimport { atom } from 'jotai';\n\nexport type PageType = 'unsubscribe' | 'unsubscribe-success' | 'subscribe-success';\n\nexport interface EmailDataType {\n ticket: string;\n msgId: string;\n timestamp: number;\n from: string;\n to: string;\n sceneId: string;\n tid: number;\n region: Region | '';\n uid?: string;\n aid: string;\n /** 根据参数判断是否可以发起请求 */\n canRequest: boolean;\n}\n\nexport const EmailRequiredArr: Array = [\n 'ticket',\n 'msg_id',\n 'timestamp',\n 'aid',\n 'from',\n 'to',\n 'tid',\n 'scene_id',\n 'region',\n];\n\nexport const $EmailData = atom({\n ticket: '',\n msgId: '',\n timestamp: 0,\n from: '',\n to: '',\n sceneId: '',\n tid: 0,\n region: '',\n uid: '',\n canRequest: false,\n aid: '',\n});\n\n$EmailData.debugLabel = '$EmailData';\n","import { Region } from '@lemon8/web-app-shared/i18n';\nimport { atom } from 'jotai';\n\nexport const $LegalRegion = atom({\n region: Region.us,\n});\n\n$LegalRegion.debugLabel = '$LegalRegion';\n","import { atom } from 'jotai';\n\nexport interface Location {\n href: string;\n path: string;\n hasNav?: boolean;\n origin: string;\n}\n\nexport const $Location = atom({\n href: '',\n path: '',\n hasNav: true,\n origin: '',\n});\n\n$Location.debugLabel = '$Location';\n","import { BuiltinAtoms } from '@lemon8/web-app-shared/atom';\nimport { $LegalPageLevelTraffic, $LegalRegion, $Location } from 'shared/atoms/common';\nimport { $EmailData } from 'shared/atoms/email';\n\nexport const HydrationAtomsMap = {\n $LegalPageLevelTraffic,\n $LegalRegion,\n $Location,\n $EmailData,\n};\n\nexport const HydrationAtomFamiliesMap = {};\n\nexport const Atoms = {\n ...BuiltinAtoms,\n ...HydrationAtomsMap,\n ...HydrationAtomFamiliesMap,\n};\n\nexport * from './common';\nexport * from './email';\n"],"sourceRoot":""}