132132 </v-card >
133133 </v-col >
134134 <v-col cols =" 6" >
135- <v-card class =" pa-6 elevation-3 rounded-xl h-100 stat-card" >
135+ <v-card v-if = " testStructure?.userTasks && taskAnswers.length " class =" pa-6 elevation-3 rounded-xl h-100 stat-card" >
136136 <div class =" d-flex align-center mb-4" >
137137 <v-avatar
138138 color =" error"
@@ -322,19 +322,19 @@ const formatTime = (time) => {
322322};
323323
324324const findLongestTask = () => {
325- if (! taskAnswers .value .length ) return { taskName: ' Task' , averageTime: formatTime (0 ) };
325+ if (! taskAnswers .value .length ) {
326+ return { taskName: ' Task' , averageTime: formatTime (0 ) };
327+ }
326328
327329 const taskAverages = {};
328330
329331 taskAnswers .value .forEach ((answer ) => {
332+ if (! answer .tasks ) return ;
330333 for (const taskId in answer .tasks ) {
331- const taskTime = answer .tasks [taskId].taskTime ;
334+ const taskTime = answer .tasks [taskId]? .taskTime ?? 0 ;
332335
333336 if (! taskAverages[taskId]) {
334- taskAverages[taskId] = {
335- totalTime: taskTime,
336- count: 1 ,
337- };
337+ taskAverages[taskId] = { totalTime: taskTime, count: 1 };
338338 } else {
339339 taskAverages[taskId].totalTime += taskTime;
340340 taskAverages[taskId].count ++ ;
@@ -343,8 +343,7 @@ const findLongestTask = () => {
343343 });
344344
345345 for (const taskId in taskAverages) {
346- const averageTime = taskAverages[taskId].totalTime / taskAverages[taskId].count ;
347- taskAverages[taskId].averageTime = averageTime;
346+ taskAverages[taskId].averageTime = taskAverages[taskId].totalTime / taskAverages[taskId].count ;
348347 }
349348
350349 let longestTask = null ;
@@ -358,9 +357,11 @@ const findLongestTask = () => {
358357 }
359358
360359 const taskMap = {};
361- testStructure .value .userTasks .forEach ((task ) => {
362- taskMap[task .taskId ] = task;
363- });
360+ if (testStructure .value && Array .isArray (testStructure .value .userTasks )) {
361+ testStructure .value .userTasks .forEach ((task ) => {
362+ taskMap[task .taskId ] = task;
363+ });
364+ }
364365
365366 return {
366367 taskName: taskMap[longestTask]? .taskName || ' Task' ,
0 commit comments