diff --git a/.gitignore b/.gitignore index 81bbfe1a..957c519f 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,6 @@ __pycache__/ *.py[cod] *$py.class node_modules -package-lock.json \ No newline at end of file +package-lock.json +lms/public/frontend +lms/www/lms.html \ No newline at end of file diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b2ac7630..26145761 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,7 +32,7 @@ repos: rev: v2.7.1 hooks: - id: prettier - types_or: [javascript] + types_or: [javascript, vue] # Ignore any files that might contain jinja / bundles exclude: | (?x)^( diff --git a/frappe-ui b/frappe-ui index 2898a0bd..c5faaae3 160000 --- a/frappe-ui +++ b/frappe-ui @@ -1 +1 @@ -Subproject commit 2898a0bdd1a07433e5f6adedb42786177c473d50 +Subproject commit c5faaae38ec6314879aa0abf3a3f992cb6f2240b diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 00000000..53f7466a --- /dev/null +++ b/frontend/.gitignore @@ -0,0 +1,5 @@ +node_modules +.DS_Store +dist +dist-ssr +*.local \ No newline at end of file diff --git a/frontend/.prettierrc.json b/frontend/.prettierrc.json new file mode 100644 index 00000000..b2095be8 --- /dev/null +++ b/frontend/.prettierrc.json @@ -0,0 +1,4 @@ +{ + "semi": false, + "singleQuote": true +} diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 00000000..1a41f83e --- /dev/null +++ b/frontend/README.md @@ -0,0 +1,42 @@ +# Frappe UI Starter + +This template should help get you started developing custom frontend for Frappe +apps with Vue 3 and the Frappe UI package. + +This boilerplate sets up Vue 3, Vue Router, TailwindCSS, and Frappe UI out of +the box. + +## Usage + +This template is meant to be cloned inside an existing Frappe App. Assuming your +apps name is `todo`. Clone this template in the root folder of your app using `degit`. + +``` +cd apps/todo +npx degit netchampfaris/frappe-ui-starter frontend +cd frontend +yarn +yarn dev +``` + +In a development environment, you need to put the below key-value pair in your `site_config.json` file: + +``` +"ignore_csrf": 1 +``` + +This will prevent `CSRFToken` errors while using the vite dev server. In production environment, the `csrf_token` is attached to the `window` object in `index.html` for you. + +The Vite dev server will start on the port `8080`. This can be changed from `vite.config.js`. +The development server is configured to proxy your frappe app (usually running on port `8000`). If you have a site named `todo.test`, open `http://todo.test:8080` in your browser. If you see a button named "Click to send 'ping' request", congratulations! + +If you notice the browser URL is `/frontend`, this is the base URL where your frontend app will run in production. +To change this, open `src/router.js` and change the base URL passed to `createWebHistory`. + +## Resources + +- [Vue 3](https://v3.vuejs.org/guide/introduction.html) +- [Vue Router](https://next.router.vuejs.org/guide/) +- [Frappe UI](https://github.com/frappe/frappe-ui) +- [TailwindCSS](https://tailwindcss.com/docs/utility-first) +- [Vite](https://vitejs.dev/guide/) diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 00000000..12663561 --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,46 @@ + + + + + + + Frappe UI App + + + + + + + + + + + + +
+

{{ meta.title }}

+

+ {{ meta.description }} +

+

+ The content here is just for seo purposes. The actual content will be loaded in a few seconds. +

+

+ Seo checks if a page has more than 300 words. So, here are some more words to make it more than 300 words. + Page descriptions are the HTML meta tags that provide a brief summary of a web page. + Search engines use meta descriptions to help identify the page's topic - they don't use them to rank the page, but they do use them to determine whether or not to display the page in search results. + Meta descriptions are important because they're often the first thing people see when they're deciding which search result to click on. + They're also important because they can help improve your click-through rate (CTR) from search results. + A good meta description can entice people to click on your page instead of someone else's. +

+ Know More +
+
+
+ + + + + diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 00000000..f8bffc9a --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,38 @@ +{ + "name": "frappe-ui-frontend", + "private": true, + "version": "0.0.0", + "scripts": { + "dev": "vite", + "serve": "vite preview", + "build": "vite build --base=/assets/lms/frontend/ && yarn copy-html-entry", + "copy-html-entry": "cp ../lms/public/frontend/index.html ../lms/www/lms.html" + }, + "dependencies": { + "@editorjs/checklist": "^1.6.0", + "@editorjs/editorjs": "^2.29.0", + "@editorjs/embed": "^2.7.0", + "@editorjs/header": "^2.8.1", + "@editorjs/image": "^2.9.0", + "@editorjs/nested-list": "^1.4.2", + "@editorjs/paragraph": "^2.11.3", + "chart.js": "^4.4.1", + "dayjs": "^1.11.6", + "feather-icons": "^4.28.0", + "frappe-ui": "^0.1.50", + "lucide-vue-next": "^0.309.0", + "markdown-it": "^14.0.0", + "pinia": "^2.0.33", + "socket.io-client": "^4.7.2", + "tailwindcss": "^3.3.3", + "vue": "^3.2.25", + "vue-chartjs": "^5.3.0", + "vue-router": "^4.0.12" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.0.3", + "autoprefixer": "^10.4.2", + "postcss": "^8.4.5", + "vite": "^5.0.11" + } +} diff --git a/frontend/postcss.config.js b/frontend/postcss.config.js new file mode 100644 index 00000000..1b69d43b --- /dev/null +++ b/frontend/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/frontend/public/favicon.png b/frontend/public/favicon.png new file mode 100644 index 00000000..b51db82f Binary files /dev/null and b/frontend/public/favicon.png differ diff --git a/frontend/src/App.vue b/frontend/src/App.vue new file mode 100644 index 00000000..6a9d4d5b --- /dev/null +++ b/frontend/src/App.vue @@ -0,0 +1,25 @@ + + diff --git a/frontend/src/assets/Inter/Inter-Black.woff b/frontend/src/assets/Inter/Inter-Black.woff new file mode 100644 index 00000000..c7737ed3 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-Black.woff differ diff --git a/frontend/src/assets/Inter/Inter-Black.woff2 b/frontend/src/assets/Inter/Inter-Black.woff2 new file mode 100644 index 00000000..b16b995b Binary files /dev/null and b/frontend/src/assets/Inter/Inter-Black.woff2 differ diff --git a/frontend/src/assets/Inter/Inter-BlackItalic.woff b/frontend/src/assets/Inter/Inter-BlackItalic.woff new file mode 100644 index 00000000..b5f14476 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-BlackItalic.woff differ diff --git a/frontend/src/assets/Inter/Inter-BlackItalic.woff2 b/frontend/src/assets/Inter/Inter-BlackItalic.woff2 new file mode 100644 index 00000000..a3f1b70c Binary files /dev/null and b/frontend/src/assets/Inter/Inter-BlackItalic.woff2 differ diff --git a/frontend/src/assets/Inter/Inter-Bold.woff b/frontend/src/assets/Inter/Inter-Bold.woff new file mode 100644 index 00000000..e3845558 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-Bold.woff differ diff --git a/frontend/src/assets/Inter/Inter-Bold.woff2 b/frontend/src/assets/Inter/Inter-Bold.woff2 new file mode 100644 index 00000000..835dd497 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-Bold.woff2 differ diff --git a/frontend/src/assets/Inter/Inter-BoldItalic.woff b/frontend/src/assets/Inter/Inter-BoldItalic.woff new file mode 100644 index 00000000..ffac3f59 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-BoldItalic.woff differ diff --git a/frontend/src/assets/Inter/Inter-BoldItalic.woff2 b/frontend/src/assets/Inter/Inter-BoldItalic.woff2 new file mode 100644 index 00000000..1a41a14f Binary files /dev/null and b/frontend/src/assets/Inter/Inter-BoldItalic.woff2 differ diff --git a/frontend/src/assets/Inter/Inter-ExtraBold.woff b/frontend/src/assets/Inter/Inter-ExtraBold.woff new file mode 100644 index 00000000..885ac94f Binary files /dev/null and b/frontend/src/assets/Inter/Inter-ExtraBold.woff differ diff --git a/frontend/src/assets/Inter/Inter-ExtraBold.woff2 b/frontend/src/assets/Inter/Inter-ExtraBold.woff2 new file mode 100644 index 00000000..ae956b15 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-ExtraBold.woff2 differ diff --git a/frontend/src/assets/Inter/Inter-ExtraBoldItalic.woff b/frontend/src/assets/Inter/Inter-ExtraBoldItalic.woff new file mode 100644 index 00000000..d6cf8623 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-ExtraBoldItalic.woff differ diff --git a/frontend/src/assets/Inter/Inter-ExtraBoldItalic.woff2 b/frontend/src/assets/Inter/Inter-ExtraBoldItalic.woff2 new file mode 100644 index 00000000..86578995 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-ExtraBoldItalic.woff2 differ diff --git a/frontend/src/assets/Inter/Inter-ExtraLight.woff b/frontend/src/assets/Inter/Inter-ExtraLight.woff new file mode 100644 index 00000000..ff769193 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-ExtraLight.woff differ diff --git a/frontend/src/assets/Inter/Inter-ExtraLight.woff2 b/frontend/src/assets/Inter/Inter-ExtraLight.woff2 new file mode 100644 index 00000000..694b2df9 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-ExtraLight.woff2 differ diff --git a/frontend/src/assets/Inter/Inter-ExtraLightItalic.woff b/frontend/src/assets/Inter/Inter-ExtraLightItalic.woff new file mode 100644 index 00000000..c6ed13a4 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-ExtraLightItalic.woff differ diff --git a/frontend/src/assets/Inter/Inter-ExtraLightItalic.woff2 b/frontend/src/assets/Inter/Inter-ExtraLightItalic.woff2 new file mode 100644 index 00000000..9a7bd110 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-ExtraLightItalic.woff2 differ diff --git a/frontend/src/assets/Inter/Inter-Italic.woff b/frontend/src/assets/Inter/Inter-Italic.woff new file mode 100644 index 00000000..4fdb59dc Binary files /dev/null and b/frontend/src/assets/Inter/Inter-Italic.woff differ diff --git a/frontend/src/assets/Inter/Inter-Italic.woff2 b/frontend/src/assets/Inter/Inter-Italic.woff2 new file mode 100644 index 00000000..deca637d Binary files /dev/null and b/frontend/src/assets/Inter/Inter-Italic.woff2 differ diff --git a/frontend/src/assets/Inter/Inter-Light.woff b/frontend/src/assets/Inter/Inter-Light.woff new file mode 100644 index 00000000..42850acc Binary files /dev/null and b/frontend/src/assets/Inter/Inter-Light.woff differ diff --git a/frontend/src/assets/Inter/Inter-Light.woff2 b/frontend/src/assets/Inter/Inter-Light.woff2 new file mode 100644 index 00000000..65a7dadd Binary files /dev/null and b/frontend/src/assets/Inter/Inter-Light.woff2 differ diff --git a/frontend/src/assets/Inter/Inter-LightItalic.woff b/frontend/src/assets/Inter/Inter-LightItalic.woff new file mode 100644 index 00000000..c4ed9a94 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-LightItalic.woff differ diff --git a/frontend/src/assets/Inter/Inter-LightItalic.woff2 b/frontend/src/assets/Inter/Inter-LightItalic.woff2 new file mode 100644 index 00000000..555fc559 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-LightItalic.woff2 differ diff --git a/frontend/src/assets/Inter/Inter-Medium.woff b/frontend/src/assets/Inter/Inter-Medium.woff new file mode 100644 index 00000000..495faef7 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-Medium.woff differ diff --git a/frontend/src/assets/Inter/Inter-Medium.woff2 b/frontend/src/assets/Inter/Inter-Medium.woff2 new file mode 100644 index 00000000..871ce4ce Binary files /dev/null and b/frontend/src/assets/Inter/Inter-Medium.woff2 differ diff --git a/frontend/src/assets/Inter/Inter-MediumItalic.woff b/frontend/src/assets/Inter/Inter-MediumItalic.woff new file mode 100644 index 00000000..389c7a2b Binary files /dev/null and b/frontend/src/assets/Inter/Inter-MediumItalic.woff differ diff --git a/frontend/src/assets/Inter/Inter-MediumItalic.woff2 b/frontend/src/assets/Inter/Inter-MediumItalic.woff2 new file mode 100644 index 00000000..aa805799 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-MediumItalic.woff2 differ diff --git a/frontend/src/assets/Inter/Inter-Regular.woff b/frontend/src/assets/Inter/Inter-Regular.woff new file mode 100644 index 00000000..fa7715d1 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-Regular.woff differ diff --git a/frontend/src/assets/Inter/Inter-Regular.woff2 b/frontend/src/assets/Inter/Inter-Regular.woff2 new file mode 100644 index 00000000..b52dd0a0 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-Regular.woff2 differ diff --git a/frontend/src/assets/Inter/Inter-SemiBold.woff b/frontend/src/assets/Inter/Inter-SemiBold.woff new file mode 100644 index 00000000..18d7749f Binary files /dev/null and b/frontend/src/assets/Inter/Inter-SemiBold.woff differ diff --git a/frontend/src/assets/Inter/Inter-SemiBold.woff2 b/frontend/src/assets/Inter/Inter-SemiBold.woff2 new file mode 100644 index 00000000..ece5204a Binary files /dev/null and b/frontend/src/assets/Inter/Inter-SemiBold.woff2 differ diff --git a/frontend/src/assets/Inter/Inter-SemiBoldItalic.woff b/frontend/src/assets/Inter/Inter-SemiBoldItalic.woff new file mode 100644 index 00000000..8ee64396 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-SemiBoldItalic.woff differ diff --git a/frontend/src/assets/Inter/Inter-SemiBoldItalic.woff2 b/frontend/src/assets/Inter/Inter-SemiBoldItalic.woff2 new file mode 100644 index 00000000..b32c0ba3 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-SemiBoldItalic.woff2 differ diff --git a/frontend/src/assets/Inter/Inter-Thin.woff b/frontend/src/assets/Inter/Inter-Thin.woff new file mode 100644 index 00000000..1a22286f Binary files /dev/null and b/frontend/src/assets/Inter/Inter-Thin.woff differ diff --git a/frontend/src/assets/Inter/Inter-Thin.woff2 b/frontend/src/assets/Inter/Inter-Thin.woff2 new file mode 100644 index 00000000..c56bc7ca Binary files /dev/null and b/frontend/src/assets/Inter/Inter-Thin.woff2 differ diff --git a/frontend/src/assets/Inter/Inter-ThinItalic.woff b/frontend/src/assets/Inter/Inter-ThinItalic.woff new file mode 100644 index 00000000..d8ec8373 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-ThinItalic.woff differ diff --git a/frontend/src/assets/Inter/Inter-ThinItalic.woff2 b/frontend/src/assets/Inter/Inter-ThinItalic.woff2 new file mode 100644 index 00000000..eca5608c Binary files /dev/null and b/frontend/src/assets/Inter/Inter-ThinItalic.woff2 differ diff --git a/frontend/src/assets/Inter/Inter-italic.var.woff2 b/frontend/src/assets/Inter/Inter-italic.var.woff2 new file mode 100644 index 00000000..1f5d9261 Binary files /dev/null and b/frontend/src/assets/Inter/Inter-italic.var.woff2 differ diff --git a/frontend/src/assets/Inter/Inter-roman.var.woff2 b/frontend/src/assets/Inter/Inter-roman.var.woff2 new file mode 100644 index 00000000..05621d8d Binary files /dev/null and b/frontend/src/assets/Inter/Inter-roman.var.woff2 differ diff --git a/frontend/src/assets/Inter/Inter.var.woff2 b/frontend/src/assets/Inter/Inter.var.woff2 new file mode 100644 index 00000000..46bb5153 Binary files /dev/null and b/frontend/src/assets/Inter/Inter.var.woff2 differ diff --git a/frontend/src/assets/Inter/inter.css b/frontend/src/assets/Inter/inter.css new file mode 100644 index 00000000..3ca1bbf6 --- /dev/null +++ b/frontend/src/assets/Inter/inter.css @@ -0,0 +1,152 @@ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 100; + font-display: swap; + src: url("Inter-Thin.woff2?v=3.12") format("woff2"), + url("Inter-Thin.woff?v=3.12") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 100; + font-display: swap; + src: url("Inter-ThinItalic.woff2?v=3.12") format("woff2"), + url("Inter-ThinItalic.woff?v=3.12") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 200; + font-display: swap; + src: url("Inter-ExtraLight.woff2?v=3.12") format("woff2"), + url("Inter-ExtraLight.woff?v=3.12") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 200; + font-display: swap; + src: url("Inter-ExtraLightItalic.woff2?v=3.12") format("woff2"), + url("Inter-ExtraLightItalic.woff?v=3.12") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url("Inter-Light.woff2?v=3.12") format("woff2"), + url("Inter-Light.woff?v=3.12") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 300; + font-display: swap; + src: url("Inter-LightItalic.woff2?v=3.12") format("woff2"), + url("Inter-LightItalic.woff?v=3.12") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("Inter-Regular.woff2?v=3.12") format("woff2"), + url("Inter-Regular.woff?v=3.12") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url("Inter-Italic.woff2?v=3.12") format("woff2"), + url("Inter-Italic.woff?v=3.12") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url("Inter-Medium.woff2?v=3.12") format("woff2"), + url("Inter-Medium.woff?v=3.12") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 500; + font-display: swap; + src: url("Inter-MediumItalic.woff2?v=3.12") format("woff2"), + url("Inter-MediumItalic.woff?v=3.12") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url("Inter-SemiBold.woff2?v=3.12") format("woff2"), + url("Inter-SemiBold.woff?v=3.12") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 600; + font-display: swap; + src: url("Inter-SemiBoldItalic.woff2?v=3.12") format("woff2"), + url("Inter-SemiBoldItalic.woff?v=3.12") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url("Inter-Bold.woff2?v=3.12") format("woff2"), + url("Inter-Bold.woff?v=3.12") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url("Inter-BoldItalic.woff2?v=3.12") format("woff2"), + url("Inter-BoldItalic.woff?v=3.12") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 800; + font-display: swap; + src: url("Inter-ExtraBold.woff2?v=3.12") format("woff2"), + url("Inter-ExtraBold.woff?v=3.12") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 800; + font-display: swap; + src: url("Inter-ExtraBoldItalic.woff2?v=3.12") format("woff2"), + url("Inter-ExtraBoldItalic.woff?v=3.12") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 900; + font-display: swap; + src: url("Inter-Black.woff2?v=3.12") format("woff2"), + url("Inter-Black.woff?v=3.12") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 900; + font-display: swap; + src: url("Inter-BlackItalic.woff2?v=3.12") format("woff2"), + url("Inter-BlackItalic.woff?v=3.12") format("woff"); +} diff --git a/frontend/src/components/Annoucements.vue b/frontend/src/components/Annoucements.vue new file mode 100644 index 00000000..f075c740 --- /dev/null +++ b/frontend/src/components/Annoucements.vue @@ -0,0 +1,62 @@ + + + diff --git a/frontend/src/components/AppSidebar.vue b/frontend/src/components/AppSidebar.vue new file mode 100644 index 00000000..386ed715 --- /dev/null +++ b/frontend/src/components/AppSidebar.vue @@ -0,0 +1,53 @@ + + + diff --git a/frontend/src/components/Assessments.vue b/frontend/src/components/Assessments.vue new file mode 100644 index 00000000..8e963659 --- /dev/null +++ b/frontend/src/components/Assessments.vue @@ -0,0 +1,76 @@ + + diff --git a/frontend/src/components/BatchCard.vue b/frontend/src/components/BatchCard.vue new file mode 100644 index 00000000..071395b5 --- /dev/null +++ b/frontend/src/components/BatchCard.vue @@ -0,0 +1,75 @@ + + + diff --git a/frontend/src/components/BatchCourses.vue b/frontend/src/components/BatchCourses.vue new file mode 100644 index 00000000..474e7dab --- /dev/null +++ b/frontend/src/components/BatchCourses.vue @@ -0,0 +1,141 @@ + + diff --git a/frontend/src/components/BatchDashboard.vue b/frontend/src/components/BatchDashboard.vue new file mode 100644 index 00000000..3c1b6aad --- /dev/null +++ b/frontend/src/components/BatchDashboard.vue @@ -0,0 +1,26 @@ + + diff --git a/frontend/src/components/BatchOverlay.vue b/frontend/src/components/BatchOverlay.vue new file mode 100644 index 00000000..ccf0218f --- /dev/null +++ b/frontend/src/components/BatchOverlay.vue @@ -0,0 +1,115 @@ + + diff --git a/frontend/src/components/BatchStudents.vue b/frontend/src/components/BatchStudents.vue new file mode 100644 index 00000000..0144925e --- /dev/null +++ b/frontend/src/components/BatchStudents.vue @@ -0,0 +1,151 @@ + + diff --git a/frontend/src/components/Controls/Autocomplete.vue b/frontend/src/components/Controls/Autocomplete.vue new file mode 100644 index 00000000..eb9a5b08 --- /dev/null +++ b/frontend/src/components/Controls/Autocomplete.vue @@ -0,0 +1,277 @@ + + + diff --git a/frontend/src/components/Controls/Link.vue b/frontend/src/components/Controls/Link.vue new file mode 100644 index 00000000..8ce30846 --- /dev/null +++ b/frontend/src/components/Controls/Link.vue @@ -0,0 +1,146 @@ + + + diff --git a/frontend/src/components/Controls/Rating.vue b/frontend/src/components/Controls/Rating.vue new file mode 100644 index 00000000..95897d12 --- /dev/null +++ b/frontend/src/components/Controls/Rating.vue @@ -0,0 +1,38 @@ + + + diff --git a/frontend/src/components/CourseCard.vue b/frontend/src/components/CourseCard.vue new file mode 100644 index 00000000..6fb0e35e --- /dev/null +++ b/frontend/src/components/CourseCard.vue @@ -0,0 +1,187 @@ + + + diff --git a/frontend/src/components/CourseCardOverlay.vue b/frontend/src/components/CourseCardOverlay.vue new file mode 100644 index 00000000..3fb1deee --- /dev/null +++ b/frontend/src/components/CourseCardOverlay.vue @@ -0,0 +1,164 @@ + + diff --git a/frontend/src/components/LessonPlugins.vue b/frontend/src/components/LessonPlugins.vue new file mode 100644 index 00000000..9fd75bb5 --- /dev/null +++ b/frontend/src/components/LessonPlugins.vue @@ -0,0 +1,137 @@ + + diff --git a/frontend/src/components/LiveClass.vue b/frontend/src/components/LiveClass.vue new file mode 100644 index 00000000..80c83626 --- /dev/null +++ b/frontend/src/components/LiveClass.vue @@ -0,0 +1,110 @@ + + diff --git a/frontend/src/components/MobileLayout.vue b/frontend/src/components/MobileLayout.vue new file mode 100644 index 00000000..51c118d8 --- /dev/null +++ b/frontend/src/components/MobileLayout.vue @@ -0,0 +1,61 @@ + + diff --git a/frontend/src/components/Modals/AnnouncementModal.vue b/frontend/src/components/Modals/AnnouncementModal.vue new file mode 100644 index 00000000..8d7b432e --- /dev/null +++ b/frontend/src/components/Modals/AnnouncementModal.vue @@ -0,0 +1,117 @@ + + diff --git a/frontend/src/components/Modals/BatchCourseModal.vue b/frontend/src/components/Modals/BatchCourseModal.vue new file mode 100644 index 00000000..4e7561ec --- /dev/null +++ b/frontend/src/components/Modals/BatchCourseModal.vue @@ -0,0 +1,68 @@ + + diff --git a/frontend/src/components/Modals/ChapterModal.vue b/frontend/src/components/Modals/ChapterModal.vue new file mode 100644 index 00000000..0ec46085 --- /dev/null +++ b/frontend/src/components/Modals/ChapterModal.vue @@ -0,0 +1,161 @@ + + diff --git a/frontend/src/components/Modals/DiscussionModal.vue b/frontend/src/components/Modals/DiscussionModal.vue new file mode 100644 index 00000000..52500fe3 --- /dev/null +++ b/frontend/src/components/Modals/DiscussionModal.vue @@ -0,0 +1,114 @@ + + diff --git a/frontend/src/components/Modals/EvaluationModal.vue b/frontend/src/components/Modals/EvaluationModal.vue new file mode 100644 index 00000000..2ad8237d --- /dev/null +++ b/frontend/src/components/Modals/EvaluationModal.vue @@ -0,0 +1,185 @@ + + diff --git a/frontend/src/components/Modals/JobApplicationModal.vue b/frontend/src/components/Modals/JobApplicationModal.vue new file mode 100644 index 00000000..3da02e06 --- /dev/null +++ b/frontend/src/components/Modals/JobApplicationModal.vue @@ -0,0 +1,137 @@ + + diff --git a/frontend/src/components/Modals/LiveClassModal.vue b/frontend/src/components/Modals/LiveClassModal.vue new file mode 100644 index 00000000..044fb6be --- /dev/null +++ b/frontend/src/components/Modals/LiveClassModal.vue @@ -0,0 +1,226 @@ +