diff --git a/src/components/GameTabs.vue b/src/components/GameTabs.vue index aca5a57ed..f3a979915 100644 --- a/src/components/GameTabs.vue +++ b/src/components/GameTabs.vue @@ -184,15 +184,16 @@ async function routeExternalTask(game) { if (game.taskData.name.toLowerCase() === 'mefs') { const ageInMonths = getAgeData(props.userData.birthMonth, props.userData.birthYear).ageMonths; url += `participantID=${props.userData.id}&participantAgeInMonths=${ageInMonths}&lng=${locale.value}`; + window.open(url, '_blank').focus(); + await authStore.completeAssessment(selectedAdmin.value.id, game.taskId); } else { url += `&participant=${props.userData.assessmentPid}${ props.userData.schools.length ? '&schoolId=' + props.userData.schools.current.join('ā€œ%2Cā€') : '' }${props.userData.classes.current.length ? '&classId=' + props.userData.classes.current.join('ā€œ%2Cā€') : ''}`; - } - - await authStore.completeAssessment(selectedAdmin.value.id, game.taskId); - window.location.href = url; + await authStore.completeAssessment(selectedAdmin.value.id, game.taskId); + window.location.href = url; + } } const returnVideoOptions = (videoURL) => { diff --git a/src/pages/HomeParticipant.vue b/src/pages/HomeParticipant.vue index ecda20422..dd6b09f2a 100644 --- a/src/pages/HomeParticipant.vue +++ b/src/pages/HomeParticipant.vue @@ -139,6 +139,8 @@ const { keepPreviousData: true, enabled: initialized, staleTime: 5 * 60 * 1000, // 5 min + // For MEFS, since it is opened in a separate tab + refetchOnWindowFocus: 'always', }); const administrationIds = computed(() => (assignmentInfo.value ?? []).map((assignment) => assignment.id)); @@ -173,14 +175,15 @@ const { data: taskInfo, } = useQuery({ queryKey: ['tasks', authStore.uid, taskIds], - queryFn: () => - fetchDocsById( + queryFn: () => { + return fetchDocsById( taskIds.value.map((taskId) => ({ collection: 'tasks', docId: taskId, })), 'app', - ), + ); + }, keepPreviousData: true, enabled: initialized, staleTime: 5 * 60 * 1000,