PageSourceSearch

https://www.symbiocenter.com/js/3118-legacy.2e7d52fc.js

js symbiocenter.com collected 2026-10-03 20:09:29 UTC 77,999 bytes, 2 lines download raw bytes

1"use strict";(self["webpackChunktherapeute"]=self["webpackChunktherapeute"]||[]).push([[3118,3245],{33118:function(e,t,i){i.r(t),i.d(t,{default:function(){return Oe}});var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"ListProtocolTop"},[t("div",{staticClass:"is-fullheight accueil"},[t("div",[e.DisplayFolders?t("div",{staticClass:"overflow2"},[t("folders-component",{attrs:{ParamJeuGuidee:e.ParamJeuGuidee,SeanceSelectedUrl:e.SeanceSelected,idPatientTherapeute:e.idPatientTherapeute,foldersBrique:e.foldersBrique,themes:e.themes,group:e.group,LinksOfUser:e.LinksOfUser},on:{"is-display-programmes":e.onIsDisplayProgrammes,"upgrade-requested":e.upgradeAccount,"pop-up-contact":e.popUpContact,linkUser:e.linkUser,isLoadingActivitySpace:e.isLoadingActivitySpace,"program-click":e.handleProgramSelection,"seance-selected":e.handleSeanceSelected,CloseMenuUser:e.CloseMenuUser}})],1):t("div",{staticClass:"programmes-brique-root"},[t("div",{staticClass:"skeleton-carousel-block"},[t("div",{staticClass:"skeleton-carousel-title"}),t("div",{staticClass:"skeleton-carousel-items"},e._l(6,function(e){return t("div",{key:e,staticClass:"skeleton-carousel-item"})}),0)])])])])])},o=[],r=i(36727),n=i(44388),a=i.n(n),l=i(38078),c=i(95353),u=i(88055),d=i.n(u),h=function(){var e=this,t=e._self._c;return t("div",{ref:"element",staticClass:"programmes-brique-root"},[t("div",[t("div",[t("transition",{attrs:{name:"slide-fade"}},[e.showNotification?t("div",{staticClass:"notification-container",attrs:{"data-target":"protocol-folders"}},[t("div",{staticClass:"notification-box"},[t("div",{staticClass:"notification-text"},[e._v("Exercice terminé")])])]):e._e()])],1),[e.themesFolders?t("div",[t("CarouselFolders",{key:e.keyCarousel,ref:"carouselFoldersRef",attrs:{folderBrique:e.themesFolders,name:"Programmes",idPatientTherapeute:e.idPatientTherapeute,LinksOfUser:e.LinksOfUser},on:{recupId:e.handleRecupId,"program-click":e.handleProgramClick,linkUser:e.linkUser,isLoadingActivitySpace:e.isLoadingActivitySpace}})],1):e._e(),!e.$IsTherapeuteWithoutIdPatient&&e.hasLatestExercise?t("getLatestExo",{on:{getLatestExo:e.getLatestExo,resumeLastExercise:e.resumeLastExercise}}):e._e(),t("div",[e.isDisplay&&e.folderBriqueRecup?t("div",[t("button-protocol",{key:e.KeyButton,attrs:{idProtocol:e.idProtocol,folderBriqueRecup:e.folderBriqueRecup,linkedFilePatient:e.linkedFilePatient,isExercicecourt:e.isExercicecourt,isExercicelong:e.isExercicelong,idPatientTherapeute:e.idPatientTherapeute},on:{showExerciceCourt:e.show_exercice_court,showExerciceLong:e.show_exercice_long}})],1):e._e(),e.showModalSubscription?t("div",[t("subscriptionPopUp",{key:e.indexPopUpAbonnement})],1):e._e(),e.isDisplay?t("div",{attrs:{id:"protocol_list"}},[t("div",{on:{click:function(t){e.affichageText=!e.affichageText}}},[t("IntroductionComponent",{attrs:{affichageText:e.affichageText}})],1)]):e._e(),t("div",{directives:[{name:"show",rawName:"v-show",value:e.affichageText,expression:"affichageText"}],staticClass:"textSeance"},[t("VideoIntroduction",{attrs:{uniqueKey:e.uniqueKey,currentVideo:e.currentVideo,videosBrique:e.videosBrique},on:{"select-video":e.handleSelectVideo}}),t("span",{domProps:{innerHTML:e._s(e.IntroSelected)}})],1),e.loadingSeance?t("div",{staticClass:"skeleton-seance-list"},e._l(3,function(i){return t("div",{key:i,staticClass:"skeleton-session-item"},[e._m(0,!0)])}),0):e._e(),e.idBrique&&e.links.length>0&&!e.loadingSeance?t("SeanceList",{ref:"seanceListRef",attrs:{links:e.links,idProtocol:e.idBrique,idSeanceLatestExo:e.idSeanceLatestExo},on:{MoniteurFinished:e.refreshProtocol,execiseCompleted:e.refreshProtocol,GameFinished:e.refreshProtocol,"upgrade-requested":e.upgradeAccount}}):e._e()],1)],e.DisplayEval?t("popUpEval",{attrs:{idBrique:e.idBrique},on:{close:e.closeModal}}):e._e()],2)])},m=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"skeleton-session-main"},[t("div",{staticClass:"skeleton-icon"}),t("div",{staticClass:"skeleton-text-block"},[t("div",{staticClass:"skeleton-title"}),t("div",{staticClass:"skeleton-subtitle"})])])}],p=i(94948),g=i.n(p),f=i(68416);async function v(e,t){try{const i=await a().Cloud.run("getProgrammeFiles",{userId:e,seanceId:t});return i}catch(i){throw console.error("Erreur dans callDataForProgrammes:",i),i}}var x=i(77038),y=i(24984),S=i(56692);i(89428),i(44142);var C=i(33630),E=i(20103),_=i(83807),P=i(67506),b={async getLatestExerciseDoneWithBfpFalse(e){try{if(console.log(`Appel du service getLatestExerciseDoneWithBfpFalse pour l'utilisateur: ${e}`),!e)throw new Error("L'ID utilisateur est requis");const t=await a().Cloud.run("getLatestExerciseDoneWithBfpFalse",{userId:e});return console.log("Exercice récupéré avec succès:",t),t}catch(t){throw console.error("Erreur lors de la récupération du dernier exercice:",t),t}}},T=function(){var e=this,t=e._self._c;return t("div",{staticClass:"program-container"},[t("div",{staticClass:"program-section"},[e.links.length>1?t("programSelector",{attrs:{folders:[{folderId:"short",name:"Programme court"},{folderId:"long",name:"Programme long"}]},on:{"program-changed":e.handleProgramChange}}
1):e._e(),e.currentProgramLinks?.length?t("div",{staticClass:"sessions-list",attrs:{"data-target":"sessions-list"}},e._l(e.currentProgramLinks,function(i,s){return t("div",{key:i.id,staticClass:"session-item",class:{completed:i.sessionStatus?.isCompleted}},[t("div",{staticClass:"session-header",class:{"is-active":e.openedSeance===i.id,"is-completed":i.sessionStatus?.isCompleted,"is-locked":i.isLocked},on:{click:function(t){!i.isLocked&&e.toggleSeance(i.id,i)}}},[t("div",{staticClass:"session-main"},[t("div",{staticClass:"session-number-container"},[t("span",{staticClass:"session-label"},[e._v("Séance ")]),t("span",{staticClass:"session-number"},[e._v(e._s(s+1))])]),t("h3",{staticClass:"session-title"},[e._v(e._s(i.folderName))])]),t("div",{staticClass:"session-meta"},[i.isLocked?e._e():t("div",{staticClass:"seance-status-container"},[100===i.sessionStatus?.completionPercentage?t("div",{staticClass:"seance-status-completed"},[t("i",{staticClass:"fas fa-check-circle status-icon"}),t("span",{staticClass:"status-text"},[e._v("Complété")])]):t("div",{staticClass:"seance-status-progress"},[t("div",{staticClass:"status-steps"},e._l(i.sessionStatus?.totalFilesCount,function(e){return t("div",{key:e,staticClass:"status-step",class:{"step-done":e<=(i.sessionStatus?.completedFilesCount||0),"step-current":e===(i.sessionStatus?.completedFilesCount||0)+1}},[t("i",{staticClass:"fas fa-circle"})])}),0)])]),t("span",{staticClass:"exercise-count"},[e._v(" "+e._s(i.sessionStatus?.totalFilesCount)+" exercices ")]),i.isLocked?t("div",{staticClass:"lock-container"},[t("div",{staticClass:"lock-icon"})]):t("span",{staticClass:"chevron"})])]),t("div",{staticClass:"session-content",class:{"is-open":e.openedSeance===i.id}},[e.exercises?t("ExerciceList",{attrs:{exercises:e.exercises,idProtocol:e.idProtocol,idSeance:i.id},on:{"exercise-completed":e.execiseCompleted,MoniteurFinished:e.MoniteurFinished,GameFinished:e.GameFinished,"upgrade-requested":e.upgradeAccount}}):e._e()],1)])}),0):e._e()],1)])},w=[],k=i(99359),I=function(){var e=this,t=e._self._c;return t("div",{staticClass:"program-container exercise-list",attrs:{"data-target":"exercise-list"}},[e._l(e.normalizedExercises,function(i,s){return t("div",{key:i.id,staticClass:"program-section",class:{"
1is-completed":i.exerciseStatus.isCompleted,"is-locked":e.isExerciseLocked(i,s)}},[t("div",{staticClass:"exercise-header",class:e.computeHeaderClasses(i),attrs:{role:"button",tabindex:"0"},on:{click:function(t){return e.toggleExercise(i.id,i,s)}}},[t("div",{staticClass:"exercise-main"},[t("div",{staticClass:"exercise-label"},[t("i",{class:["exercise-type-icon",{"fas fa-clipboard-list":i.questionnaire,"fas fa-headphones":i.nomfichieraudio,"fas fa-video":i.nomfichiervideo,"fas fa-heartbeat":i.type&&"PnIg5kGR0p"===i.type.objectId||i.composite_file&&i.composite_file.get("moduleExpert"),"fas fa-gamepad":i.game_type||i.composite_file&&i.composite_file.get("jeux"),"fas fa-file-alt":!i.questionnaire&&!i.nomfichieraudio&&!i.nomfichiervideo&&!i.composite_file}]}),t("span",{staticClass:"exercise-prefix"},[e._v("Exercice "+e._s(s+1))]),i.exerciseStatus.isCompleted?t("i",{staticClass:"fas fa-check completed-icon"}):e._e()]),t("div",{staticClass:"exercise-info"},[t("div",{staticClass:"exercise-title-row"},[t("div",{staticClass:"exercise-title-wrapper"},[t("h3",{staticClass:"exercise-title"},[e._v(" "+e._s(e.getDisplayTitle(i))+" ")]),i.duration?t("span",{staticClass:"exercise-duration"},[t("i",{staticClass:"far fa-clock duration-icon"}),e._v(" "+e._s(e.formatDuration(i.duration))+" ")]):e._e()])])])]),e.isExerciseLocked(i,s)?t("div",{staticClass:"lock-container"},[t("div",{staticClass:"lock-icon"})]):t("div",{staticClass:"chevron-container"},[t("i",{staticClass:"fas fa-chevron-down",style:{transform:e.openedExercise===i.id?"rotate(180deg)":"rotate(0)"}})])]),e.openedExercise===i.id?t("div",{staticClass:"exercise-content"},[t("div",{staticClass:"content-wrapper"},[t("div",{staticClass:"exercise-meta"},[i.questionnaire?t("div",{staticClass:"meta-item"},[t("questionnairePlayer",{attrs:{idFile:i.fileId,questionnaireId:i.questionnaire.id},on:{"questionnaire-completed":e.handleSaveQCM}})],1):e._e(),i.nomfichieraudio?t("div",{staticClass:"meta-item-audio"},[t("audioPlayer",{attrs:{file:i},on:{"audio-ended":e.handleAudioEnded}})],1):e._e(),i.nomfichiervideo?t("div",{staticClass:"meta-item"},[t("VideoPlayer",{attrs:{videoFile:i},on:{"video-ended":e.handleVideoEnded}})],1):e._e(),i.nomfichiervideo?t("VideoModalInfo",{attrs:{videoFile:i}}):e._e(),"PnIg5kGR0p"===i.type.objectId||i.composite_file&&i.composite_file.get("moduleExpert")?t("div",{staticClass:"item-moniteur"},[t("MoniteurExpert",{attrs:{showBreathingGuide:i.avecGuide,MoniteurInProgrammes:!0,timer:i.temps,"fileReçu":i,"folderIdReçu":e.idSeance,tableau:i.tableauModification},on:{"moniteur-finish":e.MoniteurFinished}})],1):e._e()],1),t("div",[i.game_type||i.composite_file&&i.composite_file.get&&i.composite_file.get("jeux")?[e.resolveGameKeyFromExercise(i)?t("MonitorageJeux",{attrs:{"fileReçu":i,idPatientTherapeute:e.$IdPatient},on:{"game-finish":e.GameFinished}}):t("JeuUnityComponent",{attrs:{jeux:i,idPatientTherapeute:e.$IdPatient},on:{"game-finish":e.GameFinished}}),t("GameModalInfo",{attrs:{gameFile:i}})]:e._e()],2)])]):e._e()])}),e.IsLimited?t("pop-up-account-limited",{on:{"upgrade-requested":e.upgradeAccount}}):e._e(),e.showContactPopUp?t("pop-up-contact",{on:{close:function(t){e.showContactPopUp=!1}}}):e._e()],2)},L=[],F=i(85471),q=i(89524),B=i(42203),A=i(43414),U=i(71140),R=i(72739),D=i(8484),M=i(78998),$=i(96687),O=i(94905),N=i(24911),j=i(20946),Q={name:"ExerciseList",components:{audioPlayer:q.A,questionnairePlayer:B.A,VideoPlayer:U.A,VideoModalInfo:R.A,GameModalInfo:D.A,popUpAccountLimited:M.A,popUpContact:$["default"],MoniteurExpert:A.A,JeuUnityComponent:O["default"],MonitorageJeux:N.A},props:{exercises:{type:Array,required:!0,default:()=>[]},idProtocol:{type:String,required:!0},idSeance:{type:String,required:!0}},data(){return{IsLimited:!1,showContactPopUp:!1}},setup(e){const t=(0,F.KR)(null),i=(0,F.KR)(new Date);(0,F.wB)(()=>e.exercises,e=>{console.log("[ExerciceList] ===== FILES REÇUS DE PARSE ====="),console.log("[ExerciceList] Total files:",e?e.length:0),e&&e.forEach((e,t)=>{let i=null,s="none";if(e.game_type)i=e.game_type,s="exercise.game_type";else if(e.attributes&&e.attributes.game_type)i=e.attributes.game_type,s="exercise.attributes.game_type";else if(e.composite_file&&e.composite_file.get&&e.composite_file.get("jeux")){const t=e.composite_file.get("jeux");t&&t.get&&"function"===typeof t.get&&(i=t.get("game_type"),s="composite_file.jeux.game_type")}else e.compositeFileJeux&&e.compositeFileJeux.game_type&&(i=e.compositeFileJeux.game_type,s="compositeFileJeux.game_type");const o=i&&((i.get&&"function"===typeof i.get?i.get("name"):null)||i.name||i.attributes&&i.attributes.name);console.log(`[ExerciceList] Exercise ${t+1}:`,{id:e.id,fileName:e.fileName||e.name,hasGameType:!!i,gameType:o||"",gameTypeSource:s,gameTypeObject:i,hasCompositeFile:!!e.composite_file,compositeFileJeux:e.compositeFileJeux})}),e&&1===e.length&&(t.value=e[0].id)},{immediate:!0});const s=(0,F.EW)(()=>(t,i)=>{if(F.Ay.prototype.$IsTherapeuteWithoutIdPatient)return!1;if(0===i)return!1;const s=e.exercises[i-1];return!s.exerciseStatus.isCompleted}),o=(0,F.EW)(()=>e=>({"is-active":t.value===e.id,"is-completed":e.exerciseStatus.isCompleted})),r=(0,F.EW)(()=>e.exercises?e.exercises.map(e=>{if("string"===typeof e.game_type)return e;let t=null;if(e.game_type){const i=e.game_type;i.get&&"function"===typeof i.get?t=i.get("name")||i.get("label"):i.name||i.label?t=i.name||i.label:i.attributes&&(t=i.attributes.name||i.attributes.label)}if(!t&&e.composite_file&&e.composite_file.get){const i=e.composite_file.get("jeux");if(i&&i.get&&"function"===typeof i.get){const e=i.get("game_type");e&&(e.get&&"function"===typeof e.get?t=e.get("name")||e.get("label"):(e.name||e.label)&&(t=e.n
1ame||e.label))}}return t?(console.log(`[ExerciceList] 🔄 Normalizing exercise ${e.id}: game_type = "${t}"`),{...e,_gameTypeName:t}):e}):[]);return{openedExercise:t,computeHeaderClasses:o,startTime:i,isExerciseLocked:s,normalizedExercises:r}},mounted(){console.log("[ExerciceList] ===== EXERCICES REÇUS ====="),console.log("[ExerciceList] Nombre d'exercices:",this.exercises?.length||0),console.log("[ExerciceList] Account Limited:",this.$AccountLimited),this.exercises&&this.exercises.forEach((e,t)=>{let i=null,s="none";if(e.game_type)i=e.game_type,s="exercise.game_type";else if(e.attributes&&e.attributes.game_type)i=e.attributes.game_type,s="exercise.attributes.game_type";else if(e.composite_file&&e.composite_file.get&&e.composite_file.get("jeux")){const t=e.composite_file.get("jeux");t&&t.get&&"function"===typeof t.get&&(i=t.get("game_type"),s="composite_file.jeux.game_type")}else e.compositeFileJeux&&e.compositeFileJeux.game_type&&(i=e.compositeFileJeux.game_type,s="compositeFileJeux.game_type");const o=i&&((i.get&&"function"===typeof i.get?i.get("name"):null)||i.name||i.attributes&&i.attributes.name);console.log(`[ExerciceList] 📝 Exercise ${t+1}:`,{id:e.id,name:e.fileName||e.name,hasGameType:!!i,gameType:o||"N/A",gameTypeSource:s,isGame:this.isGameExercise(e),gameKey:this.resolveGameKeyFromExercise(e)})}),console.log("[ExerciceList] ============================="),this.$AccountLimited&&setTimeout(()=>{this.IsLimited=!0},2e4),this.exercises&&1===this.exercises.length&&(this.openedExercise=this.exercises[0].id)},methods:{isGameExercise(e){return!!e&&(!!e.game_type||e.composite_file&&e.composite_file.get&&!!e.composite_file.get("jeux"))},resolveGameKeyFromExercise(e){if(!e)return null;try{let t=null;if(e.game_type)t=e.game_type;else if(e.attributes&&e.attributes.game_type)t=e.attributes.game_type;else if(e.composite_file&&e.composite_file.get&&e.composite_file.get("jeux")){const i=e.composite_file.get("jeux");i&&i.get&&"function"===typeof i.get&&(t=i.get("game_type"))}else e.compositeFileJeux&&e.compositeFileJeux.game_type&&(t=e.compositeFileJeux.game_type);if(!t)return console.log("[ExerciceList] No game_type found for exercise:",e.id),null;let i=null;if(i=t.get&&"function"===typeof t.get?t.get("name")||t.name||t.attributes&&t.attributes.name:t.name||t.attributes&&t.attributes.name||("string"===typeof t?t:null),!i)return console.log("[ExerciceList] No name found in game_type for exercise:",e.id),null;const s=(0,j.vu)(i);return console.log("[ExerciceList] Game resolution:",{exerciseId:e.id,exerciseName:e.fileName||e.name,gameTypeName:i,resolvedKey:s,isNativeGame:!!s,willLoadWith:s?"MonitorageJeux (Native Three.js)":"JeuUnityComponent (Unity WebGL)"}),s}catch(t){return console.error("[ExerciceList] Error resolving game key:",t),null}},getCurrentUserId(){const e=a().User.current();return e&&e.id?e.id:""},getRandomSuccessMessageByType(e){const t={default:["🎉 Super travail ! Votre exercice est enregistré !","🏆 Bravo ! Vous avez complété cet exercice avec succès !","🚀 Bien joué ! Votre progression est sauvegardée !","🌟 Exercice terminé, continuez comme ça !"],audio:["🎧 Bravo pour avoir tout écouté !","🎶 Bien joué, audio terminé et enregistré !","👏 Vous avez écouté jusqu'au bout, c'est enregistré !"],video:["🎬 Super ! Vidéo complétée avec succès !","🍿 Bien joué, vous avez terminé la vidéo !","🎥 Votre visionnage est sauvegardé, continuez ainsi !"],questionnaire:["📝 Félicitations, questionnaire complété !","✅ Toutes vos réponses sont bien enregistrées !","🎯 Questionnaire validé, bon travail !"],game:["🎮 Excellent, vous avez fini le jeu !","🏁 Jeu terminé, super score !","🚀 Bravo, le jeu est enregistré avec succès !"]},i=t[e]||t.default,s=Math.floor(Math.random()*i.length);return i[s]},isLastExercise(e){const t=this.exercises[this.exercises.length-1];return t&&t.id===e},openNextExercise(e){const t=this.exercises.findIndex(t=>t.id===e);if(-1!==t&&t+1<this.exercises.length){const e=this.exercises[t+1];if(!this.isExerciseLocked(e,t+1))return this.openedExercise=e.id,void this.$nextTick(()=>this.scrollToOpenedExercise())}this.openedExercise=null},scrollToOpenedExercise(){this.$nextTick(()=>{const e=document.querySelector(".exercise-content");e&&this.scrollToElement(e,"exercise")})}
1,scrollToElement(e,t="default"){if(!e)return;const i=document.querySelector(".content-container.overflow-y-auto");if(i){const s=i.getBoundingClientRect(),o=e.getBoundingClientRect(),r=o.top-s.top+i.scrollTop;let n=r,a=0;switch(t){case"program":a=15;break;case"exercise":a=100;break;case"resource":a=50;break;default:a=10}const l=100;r+a<l&&(a=l-r),n=r-a,n=Math.max(0,n),i.scrollTo({top:n,behavior:"smooth"})}},toggleExercise(e,t,i){this.isExerciseLocked(t,i)?g().fire({title:"Exercice verrouillé",text:"Vous devez compléter l'exercice précédent avant de pouvoir accéder à celui-ci.",icon:"warning",confirmButtonColor:"#239380"}):this.openedExercise===e?this.openedExercise=null:(this.openedExercise=e,setTimeout(()=>{this.scrollToOpenedExercise()},100))},upgradeAccount(){this.IsLimited=!1,this.$emit("upgrade-requested")},hasGameInCompositeFile(e){return e.composite_file&&e.composite_file.jeux&&e.composite_file.jeux.objectId},getDisplayTitle(e){if(!e)return"";if(void 0!==e.fileSubName&&""!==e.fileSubName&&null!==e.fileSubName)return e.fileSubName;if(void 0!==e.fileName&&""!==e.fileName&&null!==e.fileName)return e.fileName;if(e.composite_file){if(e.composite_file.get("moduleExpert")&&e.composite_file.get("moduleExpert").get("name"))return e.composite_file.get("moduleExpert").get("name");if(e.composite_file.get("jeux")&&e.composite_file.get("jeux").get("name"))return e.composite_file.get("jeux").get("name");if(e.composite_file.get("long_file")&&e.composite_file.get("long_file").get("name"))return e.composite_file.get("long_file").get("sub_name");if(e.composite_file.get("short_file")&&e.composite_file.get("short_file").get("sub_name"))return e.composite_file.get("short_file").get("sub_name")}return""},MoniteurFinished(e){this.$emit("MoniteurFinished",e),this.openedExercise=null,this.toggleSeance(this.openedSeance,this.currentProgramLinks.find(e=>e.id===this.openedSeance))},async GameFinished(e){var t=JSON.stringify(e);const i=this.openedExercise;this.openedExercise=null;try{const s=this.exercises.find(e=>e.id===i);if(!s)throw new Error("Impossible de trouver l'exercice courant");const o={idProtocol:this.idProtocol,SeanceSelected:this.idSeance,fileId:s.fileId,IdLink:e.idLink||"",idPatientTherapeute:this.$IdPatient||this.getCurrentUserId()||"",elapsedTime:Math.floor((new Date-this.startTime)/1e3),note:0,resultat:t,typeExercice:"Jeu"},r=await a().Cloud.run("saveExo",o);this.$emit("exercise-completed",{exerciseId:s.id,result:r});const n=this.exercises.findIndex(e=>e.id===s.id);-1!==n&&(this.exercises[n].exerciseStatus.isCompleted=!0);const l=g().mixin({toast:!0,position:"bottom-end",showConfirmButton:!1,timer:6e3,timerProgressBar:!0,didOpen:e=>{e.addEventListener("mouseenter",g().stopTimer),e.addEventListener("mouseleave",g().resumeTimer)}});l.fire({icon:"success",title:this.getRandomSuccessMessageByType("game")}),this.isLastExercise(s.id)&&!this.$Therapeute&&(this.showContactPopUp=!0),this.openNextExercise(s.id),this.startTime=new Date}catch(s){const e=g().mixin({toast:!0,position:"bottom-end",showConfirmButton:!1,timer:6e3,timerProgressBar:!0,didOpen:e=>{e.addEventListener("mouseenter",g().stopTimer),e.addEventListener("mouseleave",g().resumeTimer)}});e.fire({icon:"error",title:"Une erreur est survenue lors de la sauvegarde"}),this.openNextExercise(i),this.startTime=new Date}},formatDate(e){return new Date(e).toLocaleDateString()},async handleVideoEnded(e){try{const t=this.exercises.find(e=>e.id===this.openedExercise),i={idProtocol:this.idProtocol,SeanceSelected:this.idSeance,fileId:t.fileId,IdLink:e.id,note:0,idPatientTherapeute:this.$IdPatient||this.getCurrentUserId()||"",elapsedTime:Math.floor((new Date-this.startTime)/1e3),typeExercice:"AudioVideo"},s=await a().Cloud.run("saveExo",i);this.$emit("exercise-completed",{exerciseId:t.id,result:s});const o=this.exercises.findIndex(e=>e.id===t.id);-1!==o&&(this.exercises[o].exerciseStatus.isCompleted=!0);const r=g().mixin({toast:!0,position:"bottom-end",showConfirmButton:!1,timer:6e3,timerProgressBar:!0,didOpen:e=>{e.addEventListener("mouseenter",g().stopTimer),e.addEventListener("mouseleave",g().resumeTimer)}});r.fire({icon:"success",title:this.getRandomSuccessMessageByType("video")}
1),this.isLastExercise(t.id)&&!this.$Therapeute&&(this.showContactPopUp=!0),this.openNextExercise(t.id),this.startTime=new Date}catch(t){const e=g().mixin({toast:!0,position:"bottom-end",showConfirmButton:!1,timer:6e3,timerProgressBar:!0,didOpen:e=>{e.addEventListener("mouseenter",g().stopTimer),e.addEventListener("mouseleave",g().resumeTimer)}});e.fire({icon:"error",title:"Une erreur est survenue lors de la sauvegarde"}),this.openNextExercise(this.openedExercise),this.startTime=new Date}},formatDuration(e){if(!e)return"0 min";const t=Math.floor(e/60),i=e%60;return 0===t?`${i} sec`:0===i?1===t?"1 min":`${t} mins`:`${t} min ${i} sec`},async handleAudioEnded(e){try{const t=this.exercises.find(e=>e.id===this.openedExercise),i={idProtocol:this.idProtocol,SeanceSelected:this.idSeance,fileId:t.fileId,IdLink:e.id,note:100,idPatientTherapeute:this.$IdPatient||this.getCurrentUserId()||"",elapsedTime:Math.floor((new Date-this.startTime)/1e3),typeExercice:"AudioVideo",nomfichieraudio:e.nomfichieraudio},s=await a().Cloud.run("saveExo",i);this.$emit("exercise-completed",{exerciseId:t.id,result:s});const o=this.exercises.findIndex(e=>e.id===t.id);-1!==o&&(this.exercises[o].exerciseStatus.isCompleted=!0);const r=g().mixin({toast:!0,position:"bottom-end",showConfirmButton:!1,timer:6e3,timerProgressBar:!0,didOpen:e=>{e.addEventListener("mouseenter",g().stopTimer),e.addEventListener("mouseleave",g().resumeTimer)}});r.fire({icon:"success",title:this.getRandomSuccessMessageByType("audio")}),this.isLastExercise(t.id)&&!this.$Therapeute&&(this.showContactPopUp=!0),this.openNextExercise(t.id),this.startTime=new Date}catch(t){const e=g().mixin({toast:!0,position:"bottom-end",showConfirmButton:!1,timer:6e3,timerProgressBar:!0,didOpen:e=>{e.addEventListener("mouseenter",g().stopTimer),e.addEventListener("mouseleave",g().resumeTimer)}});e.fire({icon:"error",title:"Une erreur est survenue lors de la sauvegarde"}),this.openNextExercise(this.openedExercise),this.startTime=new Date}},async handleSaveQCM(e){try{const t=e.reduce((e,t)=>e+t.note,0),i=this.exercises.find(e=>e.id===this.openedExercise),s={idProtocol:this.idProtocol,SeanceSelected:this.idSeance,fileId:i.fileId,IdLink:i.questionnaire.id,note:t,idPatientTherapeute:this.$IdPatient||this.getCurrentUserId()||"",elapsedTime:Math.floor((new Date-this.startTime)/1e3),answers:e,typeExercice:"Questionnaire"},o=await a().Cloud.run("saveExo",s);this.$emit("exercise-completed",{exerciseId:i.id,result:o});const r=this.exercises.findIndex(e=>e.id===i.id);-1!==r&&(this.exercises[r].exerciseStatus.isCompleted=!0);const n=g().mixin({toast:!0,position:"bottom-end",showConfirmButton:!1,timer:6e3,timerProgressBar:!0,didOpen:e=>{e.addEventListener("mouseenter",g().stopTimer),e.addEventListener("mouseleave",g().resumeTimer)}});n.fire({icon:"success",title:this.getRandomSuccessMessageByType("questionnaire")}),this.isLastExercise(i.id)&&!this.$Therapeute&&(this.showContactPopUp=!0),this.openNextExercise(i.id),this.startTime=new Date}catch(t){const e=g().mixin({toast:!0,position:"bottom-end",showConfirmButton:!1,timer:6e3,timerProgressBar:!0,didOpen:e=>{e.addEventListener("mouseenter",g().stopTimer),e.addEventListener("mouseleave",g().resumeTimer)}});e.fire({icon:"error",title:"Une erreur est survenue lors de la sauvegarde du questionnaire"}),this.openNextExercise(this.openedExercise),this.startTime=new Date}}}},V=Q,G=i(81656),J=(0,G.A)(V,I,L,!1,null,"739b754d",null),W=J.exports,H=i(14664),z=i(86732),K={name:"SeanceList",props:{links:{type:Array,required:!0,default:()=>[]},idProtocol:{type:String,required:!0},idSeanceLatestExo:{type:String}},components:{ExerciceList:W,programSelector:k.A},data(){return{openedSeance:null,exercises:null,selectedProgram:"short",notifiedSessions:{},isCheckingCompletions:!1,checkDebounceTimer:null}},computed:{currentProgramLinks(){return"short"===this.selectedProgram?this.links[0]?.links||[]:this.links[1]?.links||[]}},created(){console.log("Liens:",this.links),this.loadNotifiedSessions()},mounted(){this.idSeanceLatestExo&&this.links.length>0&&this.$nextTick(()=>{this.ouvrirSeanceAutomatic(this.idSeanceLatestExo)})},watch:{idSeanceLatestExo:{immediate:!0,handler(e){e&&this.ouvrirSeanceAutomatic(e)}},links:{immediate:!0,deep:!0,handler(){this.idSeanceLatestExo&&this.links.length>0&&this.ouvrirSeanceAutomatic(this.idSeanceLatestExo)}},currentProgramLinks:{deep:!0,handler(){}}},methods:{loadNotifiedSessions(){try{const e=localStorage.getItem(`notifiedSessions_${this.idProtocol}`);e&&(this.notifiedSessions=JSON.parse(e))}catch(e){console.error("Erreur lors du chargement des sessions notifiées:",e),this.notifiedSessions={}}},saveNotifiedSessions(){try{localStorage.setItem(`notifiedSessions_${this.idProtocol}`,JSON.stringify(this.notifiedSessions))}catch(e){console.error("Erreur lors de la sauvegarde des sessions notifiées:",e)}},checkCompletedSessions(){clearTimeout(this.checkDebounceTimer),this.checkDebounceTimer=setTimeout(()=>{this.doCheckCompletedSessions()},500)},doCheckCompletedSessions(){if(this.isCheckingCompletions)return;this.isCheckingCompletions=!0;const e=Date.now(),t=864e5;let i=!1;this.currentProgramLinks.forEach((s,o)=>
1{if(i)return;const r=100===s.sessionStatus?.completionPercentage||s.sessionStatus?.isCompleted,n=this.notifiedSessions[s.id],a=n?e-new Date(n).getTime():1/0,l=r&&a>t;l&&(console.log(`Séance ${s.folderName} complétée (notification autorisée)`),this.sendCompletionNotification(s,o),i=!0)}),setTimeout(()=>{this.isCheckingCompletions=!1},1e3)},async sendCompletionNotification(e,t){try{const i=a().User.current();if(!i)return void console.error("Aucun utilisateur connecté");const s={destinataire:i.get("email"),nomUtilisateur:i.get("username")||i.get("firstName")||"Utilisateur",nomPro:i.get("coachName")||"Coach inconnu",nomTherapeute:i.get("coachName")||"Coach inconnu",nomBrique:this.links[0].folderName||"Programme",nomProtocole:"short"===this.selectedProgram?"Programme court":"Programme long",nomModule:e.folderName,nomProchainModule:this.getNextSessionName(t),visuelProtocole:e.visuelProtocole||"",visuelModule:e.visuelModule||"",visuelProchainModule:this.getNextSessionVisual(t+1)},o=await a().Cloud.run("moduleTermine",s);console.log("Email de complétion envoyé:",o),await(0,H.U)({type:"Séance terminée",description:`Vous avez terminé la séance "${s.nomModule}".`,description_pro:`Séance terminé : "${s.nomModule}" (${s.nomProtocole} du programme ${s.nomBrique}).`,showToast:!0,vueInstance:this,visibility:"therapist"}),this.notifiedSessions[e.id]=(new Date).toISOString(),this.saveNotifiedSessions(),this.$emit("session-completed",{sessionId:e.id,sessionName:e.folderName,emailSent:!0})}catch(i){console.error("Erreur lors de l'envoi de la notification:",i)}},checkCurrentSessionCompletionOnly(){if(!this.openedSeance)return;const e=this.currentProgramLinks.find(e=>e.id===this.openedSeance);if(!e)return;const t=100===e.sessionStatus?.completionPercentage||e.sessionStatus?.isCompleted,i=this.notifiedSessions[e.id],s=864e5,o=Date.now(),r=i?o-new Date(i).getTime():1/0,n=t&&r>s;n&&(console.log(`Séance ${e.folderName} complétée (notification autorisée)`),this.sendCompletionNotification(e,this.currentProgramLinks.findIndex(t=>t.id===e.id)))},getNextSessionVisual(e){const t=this.currentProgramLinks[e];return t&&t.visuelModule?t.visuelModule:""},getNextSessionName(e){const t=this.currentProgramLinks[e+1];return t?t.folderName:"Fin du programme"},scrollToOpenedSeance(){this.$nextTick(()=>{setTimeout(()=>{const e=document.querySelector(".session-content.is-open");e&&this.scrollToElement(e,"program")},300)})},scrollToElement(e,t="default"){if(!e)return;const i=document.querySelector(".content-container.overflow-y-auto");if(i){let s=0;"program"===t?s=15:"resource"===t&&(s=50);const o=120,r=e.getBoundingClientRect();window.scrollTo({top:Math.max(0,r.top+window.scrollY-s-o),behavior:"smooth"});const n=i.getBoundingClientRect(),a=r.top-n.top+i.scrollTop;i.scrollTo({top:Math.max(0,a-s-o),behavior:"smooth"})}},handleProgramChange(e){this.selectedProgram=e,this.openedSeance=null,this.exercises=null},upgradeAccount(){console.log("Demande de mise à niveau"),this.$emit("upgrade-requested")},ouvrirSeanceAutomatic(e){let t=null,i="";this.links[0]?.links&&(t=this.links[0].links.find(t=>t.id===e),t&&(i="short")),!t&&this.links[1]?.links&&(t=this.links[1].links.find(t=>t.id===e),t&&(i="long")),t&&(i!==this.selectedProgram&&(this.selectedProgram=i),this.$nextTick(()=>{t.isLocked||(this.openedSeance=e,this.exercises=t.files,setTimeout(()=>{this.scrollToOpenedSeance()},500))}))},GameFinished(){this.$emit("GameFinished"),this.toggleSeance(this.openedSeance,this.currentProgramLinks.find(e=>e.id===this.openedSeance))},MoniteurFinished(){this.$emit("MoniteurFinished"),this.toggleSeance(this.openedSeance,this.currentProgramLinks.find(e=>e.id===this.openedSeance))},toggleSeance(e,t){this.openedSeance===e?(this.openedSeance=null,this.exercises=null):(this.openedSeance=e,console.log("Seance récupéré:",t),this.exercises=t.files,setTimeout(()=>{this.scrollToOpenedSeance()},300))},execiseCompleted(e,t){this.$emit("execiseCompleted",this.idProtocol),this.$nextTick(()=>{this.checkCurrentSessionCompletionOnly()})}},beforeDestroy(){this.checkDebounceTimer&&clearTimeout(this.checkDebounceTimer)}},Y=K,X=(0,G.A)(Y,T,w,!1,null,"c62bc340",null),Z=X.exports,ee=function(){var e=this,t=e._self._c;return t("transition",{attrs:{name:"fade"}},[e.isVisible?t("div",{staticClass:"resume-popup"},[t("div",{staticClass:"resume-popup__content"},[e.autoHideEnabled?t("div",{staticClass:"resume-popup__progress-bar"},[t("div",{staticClass:"resume-popup__progress",style:{width:`${e.progressPercent}%`}}
1)]):e._e(),t("div",{staticClass:"resume-popup__icon"},[t("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}},[t("path",{attrs:{d:"M12 8v4l3 3"}}),t("circle",{attrs:{cx:"12",cy:"12",r:"10"}})])]),t("div",{staticClass:"resume-popup__text"},[t("h3",[e._v("Reprendre votre progression")]),t("p",[e._v("Vous avez un exercice en cours. Souhaitez-vous continuer où vous vous êtes arrêté ?")]),e.latestExoInfo?t("div",{staticClass:"resume-popup__info"},[t("span",[e._v(e._s(e.latestExoInfo.title))]),t("span",{staticClass:"resume-popup__date"},[e._v(e._s(e.formatDate(e.latestExoInfo.timestamp)))])]):e._e()]),t("div",{staticClass:"resume-popup__actions"},[t("button",{staticClass:"resume-popup__btn resume-popup__btn--primary",on:{click:e.resumeExercise}},[e._v(" Reprendre ")]),t("button",{staticClass:"resume-popup__btn resume-popup__btn--secondary",on:{click:e.dismissPopup}},[e._v(" Non merci ")])]),t("button",{staticClass:"resume-popup__close",on:{click:e.dismissPopup}},[t("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}},[t("line",{attrs:{x1:"18",y1:"6",x2:"6",y2:"18"}}),t("line",{attrs:{x1:"6",y1:"6",x2:"18",y2:"18"}})])])])]):e._e()])},te=[],ie={name:"ResumePopup",props:{latestExoInfo:{type:Object,default:null},autoHideDelay:{type:Number,default:1e4},autoHideEnabled:{type:Boolean,default:!0}},data(){return{isVisible:!0,autoHideTimer:null,progressPercent:100,progressInterval:null}},created(){this.latestExoInfo||this.$emit("getLatestExo")},mounted(){this.startAutoHideTimer();const e=this.$el;e&&(e.addEventListener("mouseenter",this.pauseTimers),e.addEventListener("mouseleave",this.resumeTimers),e.addEventListener("touchstart",this.pauseTimers),e.addEventListener("touchend",this.resumeTimers))},beforeDestroy(){this.clearTimers();const e=this.$el;e&&(e.removeEventListener("mouseenter",this.pauseTimers),e.removeEventListener("mouseleave",this.resumeTimers),e.removeEventListener("touchstart",this.pauseTimers),e.removeEventListener("touchend",this.resumeTimers))},methods:{startAutoHideTimer(){if(!this.autoHideEnabled)return;this.clearTimers();const e=50,t=this.autoHideDelay/e,i=100/t;this.progressPercent=100,this.progressInterval=setInterval(()=>{this.progressPercent=Math.max(0,this.progressPercent-i)},e),this.autoHideTimer=setTimeout(()=>{this.dismissPopup(!0)},this.autoHideDelay)},resumeExercise(){this.$emit("resumeLastExercise"),this.dismissPopup()},pauseTimers(){clearInterval(this.progressInterval),clearTimeout(this.autoHideTimer)},resumeTimers(){const e=this.progressPercent/100*this.autoHideDelay;if(e>0&&this.autoHideEnabled){const t=50,i=e/t,s=this.progressPercent/i;this.progressInterval=setInterval(()=>{this.progressPercent=Math.max(0,this.progressPercent-s)},t),this.autoHideTimer=setTimeout(()=>{this.dismissPopup(!0)},e)}},clearTimers(){clearInterval(this.progressInterval),clearTimeout(this.autoHideTimer)},dismissPopup(e=!1){this.isVisible=!1,this.clearTimers(),e||localStorage.setItem("resumePopupDismissed",Date.now()),this.$emit("close",{automatic:e})},formatDate(e){if(!e)return"";const t=new Date(e),i=new Date,s=i-t,o=Math.floor(s/6e4),r=Math.floor(s/36e5),n=Math.floor(s/864e5);return o<60?`Il y a ${o} minute${o>1?"s":""}`:r<24?`Il y a ${r} heure${r>1?"s":""}`:`Il y a ${n} jour${n>1?"s":""}`}}},se=ie,oe=(0,G.A)(se,ee,te,!1,null,"0a887a8a",null),re=oe.exports,ne=function(){var e=this,t=e._self._c;return e.affichageText?t("div",{staticClass:"infoBox activeState"},[e._m(0)]):t("div",{staticClass:"infoBox"},[e._m(1)])},ae=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"flexWrapper"},[t("div",{staticClass:"textContent"},[t("p",[e._v("Introduction")])]),t("div",{staticClass:"iconContent"},[t("img",{staticClass:"toggleArrow activeArrow",attrs:{src:i(45957)}})])])},function(){var e=this,t=e._self._c;return t("div",{staticClass:"flexWrapper"},[t("div",{staticClass:"textContent"},[t("p",[e._v("Introduction")])]),t("div",{staticClass:"iconContent"},[t("img",{staticClass:"toggleArrow",attrs:{src:i(33551)}})])])}],le={name:"IntroductionComponent",props:{affichageText:Boolean},methods:{}},ce=le,ue=(0,G.A)(ce,ne,ae,!1,null,"93e2177c",null),de=ue.exports,he=function(){var e=this,t=e._self._c;return t("div",{staticClass:"button-protocol-container"},[e.loading?t("div",{staticClass:"loader"}):e.isValidProtocol?t("div",{staticClass:"button-protocol"},[e.canShowShortProgram&&e.DisplayCourtButton?t("button",{key:"short",staticClass:"button-prog",class:[{"button-prog--active":e.isExercicecourt},{"button-prog--disabled":e.loading}],attrs:{disabled:e.loading},on:{click:e.handleShortProgram}},[t("span",{staticClass:"button-prog__text"}
1,[e._v("Programme Court")])]):e._e(),e.canShowLongProgram&&e.DisplayLongButton?t("button",{key:"long",staticClass:"button-prog",class:[{"button-prog--active":e.isExercicelong},{"button-prog--disabled":e.loading}],attrs:{disabled:e.loading},on:{click:e.handleLongProgram}},[t("span",{staticClass:"button-prog__text"},[e._v("Programme Long")])]):e._e()]):e._e()])},me=[],pe={name:"ProgramButtons",props:{idProtocol:{type:String,required:!0},folderBriqueRecup:{type:Object,required:!0},linkedFilePatient:{type:Array,default:()=>[]},isExercicecourt:{type:Boolean,default:!1},isExercicelong:{type:Boolean,default:!1},idPatientTherapeute:{type:String,default:""}},data(){return{DisplayCourtButton:!0,DisplayLongButton:!0,idToButton:null,loading:!0,error:null}},methods:{getCookie(e){const t=`; ${document.cookie}`,i=t.split(`; ${e}=`);return 2===i.length?i.pop().split(";").shift():null},handleShortProgram(){this.loading||this.$emit("showExerciceCourt")},handleLongProgram(){this.loading||this.$emit("showExerciceLong")},async findWhatProgramme(){this.loading=!0,this.error=null;try{if(this.idToButton=this.getCookie("idUserForSave")||this.idPatientTherapeute||z.Parse.User.current().id,!this.idToButton)throw new Error("ID utilisateur non trouvé");const e=await z.Parse.Cloud.run("findWhatProgramme",{userId:this.idToButton,protocoles:this.folderBriqueRecup.protocoles});this.DisplayCourtButton=e.displayCourtButton,this.DisplayLongButton=e.displayLongButton,e.shouldShowExerciceLong&&this.$emit("showExerciceLong")}catch(e){console.error("Erreur lors de la recherche des programmes:",e),this.error=e.message}finally{this.loading=!1}}},created(){this.findWhatProgramme()},computed:{isValidProtocol(){const e=["VOrYKcDSo0","4ydeuBgcuu","Ei2QLEat9q","6UrWEHmx2k"];return!e.includes(this.idProtocol)},canShowShortProgram(){const{protocoles:e}=this.folderBriqueRecup||{},t=e?.[1]?.deverrouille;return!!t&&(!this.linkedFilePatient?.length||this.linkedFilePatient.some(e=>e.id===this.folderBriqueRecup.id&&e.court))},canShowLongProgram(){const{protocoles:e}=this.folderBriqueRecup||{},t=e?.[2]?.deverrouille;return!!t&&(!this.linkedFilePatient?.length||this.linkedFilePatient.some(e=>e.id===this.folderBriqueRecup.id&&e.long))}}},ge=pe,fe=(0,G.A)(ge,he,me,!1,null,"d9d56638",null),ve=fe.exports,xe=function(){var e=this,t=e._self._c;return t("div",{staticClass:"video-container-introduction"},[t("div",{staticClass:"video-wrapper"},[t("div",{staticClass:"video-player-introduction"},[t("video",{key:e.uniqueKey,ref:"videoPlayer",attrs:{controls:""}},[t("source",{attrs:{src:e.currentVideo,type:"video/mp4"}})])]),t("div",{staticClass:"video-playlist-introduction"},e._l(e.filteredVideos,function(s,o){return t("div",{key:o,on:{click:function(t){return e.selectVideo(s)}}},[t("img",{class:{"selected-video":s.sources[0].src===e.currentVideo},attrs:{src:i(2022)}}),t("span",[e._v(e._s(s.name))])])}),0)])])},ye=[],Se={props:{uniqueKey:Number,currentVideo:String,videosBrique:Array},methods:{selectVideo(e){this.$emit("select-video",e)}},computed:{filteredVideos(){return this.videosBrique.filter(e=>""!==e.name)}}},Ce=Se,Ee=(0,G.A)(Ce,xe,ye,!1,null,null,null),_e=Ee.exports,Pe=function(){var e=this,t=e._self._c;return t("div",{staticClass:"DivButtonGraph"},[t("button",{staticClass:"ButtonGraph",on:{click:function(t){return e.toggleChartAverageCC(e.idBrique)}}},[e._v(" Afficher le graphique d'avancement "),t("i",{class:["fas",e.displayChartAverageCC?"fa-chevron-up":"fa-chevron-down"]})])])},be=[],Te={data(){return{displayChartAverageCC:!1}},props:{idBrique:{type:String,required:!0}},methods:{toggleChartAverageCC(e){console.log("idBrique",e),this.displayChartAverageCC=!this.displayChartAverageCC,this.displayChartAverageCC&&this.getData(e)},async getData(e){try{console.log("getData",e);const i=a().User.current();if(!i)throw new Error("No current user found");console.log("Current User ID",i.id);const[s,o]=await Promise.all([new(a().Query)(a().User).get(i.id),new(a().Query)("folder").equalTo("objectId",e).first()]);if(console.log("User Result",s),console.log("Folder Result",o),!o)throw new Error("Folder not found");const r=new(a().Query)("link").equalTo("parent_folder",o);r.equalTo("order",2);const n=await r.first();console.log("Link Result",n);const l=new(a().Query)("link").equalTo("parent_folder",n.attributes.folder);l.include("folder");const c=await l.find();console.log("File Result",c);const u=c.filter(e=>!e.attributes.folder.attributes.VisibleFront);console.log("File Result Filtered",u);var t=[];for(let e=0;e<u.length;e++){const i=new(a().Query)("link").equalTo("parent_folder",u[e].attributes.folder),s=await i.find();console.log("File Result",s);for(let e=0;e<s.length;e++)t.push(s[e])}console.log("Files",t);const d=new(a().Query)("file_done").equalTo("user",s).equalTo("brique",o),h=await d.find();console.log("File Done Result",h)}catch(i){console.error("Error fetching data",i)}}}},we=Te,ke=(0,G.A)(we,Pe,be,!1,null,"3a7ed2d5",null),Ie=ke.exports,Le=i(13245);const Fe=(0,c.$t)("user");var qe={name:"folders",props:["foldersBrique","isPageUser","isPageSessionGroup","themes","idPatientTherapeute","ParamJeuGuidee","SeanceSelectedUrl","LinksOfUser"],watch:{LinksOfUser:{handler(e){console.log("LinksOfUser changed:",e),this.keyCarousel++,this.handleRecupId(null)},immediate:!0,deep:!0}},data(){return{currentVideo:"",loadingSeance:!1,keyCarousel:0,videosBrique:[],buttonDisabled:!1,timerButtonTerminer:null,descriptionSelected:"",moduleRecup:[],isDisplay:!1,isExercicecourt:!0,isExercicelong:!1,affichageText:!1,imgArrow:null,idProtocol:"",IntroSelected:"",idBriqueSelected:"",SeanceSelected:null,idFile:null,Active:!1,element:[],isAndroid:!1,tableau:[],number:0,isButtonClicked:!1,element_link:[],tableau_link:[],tableau_folder:[],element_folder:[],answersQuestionnaire:[],fileRecup:"",showExercices:!1,idExerciceRecup:"",showIntroExercice:!1,testReload:!1,numberExercice:1,element_folder2
1:[],element_link2:[],element_file2:[],element_questionnaire2:[],element_answer2:[],element2:[],element_game2:[],tableau_folder2:[],tableau_link2:[],tableau_file2:[],tableau_questionnaire2:[],tableau2:[],tableau_answer2:[],tableau_game2:[],tableau_file_done2:[],element_file_done2:[],filteredFolderBrique:[],Questionnaire:"",IdLink:"",presentation:!0,question:!1,numberExercice:1,checked:!1,picked:0,resultatQCM:!1,resultat:0,descriptionPro:null,DisplayResult:!1,audioURL:"https://archive.org/download/BigBuckBunny_124/Content/big_buck_bunny_720p_surround.mp4",titleAudio:"",sourceAudio:"",timerAudio:"",titleVideo:"",sourceVideo:"",Version:"",Difficulte:"",Distance:"",Timer:"",pcm:"",Flux:"",Parametre:"",Musique:"",arrayModification:[],Capteur:"",Guide:"",Expi:"",Inspi:"",avecCapteur:!1,avecGuide:!1,flux:"",pcm:"",temps:"",avecParametres:"",element_user:[],tableau_user:[],element_gameType:[],fileDoneTest:"",filesLink:[],moduleRecupAffichage:[],loading:!1,loading2:!1,showNotification:!1,progressWidth:0,intervalId:null,isCourtClicked:!1,answers:[],isLongClicked:!1,startTime:null,intervalId:null,elapsedTime:0,fileDoneQuestionnaire:[],tableauFileDoneQuestionnaire:[],noteQuestionnaire:0,dateQuestionnaire:"",Questionnairedate:null,QuestionnaireCompleted:!0,element_user_local:[],user_local:"",linkedObjectPatient:[],linkedFilePatient:[],isFullPage:!0,isDisplayProgrammes:"",ResultatJeux:"",GameFinish:"",isDisplayFolderBrique:!1,folderBriqueRecup:[],exerciseStartTime:null,isLoading:!1,isFullPage:!1,idUserForSave:null,nameQuestionnaire:"",categoryScores:{},VideoFoldersBrique:null,UserForRelecture:"",UtilisateurEnCours:"",UserSelected:"",folders_for_relecture:[],ouvertureSuiviCcUtilisateur:"",uniqueKey:0,showModalSubscription:!1,indexPopUpAbonnement:0,lastExercice:null,folderBriqueObject:null,ExerciceLongVideo:!1,resultatQCM_Object:[],abonnementFinish:!1,isTherapeute:!1,firstGameChoose:null,secondGameChoose:null,KeyButton:0,SeanceSelectedObject:null,DisplayEval:!1,links:0,idBrique:null,folderBriqueSelected:null,idSeanceLatestExo:null,hasLatestExercise:!1,notifiedPrograms:{}}},computed:{...Fe.mapGetters(["user","group","folders"]),themesFolders(){return console.log("%c THEMES FOLDERS:","color: red; font-weight: bold",this.foldersBrique,this.themes),this.foldersBrique.filter(e=>e.themes.length<2?e.themes[0].objectId===this.themes[0].id:e.themes[0].objectId===this.themes[0].id||e.themes[1].objectId===this.themes[0].id)},affichagePatientBloc(){return this.idPatientTherapeute||!this.user.therapeute||this.idUserForSave||this.$IdPatient}},beforeDestroy(){clearTimeout(this.timerButtonTerminer)},components:{JeuUnityComponentVue2:()=>Promise.resolve().then(i.bind(i,94905)),subscriptionPopUp:S.A,CarouselFolders:f.A,IntroductionComponent:de,ButtonProtocol:ve,VideoIntroduction:_e,popUpEval:Le["default"],graphiqueAvancement:Ie,SeanceList:Z,getLatestExo:re},methods:{loadNotifiedPrograms(){try{const e=localStorage.getItem(`notifiedPrograms_${this.idProtocol}`);e&&(this.notifiedPrograms=JSON.parse(e))}catch(e){console.error("Erreur lors du chargement des programmes notifiés:",e),this.notifiedPrograms={}}},saveNotifiedPrograms(){try{localStorage.setItem(`notifiedPrograms_${this.idProtocol}`,JSON.stringify(this.notifiedPrograms))}catch(e){console.error("Erreur lors de la sauvegarde des programmes notifiés:",e)}},checkCompletedProgram(){const e=this.links[0]?.links?.every(e=>e.sessionStatus.isCompleted),t=this.idProtocol,i=Date.now(),s=864e5,o=this.notifiedPrograms?.[t],r=o?i-new Date(o).getTime():1/0;e&&r>s&&(this.sendProgramCompletionNotification(),this.notifiedPrograms[t]=(new Date).toISOString(),this.saveNotifiedPrograms())},async sendProgramCompletionNotification(){try{const e=a().User.current();if(!e)return void console.error("Aucun utilisateur connecté");const t={destinataire:e.get("email"),nomUtilisateur:e.get("username")||e.get("firstName")||"Utilisateur",nomPro:e.get("coachName")||"Coach inconnu",nomBrique:this.links[0].folderName||"Programme",nomProtocole:"short"===this.selectedProgram?"Programme court":"Programme long",visuelProtocole:this.folderBriqueRecup?.visuelProtocole||""},i=await a().Cloud.run("protocoleTermine",t);console.log("Email de complétion de programme envoyé:",i),await(0,H.U)({type:"Fin de programme",description:`Félicitations ! Vous avez terminé le programme "${t.nomBrique}".`,description_pro:`Votre patient a terminé le programme "${t.nomBrique}".`,showToast:!0,vueInstance:this,visibility:"therapist"})}catch(e){console.error("Erreur lors de l'envoi de la notification de fin de programme:",e)}},...Fe.mapActions({actionsLogOut:"logOut",resetPassword:"resetPassword"}),handleProgramClick(e){console.log("Programme cliqué dans ProtocolFoldersNew:",e),this.$emit("program-click",e)},addKey(){this.keyCarousel++},upgradeAccount(){console.log("Upgrade account protocolFolders2"),this.$emit("upgrade-requested")},closeModal(){console.log("Close modal protocolFolders2"),this.DisplayEval
1=!1},linkUser(e){this.$emit("linkUser",e)},isLoadingActivitySpace(e){this.$emit("isLoadingActivitySpace",e)},async refreshProtocol(e){await this.handleRecupId(this.folderBriqueSelected)},async verifyToken(){var e=localStorage.getItem("token"),t=parseInt(localStorage.getItem("dateConnexion"),10),i=await(0,C.d)(e);Date.now()-t>432e5&&(localStorage.removeItem("token"),localStorage.removeItem("idUserForSave"),a().User.logOut(),setTimeout(()=>{E.A.push("/connexion")},1e3)),0==i&&(localStorage.removeItem("token"),a().User.logOut(),setTimeout(()=>{E.A.push("/connexion")},1e3))},async handleInvalidToken(){localStorage.removeItem("token"),localStorage.removeItem("idUserForSave"),await a().User.logOut(),setTimeout(()=>{E.A.push("/connexion")},1e3)},handleCloseAudio(){this.recupIdExercice(null,null)},verifAbonnement(){var e=a().User.current(),t=e.get("group").get("type_abonnement"),i=e.get("group").get("subscription_end_date"),s=new Date;this.abonnementFinish="gratuit"===t&&i<s},handleRecupIdLink(e){this.recupIdLink(e)},async handleRecupId(e){if(this.KeyButton++,this.folderBriqueSelected=e,console.log("folderbrique: ",e),!e)return console.log("folderbrique est nul, réinitialisation..."),this.idBrique=null,void(this.links=[]);this.loadingSeance=!0,this.idBrique=e.id;try{this.$IdPatient?(console.log("IdPatient utilisé",this.$IdPatient),this.links=await P.A.getLinksForFolder(e,this.$IdPatient,"Programmes")):(console.log("idTherapeute utilisé",a().User.current().id),this.links=await P.A.getLinksForFolder(e,a().User.current().id,"Programmes")),console.log("Résultat de RecupId:",this.links),this.ProgramIsDone()}catch(t){console.error("Erreur lors de la récupération des liens:",t)}finally{console.log("Fin de la récupération des liens"),this.loadingSeance=!1,console.log("Fin de loadingSeance"),this.$emit("CloseMenuUser"),console.log("Fin de CloseMenuUser")}},handlePreviousQuestion(e){this.PrevQuestion(e)},async ProgramIsDone(){if(!this.links?.[0]?.links?.length)return void console.log("Aucune séance trouvée");let e=!0;const t=this.links[0].links;for(let i=0;i<t.length;i++)if(!t[i].sessionStatus.isCompleted){e=!1,console.log(`Séance ${i+1} non complétée`);break}if(e){console.log("Toutes les séances sont complétées !");const e=await a().Cloud.run("checkExistingEvaluation",{idBrique:this.idBrique});e.exists?console.log("Une évaluation existe déjà pour cette brique"):(console.log("Aucune évaluation existante pour cette brique"),this.DisplayEval=!0),this.checkCompletedProgram()}},handleNextQuestion(e,t){this.NextQuestion(e,t)},handleFinalResultat(e){this.FinalResultat(e)},handleTerminerExerciceQCM(e,t){this.TerminerExerciceQCM(e,t)},openModalSubscription(){this.showModalSubscription=!0},closeModalSubscription(){this.showModalSubscription=!1},update(e,t,i){this.titleAudio=e,this.sourceAudio=t,this.timerAudio=i},startCounterFreeAccount(){setTimeout(()=>{const e=a().User.current();!1===e.attributes.group.attributes.essai_gratuit&&"gratuit"===e.attributes.group.attributes.type_abonnement&&(this.recupIdExercice(null,null),this.openModalSubscription(),this.indexPopUpAbonnement++)},2e4)},openLoading(){this.isLoading=!0,setTimeout(()=>{this.isLoading=!1},1e3)},MoniteurFinished(e){console.log("Moniteur Finished:",this.folderBriqueRecup,this.SeanceSelected),setTimeout(()=>{this.recupIdExercice(null,null),this.recupId(this.folderBriqueRecup),this.recupIdSeance(this.SeanceSelected,null)},1e3)},GameFinished(e){this.ResultatJeux=JSON.stringify(e),this.TerminerExerciceJeu(this.fileRecup.id,0)},AudioFinished(e){this.TerminerExercice(this.fileRecup.id,0)},VideoFinished(e){this.isExercicelong?this.ExerciceLongVideo=!0:this.ExerciceLongVideo=!1,this.TerminerExercice(this.fileRecup.id,0)},updateVideo(e,t){this.titleVideo=e,this.sourceVideo=t},updateJeu(e,t,i,s,o,r,n,a,l,c,u){this.Version=e,this.Difficulte=t,this.Distance=i,this.Timer=s,this.pcm=o,this.Flux=r,this.Parametre=n,this.Musique=a,this.arrayModification=l,this.Capteur=c,this.Guide=u},show_exercice_court(){return console.log("Appel Affichage Exercice court.."),this.isExercicecourt=!0,this.isExercicelong=!1,this.isCourtClicked=!this.isCourtClicked,this.moduleRecup=this.folderBriqueRecup.protocoles[1].modules,this.callFolderDone()},show_exercice_long(){return console.log("Appel Affichage Exercice long.."),this.isLongClicked=!this.isLongClicked,this.isExercicecourt=!1,this.isExercicelong=!0,this.moduleRecup=this.folderBriqueRecup.protocoles[2].modules,this.callFolderDone()},recupId(e){if(console.log("FOLDER BRIQUE RECUPERE DANS RECUP ID - PROTOCOL FOLDERS",e),!e)return void Object.assign(this,{idBriqueSelected:"",folderBriqueRecup:"",isExercicecourt:!1,isExercicelong:!1,moduleRecup:[],idProtocol:"",IntroSelected:"",currentVideo:"",videosBrique:[],isDisplay:!1,isDisplayFolderBrique:!1,uniqueKey:this.uniqueKey+1});const{id:t,protocoles:i}=e;console.log("PROTOCOLES:",i);const[s,o]=i,{text:r,videoIntro:n,modules:a,deverrouille:l}=s,{modules:c}=o;console.log("IsCourtExercice:",l,this.linkedFilePatient?.length,c);const u=l&&(!this.linkedFilePatient?.length||this.linkedFilePatient.some(e=>e.id===t&&e.court));let d;console.log("IS COURT EXERCICE:",u,a,c),d=c&&"Entraînement libre"===c.name||u?a:c,Object.assign(this,{VideoFoldersBrique:"",folderBriqueRecup:e,IntroSelected:r,currentVideo:n&&n.length>0&&n[0].sources&&n[0].sources.length>0?n[0].sources[0].src:"",videosBrique:n,uniqueKey:this.uniqueKey+1,isExercicecourt:u,isExercicelong:!u,moduleRecup:d,idProtocol:t}),this.callFolderDone()},selectVideo(e){this.currentVideo=e.sources[0].src,this.uniqueKey++},handleSelectVideo(e){this.selectVideo(e)},startTimer(){this.showNotification=!0,this.progressWidth=0,this.intervalId&&clearInterval(this.intervalId),this.intervalId=setInterval(()=>{this.progressWidth+=3.33,this.progressWidth>=100&&clearInterval(this.intervalId)},100),setTimeout(()=>{this.closeNotification()},3e3)},closeNotification(){this.showNotification=!1,this.progressWidth=0},async callFolderDone(){try{console.log("thisModuleRecup",this.moduleRecup),this.moduleRecupAffichage=[],this.loading=!0;const e=this.moduleRecup.map(e=>e.id),t=this.idPatientTherapeute||this.idUserForSave||this.user.objectId,i=!this.idPatientTherapeute&&!this.idUserForSave,s=await a().Cloud.run("getModuleCompletion",{moduleIds:e,userId:t});if(!s||!s.moduleCounts)throw new Error("Réponse invalide du serveur");const{moduleCounts:o}=s,r=this.moduleRecup.reduce((e,t,s)=>{const r=o[t.id]||0,n=Math.min(Math.round(r/t.nbr_exo*100),100),a=n>=80,l=0===s||e[s-1]?.completed;return e.push({...t,completionPercentage:n,completed:a,deverouiller_for_user:i?l:void 0}),e},[]);return this.moduleRecup=r,this.moduleRecupAffichage=r,console.log("ProcessedModules:",r),r}catch(e){throw console.error("Erreur dans callFolderDone:",e),e}finally{this.loading=!1}},getFoldersByTheme(e){return console.log("%c THEME","color: red; font-weight: bold",this.themes),console.log("%c FOLDERS PROTOCOLS FOLDERS 2:","color: red; font-weight: bold",this.foldersBrique),this.foldersBrique.filter(t=>t.themes.length<2?t.themes[0].objectId===e:t.themes[0].objectId===e||t.themes[1].objectId===e)},recupIdSeance(e,t){this.SeanceSelected=e,console.log("SeanceSelected:",t),this.callData(),this.SeanceSelectedObject=t,setTimeout(()=>{this.scrollToExercises()},800)},scrollToExercises(){setTimeout(()=>{const e=document.querySelector(".sessions-list"),t=document.querySelector(".content-container.overflow-y-auto");if(e&&t){const i=100,s=e.getBoundingClientRect(),o=s.top+window.scrollY;window.scrollTo({top:Math.max(0,o-i),behavior:"smooth"});const r=t.getBoundingClientRect(),n=s.top-r.top+t.scrollTop;t.scrollTo({top:Math.max(0,n-i),behavior:"smooth"}),console.log("Défilement vers la liste des séances (Desktop & Mobile)")}else t&&(window.scrollTo({top:window.scrollY+400,behavior:"smooth"}),t.scrollTo({top:t.scrollTop+400,behavior:"smooth"}))},300)},recupIdParentFolder(e){return this.idFile=e},RecupQuestionnaire(e){return this.Questionnaire=e},recupScoreQuestionnaire(e){const t=new(a().Query)("file_done"),i=new(a().Query)("User"),s=new(a().Query)("file");s.equalTo("objectId",e.id),this.idPatientTherapeute?i.equalTo("objectId",this.idPatientTherapeute):this.idUserForSave?i.equalTo("objectId",this.idUserForSave):i.equalTo("objectId",this.user.objectId),t.matchesQuery("user",i),t.matchesQuery("file",s),this.UserRecup=i.find(),t.descending("createdAt"),t.first().then(e=>{t.first().then(e=>{if(this.fileDoneQuestionnaire=e,e){this.noteQuestionnaire=e.get("note"),this.dateQuestionnaire=e.createdAt;let t={year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},i=this.dateQuestionnaire.toLocaleDateString("fr-FR",t);this.Questionnairedate=i}else this.noteQuestionnaire=void 0})})},MethodForGame(e){if(console.log("Voici la séance sélectionné:",this.SeanceSelected),null===this.firstGameChoose)this.firstGameChoose=e.attributes.name,console.log("Voici le premier jeu sélectionné :",this.firstGameChoose);else if(this.secondGameChoose=e.attributes.name,console.log("Voici le deuxième jeu sélectionné :",this.secondGameChoose),this.secondGameChoose){var t=this.secondGameChoose;"Exercice interactif guidé : Le Jardin"===t?this.$router.push({path:"/activites",query:{jeu_guidee:"le_jardin_guidee"}}):"Exercice interactif guidé : La Plage"===t?this.$router.push({path:"/activites",query:{jeu_guidee:"la_plage_guidee"}}):"Exercice musical guidé:  Les sons de la campagne"===t?this.$router.push({path:"/activites",query:{jeu_guidee:"les_sons_de_la_campagne_guidee"}}):"Exercice interactif guidé : Le safari"===t?this.$router.push({path:"/activites",query:{jeu_guidee:"le_safari_guidee"}}):"Exercice musical guidé : Les dents de la mer"===t&&this.$router.push({path:"/activites",query:{jeu_guidee:"les_dents_de_la_mer_guidee"}})}},async recupIdExercice(e,t){return t&&"Evaluation du service"===t.attributes.name&&(this.DisplayEval
1=!0),setTimeout(()=>{if(this.abonnementFinish)return this.openModalSubscription(),void this.indexPopUpAbonnement++},1e4),t&&t.attributes.questionnaire_&&(this.idPatientTherapeute?this.resultatQCM_Object=await(0,_.I)(e,this.idPatientTherapeute):this.idUserForSave?this.resultatQCM_Object=await(0,_.I)(e,this.idUserForSave):this.resultatQCM_Object=await(0,_.I)(e,this.user.objectId)),this.answers=[],this.timerExercice(),null==e&&null==t?(this.idExerciceRecup=null,this.fileRecup=null,void this.$forceUpdate()):(t.attributes.questionnaire_&&this.recupScoreQuestionnaire(t),this.idExerciceRecup=e,this.fileRecup=t,this.$forceUpdate())},timerExercice(){this.exerciseStartTime=Date.now(),setInterval(()=>{this.elapsedTime=Math.floor((Date.now()-this.exerciseStartTime)/1e3)},1e3)},recupIdPatient(){console.log("recupIdPatient:",this.idPatientTherapeute)},recupIdLink(e){return this.presentation=!1,this.question=!0,this.QuestionnaireCompleted=!1,this.IdLink=e,this.number=0,this.callQuestionnaire()},async TerminerExercice(e,t){const i=g().mixin({toast:!0,position:"bottom-end",showConfirmButton:!1,timer:6e3,timerProgressBar:!0,didOpen:e=>{e.addEventListener("mouseenter",g().stopTimer),e.addEventListener("mouseleave",g().resumeTimer)}});(0,r.A)();try{console.log("idPatientTherapeute:",this.idPatientTherapeute),console.log("idUserForSave:",this.idUserForSave),console.log("FileId:",e,"IdLink",this.IdLink),a().Cloud.run("saveExo",{idProtocol:this.idProtocol,SeanceSelected:this.SeanceSelected,fileId:e,IdLink:this.IdLink,idPatientTherapeute:this.idPatientTherapeute,idUserForSave:this.idUserForSave?this.idUserForSave:this.idPatientTherapeute,elapsedTime:this.elapsedTime,note:0,typeExercice:"AudioVideo"},{success:function(e){console.log("Sauvegarde effectué !",e)},error:function(e){console.error("Une erreur s'est produite lors de la sauvegarde :",e)}}),i.fire({icon:"success",title:"Votre exercice a bien été sauvegardé !"})}catch(n){i.fire({icon:"error",title:"Une erreur s'est produite lors de la sauvegarde",text:n}),console.error("Une erreur s'est produite lors de la sauvegarde :",n)}var s=this.SeanceSelectedObject;if(console.log(" Fin de l'exercice :",this.folderBriqueRecup,this.SeanceSelected,s),setTimeout(()=>{this.recupIdExercice(null,null),this.recupId(this.folderBriqueRecup),this.recupIdSeance(this.SeanceSelected,s),this.KeyButton++},2e3),setTimeout(()=>{if(s){var e=s.completionPercentage;100===e&&this.$emit("pop-up-contact",s)}},6e3),s){var o=s.completionPercentage;100===o&&this.$emit("pop-up-contact",s)}},async TerminerExerciceJeu(e,t){const i=g().mixin({toast:!0,position:"bottom-end",showConfirmButton:!1,timer:6e3,timerProgressBar:!0,didOpen:e=>{e.addEventListener("mouseenter",g().stopTimer),e.addEventListener("mouseleave",g().resumeTimer)}});this.elapsedTime=this.elapsedTime/60,this.elapsedTime=Math.round(this.elapsedTime);try{a().Cloud.run("saveExo",{idProtocol:this.idProtocol,SeanceSelected:this.SeanceSelected,fileId:e,IdLink:this.IdLink,idPatientTherapeute:this.idPatientTherapeute,idUserForSave:this.idUserForSave?this.idUserForSave:this.idPatientTherapeute,elapsedTime:this.elapsedTime,resultat:this.ResultatJeux,note:0,typeExercice:"Jeu"},{success:function(e){},error:function(e){console.error("Une erreur s'est produite lors de la sauvegarde :",e)}}),i.fire({icon:"success",title:"Votre exercice a bien été sauvegardé !"})}catch(s){i.fire({icon:"error",title:"Une erreur s'est produite lors de la sauvegarde",text:s}),console.error("Une erreur s'est produite lors de la sauvegarde :",s)}setTimeout(()=>{this.recupIdExercice(null,null),this.recupId(this.folderBriqueRecup),this.recupIdSeance(this.SeanceSelected,null)},2e3)},toggleFullscreen(e){document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement?document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen():e.requestFullscreen?e.requestFullscreen():e.msRequestFullscreen?e.msRequestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullscreen&&e.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)},chartFullScreen(){const e=document.getElementById("chart-component");this.toggleFullscreen(e)},async TerminerExerciceQCM(e,t){const i=g().mixin({toast:!0,position:"bottom-end",showConfirmButton:!1,timer:6e3,timerProgressBar:!0,didOpen:e=>{e.addEventListener("mouseenter",g().stopTimer),e.addEventListener("mouseleave",g().resumeTimer)}});var s=t.toString();try{console.log("idPatientTherapeute:",this.idPatientTherapeute),console.log("idUserForSave:",this.idUserForSave),console.log("FileId:",e,"IdLink",this.IdLink),a().Cloud.run("saveExo",{idProtocol:this.idProtocol,SeanceSelected:this.SeanceSelected,fileId:e,IdLink:this.IdLink,note:parseInt(s),idPatientTherapeute:this.idPatientTherapeute,idUserForSave:this.idUserForSave?this.idUserForSave:this.idPatientTherapeute,elapsedTime:this.elapsedTime,answers:this.answers,note_detail:this.categoryScores,typeExercice:"Questionnaire"},{success:function(e){},error:function(e){console.error("Une erreur s'est produite lors de la sauvegarde :",e)}}),i.fire({icon:"success",title:"Votre exercice a bien été sauvegardé !"}),this.categoryScores={}}catch(o){i.fire({icon:"error",title:"Une erreur s'est produite lors de la sauvegarde",text:o}),console.error("Une erreur s'est produite lors de la sauvegarde :",o)}this.$forceUpdate(),setTimeout(()=>{this.recupIdExercice(null,null),this.recupId(this.folderBriqueRecup),this.recupIdSeance(this.SeanceSelected,null);try{file&&file[0]&&this.recupScoreQuestionnaire(file[0])}catch{console.log("Erreur recupScoreQuestionnaire")}"Entraînement libre"===this.folderBriqueRecup.protocoles[2].name||this.show_exercice_long()},2e3)},changeAudioPlaying(e){this.audioURL=e}
1,NextQuestion(e,t){if(this.answers.push({question_id:t.id,question:t.attributes.text,note:e}),this.resultat+=e,this.number++,this.answersQuestionnaire[this.number-1]=e,t.attributes.category){const i=t.attributes.category.attributes.name;this.categoryScores[i]||(this.categoryScores[i]=0),this.categoryScores[i]+=e}this.callQuestionnaire(),this.picked=null},PreviousQuestion(e){this.resultat-=e,this.number--,this.answersQuestionnaire[this.number-1]=e,this.picked=this.answersQuestionnaire[this.number]||null,this.callQuestionnaire()},FinalResultat(e){this.nameQuestionnaire=e.attributes.name,this.resultatQCM=!0,this.question=!1},async callQuestionnaire(){const e=new(a().Query)("questionnaire"),t=new(a().Query)("question"),i=new(a().Query)("question_answer"),s=new(a().Query)("game_type");e.equalTo("objectId",this.IdLink),t.equalTo("number",this.number),t.matchesQuery("questionnaire",e),i.matchesQuery("question",t),t.include("category"),this.element_questionnaire2=await e.find(),this.element_answer2=await i.find(),this.element2=await t.find(),this.element_game2=await s.find()},buttonToFiche(e){this.fiche=e},test(e){console.log("ProtocolFolders console.log",e)},scrollToSection(){setTimeout(()=>{const e=document.querySelector("#protocol_list"),t=document.querySelector(".content-container.overflow-y-auto");if(e&&t){const i=-20,s=e.getBoundingClientRect();window.scrollTo({top:Math.max(0,s.top+window.scrollY+i),behavior:"smooth"});const o=t.getBoundingClientRect(),r=s.top-o.top+t.scrollTop;t.scrollTo({top:Math.max(0,r+i),behavior:"smooth"})}},200)},scrollToListExo(){setTimeout(()=>{const e=document.querySelector("#list-exercice"),t=document.querySelector(".content-container.overflow-y-auto");if(e&&t){const i=-20,s=e.getBoundingClientRect();window.scrollTo({top:Math.max(0,s.top+window.scrollY+i),behavior:"smooth"});const o=t.getBoundingClientRect(),r=s.top-o.top+t.scrollTop;t.scrollTo({top:Math.max(0,r+i),behavior:"smooth"})}},400)},async callData(){this.resetState();try{const e=this.getUserId(),t=await v(e,this.SeanceSelected);this.filesLink=t.filesLink,console.log("Résult FilesLink",this.filesLink)}catch(e){console.error("ERROR:",e)}finally{this.loading2=!1}},resetState(){this.filesLink=[],this.checked=!1,this.picked=null,this.loading2=!0},getUserId(){return this.idPatientTherapeute||this.idUserForSave||a().User.current().id},async findDataForRelecture(){const e=a().Object.extend("User"),t=new(a().Query)(e);this.idPatientTherapeute?t.equalTo("objectId",this.idPatientTherapeute):this.idUserForSave?t.equalTo("objectId",this.idUserForSave):t.equalTo("objectId",this.user.objectId),this.UserForRelecture=await t.find(),this.UserForRelecture=this.UserForRelecture[0],this.UserSelected=this.user,this.folders_for_relecture=this.folders,this.UserSelected.filesDone=await(0,y.p)(this.user.objectId),this.UserSelected.therapeute&&(this.UserSelected.typePratique="Thérapeute",this.UserSelected.acces_donnees_therapeute=!0)},getCookie(e){var t="; "+document.cookie,i=t.split("; "+e+"=");if(2==i.length)return i.pop().split(";").shift()},async getLatestExo(){console.log("Appel de getLatestExo() dans ProtocolFolders.vue",this.foldersBrique,this.themesFolders);var e="Programmes";try{const t=this.$IdPatient||a().User.current().id,i=await a().Cloud.run("getUserFolderAccess",{folderName:e,userId:t});if(console.log("Réponse de getUserFolderAccess:",i),!i.linkAccessFolderIds||i.linkAccessFolderIds.length<=1){console.log("Un seul ou aucun dossier accessible - ne pas afficher l'option de reprise"),this.hasLatestExercise=!1,this.shouldShowResumeOption=!1;const e=await b.getLatestExerciseDoneWithBfpFalse(t);if(e){e.get("brique");this.idSeanceLatestExo=e.get("module")?.id}return}const s=await b.getLatestExerciseDoneWithBfpFalse(t);if(this.hasLatestExercise=!!s,!s)return console.log("Aucun exercice trouvé"),void(this.shouldShowResumeOption=!1);const o=s.get("brique")?.id;this.foldersBrique.find(e=>e.id===o);this.idSeanceLatestExo=s.get("module")?.id;const r=this.foldersBrique.filter(e=>!!(e.protocoles&&e.protocoles.length>0)&&e.protocoles.some(e=>{const t=e.id;return i.linkAccessFolderIds.includes(t)})),n=r.length;console.log("Nombre de dossiers accessibles:",n),this.shouldShowResumeOption=this.hasLatestExercise&&n>1,console.log("Afficher option de reprise:",this.shouldShowResumeOption)}catch(t){this.hasLatestExercise=!1,this.shouldShowResumeOption=!1,console.error("Erreur lors de la récupération du dernier exercice:",t)}},async resumeLastExercise(){if(console.log("Reprise du dernier exercice"),this.shouldShowResumeOption)if(this.hasLatestExercise||(await this.getLatestExo(),this.shouldShowResumeOption))if(this.idSeanceLatestExo){console.log("Navigation vers le module:",this.idSeanceLatestExo);const e=this.$IdPatient||a().User.current().id,t=await b.getLatestExerciseDoneWithBfpFalse(e);if(t){const e=t.get("brique")?.id,i=this.foldersBrique.find(t=>
1t.id===e);i&&(console.log("Dossier trouvé:",i),this.$refs.carouselFoldersRef&&this.$refs.carouselFoldersRef.recupId(i))}}else console.log("Aucun module trouvé pour le dernier exercice");else console.log("Option de reprise non disponible après récupération");else console.log("Option de reprise non disponible (un seul dossier ou pas d'exercice récent)")},getParamJeu(e){const t=this.folders.find(e=>"Biofeedback de cohérence cardiaque"===e.name);t&&this.recupId(t)}},async created(){this.ParamJeuGuidee&&this.getParamJeu(this.ParamJeuGuidee),this.verifyToken(),this.verifAbonnement(),this.openLoading(),this.isAndroid=await(0,x.m)(),this.idUserForSave=this.getCookie("idUserForSave"),this.idUserForSave||this.idPatientTherapeute||a().User.current().attributes.therapeute&&(this.isTherapeute=!0),this.getLatestExo()},mounted(){this.loadNotifiedPrograms(),this.descriptionPro=this.group.description,console.log("Affichage Patient info:",this.idPatientTherapeute,this.user.therapeute,this.idUserForSave,this.$IdPatient),(0,r.A)(),(this.idPatientTherapeute||!this.user.therapeute||this.idUserForSave||this.$IdPatient)&&(console.log("Affichage patient bloc.."),this.affichagePatientBloc=!0)}},Be=qe,Ae=(0,G.A)(Be,h,m,!1,null,null,null),Ue=Ae.exports;const Re=(0,c.$t)("user");var De={name:"mes-activites",components:{"chrome-picker":l.Chrome,FoldersComponent:Ue},data(){return{color:{hex:"#4579B2"},editorOption:{placeholder:"",theme:"snow"},isCardModalIframe:!1,userGroup:{},foldersBrique:[],themes:[],foldersProtocolLoad:!1,loaderFolderActive:!1,isStepFolder:!1,bgColor:null,isProgrammesDisplayed:!0,DisplayFolders:!1}},props:{idPatientTherapeute:{type:String,default:""},ParamJeuGuidee:{type:String,default:""},SeanceSelected:{type:String,default:""},LinksOfUser:{type:Array}},computed:{...Re.mapGetters(["group","user","folders"]),description(){if(this.appParam)return this.appParam.attributes.messageHeader}},methods:{...Re.mapActions({actionsUpdateUserGroup:"updateUserGroup",actionsLogOut:"logOut",actionsLoadFolder:"loadFolder"}),scrollToExercises(){let e=0;const t=20,i=setInterval(()=>{const s=[".exercise-list",".exercises-container",".exercise-item",".seance-content",".seance-exercises","[data-exercise-container]",'[data-content-type="exercise"]',".thisproto",".modules-list"];let o=null;for(const e of s){const t=document.querySelectorAll(e);if(t.length>0){o=t[t.length-1],console.log(`Élément trouvé avec le sélecteur: ${e}`);break}}if(e++,o){clearInterval(i),console.log("Élément cible trouvé, défilement en cours...");const e=document.querySelector(".content-container.overflow-y-auto");if(e){const t=150,i=o.getBoundingClientRect();window.scrollTo({top:Math.max(0,i.top+window.scrollY-t),behavior:"smooth"});const s=e.getBoundingClientRect(),r=i.top-s.top+e.scrollTop;e.scrollTo({top:Math.max(0,r-t),behavior:"smooth"})}}else if(e>=t){clearInterval(i),console.log("N'a pas pu trouver d'élément d'exercice - tentative de défilement fixe");const e=document.querySelector(".content-container.overflow-y-auto");e&&(window.scrollTo({top:window.scrollY+500,behavior:"smooth"}),e.scrollTo({top:e.scrollTop+500,behavior:"smooth"}))}},150)},handleSeanceSelected(){this.scrollToExercises()},handleProgramSelection(e){console.log("Programme cliqué dans ListProtocolNew:",e),this.$emit("program-click",e)},async popUpContact(){console.log("pop-up-contact 1"),this.$emit("pop-up-contact")},CloseMenuUser(){this.$emit("CloseMenuUser")},upgradeAccount(){this.$emit("upgrade-requested")},onIsDisplayProgrammes(e){this.isProgrammesDisplayed=e,this.$emit("is-display-programmes",this.isProgrammesDisplayed)},linkUser(e){this.$emit("linkUser",e)},isLoadingActivitySpace(e){console.log("isLoadingActivitySpace",e),this.$emit("isLoadingActivitySpace",e)},async goToActivites(){await this.actionsLogOut(),"/"===this.urlFront?this.$router.push({path:"/"}):window.open(this.urlFront,"_self")},initializeState(){this.bgColor=this.group.couleur,this.loaderFolderActive=!0,this.error=!1,this.foldersProtocolLoad=!1},async loadFolders(){null===this.folders&&(console.log("Condition n°1"),await this.actionsLoadFolder()),console.log("Condition n°2"),this.foldersBrique=d()(this.folders.filter(e=>"Santé"===e.domaine)),console.log("FOLDER BRIQUE LIST PROTOCOL NEW:",this.foldersBrique)},async loadThemes(){try{const e=await a().Cloud.run("getSanteThemes");console.log("Résultat du thême:",e),this.themes=e.result||e,this.foldersProtocolLoad=!0}catch(e){throw new Error("Erreur lors du chargement des thèmes: "+e.message)}},validateUserGroup(){if(!this.userGroup.name)throw this.error=!0,new Error("Nom du groupe utilisateur manquant")},handleError(e){this.error=!0,this.loaderFolderActive=!1}},async mounted(){try{console.log("%c LIST PROTOCOL NEW:","color: red; font-weight: bold",this.folders),this.DisplayFolders=!1,this.initializeState(),await Promise.all([this.loadFolders(),this.loadThemes()]),this.DisplayFolders=!0}catch(e){console.error("Erreur lors du mounted:",e),this.handleError(e)}finally{this.loaderFolderActive=!1,this.$emit("initial-load-done")}}},Me=De,$e=(0,G.A)(Me,s,o,!1,null,null,null),Oe=$e.exports},13245:function(e,t,i){i.r(t),i.d(t,{default:function(){return m}});var s=function(){var e=this,t=e._self._c;return t("div",{staticClass:"modal is-active zIndex"},[t("div",{staticClass:"modal-background",on:{click:e.closeInfoModal}}),t("div",{staticClass:"modal-card"},[e._m(0),t("section",{staticClass:"modal-card-body"},[e.loading?t("div",{staticClass:"has-text-centered p-6"},[t("div",{staticClass:"button is-loading is-white is-large"},[e._v("Chargement")])]):e.error?t("div",{staticClass:"notification is-danger"},[e._v(" "+e._s(e.error)+" ")]):e.sortedEvaluationField.length>0?t("div",e._l(e.sortedEvaluationField,function(i){return t("div",{key:i.id,staticClass:"box mb-4 question-block"},[i.get("text")?t("h3",{staticClass:"subtitle mb-4"}
1,[e._v(" "+e._s(i.get("text"))+" ")]):e._e(),t("div",{staticClass:"rating has-text-centered"},e._l([5,4,3,2,1],function(s){return t("label",{key:s,staticClass:"rating-item"},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.ratings[i.id],expression:"ratings[evaluation.id]"}],staticClass:"hidden-input",attrs:{type:"radio",name:`rating-${i.id}`},domProps:{value:s,checked:e._q(e.ratings[i.id],s)},on:{change:function(t){return e.$set(e.ratings,i.id,s)}}}),t("span",{staticClass:"star",class:{"star-selected":s<=e.ratings[i.id]}},[e._v("★")])])}),0)])}),0):e._e()]),t("footer",{staticClass:"modal-card-foot is-justify-content-center"},[t("button",{staticClass:"button custom-color-background is-rounded is-medium",on:{click:e.submitRatings}},[e._v(" Soumettre ")])])])])},o=[function(){var e=this,t=e._self._c;return t("header",{staticClass:"modal-card-head has-text-centered"},[t("p",{staticClass:"modal-card-title has-text-primary has-text-weight-bold custom-color"},[e._v(" Évaluation du service ")])])}],r=i(44388),n=i.n(r),a=i(94948),l=i.n(a),c={name:"PopUp",data(){return{evaluationFields:[],ratings:{},loading:!1,error:null}},computed:{sortedEvaluationField(){return this.evaluationFields.sort((e,t)=>e.get("number")-t.get("number"))}},props:{idBrique:{type:String,required:!0}},methods:{closeInfoModal(){console.log("close modal eval..."),this.$emit("close")},async fetchEvaluationFields(){this.loading=!0,this.error=null;try{const e=new(n().Query)("evaluation_field");e.ascending("number");const t=await e.find();this.evaluationFields=t,t.forEach(e=>{this.$set(this.ratings,e.id,0)})}catch(e){await l().fire({icon:"error",title:"Erreur",text:"Erreur lors de la récupération des évaluations : "+e.message}),console.error("Erreur:",e)}finally{this.loading=!1}},async submitRatings(){try{const e=n().User.current();if(!e)return void await l().fire({icon:"warning",title:"Non connecté",text:"Vous devez être connecté pour soumettre vos évaluations."});l().fire({title:"Enregistrement en cours",text:"Veuillez patienter...",allowOutsideClick:!1,allowEscapeKey:!1,showConfirmButton:!1,didOpen:()=>
1{l().showLoading()}}),this.sortedEvaluationField.forEach(e=>{this.ratings[e.id]||(this.ratings[e.id]=0)});const t=new(n().Query)("folder");t.equalTo("objectId",this.idBrique);const i=await t.first();for(const[s,o]of Object.entries(this.ratings)){const t=n().Object.extend("evaluation_result"),r=new t;r.set("user",e),r.set("evaluation_field",{__type:"Pointer",className:"evaluation_field",objectId:s}),r.set("rating",o),r.set("brique",i),await r.save()}await l().fire({icon:"success",title:"Succès",text:"Toutes les réponses ont été enregistrées avec succès !",showConfirmButton:!1,timer:1500}),this.closeInfoModal()}catch(e){console.error("Erreur lors de la soumission des évaluations :",e),await l().fire({icon:"error",title:"Erreur",text:"Une erreur est survenue lors de l'enregistrement des réponses."}),this.closeInfoModal()}}},async created(){await this.fetchEvaluationFields()}},u=c,d=i(81656),h=(0,d.A)(u,s,o,!1,null,"580990d5",null),m=h.exports},83807:function(e,t,i){i.d(t,{I:function(){return r}});var s=i(44388),o=i.n(s);async function r(e,t){const i=new(o().Query)(o().User);i.equalTo("objectId",t);const s=await i.first(),r=new(o().Query)("file_done");r.equalTo("user",s),r.equalTo("module",o().Object.extend("folder").createWithoutData(e)),r.descending("createdAt");let n=await r.first();if(!n){const t=new(o().Query)("file_done");t.equalTo("user",s),t.equalTo("file",o().Object.extend("file").createWithoutData(e)),t.descending("createdAt"),n=await t.first()}if(n){const e={note:n.get("note"),time_elapsed:n.get("time_elapsed"),date:n.get("createdAt")};return e}return null}},44142:function(e,t,i){i(44388)},89428:function(e,t,i){i(36727),i(44388)},45957:function(e){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAARCAYAAAAlpHdJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALJJREFUeNpiYBho8P//fwMgfg/E90FsGtrT/x8C5iMLNvxHgPe0cADIQiQ7/iNLOPxHBVRzANAcASBej2b+eXRFAVBLqeYAqMXn0SwGOUQAX9wjOyCBihbPJzbxIYMEEi1WINliajgAh94GcrMf0Q6gRqiRZRg0x1DHYlIcAOJjyaoJ1CwBz2NzAA6LDahdQuHKs/9pXTricwAM0LRewOeA81hLLTo4gH4Wo5dklOgHCDAA6CJL5b5QY2UAAAAASUVORK5CYII="},2022:function(e,t,i){e.exports=i.p+"img/video_playlist.5121840a.png"}}]);
2//# sourceMappingURL=3118-legacy.2e7d52fc.js.map

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.