Module 241124

2,730 characters · in f474b915305641d5.js
Dependencies
Lazily required by (0)none
Lazily requires (0)none
Source Raw
function(e,t,l){l.d(t,{Gk:()=>f,Sn:()=>_,jY:()=>v});var n=l(627968),r=l(64700),s=l(158390),i=l(621466),u=l(174459),a=l(38405),o=l(652215);let d=r.createContext({registerAsset:()=>()=>{},unregisterAsset:()=>{},hasError:!1,isLoading:!0});function c(e){return(0,i.vq)(e,HTMLImageElement)?e.complete:(0,i.vq)(e,HTMLVideoElement)?e.readyState>=2:!!(0,i.vq)(e,HTMLDivElement)||!0}function E(e){return(0,i.vq)(e,HTMLImageElement)?e.getAttribute("src"):(0,i.vq)(e,HTMLVideoElement)?e.querySelectorAll("source")[0]?.getAttribute("src")??"video":((0,i.vq)(e,HTMLDivElement),e.tagName)}function v(e){let{children:t,isPreview:l=!1,source:v,questId:_}=e,[f,m]=r.useState(!1),[g,p]=r.useState(new Set),[T,A]=r.useState(!1),S=r.useRef(!1);r.useEffect(()=>{let e=new Set;for(let t of g)c(t)||e.add(t);e.size!==g.size&&p(e)},[g]);let C=r.useCallback(e=>{let{assetNode:t,nodeId:n,errorPrefix:r,errorMessage:s}=e;if(l||null==v)return;let d=(0,i.vq)(t,HTMLVideoElement)?t.networkState:void 0;u.default.track(o.HAw.QUEST_ASSET_LOADING_FAILURE,{source:v,quest_id:_,asset_id:E(t),video_network_state:d}),a.A.captureException(Error(`${r}: ${null!=s?`${s}, `:""}${E(t)}, ${n}`),{tags:{source:v}}),m(!0)},[l,v,_]),L=r.useCallback(e=>{p(t=>{let l=new Set(t);return l.delete(e),l})},[]),h=r.useCallback((e,t)=>{A(!0);let l=(0,i.vq)(e,HTMLImageElement)?"load":(0,i.vq)(e,HTMLVideoElement)?"canplaythrough":((0,i.vq)(e,HTMLDivElement),"load"),n=new AbortController,r=new s.A;function u(){r.succeed(),L(e),e.removeEventListener(l,u)}function a(l){d(),L(e),C({assetNode:e,nodeId:t,errorPrefix:"Error loading asset",errorMessage:"message"in l?l.message:null})}function o(t){r.fails<3&&(0,i.vq)(e,HTMLVideoElement)?r.fail(()=>{e.load()}):a(t)}if(c(e)||(p(t=>{let l=new Set(t);return l.add(e),l}),e.addEventListener(l,u)),e.addEventListener("error",a,{signal:n.signal}),(0,i.vq)(e,HTMLVideoElement)){let t=e.querySelectorAll("source"),l=t[t.length-1];l?.addEventListener("error",o,{signal:n.signal})}function d(){if(r.cancel(),n.abort(),e.removeEventListener(l,u),e.removeEventListener("error",a),(0,i.vq)(e,HTMLVideoElement)){let t=e.querySelectorAll("source"),l=t[t.length-1];l?.removeEventListener("error",o)}}return d},[C,L]),H=r.useMemo(()=>g.size>0||!T,[T,g]);r.useEffect(()=>{H||(S.current=!0)},[H]);let k=r.useMemo(()=>({registerAsset:h,unregisterAsset:L,hasError:f,isLoading:H&&!S.current}),[h,L,f,H]);return(0,n.jsx)(d.Provider,{value:k,children:t})}function _(e){let{id:t,children:l}=e,{registerAsset:n,unregisterAsset:s}=r.useContext(d),i=r.useRef(null);return r.useEffect(()=>{let e,l=i.current;return null!=l&&(e=n(l,t)),()=>{e?.(),null!=l&&s(l)}},[n,s,t]),l(i)}function f(){let{hasError:e,isLoading:t}=r.useContext(d);return{hasError:e,isLoading:t}}}