PageSourceSearch

https://www.empara.fr/_next/static/chunks/pages/parcours/[slug]/learn/[[...itemIndex]]-5f9034a6d556949c.js

js empara.fr collected 2026-09-28 06:41:48 UTC 14,340 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4606],{19036:(e,r,l)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/parcours/[slug]/learn/[[...itemIndex]]",function(){return l(35445)}])},35445:(e,r,l)=>{"use strict";l.r(r),l.d(r,{__N_SSP:()=>O,default:()=>R});var t=l(37876),n=l(14232),i=l(77328),s=l.n(i),o=l(48230),u=l.n(o),a=l(2535),c=l(82786),d=l(39853),m=l(22986),p=l(9105),v=l(20506),f=l(67032),h=l(84336),x=l(62560),g=l(33429);async function b(e,r){if(!e||!r)return null;try{let l=await fetch("/api/parcours/".concat(encodeURIComponent(e),"/progress"),{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({itemId:r})});if(!l.ok)throw Error("HTTP error! status: ".concat(l.status));let t=await l.json();return(null==t?void 0:t.progress)||null}catch(e){return console.error("Erreur recordParcoursProgressAPI:",e),null}}async function k(e,r){if(!e||!r)return null;try{let l=await fetch("/api/parcours/".concat(encodeURIComponent(e),"/progress"),{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({itemId:r,rewind:!0})});if(!l.ok)throw Error("HTTP error! status: ".concat(l.status));let t=await l.json();return(null==t?void 0:t.progress)||null}catch(e){return console.error("Erreur rewindParcoursProgressAPI:",e),null}}var j=l(21997);function y(e){var r,l,i,s;let{pendingJump:o,total:u,onConfirm:a,onCancel:c}=e,d=Math.max(0,(null==o?void 0:o.skippedCount)||0),m=(null==o||null==(r=o.item)?void 0:r.customTitle)||(null==o||null==(i=o.item)||null==(l=i.video)?void 0:l.title)||(null==o||null==(s=o.item)?void 0:s.title)||"",p=n.useRef(!1);return(0,t.jsx)(j.Lt,{open:!!o,onOpenChange:e=>{if(!e){if(p.current){p.current=!1;return}null==c||c()}},children:(0,t.jsxs)(j.EO,{className:"border-em-border bg-em-panel text-em-ink-100",children:[(0,t.jsxs)(j.wd,{children:[(0,t.jsx)(j.r7,{className:"text-em-ink-100",children:"Avancer directement jusqu'\xe0 cet \xe9l\xe9ment\xa0?"}),(0,t.jsx)(j.$v,{className:"text-em-ink-300",children:d>0?(0,t.jsxs)(t.Fragment,{children:[1===d?"L'\xe9l\xe9ment qui le s\xe9pare de ton avancement actuel sera consid\xe9r\xe9 comme termin\xe9.":"Les ".concat(d," \xe9l\xe9ments qui le s\xe9parent de ton avancement actuel seront consid\xe9r\xe9s comme termin\xe9s.")," ","Dans un parcours, seul le point le plus loin atteint est enregistr\xe9\xa0: il ne revient jamais en arri\xe8re."]}):(0,t.jsx)(t.Fragment,{children:"Ton point d'avancement sera d\xe9plac\xe9 sur cet \xe9l\xe9ment. Dans un parcours, il ne revient jamais en arri\xe8re."})})]}),(m||u>0)&&(0,t.jsxs)("p",{className:"m-0 text-sm text-em-ink-300",children:[m?(0,t.jsx)("span",{className:"text-em-ink-100",children:m}):null,m&&u>0?" \xb7 ":null,u>0?"\xe9l\xe9ment ".concat(null==o?void 0:o.targetPosition," sur ").concat(u):null]}),(0,t.jsxs)(j.ck,{children:[(0,t.jsx)(j.Zr,{className:"border-em-border bg-transparent text-em-ink-100 hover:bg-white/5 hover:text-em-ink-100",children:"Rester ici"}),(0,t.jsx)(j.Rx,{className:"bg-em-ink-100 text-black hover:bg-white",onClick:()=>{p.current=!0,null==a||a()},children:"Continuer"})]})]})})}function C(e){var r;let{item:l,affectedCount:n=0,busy:i=!1,onConfirm:s,onCancel:o}=e,u=(null==l?void 0:l.customTitle)||(null==l||null==(r=l.video)?void 0:r.title)||(null==l?void 0:l.title)||"",a=Math.max(0,n-1);return(0,t.jsx)(j.Lt,{open:!!l,onOpenChange:e=>{e||i||null==o||o()},children:(0,t.jsxs)(j.EO,{className:"border-em-border bg-em-panel text-em-ink-100",children:[(0,t.jsxs)(j.wd,{children:[(0,t.jsx)(j.r7,{className:"text-em-ink-100",children:"Enlever le marquage \xab\xa0vu\xa0\xbb \xe0 partir d'ici\xa0?"}),(0,t.jsxs)(j.$v,{className:"text-em-ink-300",children:["Cet \xe9l\xe9ment",a>0?1===a?" et le suivant repasseront":" et les suivants repasseront":" repassera"," ","en \xab\xa0\xe0 voir\xa0\xbb. Ta progression reprendra \xe0 partir d'ici."]})]}),u?(0,t.jsx)("p",{className:"m-0 text-sm text-em-ink-100",children:u}):null,(0,t.jsxs)(j.ck,{children:[(0,t.jsx)(j.Zr,{disabled:i,className:"border-em-border bg-transparent text-em-ink-100 hover:bg-white/5 hover:text-em-ink-100",children:"Annuler"}),(0,t.jsx)(j.Rx,{disabled:i,className:"bg-em-ink-100 text-black hover:bg-white",onClick:e=>{e.preventDefault(),null==s||s()},children:i?"Suppression…":"Enlever le marquage"})]})]})})}function w(e,r){let l={...(null==e?void 0:e.videos)||{}},t={...(null==e?void 0:e.chapters)||{}};for(let e of r){for(let[r,t]of Object.entries((null==e?void 0:e.videos)||{})){let e=l[r];l[r]={...e,...t,virtualProgress:Math.max((null==e?void 0:e.virtualProgress)||0,(null==t?void 0:t.virtualProgress)||0),lastPosition:Math.max((null==e?void 0:e.lastPosition)||0,(null==t?void 0:t.lastPosition)||0),completed:(null==t?void 0:t.completed)===!0}}for(let[r,l]of Object.entries((null==e?void 0:e.chapters)||{}))t[r]=l}return{...e,videos:l,chapters:t}}function P(e){let{children:r,items:l=[],progress:i,user:s,parcoursSlug:o}
1=e,[u,a]=(0,n.useState)(()=>({videos:{},chapters:{}})),[c,d]=(0,n.useState)(()=>new Set),p=function(e){let{slug:r,initialPosition:l=0,enabled:t=!0}=e,{navigableItems:i,currentVideo:s,currentPage:o,goToItem:u,registerNavigationGuard:a}=(0,m.H9)(),[c,d]=(0,n.useState)(()=>{let e=Number(l);return Number.isFinite(e)&&e>0?Math.floor(e):0}),[p,v]=(0,n.useState)(null),f=(0,n.useRef)(null);f.current=p;let h=(0,n.useRef)(c);h.current=c;let x=(0,n.useMemo)(()=>(i||[]).map(e=>String(e._id)),[i]),g=(0,n.useRef)(x);g.current=x;let j=(0,n.useRef)(i);j.current=i;let y=(0,n.useCallback)(e=>e?g.current.indexOf(String(e))+1:0,[]),C=(0,n.useCallback)(e=>e>0&&e>h.current+1,[]),w=(0,n.useRef)(null);(0,n.useEffect)(()=>{if(t&&"function"==typeof a)return a(e=>{let r=y(null==e?void 0:e._id);return!(0!==r&&C(r))||(v({item:e,targetPosition:r,skippedCount:r-h.current-1,isCurrent:!1}),!1)})},[t,a,y,C]);let P=o||s,S=P?String(P._id):null,_=(0,n.useRef)(S);_.current=S;let N=(0,n.useRef)(null),E=(0,n.useRef)(null),M=(0,n.useCallback)(async(e,l)=>{d(e=>Math.max(e,l));let t=await b(r,e);t&&Number.isFinite(Number(t.position))&&d(e=>Math.max(e,Number(t.position)))},[r]);(0,n.useEffect)(()=>{if(!t||!S||p)return;let e=y(S);return 0===e?void 0:C(e)&&w.current!==S?void v({item:P,targetPosition:e,skippedCount:e-h.current-1,isCurrent:!0}):E.current!==S?(N.current=setTimeout(()=>{E.current=S,M(S,e)},700),()=>clearTimeout(N.current)):void 0},[t,S,x,p,y,C,M]);let O=(0,n.useCallback)(()=>{var e;let r=f.current;r&&(f.current=null,w.current=String((null==(e=r.item)?void 0:e._id)||""),v(null),r.isCurrent||u(r.item,{bypassGuard:!0}))},[u]),R=(0,n.useCallback)(()=>{var e;let r=f.current;if(!r||(f.current=null,v(null),!r.isCurrent))return;let l=Math.max(0,h.current-1),t=null==(e=j.current)?void 0:e[l];t&&u(t,{bypassGuard:!0})},[u]),T=(0,n.useCallback)(async e=>{if(!t||f.current)return;let r=(Array.isArray(e)?e:[e]).filter(Boolean),l=0,n=null;for(let e of r){let r=y(e);r>l&&(l=r,n=String(e))}n&&!(l<=h.current)&&(C(l)&&n===_.current&&w.current!==n||(E.current=n,await M(n,l)))},[t,y,C,M]),A=(0,n.useCallback)(async e=>{if(!t||!e)return!1;let l=y(e);if(0===l)return!1;d(l-1),E.current=String(e),w.current=String(e);let n=await k(r,e);return!!(n&&Number.isFinite(Number(n.position)))&&(d(Number(n.position)),!0)},[t,r,y]),L=(0,n.useMemo)(()=>{let e=new Set;if(!t)return e;let r=Math.min(c,x.length),l=S?x.indexOf(S):-1;for(let t=0;t<r;t+=1)(l>=0&&t<l||t<c-1)&&e.add(x[t]);return e},[t,c,x,S]);return{position:c,total:x.length,navigableIds:x,coveredIds:L,pendingJump:p,confirmJump:O,cancelJump:R,advanceTo:T,rewindTo:A}}({slug:o,initialPosition:(null==i?void 0:i.position)||0,enabled:!!(null==s?void 0:s._id)&&!!o}),{coveredIds:v,advanceTo:f,rewindTo:h,navigableIds:j}=p,{goToItem:P}=(0,m.H9)(),S=(0,n.useMemo)(()=>{let e=new Map;for(let r of l)(null==r?void 0:r._id)&&r.courseId&&e.set(String(r._id),String(r.courseId));return e},[l]),_=(0,n.useMemo)(()=>[...new Set(l.map(e=>null==e?void 0:e.courseId).filter(Boolean).map(String))],[l]);(0,n.useEffect)(()=>{let e=null==s?void 0:s._id;if(!e||0===_.length)return;let r=!1;return(async()=>{let l=await Promise.all(_.map(r=>(0,g.ir)(e,r)));if(r)return;let t=l.filter(Boolean);0!==t.length&&a(e=>w(e,t))})(),()=>{r=!0}},[null==s?void 0:s._id,_]);let N=(0,n.useCallback)((e,r,l)=>{e&&a(t=>{var n;let i=null==t||null==(n=t.videos)?void 0:n[e],s=Math.max((null==i?void 0:i.virtualProgress)||0,r||0);return s===((null==i?void 0:i.virtualProgress)||0)&&void 0===l?t:{...t,videos:{...null==t?void 0:t.videos,[e]:{...i,virtualProgress:s,completed:null!=l?l:null==i?void 0:i.completed}}}})},[]),E=(0,n.useCallback)(e=>{(null==e?void 0:e.videos)&&a(r=>w(r,[e]))},[]),M=(0,n.useCallback)(async(e,r)=>{let l=null==s?void 0:s._id;if(!l||!e)return;let t=S.get(String(e))||null;if(t){d(r=>new Set(r).add(e));try{await (0,g.ey)(e,r,l,t),a(l=>{var t,n,i;return{...l,videos:{...null==l?void 0:l.videos,[e]:{...null==l||null==(t=l.videos)?void 0:t[e],completed:r,virtualProgress:r?100:(null==l||null==(i=l.videos)||null==(n=i[e])?void 0:n.virtualProgress)||0}}}}),r&&await f(e)}catch(e){console.error("Erreur markVideoCompleted parcours:",e)}finally{d(r=>{let l=new Set(r);return l.delete(e),l})}}},[null==s?void 0:s._id,S,f]),O=(0,n.useCallback)(async(e,r)=>{let l=null==s?void 0:s._id,t=(Array.isArray(e)?e:[]).map(String).filter(
1Boolean);if(!l||0===t.length)return;let n=new Map;for(let e of t){let r=S.get(e);r&&(n.has(r)||n.set(r,[]),n.get(r).push(e))}let i=[...n.values()].flat();d(e=>{let r=new Set(e);for(let e of i)r.add(e);return r}),a(e=>{let l={...(null==e?void 0:e.videos)||{}};for(let e of i){var t;l[e]={...l[e],completed:r,virtualProgress:r?100:(null==(t=l[e])?void 0:t.virtualProgress)||0}}return{...e,videos:l}});try{n.size>0&&await Promise.all([...n.entries()].map(e=>{let[l,t]=e;return(0,g.jD)(t,r,l)})),r&&await f(t)}catch(e){console.error("Erreur markVideosCompleted parcours:",e)}finally{d(e=>{let r=new Set(e);for(let e of i)r.delete(e);return r})}},[null==s?void 0:s._id,S,f]),[R,T]=(0,n.useState)(null),[A,L]=(0,n.useState)(!1),I=(0,n.useCallback)(e=>{(null==s?void 0:s._id)&&(null==e?void 0:e._id)&&-1!==j.indexOf(String(e._id))&&T(e)},[null==s?void 0:s._id,j]),q=(0,n.useMemo)(()=>{if(!(null==R?void 0:R._id))return[];let e=j.indexOf(String(R._id));return -1===e?[]:j.slice(e)},[R,j]),J=(0,n.useCallback)(async()=>{if(R&&!A){L(!0);try{q.length>0&&await O(q,!1),await h(R._id),null==P||P(R,{bypassGuard:!0})}catch(e){console.error("Erreur d\xe9-marquage parcours:",e)}finally{L(!1),T(null)}}},[R,A,q,O,h,P]),F=(0,n.useCallback)(()=>{A||T(null)},[A]),U=(0,n.useMemo)(()=>{let e={};for(let[r,l]of Object.entries((null==u?void 0:u.videos)||{}))e[r]={...l,completed:v.has(r)||(null==l?void 0:l.completed)===!0};for(let r of v)e[r]||(e[r]={virtualProgress:100,completed:!0,lastPosition:0});return{videos:e,chapters:{}}},[u,v]),B=(0,n.useMemo)(()=>({progressTable:U,setProgressTable:a,updateLocalProgress:N,updateProgressTableFromResponse:E,markVideoCompleted:M,markVideosCompleted:O,markingIds:c,requestUnmark:I,canUnmark:!!(null==s?void 0:s._id),syncProgress:()=>{},refreshGlobalProgress:()=>{},markChapterCompleted:()=>{},markCourseCompleted:()=>{},reinitProgression:()=>{}}),[U,N,E,M,O,c,I,null==s?void 0:s._id]);return(0,t.jsxs)(x.Ay.Provider,{value:B,children:[r,(0,t.jsx)(y,{pendingJump:p.pendingJump,total:p.total,onConfirm:p.confirmJump,onCancel:p.cancelJump}),(0,t.jsx)(C,{item:R,affectedCount:q.length,busy:A,onConfirm:J,onCancel:F})]})}function S(e){var r,l,n,i,s;let{children:o,user:u,accessLevel:a}=e,{currentVideo:c}=(0,m.H9)(),d=null!=(s=null!=(i=null==c||null==(l=c._playlistEntry
1)||null==(r=l.course)?void 0:r._id)?i:null==c||null==(n=c.course)?void 0:n._id)?s:null;return(0,t.jsx)(f.YL,{user:u,courseId:d,accessLevel:a,children:o})}function _(e){let{children:r,user:l,accessLevel:n,items:i,progress:s,parcoursSlug:o}=e;return(0,t.jsx)(v.JU,{children:(0,t.jsx)(P,{items:i,progress:s,user:l,parcoursSlug:o,children:(0,t.jsx)(S,{user:l,accessLevel:n,children:(0,t.jsx)(h.m,{children:r})})})})}var N=l(25145),E=l.n(N);let M=()=>{};var O=!0;let R=function(e){let{parcours:r,items:l,progress:i,user:o,accessLevel:v,nextLives:f,playlist:h,initialComments:x,anonymousRestricted:g,emailVerificationRestricted:b,trialRestricted:k,requiresSubscription:j}=e,{user:y}=(0,d.ur)(),C=(0,n.useMemo)(()=>y||o?y?o?{...o,...y}:y:o:null,[y,o]),w=((null==l?void 0:l.length)||0)>0;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.A,{title:"".concat((null==r?void 0:r.title)||"Parcours"," | Lecture | Empara"),description:(null==r?void 0:r.subtitle)||"Suis le parcours ".concat((null==r?void 0:r.title)||""," sur Empara, formation photo en ligne."),url:"/parcours/".concat((null==r?void 0:r.slug)||""),noindex:!0}),(0,t.jsxs)(s(),{children:[(0,t.jsx)("link",{rel:"preconnect",href:"https://player.kinescope.io",crossOrigin:"anonymous"}),(0,t.jsx)("link",{rel:"preconnect",href:"https://kinescope.io",crossOrigin:"anonymous"}),(0,t.jsx)("link",{rel:"dns-prefetch",href:"https://player.kinescope.io"}),(0,t.jsx)("link",{rel:"dns-prefetch",href:"https://kinescope.io"})]}),(0,t.jsx)("div",{className:"bg-em-app",children:(0,t.jsx)(c.default,{user:C,course:"",nextLives:f,isBlack:!1,enableStickyOnScroll:"desktop"})}),(0,t.jsx)("div",{className:E().playlistViewMain,children:w?(0,t.jsx)(m.ml,{playlist:h,user:C,isOwner:!1,isUserPlaylist:!1,isSubscriberPlaylist:!0,editable:!1,strictMediaAccess:!0,trackProgress:!0,children:(0,t.jsx)(_,{user:C,accessLevel:v,items:l,progress:i,parcoursSlug:null==r?void 0:r.slug,children:(0,t.jsx)(p.A,{onRefresh:M,requiresSubscription:j,emailVerificationRestricted:b,isUserPlaylist:!1,isSubscriberPlaylist:!0,anonymousRestricted:g,trialRestricted:k,initialComments:x})})},h._id):(0,t.jsx)("div",{className:"mx-auto w-full max-w-[1500px] px-4 pt-6 lg:px-6",children:(0,t.jsxs)("div",{className:"rounded-xl border border-em-border bg-em-panel p-10 text-center",children:[(0,t.jsx)("p",{className:"m-0 text-sm text-em-ink-300",children:"Ce parcours ne contient encore aucune vid\xe9o."}),(0,t.jsx)(u(),{href:"/parcours/".concat((null==r?void 0:r.slug)||""),className:"mt-4 inline-block text-sm text-em-ink-100 underline underline-offset-4",children:"Retour au parcours"})]})})})]})}}},e=>{e.O(0,[3560,706,4587,8359,1472,5068,4287,4234,8080,1370,3474,5948,188,2786,397,3392,395,3286,4054,2002,636,6593,8792],()=>e(e.s=19036)),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.