diff --git a/frontend/components.d.ts b/frontend/components.d.ts index 585aa545..cdce130e 100644 --- a/frontend/components.d.ts +++ b/frontend/components.d.ts @@ -27,9 +27,9 @@ declare module 'vue' { BatchOverlay: typeof import('./src/components/BatchOverlay.vue')['default'] BatchStudentProgress: typeof import('./src/components/Modals/BatchStudentProgress.vue')['default'] BatchStudents: typeof import('./src/components/BatchStudents.vue')['default'] - BrandSettings: typeof import('./src/components/BrandSettings.vue')['default'] + BrandSettings: typeof import('./src/components/Settings/BrandSettings.vue')['default'] BulkCertificates: typeof import('./src/components/Modals/BulkCertificates.vue')['default'] - Categories: typeof import('./src/components/Categories.vue')['default'] + 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'] CodeEditor: typeof import('./src/components/Controls/CodeEditor.vue')['default'] @@ -48,10 +48,10 @@ declare module 'vue' { EditCoverImage: typeof import('./src/components/Modals/EditCoverImage.vue')['default'] EditProfile: typeof import('./src/components/Modals/EditProfile.vue')['default'] EmailTemplateModal: typeof import('./src/components/Modals/EmailTemplateModal.vue')['default'] - EmailTemplates: typeof import('./src/components/EmailTemplates.vue')['default'] + EmailTemplates: typeof import('./src/components/Settings/EmailTemplates.vue')['default'] EmptyState: typeof import('./src/components/EmptyState.vue')['default'] EvaluationModal: typeof import('./src/components/Modals/EvaluationModal.vue')['default'] - Evaluators: typeof import('./src/components/Evaluators.vue')['default'] + Evaluators: typeof import('./src/components/Settings/Evaluators.vue')['default'] Event: typeof import('./src/components/Modals/Event.vue')['default'] ExplanationVideos: typeof import('./src/components/Modals/ExplanationVideos.vue')['default'] FeedbackModal: typeof import('./src/components/Modals/FeedbackModal.vue')['default'] @@ -67,14 +67,14 @@ declare module 'vue' { LiveClass: typeof import('./src/components/LiveClass.vue')['default'] LiveClassModal: typeof import('./src/components/Modals/LiveClassModal.vue')['default'] LMSLogo: typeof import('./src/components/Icons/LMSLogo.vue')['default'] - Members: typeof import('./src/components/Members.vue')['default'] + Members: typeof import('./src/components/Settings/Members.vue')['default'] MobileLayout: typeof import('./src/components/MobileLayout.vue')['default'] MultiSelect: typeof import('./src/components/Controls/MultiSelect.vue')['default'] NoPermission: typeof import('./src/components/NoPermission.vue')['default'] NoSidebarLayout: typeof import('./src/components/NoSidebarLayout.vue')['default'] NotPermitted: typeof import('./src/components/NotPermitted.vue')['default'] PageModal: typeof import('./src/components/Modals/PageModal.vue')['default'] - PaymentSettings: typeof import('./src/components/PaymentSettings.vue')['default'] + PaymentSettings: typeof import('./src/components/Settings/PaymentSettings.vue')['default'] Play: typeof import('./src/components/Icons/Play.vue')['default'] ProgressBar: typeof import('./src/components/ProgressBar.vue')['default'] Question: typeof import('./src/components/Modals/Question.vue')['default'] @@ -84,9 +84,9 @@ declare module 'vue' { ReviewModal: typeof import('./src/components/Modals/ReviewModal.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] - SettingDetails: typeof import('./src/components/SettingDetails.vue')['default'] - SettingFields: typeof import('./src/components/SettingFields.vue')['default'] - Settings: typeof import('./src/components/Modals/Settings.vue')['default'] + SettingDetails: typeof import('./src/components/Settings/SettingDetails.vue')['default'] + SettingFields: typeof import('./src/components/Settings/SettingFields.vue')['default'] + Settings: typeof import('./src/components/Settings/Settings.vue')['default'] SidebarLink: typeof import('./src/components/SidebarLink.vue')['default'] StudentHeatmap: typeof import('./src/components/StudentHeatmap.vue')['default'] StudentModal: typeof import('./src/components/Modals/StudentModal.vue')['default'] @@ -97,5 +97,7 @@ declare module 'vue' { UserAvatar: typeof import('./src/components/UserAvatar.vue')['default'] UserDropdown: typeof import('./src/components/UserDropdown.vue')['default'] VideoBlock: typeof import('./src/components/VideoBlock.vue')['default'] + ZoomAccountModal: typeof import('./src/components/Modals/ZoomAccountModal.vue')['default'] + ZoomSettings: typeof import('./src/components/Settings/ZoomSettings.vue')['default'] } } diff --git a/frontend/src/components/Modals/ZoomAccountModal.vue b/frontend/src/components/Modals/ZoomAccountModal.vue new file mode 100644 index 00000000..c43fddb8 --- /dev/null +++ b/frontend/src/components/Modals/ZoomAccountModal.vue @@ -0,0 +1,103 @@ + + diff --git a/frontend/src/components/BrandSettings.vue b/frontend/src/components/Settings/BrandSettings.vue similarity index 96% rename from frontend/src/components/BrandSettings.vue rename to frontend/src/components/Settings/BrandSettings.vue index f988073b..e2662f60 100644 --- a/frontend/src/components/BrandSettings.vue +++ b/frontend/src/components/Settings/BrandSettings.vue @@ -28,7 +28,7 @@ diff --git a/frontend/src/components/Settings/types.ts b/frontend/src/components/Settings/types.ts new file mode 100644 index 00000000..0fe9e702 --- /dev/null +++ b/frontend/src/components/Settings/types.ts @@ -0,0 +1,16 @@ +export interface User { + data: { + email: string + name: string + enabled: boolean + user_image: string + full_name: string + user_type: ['System User', 'Website User'] + username: string + is_moderator: boolean + is_system_manager: boolean + is_evaluator: boolean + is_instructor: boolean + is_fc_site: boolean + } +} \ No newline at end of file diff --git a/frontend/src/components/UserDropdown.vue b/frontend/src/components/UserDropdown.vue index eaffdf0d..a92b9810 100644 --- a/frontend/src/components/UserDropdown.vue +++ b/frontend/src/components/UserDropdown.vue @@ -72,7 +72,7 @@ import { usersStore } from '@/stores/user' import { useSettings } from '@/stores/settings' import { markRaw, watch, ref, onMounted, computed } from 'vue' import { createDialog } from '@/utils/dialogs' -import SettingsModal from '@/components/Modals/Settings.vue' +import SettingsModal from '@/components/Settings/Settings.vue' import FrappeCloudIcon from '@/components/Icons/FrappeCloudIcon.vue' import { ChevronDown, diff --git a/lms/lms/doctype/lms_zoom_settings/lms_zoom_settings.json b/lms/lms/doctype/lms_zoom_settings/lms_zoom_settings.json index 8938ec1b..1360b20f 100644 --- a/lms/lms/doctype/lms_zoom_settings/lms_zoom_settings.json +++ b/lms/lms/doctype/lms_zoom_settings/lms_zoom_settings.json @@ -76,7 +76,7 @@ "grid_page_length": 50, "index_web_pages_for_search": 1, "links": [], - "modified": "2025-05-26 13:21:38.227043", + "modified": "2025-05-26 18:09:09.392368", "modified_by": "sayali@frappe.io", "module": "LMS", "name": "LMS Zoom Settings", @@ -94,6 +94,31 @@ "role": "System Manager", "share": 1, "write": 1 + }, + { + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "Moderator", + "share": 1, + "write": 1 + }, + { + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "if_owner": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "Batch Evaluator", + "share": 1, + "write": 1 } ], "row_format": "Dynamic",