From 4d18580482fca5e68a3437e3f3d992f5acd86beb Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Thu, 19 Dec 2024 23:00:28 +0530 Subject: [PATCH 01/62] feat: batch student progress modal --- frontend/package.json | 2 + frontend/src/components/BatchStudents.vue | 274 ++++++++-- .../Modals/BatchStudentProgress.vue | 113 +++++ frontend/src/components/ProgressBar.vue | 32 +- frontend/src/pages/Batch.vue | 2 +- frontend/yarn.lock | 467 ++---------------- lms/lms/utils.py | 5 + 7 files changed, 422 insertions(+), 473 deletions(-) create mode 100644 frontend/src/components/Modals/BatchStudentProgress.vue diff --git a/frontend/package.json b/frontend/package.json index 0fc71fa32..c8ccf5bb2 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -20,6 +20,7 @@ "@editorjs/simple-image": "^1.6.0", "@editorjs/table": "^2.4.2", "ace-builds": "^1.36.2", + "apexcharts": "^4.3.0", "chart.js": "^4.4.1", "codemirror-editor-vue3": "^2.8.0", "dayjs": "^1.11.6", @@ -35,6 +36,7 @@ "vue-chartjs": "^5.3.0", "vue-draggable-next": "^2.2.1", "vue-router": "^4.0.12", + "vue3-apexcharts": "^1.8.0", "vuedraggable": "4.1.0" }, "devDependencies": { diff --git a/frontend/src/components/BatchStudents.vue b/frontend/src/components/BatchStudents.vue index 8717306b8..46e7fb15b 100644 --- a/frontend/src/components/BatchStudents.vue +++ b/frontend/src/components/BatchStudents.vue @@ -1,21 +1,36 @@ -
+
+ +
+
{{ row[column.key] }}
-
+ @@ -90,11 +111,14 @@ v-model="showStudentModal" v-model:reloadStudents="students" /> + diff --git a/frontend/src/components/Modals/BatchStudentProgress.vue b/frontend/src/components/Modals/BatchStudentProgress.vue new file mode 100644 index 000000000..e0cc443d4 --- /dev/null +++ b/frontend/src/components/Modals/BatchStudentProgress.vue @@ -0,0 +1,113 @@ + + diff --git a/frontend/src/components/ProgressBar.vue b/frontend/src/components/ProgressBar.vue index f1fb1fde9..1e8045b51 100644 --- a/frontend/src/components/ProgressBar.vue +++ b/frontend/src/components/ProgressBar.vue @@ -1,24 +1,44 @@ diff --git a/frontend/src/pages/Batch.vue b/frontend/src/pages/Batch.vue index 5c0dc8b54..4bea2b6e2 100644 --- a/frontend/src/pages/Batch.vue +++ b/frontend/src/pages/Batch.vue @@ -94,7 +94,7 @@
-
+
=0.14.8" +"@yr/monotone-cubic-spline@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@yr/monotone-cubic-spline/-/monotone-cubic-spline-1.0.3.tgz#7272d89f8e4f6fb7a1600c28c378cc18d3b577b9" + integrity sha512-FQXkOta0XBSUPHndIKON2Y9JeQz5ZeMqLYZVVK93FliNBFm7LNMIZmY6FrMEB9XPcDbE2bekMbZD6kzDkxwYjA== + ace-builds@^1.36.2: version "1.36.5" resolved "https://registry.yarnpkg.com/ace-builds/-/ace-builds-1.36.5.tgz#ae9cc7a32eccc2f484926131c00545cd6b78a6a6" integrity sha512-mZ5KVanRT6nLRDLqtG/1YQQLX/gZVC/v526cm1Ru/MTSlrbweSmqv2ZT0d2GaHpJq035MwCMIrj+LgDAUnDXrg== -ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg== - ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" @@ -964,6 +959,18 @@ anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" +apexcharts@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/apexcharts/-/apexcharts-4.3.0.tgz#eccf28e830ce1b5e018cfc0e99d1c6af0076c9c7" + integrity sha512-PfvZQpv91T68hzry9l5zP3Gip7sQvF0nFK91uCBrswIKX7rbIdbVNS4fOks9m9yP3Ppgs6LHgU2M/mjoG4NM0A== + dependencies: + "@svgdotjs/svg.draggable.js" "^3.0.4" + "@svgdotjs/svg.filter.js" "^3.0.8" + "@svgdotjs/svg.js" "^3.2.4" + "@svgdotjs/svg.resize.js" "^2.0.2" + "@svgdotjs/svg.select.js" "^4.0.1" + "@yr/monotone-cubic-spline" "^1.0.3" + arg@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" @@ -981,11 +988,6 @@ aria-hidden@^1.2.4: dependencies: tslib "^2.0.0" -async@~0.2.6: - version "0.2.10" - resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" - integrity sha512-eAkdoKxU6/LkKDBzLpT+t6Ff5EtfSF4wx1WfJiPEEV7WNLnDaRXk0oVysiEPm262roaachGexwUv94WhSgN5TQ== - autoprefixer@^10.4.2: version "10.4.20" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.20.tgz#5caec14d43976ef42e32dcb4bd62878e96be5b3b" @@ -998,21 +1000,11 @@ autoprefixer@^10.4.2: picocolors "^1.0.1" postcss-value-parser "^4.2.0" -bail@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" - integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== - balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - binary-extensions@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" @@ -1052,21 +1044,6 @@ caniuse-lite@^1.0.30001646, caniuse-lite@^1.0.30001669: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001686.tgz#0e04b8d90de8753188e93c9989d56cb19d902670" integrity sha512-Y7deg0Aergpa24M3qLC5xjNklnKnhsmSyR/V89dLZ1n0ucJIFNs7PgR2Yfa/Zf6W79SbBicgtGxZr2juHkEUIA== -character-entities-legacy@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" - integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== - -character-entities@^1.0.0: - version "1.2.4" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" - integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== - -character-reference-invalid@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" - integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== - chart.js@^4.4.1: version "4.4.7" resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-4.4.7.tgz#7a01ee0b4dac3c03f2ab0589af888db296d896fa" @@ -1148,22 +1125,6 @@ cross-spawn@^7.0.0: shebang-command "^2.0.0" which "^2.0.1" -css-loader@^5.0.0: - version "5.2.7" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.7.tgz#9b9f111edf6fb2be5dc62525644cbc9c232064ae" - integrity sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg== - dependencies: - icss-utils "^5.1.0" - loader-utils "^2.0.0" - postcss "^8.2.15" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.0" - postcss-modules-scope "^3.0.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.1.0" - schema-utils "^3.0.0" - semver "^7.3.5" - cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" @@ -1179,13 +1140,6 @@ dayjs@^1.11.6: resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.13.tgz#92430b0139055c3ebb60150aa13e860a4b5a366c" integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg== -debug@^4.0.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" - integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== - dependencies: - ms "^2.1.3" - debug@~4.3.1, debug@~4.3.2: version "4.3.7" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" @@ -1218,17 +1172,6 @@ eastasianwidth@^0.2.0: resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== -editorjs-md-parser@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/editorjs-md-parser/-/editorjs-md-parser-0.0.3.tgz#cd54c6caca72590894eb5c61827b73ecbb557666" - integrity sha512-8ohPGuCoO3oag5wjky+sukP5BV4fEGhnzElxOfoLhpdYrLmMB1uTVgOOlYknoZLozAWOb4cpx1zUS9qVvK0V4g== - dependencies: - css-loader "^5.0.0" - remark "^13.0.0" - remark-parse "^9.0.0" - require "^2.4.20" - style-loader "^2.0.0" - electron-to-chromium@^1.5.41: version "1.5.68" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.68.tgz#4f46be4d465ef00e2100d5557b66f4af70e3ce6c" @@ -1244,11 +1187,6 @@ emoji-regex@^9.2.2: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - engine.io-client@~6.6.1: version "6.6.2" resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.6.2.tgz#e0a09e1c90effe5d6264da1c56d7281998f1e50b" @@ -1314,12 +1252,7 @@ estree-walker@^2.0.2: resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== -extend@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: +fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== @@ -1335,11 +1268,6 @@ fast-glob@^3.3.2: merge2 "^1.3.0" micromatch "^4.0.4" -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - fastq@^1.6.0: version "1.17.1" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" @@ -1455,29 +1383,11 @@ hasown@^2.0.2: dependencies: function-bind "^1.1.2" -icss-utils@^5.0.0, icss-utils@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== - idb-keyval@^6.2.0: version "6.2.1" resolved "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-6.2.1.tgz#94516d625346d16f56f3b33855da11bfded2db33" integrity sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg== -is-alphabetical@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" - integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== - -is-alphanumerical@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" - integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== - dependencies: - is-alphabetical "^1.0.0" - is-decimal "^1.0.0" - is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -1485,11 +1395,6 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-buffer@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" - integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== - is-core-module@^2.13.0: version "2.15.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" @@ -1497,11 +1402,6 @@ is-core-module@^2.13.0: dependencies: hasown "^2.0.2" -is-decimal@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" - integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== - is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -1519,21 +1419,11 @@ is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" -is-hexadecimal@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" - integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== - is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-plain-obj@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -1553,16 +1443,6 @@ jiti@^1.21.6: resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json5@^2.1.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - lilconfig@^3.0.0, lilconfig@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4" @@ -1585,15 +1465,6 @@ linkifyjs@^4.1.0: resolved "https://registry.yarnpkg.com/linkifyjs/-/linkifyjs-4.2.0.tgz#9dd30222b9cbabec9c950e725ec00031c7fa3f08" integrity sha512-pCj3PrQyATaoTYKHrgWRF3SJwsm61udVh+vuls/Rl6SptiDhgE7ziUIudAedRY9QEfynmM7/RmLEfPUyw1HPCw== -loader-utils@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" - integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - lodash.castarray@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.castarray/-/lodash.castarray-4.4.0.tgz#c02513515e309daddd4c24c60cfddcf5976d9115" @@ -1609,11 +1480,6 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -longest-streak@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" - integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== - lru-cache@^10.2.0: version "10.4.3" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" @@ -1648,34 +1514,6 @@ markdown-it@^14.0.0: punycode.js "^2.3.1" uc.micro "^2.1.0" -mdast-util-from-markdown@^0.8.0: - version "0.8.5" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz#d1ef2ca42bc377ecb0463a987910dae89bd9a28c" - integrity sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ== - dependencies: - "@types/mdast" "^3.0.0" - mdast-util-to-string "^2.0.0" - micromark "~2.11.0" - parse-entities "^2.0.0" - unist-util-stringify-position "^2.0.0" - -mdast-util-to-markdown@^0.6.0: - version "0.6.5" - resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz#b33f67ca820d69e6cc527a93d4039249b504bebe" - integrity sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ== - dependencies: - "@types/unist" "^2.0.0" - longest-streak "^2.0.0" - mdast-util-to-string "^2.0.0" - parse-entities "^2.0.0" - repeat-string "^1.0.0" - zwitch "^1.0.0" - -mdast-util-to-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b" - integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== - mdurl@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-2.0.0.tgz#80676ec0433025dd3e17ee983d0fe8de5a2237e0" @@ -1686,14 +1524,6 @@ merge2@^1.3.0: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micromark@~2.11.0: - version "2.11.4" - resolved "https://registry.yarnpkg.com/micromark/-/micromark-2.11.4.tgz#d13436138eea826383e822449c9a5c50ee44665a" - integrity sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA== - dependencies: - debug "^4.0.0" - parse-entities "^2.0.0" - micromatch@^4.0.4, micromatch@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" @@ -1768,13 +1598,6 @@ object-hash@^3.0.0: resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== -optimist@~0.3.5: - version "0.3.7" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.3.7.tgz#c90941ad59e4273328923074d2cf2e7cbc6ec0d9" - integrity sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ== - dependencies: - wordwrap "~0.0.2" - orderedmap@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/orderedmap/-/orderedmap-2.1.1.tgz#61481269c44031c449915497bf5a4ad273c512d2" @@ -1785,18 +1608,6 @@ package-json-from-dist@^1.0.0: resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== -parse-entities@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" - integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== - dependencies: - character-entities "^1.0.0" - character-entities-legacy "^1.0.0" - character-reference-invalid "^1.0.0" - is-alphanumerical "^1.0.0" - is-decimal "^1.0.0" - is-hexadecimal "^1.0.0" - path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" @@ -1867,34 +1678,6 @@ postcss-load-config@^4.0.2: lilconfig "^3.0.0" yaml "^2.3.4" -postcss-modules-extract-imports@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz#b4497cb85a9c0c4b5aabeb759bb25e8d89f15002" - integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q== - -postcss-modules-local-by-default@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.1.0.tgz#b0db6bc81ffc7bdc52eb0f84d6ca0bedf0e36d21" - integrity sha512-rm0bdSv4jC3BDma3s9H19ZddW0aHX6EoqwDYU2IfZhRN+53QrufTRo2IdkAbRqLx4R2IYbZnbjKKxg4VN5oU9Q== - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^7.0.0" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^3.0.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz#1bbccddcb398f1d7a511e0a2d1d047718af4078c" - integrity sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA== - dependencies: - postcss-selector-parser "^7.0.0" - -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== - dependencies: - icss-utils "^5.0.0" - postcss-nested@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.2.0.tgz#4c2d22ab5f20b9cb61e2c5c5915950784d068131" @@ -1918,20 +1701,12 @@ postcss-selector-parser@^6.1.1, postcss-selector-parser@^6.1.2: cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-selector-parser@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz#41bd8b56f177c093ca49435f65731befe25d6b9c" - integrity sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: +postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^8.2.15, postcss@^8.4.43, postcss@^8.4.47, postcss@^8.4.48, postcss@^8.4.5: +postcss@^8.4.43, postcss@^8.4.47, postcss@^8.4.48, postcss@^8.4.5: version "8.4.49" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.49.tgz#4ea479048ab059ab3ae61d082190fabfd994fe19" integrity sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA== @@ -2104,11 +1879,6 @@ punycode.js@^2.3.1: resolved "https://registry.yarnpkg.com/punycode.js/-/punycode.js-2.3.1.tgz#6b53e56ad75588234e79f4affa90972c7dd8cdb7" integrity sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA== -punycode@^2.1.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -2145,42 +1915,6 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -remark-parse@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-9.0.0.tgz#4d20a299665880e4f4af5d90b7c7b8a935853640" - integrity sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw== - dependencies: - mdast-util-from-markdown "^0.8.0" - -remark-stringify@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-9.0.1.tgz#576d06e910548b0a7191a71f27b33f1218862894" - integrity sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg== - dependencies: - mdast-util-to-markdown "^0.6.0" - -remark@^13.0.0: - version "13.0.0" - resolved "https://registry.yarnpkg.com/remark/-/remark-13.0.0.tgz#d15d9bf71a402f40287ebe36067b66d54868e425" - integrity sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA== - dependencies: - remark-parse "^9.0.0" - remark-stringify "^9.0.0" - unified "^9.1.0" - -repeat-string@^1.0.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - -require@^2.4.20: - version "2.4.20" - resolved "https://registry.yarnpkg.com/require/-/require-2.4.20.tgz#66cb6baaabb65de8a71d793f5c65fd184f3798b6" - integrity sha512-7eop5rvh38qhQQQOoUyf68meVIcxT2yFySNywTbxoEECgkX4KDqqDRaEszfvFnuB3fuZVjDdJZ1TI/Esr16RRA== - dependencies: - std "0.1.40" - uglify-js "2.3.0" - resolve@^1.1.7, resolve@^1.22.8: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" @@ -2234,20 +1968,6 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -schema-utils@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -semver@^7.3.5: - version "7.6.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== - shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -2300,18 +2020,6 @@ source-map-js@^1.2.0, source-map-js@^1.2.1: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== -source-map@~0.1.7: - version "0.1.43" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" - integrity sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ== - dependencies: - amdefine ">=0.0.4" - -std@0.1.40: - version "0.1.40" - resolved "https://registry.yarnpkg.com/std/-/std-0.1.40.tgz#3678a5f65094d9e1b6b5e26edbfc0212b8342b71" - integrity sha512-wUf57hkDGCoVShrhPA8Q7lAg2Qosk+FaMlECmAsr1A4/rL2NRXFHQGBcgMUFKVkPEemJFW9gzjCQisRty14ohg== - "string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -2360,14 +2068,6 @@ strip-ansi@^7.0.1: dependencies: ansi-regex "^6.0.1" -style-loader@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-2.0.0.tgz#9669602fd4690740eaaec137799a03addbbc393c" - integrity sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - sucrase@^3.35.0: version "3.35.0" resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.0.tgz#57f17a3d7e19b36d8995f06679d121be914ae263" @@ -2442,11 +2142,6 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -trough@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" - integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== - ts-interface-checker@^0.1.9: version "0.1.13" resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" @@ -2467,34 +2162,6 @@ uc.micro@^2.0.0, uc.micro@^2.1.0: resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-2.1.0.tgz#f8d3f7d0ec4c3dea35a7e3c8efa4cb8b45c9e7ee" integrity sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A== -uglify-js@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.3.0.tgz#2cdec16d378a8a2b6ecfb6989784cf8b7ae5491f" - integrity sha512-AQvbxRKdaQeYADywQaao0k8Tj+7NGEVTne6xwgX1yQpv/G8b0CKdIw70HkCptwfvNGDsVe+0Bng3U9hfWbxxfg== - dependencies: - async "~0.2.6" - optimist "~0.3.5" - source-map "~0.1.7" - -unified@^9.1.0: - version "9.2.2" - resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975" - integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== - dependencies: - bail "^1.0.0" - extend "^3.0.0" - is-buffer "^2.0.0" - is-plain-obj "^2.0.0" - trough "^1.0.0" - vfile "^4.0.0" - -unist-util-stringify-position@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" - integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== - dependencies: - "@types/unist" "^2.0.2" - update-browserslist-db@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" @@ -2503,36 +2170,11 @@ update-browserslist-db@^1.1.1: escalade "^3.2.0" picocolors "^1.1.0" -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - util-deprecate@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -vfile-message@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" - integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== - dependencies: - "@types/unist" "^2.0.0" - unist-util-stringify-position "^2.0.0" - -vfile@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" - integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== - dependencies: - "@types/unist" "^2.0.0" - is-buffer "^2.0.0" - unist-util-stringify-position "^2.0.0" - vfile-message "^2.0.0" - vite@^5.0.11: version "5.4.11" resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.11.tgz#3b415cd4aed781a356c1de5a9ebafb837715f6e5" @@ -2566,6 +2208,11 @@ vue-router@^4.0.12: dependencies: "@vue/devtools-api" "^6.6.4" +vue3-apexcharts@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/vue3-apexcharts/-/vue3-apexcharts-1.8.0.tgz#1984648d966aa91bc4dc3e87fa847f5289f7f1cf" + integrity sha512-5tSD4mXTBbIJ9ir+58qHE6oNtIe0RNgqIRYMKpcsIaxkKtwUww4JhvPkpUFlmiW4OJbbdklgjleXq1lfcM4gdA== + vue@^3.4.23: version "3.5.13" resolved "https://registry.yarnpkg.com/vue/-/vue-3.5.13.tgz#9f760a1a982b09c0c04a867903fc339c9f29ec0a" @@ -2596,11 +2243,6 @@ which@^2.0.1: dependencies: isexe "^2.0.0" -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - integrity sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw== - "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" @@ -2633,8 +2275,3 @@ yaml@^2.3.4: version "2.6.1" resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.6.1.tgz#42f2b1ba89203f374609572d5349fb8686500773" integrity sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg== - -zwitch@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" - integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== diff --git a/lms/lms/utils.py b/lms/lms/utils.py index ece56ca4a..7541c9218 100644 --- a/lms/lms/utils.py +++ b/lms/lms/utils.py @@ -1487,6 +1487,11 @@ def get_batch_students(batch): detail.courses_completed = courses_completed detail.assessments_completed = assessments_completed + detail.progress = ( + (courses_completed + assessments_completed) + / (len(batch_courses) + len(assessments)) + * 100 + ) students.append(detail) return students From 43cf7d04b8a73bd924ea962e8816f9477a86c5a1 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Fri, 20 Dec 2024 13:12:40 +0530 Subject: [PATCH 02/62] feat: batch dashboard for instructors --- frontend/src/components/BatchStudents.vue | 208 ++++++++++------------ frontend/src/pages/Batch.vue | 4 +- 2 files changed, 94 insertions(+), 118 deletions(-) diff --git a/frontend/src/components/BatchStudents.vue b/frontend/src/components/BatchStudents.vue index 46e7fb15b..ea2c6037f 100644 --- a/frontend/src/components/BatchStudents.vue +++ b/frontend/src/components/BatchStudents.vue @@ -1,13 +1,60 @@ @@ -107,7 +141,7 @@ {{ __('There are no students in this batch.') }}
@@ -130,32 +164,12 @@ import { ListView, ListRowItem, } from 'frappe-ui' -import { Trash2, Plus } from 'lucide-vue-next' -import { computed, ref } from 'vue' +import { BookOpen, Plus, ShieldCheck, Trash2, User } from 'lucide-vue-next' +import { ref, watch } from 'vue' import StudentModal from '@/components/Modals/StudentModal.vue' import { showToast } from '@/utils' import ProgressBar from '@/components/ProgressBar.vue' import BatchStudentProgress from '@/components/Modals/BatchStudentProgress.vue' -import { Bar } from 'vue-chartjs' -import { - Chart as ChartJS, - Title, - Tooltip, - Legend, - BarElement, - CategoryScale, - LinearScale, - Filler, -} from 'chart.js' -ChartJS.register( - Title, - Tooltip, - Legend, - BarElement, - CategoryScale, - LinearScale, - Filler -) import ApexChart from 'vue3-apexcharts' const showStudentModal = ref(false) @@ -163,24 +177,26 @@ const showStudentProgressModal = ref(false) const selectedStudent = ref(null) const chartData = ref(null) const chartOptions = ref(null) +const showProgressChart = ref(false) +const assessmentCount = ref(0) const props = defineProps({ batch: { - type: String, + type: Object, default: null, }, }) const students = createResource({ url: 'lms.lms.utils.get_batch_students', - cache: ['students', props.batch], + cache: ['students', props.batch.name], params: { - batch: props.batch, + batch: props.batch?.name, }, auto: true, onSuccess(data) { chartData.value = getChartData() - console.log(chartData.value) + showProgressChart.value = true }, }) @@ -245,11 +261,8 @@ const removeStudents = (selections, unselectAll) => { } const getChartData = () => { - console.log('called') - let categories = {} - // Initialize categories with categories Object.keys(students.data?.[0].courses).forEach((course) => { categories[course] = { value: 0, @@ -264,7 +277,6 @@ const getChartData = () => { } }) - // Populate data students.data.forEach((student) => { Object.keys(student.courses).forEach((course) => { if (student.courses[course] === 100) { @@ -279,84 +291,33 @@ const getChartData = () => { }) }) - // Transform data for ApexCharts - console.log(Object.values(categories).map((item) => item.value)) chartOptions.value = getChartOptions(categories) return [ { name: __('Student Progress'), data: Object.values(categories).map((item) => item.value), - /* colors: Object.values(categories).map(item => - item.type === 'course' ? courseColor : assessmentColor - ), */ }, ] } -/* const chartOptions = computed(() => { - return { - responsive: true, - fill: true, - scales: { - x: { - ticks: { - maxRotation: 0, - minRotation: 0, - autoSkip: false, - } - }, - y: { - beginAtZero: true, - max: students.data?.length, - ticks: { - stepSize: 5, - }, - }, - }, - plugins: { - legends: { - display: false, - title: { - text: __("Student Progress 1111"), - } - }, - title: { - display: true, - text: __("Student Progress"), - font: { - size: 14, - weight: '500', - }, - color: '#171717', - } - } - } -}) */ - -const chartSeries = ref([ - { - name: 'Courses', - data: [20, 30, 50], // Example data for courses - }, - { - name: 'Assessments', - data: [10, 40, 60], // Example data for assessments - }, -]) - const getChartOptions = (categories) => { - const courseColor = '#3498db' // Blue for courses - const assessmentColor = '#e74c3c' // Red for assessments + const courseColor = '#318AD8' + const assessmentColor = '#F683AE' + const maxY = Math.ceil(students.data?.length / 10) * 10 + return { chart: { type: 'bar', height: 350, + toolbar: { + show: false, + }, }, plotOptions: { bar: { - distributed: true, // Allows individual bar colors + distributed: true, borderRadius: 0, - horizontal: false, // Set to true for horizontal bars + horizontal: false, columnWidth: '30%', }, }, @@ -365,20 +326,35 @@ const getChartOptions = (categories) => { ), legends: { show: true, + markers: { + fillColors: [courseColor, assessmentColor], + }, }, xaxis: { - categories: Object.keys(categories), + categories: ['Courses', 'Assessments'], + overwriteCategories: Object.keys(categories), labels: { style: { fontSize: '10px', }, rotate: 0, formatter: function (value) { - console.log(value) - return value.length > 20 ? `${value.substring(0, 20)}...` : value // Trim long labels + return value.length > 25 ? `${value.substring(0, 25)}...` : value // Trim long labels }, }, }, + yaxis: { + max: maxY, + min: 0, + stepSize: 10, + tickAmount: maxY / 10, + }, } } + +watch(students, () => { + if (students.data?.length) { + assessmentCount.value = Object.keys(students.data?.[0].assessments).length + } +}) diff --git a/frontend/src/pages/Batch.vue b/frontend/src/pages/Batch.vue index 4bea2b6e2..bebc9b7d9 100644 --- a/frontend/src/pages/Batch.vue +++ b/frontend/src/pages/Batch.vue @@ -22,7 +22,7 @@
-
+
- +
From de0dea7df89c0558587a654f484792df2dc11f12 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Fri, 20 Dec 2024 13:27:07 +0530 Subject: [PATCH 03/62] ci: container image for production setup --- .github/workflows/build.yml | 54 +++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..0822a5451 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,54 @@ +name: Build Container Image +on: + workflow_dispatch: + push: + branches: + - main + tags: + - "*" +jobs: + build: + name: Build + runs-on: ubuntu-latest + strategy: + matrix: + arch: [amd64, arm64] + steps: + - name: Checkout Entire Repository + uses: actions/checkout@v4 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + with: + platforms: linux/${{ matrix.arch }} + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.RELEASE_TOKEN }} + - name: Set Branch + run: | + export APPS_JSON='[{"url": "https://github.com/frappe/lms","branch": "main"}]' + echo "APPS_JSON_BASE64=$(echo $APPS_JSON | base64 -w 0)" >> $GITHUB_ENV + echo "FRAPPE_BRANCH=version-15" >> $GITHUB_ENV + - name: Set Image Tag + run: | + echo "IMAGE_TAG=stable" >> $GITHUB_ENV + - uses: actions/checkout@v4 + with: + repository: frappe/frappe_docker + path: builds + - name: Build and push + uses: docker/build-push-action@v6 + with: + push: true + context: builds + file: builds/images/layered/Containerfile + tags: > + ghcr.io/${{ github.repository }}:${{ github.ref_name }}, + ghcr.io/${{ github.repository }}:${{ env.IMAGE_TAG }} + build-args: | + "FRAPPE_BRANCH=${{ env.FRAPPE_BRANCH }}" + "APPS_JSON_BASE64=${{ env.APPS_JSON_BASE64 }}" \ No newline at end of file From c8aa44dfcb8a4c7648dead474899c1706919e332 Mon Sep 17 00:00:00 2001 From: frappe-pr-bot Date: Fri, 20 Dec 2024 16:04:18 +0000 Subject: [PATCH 04/62] chore: update POT file --- lms/locale/main.pot | 65 +++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/lms/locale/main.pot b/lms/locale/main.pot index d1b8bc80c..d59eec2ba 100644 --- a/lms/locale/main.pot +++ b/lms/locale/main.pot @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: Frappe LMS VERSION\n" "Report-Msgid-Bugs-To: jannat@frappe.io\n" -"POT-Creation-Date: 2024-12-13 16:04+0000\n" -"PO-Revision-Date: 2024-12-13 16:04+0000\n" +"POT-Creation-Date: 2024-12-20 16:04+0000\n" +"PO-Revision-Date: 2024-12-20 16:04+0000\n" "Last-Translator: jannat@frappe.io\n" "Language-Team: jannat@frappe.io\n" "MIME-Version: 1.0\n" @@ -141,6 +141,10 @@ msgstr "" msgid "Add a course" msgstr "" +#: frontend/src/pages/CourseForm.vue:136 +msgid "Add a keyword and then press enter" +msgstr "" + #: frontend/src/components/OnboardingBanner.vue:73 msgid "Add a lesson" msgstr "" @@ -1229,7 +1233,7 @@ msgstr "" msgid "Course already added to the batch." msgstr "" -#: frontend/src/pages/CourseForm.vue:460 +#: frontend/src/pages/CourseForm.vue:461 msgid "Course deleted successfully" msgstr "" @@ -1404,7 +1408,7 @@ msgstr "" #: frontend/src/components/CourseOutline.vue:235 #: frontend/src/components/CourseOutline.vue:293 -#: frontend/src/pages/CourseForm.vue:15 frontend/src/pages/CourseForm.vue:473 +#: frontend/src/pages/CourseForm.vue:15 frontend/src/pages/CourseForm.vue:474 msgid "Delete" msgstr "" @@ -1412,7 +1416,7 @@ msgstr "" msgid "Delete Chapter" msgstr "" -#: frontend/src/pages/CourseForm.vue:467 +#: frontend/src/pages/CourseForm.vue:468 msgid "Delete Course" msgstr "" @@ -1424,7 +1428,7 @@ msgstr "" msgid "Delete this lesson?" msgstr "" -#: frontend/src/pages/CourseForm.vue:468 +#: frontend/src/pages/CourseForm.vue:469 msgid "Deleting the course will also delete all its chapters and lessons. Are you sure you want to delete this course?" msgstr "" @@ -2466,10 +2470,6 @@ msgstr "" msgid "Join URL" msgstr "" -#: frontend/src/pages/CourseForm.vue:136 -msgid "Keywords for the course" -msgstr "" - #. Name of a Workspace #: lms/lms/workspace/lms/lms.json msgid "LMS" @@ -2791,7 +2791,7 @@ msgstr "" msgid "Links" msgstr "" -#: frontend/src/pages/Quizzes.vue:147 +#: frontend/src/pages/Quizzes.vue:149 msgid "List of quizzes" msgstr "" @@ -2812,6 +2812,8 @@ msgid "LiveCode URL" msgstr "" #: frontend/src/components/Members.vue:106 +#: frontend/src/pages/QuizSubmissionList.vue:39 +#: frontend/src/pages/Quizzes.vue:51 msgid "Load More" msgstr "" @@ -2906,7 +2908,7 @@ msgstr "" msgid "Marks" msgstr "" -#: lms/lms/doctype/lms_quiz_submission/lms_quiz_submission.py:23 +#: lms/lms/doctype/lms_quiz_submission/lms_quiz_submission.py:24 msgid "Marks for question number {0} cannot be greater than the marks allotted for that question." msgstr "" @@ -2956,7 +2958,7 @@ msgstr "" #. Label of the member (Link) field in DocType 'LMS Program Member' #. Label of the member (Link) field in DocType 'LMS Quiz Submission' #: frontend/src/pages/QuizSubmission.vue:31 -#: frontend/src/pages/QuizSubmissionList.vue:77 +#: frontend/src/pages/QuizSubmissionList.vue:86 #: lms/lms/doctype/exercise_latest_submission/exercise_latest_submission.json #: lms/lms/doctype/exercise_submission/exercise_submission.json #: lms/lms/doctype/lms_assignment_submission/lms_assignment_submission.json @@ -3290,7 +3292,7 @@ msgstr "" msgid "No programs found" msgstr "" -#: frontend/src/pages/Quizzes.vue:56 +#: frontend/src/pages/Quizzes.vue:61 msgid "No quizzes found" msgstr "" @@ -3406,7 +3408,7 @@ msgstr "" msgid "Only files of type {0} will be accepted." msgstr "" -#: frontend/src/pages/CourseForm.vue:497 frontend/src/utils/index.js:520 +#: frontend/src/pages/CourseForm.vue:498 frontend/src/utils/index.js:527 msgid "Only image file is allowed." msgstr "" @@ -3557,7 +3559,7 @@ msgstr "" #. Label of the passing_percentage (Int) field in DocType 'LMS Quiz' #. Label of the passing_percentage (Int) field in DocType 'LMS Quiz Submission' -#: frontend/src/pages/QuizForm.vue:72 frontend/src/pages/Quizzes.vue:125 +#: frontend/src/pages/QuizForm.vue:72 frontend/src/pages/Quizzes.vue:127 #: lms/lms/doctype/lms_quiz/lms_quiz.json #: lms/lms/doctype/lms_quiz_submission/lms_quiz_submission.json msgid "Passing Percentage" @@ -3652,7 +3654,7 @@ msgstr "" #. Label of the percentage (Int) field in DocType 'LMS Quiz Submission' #: frontend/src/pages/QuizSubmission.vue:44 -#: frontend/src/pages/QuizSubmissionList.vue:93 +#: frontend/src/pages/QuizSubmissionList.vue:97 #: lms/lms/doctype/lms_quiz_submission/lms_quiz_submission.json msgid "Percentage" msgstr "" @@ -4039,8 +4041,7 @@ msgstr "" #. Label of the quiz (Link) field in DocType 'LMS Quiz Submission' #. Label of a Link in the LMS Workspace -#: frontend/src/pages/QuizSubmission.vue:26 -#: frontend/src/pages/QuizSubmissionList.vue:82 frontend/src/utils/quiz.js:24 +#: frontend/src/pages/QuizSubmission.vue:26 frontend/src/utils/quiz.js:24 #: lms/lms/doctype/lms_quiz_submission/lms_quiz_submission.json #: lms/lms/workspace/lms/lms.json msgid "Quiz" @@ -4058,7 +4059,7 @@ msgid "Quiz Submission" msgstr "" #: frontend/src/pages/QuizSubmission.vue:122 -#: frontend/src/pages/QuizSubmissionList.vue:102 +#: frontend/src/pages/QuizSubmissionList.vue:106 msgid "Quiz Submissions" msgstr "" @@ -4088,8 +4089,8 @@ msgstr "" msgid "Quiz will appear at the bottom of the lesson." msgstr "" -#: frontend/src/pages/QuizForm.vue:442 frontend/src/pages/Quizzes.vue:136 -#: frontend/src/pages/Quizzes.vue:146 +#: frontend/src/pages/QuizForm.vue:442 frontend/src/pages/Quizzes.vue:138 +#: frontend/src/pages/Quizzes.vue:148 msgid "Quizzes" msgstr "" @@ -4327,7 +4328,7 @@ msgstr "" #. Label of the score (Int) field in DocType 'LMS Quiz Submission' #: frontend/src/pages/QuizSubmission.vue:39 -#: frontend/src/pages/QuizSubmissionList.vue:87 +#: frontend/src/pages/QuizSubmissionList.vue:91 #: lms/lms/doctype/lms_quiz_submission/lms_quiz_submission.json #: lms/templates/quiz/quiz.html:148 msgid "Score" @@ -4705,7 +4706,7 @@ msgstr "" msgid "Students" msgstr "" -#: frontend/src/components/BatchStudents.vue:191 +#: frontend/src/components/BatchStudents.vue:192 msgid "Students deleted successfully" msgstr "" @@ -4757,7 +4758,7 @@ msgstr "" #: frontend/src/components/BatchCourses.vue:150 #: frontend/src/components/BatchOverlay.vue:135 -#: frontend/src/components/BatchStudents.vue:191 +#: frontend/src/components/BatchStudents.vue:192 #: frontend/src/components/CourseCardOverlay.vue:161 #: frontend/src/components/Modals/AnnouncementModal.vue:99 #: frontend/src/components/Modals/AssessmentModal.vue:73 @@ -4768,7 +4769,7 @@ msgstr "" #: frontend/src/components/Modals/Event.vue:310 #: frontend/src/components/Modals/Question.vue:264 #: frontend/src/components/Modals/Question.vue:315 -#: frontend/src/pages/CourseForm.vue:460 frontend/src/pages/ProgramForm.vue:229 +#: frontend/src/pages/CourseForm.vue:461 frontend/src/pages/ProgramForm.vue:229 #: frontend/src/pages/ProgramForm.vue:251 #: frontend/src/pages/ProgramForm.vue:272 #: frontend/src/pages/ProgramForm.vue:298 frontend/src/pages/QuizForm.vue:343 @@ -4790,7 +4791,7 @@ msgstr "" msgid "Sunday" msgstr "" -#: lms/lms/api.py:951 +#: lms/lms/api.py:952 msgid "Suspicious pattern found in {0}: {1}" msgstr "" @@ -4953,7 +4954,7 @@ msgstr "" msgid "There are no {0} on this site." msgstr "" -#: lms/lms/doctype/lms_quiz_submission/lms_quiz_submission.py:41 +#: lms/lms/doctype/lms_quiz_submission/lms_quiz_submission.py:42 msgid "There has been an update on your submission. You have got a score of {0} for the quiz {1}" msgstr "" @@ -5082,7 +5083,7 @@ msgstr "" #: frontend/src/pages/BatchForm.vue:20 frontend/src/pages/CourseForm.vue:32 #: frontend/src/pages/JobCreation.vue:20 frontend/src/pages/ProgramForm.vue:11 #: frontend/src/pages/Programs.vue:118 frontend/src/pages/QuizForm.vue:48 -#: frontend/src/pages/Quizzes.vue:114 lms/lms/doctype/cohort/cohort.json +#: frontend/src/pages/Quizzes.vue:116 lms/lms/doctype/cohort/cohort.json #: lms/lms/doctype/cohort_subgroup/cohort_subgroup.json #: lms/lms/doctype/cohort_web_page/cohort_web_page.json #: lms/lms/doctype/course_chapter/course_chapter.json @@ -5135,7 +5136,7 @@ msgid "Total" msgstr "" #. Label of the total_marks (Int) field in DocType 'LMS Quiz' -#: frontend/src/pages/QuizForm.vue:67 frontend/src/pages/Quizzes.vue:119 +#: frontend/src/pages/QuizForm.vue:67 frontend/src/pages/Quizzes.vue:121 #: lms/lms/doctype/lms_quiz/lms_quiz.json msgid "Total Marks" msgstr "" @@ -5536,11 +5537,11 @@ msgstr "" msgid "You have been enrolled in this course" msgstr "" -#: lms/lms/doctype/lms_quiz_submission/lms_quiz_submission.py:38 +#: lms/lms/doctype/lms_quiz_submission/lms_quiz_submission.py:39 msgid "You have got a score of {0} for the quiz {1}" msgstr "" -#: frontend/src/pages/Quizzes.vue:60 +#: frontend/src/pages/Quizzes.vue:65 msgid "You have not created any quizzes yet. To create a new quiz, click on the \"New Quiz\" button above." msgstr "" From 9d03a52bf9d6387dd3aa87947c8f4346e0c706cf Mon Sep 17 00:00:00 2001 From: Jannat Patel <31363128+pateljannat@users.noreply.github.com> Date: Sat, 21 Dec 2024 07:21:24 +0530 Subject: [PATCH 05/62] chore: Swedish translations --- lms/locale/sv.po | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/lms/locale/sv.po b/lms/locale/sv.po index dc432d882..a854daad5 100644 --- a/lms/locale/sv.po +++ b/lms/locale/sv.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: jannat@frappe.io\n" -"POT-Creation-Date: 2024-12-06 16:04+0000\n" -"PO-Revision-Date: 2024-12-09 23:31\n" +"POT-Creation-Date: 2024-12-13 16:04+0000\n" +"PO-Revision-Date: 2024-12-21 01:51\n" "Last-Translator: jannat@frappe.io\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" @@ -101,7 +101,7 @@ msgstr "Aktiv" #: frontend/src/components/Assessments.vue:11 #: frontend/src/components/BatchCourses.vue:11 -#: frontend/src/components/BatchStudents.vue:6 +#: frontend/src/components/BatchStudents.vue:10 #: frontend/src/components/Categories.vue:26 #: frontend/src/components/LiveClass.vue:11 #: frontend/src/components/Members.vue:43 frontend/src/pages/ProgramForm.vue:30 @@ -1134,7 +1134,7 @@ msgstr "Kurs Kapitel" #. Label of a shortcut in the LMS Workspace #: lms/lms/workspace/lms/lms.json msgid "Course Completed" -msgstr "Klara Kurs" +msgstr "Klara Kurser" #: lms/lms/widgets/CourseOutline.html:9 msgid "Course Content" @@ -1702,7 +1702,7 @@ msgstr "Inskrivning bekräftelse för nästa grupp utbildning" msgid "Enrollment Count" msgstr "Antal Inskrivna" -#: lms/lms/utils.py:1702 +#: lms/lms/utils.py:1715 msgid "Enrollment Failed" msgstr "Registrering Misslyckad" @@ -1738,6 +1738,7 @@ msgstr "Ange korrekt svar" #: frontend/src/components/Modals/Question.vue:249 #: frontend/src/components/Modals/Question.vue:269 #: frontend/src/components/Modals/Question.vue:326 +#: frontend/src/components/Modals/StudentModal.vue:69 #: frontend/src/components/SettingDetails.vue:62 #: frontend/src/pages/Billing.vue:264 frontend/src/pages/QuizForm.vue:350 #: frontend/src/pages/QuizForm.vue:365 @@ -2812,7 +2813,7 @@ msgstr "Live Klass" msgid "LiveCode URL" msgstr "LiveCode URL" -#: frontend/src/components/Members.vue:95 +#: frontend/src/components/Members.vue:106 msgid "Load More" msgstr "Ladda Mer" @@ -3230,7 +3231,7 @@ msgstr "Nästa" msgid "Next Question" msgstr "Nästa Fråga" -#: frontend/src/components/Assessments.vue:63 lms/templates/assessments.html:58 +#: frontend/src/components/Assessments.vue:66 lms/templates/assessments.html:58 msgid "No Assessments" msgstr "Inga Bedömningar" @@ -3687,7 +3688,7 @@ msgstr "Kontrollera din E-post för verifiering" msgid "Please click on the following button to set your new password" msgstr "Klicka på följande knapp för att ange ditt nya lösenord" -#: lms/lms/utils.py:1824 lms/lms/utils.py:1828 +#: lms/lms/utils.py:1837 lms/lms/utils.py:1841 msgid "Please complete the previous courses in the program to enroll in this course." msgstr "Slutför tidigare kurser i program för att anmäla dig till denna kurs." @@ -4700,13 +4701,13 @@ msgstr "Student {0} har redan lagts till denna grupp." #. Label of the students (Table) field in DocType 'LMS Batch' #. Label of the show_students (Check) field in DocType 'LMS Settings' -#: frontend/src/components/BatchStudents.vue:9 +#: frontend/src/components/BatchStudents.vue:4 #: lms/lms/doctype/lms_batch/lms_batch.json #: lms/lms/doctype/lms_settings/lms_settings.json msgid "Students" msgstr "Studenter" -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 msgid "Students deleted successfully" msgstr "Studenter borttagna" @@ -4758,7 +4759,7 @@ msgstr "Inskickad {0}" #: frontend/src/components/BatchCourses.vue:150 #: frontend/src/components/BatchOverlay.vue:135 -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 #: frontend/src/components/CourseCardOverlay.vue:161 #: frontend/src/components/Modals/AnnouncementModal.vue:99 #: frontend/src/components/Modals/AssessmentModal.vue:73 @@ -4946,7 +4947,7 @@ msgstr "Det finns inga program tillgängliga för tillfället. Håll utkik, nya msgid "There are no seats available in this batch." msgstr "Det finns inga platser tillgängliga i denna grupp." -#: frontend/src/components/BatchStudents.vue:67 +#: frontend/src/components/BatchStudents.vue:86 msgid "There are no students in this batch." msgstr "Det finns inga studenter i denna grupp." @@ -4977,7 +4978,7 @@ msgstr "Detta certifikat upphör inte att gälla" msgid "This course has:" msgstr "Denna kurs har:" -#: lms/lms/utils.py:1582 +#: lms/lms/utils.py:1595 msgid "This course is free." msgstr "Denna kurs är gratis." @@ -5119,7 +5120,7 @@ msgstr "Till" msgid "To Date" msgstr "Till Datum" -#: lms/lms/utils.py:1593 +#: lms/lms/utils.py:1606 msgid "To join this batch, please contact the Administrator." msgstr "För att gå med i denna grupp, kontakta Administratör." From 65b2199065552d47a244fc5db30594fb62a233a4 Mon Sep 17 00:00:00 2001 From: Jannat Patel <31363128+pateljannat@users.noreply.github.com> Date: Mon, 23 Dec 2024 07:45:19 +0530 Subject: [PATCH 06/62] chore: French translations --- lms/locale/fr.po | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/lms/locale/fr.po b/lms/locale/fr.po index 166636f3b..7b3d6dacf 100644 --- a/lms/locale/fr.po +++ b/lms/locale/fr.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: jannat@frappe.io\n" -"POT-Creation-Date: 2024-12-06 16:04+0000\n" -"PO-Revision-Date: 2024-12-09 23:30\n" +"POT-Creation-Date: 2024-12-13 16:04+0000\n" +"PO-Revision-Date: 2024-12-23 02:15\n" "Last-Translator: jannat@frappe.io\n" "Language-Team: French\n" "MIME-Version: 1.0\n" @@ -101,7 +101,7 @@ msgstr "actif" #: frontend/src/components/Assessments.vue:11 #: frontend/src/components/BatchCourses.vue:11 -#: frontend/src/components/BatchStudents.vue:6 +#: frontend/src/components/BatchStudents.vue:10 #: frontend/src/components/Categories.vue:26 #: frontend/src/components/LiveClass.vue:11 #: frontend/src/components/Members.vue:43 frontend/src/pages/ProgramForm.vue:30 @@ -1702,7 +1702,7 @@ msgstr "" msgid "Enrollment Count" msgstr "" -#: lms/lms/utils.py:1702 +#: lms/lms/utils.py:1715 msgid "Enrollment Failed" msgstr "" @@ -1738,6 +1738,7 @@ msgstr "" #: frontend/src/components/Modals/Question.vue:249 #: frontend/src/components/Modals/Question.vue:269 #: frontend/src/components/Modals/Question.vue:326 +#: frontend/src/components/Modals/StudentModal.vue:69 #: frontend/src/components/SettingDetails.vue:62 #: frontend/src/pages/Billing.vue:264 frontend/src/pages/QuizForm.vue:350 #: frontend/src/pages/QuizForm.vue:365 @@ -2812,7 +2813,7 @@ msgstr "" msgid "LiveCode URL" msgstr "" -#: frontend/src/components/Members.vue:95 +#: frontend/src/components/Members.vue:106 msgid "Load More" msgstr "Charger plus" @@ -3230,7 +3231,7 @@ msgstr "Suivant" msgid "Next Question" msgstr "" -#: frontend/src/components/Assessments.vue:63 lms/templates/assessments.html:58 +#: frontend/src/components/Assessments.vue:66 lms/templates/assessments.html:58 msgid "No Assessments" msgstr "" @@ -3687,7 +3688,7 @@ msgstr "Veuillez vérifier votre email pour validation" msgid "Please click on the following button to set your new password" msgstr "" -#: lms/lms/utils.py:1824 lms/lms/utils.py:1828 +#: lms/lms/utils.py:1837 lms/lms/utils.py:1841 msgid "Please complete the previous courses in the program to enroll in this course." msgstr "" @@ -4700,13 +4701,13 @@ msgstr "" #. Label of the students (Table) field in DocType 'LMS Batch' #. Label of the show_students (Check) field in DocType 'LMS Settings' -#: frontend/src/components/BatchStudents.vue:9 +#: frontend/src/components/BatchStudents.vue:4 #: lms/lms/doctype/lms_batch/lms_batch.json #: lms/lms/doctype/lms_settings/lms_settings.json msgid "Students" msgstr "" -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 msgid "Students deleted successfully" msgstr "" @@ -4758,7 +4759,7 @@ msgstr "" #: frontend/src/components/BatchCourses.vue:150 #: frontend/src/components/BatchOverlay.vue:135 -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 #: frontend/src/components/CourseCardOverlay.vue:161 #: frontend/src/components/Modals/AnnouncementModal.vue:99 #: frontend/src/components/Modals/AssessmentModal.vue:73 @@ -4946,7 +4947,7 @@ msgstr "" msgid "There are no seats available in this batch." msgstr "" -#: frontend/src/components/BatchStudents.vue:67 +#: frontend/src/components/BatchStudents.vue:86 msgid "There are no students in this batch." msgstr "" @@ -4977,7 +4978,7 @@ msgstr "" msgid "This course has:" msgstr "" -#: lms/lms/utils.py:1582 +#: lms/lms/utils.py:1595 msgid "This course is free." msgstr "" @@ -5119,7 +5120,7 @@ msgstr "À" msgid "To Date" msgstr "Jusqu'au" -#: lms/lms/utils.py:1593 +#: lms/lms/utils.py:1606 msgid "To join this batch, please contact the Administrator." msgstr "" From fca206120eaf960c91ba4e06af17a4508248030d Mon Sep 17 00:00:00 2001 From: Jannat Patel <31363128+pateljannat@users.noreply.github.com> Date: Mon, 23 Dec 2024 07:45:21 +0530 Subject: [PATCH 07/62] chore: Spanish translations --- lms/locale/es.po | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/lms/locale/es.po b/lms/locale/es.po index 05cc795a3..19592aad8 100644 --- a/lms/locale/es.po +++ b/lms/locale/es.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: jannat@frappe.io\n" -"POT-Creation-Date: 2024-12-06 16:04+0000\n" -"PO-Revision-Date: 2024-12-09 23:30\n" +"POT-Creation-Date: 2024-12-13 16:04+0000\n" +"PO-Revision-Date: 2024-12-23 02:15\n" "Last-Translator: jannat@frappe.io\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" @@ -101,7 +101,7 @@ msgstr "Activo" #: frontend/src/components/Assessments.vue:11 #: frontend/src/components/BatchCourses.vue:11 -#: frontend/src/components/BatchStudents.vue:6 +#: frontend/src/components/BatchStudents.vue:10 #: frontend/src/components/Categories.vue:26 #: frontend/src/components/LiveClass.vue:11 #: frontend/src/components/Members.vue:43 frontend/src/pages/ProgramForm.vue:30 @@ -1702,7 +1702,7 @@ msgstr "Confirmación de inscripción para el próximo Lote de Entrenamiento" msgid "Enrollment Count" msgstr "Recuento de inscripciones" -#: lms/lms/utils.py:1702 +#: lms/lms/utils.py:1715 msgid "Enrollment Failed" msgstr "Error al inscribirse" @@ -1738,6 +1738,7 @@ msgstr "Ingrese la respuesta correcta" #: frontend/src/components/Modals/Question.vue:249 #: frontend/src/components/Modals/Question.vue:269 #: frontend/src/components/Modals/Question.vue:326 +#: frontend/src/components/Modals/StudentModal.vue:69 #: frontend/src/components/SettingDetails.vue:62 #: frontend/src/pages/Billing.vue:264 frontend/src/pages/QuizForm.vue:350 #: frontend/src/pages/QuizForm.vue:365 @@ -2812,7 +2813,7 @@ msgstr "Clase en vivo" msgid "LiveCode URL" msgstr "URL LiveCode" -#: frontend/src/components/Members.vue:95 +#: frontend/src/components/Members.vue:106 msgid "Load More" msgstr "Carga más" @@ -3230,7 +3231,7 @@ msgstr "Siguiente" msgid "Next Question" msgstr "Siguiente pregunta" -#: frontend/src/components/Assessments.vue:63 lms/templates/assessments.html:58 +#: frontend/src/components/Assessments.vue:66 lms/templates/assessments.html:58 msgid "No Assessments" msgstr "Sin evaluaciones" @@ -3687,7 +3688,7 @@ msgstr "Por favor, consultar su correo electrónico para la verificación" msgid "Please click on the following button to set your new password" msgstr "Haga clic en el siguiente botón para establecer su nueva contraseña" -#: lms/lms/utils.py:1824 lms/lms/utils.py:1828 +#: lms/lms/utils.py:1837 lms/lms/utils.py:1841 msgid "Please complete the previous courses in the program to enroll in this course." msgstr "" @@ -4700,13 +4701,13 @@ msgstr "El estudiante {0} ya ha sido añadido a este lote." #. Label of the students (Table) field in DocType 'LMS Batch' #. Label of the show_students (Check) field in DocType 'LMS Settings' -#: frontend/src/components/BatchStudents.vue:9 +#: frontend/src/components/BatchStudents.vue:4 #: lms/lms/doctype/lms_batch/lms_batch.json #: lms/lms/doctype/lms_settings/lms_settings.json msgid "Students" msgstr "Estudiantes" -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 msgid "Students deleted successfully" msgstr "Estudiantes eliminados correctamente" @@ -4758,7 +4759,7 @@ msgstr "Enviado {0}" #: frontend/src/components/BatchCourses.vue:150 #: frontend/src/components/BatchOverlay.vue:135 -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 #: frontend/src/components/CourseCardOverlay.vue:161 #: frontend/src/components/Modals/AnnouncementModal.vue:99 #: frontend/src/components/Modals/AssessmentModal.vue:73 @@ -4946,7 +4947,7 @@ msgstr "" msgid "There are no seats available in this batch." msgstr "No hay asientos disponibles en este lote." -#: frontend/src/components/BatchStudents.vue:67 +#: frontend/src/components/BatchStudents.vue:86 msgid "There are no students in this batch." msgstr "No hay estudiantes en este lote." @@ -4977,7 +4978,7 @@ msgstr "Este certificado no caduca" msgid "This course has:" msgstr "Este curso tiene:" -#: lms/lms/utils.py:1582 +#: lms/lms/utils.py:1595 msgid "This course is free." msgstr "Este curso es gratuito." @@ -5119,7 +5120,7 @@ msgstr "A" msgid "To Date" msgstr "Hasta la fecha" -#: lms/lms/utils.py:1593 +#: lms/lms/utils.py:1606 msgid "To join this batch, please contact the Administrator." msgstr "Para unirse a este lote, comuníquese con el Administrador." From 4a2fae023cce101333b0469ce8deada5596f4c3b Mon Sep 17 00:00:00 2001 From: Jannat Patel <31363128+pateljannat@users.noreply.github.com> Date: Mon, 23 Dec 2024 07:45:22 +0530 Subject: [PATCH 08/62] chore: Arabic translations --- lms/locale/ar.po | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/lms/locale/ar.po b/lms/locale/ar.po index 32488d51c..46a370b89 100644 --- a/lms/locale/ar.po +++ b/lms/locale/ar.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: jannat@frappe.io\n" -"POT-Creation-Date: 2024-12-06 16:04+0000\n" -"PO-Revision-Date: 2024-12-09 23:30\n" +"POT-Creation-Date: 2024-12-13 16:04+0000\n" +"PO-Revision-Date: 2024-12-23 02:15\n" "Last-Translator: jannat@frappe.io\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" @@ -101,7 +101,7 @@ msgstr "نشط" #: frontend/src/components/Assessments.vue:11 #: frontend/src/components/BatchCourses.vue:11 -#: frontend/src/components/BatchStudents.vue:6 +#: frontend/src/components/BatchStudents.vue:10 #: frontend/src/components/Categories.vue:26 #: frontend/src/components/LiveClass.vue:11 #: frontend/src/components/Members.vue:43 frontend/src/pages/ProgramForm.vue:30 @@ -1702,7 +1702,7 @@ msgstr "" msgid "Enrollment Count" msgstr "" -#: lms/lms/utils.py:1702 +#: lms/lms/utils.py:1715 msgid "Enrollment Failed" msgstr "" @@ -1738,6 +1738,7 @@ msgstr "" #: frontend/src/components/Modals/Question.vue:249 #: frontend/src/components/Modals/Question.vue:269 #: frontend/src/components/Modals/Question.vue:326 +#: frontend/src/components/Modals/StudentModal.vue:69 #: frontend/src/components/SettingDetails.vue:62 #: frontend/src/pages/Billing.vue:264 frontend/src/pages/QuizForm.vue:350 #: frontend/src/pages/QuizForm.vue:365 @@ -2812,7 +2813,7 @@ msgstr "" msgid "LiveCode URL" msgstr "" -#: frontend/src/components/Members.vue:95 +#: frontend/src/components/Members.vue:106 msgid "Load More" msgstr "تحميل المزيد" @@ -3230,7 +3231,7 @@ msgstr "التالي" msgid "Next Question" msgstr "" -#: frontend/src/components/Assessments.vue:63 lms/templates/assessments.html:58 +#: frontend/src/components/Assessments.vue:66 lms/templates/assessments.html:58 msgid "No Assessments" msgstr "" @@ -3687,7 +3688,7 @@ msgstr "يرجى التحقق من بريدك الالكتروني للتحقق" msgid "Please click on the following button to set your new password" msgstr "" -#: lms/lms/utils.py:1824 lms/lms/utils.py:1828 +#: lms/lms/utils.py:1837 lms/lms/utils.py:1841 msgid "Please complete the previous courses in the program to enroll in this course." msgstr "" @@ -4700,13 +4701,13 @@ msgstr "" #. Label of the students (Table) field in DocType 'LMS Batch' #. Label of the show_students (Check) field in DocType 'LMS Settings' -#: frontend/src/components/BatchStudents.vue:9 +#: frontend/src/components/BatchStudents.vue:4 #: lms/lms/doctype/lms_batch/lms_batch.json #: lms/lms/doctype/lms_settings/lms_settings.json msgid "Students" msgstr "" -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 msgid "Students deleted successfully" msgstr "" @@ -4758,7 +4759,7 @@ msgstr "" #: frontend/src/components/BatchCourses.vue:150 #: frontend/src/components/BatchOverlay.vue:135 -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 #: frontend/src/components/CourseCardOverlay.vue:161 #: frontend/src/components/Modals/AnnouncementModal.vue:99 #: frontend/src/components/Modals/AssessmentModal.vue:73 @@ -4946,7 +4947,7 @@ msgstr "" msgid "There are no seats available in this batch." msgstr "" -#: frontend/src/components/BatchStudents.vue:67 +#: frontend/src/components/BatchStudents.vue:86 msgid "There are no students in this batch." msgstr "" @@ -4977,7 +4978,7 @@ msgstr "" msgid "This course has:" msgstr "" -#: lms/lms/utils.py:1582 +#: lms/lms/utils.py:1595 msgid "This course is free." msgstr "" @@ -5119,7 +5120,7 @@ msgstr "إلى" msgid "To Date" msgstr "إلى تاريخ" -#: lms/lms/utils.py:1593 +#: lms/lms/utils.py:1606 msgid "To join this batch, please contact the Administrator." msgstr "" From 551703364a8ba3415d4958711297ba712d1b0f3d Mon Sep 17 00:00:00 2001 From: Jannat Patel <31363128+pateljannat@users.noreply.github.com> Date: Mon, 23 Dec 2024 07:45:23 +0530 Subject: [PATCH 09/62] chore: German translations --- lms/locale/de.po | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/lms/locale/de.po b/lms/locale/de.po index 654522cc9..045a803b2 100644 --- a/lms/locale/de.po +++ b/lms/locale/de.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: jannat@frappe.io\n" -"POT-Creation-Date: 2024-12-06 16:04+0000\n" -"PO-Revision-Date: 2024-12-09 23:31\n" +"POT-Creation-Date: 2024-12-13 16:04+0000\n" +"PO-Revision-Date: 2024-12-23 02:15\n" "Last-Translator: jannat@frappe.io\n" "Language-Team: German\n" "MIME-Version: 1.0\n" @@ -101,7 +101,7 @@ msgstr "Aktiv" #: frontend/src/components/Assessments.vue:11 #: frontend/src/components/BatchCourses.vue:11 -#: frontend/src/components/BatchStudents.vue:6 +#: frontend/src/components/BatchStudents.vue:10 #: frontend/src/components/Categories.vue:26 #: frontend/src/components/LiveClass.vue:11 #: frontend/src/components/Members.vue:43 frontend/src/pages/ProgramForm.vue:30 @@ -1702,7 +1702,7 @@ msgstr "" msgid "Enrollment Count" msgstr "Anzahl der Einschreibungen" -#: lms/lms/utils.py:1702 +#: lms/lms/utils.py:1715 msgid "Enrollment Failed" msgstr "" @@ -1738,6 +1738,7 @@ msgstr "Geben Sie die richtige Antwort ein" #: frontend/src/components/Modals/Question.vue:249 #: frontend/src/components/Modals/Question.vue:269 #: frontend/src/components/Modals/Question.vue:326 +#: frontend/src/components/Modals/StudentModal.vue:69 #: frontend/src/components/SettingDetails.vue:62 #: frontend/src/pages/Billing.vue:264 frontend/src/pages/QuizForm.vue:350 #: frontend/src/pages/QuizForm.vue:365 @@ -2812,7 +2813,7 @@ msgstr "" msgid "LiveCode URL" msgstr "" -#: frontend/src/components/Members.vue:95 +#: frontend/src/components/Members.vue:106 msgid "Load More" msgstr "Mehr laden" @@ -3230,7 +3231,7 @@ msgstr "Weiter" msgid "Next Question" msgstr "Nächste Frage" -#: frontend/src/components/Assessments.vue:63 lms/templates/assessments.html:58 +#: frontend/src/components/Assessments.vue:66 lms/templates/assessments.html:58 msgid "No Assessments" msgstr "" @@ -3687,7 +3688,7 @@ msgstr "Bitte überprüfen Sie Ihren Posteingang. Wir haben Ihnen eine E-Mail mi msgid "Please click on the following button to set your new password" msgstr "Bitte klicken Sie auf die folgende Schaltfläche, um Ihr neues Passwort festzulegen" -#: lms/lms/utils.py:1824 lms/lms/utils.py:1828 +#: lms/lms/utils.py:1837 lms/lms/utils.py:1841 msgid "Please complete the previous courses in the program to enroll in this course." msgstr "" @@ -4700,13 +4701,13 @@ msgstr "" #. Label of the students (Table) field in DocType 'LMS Batch' #. Label of the show_students (Check) field in DocType 'LMS Settings' -#: frontend/src/components/BatchStudents.vue:9 +#: frontend/src/components/BatchStudents.vue:4 #: lms/lms/doctype/lms_batch/lms_batch.json #: lms/lms/doctype/lms_settings/lms_settings.json msgid "Students" msgstr "Schüler" -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 msgid "Students deleted successfully" msgstr "" @@ -4758,7 +4759,7 @@ msgstr "" #: frontend/src/components/BatchCourses.vue:150 #: frontend/src/components/BatchOverlay.vue:135 -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 #: frontend/src/components/CourseCardOverlay.vue:161 #: frontend/src/components/Modals/AnnouncementModal.vue:99 #: frontend/src/components/Modals/AssessmentModal.vue:73 @@ -4946,7 +4947,7 @@ msgstr "" msgid "There are no seats available in this batch." msgstr "" -#: frontend/src/components/BatchStudents.vue:67 +#: frontend/src/components/BatchStudents.vue:86 msgid "There are no students in this batch." msgstr "" @@ -4977,7 +4978,7 @@ msgstr "Dieses Zertifikat läuft nicht ab" msgid "This course has:" msgstr "" -#: lms/lms/utils.py:1582 +#: lms/lms/utils.py:1595 msgid "This course is free." msgstr "Dieser Kurs ist kostenlos." @@ -5119,7 +5120,7 @@ msgstr "An" msgid "To Date" msgstr "Bis-Datum" -#: lms/lms/utils.py:1593 +#: lms/lms/utils.py:1606 msgid "To join this batch, please contact the Administrator." msgstr "Um dieser Gruppe beizutreten, wenden Sie sich bitte an den Administrator." From 40959169911f9ebca964cd72afe6ce92d2b37be5 Mon Sep 17 00:00:00 2001 From: Jannat Patel <31363128+pateljannat@users.noreply.github.com> Date: Mon, 23 Dec 2024 07:45:25 +0530 Subject: [PATCH 10/62] chore: Hungarian translations --- lms/locale/hu.po | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/lms/locale/hu.po b/lms/locale/hu.po index 0aca1f1e1..705610119 100644 --- a/lms/locale/hu.po +++ b/lms/locale/hu.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: jannat@frappe.io\n" -"POT-Creation-Date: 2024-12-06 16:04+0000\n" -"PO-Revision-Date: 2024-12-09 23:31\n" +"POT-Creation-Date: 2024-12-13 16:04+0000\n" +"PO-Revision-Date: 2024-12-23 02:15\n" "Last-Translator: jannat@frappe.io\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" @@ -101,7 +101,7 @@ msgstr "" #: frontend/src/components/Assessments.vue:11 #: frontend/src/components/BatchCourses.vue:11 -#: frontend/src/components/BatchStudents.vue:6 +#: frontend/src/components/BatchStudents.vue:10 #: frontend/src/components/Categories.vue:26 #: frontend/src/components/LiveClass.vue:11 #: frontend/src/components/Members.vue:43 frontend/src/pages/ProgramForm.vue:30 @@ -1702,7 +1702,7 @@ msgstr "" msgid "Enrollment Count" msgstr "" -#: lms/lms/utils.py:1702 +#: lms/lms/utils.py:1715 msgid "Enrollment Failed" msgstr "" @@ -1738,6 +1738,7 @@ msgstr "" #: frontend/src/components/Modals/Question.vue:249 #: frontend/src/components/Modals/Question.vue:269 #: frontend/src/components/Modals/Question.vue:326 +#: frontend/src/components/Modals/StudentModal.vue:69 #: frontend/src/components/SettingDetails.vue:62 #: frontend/src/pages/Billing.vue:264 frontend/src/pages/QuizForm.vue:350 #: frontend/src/pages/QuizForm.vue:365 @@ -2812,7 +2813,7 @@ msgstr "" msgid "LiveCode URL" msgstr "" -#: frontend/src/components/Members.vue:95 +#: frontend/src/components/Members.vue:106 msgid "Load More" msgstr "Töltsön be többet" @@ -3230,7 +3231,7 @@ msgstr "" msgid "Next Question" msgstr "" -#: frontend/src/components/Assessments.vue:63 lms/templates/assessments.html:58 +#: frontend/src/components/Assessments.vue:66 lms/templates/assessments.html:58 msgid "No Assessments" msgstr "" @@ -3687,7 +3688,7 @@ msgstr "Kérjük, ellenőrizze e-mail a vizsgálathoz" msgid "Please click on the following button to set your new password" msgstr "" -#: lms/lms/utils.py:1824 lms/lms/utils.py:1828 +#: lms/lms/utils.py:1837 lms/lms/utils.py:1841 msgid "Please complete the previous courses in the program to enroll in this course." msgstr "" @@ -4700,13 +4701,13 @@ msgstr "" #. Label of the students (Table) field in DocType 'LMS Batch' #. Label of the show_students (Check) field in DocType 'LMS Settings' -#: frontend/src/components/BatchStudents.vue:9 +#: frontend/src/components/BatchStudents.vue:4 #: lms/lms/doctype/lms_batch/lms_batch.json #: lms/lms/doctype/lms_settings/lms_settings.json msgid "Students" msgstr "" -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 msgid "Students deleted successfully" msgstr "" @@ -4758,7 +4759,7 @@ msgstr "" #: frontend/src/components/BatchCourses.vue:150 #: frontend/src/components/BatchOverlay.vue:135 -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 #: frontend/src/components/CourseCardOverlay.vue:161 #: frontend/src/components/Modals/AnnouncementModal.vue:99 #: frontend/src/components/Modals/AssessmentModal.vue:73 @@ -4946,7 +4947,7 @@ msgstr "" msgid "There are no seats available in this batch." msgstr "" -#: frontend/src/components/BatchStudents.vue:67 +#: frontend/src/components/BatchStudents.vue:86 msgid "There are no students in this batch." msgstr "" @@ -4977,7 +4978,7 @@ msgstr "" msgid "This course has:" msgstr "" -#: lms/lms/utils.py:1582 +#: lms/lms/utils.py:1595 msgid "This course is free." msgstr "" @@ -5119,7 +5120,7 @@ msgstr "" msgid "To Date" msgstr "" -#: lms/lms/utils.py:1593 +#: lms/lms/utils.py:1606 msgid "To join this batch, please contact the Administrator." msgstr "" From f2c28eb695e41cf9a9c08630b819997381103ad8 Mon Sep 17 00:00:00 2001 From: Jannat Patel <31363128+pateljannat@users.noreply.github.com> Date: Mon, 23 Dec 2024 07:45:26 +0530 Subject: [PATCH 11/62] chore: Polish translations --- lms/locale/pl.po | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/lms/locale/pl.po b/lms/locale/pl.po index f9dcb4eab..8e58b1e0e 100644 --- a/lms/locale/pl.po +++ b/lms/locale/pl.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: jannat@frappe.io\n" -"POT-Creation-Date: 2024-12-06 16:04+0000\n" -"PO-Revision-Date: 2024-12-09 23:31\n" +"POT-Creation-Date: 2024-12-13 16:04+0000\n" +"PO-Revision-Date: 2024-12-23 02:15\n" "Last-Translator: jannat@frappe.io\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" @@ -101,7 +101,7 @@ msgstr "" #: frontend/src/components/Assessments.vue:11 #: frontend/src/components/BatchCourses.vue:11 -#: frontend/src/components/BatchStudents.vue:6 +#: frontend/src/components/BatchStudents.vue:10 #: frontend/src/components/Categories.vue:26 #: frontend/src/components/LiveClass.vue:11 #: frontend/src/components/Members.vue:43 frontend/src/pages/ProgramForm.vue:30 @@ -1702,7 +1702,7 @@ msgstr "" msgid "Enrollment Count" msgstr "" -#: lms/lms/utils.py:1702 +#: lms/lms/utils.py:1715 msgid "Enrollment Failed" msgstr "" @@ -1738,6 +1738,7 @@ msgstr "" #: frontend/src/components/Modals/Question.vue:249 #: frontend/src/components/Modals/Question.vue:269 #: frontend/src/components/Modals/Question.vue:326 +#: frontend/src/components/Modals/StudentModal.vue:69 #: frontend/src/components/SettingDetails.vue:62 #: frontend/src/pages/Billing.vue:264 frontend/src/pages/QuizForm.vue:350 #: frontend/src/pages/QuizForm.vue:365 @@ -2812,7 +2813,7 @@ msgstr "" msgid "LiveCode URL" msgstr "" -#: frontend/src/components/Members.vue:95 +#: frontend/src/components/Members.vue:106 msgid "Load More" msgstr "" @@ -3230,7 +3231,7 @@ msgstr "" msgid "Next Question" msgstr "" -#: frontend/src/components/Assessments.vue:63 lms/templates/assessments.html:58 +#: frontend/src/components/Assessments.vue:66 lms/templates/assessments.html:58 msgid "No Assessments" msgstr "" @@ -3687,7 +3688,7 @@ msgstr "" msgid "Please click on the following button to set your new password" msgstr "" -#: lms/lms/utils.py:1824 lms/lms/utils.py:1828 +#: lms/lms/utils.py:1837 lms/lms/utils.py:1841 msgid "Please complete the previous courses in the program to enroll in this course." msgstr "" @@ -4700,13 +4701,13 @@ msgstr "" #. Label of the students (Table) field in DocType 'LMS Batch' #. Label of the show_students (Check) field in DocType 'LMS Settings' -#: frontend/src/components/BatchStudents.vue:9 +#: frontend/src/components/BatchStudents.vue:4 #: lms/lms/doctype/lms_batch/lms_batch.json #: lms/lms/doctype/lms_settings/lms_settings.json msgid "Students" msgstr "" -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 msgid "Students deleted successfully" msgstr "" @@ -4758,7 +4759,7 @@ msgstr "" #: frontend/src/components/BatchCourses.vue:150 #: frontend/src/components/BatchOverlay.vue:135 -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 #: frontend/src/components/CourseCardOverlay.vue:161 #: frontend/src/components/Modals/AnnouncementModal.vue:99 #: frontend/src/components/Modals/AssessmentModal.vue:73 @@ -4946,7 +4947,7 @@ msgstr "" msgid "There are no seats available in this batch." msgstr "" -#: frontend/src/components/BatchStudents.vue:67 +#: frontend/src/components/BatchStudents.vue:86 msgid "There are no students in this batch." msgstr "" @@ -4977,7 +4978,7 @@ msgstr "" msgid "This course has:" msgstr "" -#: lms/lms/utils.py:1582 +#: lms/lms/utils.py:1595 msgid "This course is free." msgstr "" @@ -5119,7 +5120,7 @@ msgstr "" msgid "To Date" msgstr "" -#: lms/lms/utils.py:1593 +#: lms/lms/utils.py:1606 msgid "To join this batch, please contact the Administrator." msgstr "" From fdc0befcee2868e62ff56cef5eb3cd8306a48527 Mon Sep 17 00:00:00 2001 From: Jannat Patel <31363128+pateljannat@users.noreply.github.com> Date: Mon, 23 Dec 2024 07:45:27 +0530 Subject: [PATCH 12/62] chore: Russian translations --- lms/locale/ru.po | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/lms/locale/ru.po b/lms/locale/ru.po index dbe048ae8..c82c618f1 100644 --- a/lms/locale/ru.po +++ b/lms/locale/ru.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: jannat@frappe.io\n" -"POT-Creation-Date: 2024-12-06 16:04+0000\n" -"PO-Revision-Date: 2024-12-09 23:31\n" +"POT-Creation-Date: 2024-12-13 16:04+0000\n" +"PO-Revision-Date: 2024-12-23 02:15\n" "Last-Translator: jannat@frappe.io\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" @@ -101,7 +101,7 @@ msgstr "" #: frontend/src/components/Assessments.vue:11 #: frontend/src/components/BatchCourses.vue:11 -#: frontend/src/components/BatchStudents.vue:6 +#: frontend/src/components/BatchStudents.vue:10 #: frontend/src/components/Categories.vue:26 #: frontend/src/components/LiveClass.vue:11 #: frontend/src/components/Members.vue:43 frontend/src/pages/ProgramForm.vue:30 @@ -1702,7 +1702,7 @@ msgstr "Подтверждение регистрации на следующу msgid "Enrollment Count" msgstr "Количество регистраций" -#: lms/lms/utils.py:1702 +#: lms/lms/utils.py:1715 msgid "Enrollment Failed" msgstr "" @@ -1738,6 +1738,7 @@ msgstr "Введите правильный ответ" #: frontend/src/components/Modals/Question.vue:249 #: frontend/src/components/Modals/Question.vue:269 #: frontend/src/components/Modals/Question.vue:326 +#: frontend/src/components/Modals/StudentModal.vue:69 #: frontend/src/components/SettingDetails.vue:62 #: frontend/src/pages/Billing.vue:264 frontend/src/pages/QuizForm.vue:350 #: frontend/src/pages/QuizForm.vue:365 @@ -2812,7 +2813,7 @@ msgstr "Онлайн-урок" msgid "LiveCode URL" msgstr "" -#: frontend/src/components/Members.vue:95 +#: frontend/src/components/Members.vue:106 msgid "Load More" msgstr "" @@ -3230,7 +3231,7 @@ msgstr "" msgid "Next Question" msgstr "Следующий вопрос" -#: frontend/src/components/Assessments.vue:63 lms/templates/assessments.html:58 +#: frontend/src/components/Assessments.vue:66 lms/templates/assessments.html:58 msgid "No Assessments" msgstr "Нет оценок" @@ -3687,7 +3688,7 @@ msgstr "Пожалуйста, проверьте свой email для подт msgid "Please click on the following button to set your new password" msgstr "Нажмите на следующую кнопку, чтобы установить новый пароль." -#: lms/lms/utils.py:1824 lms/lms/utils.py:1828 +#: lms/lms/utils.py:1837 lms/lms/utils.py:1841 msgid "Please complete the previous courses in the program to enroll in this course." msgstr "" @@ -4700,13 +4701,13 @@ msgstr "Курс {0} уже добавлен в группу." #. Label of the students (Table) field in DocType 'LMS Batch' #. Label of the show_students (Check) field in DocType 'LMS Settings' -#: frontend/src/components/BatchStudents.vue:9 +#: frontend/src/components/BatchStudents.vue:4 #: lms/lms/doctype/lms_batch/lms_batch.json #: lms/lms/doctype/lms_settings/lms_settings.json msgid "Students" msgstr "Студенты" -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 msgid "Students deleted successfully" msgstr "" @@ -4758,7 +4759,7 @@ msgstr "Отправлено {0}" #: frontend/src/components/BatchCourses.vue:150 #: frontend/src/components/BatchOverlay.vue:135 -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 #: frontend/src/components/CourseCardOverlay.vue:161 #: frontend/src/components/Modals/AnnouncementModal.vue:99 #: frontend/src/components/Modals/AssessmentModal.vue:73 @@ -4946,7 +4947,7 @@ msgstr "" msgid "There are no seats available in this batch." msgstr "В этой группе нет свободных мест." -#: frontend/src/components/BatchStudents.vue:67 +#: frontend/src/components/BatchStudents.vue:86 msgid "There are no students in this batch." msgstr "В этой группе нет студентов." @@ -4977,7 +4978,7 @@ msgstr "Этот сертификат является бессрочным" msgid "This course has:" msgstr "" -#: lms/lms/utils.py:1582 +#: lms/lms/utils.py:1595 msgid "This course is free." msgstr "Этот курс бесплатный." @@ -5119,7 +5120,7 @@ msgstr "" msgid "To Date" msgstr "" -#: lms/lms/utils.py:1593 +#: lms/lms/utils.py:1606 msgid "To join this batch, please contact the Administrator." msgstr "Чтобы присоединиться к этой группе, свяжитесь с администратором." From 6384eeaa1318e893beeb7f810f92102cb0b63fa6 Mon Sep 17 00:00:00 2001 From: Jannat Patel <31363128+pateljannat@users.noreply.github.com> Date: Mon, 23 Dec 2024 07:45:30 +0530 Subject: [PATCH 13/62] chore: Turkish translations --- lms/locale/tr.po | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/lms/locale/tr.po b/lms/locale/tr.po index 355cc617a..15b19c983 100644 --- a/lms/locale/tr.po +++ b/lms/locale/tr.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: jannat@frappe.io\n" -"POT-Creation-Date: 2024-12-06 16:04+0000\n" -"PO-Revision-Date: 2024-12-09 23:31\n" +"POT-Creation-Date: 2024-12-13 16:04+0000\n" +"PO-Revision-Date: 2024-12-23 02:15\n" "Last-Translator: jannat@frappe.io\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" @@ -101,7 +101,7 @@ msgstr "Aktif" #: frontend/src/components/Assessments.vue:11 #: frontend/src/components/BatchCourses.vue:11 -#: frontend/src/components/BatchStudents.vue:6 +#: frontend/src/components/BatchStudents.vue:10 #: frontend/src/components/Categories.vue:26 #: frontend/src/components/LiveClass.vue:11 #: frontend/src/components/Members.vue:43 frontend/src/pages/ProgramForm.vue:30 @@ -1702,7 +1702,7 @@ msgstr "Sonraki Eğitim Grubu için Kayıt Onayı" msgid "Enrollment Count" msgstr "Kayıt Sayısı" -#: lms/lms/utils.py:1702 +#: lms/lms/utils.py:1715 msgid "Enrollment Failed" msgstr "Kayıt Başarısız" @@ -1738,6 +1738,7 @@ msgstr "Doğru cevabı girin" #: frontend/src/components/Modals/Question.vue:249 #: frontend/src/components/Modals/Question.vue:269 #: frontend/src/components/Modals/Question.vue:326 +#: frontend/src/components/Modals/StudentModal.vue:69 #: frontend/src/components/SettingDetails.vue:62 #: frontend/src/pages/Billing.vue:264 frontend/src/pages/QuizForm.vue:350 #: frontend/src/pages/QuizForm.vue:365 @@ -2812,7 +2813,7 @@ msgstr "Canlı Sınıf" msgid "LiveCode URL" msgstr "" -#: frontend/src/components/Members.vue:95 +#: frontend/src/components/Members.vue:106 msgid "Load More" msgstr "Daha Fazla Yükle" @@ -3230,7 +3231,7 @@ msgstr "Sonraki" msgid "Next Question" msgstr "Sonraki Soru" -#: frontend/src/components/Assessments.vue:63 lms/templates/assessments.html:58 +#: frontend/src/components/Assessments.vue:66 lms/templates/assessments.html:58 msgid "No Assessments" msgstr "Değerlendirme Yok" @@ -3687,7 +3688,7 @@ msgstr "Doğrulama için lütfen e-postanızı kontrol edin" msgid "Please click on the following button to set your new password" msgstr "Yeni şifrenizi belirlemek için lütfen aşağıdaki linke tıklayınız" -#: lms/lms/utils.py:1824 lms/lms/utils.py:1828 +#: lms/lms/utils.py:1837 lms/lms/utils.py:1841 msgid "Please complete the previous courses in the program to enroll in this course." msgstr "" @@ -4700,13 +4701,13 @@ msgstr "Öğrenci {0} zaten bu gruba eklendi." #. Label of the students (Table) field in DocType 'LMS Batch' #. Label of the show_students (Check) field in DocType 'LMS Settings' -#: frontend/src/components/BatchStudents.vue:9 +#: frontend/src/components/BatchStudents.vue:4 #: lms/lms/doctype/lms_batch/lms_batch.json #: lms/lms/doctype/lms_settings/lms_settings.json msgid "Students" msgstr "Öğrenciler" -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 msgid "Students deleted successfully" msgstr "" @@ -4758,7 +4759,7 @@ msgstr "Kaydedildi {0}" #: frontend/src/components/BatchCourses.vue:150 #: frontend/src/components/BatchOverlay.vue:135 -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 #: frontend/src/components/CourseCardOverlay.vue:161 #: frontend/src/components/Modals/AnnouncementModal.vue:99 #: frontend/src/components/Modals/AssessmentModal.vue:73 @@ -4946,7 +4947,7 @@ msgstr "" msgid "There are no seats available in this batch." msgstr "Bu grupta boş yer bulunmamaktadır." -#: frontend/src/components/BatchStudents.vue:67 +#: frontend/src/components/BatchStudents.vue:86 msgid "There are no students in this batch." msgstr "Bu grupta hiç öğrenci bulunmamaktadır." @@ -4977,7 +4978,7 @@ msgstr "" msgid "This course has:" msgstr "Bu kursta:" -#: lms/lms/utils.py:1582 +#: lms/lms/utils.py:1595 msgid "This course is free." msgstr "Bu kurs ücretsizdir." @@ -5119,7 +5120,7 @@ msgstr "Alıcı" msgid "To Date" msgstr "Bitiş Tarihi" -#: lms/lms/utils.py:1593 +#: lms/lms/utils.py:1606 msgid "To join this batch, please contact the Administrator." msgstr "" From 776d46f5a291d6321facc30aa244a6053d755990 Mon Sep 17 00:00:00 2001 From: Jannat Patel <31363128+pateljannat@users.noreply.github.com> Date: Mon, 23 Dec 2024 07:45:32 +0530 Subject: [PATCH 14/62] chore: Chinese Simplified translations --- lms/locale/zh.po | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/lms/locale/zh.po b/lms/locale/zh.po index ed495b072..973151ab7 100644 --- a/lms/locale/zh.po +++ b/lms/locale/zh.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: jannat@frappe.io\n" -"POT-Creation-Date: 2024-12-06 16:04+0000\n" -"PO-Revision-Date: 2024-12-09 23:31\n" +"POT-Creation-Date: 2024-12-13 16:04+0000\n" +"PO-Revision-Date: 2024-12-23 02:15\n" "Last-Translator: jannat@frappe.io\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" @@ -101,7 +101,7 @@ msgstr "活动" #: frontend/src/components/Assessments.vue:11 #: frontend/src/components/BatchCourses.vue:11 -#: frontend/src/components/BatchStudents.vue:6 +#: frontend/src/components/BatchStudents.vue:10 #: frontend/src/components/Categories.vue:26 #: frontend/src/components/LiveClass.vue:11 #: frontend/src/components/Members.vue:43 frontend/src/pages/ProgramForm.vue:30 @@ -1702,7 +1702,7 @@ msgstr "" msgid "Enrollment Count" msgstr "" -#: lms/lms/utils.py:1702 +#: lms/lms/utils.py:1715 msgid "Enrollment Failed" msgstr "" @@ -1738,6 +1738,7 @@ msgstr "" #: frontend/src/components/Modals/Question.vue:249 #: frontend/src/components/Modals/Question.vue:269 #: frontend/src/components/Modals/Question.vue:326 +#: frontend/src/components/Modals/StudentModal.vue:69 #: frontend/src/components/SettingDetails.vue:62 #: frontend/src/pages/Billing.vue:264 frontend/src/pages/QuizForm.vue:350 #: frontend/src/pages/QuizForm.vue:365 @@ -2812,7 +2813,7 @@ msgstr "" msgid "LiveCode URL" msgstr "" -#: frontend/src/components/Members.vue:95 +#: frontend/src/components/Members.vue:106 msgid "Load More" msgstr "装载更多" @@ -3230,7 +3231,7 @@ msgstr "下一个" msgid "Next Question" msgstr "" -#: frontend/src/components/Assessments.vue:63 lms/templates/assessments.html:58 +#: frontend/src/components/Assessments.vue:66 lms/templates/assessments.html:58 msgid "No Assessments" msgstr "" @@ -3687,7 +3688,7 @@ msgstr "请检查您的电子邮件验证" msgid "Please click on the following button to set your new password" msgstr "" -#: lms/lms/utils.py:1824 lms/lms/utils.py:1828 +#: lms/lms/utils.py:1837 lms/lms/utils.py:1841 msgid "Please complete the previous courses in the program to enroll in this course." msgstr "" @@ -4700,13 +4701,13 @@ msgstr "" #. Label of the students (Table) field in DocType 'LMS Batch' #. Label of the show_students (Check) field in DocType 'LMS Settings' -#: frontend/src/components/BatchStudents.vue:9 +#: frontend/src/components/BatchStudents.vue:4 #: lms/lms/doctype/lms_batch/lms_batch.json #: lms/lms/doctype/lms_settings/lms_settings.json msgid "Students" msgstr "" -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 msgid "Students deleted successfully" msgstr "" @@ -4758,7 +4759,7 @@ msgstr "" #: frontend/src/components/BatchCourses.vue:150 #: frontend/src/components/BatchOverlay.vue:135 -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 #: frontend/src/components/CourseCardOverlay.vue:161 #: frontend/src/components/Modals/AnnouncementModal.vue:99 #: frontend/src/components/Modals/AssessmentModal.vue:73 @@ -4946,7 +4947,7 @@ msgstr "" msgid "There are no seats available in this batch." msgstr "" -#: frontend/src/components/BatchStudents.vue:67 +#: frontend/src/components/BatchStudents.vue:86 msgid "There are no students in this batch." msgstr "" @@ -4977,7 +4978,7 @@ msgstr "" msgid "This course has:" msgstr "" -#: lms/lms/utils.py:1582 +#: lms/lms/utils.py:1595 msgid "This course is free." msgstr "" @@ -5119,7 +5120,7 @@ msgstr "至" msgid "To Date" msgstr "至今" -#: lms/lms/utils.py:1593 +#: lms/lms/utils.py:1606 msgid "To join this batch, please contact the Administrator." msgstr "" From 1677a4a32b1c66f73ea288e1f1306d5222d81094 Mon Sep 17 00:00:00 2001 From: Jannat Patel <31363128+pateljannat@users.noreply.github.com> Date: Mon, 23 Dec 2024 07:45:33 +0530 Subject: [PATCH 15/62] chore: Persian translations --- lms/locale/fa.po | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/lms/locale/fa.po b/lms/locale/fa.po index 4a8a271cc..287003ca2 100644 --- a/lms/locale/fa.po +++ b/lms/locale/fa.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: jannat@frappe.io\n" -"POT-Creation-Date: 2024-12-06 16:04+0000\n" -"PO-Revision-Date: 2024-12-17 00:07\n" +"POT-Creation-Date: 2024-12-13 16:04+0000\n" +"PO-Revision-Date: 2024-12-23 02:15\n" "Last-Translator: jannat@frappe.io\n" "Language-Team: Persian\n" "MIME-Version: 1.0\n" @@ -101,7 +101,7 @@ msgstr "فعال" #: frontend/src/components/Assessments.vue:11 #: frontend/src/components/BatchCourses.vue:11 -#: frontend/src/components/BatchStudents.vue:6 +#: frontend/src/components/BatchStudents.vue:10 #: frontend/src/components/Categories.vue:26 #: frontend/src/components/LiveClass.vue:11 #: frontend/src/components/Members.vue:43 frontend/src/pages/ProgramForm.vue:30 @@ -1702,7 +1702,7 @@ msgstr "" msgid "Enrollment Count" msgstr "" -#: lms/lms/utils.py:1702 +#: lms/lms/utils.py:1715 msgid "Enrollment Failed" msgstr "" @@ -1738,6 +1738,7 @@ msgstr "پاسخ صحیح را وارد کنید" #: frontend/src/components/Modals/Question.vue:249 #: frontend/src/components/Modals/Question.vue:269 #: frontend/src/components/Modals/Question.vue:326 +#: frontend/src/components/Modals/StudentModal.vue:69 #: frontend/src/components/SettingDetails.vue:62 #: frontend/src/pages/Billing.vue:264 frontend/src/pages/QuizForm.vue:350 #: frontend/src/pages/QuizForm.vue:365 @@ -2812,7 +2813,7 @@ msgstr "کلاس زنده" msgid "LiveCode URL" msgstr "" -#: frontend/src/components/Members.vue:95 +#: frontend/src/components/Members.vue:106 msgid "Load More" msgstr "بارگذاری بیشتر" @@ -3230,7 +3231,7 @@ msgstr "بعد" msgid "Next Question" msgstr "سؤال بعدی" -#: frontend/src/components/Assessments.vue:63 lms/templates/assessments.html:58 +#: frontend/src/components/Assessments.vue:66 lms/templates/assessments.html:58 msgid "No Assessments" msgstr "" @@ -3687,7 +3688,7 @@ msgstr "لطفا ایمیل خود را برای تایید بررسی کنید" msgid "Please click on the following button to set your new password" msgstr "" -#: lms/lms/utils.py:1824 lms/lms/utils.py:1828 +#: lms/lms/utils.py:1837 lms/lms/utils.py:1841 msgid "Please complete the previous courses in the program to enroll in this course." msgstr "" @@ -4700,13 +4701,13 @@ msgstr "دانش‌آموز {0} قبلاً به این دسته اضافه شد #. Label of the students (Table) field in DocType 'LMS Batch' #. Label of the show_students (Check) field in DocType 'LMS Settings' -#: frontend/src/components/BatchStudents.vue:9 +#: frontend/src/components/BatchStudents.vue:4 #: lms/lms/doctype/lms_batch/lms_batch.json #: lms/lms/doctype/lms_settings/lms_settings.json msgid "Students" msgstr "دانش‌آموزان" -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 msgid "Students deleted successfully" msgstr "" @@ -4758,7 +4759,7 @@ msgstr "" #: frontend/src/components/BatchCourses.vue:150 #: frontend/src/components/BatchOverlay.vue:135 -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 #: frontend/src/components/CourseCardOverlay.vue:161 #: frontend/src/components/Modals/AnnouncementModal.vue:99 #: frontend/src/components/Modals/AssessmentModal.vue:73 @@ -4946,7 +4947,7 @@ msgstr "" msgid "There are no seats available in this batch." msgstr "" -#: frontend/src/components/BatchStudents.vue:67 +#: frontend/src/components/BatchStudents.vue:86 msgid "There are no students in this batch." msgstr "هیچ دانش‌آموزی در این گروه وجود ندارد." @@ -4977,7 +4978,7 @@ msgstr "" msgid "This course has:" msgstr "" -#: lms/lms/utils.py:1582 +#: lms/lms/utils.py:1595 msgid "This course is free." msgstr "" @@ -5119,7 +5120,7 @@ msgstr "به" msgid "To Date" msgstr "تا تاریخ" -#: lms/lms/utils.py:1593 +#: lms/lms/utils.py:1606 msgid "To join this batch, please contact the Administrator." msgstr "" From a85c81a4b44b91ec1b2b24d12ada8f26e74a4549 Mon Sep 17 00:00:00 2001 From: Jannat Patel <31363128+pateljannat@users.noreply.github.com> Date: Mon, 23 Dec 2024 07:45:35 +0530 Subject: [PATCH 16/62] chore: Bosnian translations --- lms/locale/bs.po | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/lms/locale/bs.po b/lms/locale/bs.po index 92a8c8430..28426c129 100644 --- a/lms/locale/bs.po +++ b/lms/locale/bs.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: jannat@frappe.io\n" -"POT-Creation-Date: 2024-12-06 16:04+0000\n" -"PO-Revision-Date: 2024-12-09 23:31\n" +"POT-Creation-Date: 2024-12-13 16:04+0000\n" +"PO-Revision-Date: 2024-12-23 02:15\n" "Last-Translator: jannat@frappe.io\n" "Language-Team: Bosnian\n" "MIME-Version: 1.0\n" @@ -101,7 +101,7 @@ msgstr "Aktivan" #: frontend/src/components/Assessments.vue:11 #: frontend/src/components/BatchCourses.vue:11 -#: frontend/src/components/BatchStudents.vue:6 +#: frontend/src/components/BatchStudents.vue:10 #: frontend/src/components/Categories.vue:26 #: frontend/src/components/LiveClass.vue:11 #: frontend/src/components/Members.vue:43 frontend/src/pages/ProgramForm.vue:30 @@ -1702,7 +1702,7 @@ msgstr "" msgid "Enrollment Count" msgstr "" -#: lms/lms/utils.py:1702 +#: lms/lms/utils.py:1715 msgid "Enrollment Failed" msgstr "" @@ -1738,6 +1738,7 @@ msgstr "" #: frontend/src/components/Modals/Question.vue:249 #: frontend/src/components/Modals/Question.vue:269 #: frontend/src/components/Modals/Question.vue:326 +#: frontend/src/components/Modals/StudentModal.vue:69 #: frontend/src/components/SettingDetails.vue:62 #: frontend/src/pages/Billing.vue:264 frontend/src/pages/QuizForm.vue:350 #: frontend/src/pages/QuizForm.vue:365 @@ -2812,7 +2813,7 @@ msgstr "" msgid "LiveCode URL" msgstr "" -#: frontend/src/components/Members.vue:95 +#: frontend/src/components/Members.vue:106 msgid "Load More" msgstr "Učitaj još" @@ -3230,7 +3231,7 @@ msgstr "Sljedeći" msgid "Next Question" msgstr "" -#: frontend/src/components/Assessments.vue:63 lms/templates/assessments.html:58 +#: frontend/src/components/Assessments.vue:66 lms/templates/assessments.html:58 msgid "No Assessments" msgstr "" @@ -3687,7 +3688,7 @@ msgstr "Molimo provjerite svoju e-poštu za potvrdu" msgid "Please click on the following button to set your new password" msgstr "" -#: lms/lms/utils.py:1824 lms/lms/utils.py:1828 +#: lms/lms/utils.py:1837 lms/lms/utils.py:1841 msgid "Please complete the previous courses in the program to enroll in this course." msgstr "" @@ -4700,13 +4701,13 @@ msgstr "" #. Label of the students (Table) field in DocType 'LMS Batch' #. Label of the show_students (Check) field in DocType 'LMS Settings' -#: frontend/src/components/BatchStudents.vue:9 +#: frontend/src/components/BatchStudents.vue:4 #: lms/lms/doctype/lms_batch/lms_batch.json #: lms/lms/doctype/lms_settings/lms_settings.json msgid "Students" msgstr "" -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 msgid "Students deleted successfully" msgstr "" @@ -4758,7 +4759,7 @@ msgstr "" #: frontend/src/components/BatchCourses.vue:150 #: frontend/src/components/BatchOverlay.vue:135 -#: frontend/src/components/BatchStudents.vue:157 +#: frontend/src/components/BatchStudents.vue:191 #: frontend/src/components/CourseCardOverlay.vue:161 #: frontend/src/components/Modals/AnnouncementModal.vue:99 #: frontend/src/components/Modals/AssessmentModal.vue:73 @@ -4946,7 +4947,7 @@ msgstr "" msgid "There are no seats available in this batch." msgstr "" -#: frontend/src/components/BatchStudents.vue:67 +#: frontend/src/components/BatchStudents.vue:86 msgid "There are no students in this batch." msgstr "" @@ -4977,7 +4978,7 @@ msgstr "" msgid "This course has:" msgstr "" -#: lms/lms/utils.py:1582 +#: lms/lms/utils.py:1595 msgid "This course is free." msgstr "" @@ -5119,7 +5120,7 @@ msgstr "" msgid "To Date" msgstr "" -#: lms/lms/utils.py:1593 +#: lms/lms/utils.py:1606 msgid "To join this batch, please contact the Administrator." msgstr "" From b625d9b0990d53272d210c01183c000e3127d53d Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Mon, 23 Dec 2024 11:33:09 +0530 Subject: [PATCH 17/62] fix: markdown embed and paste issue --- .github/workflows/build.yml | 6 ++--- frontend/src/utils/markdownParser.js | 38 +++++++++++++++------------- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0822a5451..275c3a097 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,9 +10,9 @@ jobs: build: name: Build runs-on: ubuntu-latest - strategy: - matrix: - arch: [amd64, arm64] + permissions: + packages: write + steps: - name: Checkout Entire Repository uses: actions/checkout@v4 diff --git a/frontend/src/utils/markdownParser.js b/frontend/src/utils/markdownParser.js index 1303d1a79..db47283cf 100644 --- a/frontend/src/utils/markdownParser.js +++ b/frontend/src/utils/markdownParser.js @@ -18,6 +18,27 @@ export class Markdown { } } + onPaste(event) { + const data = { + text: event.detail.data.innerHTML, + } + + this.data = data + + window.requestAnimationFrame(() => { + if (!this.wrapper) { + return + } + this.wrapper.innerHTML = this.data.text || '' + }) + } + + static get pasteConfig() { + return { + tags: ['P'], + } + } + render() { this.wrapper = document.createElement('div') this.wrapper.classList.add('cdx-block') @@ -36,10 +57,6 @@ export class Markdown { this.parseContent(event) } }) - - this.wrapper.addEventListener('paste', (event) => - this.handlePaste(event) - ) } return this.wrapper @@ -101,19 +118,6 @@ export class Markdown { this.api.caret.focus(true) } - handlePaste(event) { - event.preventDefault() - - const clipboardData = event.clipboardData || window.clipboardData - const pastedText = clipboardData.getData('text/plain') - const sanitizedText = this.processPastedContent(pastedText) - document.execCommand('insertText', false, sanitizedText) - } - - processPastedContent(text) { - return text.trim() - } - save(blockContent) { return { text: blockContent.innerHTML, From f28f37fb2c37bfe83bf030da0c98b795ed688d04 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Mon, 23 Dec 2024 12:14:00 +0530 Subject: [PATCH 18/62] ci: added back arch for building docker image --- .github/workflows/build.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 275c3a097..63fd2e75b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,14 +10,21 @@ jobs: build: name: Build runs-on: ubuntu-latest + + strategy: + matrix: + arch: [amd64, arm64] + permissions: packages: write steps: - name: Checkout Entire Repository uses: actions/checkout@v4 + - name: Set up QEMU uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 with: @@ -28,11 +35,13 @@ jobs: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.RELEASE_TOKEN }} + - name: Set Branch run: | export APPS_JSON='[{"url": "https://github.com/frappe/lms","branch": "main"}]' echo "APPS_JSON_BASE64=$(echo $APPS_JSON | base64 -w 0)" >> $GITHUB_ENV echo "FRAPPE_BRANCH=version-15" >> $GITHUB_ENV + - name: Set Image Tag run: | echo "IMAGE_TAG=stable" >> $GITHUB_ENV @@ -40,6 +49,7 @@ jobs: with: repository: frappe/frappe_docker path: builds + - name: Build and push uses: docker/build-push-action@v6 with: From d0189b0e3ad9d6de7da0e7e97be860670a83ec00 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Mon, 23 Dec 2024 12:28:31 +0530 Subject: [PATCH 19/62] ci: updated the credentials for building docker image --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 275c3a097..c492de760 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,7 +27,7 @@ jobs: with: registry: ghcr.io username: ${{ github.actor }} - password: ${{ secrets.RELEASE_TOKEN }} + password: ${{ secrets.GITHUB_TOKEN }} - name: Set Branch run: | export APPS_JSON='[{"url": "https://github.com/frappe/lms","branch": "main"}]' From 0fae11d0310e7058100936bf4b18e204ad15ce78 Mon Sep 17 00:00:00 2001 From: Jannat Patel <31363128+pateljannat@users.noreply.github.com> Date: Mon, 23 Dec 2024 12:46:02 +0530 Subject: [PATCH 20/62] docs: updated self hosting steps in README --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6b06f4769..6c0989b9b 100644 --- a/README.md +++ b/README.md @@ -106,9 +106,9 @@ wget https://frappe.io/easy-install.py python3 ./easy-install.py deploy \ --project=learning_prod_setup \ --email=your_email.example.com \ - --image=ghcr.io/frappe/learning \ + --image=ghcr.io/frappe/lms \ --version=stable \ - --app=learning \ + --app=lms \ --sitename subdomain.domain.tld ``` From 4ccd3ba71ec7e959e616a293b875a9a23b7287c2 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Mon, 23 Dec 2024 17:19:48 +0530 Subject: [PATCH 21/62] fix: legends --- frontend/src/components/BatchStudents.vue | 189 +++++++++++++--------- frontend/src/pages/Batch.vue | 45 +++--- 2 files changed, 132 insertions(+), 102 deletions(-) diff --git a/frontend/src/components/BatchStudents.vue b/frontend/src/components/BatchStudents.vue index ea2c6037f..269a053ea 100644 --- a/frontend/src/components/BatchStudents.vue +++ b/frontend/src/components/BatchStudents.vue @@ -1,5 +1,10 @@