diff --git a/.github/helper/install_dependencies.sh b/.github/helper/install_dependencies.sh index beb0cd34..17786a03 100644 --- a/.github/helper/install_dependencies.sh +++ b/.github/helper/install_dependencies.sh @@ -5,7 +5,7 @@ echo "Setting Up System Dependencies..." sudo apt update sudo apt remove mysql-server mysql-client -sudo apt-get install libcups2-dev redis-server mariadb-client +sudo apt-get install libcups2-dev redis-server mariadb-client libmariadb-dev install_wkhtmltopdf() { wget -q https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb diff --git a/frontend/components.d.ts b/frontend/components.d.ts index 09f63fdd..98fda927 100644 --- a/frontend/components.d.ts +++ b/frontend/components.d.ts @@ -32,6 +32,8 @@ declare module 'vue' { Categories: typeof import('./src/components/Settings/Categories.vue')['default'] CertificationLinks: typeof import('./src/components/CertificationLinks.vue')['default'] ChapterModal: typeof import('./src/components/Modals/ChapterModal.vue')['default'] + ChildTable: typeof import('./src/components/Controls/ChildTable.vue')['default'] + Code: typeof import('./src/components/Controls/Code.vue')['default'] CodeEditor: typeof import('./src/components/Controls/CodeEditor.vue')['default'] CollapseSidebar: typeof import('./src/components/Icons/CollapseSidebar.vue')['default'] CourseCard: typeof import('./src/components/CourseCard.vue')['default'] diff --git a/frontend/package.json b/frontend/package.json index bb7a91da..a7df7298 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -10,6 +10,10 @@ "copy-html-entry": "cp ../lms/public/frontend/index.html ../lms/www/lms.html" }, "dependencies": { + "@codemirror/lang-html": "^6.4.9", + "@codemirror/lang-javascript": "^6.2.4", + "@codemirror/lang-json": "^6.0.1", + "@codemirror/lang-python": "^6.2.1", "@editorjs/checklist": "^1.6.0", "@editorjs/code": "^2.9.0", "@editorjs/editorjs": "^2.29.0", @@ -24,7 +28,7 @@ "ace-builds": "^1.36.2", "apexcharts": "^4.3.0", "chart.js": "^4.4.1", - "codemirror-editor-vue3": "^2.8.0", + "codemirror": "^6.0.1", "dayjs": "^1.11.6", "feather-icons": "^4.28.0", "frappe-ui": "^0.1.147", @@ -35,9 +39,11 @@ "plyr": "^3.7.8", "socket.io-client": "^4.7.2", "tailwindcss": "3.4.15", + "thememirror": "^2.0.1", "typescript": "^5.7.2", "vue": "^3.4.23", "vue-chartjs": "^5.3.0", + "vue-codemirror": "^6.1.1", "vue-draggable-next": "^2.2.1", "vue-router": "^4.0.12", "vue3-apexcharts": "^1.8.0", diff --git a/frontend/src/components/AppSidebar.vue b/frontend/src/components/AppSidebar.vue index e2374354..9a96b146 100644 --- a/frontend/src/components/AppSidebar.vue +++ b/frontend/src/components/AppSidebar.vue @@ -313,7 +313,7 @@ const addNotifications = () => { const addQuizzes = () => { if (isInstructor.value || isModerator.value) { - sidebarLinks.value.push({ + sidebarLinks.value.splice(4, 0, { label: 'Quizzes', icon: 'CircleHelp', to: 'Quizzes', @@ -329,7 +329,7 @@ const addQuizzes = () => { const addAssignments = () => { if (isInstructor.value || isModerator.value) { - sidebarLinks.value.push({ + sidebarLinks.value.splice(5, 0, { label: 'Assignments', icon: 'Pencil', to: 'Assignments', diff --git a/frontend/src/components/AssessmentPlugin.vue b/frontend/src/components/AssessmentPlugin.vue index 21f8895e..eae9763e 100644 --- a/frontend/src/components/AssessmentPlugin.vue +++ b/frontend/src/components/AssessmentPlugin.vue @@ -2,17 +2,24 @@ - diff --git a/frontend/src/components/BatchDashboard.vue b/frontend/src/components/BatchDashboard.vue index 196cbf88..d7639490 100644 --- a/frontend/src/components/BatchDashboard.vue +++ b/frontend/src/components/BatchDashboard.vue @@ -6,13 +6,12 @@ :courses="batch.data.courses" /> - + diff --git a/frontend/src/components/Controls/Code.vue b/frontend/src/components/Controls/Code.vue new file mode 100644 index 00000000..53aa2091 --- /dev/null +++ b/frontend/src/components/Controls/Code.vue @@ -0,0 +1,155 @@ + + + diff --git a/frontend/src/components/Controls/Link.vue b/frontend/src/components/Controls/Link.vue index bab75896..f2a7636e 100644 --- a/frontend/src/components/Controls/Link.vue +++ b/frontend/src/components/Controls/Link.vue @@ -12,6 +12,7 @@ :variant="attrs.variant" :placeholder="attrs.placeholder" :filterable="false" + :readonly="attrs.readonly" >