{"version":3,"file":"static/chunks/app/(withLayout)/pretest-playback/page-e5f7bd7eb9909ab8.js","mappings":"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","sources":["webpack://_N_E/?7314","webpack://_N_E/../../node_modules/next/dist/api/link.js","webpack://_N_E/./src/app/(withLayout)/pretest-playback/_PretestPlayBack/index.hook.ts","webpack://_N_E/./src/app/(withLayout)/pretest-playback/_PretestPlayBack/index.tsx","webpack://_N_E/./src/configs/appPublicConfig.ts","webpack://_N_E/./src/localShared/hooks/useUuid.ts","webpack://_N_E/../shared/components/parts/Loading/index.tsx","webpack://_N_E/../shared/components/parts/MainContainer/index.tsx","webpack://_N_E/../shared/components/parts/Spacer/index.tsx","webpack://_N_E/../shared/hooks/useVariousFetcher.ts"],"sourcesContent":["import(/* webpackMode: \"eager\", webpackExports: [\"PretestPlayBack\"] */ \"/codebuild/output/src3425201333/src/helloero-new/packages/helloero/src/app/(withLayout)/pretest-playback/_PretestPlayBack/index.tsx\");\n","export { default } from '../client/link';\nexport * from '../client/link';\n\n//# sourceMappingURL=link.js.map","import React from 'react';\nimport { useUuid } from '@/localShared/hooks/useUuid';\nimport { useVariousFetch } from '@/shared/hooks/useVariousFetcher';\nimport type { PretestWabikenApiResponse } from '../_type';\nimport type { PlayerError, PlayerProps } from '@u-next/defaultplayer';\n\ntype State = {\n pageStatus: 'INIT' | 'PLAY' | 'ERROR';\n playerProps: PlayerProps | undefined;\n errorMessage: {\n title: string;\n text: string;\n errorCode: string;\n };\n};\n\ntype Action =\n | {\n type: 'INITIALIZED';\n payload: {\n uuid: string;\n apiResponse: PretestWabikenApiResponse;\n };\n }\n | {\n type: 'ERROR_OCCURRED';\n payload: {\n playerError: PlayerError;\n };\n };\n\nconst reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case 'INITIALIZED': {\n const { uuid, apiResponse } = action.payload;\n\n const playerProps = buildPlayerPropsFromPlayInfo({ apiResponse, uuid });\n\n if (!playerProps) {\n return {\n ...state,\n pageStatus: 'ERROR',\n errorMessage: {\n title: '再生できません',\n text: '動画情報の取得に失敗しました。',\n errorCode: '',\n },\n };\n }\n\n return {\n ...state,\n pageStatus: 'PLAY',\n playerProps,\n };\n }\n\n case 'ERROR_OCCURRED': {\n const { playerError } = action.payload;\n\n return {\n ...state,\n pageStatus: 'ERROR',\n errorMessage: {\n title: playerError.customTitle ?? '',\n text: playerError.customMessage ?? '',\n errorCode: playerError.customCode\n ? String(playerError.customCode)\n : '',\n },\n };\n }\n }\n};\n\nfunction buildPlayerPropsFromPlayInfo({\n apiResponse,\n uuid,\n}: {\n apiResponse: PretestWabikenApiResponse;\n uuid: string;\n}): PlayerProps | null {\n if (!apiResponse.result) {\n return null;\n }\n\n const {\n data: { endpoints },\n } = apiResponse;\n\n return {\n playbackType: 'vod',\n playbackAuthorization: 'playtoken',\n authorizationToken: endpoints[0].extra.playToken,\n endPoints: endpoints.map((endpointData) => ({\n title: 'テスト動画',\n playables: endpointData.playables.reduce((result, current) => {\n const appendValue = [\n 'dash',\n 'hls-cmaf',\n 'hls-fp',\n 'hls-s-aes',\n ].includes(current.type)\n ? {\n [current.type]: current.cdns.map((cdnData) => ({\n id: cdnData.cdnId,\n weight: cdnData.weight,\n licenseUrls:\n cdnData.licenseUrlList?.reduce(\n (result2, current2) => ({\n ...result2,\n ...{ [current2.drmType]: current2.endpoint },\n }),\n {}\n ) ?? [],\n manifestUrl: cdnData.playlistUrl,\n })),\n }\n : {};\n\n return {\n ...result,\n ...appendValue,\n };\n }, {}),\n sceneSearchList: endpointData.sceneSearchList.reduce(\n (result, current) => ({\n ...result,\n ...{ [current.type]: current.cdns[0].sceneSearchUrl },\n }),\n {}\n ),\n })),\n sessionArgs: endpoints[0].isem\n ? {\n type: 'isem',\n isemToken: endpoints[0].isem.isemToken,\n baseUrl: endpoints[0].isem.endpoint,\n deviceId: uuid,\n overwrite: true,\n }\n : undefined,\n autoplay: false,\n theme: {\n keyColor: 'rgba(230, 0, 50, 1)',\n },\n isInline: true,\n };\n}\n\nexport type UsePretestPlayBack = {\n state: State;\n handleOnPlayerError: (error: PlayerError) => void;\n};\n\nexport function usePretestPlayBack() {\n const [state, dispatch] = React.useReducer(reducer, {\n pageStatus: 'INIT',\n playerProps: undefined,\n errorMessage: {\n title: '',\n text: '',\n errorCode: '',\n },\n });\n\n const { uuid, isReady } = useUuid();\n const { fetcher } = useVariousFetch();\n\n const handleOnPlayerError: UsePretestPlayBack['handleOnPlayerError'] =\n React.useCallback((playerError) => {\n dispatch({\n type: 'ERROR_OCCURRED',\n payload: {\n playerError,\n },\n });\n }, []);\n\n React.useEffect(() => {\n switch (state.pageStatus) {\n case 'INIT': {\n if (!isReady) {\n return;\n }\n\n fetcher('/pretest-playback/api-wabiken', {\n method: 'POST',\n credentials: 'include',\n cache: 'no-cache',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n uuid,\n }),\n }).then((apiResponse) => {\n dispatch({\n type: 'INITIALIZED',\n payload: {\n uuid,\n apiResponse,\n },\n });\n });\n return;\n }\n }\n }, [fetcher, isReady, state.pageStatus, uuid]);\n\n return {\n state,\n handleOnPlayerError,\n };\n}\n","'use client';\nimport { Player as DefaultPlayer } from '@u-next/defaultplayer';\nimport Link from 'next/link';\nimport { appPublicConfig } from '@/configs/appPublicConfig';\nimport { Loading } from '@/shared/components/parts/Loading';\nimport { MainContainer } from '@/shared/components/parts/MainContainer';\nimport { Spacer } from '@/shared/components/parts/Spacer';\nimport { usePretestPlayBack } from './index.hook';\n\nexport const PretestPlayBack: React.FC = () => {\n const { state, handleOnPlayerError } = usePretestPlayBack();\n\n return (\n \n \n
視聴環境の動作確認
\n \n
\n テスト動画を再生して、お客様の視聴環境を確認してください。\n
\n \n 対応デバイス\n \n
\n \n {state.pageStatus === 'INIT' && }\n {state.pageStatus === 'PLAY' && state.playerProps && (\n
\n \n
\n )}\n {state.pageStatus === 'ERROR' && (\n
\n
再生に失敗しました
\n \n
{state.errorMessage.title}
\n
{state.errorMessage.text}
\n
errorCode: {state.errorMessage.errorCode}
\n
\n )}\n \n
\n );\n};\n","import type { Config } from 'u-next/config';\n\nconst config = JSON.parse(process.env.publicConfig ?? '') as Config;\n\n/**\n * server/client両方で参照可能\n */\nexport const appPublicConfig = config;\n","import React from 'react';\nimport type { UuidApiResponse } from '@/app/api/uuid/route';\nimport { useVariousFetch } from '@/shared/hooks/useVariousFetcher';\n\ntype UseUuid = {\n uuid: string;\n isReady: boolean;\n};\n\nexport function useUuid(): UseUuid {\n const [uuid, setUuid] = React.useState('');\n const [isReady, setIsReady] = React.useState(false);\n const { fetcher } = useVariousFetch();\n\n React.useEffect(() => {\n fetcher('/api/uuid', {\n method: 'POST',\n credentials: 'include',\n cache: 'no-cache',\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n .then(({ result, data }) => {\n if (!result) {\n return;\n }\n\n setUuid(data.uuid);\n })\n .finally(() => {\n setIsReady(true);\n });\n }, [fetcher]);\n\n return {\n uuid,\n isReady,\n };\n}\n","export const Loading: React.FC = () => (\n
\n \n \n \n \n
\n);\n","import React from 'react';\n\nexport const MainContainer: React.FC = ({\n children,\n}) =>
{children}
;\n","export const Spacer: React.FC<{\n level: 4 | 3 | 2 | 1.5 | 1 | 0.5 | 0.25;\n}> = ({ level }) => (\n \n);\n","import React from 'react';\n\nconst DEFAULT_INIT: RequestInit = {\n method: 'GET',\n cache: 'no-cache',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n};\n\nexport function useVariousFetch(): {\n loading: boolean;\n data: T | null;\n fetcher: (input: RequestInfo, init?: RequestInit) => Promise;\n} {\n const [loading, setLoading] = React.useState(false);\n const [data, setData] = React.useState(null);\n\n const fetcher = React.useCallback(\n (input: RequestInfo, init?: RequestInit): Promise => {\n setLoading(true);\n\n const option = {\n ...DEFAULT_INIT,\n ...init,\n };\n\n return fetch(input, option)\n .then(\n (response: Response): Promise =>\n response.json().then((json): T => {\n setData(json);\n return json;\n })\n )\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.log((error as Error).message);\n return Promise.reject({} as T);\n })\n .finally(() => {\n setLoading(false);\n });\n },\n []\n );\n\n return {\n loading,\n data,\n fetcher,\n };\n}\n"],"names":["reducer","state","action","type","uuid","apiResponse","payload","playerProps","buildPlayerPropsFromPlayInfo","result","data","endpoints","playbackType","playbackAuthorization","authorizationToken","extra","playToken","endPoints","map","title","playables","endpointData","reduce","current","appendValue","includes","cdns","cdnData","id","cdnId","weight","licenseUrls","licenseUrlList","result2","current2","drmType","endpoint","manifestUrl","playlistUrl","sceneSearchList","sceneSearchUrl","sessionArgs","isem","isemToken","baseUrl","deviceId","overwrite","undefined","autoplay","theme","keyColor","isInline","pageStatus","errorMessage","text","errorCode","playerError","customTitle","customMessage","customCode","String","PretestPlayBack","handleOnPlayerError","usePretestPlayBack","dispatch","React","isReady","useUuid","fetcher","useVariousFetch","method","credentials","cache","headers","body","JSON","stringify","then","MainContainer","Spacer","level","div","className","br","Link","href","appPublicConfig","HELP","target","rel","Loading","DefaultPlayer","onError","parse","process","config","setUuid","setIsReady","finally","role","svg","aria-hidden","viewBox","fill","xmlns","path","d","children","DEFAULT_INIT","loading","setLoading","setData","input","init","fetch","response","json","catch","console","log","message","Promise","reject"],"sourceRoot":"","ignoreList":[1]}