@hed-hog/lms 0.0.361 → 0.0.365
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bitcode-wallet/bitcode-wallet.service.d.ts +66 -0
- package/dist/bitcode-wallet/bitcode-wallet.service.d.ts.map +1 -1
- package/dist/bitcode-wallet/bitcode-wallet.service.js +91 -0
- package/dist/bitcode-wallet/bitcode-wallet.service.js.map +1 -1
- package/dist/bitcode-wallet/dto/create-current-bitcode-wallet-transaction.dto.d.ts +8 -0
- package/dist/bitcode-wallet/dto/create-current-bitcode-wallet-transaction.dto.d.ts.map +1 -0
- package/dist/bitcode-wallet/dto/create-current-bitcode-wallet-transaction.dto.js +40 -0
- package/dist/bitcode-wallet/dto/create-current-bitcode-wallet-transaction.dto.js.map +1 -0
- package/dist/class-group/class-group.controller.d.ts +16 -16
- package/dist/class-group/class-group.service.d.ts +12 -12
- package/dist/course/course-audio-transcription.service.d.ts +3 -2
- package/dist/course/course-audio-transcription.service.d.ts.map +1 -1
- package/dist/course/course-audio-transcription.service.js +49 -8
- package/dist/course/course-audio-transcription.service.js.map +1 -1
- package/dist/course/course-export-scorm12-worker.service.d.ts +21 -0
- package/dist/course/course-export-scorm12-worker.service.d.ts.map +1 -0
- package/dist/course/course-export-scorm12-worker.service.js +109 -0
- package/dist/course/course-export-scorm12-worker.service.js.map +1 -0
- package/dist/course/course-export-scorm12.service.d.ts +42 -0
- package/dist/course/course-export-scorm12.service.d.ts.map +1 -0
- package/dist/course/course-export-scorm12.service.js +628 -0
- package/dist/course/course-export-scorm12.service.js.map +1 -0
- package/dist/course/course-export.service.d.ts +84 -0
- package/dist/course/course-export.service.d.ts.map +1 -0
- package/dist/course/course-export.service.js +237 -0
- package/dist/course/course-export.service.js.map +1 -0
- package/dist/course/course-lesson.controller.d.ts +4 -0
- package/dist/course/course-lesson.controller.d.ts.map +1 -1
- package/dist/course/course-lesson.controller.js +10 -0
- package/dist/course/course-lesson.controller.js.map +1 -1
- package/dist/course/course-structure.controller.d.ts +24 -9
- package/dist/course/course-structure.controller.d.ts.map +1 -1
- package/dist/course/course-structure.controller.js +30 -3
- package/dist/course/course-structure.controller.js.map +1 -1
- package/dist/course/course-structure.service.d.ts +25 -3
- package/dist/course/course-structure.service.d.ts.map +1 -1
- package/dist/course/course-structure.service.js +234 -24
- package/dist/course/course-structure.service.js.map +1 -1
- package/dist/course/course-video-conversion.service.d.ts +8 -0
- package/dist/course/course-video-conversion.service.d.ts.map +1 -1
- package/dist/course/course-video-conversion.service.js +87 -51
- package/dist/course/course-video-conversion.service.js.map +1 -1
- package/dist/course/course-video-hls.service.d.ts +57 -0
- package/dist/course/course-video-hls.service.d.ts.map +1 -0
- package/dist/course/course-video-hls.service.js +767 -0
- package/dist/course/course-video-hls.service.js.map +1 -0
- package/dist/course/course.controller.d.ts +115 -11
- package/dist/course/course.controller.d.ts.map +1 -1
- package/dist/course/course.controller.js +66 -28
- package/dist/course/course.controller.js.map +1 -1
- package/dist/course/course.mcp-tools.js +1 -1
- package/dist/course/course.mcp-tools.js.map +1 -1
- package/dist/course/course.module.d.ts.map +1 -1
- package/dist/course/course.module.js +13 -0
- package/dist/course/course.module.js.map +1 -1
- package/dist/course/course.service.d.ts +112 -11
- package/dist/course/course.service.d.ts.map +1 -1
- package/dist/course/course.service.js +682 -72
- package/dist/course/course.service.js.map +1 -1
- package/dist/course/dto/cleanup-course-storage.dto.d.ts +6 -0
- package/dist/course/dto/cleanup-course-storage.dto.d.ts.map +1 -0
- package/dist/course/dto/cleanup-course-storage.dto.js +34 -0
- package/dist/course/dto/cleanup-course-storage.dto.js.map +1 -0
- package/dist/course/dto/cleanup-upload-history.dto.d.ts +9 -0
- package/dist/course/dto/cleanup-upload-history.dto.d.ts.map +1 -0
- package/dist/course/dto/cleanup-upload-history.dto.js +36 -0
- package/dist/course/dto/cleanup-upload-history.dto.js.map +1 -0
- package/dist/course/dto/create-course-bulk-job.dto.d.ts +5 -0
- package/dist/course/dto/create-course-bulk-job.dto.d.ts.map +1 -0
- package/dist/course/dto/create-course-bulk-job.dto.js +26 -0
- package/dist/course/dto/create-course-bulk-job.dto.js.map +1 -0
- package/dist/course/dto/create-course-export.dto.d.ts +14 -0
- package/dist/course/dto/create-course-export.dto.d.ts.map +1 -0
- package/dist/course/dto/create-course-export.dto.js +71 -0
- package/dist/course/dto/create-course-export.dto.js.map +1 -0
- package/dist/course/dto/create-course-structure-lesson.dto.d.ts +2 -2
- package/dist/course/dto/create-course-structure-lesson.dto.d.ts.map +1 -1
- package/dist/course/dto/create-course-structure-lesson.dto.js +3 -2
- package/dist/course/dto/create-course-structure-lesson.dto.js.map +1 -1
- package/dist/course/lms-bulk-upload-automation.service.d.ts +54 -0
- package/dist/course/lms-bulk-upload-automation.service.d.ts.map +1 -0
- package/dist/course/lms-bulk-upload-automation.service.js +537 -0
- package/dist/course/lms-bulk-upload-automation.service.js.map +1 -0
- package/dist/course/lms-bulk-upload-infra.service.d.ts +32 -0
- package/dist/course/lms-bulk-upload-infra.service.d.ts.map +1 -0
- package/dist/course/lms-bulk-upload-infra.service.js +301 -0
- package/dist/course/lms-bulk-upload-infra.service.js.map +1 -0
- package/dist/course/lms-bulk-upload.constants.d.ts +4 -0
- package/dist/course/lms-bulk-upload.constants.d.ts.map +1 -0
- package/dist/course/lms-bulk-upload.constants.js +7 -0
- package/dist/course/lms-bulk-upload.constants.js.map +1 -0
- package/dist/course/lms-bulk-upload.controller.d.ts +144 -1
- package/dist/course/lms-bulk-upload.controller.d.ts.map +1 -1
- package/dist/course/lms-bulk-upload.controller.js +114 -4
- package/dist/course/lms-bulk-upload.controller.js.map +1 -1
- package/dist/course/lms-bulk-upload.service.d.ts +153 -3
- package/dist/course/lms-bulk-upload.service.d.ts.map +1 -1
- package/dist/course/lms-bulk-upload.service.js +659 -21
- package/dist/course/lms-bulk-upload.service.js.map +1 -1
- package/dist/course/lms-setting.controller.d.ts +6 -2
- package/dist/course/lms-setting.controller.d.ts.map +1 -1
- package/dist/course/lms-setting.controller.js +25 -8
- package/dist/course/lms-setting.controller.js.map +1 -1
- package/dist/course/scorm12-schemas.d.ts +4 -0
- package/dist/course/scorm12-schemas.d.ts.map +1 -0
- package/dist/course/scorm12-schemas.js +9 -0
- package/dist/course/scorm12-schemas.js.map +1 -0
- package/dist/enterprise/enterprise.controller.d.ts +20 -20
- package/dist/enterprise/enterprise.service.d.ts +20 -20
- package/dist/enterprise/training/training-admin.controller.d.ts +11 -11
- package/dist/enterprise/training/training-admin.service.d.ts +11 -11
- package/dist/enterprise/training/training-instructor.controller.d.ts +2 -2
- package/dist/enterprise/training/training-instructor.service.d.ts +2 -2
- package/dist/enterprise/training/training-student.controller.d.ts +1 -1
- package/dist/enterprise/training/training-student.service.d.ts +52 -1
- package/dist/enterprise/training/training-student.service.d.ts.map +1 -1
- package/dist/enterprise/training/training-student.service.js +217 -4
- package/dist/enterprise/training/training-student.service.js.map +1 -1
- package/dist/enterprise/training/training-viewer.controller.d.ts +2 -2
- package/dist/evaluation/evaluation.controller.d.ts +8 -8
- package/dist/evaluation/evaluation.service.d.ts +26 -8
- package/dist/evaluation/evaluation.service.d.ts.map +1 -1
- package/dist/evaluation/evaluation.service.js +125 -0
- package/dist/evaluation/evaluation.service.js.map +1 -1
- package/dist/exam/dto/create-standalone-question.dto.d.ts +12 -0
- package/dist/exam/dto/create-standalone-question.dto.d.ts.map +1 -0
- package/dist/exam/dto/create-standalone-question.dto.js +70 -0
- package/dist/exam/dto/create-standalone-question.dto.js.map +1 -0
- package/dist/exam/exam.module.d.ts.map +1 -1
- package/dist/exam/exam.module.js +2 -1
- package/dist/exam/exam.module.js.map +1 -1
- package/dist/exam/exam.service.d.ts +21 -0
- package/dist/exam/exam.service.d.ts.map +1 -1
- package/dist/exam/exam.service.js +80 -0
- package/dist/exam/exam.service.js.map +1 -1
- package/dist/exam/question.controller.d.ts +27 -0
- package/dist/exam/question.controller.d.ts.map +1 -0
- package/dist/exam/question.controller.js +53 -0
- package/dist/exam/question.controller.js.map +1 -0
- package/dist/lesson-xp-map/dto/create-lesson-xp-map.dto.d.ts +6 -0
- package/dist/lesson-xp-map/dto/create-lesson-xp-map.dto.d.ts.map +1 -0
- package/dist/lesson-xp-map/dto/create-lesson-xp-map.dto.js +34 -0
- package/dist/lesson-xp-map/dto/create-lesson-xp-map.dto.js.map +1 -0
- package/dist/lesson-xp-map/dto/create-lesson-xp-segment.dto.d.ts +28 -0
- package/dist/lesson-xp-map/dto/create-lesson-xp-segment.dto.d.ts.map +1 -0
- package/dist/lesson-xp-map/dto/create-lesson-xp-segment.dto.js +123 -0
- package/dist/lesson-xp-map/dto/create-lesson-xp-segment.dto.js.map +1 -0
- package/dist/lesson-xp-map/dto/review-lesson-xp-map.dto.d.ts +4 -0
- package/dist/lesson-xp-map/dto/review-lesson-xp-map.dto.d.ts.map +1 -0
- package/dist/lesson-xp-map/dto/review-lesson-xp-map.dto.js +22 -0
- package/dist/lesson-xp-map/dto/review-lesson-xp-map.dto.js.map +1 -0
- package/dist/lesson-xp-map/dto/update-lesson-xp-map.dto.d.ts +10 -0
- package/dist/lesson-xp-map/dto/update-lesson-xp-map.dto.d.ts.map +1 -0
- package/dist/lesson-xp-map/dto/update-lesson-xp-map.dto.js +52 -0
- package/dist/lesson-xp-map/dto/update-lesson-xp-map.dto.js.map +1 -0
- package/dist/lesson-xp-map/dto/update-lesson-xp-segment.dto.d.ts +15 -0
- package/dist/lesson-xp-map/dto/update-lesson-xp-segment.dto.d.ts.map +1 -0
- package/dist/lesson-xp-map/dto/update-lesson-xp-segment.dto.js +86 -0
- package/dist/lesson-xp-map/dto/update-lesson-xp-segment.dto.js.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-ai-calculation.service.d.ts +30 -0
- package/dist/lesson-xp-map/lesson-xp-ai-calculation.service.d.ts.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-ai-calculation.service.js +440 -0
- package/dist/lesson-xp-map/lesson-xp-ai-calculation.service.js.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-map.controller.d.ts +87 -0
- package/dist/lesson-xp-map/lesson-xp-map.controller.d.ts.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-map.controller.js +185 -0
- package/dist/lesson-xp-map/lesson-xp-map.controller.js.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-map.module.d.ts +3 -0
- package/dist/lesson-xp-map/lesson-xp-map.module.d.ts.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-map.module.js +34 -0
- package/dist/lesson-xp-map/lesson-xp-map.module.js.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-map.service.d.ts +84 -0
- package/dist/lesson-xp-map/lesson-xp-map.service.d.ts.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-map.service.js +353 -0
- package/dist/lesson-xp-map/lesson-xp-map.service.js.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-segment.controller.d.ts +10 -0
- package/dist/lesson-xp-map/lesson-xp-segment.controller.d.ts.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-segment.controller.js +63 -0
- package/dist/lesson-xp-map/lesson-xp-segment.controller.js.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-segment.service.d.ts +27 -0
- package/dist/lesson-xp-map/lesson-xp-segment.service.d.ts.map +1 -0
- package/dist/lesson-xp-map/lesson-xp-segment.service.js +194 -0
- package/dist/lesson-xp-map/lesson-xp-segment.service.js.map +1 -0
- package/dist/libraries/lms/tsconfig.tsbuildinfo +1 -0
- package/dist/lms-commerce-access.subscriber.d.ts +11 -0
- package/dist/lms-commerce-access.subscriber.d.ts.map +1 -0
- package/dist/lms-commerce-access.subscriber.js +74 -0
- package/dist/lms-commerce-access.subscriber.js.map +1 -0
- package/dist/lms.module.d.ts.map +1 -1
- package/dist/lms.module.js +21 -5
- package/dist/lms.module.js.map +1 -1
- package/dist/platforma/dto/update-profile.dto.d.ts +17 -0
- package/dist/platforma/dto/update-profile.dto.d.ts.map +1 -0
- package/dist/platforma/dto/update-profile.dto.js +87 -0
- package/dist/platforma/dto/update-profile.dto.js.map +1 -0
- package/dist/platforma/platforma-video.service.d.ts +39 -0
- package/dist/platforma/platforma-video.service.d.ts.map +1 -0
- package/dist/platforma/platforma-video.service.js +301 -0
- package/dist/platforma/platforma-video.service.js.map +1 -0
- package/dist/platforma/platforma.controller.d.ts +182 -1
- package/dist/platforma/platforma.controller.d.ts.map +1 -1
- package/dist/platforma/platforma.controller.js +243 -2
- package/dist/platforma/platforma.controller.js.map +1 -1
- package/dist/platforma/platforma.service.d.ts +27 -0
- package/dist/platforma/platforma.service.d.ts.map +1 -0
- package/dist/platforma/platforma.service.js +274 -0
- package/dist/platforma/platforma.service.js.map +1 -0
- package/dist/student-xp/dto/grant-skill-card-xp.dto.d.ts +5 -0
- package/dist/student-xp/dto/grant-skill-card-xp.dto.d.ts.map +1 -0
- package/dist/student-xp/dto/grant-skill-card-xp.dto.js +26 -0
- package/dist/student-xp/dto/grant-skill-card-xp.dto.js.map +1 -0
- package/dist/student-xp/student-xp.controller.d.ts +56 -0
- package/dist/student-xp/student-xp.controller.d.ts.map +1 -0
- package/dist/student-xp/student-xp.controller.js +138 -0
- package/dist/student-xp/student-xp.controller.js.map +1 -0
- package/dist/student-xp/student-xp.module.d.ts +3 -0
- package/dist/student-xp/student-xp.module.d.ts.map +1 -0
- package/dist/student-xp/student-xp.module.js +25 -0
- package/dist/student-xp/student-xp.module.js.map +1 -0
- package/dist/student-xp/student-xp.service.d.ts +81 -0
- package/dist/student-xp/student-xp.service.d.ts.map +1 -0
- package/dist/student-xp/student-xp.service.js +247 -0
- package/dist/student-xp/student-xp.service.js.map +1 -0
- package/dist/xp-catalog/dto/create-xp-area.dto.d.ts +12 -0
- package/dist/xp-catalog/dto/create-xp-area.dto.d.ts.map +1 -0
- package/dist/xp-catalog/dto/create-xp-area.dto.js +63 -0
- package/dist/xp-catalog/dto/create-xp-area.dto.js.map +1 -0
- package/dist/xp-catalog/dto/create-xp-learning-type.dto.d.ts +11 -0
- package/dist/xp-catalog/dto/create-xp-learning-type.dto.d.ts.map +1 -0
- package/dist/xp-catalog/dto/create-xp-learning-type.dto.js +57 -0
- package/dist/xp-catalog/dto/create-xp-learning-type.dto.js.map +1 -0
- package/dist/xp-catalog/dto/create-xp-skill.dto.d.ts +11 -0
- package/dist/xp-catalog/dto/create-xp-skill.dto.d.ts.map +1 -0
- package/dist/xp-catalog/dto/create-xp-skill.dto.js +57 -0
- package/dist/xp-catalog/dto/create-xp-skill.dto.js.map +1 -0
- package/dist/xp-catalog/dto/update-xp-area.dto.d.ts +12 -0
- package/dist/xp-catalog/dto/update-xp-area.dto.d.ts.map +1 -0
- package/dist/xp-catalog/dto/update-xp-area.dto.js +66 -0
- package/dist/xp-catalog/dto/update-xp-area.dto.js.map +1 -0
- package/dist/xp-catalog/dto/update-xp-learning-type.dto.d.ts +11 -0
- package/dist/xp-catalog/dto/update-xp-learning-type.dto.d.ts.map +1 -0
- package/dist/xp-catalog/dto/update-xp-learning-type.dto.js +60 -0
- package/dist/xp-catalog/dto/update-xp-learning-type.dto.js.map +1 -0
- package/dist/xp-catalog/dto/update-xp-skill.dto.d.ts +11 -0
- package/dist/xp-catalog/dto/update-xp-skill.dto.d.ts.map +1 -0
- package/dist/xp-catalog/dto/update-xp-skill.dto.js +60 -0
- package/dist/xp-catalog/dto/update-xp-skill.dto.js.map +1 -0
- package/dist/xp-catalog/xp-area.controller.d.ts +25 -0
- package/dist/xp-catalog/xp-area.controller.d.ts.map +1 -0
- package/dist/xp-catalog/xp-area.controller.js +105 -0
- package/dist/xp-catalog/xp-area.controller.js.map +1 -0
- package/dist/xp-catalog/xp-area.service.d.ts +35 -0
- package/dist/xp-catalog/xp-area.service.d.ts.map +1 -0
- package/dist/xp-catalog/xp-area.service.js +168 -0
- package/dist/xp-catalog/xp-area.service.js.map +1 -0
- package/dist/xp-catalog/xp-catalog.module.d.ts +3 -0
- package/dist/xp-catalog/xp-catalog.module.d.ts.map +1 -0
- package/dist/xp-catalog/xp-catalog.module.js +29 -0
- package/dist/xp-catalog/xp-catalog.module.js.map +1 -0
- package/dist/xp-catalog/xp-learning-type.controller.d.ts +20 -0
- package/dist/xp-catalog/xp-learning-type.controller.d.ts.map +1 -0
- package/dist/xp-catalog/xp-learning-type.controller.js +96 -0
- package/dist/xp-catalog/xp-learning-type.controller.js.map +1 -0
- package/dist/xp-catalog/xp-learning-type.service.d.ts +30 -0
- package/dist/xp-catalog/xp-learning-type.service.d.ts.map +1 -0
- package/dist/xp-catalog/xp-learning-type.service.js +146 -0
- package/dist/xp-catalog/xp-learning-type.service.js.map +1 -0
- package/dist/xp-catalog/xp-skill.controller.d.ts +26 -0
- package/dist/xp-catalog/xp-skill.controller.d.ts.map +1 -0
- package/dist/xp-catalog/xp-skill.controller.js +113 -0
- package/dist/xp-catalog/xp-skill.controller.js.map +1 -0
- package/dist/xp-catalog/xp-skill.service.d.ts +37 -0
- package/dist/xp-catalog/xp-skill.service.d.ts.map +1 -0
- package/dist/xp-catalog/xp-skill.service.js +174 -0
- package/dist/xp-catalog/xp-skill.service.js.map +1 -0
- package/hedhog/data/evaluation_topic.yaml +17 -0
- package/hedhog/data/menu.yaml +91 -7
- package/hedhog/data/queue_definition.yaml +48 -0
- package/hedhog/data/route.yaml +511 -29
- package/hedhog/data/setting_group.yaml +20 -20
- package/hedhog/data/xp_area.yaml +164 -0
- package/hedhog/data/xp_learning_type.yaml +131 -0
- package/hedhog/data/xp_skill.yaml +1834 -0
- package/hedhog/frontend/app/achievements/page.tsx.ejs +108 -118
- package/hedhog/frontend/app/bitcodes/page.tsx.ejs +22 -34
- package/hedhog/frontend/app/bulk-upload-sessions/page.tsx.ejs +1749 -0
- package/hedhog/frontend/app/certificates/models/page.tsx.ejs +21 -45
- package/hedhog/frontend/app/classes/[id]/page.tsx.ejs +40 -74
- package/hedhog/frontend/app/classes/page.tsx.ejs +56 -85
- package/hedhog/frontend/app/courses/[id]/_components/CourseDangerZoneCard.tsx.ejs +3 -2
- package/hedhog/frontend/app/courses/[id]/_components/CourseMediaCard.tsx.ejs +48 -5
- package/hedhog/frontend/app/courses/[id]/page.tsx.ejs +73 -8
- package/hedhog/frontend/app/courses/[id]/structure/_components/course-export-sheet.tsx.ejs +420 -0
- package/hedhog/frontend/app/courses/[id]/structure/_components/course-exports-tab.tsx.ejs +308 -0
- package/hedhog/frontend/app/courses/[id]/structure/_components/course-operations-tab.tsx.ejs +19 -2
- package/hedhog/frontend/app/courses/[id]/structure/_components/course-overview-tab.tsx.ejs +1172 -0
- package/hedhog/frontend/app/courses/[id]/structure/_components/course-tree-dnd.tsx.ejs +16 -0
- package/hedhog/frontend/app/courses/[id]/structure/_components/course-tree.tsx.ejs +2 -0
- package/hedhog/frontend/app/courses/[id]/structure/_components/course-xp-overview-tab.tsx.ejs +623 -0
- package/hedhog/frontend/app/courses/[id]/structure/_components/detail-lesson-xp-tab.tsx.ejs +1458 -0
- package/hedhog/frontend/app/courses/[id]/structure/_components/detail-lesson.tsx.ejs +87 -46
- package/hedhog/frontend/app/courses/[id]/structure/_components/detail-panel.tsx.ejs +8 -3
- package/hedhog/frontend/app/courses/[id]/structure/_components/detail-session.tsx.ejs +31 -8
- package/hedhog/frontend/app/courses/[id]/structure/_components/drag-overlay.tsx.ejs +16 -9
- package/hedhog/frontend/app/courses/[id]/structure/_components/editor-course.tsx.ejs +618 -480
- package/hedhog/frontend/app/courses/[id]/structure/_components/editor-lesson.tsx.ejs +672 -737
- package/hedhog/frontend/app/courses/[id]/structure/_components/mock-data.ts.ejs +1 -2
- package/hedhog/frontend/app/courses/[id]/structure/_components/sortable-tree-row.tsx.ejs +3 -0
- package/hedhog/frontend/app/courses/[id]/structure/_components/store.ts.ejs +1 -0
- package/hedhog/frontend/app/courses/[id]/structure/_components/tree-display-settings-popover.tsx.ejs +101 -85
- package/hedhog/frontend/app/courses/[id]/structure/_components/tree-row-lesson.tsx.ejs +24 -10
- package/hedhog/frontend/app/courses/[id]/structure/_components/tree-row.tsx.ejs +3 -0
- package/hedhog/frontend/app/courses/[id]/structure/_components/types.ts.ejs +1 -1
- package/hedhog/frontend/app/courses/[id]/structure/_components/use-tree-display-settings.ts.ejs +7 -1
- package/hedhog/frontend/app/courses/[id]/structure/_components/xp-premium-pills.tsx.ejs +44 -0
- package/hedhog/frontend/app/courses/[id]/structure/_data/adapters/course-structure.adapter.ts.ejs +6 -10
- package/hedhog/frontend/app/courses/[id]/structure/_data/services/course-structure.service.ts.ejs +49 -0
- package/hedhog/frontend/app/courses/[id]/structure/_data/types/api-course.types.ts.ejs +4 -3
- package/hedhog/frontend/app/courses/[id]/structure/_data/use-course-content-overview.ts.ejs +53 -0
- package/hedhog/frontend/app/courses/[id]/structure/_data/use-course-exports.ts.ejs +106 -0
- package/hedhog/frontend/app/courses/[id]/structure/_data/use-course-structure-mutations.ts.ejs +80 -1
- package/hedhog/frontend/app/courses/[id]/structure/_data/use-course-xp-overview.ts.ejs +76 -0
- package/hedhog/frontend/app/courses/[id]/structure/_data/use-lesson-xp-map.ts.ejs +128 -0
- package/hedhog/frontend/app/courses/[id]/structure/_data/use-lms-settings-query.ts.ejs +0 -2
- package/hedhog/frontend/app/courses/[id]/structure/_data/use-transcription-segments.ts.ejs +30 -0
- package/hedhog/frontend/app/courses/[id]/structure/_utils/xp-color-config.ts.ejs +115 -0
- package/hedhog/frontend/app/courses/_components/CourseDeleteDialog.tsx.ejs +223 -0
- package/hedhog/frontend/app/courses/_components/CourseRowActions.tsx.ejs +89 -0
- package/hedhog/frontend/app/courses/page.tsx.ejs +445 -230
- package/hedhog/frontend/app/enterprise/page.tsx.ejs +39 -63
- package/hedhog/frontend/app/exams/[id]/questions/page.tsx.ejs +53 -77
- package/hedhog/frontend/app/exams/page.tsx.ejs +54 -90
- package/hedhog/frontend/app/instructor-skills/page.tsx.ejs +23 -36
- package/hedhog/frontend/app/instructors/page.tsx.ejs +72 -81
- package/hedhog/frontend/app/paths/page.tsx.ejs +40 -68
- package/hedhog/frontend/app/training/page.tsx.ejs +40 -68
- package/hedhog/frontend/app/xp/areas/page.tsx.ejs +782 -0
- package/hedhog/frontend/app/xp/learning-types/page.tsx.ejs +690 -0
- package/hedhog/frontend/app/xp/skills/page.tsx.ejs +811 -0
- package/hedhog/frontend/messages/en.json +412 -31
- package/hedhog/frontend/messages/pt.json +412 -31
- package/hedhog/table/course_export.yaml +62 -0
- package/hedhog/table/lesson_xp_map.yaml +50 -0
- package/hedhog/table/lesson_xp_segment.yaml +40 -0
- package/hedhog/table/lesson_xp_segment_area.yaml +24 -0
- package/hedhog/table/lesson_xp_segment_learning_type.yaml +24 -0
- package/hedhog/table/lesson_xp_segment_skill.yaml +24 -0
- package/hedhog/table/lms_bulk_upload_item.yaml +44 -0
- package/hedhog/table/lms_bulk_upload_session.yaml +42 -0
- package/hedhog/table/student_area_xp.yaml +30 -0
- package/hedhog/table/student_learning_type_xp.yaml +30 -0
- package/hedhog/table/student_skill_xp.yaml +30 -0
- package/hedhog/table/student_xp_event.yaml +34 -0
- package/hedhog/table/xp_area.yaml +39 -0
- package/hedhog/table/xp_learning_type.yaml +34 -0
- package/hedhog/table/xp_skill.yaml +39 -0
- package/package.json +13 -8
- package/src/bitcode-wallet/bitcode-wallet.service.ts +152 -0
- package/src/bitcode-wallet/dto/create-current-bitcode-wallet-transaction.dto.ts +32 -0
- package/src/course/course-audio-transcription.service.ts +58 -21
- package/src/course/course-export-scorm12-worker.service.ts +124 -0
- package/src/course/course-export-scorm12.service.ts +668 -0
- package/src/course/course-export.service.ts +280 -0
- package/src/course/course-lesson.controller.ts +6 -1
- package/src/course/course-structure.controller.ts +23 -1
- package/src/course/course-structure.service.ts +273 -7
- package/src/course/course-video-conversion.service.ts +113 -75
- package/src/course/course-video-hls.service.ts +946 -0
- package/src/course/course.controller.ts +54 -21
- package/src/course/course.mcp-tools.ts +1 -1
- package/src/course/course.module.ts +13 -0
- package/src/course/course.service.ts +906 -76
- package/src/course/dto/cleanup-course-storage.dto.ts +23 -0
- package/src/course/dto/cleanup-upload-history.dto.ts +26 -0
- package/src/course/dto/create-course-bulk-job.dto.ts +10 -0
- package/src/course/dto/create-course-export.dto.ts +56 -0
- package/src/course/dto/create-course-structure-lesson.dto.ts +4 -3
- package/src/course/lms-bulk-upload-automation.service.ts +707 -0
- package/src/course/lms-bulk-upload-infra.service.ts +360 -0
- package/src/course/lms-bulk-upload.constants.ts +5 -0
- package/src/course/lms-bulk-upload.controller.ts +110 -4
- package/src/course/lms-bulk-upload.service.ts +1092 -204
- package/src/course/lms-setting.controller.ts +26 -8
- package/src/course/scorm12-schemas.ts +9 -0
- package/src/enterprise/training/training-student.service.ts +221 -2
- package/src/evaluation/evaluation.service.ts +123 -0
- package/src/exam/dto/create-standalone-question.dto.ts +66 -0
- package/src/exam/exam.module.ts +2 -1
- package/src/exam/exam.service.ts +86 -0
- package/src/exam/question.controller.ts +28 -0
- package/src/lesson-xp-map/dto/create-lesson-xp-map.dto.ts +17 -0
- package/src/lesson-xp-map/dto/create-lesson-xp-segment.dto.ts +102 -0
- package/src/lesson-xp-map/dto/review-lesson-xp-map.dto.ts +7 -0
- package/src/lesson-xp-map/dto/update-lesson-xp-map.dto.ts +36 -0
- package/src/lesson-xp-map/dto/update-lesson-xp-segment.dto.ts +78 -0
- package/src/lesson-xp-map/lesson-xp-ai-calculation.service.ts +570 -0
- package/src/lesson-xp-map/lesson-xp-map.controller.ts +116 -0
- package/src/lesson-xp-map/lesson-xp-map.module.ts +21 -0
- package/src/lesson-xp-map/lesson-xp-map.service.ts +442 -0
- package/src/lesson-xp-map/lesson-xp-segment.controller.ts +36 -0
- package/src/lesson-xp-map/lesson-xp-segment.service.ts +229 -0
- package/src/lms-commerce-access.subscriber.ts +88 -0
- package/src/lms.module.ts +21 -5
- package/src/platforma/dto/update-profile.dto.ts +59 -0
- package/src/platforma/platforma-video.service.ts +346 -0
- package/src/platforma/platforma.controller.ts +152 -3
- package/src/platforma/platforma.service.ts +268 -0
- package/src/student-xp/dto/grant-skill-card-xp.dto.ts +10 -0
- package/src/student-xp/student-xp.controller.ts +92 -0
- package/src/student-xp/student-xp.module.ts +12 -0
- package/src/student-xp/student-xp.service.ts +318 -0
- package/src/xp-catalog/dto/create-xp-area.dto.ts +40 -0
- package/src/xp-catalog/dto/create-xp-learning-type.dto.ts +35 -0
- package/src/xp-catalog/dto/create-xp-skill.dto.ts +35 -0
- package/src/xp-catalog/dto/update-xp-area.dto.ts +43 -0
- package/src/xp-catalog/dto/update-xp-learning-type.dto.ts +38 -0
- package/src/xp-catalog/dto/update-xp-skill.dto.ts +38 -0
- package/src/xp-catalog/xp-area.controller.ts +64 -0
- package/src/xp-catalog/xp-area.service.ts +196 -0
- package/src/xp-catalog/xp-catalog.module.ts +16 -0
- package/src/xp-catalog/xp-learning-type.controller.ts +59 -0
- package/src/xp-catalog/xp-learning-type.service.ts +170 -0
- package/src/xp-catalog/xp-skill.controller.ts +71 -0
- package/src/xp-catalog/xp-skill.service.ts +205 -0
- package/hedhog/data/video_resolution_profile.yaml +0 -7
- package/hedhog/frontend/app/video-resolution-profiles/page.tsx.ejs +0 -607
- package/hedhog/table/course_video_resolution_profile.yaml +0 -22
- package/hedhog/table/video_resolution_profile.yaml +0 -18
- package/src/video-resolution-profile/dto/create-video-resolution-profile.dto.ts +0 -16
- package/src/video-resolution-profile/dto/update-video-resolution-profile.dto.ts +0 -16
- package/src/video-resolution-profile/video-resolution-profile.controller.ts +0 -62
- package/src/video-resolution-profile/video-resolution-profile.mcp-tools.ts +0 -128
- package/src/video-resolution-profile/video-resolution-profile.module.ts +0 -13
- package/src/video-resolution-profile/video-resolution-profile.service.ts +0 -117
|
@@ -413,8 +413,9 @@
|
|
|
413
413
|
},
|
|
414
414
|
"structureEditor": {
|
|
415
415
|
"tabs": {
|
|
416
|
-
"
|
|
417
|
-
"
|
|
416
|
+
"overview": "Overview",
|
|
417
|
+
"details": "Details",
|
|
418
|
+
"xp": "XP",
|
|
418
419
|
"media": "Media",
|
|
419
420
|
"resources": "Resources",
|
|
420
421
|
"extra": "Extra",
|
|
@@ -484,6 +485,85 @@
|
|
|
484
485
|
}
|
|
485
486
|
}
|
|
486
487
|
},
|
|
488
|
+
"xpOverview": {
|
|
489
|
+
"emptyTitle": "No aggregated XP data yet",
|
|
490
|
+
"emptyDescription": "Calculate lesson XP to visualize the course-wide overview by macro areas, skills, and learning types.",
|
|
491
|
+
"errorTitle": "Could not load the XP overview",
|
|
492
|
+
"errorDescription": "Try again in a moment. Once lesson XP maps exist, this tab will show the consolidated course view.",
|
|
493
|
+
"kpis": {
|
|
494
|
+
"totalXp": "Total XP",
|
|
495
|
+
"totalXpDescription": "Sum of the XP already calculated across course lessons",
|
|
496
|
+
"mappedLessons": "Mapped lessons",
|
|
497
|
+
"mappedLessonsDescription": "Lessons that already have an XP map available",
|
|
498
|
+
"segments": "Valid segments",
|
|
499
|
+
"segmentsDescription": "Lesson slices that grant XP",
|
|
500
|
+
"avgXpPerMappedLesson": "Avg XP per lesson",
|
|
501
|
+
"avgXpPerMappedLessonDescription": "Average considering only mapped lessons"
|
|
502
|
+
},
|
|
503
|
+
"charts": {
|
|
504
|
+
"lessonDistribution": {
|
|
505
|
+
"title": "Lesson distribution",
|
|
506
|
+
"description": "Which lessons concentrate the most XP in the course"
|
|
507
|
+
},
|
|
508
|
+
"lessons": {
|
|
509
|
+
"metricXp": "Lesson XP",
|
|
510
|
+
"lessonFallback": "Untitled lesson"
|
|
511
|
+
},
|
|
512
|
+
"macroAreas": {
|
|
513
|
+
"title": "Macro-area angles",
|
|
514
|
+
"description": "Radial reading of the macro areas with the highest weight in the course"
|
|
515
|
+
},
|
|
516
|
+
"skills": {
|
|
517
|
+
"title": "Top skills",
|
|
518
|
+
"description": "Ranking of the most recurrent skills across all lessons"
|
|
519
|
+
},
|
|
520
|
+
"learningTypes": {
|
|
521
|
+
"title": "Learning types",
|
|
522
|
+
"description": "Proportional view of the learning formats most used in the course",
|
|
523
|
+
"metricXp": "Aggregated XP",
|
|
524
|
+
"metricMultiplier": "Multiplier"
|
|
525
|
+
}
|
|
526
|
+
},
|
|
527
|
+
"table": {
|
|
528
|
+
"title": "Lesson breakdown",
|
|
529
|
+
"description": "Summary of the lessons considered in the course XP consolidation",
|
|
530
|
+
"segments": "segments",
|
|
531
|
+
"lessonCodeFallback": "Lesson #{id}"
|
|
532
|
+
}
|
|
533
|
+
},
|
|
534
|
+
"courseOverview": {
|
|
535
|
+
"errorTitle": "Could not load the course overview",
|
|
536
|
+
"errorDescription": "Try again in a moment.",
|
|
537
|
+
"kpis": {
|
|
538
|
+
"modules": "Modules",
|
|
539
|
+
"modulesDescription": "Total course modules",
|
|
540
|
+
"lessons": "Lessons",
|
|
541
|
+
"lessonsDescription": "Total lessons across all modules",
|
|
542
|
+
"extractedImages": "Extracted images",
|
|
543
|
+
"extractedImagesDescription": "Video frame captures extracted from lessons",
|
|
544
|
+
"resourceFiles": "Resource files",
|
|
545
|
+
"resourceFilesDescription": "Downloadable files attached to lessons"
|
|
546
|
+
},
|
|
547
|
+
"lessonTypes": {
|
|
548
|
+
"title": "Lesson types",
|
|
549
|
+
"description": "Distribution of all lessons by type"
|
|
550
|
+
},
|
|
551
|
+
"videos": {
|
|
552
|
+
"title": "Video lessons",
|
|
553
|
+
"description": "Transcription and XP coverage for video lessons",
|
|
554
|
+
"total": "Video lessons",
|
|
555
|
+
"withTranscription": "With transcription",
|
|
556
|
+
"withXp": "With XP"
|
|
557
|
+
},
|
|
558
|
+
"areas": {
|
|
559
|
+
"title": "Macro areas",
|
|
560
|
+
"description": "Areas mapped across lessons, ordered by XP weight"
|
|
561
|
+
},
|
|
562
|
+
"skills": {
|
|
563
|
+
"title": "Skills",
|
|
564
|
+
"description": "Skills mapped across lessons, ordered by XP weight"
|
|
565
|
+
}
|
|
566
|
+
},
|
|
487
567
|
"footer": {
|
|
488
568
|
"cancel": "Cancel",
|
|
489
569
|
"newSession": "New session",
|
|
@@ -499,6 +579,8 @@
|
|
|
499
579
|
"statusProgress": "{completed}/{total} required items completed",
|
|
500
580
|
"ready": "Ready to publish",
|
|
501
581
|
"notReady": "Not ready yet",
|
|
582
|
+
"publishButton": "Publish course",
|
|
583
|
+
"alreadyPublished": "Course already published",
|
|
502
584
|
"items": {
|
|
503
585
|
"title": "Commercial title filled",
|
|
504
586
|
"description": "Public description filled",
|
|
@@ -623,6 +705,8 @@
|
|
|
623
705
|
"level": "Level",
|
|
624
706
|
"status": "Status",
|
|
625
707
|
"categories": "Categories",
|
|
708
|
+
"sessions": "Sessions",
|
|
709
|
+
"lessons": "Lessons",
|
|
626
710
|
"students": "Students"
|
|
627
711
|
},
|
|
628
712
|
"empty": {
|
|
@@ -761,8 +845,24 @@
|
|
|
761
845
|
"title": "Confirm Deletion",
|
|
762
846
|
"description": "Are you sure you want to delete the course",
|
|
763
847
|
"warning": "This course has {count} enrolled student(s). Deletion is irreversible.",
|
|
848
|
+
"archiveFirst": "Archive the course to enable complete deletion.",
|
|
849
|
+
"archiveReady": "Course archived. Complete deletion can now be started.",
|
|
850
|
+
"relatedContentWarning": "All related videos, audios, materials, and other files will be deleted in the background.",
|
|
851
|
+
"impactTitle": "Deletion impact",
|
|
852
|
+
"impactLoading": "Loading the amount of files and storage that will be removed...",
|
|
853
|
+
"impact": {
|
|
854
|
+
"files": "Files",
|
|
855
|
+
"storage": "Storage",
|
|
856
|
+
"students": "Students"
|
|
857
|
+
},
|
|
858
|
+
"expectedNameLabel": "Exact name that must be typed",
|
|
859
|
+
"confirmationLabel": "Type the exact course name to confirm:",
|
|
860
|
+
"confirmationPlaceholder": "Course name",
|
|
861
|
+
"confirmationHint": "Type the full and exact course name shown above.",
|
|
764
862
|
"actions": {
|
|
765
863
|
"cancel": "Cancel",
|
|
864
|
+
"archive": "Archive",
|
|
865
|
+
"archived": "Archived",
|
|
766
866
|
"delete": "Delete Course"
|
|
767
867
|
}
|
|
768
868
|
},
|
|
@@ -770,13 +870,22 @@
|
|
|
770
870
|
"courseUpdated": "Course updated successfully!",
|
|
771
871
|
"courseCreated": "Course created successfully! Redirecting...",
|
|
772
872
|
"courseRemoved": "Course \"{title}\" removed.",
|
|
873
|
+
"courseArchived": "Course \"{title}\" archived successfully.",
|
|
874
|
+
"courseArchiveError": "Unable to archive the course.",
|
|
875
|
+
"courseDeleteQueued": "Deletion for course \"{title}\" started. {files} file(s) will be removed in the background.",
|
|
876
|
+
"courseDeleteQueueError": "Unable to start asynchronous course deletion.",
|
|
877
|
+
"courseDeleteImpactLoadError": "Unable to load the course deletion impact.",
|
|
773
878
|
"coursesRemoved": "{count} course(s) removed.",
|
|
774
879
|
"coursesArchived": "{count} course(s) archived.",
|
|
775
880
|
"deleteOnlyArchived": "Only archived courses can be deleted.",
|
|
776
881
|
"bulkDeleteArchivedOnly": "Only selected archived courses will be deleted.",
|
|
882
|
+
"bulkDeleteUseSingleFlow": "Use the single-item deletion flow to review impact and follow the async job.",
|
|
777
883
|
"codeCopied": "Code \"{code}\" copied."
|
|
778
884
|
},
|
|
779
885
|
"StructurePage": {
|
|
886
|
+
"common": {
|
|
887
|
+
"all": "All"
|
|
888
|
+
},
|
|
780
889
|
"pageHeader": {
|
|
781
890
|
"title": "Course Structure",
|
|
782
891
|
"description": "{sessions} sessions - {lessons} lessons - {hours}h {minutes}min of content"
|
|
@@ -807,6 +916,10 @@
|
|
|
807
916
|
"action": "Create First Session"
|
|
808
917
|
},
|
|
809
918
|
"loading": "Loading course structure",
|
|
919
|
+
"error": {
|
|
920
|
+
"loadFailed": "Could not load the course structure.",
|
|
921
|
+
"tryAgain": "Try again"
|
|
922
|
+
},
|
|
810
923
|
"dragHandle": {
|
|
811
924
|
"disabled": "Clear search to reorder",
|
|
812
925
|
"enabled": "Drag to reorder"
|
|
@@ -941,6 +1054,10 @@
|
|
|
941
1054
|
"showTranscriptionIndicator": {
|
|
942
1055
|
"label": "Transcription",
|
|
943
1056
|
"description": "Icon when a video has transcription"
|
|
1057
|
+
},
|
|
1058
|
+
"showXpCalculatedIndicator": {
|
|
1059
|
+
"label": "XP calculated",
|
|
1060
|
+
"description": "Icon when the lesson already has an XP map"
|
|
944
1061
|
}
|
|
945
1062
|
},
|
|
946
1063
|
"lessonRow": {
|
|
@@ -954,7 +1071,8 @@
|
|
|
954
1071
|
"resourcesAria": "{count} resources",
|
|
955
1072
|
"uploadedVideos": "{count} uploaded video(s)",
|
|
956
1073
|
"uploadedVideosAria": "{count} uploaded videos",
|
|
957
|
-
"hasTranscription": "Has transcription"
|
|
1074
|
+
"hasTranscription": "Has transcription",
|
|
1075
|
+
"xpCalculated": "XP calculated"
|
|
958
1076
|
},
|
|
959
1077
|
"sessionRow": {
|
|
960
1078
|
"collapse": "Collapse session",
|
|
@@ -1070,38 +1188,43 @@
|
|
|
1070
1188
|
"removeTranscriptionSegment": "Remove segment {count}",
|
|
1071
1189
|
"transcriptionAcceptedFormats": "Accepted formats: mm:ss and hh:mm:ss.",
|
|
1072
1190
|
"resourcesCount": "{count} resource(s)",
|
|
1191
|
+
"filterBy": "Filter by",
|
|
1192
|
+
"resourceType": "Type",
|
|
1193
|
+
"resourceTypes": {
|
|
1194
|
+
"supplementary_material": "Supplementary material",
|
|
1195
|
+
"student_download": "Student download",
|
|
1196
|
+
"attachment": "Attachment",
|
|
1197
|
+
"document": "Document",
|
|
1198
|
+
"lesson_audio": "Lesson audio"
|
|
1199
|
+
},
|
|
1073
1200
|
"addResource": "Add resource",
|
|
1074
1201
|
"noResources": "No resources added",
|
|
1075
|
-
"
|
|
1076
|
-
"
|
|
1077
|
-
"
|
|
1078
|
-
"
|
|
1079
|
-
"loadingVideoProfiles": "Loading course video profiles...",
|
|
1080
|
-
"videoProfilesLoadError": "Could not load the course video profiles.",
|
|
1081
|
-
"retryLoadVideoProfiles": "Try loading again",
|
|
1082
|
-
"noVideoProfilesConfigured": "Configure video profiles in the course Resolutions tab before attaching File Storage videos.",
|
|
1202
|
+
"hlsStatusTitle": "HLS Stream",
|
|
1203
|
+
"hlsStatusReady": "Stream available for students.",
|
|
1204
|
+
"hlsStatusProcessing": "Processing video...",
|
|
1205
|
+
"hlsStatusPending": "No video processed yet.",
|
|
1083
1206
|
"originalVideoTitle": "Original high-resolution video",
|
|
1084
|
-
"originalVideoHint": "Upload an original video to automatically generate the
|
|
1085
|
-
"originalVideoPurpose": "This original file is only used to generate the
|
|
1086
|
-
"fileStorageVideoHint": "Use the original video below to automatically generate the
|
|
1087
|
-
"uploadOriginalForConversion": "Upload
|
|
1207
|
+
"originalVideoHint": "Upload an original video to automatically generate the HLS stream for this course.",
|
|
1208
|
+
"originalVideoPurpose": "This original file is only used to generate the adaptive streaming for this course.",
|
|
1209
|
+
"fileStorageVideoHint": "Use the original video below to automatically generate the HLS stream for this course.",
|
|
1210
|
+
"uploadOriginalForConversion": "Upload video for processing",
|
|
1088
1211
|
"replaceOriginalForConversion": "Replace original video",
|
|
1089
1212
|
"retryConversionWithSavedOriginal": "Start a new job with the saved original",
|
|
1090
|
-
"videoUploadBlockedWhileProcessing": "Original uploads stay blocked while the current
|
|
1213
|
+
"videoUploadBlockedWhileProcessing": "Original uploads stay blocked while the current processing job is still running.",
|
|
1091
1214
|
"videoJobStateLoading": "Waiting for the latest job status before allowing new actions.",
|
|
1092
1215
|
"videoProviderSavePending": "Wait for the provider to be saved before uploading the original video.",
|
|
1093
1216
|
"videoUploadMaxSizeError": "The video exceeds the {size} limit.",
|
|
1094
|
-
"videoConversionQueued": "Video
|
|
1095
|
-
"videoConversionFailed": "Could not queue the video
|
|
1217
|
+
"videoConversionQueued": "Video processing queued as job #{id}.",
|
|
1218
|
+
"videoConversionFailed": "Could not queue the video for processing.",
|
|
1096
1219
|
"videoConversionRetryFailed": "Could not start a new job with the saved original video.",
|
|
1097
|
-
"videoConversionJob": "
|
|
1098
|
-
"videoJobFeedbackTitle": "
|
|
1099
|
-
"videoJobToggleDetails": "Toggle
|
|
1100
|
-
"videoJobCollapsedSummary": "
|
|
1101
|
-
"videoJobLoading": "Loading
|
|
1102
|
-
"videoJobPendingLoad": "Preparing
|
|
1103
|
-
"awaitingConversion": "Awaiting
|
|
1104
|
-
"videoJobLoadError": "Could not load the
|
|
1220
|
+
"videoConversionJob": "Processing queued as job #{id}",
|
|
1221
|
+
"videoJobFeedbackTitle": "Processing status",
|
|
1222
|
+
"videoJobToggleDetails": "Toggle processing details",
|
|
1223
|
+
"videoJobCollapsedSummary": "Processing completed successfully. HLS streaming is now available for students.",
|
|
1224
|
+
"videoJobLoading": "Loading processing progress...",
|
|
1225
|
+
"videoJobPendingLoad": "Preparing processing job tracking...",
|
|
1226
|
+
"awaitingConversion": "Awaiting processing...",
|
|
1227
|
+
"videoJobLoadError": "Could not load the processing progress.",
|
|
1105
1228
|
"retryLoadVideoJob": "Try again",
|
|
1106
1229
|
"videoJobIdLabel": "Job",
|
|
1107
1230
|
"videoJobAttemptsLabel": "Attempts",
|
|
@@ -1117,7 +1240,6 @@
|
|
|
1117
1240
|
"videoJobRecentEvents": "Recent events",
|
|
1118
1241
|
"videoJobTranscriptionEvents": "Recent transcription events",
|
|
1119
1242
|
"videoJobNoEvents": "No events recorded yet.",
|
|
1120
|
-
"videoProfilesLockedWhileProcessing": "Profile video uploads stay locked while the original conversion job is active.",
|
|
1121
1243
|
"videoJobStatuses": {
|
|
1122
1244
|
"pending": "Queued",
|
|
1123
1245
|
"scheduled": "Scheduled",
|
|
@@ -1149,8 +1271,9 @@
|
|
|
1149
1271
|
},
|
|
1150
1272
|
"videoJobProgress": {
|
|
1151
1273
|
"download_original": "Downloading original video...",
|
|
1152
|
-
"probe_duration": "Reading video duration...",
|
|
1153
|
-
"
|
|
1274
|
+
"probe_duration": "Reading video dimensions and duration...",
|
|
1275
|
+
"hls_encode": "Generating HLS stream...",
|
|
1276
|
+
"hls_upload": "Uploading HLS segments to storage...",
|
|
1154
1277
|
"extract_frames": "Extracting video frames...",
|
|
1155
1278
|
"extract_frames_done": "Frames extracted: {count}.",
|
|
1156
1279
|
"extract_audio": "Extracting video audio...",
|
|
@@ -1217,8 +1340,7 @@
|
|
|
1217
1340
|
"types": {
|
|
1218
1341
|
"video": "Video",
|
|
1219
1342
|
"post": "Post",
|
|
1220
|
-
"questao": "Question"
|
|
1221
|
-
"exercicio": "Exercise"
|
|
1343
|
+
"questao": "Question"
|
|
1222
1344
|
},
|
|
1223
1345
|
"statuses": {
|
|
1224
1346
|
"preparada": "Prepared",
|
|
@@ -1257,6 +1379,7 @@
|
|
|
1257
1379
|
"videoUploadFailed": "Failed to upload {count} video file(s).",
|
|
1258
1380
|
"newQuestion": "New question",
|
|
1259
1381
|
"editQuestion": "Edit question",
|
|
1382
|
+
"loadingQuestions": "Loading questions...",
|
|
1260
1383
|
"selectQuestion": "Select question...",
|
|
1261
1384
|
"searchQuestion": "Search question...",
|
|
1262
1385
|
"noQuestionsFound": "No questions found",
|
|
@@ -4613,6 +4736,10 @@
|
|
|
4613
4736
|
"duplicateError": "Error duplicating lesson",
|
|
4614
4737
|
"pasteError": "Error pasting lessons"
|
|
4615
4738
|
},
|
|
4739
|
+
"resource": {
|
|
4740
|
+
"updateTypeSuccess": "Resource type changed to {type}.",
|
|
4741
|
+
"updateTypeError": "Error changing resource type"
|
|
4742
|
+
},
|
|
4616
4743
|
"item": {
|
|
4617
4744
|
"deleteError": "Error deleting items"
|
|
4618
4745
|
}
|
|
@@ -4678,5 +4805,259 @@
|
|
|
4678
4805
|
"title": "Delete profile",
|
|
4679
4806
|
"description": "Are you sure you want to delete the profile \"{name}\"? This action cannot be undone."
|
|
4680
4807
|
}
|
|
4808
|
+
},
|
|
4809
|
+
"XpAreasPage": {
|
|
4810
|
+
"title": "XP Areas",
|
|
4811
|
+
"description": "Manage macro competency areas for XP distribution.",
|
|
4812
|
+
"breadcrumbs": {
|
|
4813
|
+
"home": "Home",
|
|
4814
|
+
"lms": "LMS",
|
|
4815
|
+
"xp": "XP & Competencies",
|
|
4816
|
+
"current": "Areas"
|
|
4817
|
+
},
|
|
4818
|
+
"sheet": {
|
|
4819
|
+
"createTitle": "New Area",
|
|
4820
|
+
"editTitle": "Edit Area"
|
|
4821
|
+
},
|
|
4822
|
+
"form": {
|
|
4823
|
+
"slug": "Slug",
|
|
4824
|
+
"slugPlaceholder": "e.g. frontend",
|
|
4825
|
+
"namePt": "Name (PT)",
|
|
4826
|
+
"namePtPlaceholder": "e.g. Frontend",
|
|
4827
|
+
"nameEn": "Name (EN)",
|
|
4828
|
+
"nameEnPlaceholder": "e.g. Frontend",
|
|
4829
|
+
"descriptionPt": "Description (PT)",
|
|
4830
|
+
"descriptionPtPlaceholder": "Short description in Portuguese...",
|
|
4831
|
+
"descriptionEn": "Description (EN)",
|
|
4832
|
+
"descriptionEnPlaceholder": "Short description in English...",
|
|
4833
|
+
"color": "Color",
|
|
4834
|
+
"iconSlug": "Icon Slug",
|
|
4835
|
+
"iconSlugPlaceholder": "e.g. code",
|
|
4836
|
+
"sortOrder": "Sort Order",
|
|
4837
|
+
"status": "Status",
|
|
4838
|
+
"statusPlaceholder": "Select status",
|
|
4839
|
+
"validation": {
|
|
4840
|
+
"required": "Required field",
|
|
4841
|
+
"max100": "Maximum 100 characters",
|
|
4842
|
+
"slugPattern": "Only lowercase letters, numbers, and hyphens"
|
|
4843
|
+
}
|
|
4844
|
+
},
|
|
4845
|
+
"table": {
|
|
4846
|
+
"color": "Color",
|
|
4847
|
+
"name": "Name",
|
|
4848
|
+
"slug": "Slug",
|
|
4849
|
+
"status": "Status"
|
|
4850
|
+
},
|
|
4851
|
+
"status": {
|
|
4852
|
+
"active": "Active",
|
|
4853
|
+
"inactive": "Inactive"
|
|
4854
|
+
},
|
|
4855
|
+
"actions": {
|
|
4856
|
+
"create": "New Area",
|
|
4857
|
+
"edit": "Edit",
|
|
4858
|
+
"delete": "Delete",
|
|
4859
|
+
"save": "Save",
|
|
4860
|
+
"saving": "Saving...",
|
|
4861
|
+
"cancel": "Cancel",
|
|
4862
|
+
"deleting": "Deleting..."
|
|
4863
|
+
},
|
|
4864
|
+
"filters": {
|
|
4865
|
+
"searchPlaceholder": "Search areas..."
|
|
4866
|
+
},
|
|
4867
|
+
"empty": {
|
|
4868
|
+
"title": "No areas found",
|
|
4869
|
+
"description": "Create the first XP competency area to get started."
|
|
4870
|
+
},
|
|
4871
|
+
"kpis": {
|
|
4872
|
+
"total": {
|
|
4873
|
+
"label": "Total Areas",
|
|
4874
|
+
"description": "All registered areas"
|
|
4875
|
+
},
|
|
4876
|
+
"active": {
|
|
4877
|
+
"label": "Active",
|
|
4878
|
+
"description": "Currently active areas"
|
|
4879
|
+
},
|
|
4880
|
+
"inactive": {
|
|
4881
|
+
"label": "Inactive",
|
|
4882
|
+
"description": "Deactivated areas"
|
|
4883
|
+
}
|
|
4884
|
+
},
|
|
4885
|
+
"messages": {
|
|
4886
|
+
"createSuccess": "Area created successfully.",
|
|
4887
|
+
"updateSuccess": "Area updated successfully.",
|
|
4888
|
+
"deleteSuccess": "Area deleted successfully.",
|
|
4889
|
+
"saveError": "Error saving area.",
|
|
4890
|
+
"deleteError": "Error deleting area."
|
|
4891
|
+
},
|
|
4892
|
+
"deleteDialog": {
|
|
4893
|
+
"title": "Delete area",
|
|
4894
|
+
"description": "Are you sure you want to delete the area \"{slug}\"? This action cannot be undone."
|
|
4895
|
+
}
|
|
4896
|
+
},
|
|
4897
|
+
"XpSkillsPage": {
|
|
4898
|
+
"title": "XP Skills",
|
|
4899
|
+
"description": "Manage skills and competencies linked to XP areas.",
|
|
4900
|
+
"breadcrumbs": {
|
|
4901
|
+
"home": "Home",
|
|
4902
|
+
"lms": "LMS",
|
|
4903
|
+
"xp": "XP & Competencies",
|
|
4904
|
+
"current": "Skills"
|
|
4905
|
+
},
|
|
4906
|
+
"sheet": {
|
|
4907
|
+
"createTitle": "New Skill",
|
|
4908
|
+
"editTitle": "Edit Skill"
|
|
4909
|
+
},
|
|
4910
|
+
"form": {
|
|
4911
|
+
"slug": "Slug",
|
|
4912
|
+
"slugPlaceholder": "e.g. react-hooks",
|
|
4913
|
+
"namePt": "Name (PT)",
|
|
4914
|
+
"namePtPlaceholder": "e.g. React Hooks",
|
|
4915
|
+
"nameEn": "Name (EN)",
|
|
4916
|
+
"nameEnPlaceholder": "e.g. React Hooks",
|
|
4917
|
+
"descriptionPt": "Description (PT)",
|
|
4918
|
+
"descriptionPtPlaceholder": "Short description in Portuguese...",
|
|
4919
|
+
"descriptionEn": "Description (EN)",
|
|
4920
|
+
"descriptionEnPlaceholder": "Short description in English...",
|
|
4921
|
+
"area": "Area",
|
|
4922
|
+
"areaPlaceholder": "Select an area",
|
|
4923
|
+
"areaNone": "No area",
|
|
4924
|
+
"sortOrder": "Sort Order",
|
|
4925
|
+
"status": "Status",
|
|
4926
|
+
"statusPlaceholder": "Select status",
|
|
4927
|
+
"validation": {
|
|
4928
|
+
"required": "Required field",
|
|
4929
|
+
"max100": "Maximum 100 characters",
|
|
4930
|
+
"slugPattern": "Only lowercase letters, numbers, and hyphens"
|
|
4931
|
+
}
|
|
4932
|
+
},
|
|
4933
|
+
"table": {
|
|
4934
|
+
"name": "Name",
|
|
4935
|
+
"slug": "Slug",
|
|
4936
|
+
"area": "Area",
|
|
4937
|
+
"status": "Status"
|
|
4938
|
+
},
|
|
4939
|
+
"status": {
|
|
4940
|
+
"active": "Active",
|
|
4941
|
+
"inactive": "Inactive"
|
|
4942
|
+
},
|
|
4943
|
+
"actions": {
|
|
4944
|
+
"create": "New Skill",
|
|
4945
|
+
"edit": "Edit",
|
|
4946
|
+
"delete": "Delete",
|
|
4947
|
+
"save": "Save",
|
|
4948
|
+
"saving": "Saving...",
|
|
4949
|
+
"cancel": "Cancel",
|
|
4950
|
+
"deleting": "Deleting..."
|
|
4951
|
+
},
|
|
4952
|
+
"filters": {
|
|
4953
|
+
"searchPlaceholder": "Search skills..."
|
|
4954
|
+
},
|
|
4955
|
+
"empty": {
|
|
4956
|
+
"title": "No skills found",
|
|
4957
|
+
"description": "Create the first XP skill to start mapping competencies."
|
|
4958
|
+
},
|
|
4959
|
+
"kpis": {
|
|
4960
|
+
"total": {
|
|
4961
|
+
"label": "Total Skills",
|
|
4962
|
+
"description": "All registered skills"
|
|
4963
|
+
},
|
|
4964
|
+
"active": {
|
|
4965
|
+
"label": "Active",
|
|
4966
|
+
"description": "Currently active skills"
|
|
4967
|
+
},
|
|
4968
|
+
"inactive": {
|
|
4969
|
+
"label": "Inactive",
|
|
4970
|
+
"description": "Deactivated skills"
|
|
4971
|
+
},
|
|
4972
|
+
"unassigned": {
|
|
4973
|
+
"label": "Unassigned",
|
|
4974
|
+
"description": "Skills without an area"
|
|
4975
|
+
}
|
|
4976
|
+
},
|
|
4977
|
+
"messages": {
|
|
4978
|
+
"createSuccess": "Skill created successfully.",
|
|
4979
|
+
"updateSuccess": "Skill updated successfully.",
|
|
4980
|
+
"deleteSuccess": "Skill deleted successfully.",
|
|
4981
|
+
"saveError": "Error saving skill.",
|
|
4982
|
+
"deleteError": "Error deleting skill."
|
|
4983
|
+
},
|
|
4984
|
+
"deleteDialog": {
|
|
4985
|
+
"title": "Delete skill",
|
|
4986
|
+
"description": "Are you sure you want to delete the skill \"{slug}\"? This action cannot be undone."
|
|
4987
|
+
}
|
|
4988
|
+
},
|
|
4989
|
+
"XpLearningTypesPage": {
|
|
4990
|
+
"title": "Learning Types",
|
|
4991
|
+
"description": "Manage the types of learning activities used in XP segments.",
|
|
4992
|
+
"breadcrumbs": {
|
|
4993
|
+
"home": "Home",
|
|
4994
|
+
"lms": "LMS",
|
|
4995
|
+
"xp": "XP & Competencies",
|
|
4996
|
+
"current": "Learning Types"
|
|
4997
|
+
},
|
|
4998
|
+
"sheet": {
|
|
4999
|
+
"createTitle": "New Learning Type",
|
|
5000
|
+
"editTitle": "Edit Learning Type"
|
|
5001
|
+
},
|
|
5002
|
+
"form": {
|
|
5003
|
+
"slug": "Slug",
|
|
5004
|
+
"slugPlaceholder": "e.g. live-coding",
|
|
5005
|
+
"namePt": "Name (PT)",
|
|
5006
|
+
"namePtPlaceholder": "e.g. Codificação ao vivo",
|
|
5007
|
+
"nameEn": "Name (EN)",
|
|
5008
|
+
"nameEnPlaceholder": "e.g. Live Coding",
|
|
5009
|
+
"descriptionPt": "Description (PT)",
|
|
5010
|
+
"descriptionPtPlaceholder": "Short description in Portuguese...",
|
|
5011
|
+
"descriptionEn": "Description (EN)",
|
|
5012
|
+
"descriptionEnPlaceholder": "Short description in English...",
|
|
5013
|
+
"multiplier": "Multiplier",
|
|
5014
|
+
"multiplierPlaceholder": "e.g. 1.5",
|
|
5015
|
+
"sortOrder": "Sort Order",
|
|
5016
|
+
"status": "Status",
|
|
5017
|
+
"statusPlaceholder": "Select status",
|
|
5018
|
+
"validation": {
|
|
5019
|
+
"required": "Required field",
|
|
5020
|
+
"max100": "Maximum 100 characters",
|
|
5021
|
+
"slugPattern": "Only lowercase letters, numbers, and hyphens",
|
|
5022
|
+
"minZero": "Value must be greater than or equal to zero"
|
|
5023
|
+
}
|
|
5024
|
+
},
|
|
5025
|
+
"table": {
|
|
5026
|
+
"name": "Name",
|
|
5027
|
+
"slug": "Slug",
|
|
5028
|
+
"multiplier": "Multiplier",
|
|
5029
|
+
"status": "Status"
|
|
5030
|
+
},
|
|
5031
|
+
"status": {
|
|
5032
|
+
"active": "Active",
|
|
5033
|
+
"inactive": "Inactive"
|
|
5034
|
+
},
|
|
5035
|
+
"actions": {
|
|
5036
|
+
"create": "New Learning Type",
|
|
5037
|
+
"edit": "Edit",
|
|
5038
|
+
"delete": "Delete",
|
|
5039
|
+
"save": "Save",
|
|
5040
|
+
"saving": "Saving...",
|
|
5041
|
+
"cancel": "Cancel",
|
|
5042
|
+
"deleting": "Deleting..."
|
|
5043
|
+
},
|
|
5044
|
+
"filters": {
|
|
5045
|
+
"searchPlaceholder": "Search learning types..."
|
|
5046
|
+
},
|
|
5047
|
+
"empty": {
|
|
5048
|
+
"title": "No learning types found",
|
|
5049
|
+
"description": "Create the first learning type to categorize XP segments."
|
|
5050
|
+
},
|
|
5051
|
+
"messages": {
|
|
5052
|
+
"createSuccess": "Learning type created successfully.",
|
|
5053
|
+
"updateSuccess": "Learning type updated successfully.",
|
|
5054
|
+
"deleteSuccess": "Learning type deleted successfully.",
|
|
5055
|
+
"saveError": "Error saving learning type.",
|
|
5056
|
+
"deleteError": "Error deleting learning type."
|
|
5057
|
+
},
|
|
5058
|
+
"deleteDialog": {
|
|
5059
|
+
"title": "Delete learning type",
|
|
5060
|
+
"description": "Are you sure you want to delete the learning type \"{slug}\"? This action cannot be undone."
|
|
5061
|
+
}
|
|
4681
5062
|
}
|
|
4682
5063
|
}
|