From 9486505b619807c565ac038c651cda936a89e555 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Wed, 16 Aug 2023 16:03:43 +0200 Subject: [PATCH] wip #6195 @0.5 --- app/Elearning/QuizCompiler.php | 13 +- resources/quizv2/animations/NOK.json | 1 - resources/quizv2/animations/OK.json | 1 - resources/quizv2/js/quiz.animations.js | 37 -- resources/quizv2/js/quiz.js | 356 ------------------ resources/quizv2/js/quiz.question.js | 37 -- resources/quizv2/js/quiz.resize.js | 14 - resources/quizv2/js/quiz.score.js | 153 -------- resources/quizv2/js/quiz.scorm.js | 7 - .../quizv2/style/001-global-variables.sass | 0 .../quizv2/style/002-item-variables.sass | 1 - resources/quizv2/style/003-reset.sass | 51 --- resources/quizv2/style/004-mixins.sass | 49 --- resources/quizv2/style/005-utilities.sass | 12 - resources/quizv2/style/100-global.sass | 86 ----- resources/quizv2/style/101-header-footer.sass | 57 --- resources/quizv2/style/102-intro.sass | 16 - .../quizv2/style/103-question-multiple.sass | 40 -- resources/quizv2/style/104-animations.sass | 22 -- resources/quizv2/style/105-outro.sass | 147 -------- .../style/106-question-draganddrop.sass | 94 ----- resources/quizv2/style/style.sass | 12 - resources/views/quizv2/footer.blade.php | 21 -- .../views/quizv2/header_question.blade.php | 12 - resources/views/quizv2/header_title.blade.php | 4 - resources/views/quizv2/index.blade.php | 32 -- .../views/quizv2/screens/intro.blade.php | 16 - .../views/quizv2/screens/outro.blade.php | 59 --- .../screens/question_draganddrop.blade.php | 50 --- .../screens/question_multiple.blade.php | 22 -- resources/views/quizv2/sprite.blade.php | 47 --- 31 files changed, 12 insertions(+), 1457 deletions(-) delete mode 100644 resources/quizv2/animations/NOK.json delete mode 100644 resources/quizv2/animations/OK.json delete mode 100644 resources/quizv2/js/quiz.animations.js delete mode 100644 resources/quizv2/js/quiz.js delete mode 100644 resources/quizv2/js/quiz.question.js delete mode 100644 resources/quizv2/js/quiz.resize.js delete mode 100644 resources/quizv2/js/quiz.score.js delete mode 100644 resources/quizv2/js/quiz.scorm.js delete mode 100644 resources/quizv2/style/001-global-variables.sass delete mode 100644 resources/quizv2/style/002-item-variables.sass delete mode 100644 resources/quizv2/style/003-reset.sass delete mode 100644 resources/quizv2/style/004-mixins.sass delete mode 100644 resources/quizv2/style/005-utilities.sass delete mode 100644 resources/quizv2/style/100-global.sass delete mode 100644 resources/quizv2/style/101-header-footer.sass delete mode 100644 resources/quizv2/style/102-intro.sass delete mode 100644 resources/quizv2/style/103-question-multiple.sass delete mode 100644 resources/quizv2/style/104-animations.sass delete mode 100644 resources/quizv2/style/105-outro.sass delete mode 100644 resources/quizv2/style/106-question-draganddrop.sass delete mode 100644 resources/quizv2/style/style.sass delete mode 100644 resources/views/quizv2/footer.blade.php delete mode 100644 resources/views/quizv2/header_question.blade.php delete mode 100644 resources/views/quizv2/header_title.blade.php delete mode 100644 resources/views/quizv2/index.blade.php delete mode 100644 resources/views/quizv2/screens/intro.blade.php delete mode 100644 resources/views/quizv2/screens/outro.blade.php delete mode 100644 resources/views/quizv2/screens/question_draganddrop.blade.php delete mode 100644 resources/views/quizv2/screens/question_multiple.blade.php delete mode 100644 resources/views/quizv2/sprite.blade.php diff --git a/app/Elearning/QuizCompiler.php b/app/Elearning/QuizCompiler.php index 9b399d5dc..b5d85d8e5 100644 --- a/app/Elearning/QuizCompiler.php +++ b/app/Elearning/QuizCompiler.php @@ -180,7 +180,18 @@ class QuizCompiler extends Base protected function _resourcesPath() { - list($branch, $dir) = explode('|', $this->quiz->dev_version); + switch ($this->quiz->dev_version) { + case 'stable': + $branch = 'master'; + $dir = 'branches'; + break; + case'dev': + $branch = 'master'; + $dir = 'local'; + break; + default: + list($branch, $dir) = explode('|', $this->quiz->dev_version); + } return resource_path('quiz/player/' . ($dir === 'local' ? 'local' : 'branches') . '/' . $branch); } diff --git a/resources/quizv2/animations/NOK.json b/resources/quizv2/animations/NOK.json deleted file mode 100644 index b006dd0eb..000000000 --- a/resources/quizv2/animations/NOK.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.9.0","fr":60,"ip":0,"op":310,"w":500,"h":500,"nm":"WRONG_anim","ddd":0,"assets":[],"fonts":{"list":[{"origin":3,"fPath":"images/font_0","fClass":"","fFamily":"Source Sans Pro","fWeight":"","fStyle":"SemiBold","fName":"SourceSansPro-SemiBold","ascent":70.599365234375}]},"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Nul 1","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[0.626,0.626,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.155,0.155,0]},"t":20,"s":[85,85,100]},{"i":{"x":[0,0,0.667],"y":[1,1,1]},"o":{"x":[0.501,0.501,0.333],"y":[0.189,0.189,0]},"t":110,"s":[90,90,100]},{"t":170,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"ip":0,"op":296,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Calque de forme 1","parent":4,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[82.25,82.25,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-32.25,-32.312],[32,31.938],[32.25,-31.812],[-32,32.438]],"c":false},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0.623528992896,0.992156982422,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":12,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Contour 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Forme 2","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":40,"s":[0]},{"t":110,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Réduire les tracés 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[1],"y":[0]},"t":266,"s":[100]},{"t":296,"s":[0]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":3,"nm":"Réduire les tracés 2","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":40,"op":296,"st":40,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"VALIDATE_X Silhouettes","parent":4,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[82.25,82.25,0],"ix":2,"l":2},"a":{"a":0,"k":[35.605,35.605,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-26.87,-35.355],[35.355,26.87],[26.87,35.355],[-35.355,-26.87]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[35.605,35.606],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Groupe 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-35.355,26.87],[26.87,-35.355],[35.355,-26.87],[-26.871,35.355]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[35.605,35.605],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Groupe 2","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":40,"op":296,"st":40,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"VALIDATE_CIRCLEW Silhouettes","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[82.25,82.25,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1]},"o":{"x":[0.576,0.576,0.333],"y":[0,0,0]},"t":0,"s":[0,0,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":20,"s":[100,100,100]},{"i":{"x":[0.973,0.973,0.667],"y":[1.001,1.001,1]},"o":{"x":[0.813,0.813,0.333],"y":[0,0,0]},"t":274,"s":[100,100,100]},{"t":296,"s":[0,0,100]}],"ix":6,"l":2,"x":"var $bm_rt;\nvar n, n, t, t, v, amp, freq, decay;\n$bm_rt = n = 0;\nif (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n}\nif (n == 0) {\n $bm_rt = t = 0;\n} else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n}\nif (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = 0.03;\n freq = 3;\n decay = 10;\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n} else {\n $bm_rt = value;\n}"}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-45.287,0],[0,-45.287],[45.287,0],[0,45.287]],"o":[[45.287,0],[0,45.287],[-45.287,0],[0,-45.287]],"v":[[0,-82],[82,0],[0,82],[-82,0]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.815686334348,0.086274509804,0.486274539723,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[82.25,82.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Groupe 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":296,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"VALIDATE_CIRCLE2 Silhouettes","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[82.25,82.25,0],"ix":2,"l":2},"a":{"a":0,"k":[90.25,90.25,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1]},"o":{"x":[0.552,0.552,0.333],"y":[0,0,0]},"t":16,"s":[89,89,100]},{"t":28,"s":[100,100,100]}],"ix":6,"l":2,"x":"var $bm_rt;\nvar n, n, t, t, v, amp, freq, decay;\n$bm_rt = n = 0;\nif (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n}\nif (n == 0) {\n $bm_rt = t = 0;\n} else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n}\nif (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = 0.03;\n freq = 3;\n decay = 10;\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n} else {\n $bm_rt = value;\n}"}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-49.706],[49.706,0],[0,49.706],[-49.706,0]],"o":[[0,49.706],[-49.706,0],[0,-49.706],[49.706,0]],"v":[[90,0],[0,90],[-90,0],[0,-90]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[90.25,90.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Groupe 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":16,"op":296,"st":-4,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"VALIDATE_CIRCLE2 Silhouettes 2","parent":5,"sr":1,"ks":{"o":{"a":0,"k":72,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"t":28,"s":[90.25,90.25,0],"to":[0,2.5,0],"ti":[0,-2.5,0]},{"i":{"x":0,"y":0},"o":{"x":0.333,"y":0.333},"t":108,"s":[90.25,105.25,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":1,"y":0},"t":252,"s":[90.25,105.25,0],"to":[0,-2.5,0],"ti":[0,2.5,0]},{"t":292,"s":[90.25,90.25,0]}],"ix":2,"l":2},"a":{"a":0,"k":[90.25,90.25,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2,"x":"var $bm_rt;\nvar n, n, t, t, v, amp, freq, decay;\n$bm_rt = n = 0;\nif (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n}\nif (n == 0) {\n $bm_rt = t = 0;\n} else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n}\nif (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = 0.03;\n freq = 3;\n decay = 10;\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n} else {\n $bm_rt = value;\n}"}},"ao":0,"ef":[{"ty":29,"nm":"Flou gaussien","np":5,"mn":"ADBE Gaussian Blur 2","ix":1,"en":1,"ef":[{"ty":0,"nm":"Flou","mn":"ADBE Gaussian Blur 2-0001","ix":1,"v":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":28,"s":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":108,"s":[150]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[1],"y":[0]},"t":252,"s":[150]},{"t":292,"s":[0]}],"ix":1}},{"ty":7,"nm":"Dimensions de flou","mn":"ADBE Gaussian Blur 2-0002","ix":2,"v":{"a":0,"k":1,"ix":2}},{"ty":7,"nm":"Recopier les pixels du contour","mn":"ADBE Gaussian Blur 2-0003","ix":3,"v":{"a":0,"k":0,"ix":3}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-49.706],[49.706,0],[0,49.706],[-49.706,0]],"o":[[0,49.706],[-49.706,0],[0,-49.706],[49.706,0]],"v":[[90,0],[0,90],[-90,0],[0,-90]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.815686334348,0.086274509804,0.486274539723,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[90.25,90.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Groupe 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":16,"op":292,"st":-4,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"VALIDATE_CIRCLE3 Silhouettes 2","parent":9,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[181,181,0],"ix":2,"l":2},"a":{"a":0,"k":[181,181,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-98.583],[98.583,0],[0,98.583],[-98.583,0]],"o":[[0,98.583],[-98.583,0],[0,-98.583],[98.583,0]],"v":[[178.5,0],[0,178.5],[-178.5,0],[0,-178.5]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[181,181],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Groupe 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":20,"op":292,"st":20,"bm":0},{"ddd":0,"ind":8,"ty":5,"nm":"$text","parent":4,"tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":20,"s":[0]},{"t":40,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":83.338,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":20,"s":[137.873]},{"t":80,"s":[207.41]}],"ix":4}},"a":{"a":0,"k":[0.5,-5.463,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"t":{"d":{"k":[{"s":{"s":25,"f":"SourceSansPro-SemiBold","t":"$text","ca":0,"j":2,"tr":20,"lh":30.0000019073486,"ls":0,"fc":[1,1,1]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":20,"op":292,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"VALIDATE_CIRCLE3 Silhouettes","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[82.25,82.25,0],"ix":2,"l":2},"a":{"a":0,"k":[181,181,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0.667],"y":[1,1,1]},"o":{"x":[0.177,0.177,0.333],"y":[0.291,0.291,0]},"t":24,"s":[50,50,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":106,"s":[100,100,100]},{"i":{"x":[0.836,0.836,0.667],"y":[-0.528,-0.528,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":232,"s":[100,100,100]},{"t":292,"s":[50,50,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-98.583],[98.583,0],[0,98.583],[-98.583,0]],"o":[[0,98.583],[-98.583,0],[0,-98.583],[98.583,0]],"v":[[178.5,0],[0,178.5],[-178.5,0],[0,-178.5]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Contour 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[181,181],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Groupe 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":26,"op":292,"st":26,"bm":0}],"markers":[]} diff --git a/resources/quizv2/animations/OK.json b/resources/quizv2/animations/OK.json deleted file mode 100644 index e4e2c07bb..000000000 --- a/resources/quizv2/animations/OK.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.9.0","fr":30,"ip":0,"op":160,"w":500,"h":500,"nm":"VALIDATE_anim","ddd":0,"assets":[],"fonts":{"list":[{"origin":3,"fPath":"images/font_0","fClass":"","fFamily":"Source Sans Pro","fWeight":"","fStyle":"SemiBold","fName":"SourceSansPro-SemiBold","ascent":70.599365234375}]},"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Nul 1","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[250,250,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[0.667,0.667,1]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0]},"t":10,"s":[85,85,100]},{"i":{"x":[0,0,0.667],"y":[1,1,1]},"o":{"x":[0.501,0.501,0.333],"y":[0.189,0.189,0]},"t":50,"s":[90,90,100]},{"t":80,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"ip":0,"op":148,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Calque de forme 1","parent":4,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[80.25,82.25,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-42,-10.25],[-8.75,23],[45.375,-31.25]],"c":false},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0.623528992896,0.992156982422,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":13,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Contour 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Forme 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":20,"s":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":50,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[1],"y":[0]},"t":133,"s":[100]},{"t":148,"s":[0]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Réduire les tracés 1","mn":"ADBE Vector Filter - Trim","hd":false}],"ip":20,"op":148,"st":20,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"VALIDATE_V Silhouettes","parent":4,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[82.211,81.147,0],"ix":2,"l":2},"a":{"a":0,"k":[46.212,32.777,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[37.477,-32.527],[-10.606,15.556],[-37.476,-11.314],[-45.962,-2.829],[-10.606,32.527],[45.962,-24.042]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[46.212,32.777],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Groupe 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":20,"op":148,"st":20,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"VALIDATE_CIRCLE1 Silhouettes","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[82.25,82.25,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1]},"o":{"x":[0.576,0.576,0.333],"y":[0,0,0]},"t":0,"s":[0,0,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":10,"s":[100,100,100]},{"i":{"x":[0.973,0.973,0.667],"y":[1.001,1.001,1]},"o":{"x":[0.813,0.813,0.333],"y":[0,0,0]},"t":137,"s":[100,100,100]},{"t":148,"s":[0,0,100]}],"ix":6,"l":2,"x":"var $bm_rt;\nvar n, n, t, t, v, amp, freq, decay;\n$bm_rt = n = 0;\nif (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n}\nif (n == 0) {\n $bm_rt = t = 0;\n} else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n}\nif (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = 0.03;\n freq = 3;\n decay = 10;\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n} else {\n $bm_rt = value;\n}"}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-45.287],[45.287,0],[0,45.287],[-45.287,0]],"o":[[0,45.287],[-45.287,0],[0,-45.287],[45.287,0]],"v":[[82,0],[0,82],[-82,0],[0,-82]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.086274509804,0.749019607843,0.749019607843,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[82.25,82.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Groupe 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":148,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"VALIDATE_CIRCLE2 Silhouettes","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[82.25,82.25,0],"ix":2,"l":2},"a":{"a":0,"k":[90.25,90.25,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,1.189]},"o":{"x":[0.552,0.552,0.333],"y":[0,0,0]},"t":8,"s":[89,89,100]},{"t":14,"s":[100,100,100]}],"ix":6,"l":2,"x":"var $bm_rt;\nvar n, n, t, t, v, amp, freq, decay;\n$bm_rt = n = 0;\nif (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n}\nif (n == 0) {\n $bm_rt = t = 0;\n} else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n}\nif (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = 0.03;\n freq = 3;\n decay = 10;\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n} else {\n $bm_rt = value;\n}"}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-49.706],[49.706,0],[0,49.706],[-49.706,0]],"o":[[0,49.706],[-49.706,0],[0,-49.706],[49.706,0]],"v":[[90,0],[0,90],[-90,0],[0,-90]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[90.25,90.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Groupe 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":8,"op":148,"st":-2,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"VALIDATE_CIRCLE2 Silhouettes 2","parent":5,"sr":1,"ks":{"o":{"a":0,"k":72,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"t":14,"s":[90.25,90.25,0],"to":[0,2.5,0],"ti":[0,-2.5,0]},{"i":{"x":0,"y":0},"o":{"x":0.333,"y":0.333},"t":54,"s":[90.25,105.25,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":1,"y":0},"t":126,"s":[90.25,105.25,0],"to":[0,-2.5,0],"ti":[0,2.5,0]},{"t":146,"s":[90.25,90.25,0]}],"ix":2,"l":2},"a":{"a":0,"k":[90.25,90.25,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2,"x":"var $bm_rt;\nvar n, n, t, t, v, amp, freq, decay;\n$bm_rt = n = 0;\nif (numKeys > 0) {\n $bm_rt = n = nearestKey(time).index;\n if (key(n).time > time) {\n n--;\n }\n}\nif (n == 0) {\n $bm_rt = t = 0;\n} else {\n $bm_rt = t = $bm_sub(time, key(n).time);\n}\nif (n > 0 && t < 1) {\n v = velocityAtTime($bm_sub(key(n).time, $bm_div(thisComp.frameDuration, 10)));\n amp = 0.03;\n freq = 3;\n decay = 10;\n $bm_rt = $bm_sum(value, $bm_div($bm_mul($bm_mul(v, amp), Math.sin($bm_mul($bm_mul($bm_mul(freq, t), 2), Math.PI))), Math.exp($bm_mul(decay, t))));\n} else {\n $bm_rt = value;\n}"}},"ao":0,"ef":[{"ty":29,"nm":"Flou gaussien","np":5,"mn":"ADBE Gaussian Blur 2","ix":1,"en":1,"ef":[{"ty":0,"nm":"Flou","mn":"ADBE Gaussian Blur 2-0001","ix":1,"v":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":14,"s":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":54,"s":[150]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[1],"y":[0]},"t":126,"s":[150]},{"t":146,"s":[0]}],"ix":1}},{"ty":7,"nm":"Dimensions de flou","mn":"ADBE Gaussian Blur 2-0002","ix":2,"v":{"a":0,"k":1,"ix":2}},{"ty":7,"nm":"Recopier les pixels du contour","mn":"ADBE Gaussian Blur 2-0003","ix":3,"v":{"a":0,"k":0,"ix":3}}]}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-49.706],[49.706,0],[0,49.706],[-49.706,0]],"o":[[0,49.706],[-49.706,0],[0,-49.706],[49.706,0]],"v":[[90,0],[0,90],[-90,0],[0,-90]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.086274509804,0.749019607843,0.749019607843,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[90.25,90.25],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Groupe 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":8,"op":146,"st":-2,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"VALIDATE_CIRCLE3 Silhouettes 2","parent":9,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[181,181,0],"ix":2,"l":2},"a":{"a":0,"k":[181,181,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-98.583],[98.583,0],[0,98.583],[-98.583,0]],"o":[[0,98.583],[-98.583,0],[0,-98.583],[98.583,0]],"v":[[178.5,0],[0,178.5],[-178.5,0],[0,-178.5]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fond 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[181,181],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Groupe 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":10,"op":146,"st":10,"bm":0},{"ddd":0,"ind":8,"ty":5,"nm":"$text","parent":4,"tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":10,"s":[0]},{"t":20,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":83.338,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":10,"s":[137.873]},{"t":40,"s":[207.41]}],"ix":4}},"a":{"a":0,"k":[0.5,-5.463,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"t":{"d":{"k":[{"s":{"s":25,"f":"SourceSansPro-SemiBold","t":"$text","ca":0,"j":2,"tr":20,"lh":30.0000019073486,"ls":0,"fc":[1,1,1]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[]},"ip":10,"op":146,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"VALIDATE_CIRCLE3 Silhouettes","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[82.25,82.25,0],"ix":2,"l":2},"a":{"a":0,"k":[181,181,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0.667],"y":[1,1,1]},"o":{"x":[0.177,0.177,0.333],"y":[0.291,0.291,0]},"t":12,"s":[50,50,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.167,0.167,0.167],"y":[0,0,0]},"t":53,"s":[100,100,100]},{"i":{"x":[0.836,0.836,0.667],"y":[-0.528,-0.528,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":116,"s":[100,100,100]},{"t":146,"s":[50,50,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-98.583],[98.583,0],[0,98.583],[-98.583,0]],"o":[[0,98.583],[-98.583,0],[0,-98.583],[98.583,0]],"v":[[178.5,0],[0,178.5],[-178.5,0],[0,-178.5]],"c":true},"ix":2},"nm":"Tracé 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Contour 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[181,181],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transformer "}],"nm":"Groupe 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":13,"op":146,"st":13,"bm":0}],"markers":[]} diff --git a/resources/quizv2/js/quiz.animations.js b/resources/quizv2/js/quiz.animations.js deleted file mode 100644 index d43a719cc..000000000 --- a/resources/quizv2/js/quiz.animations.js +++ /dev/null @@ -1,37 +0,0 @@ -const lottie = require("lottie-web"); -const $ = require("cash-dom"); - - -function QuizAnimations(quiz) { - this.quiz = quiz; -} - -QuizAnimations.prototype = { - // Load the animation "name" in container - load: function (name, container, replace) { - let json = this.quiz.data.animations[name]; - if (json) { - for (const k in replace) { - json = json.replace(new RegExp(k, 'g'), replace[k]); - } - lottie.loadAnimation({ - container: $(container).get(0), - renderer: 'svg', - loop: false, - autoplay: true, - animationData: JSON.parse(json), - }); - } - }, - - triggeredBtn: function() { - /*$(document).on("mousedown", ".btn", function() { - gsap.to($(this), { scale: .9, duration: 0.3 }); - }).on("mouseup", ".btn", function() { - gsap.to($(this), { scale: 1, duration: 0.3 }); - })*/ - } -} - - -module.exports = QuizAnimations; diff --git a/resources/quizv2/js/quiz.js b/resources/quizv2/js/quiz.js deleted file mode 100644 index b99daff2e..000000000 --- a/resources/quizv2/js/quiz.js +++ /dev/null @@ -1,356 +0,0 @@ -import $ from "cash-dom"; -import gsap from "gsap"; -import { MotionPathPlugin } from "gsap/MotionPathPlugin.js"; -import {CubeSCORM} from '/application/resources/scorm/scorm'; -import lottie from "lottie-web"; -import SplitType from 'split-type' -import SimpleBar from 'simplebar' -import 'simplebar/dist/simplebar.css' -import Handlebars from "handlebars"; - -import QuizResize from "./quiz.resize"; -import QuizAnimations from "./quiz.animations"; -import QuizScore from './quiz.score'; -import QuizScorm from './quiz.scorm'; -import QuizQuestion from './quiz.question'; - -window.cubeSCORM = new CubeSCORM(); -window.$ = window.jQuery = $; - -window.key = require('keymaster-reloaded'); - -import ResizeObserver from 'resize-observer-polyfill'; -window.ResizeObserver = ResizeObserver; - -function Quiz() { -} - -Quiz.prototype = { - init: function () { - let $this = this; - - // Initialisation des modules - this.animations = new QuizAnimations(this); - this.score=new QuizScore(this); - this.scorm=new QuizScorm(this); - this.resize = new QuizResize(this); - this.question = new QuizQuestion(this); - - // Ici seront injectées dans this.data toutes les données du quiz et du thème pour qu'elles soient disponibles - // dans l'object à tout moment - this.data = data; - this.responses = [] - - console.log(this.data); - // ICI tout commence vraiment - console.log(this.data.theme) - - this.timeoutAnimation = false - - // commencer - $(document).on("click", "#start", function() { - $this.start() - }) - - // - $("#quiz").css("background-image","url("+this.data.theme.backgroundImage+")") - - // La fonction resize est appelée à chaque fois qu'un resize de la fenêtre survient (et à l'init de l'app) - $(window).on('resize', function () { - $this.quizResize(); - }); - this.quizResize(); - - //animer le texte d'intro - let title = new SplitType("#welcome h2", { types: 'words, chars' }) - let text = new SplitType("#welcome p", { types: 'words, chars' }) - gsap.from(title.words, { - opacity: 0, - y: 20, - duration: 1, - stagger: 0.05, - onStart: () => { - $(title.elements).removeClass("none") - } - }) - gsap.to(text.words, { - opacity: 1, - y: 0, - duration: 1, - ease: "power1.inOut", - stagger: { - amount: 0.2 - }, - onStart: () => { - $(text.elements).removeClass("none") - } - }) - - // Préparer les réponses du joueur dans l'objet this.responses - // à chaque fois que le formulaire change de valeur - $(document).on("change", ".active-screen form", function(e) { - $this.responses = [] - $(this).find("input:checked").each(function() { - $this.responses.push(parseInt($(this).val())) - }); - }) - - // Passer à la page suivante - // Valider les réponses - $(document).on("click", ".next .action", function () { - let responses = $this.responses - $this.next(responses); - $this.responses = [] - }) - key('space', function (e){ - e.preventDefault() - $this.next(); - }) - - // Réinitialiser les réponses - $(document).on("click", ".btn.reset", function() { - $this.resetForm() - }) - key('r', function (e){ - e.preventDefault() - $this.resetForm() - }) - - if(key.isPressed('R')) { - alert('r') - } - - $(document).on("mousedown", ".btn", function() { - gsap.to($(this), { scale: .95, duration: .2, ease: "back.inOut" }); - }).on("mouseup", ".btn", function() { - gsap.to($(this), { scale: 1, duration: .2 }); - }) - - // - this.activeNav() - }, - - start: function() { - const $this = this - gsap.timeline().to("#welcome-screen", { - opacity: 0, - onComplete: function() { - let responses = $this.responses - $this.next(responses); - $("#welcome-screen").removeClass("next active-screen").addClass("none").next(".container-screen").removeClass("none").addClass("next active-screen") - } - }) - }, - - updateIcons: function () { - $("[data-icon]").each(function () { - var iconId = 'quiz-' + $(this).data('icon'); - // L'icône est déjà en place - if ($(this).children('svg.' + iconId).length) { - return; - } - // Si une autre icône est présente, on la supprime - $(this).children('svg.svg-icon').remove(); - // Puis on ajoute l'icône - var icon = getSpriteIcon(iconId); - if ($(this).is('[data-icon-prepend]')) { - $(this).prepend(icon); - } else { - $(this).append(icon); - } - }); - }, - - quizResize: function () { - this.updateIcons(); - this.resize.resize(); - }, - - next: function (responses) { - // on arrête l'animation si le joueur passe à la question suivante - this.stopAnimationValidation() - - let status = quiz.score.questionStatus - let currentPosition = quiz.score.lastAnsweredQuestion + 1 - - const $el = $(".active-screen .btn.action") - - quiz.score.updateScore() - // if form exist and responses are validated - // dont miss to add this second condition - if($(".active-screen form").length > 0) { - if(status.length > 0) { - if(status[this.question.currentPosition()].ok === "not answered") { - this.validateResponse(responses); - this.updateBtnValidation("validated") - return false - } - } - } - - $el.parents(".container-screen").addClass("none").removeClass("next active-screen").next(".container-screen").removeClass("none").addClass("next active-screen") - this.resetForm() - // on incrémente de 1 la position actuelle de la question (qui commence à l'index zero) - // pour récupérer le premier enfant de la nav - this.activeNav( (parseInt(this.question.currentPosition())+1) ) - this.updateBtnValidation() - // si c'est la dernière question a été validée alors on affiche le résultat au prochain screen - if(this.question.last(currentPosition)) { - this.result() - } - }, - - // marque page automatique - // si le joueur recharge la page, le rediriger là où il en était - setDisplay: function() { - const currentQuestion = quiz.score.lastAnsweredQuestion + 1, - questions = this.quiz.questions - - if(questions.length > 0) { - if (quiz.score.lastAnsweredQuestion > -1 && questions.length <= currentQuestion) { - // - } - } - }, - - resetForm: () => { - $("form").find("input").prop("checked", false) - }, - - updateBtnValidation: function(status) { - let $btnAction = $(".footer-question .action"), - validationText = $btnAction.data("validation-text"), - continueText = $btnAction.data("continue-text") - - $btnAction.find('.text').text(status === "validated" ? continueText : validationText) - }, - - validateResponse: function(responses) { - const form = $(".active-screen form") - const activeScreen = $(".active-screen") - const position = activeScreen.data("position") - - if(form) { - if(form.length > 0) { - let validated = quiz.score.setAnswer(position,responses); - if(validated.ok === "ok") { - this.animationValidation("OK") - }else { - this.animationValidation("NOK") - } - this.resultAfterValidation(validated.status[position].answers) - } - return false - } - }, - - activeNav: function(position = 1) { - const questionStatus = quiz.score.questionStatus - const lastAnsweredQuestion = quiz.score.lastAnsweredQuestion - if($(".active-screen").find(".progress-item").length > 0) { - let $el = $(".progress-container .progress-item:nth-child(" + position + ")") - - $(".progress-container .progress-item").removeClass("active") - $el.addClass("active") - - let n = (lastAnsweredQuestion + 1) - let $_el = $(".progress-container .progress-item:nth-child(" + n + ")") - - if (lastAnsweredQuestion > -1) { - if (questionStatus[lastAnsweredQuestion].ok === 'ok') { - $_el.addClass("ok") - } - if (questionStatus[lastAnsweredQuestion].ok === 'nok') { - $_el.addClass("nok") - } - } - } - }, - - animationValidation: function(status) { - let selector = $("#anim") - let text = status === "NOK" ? "Not quite" : "Perfect" - let $this = this - this.animations.load(status, selector, {'\\$text': text}); - selector.addClass("active") - this.timeoutAnimation = setTimeout(function(e){ - $this.stopAnimationValidation() - }, 10000) - }, - - stopAnimationValidation: function() { - $("#anim").removeClass("active").empty() - if(this.timeoutAnimation) - clearTimeout(this.timeoutAnimation) - }, - - resultAfterValidation: function(datas) { - for(let k in datas) { - let n = (parseInt(k) + 1) - let icon = getSpriteIcon("quiz-ok") - let $el = $(".active-screen .question-multiple .list-item:nth-of-type("+n+") label") - $el.addClass(datas[k]) - if(datas[k] === "nok") { - icon = getSpriteIcon("quiz-wrong") - } - if(datas[k] !== "neutral") { - $el.find(".access").addClass(datas[k]).html(icon) - } - } - }, - - result: function() { - let maxScore = quiz.score.maxScore, - score = quiz.score.score - - let status = quiz.score.questionStatus - let reviewList = this.question.getAll(); - - const counter = $("#progress-counter") - if(score < (maxScore / 2)) { - counter.addClass("nok") - }else if(score >= (maxScore / 2)) { - counter.addClass("ok") - } - - reviewList = reviewList.map((c,i) => { - return { - 'question': c['question'], - 'answers': c['answers'].filter((c) => { - return c['correct'] === 1 - }), - 'status': status[i].ok - } - }) - let $ul = $("#answers-list") - - $("[id^=score-]").text(score) - $("[id^=maxScore-]").text(maxScore) - - // - // HANDLEBARS TEMPLATING - // - // on applique une incrementation de +1 - // utilisé pour la numérotation des questions - Handlebars.registerHelper("inc", (value) => { return parseInt(value) + 1; }); - - // on envoie le html avec les nouvelles données - const source = $("#template-answers-review").html(); - const template = Handlebars.compile(source); - const html = template({reviewList: reviewList}); - $ul.html(html) - - // mise en place de la scrollbar personnalisé - // https://github.com/Grsmto/simplebar/tree/master/packages/simplebar - const simpleBar = new SimpleBar($ul.get(0)) - }, - - restart: function() { - - } -} - -$(function () { - window.quiz = new Quiz(); - window.quiz.init(); -}); diff --git a/resources/quizv2/js/quiz.question.js b/resources/quizv2/js/quiz.question.js deleted file mode 100644 index f659d07e0..000000000 --- a/resources/quizv2/js/quiz.question.js +++ /dev/null @@ -1,37 +0,0 @@ -var QuizQuestion = function(quiz) { - this.quiz = quiz; - this.init(); -} - -QuizQuestion.prototype = { - init: function(){ - - }, - - getAll: function() { - return this.quiz.data.questions - }, - - byPosition: function(pos) { - return this.quiz.data.questions[parseInt(pos)] - }, - - currentPosition: function() { - return $(document).find(".active-screen").data("position"); - }, - - current: function() { - let currentPosition = this.currentPosition() - return this.byPosition(currentPosition) - }, - - last: function(position) { - return this.quiz.data.questions.length === parseInt(position) - }, - - getFormData: function(responses) { - // - }, -} - -module.exports = QuizQuestion; diff --git a/resources/quizv2/js/quiz.resize.js b/resources/quizv2/js/quiz.resize.js deleted file mode 100644 index b68ab5a8d..000000000 --- a/resources/quizv2/js/quiz.resize.js +++ /dev/null @@ -1,14 +0,0 @@ -function QuizResize(quiz) { - this.quiz = quiz; -} - -QuizResize.prototype = { - resize: function () { - this.ww = $(window).width(); - this.hh = $(window).height(); - - // Exécuter ici toutes opérations qui doivent intervenir lorsque la fenêtre est redimensionnée par le système ou l'utilisateur - }, -} - -module.exports = QuizResize; diff --git a/resources/quizv2/js/quiz.score.js b/resources/quizv2/js/quiz.score.js deleted file mode 100644 index b3367885c..000000000 --- a/resources/quizv2/js/quiz.score.js +++ /dev/null @@ -1,153 +0,0 @@ -const $ = require("cash-dom"); - -function QuizScore(quiz) { - this.quiz = quiz; - this.logQuestions = []; - // Le score global du quiz - this.score = 0; - this.maxScore = 0; - this.questionStatus = []; - this.answers = []; - this.lastAnsweredQuestion = -1; - this.init(); -} - -QuizScore.prototype = { - init: function () { - - }, - - /** - * - * @param questionIndex integer - * @param answers array - * @returns {{ok, status: []}} - */ - setAnswer: function (questionIndex, answers) { - this.lastAnsweredQuestion = questionIndex; - this.answers[questionIndex] = answers; - this.updateScore(); - return { - ok: this.questionStatus[questionIndex].ok, - score: this.score, - maxScore: this.maxScore, - status: this.questionStatus - }; - }, - - checkQuestion: function (questionIndex) { - let question = this.quiz.data.questions[questionIndex]; - - let a = []; - let ok = 'ok'; - let count = question.count_for_score; - let log = { - 'count': count, - }; - - let answersStatus = []; - let userAnswers = this.answers[questionIndex]; - let min_score = 0; - let this_score = 0; - if (userAnswers === undefined || userAnswers === null) { - ok = 'not answered'; - } else { - let $this = this; - if (question.type === 'multiple') { - // Le score de la question - min_score = this.getMinScore(question); - this_score = 0; - for (let answerIndex in question.answers) { - answerIndex = parseInt(answerIndex); - const answer = question.answers[answerIndex]; - - let checkedByUser = userAnswers.indexOf(answerIndex) >= 0; - if (parseInt(answer.correct) === 1) { - if (checkedByUser) { - // C'est une bonne réponse et elle a été cochée par l'utilisateur - this_score += answer.score; - answersStatus[answerIndex] = 'ok'; - } else { - // C'est une bonne réponse, mais elle n'a pas été cochée par l'utilisateur - answersStatus[answerIndex] = 'missed'; - } - } else { - if (checkedByUser) { - // C'est une mauvaise réponse et elle a été cochée par l'utilisateur - this_score -= answer.score; - answersStatus[answerIndex] = 'nok'; - } else { - // C'est une bonne réponse et elle n'a pas été cochée par l'utilisateur - answersStatus[answerIndex] = 'neutral'; - } - } - } - ok = this_score >= min_score ? 'ok' : 'nok'; - - log.answer = a; - } else { - log.answer = $(this).find('input,textarea,select').val(); - } - } - - if (!count) { - ok = 'ok'; - } - - this.questionStatus[questionIndex] = { - ok: ok, - answers: answersStatus, - // dbg_min_score: min_score, - // dbg_this_score: this_score - }; - - if (count) { - this.maxScore++; - if (ok == 'ok') { - this.score++; - log.score = 1; - } else { - log.score = 0; - } - } else { - log.score = 0; - } - this.logQuestions[questionIndex] = log; - }, - - getMinScore: function (question) { - // Le score minimal est le score que l'utilisateur doit atteindre sur une question pour que sa réponse soit considérée - let min_score = parseInt(question.min_score); - if (min_score === 0) { - min_score = 0; - for (const answerIndex in question.answers) { - const answer = question.answers[answerIndex]; - if (answer.correct === 1) { - min_score += answer.score; - } - } - } - return min_score; - }, - - updateScore: function () { - this.maxScore = 0; - this.score = 0; - this.logQuestions = []; - - for (const qn in this.quiz.data.questions) { - this.checkQuestion(qn); - } - - let state = { - q: this.lastAnsweredQuestion + 1, a: this.answers - }; - - if (cubeSCORM.SCORM) { - cubeSCORM.setSCORMLocation(state); - } - }, -}; - -module.exports = QuizScore; - diff --git a/resources/quizv2/js/quiz.scorm.js b/resources/quizv2/js/quiz.scorm.js deleted file mode 100644 index b5e5570e1..000000000 --- a/resources/quizv2/js/quiz.scorm.js +++ /dev/null @@ -1,7 +0,0 @@ -function QuizScorm(quiz) { - this.quiz = quiz; -} - -QuizScorm.prototype = {}; - -module.exports = QuizScorm; diff --git a/resources/quizv2/style/001-global-variables.sass b/resources/quizv2/style/001-global-variables.sass deleted file mode 100644 index e69de29bb..000000000 diff --git a/resources/quizv2/style/002-item-variables.sass b/resources/quizv2/style/002-item-variables.sass deleted file mode 100644 index 9e5f8fc13..000000000 --- a/resources/quizv2/style/002-item-variables.sass +++ /dev/null @@ -1 +0,0 @@ -// Do not edit this file, quiz variables will be populated at compile time diff --git a/resources/quizv2/style/003-reset.sass b/resources/quizv2/style/003-reset.sass deleted file mode 100644 index 45897f9ce..000000000 --- a/resources/quizv2/style/003-reset.sass +++ /dev/null @@ -1,51 +0,0 @@ -/* http://meyerweb.com/eric/tools/css/reset/ - v2.0 | 20110126 - License: none (public domain) */ - -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video, main - margin: 0 - padding: 0 - border: 0 - font-size: 100% - font: inherit - vertical-align: baseline - box-sizing: border-box - - -/* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section, main - display: block - - -body - line-height: 1 - - -ol, ul - list-style: none - - -blockquote, q - quotes: none - -blockquote:before, blockquote:after, -q:before, q:after - content: '' - content: none - -table - border-collapse: collapse - border-spacing: 0 diff --git a/resources/quizv2/style/004-mixins.sass b/resources/quizv2/style/004-mixins.sass deleted file mode 100644 index bd8e37f9c..000000000 --- a/resources/quizv2/style/004-mixins.sass +++ /dev/null @@ -1,49 +0,0 @@ -@mixin above($min-width) - @media (min-width: $min-width) - @content - - -@mixin below($max-width) - @media (max-width: $max-width) - @content - - -@mixin breakpoint($breakpoint, $direction: min) - $breakpoint-values: map-get($breakpoints, $breakpoint) - $breakpoint: map-get($breakpoint-values, $direction) - @media (#{$direction}-width: $breakpoint) - @content - - -@mixin opacity($opacity, $rule: background-color, $color: $texts-color) - #{$rule}: rgba($color,$opacity) - - -@mixin flex-config($justify-content: false, $flex: false, $flex-direction: false, $align-items: false) - display: flex - - @if $justify-content != false - justify-content: $justify-content - - @if $flex != false - flex: $flex - - @if $flex-direction != false - flex-direction: $flex-direction - - @if $align-items != false - align-items: $align-items - - -@mixin font-size($size) - font-size: #{$size}px - line-height: map-get($fonts-size,$size) - - -@mixin padding-container() - padding: 16px - +breakpoint(md) - padding: 24px - -@mixin radius($size) - border-radius: $size diff --git a/resources/quizv2/style/005-utilities.sass b/resources/quizv2/style/005-utilities.sass deleted file mode 100644 index adc845c6b..000000000 --- a/resources/quizv2/style/005-utilities.sass +++ /dev/null @@ -1,12 +0,0 @@ -.radius - border-radius: 16px - -.relative - position: relative - -.none - display: none !important - -\:root - --space-21-66: clamp(1.31rem, calc(0.29rem + 5.11vw), 4.13rem) - diff --git a/resources/quizv2/style/100-global.sass b/resources/quizv2/style/100-global.sass deleted file mode 100644 index 763a60da3..000000000 --- a/resources/quizv2/style/100-global.sass +++ /dev/null @@ -1,86 +0,0 @@ -@import 005-utilities - -body - background-color: $neutral-color - font-family: $font - color: $texts-color - -[data-icon] svg - height: 20px - -.container - +flex-config(center,false,false,center) - min-height: 100vh - -#quiz - width: 100% - max-width: 1200px - min-height: 680px - margin: 0 auto - padding: 24px 24px - position: relative - -.btn - padding: 0 12px - text-align: center - font-size: 20px - border: none - cursor: pointer - display: inline-block - height: 58px - +flex-config(center,false,false,center) - @extend .radius - +font-size(20) - &.primary - background: radial-gradient(at 16% 6px, rgb(255, 102, 186) -7%, #D0167C 74%) - box-shadow: 0 4px 6px rgba(0,0,0,.2) - &.secondary - +opacity(.16) - padding-left: 22px - &.reset - max-width: 144px - &.info - max-width: 177px - -.access - width: 34px - height: 34px - border-radius: 4px - +font-size(16) - +opacity(.16) - text-transform: uppercase - margin-left: 16px - +flex-config(center,false,false,center) - border: 0 - &.space - width: 70px - &.infos - width: 40px - &.ok - +opacity(.24, background-color, $ok-color) - - &.ok, - &.missed - svg - color: $ok-color - &.nok - +opacity(.24, background-color, $nok-color) - svg - color: $nok-color - &.ok, - &.nok, - &.missed - svg - width: 15px - height: 15px - -.screen - position: relative - z-index: 1 - &-image - position: absolute - top: 0 - left: 0 - height: 100% - width: 100% - z-index: 0 diff --git a/resources/quizv2/style/101-header-footer.sass b/resources/quizv2/style/101-header-footer.sass deleted file mode 100644 index d4a269eb0..000000000 --- a/resources/quizv2/style/101-header-footer.sass +++ /dev/null @@ -1,57 +0,0 @@ -header, -footer - position: relative - -header - z-index: 1 - -#title - height: 80px - +flex-config(space-between,false,row,center) - margin-top: -24px - -#logo - height: 40px - filter: brightness(10) - -.header-question - text-align: center - .abovetitle - +font-size(16) - .progress-container - margin: 6px 0 16px - +flex-config(center,false,false,center) - .progress-item - width: 16px - height: 4px - border-radius: 100px - +opacity(.16) - display: inline-flex - transition: background-color .3s - &:not(:last-of-type) - margin-right: 7px - &.active - background-color: $texts-color - &.ok - background-color: $ok-color - &.nok - background-color: $nok-color - h1 - +font-size(24) - -.footer - position: absolute - bottom: 0 - left: 0 - width: 100% - z-index: 2 - +flex-config(space-between,false,row,center) - +padding-container() - - .btn.primary - width: 100% - max-width: 400px - position: absolute - left: 50% - bottom: 24px - transform: translateX(-50%) diff --git a/resources/quizv2/style/102-intro.sass b/resources/quizv2/style/102-intro.sass deleted file mode 100644 index f6d3b3221..000000000 --- a/resources/quizv2/style/102-intro.sass +++ /dev/null @@ -1,16 +0,0 @@ -#welcome - max-width: 590px - margin: 0 auto - top: 160px - h2 - margin: 0 0 12px - +font-size(20) - clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%) - - p - +font-size(16) - clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%) - - .word - opacity: 0 - transform: translateY(100px) diff --git a/resources/quizv2/style/103-question-multiple.sass b/resources/quizv2/style/103-question-multiple.sass deleted file mode 100644 index fed8e2e90..000000000 --- a/resources/quizv2/style/103-question-multiple.sass +++ /dev/null @@ -1,40 +0,0 @@ -.screen.question-multiple - top: 93px - .list - display: grid - grid-template-columns: repeat(2, 1fr) - grid-gap: 16px - &-item - label - width: 100% - height: 58px - @extend .radius - +opacity(.80,background-color,$neutral-color) - +flex-config(space-between,false,false,center) - padding: 0 16px - cursor: pointer - border: 2px solid rgba($texts-color, .24) - position: relative - overflow: hidden - &:after - content: "" - width: 100% - height: 100% - position: absolute - top: 0 - left: 0 - transition: background-color .1s ease-out - &.ok:after, - &.missed:after - // - +opacity(.24,background-color,$ok-color) - * - z-index: 1 - - input:checked+label - border-color: $texts-color - transition: border-color .1s ease-out - &:after - +opacity(.16) - &.nok:after - background: transparent diff --git a/resources/quizv2/style/104-animations.sass b/resources/quizv2/style/104-animations.sass deleted file mode 100644 index 4ef9ee3bd..000000000 --- a/resources/quizv2/style/104-animations.sass +++ /dev/null @@ -1,22 +0,0 @@ -#anim - position: absolute - top: 50% - left: 50% - transform: translate(-50%,-50%) - z-index: 1 - width: 100% - height: 100% - +opacity(.4, background-color, $neutral-color) - backdrop-filter: blur(4px) - // règle ie > 9 à tester - // filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius='3') - opacity: 0 - visibility: hidden - transition: all 1s - svg - position: relative - z-index: 1 - &.active - visibility: visible - opacity: 1 - transition: all 1s diff --git a/resources/quizv2/style/105-outro.sass b/resources/quizv2/style/105-outro.sass deleted file mode 100644 index 0438c0ee8..000000000 --- a/resources/quizv2/style/105-outro.sass +++ /dev/null @@ -1,147 +0,0 @@ -.score - height: 576px //680(hauteur de base) - 80(hauteur du header) - 24(padding inférieure) - +opacity(.48,background-color,$neutral-color) - border-radius: 40px - overflow: hidden - +flex-config(false,false,row,stretch) - - .subtitle - +opacity(.8,color,$texts-color) - - &-content - flex: 1 - padding: 24px - position: relative - h1 - +font-size(40) - margin-bottom: 9px - .subtitle - +font-size(16) - - &-content-wrapper - +flex-config(false,false,false,center) - position: relative - top: var(--space-21-66) - left: var(--space-21-66) - - &-counter - height: 0 - padding-bottom: 31% - width: 31% - max-width: 210px - position: relative - +font-size(80) - margin-right: 60px - - #progress-counter - width: 100% - height: 100% - position: absolute - top: 0 - left: 0 - border-radius: 100px - background: transparent - +flex-config(center,false,false,center) - &.nok * - color: $nok-color - &.ok * - color: $ok-color - - svg - overflow: visible - width: calc(100% - 12px) - height: calc(100% - 12px) - transform: rotate(-90deg) - position: absolute - circle - stroke-width: 12px - circle:not(#progress-circle) - +opacity(.16,color,$texts-color) - circle#progress-circle - transition: stroke-dashoffset 0.5s ease-in-out - - &-answers-review - width: 36.11111% - background-color: $neutral-color - padding: 24px 24px 0 - position: relative - h2 - +font-size(24) - margin-bottom: 5px - .subtitle - +font-size(16) - margin-bottom: 22px - - &:after - content: "" - width: 100% - height: 80px - position: absolute - bottom: 0 - left: 0 - background: linear-gradient(to bottom,transparent, rgba($neutral-color,.8)) - - #answers-list - height: 85% - padding-right: 24px - .item - padding-left: 20px - margin-bottom: 22px - position: relative - * - +font-size(14) - &:after - content: "" - width: 12px - height: 12px - position: absolute - left: 0 - top: 4px - border-radius: 20px - &.ok - // - &:after - background-color: $ok-color - .position - color: $ok-color - &.nok - // - &:after - background-color: $nok-color - .position - color: $nok-color - - .question - margin-bottom: 2px - - .answer - +opacity(.8,color,$texts-color) - - - footer - position: absolute - width: calc(100% - 48px) - bottom: 24px - .restart-sentence - margin-bottom: 14px - .controls - +flex-config(space-between) - - - // SimpleBar personalisation - .simplebar-wrapper - height: 100% - .simplebar-track - +opacity(.08,background-color,$texts-color) - border-radius: 20px - &.simplebar-vertical - height: 93% - width: 5px - .simplebar-scrollbar::before - background-color: #77679f - opacity: 1 !important - width: 3px - top: 1px - bottom: 1px - left: 1px - right: 1px diff --git a/resources/quizv2/style/106-question-draganddrop.sass b/resources/quizv2/style/106-question-draganddrop.sass deleted file mode 100644 index 9d599e9f7..000000000 --- a/resources/quizv2/style/106-question-draganddrop.sass +++ /dev/null @@ -1,94 +0,0 @@ -.container-screen.question-draganddrop - .screen-image - width: auto - img - height: 100% - &.zone-1 - .zone-content - left: 24px - &.zone-2 - left: initial - right: 0 - .zone-content - right: 24px - .zone-content - position: absolute - top: 50% - transform: translateY(-50%) - width: 100% - max-width: 180px - .text - margin-bottom: 21px - - form - +opacity(.08,background-color,$texts-color) - +radius(16px) - padding: 8px - border: 1px dashed rgba($texts-color,.4) - .slot - width: 100% - height: 51px - border: 1px solid rgba($texts-color,.24) - +radius(8px) - - .screen - +flex-config(center, false, false, center) - margin-top: 92px - .list - position: relative - width: 100% - max-width: 368px - height: 225px - margin: 0 16px - &-item - position: absolute - width: 100% - height: 100% - +radius(16px) - &:nth-child(1) - background-color: $neutral-color - z-index: 4 - border: 2px solid $texts-color - padding: 20px - &:nth-child(2) - opacity: .64 - +opacity(.8,background-color,$neutral-color) - transform: scale(.9) - z-index: 3 - top: 32px - &:nth-child(3) - opacity: .4 - +opacity(.8,background-color,$neutral-color) - transform: scale(.81) - z-index: 2 - top: 61px - &:nth-child(4) - opacity: .16 - +opacity(.8,background-color,$neutral-color) - transform: scale(0.72) - z-index: 1 - top: 91px - &:not(:nth-child(-n+4)) // on cache les items à partir du 5ème - opacity: 0 - visibility: hidden - - - .controls - width: 124px - padding: 12px 0 - +font-size(20) - +opacity(.16,background-color,$texts-color) - border-radius: 16px - text-align: center - &.left .access - transform: rotate(-90deg) - &.right .access - transform: rotate(90deg) - p - margin-bottom: 5px - .access - margin: 0 auto - span - display: flex - svg - color: $texts-color diff --git a/resources/quizv2/style/style.sass b/resources/quizv2/style/style.sass deleted file mode 100644 index b3a649cc4..000000000 --- a/resources/quizv2/style/style.sass +++ /dev/null @@ -1,12 +0,0 @@ -@import 001-global-variables -@import 002-item-variables -@import 003-reset -@import 004-mixins - -@import 100-global -@import 101-header-footer -@import 102-intro -@import 103-question-multiple -@import 104-animations -@import 105-outro -@import 106-question-draganddrop diff --git a/resources/views/quizv2/footer.blade.php b/resources/views/quizv2/footer.blade.php deleted file mode 100644 index a4de04a21..000000000 --- a/resources/views/quizv2/footer.blade.php +++ /dev/null @@ -1,21 +0,0 @@ - diff --git a/resources/views/quizv2/header_question.blade.php b/resources/views/quizv2/header_question.blade.php deleted file mode 100644 index dda7f1fa0..000000000 --- a/resources/views/quizv2/header_question.blade.php +++ /dev/null @@ -1,12 +0,0 @@ -
-

{{ __('Question').' '.($position+1).'/'.$max }}

-
- @for($i = 0; $i < $max; $i++) - - @endfor -
-

{{$data['question']}}

- @if($data['type'] === "draganddrop") -

Use arrow keys to move the cards to the corresponding zone

- @endif -
diff --git a/resources/views/quizv2/header_title.blade.php b/resources/views/quizv2/header_title.blade.php deleted file mode 100644 index 38bd0537d..000000000 --- a/resources/views/quizv2/header_title.blade.php +++ /dev/null @@ -1,4 +0,0 @@ -
-

{{$data->title}}

- -
diff --git a/resources/views/quizv2/index.blade.php b/resources/views/quizv2/index.blade.php deleted file mode 100644 index a01d88afd..000000000 --- a/resources/views/quizv2/index.blade.php +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - {{$data->title}} - - - -@include("quizv2.sprite") -@php - $totalQuestion = sizeof($data->questions); - $alphabet = range('A', 'Z'); -@endphp -
-
- @if($data->intro_enable) - @include('quizv2.screens.intro', ['data'=> $data]) - @endif - @foreach($data->questions as $key => $question) - @include('quizv2.screens.question_'.$question['type'], ['theme' => $data->theme, 'data'=> $question, 'max' => $totalQuestion, 'position' => $key, 'alphabet' => $alphabet]) - @endforeach - @include('quizv2.screens.outro', ['data'=> $data]) -
-
-
- - - diff --git a/resources/views/quizv2/screens/intro.blade.php b/resources/views/quizv2/screens/intro.blade.php deleted file mode 100644 index 291f435ef..000000000 --- a/resources/views/quizv2/screens/intro.blade.php +++ /dev/null @@ -1,16 +0,0 @@ -@php - $absPath = \App\Models\Quiz::find($data->id)->getPreviewURL(); -@endphp - diff --git a/resources/views/quizv2/screens/outro.blade.php b/resources/views/quizv2/screens/outro.blade.php deleted file mode 100644 index f2d6868f9..000000000 --- a/resources/views/quizv2/screens/outro.blade.php +++ /dev/null @@ -1,59 +0,0 @@ -
- @include('quizv2.header_title', ['data', $data]) -
-
-
-
-
- 0/0 - - - - -
-
-
-

Congratulation!

-

You have completed the quiz
with - correct answers out of

-
-
- -
-
-

Answers review

-

Review your answers before you go

-
    - @verbatim - - @endverbatim -
-
-
-
diff --git a/resources/views/quizv2/screens/question_draganddrop.blade.php b/resources/views/quizv2/screens/question_draganddrop.blade.php deleted file mode 100644 index 2052723fa..000000000 --- a/resources/views/quizv2/screens/question_draganddrop.blade.php +++ /dev/null @@ -1,50 +0,0 @@ -
-
- -
-
-

Zone 1

-

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh

-
-
- @foreach($data['answers'] as $key => $answer) -
-
- @endforeach -
-
-
- @include('quizv2.header_question', ['data' => $data, 'max' => $max, 'position' => $position]) -
-
-

Move left

- -
-
    - @foreach($data['answers'] as $key => $answer) -
  • - {{$answer['answer']}} -
  • - @endforeach -
-
-

Move right

- -
-
-
- -
-
-

Zone 1

-

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh

-
-
- @foreach($data['answers'] as $key => $answer) -
- @endforeach -
-
-
- @include('quizv2.footer', ['data' => $data, 'reset' => true, 'text' => 'Validate answer', 'info' => true]) -
diff --git a/resources/views/quizv2/screens/question_multiple.blade.php b/resources/views/quizv2/screens/question_multiple.blade.php deleted file mode 100644 index 6357f4897..000000000 --- a/resources/views/quizv2/screens/question_multiple.blade.php +++ /dev/null @@ -1,22 +0,0 @@ -
- @include('quizv2.header_question', ['data' => $data, 'max' => $max, 'position' => $position]) -
-
-
    - @foreach($data['answers'] as $key => $answer) -
  • - - -
  • - @endforeach -
-
-
-
- -
- @include('quizv2.footer', ['data' => $data, 'reset' => true, 'text' => 'Validate answer', 'info' => true]) -
diff --git a/resources/views/quizv2/sprite.blade.php b/resources/views/quizv2/sprite.blade.php deleted file mode 100644 index 29cc12979..000000000 --- a/resources/views/quizv2/sprite.blade.php +++ /dev/null @@ -1,47 +0,0 @@ -{{-- - -Downloaded from https://toolbox.fluidbook.com/tool-sprite/9/download -Edit here : https://toolbox.fluidbook.com/tool-sprite/9/edit - ---}} - -- 2.39.5