feat: education
Deploy banu-front / deploy (push) Failing after 6s

This commit is contained in:
sajjadtalkhabi
2026-06-11 21:09:12 +03:30
parent 020a47f735
commit 4011c2f83b
18 changed files with 558 additions and 35 deletions
@@ -15,7 +15,9 @@
<div class="ssd__prompt">
<SvgIcon name="warning" :size="22" color="#b8b8b8" class="ssd__prompt-icon" />
<p class="ssd__prompt-text">
{{ session?.homeworkPrompt || 'متنی برای این جلسه ثبت نشده است.' }}
{{
session?.homeworkPrompt || homework?.description || 'متنی برای این جلسه ثبت نشده است.'
}}
</p>
</div>
@@ -69,7 +71,7 @@
<div class="ssd__hint">
<SvgIcon name="warning" :size="22" color="#b8b8b8" />
<p class="ssd__hint-text">
{{ session?.homeworkHint || '' }}
{{ session?.homeworkHint || homework?.title || '' }}
</p>
</div>
@@ -103,6 +105,7 @@ import ImageUploader from '@/components/form/ImageUploader.vue'
import VideoPlayerBlock from '@/components/blocks/VideoPlayerBlock.vue'
import BoxedIconTitleBlock from '@/components/blocks/BoxedIconTitleBlock.vue'
import SkeletonLoaderBlock from '@/components/blocks/SkeletonLoaderBlock.vue'
import { useStudentHomeworksListQuery } from '@/services/query/student-homeworks'
import {
useStudentSessionQuery,
useSubmitStudentHomeworkMutation,
@@ -116,6 +119,15 @@ const { data: session, isLoading } = useStudentSessionQuery(sessionId, {
enabled: () => !!sessionId.value,
})
// The homework for this session comes from the dedicated endpoint (the session
// payload itself doesn't embed homeworks).
const homeworkFilters = computed(() => ({ sessionId: sessionId.value }))
const homeworkPagination = ref({ page: 1, perPage: 20 })
const { data: homeworksData } = useStudentHomeworksListQuery(homeworkFilters, homeworkPagination, {
enabled: () => !!sessionId.value,
})
const homework = computed(() => (homeworksData.value?.data ?? [])[0] ?? null)
const contentKind = computed(() => {
const s = session.value
if (!s) return ''
@@ -135,7 +147,9 @@ const canSubmit = computed(() => !!(homeworkAudio.value || homeworkImage.value))
const submitMutation = useSubmitStudentHomeworkMutation()
const uploadMediaMutation = useUploadMediaMutation()
const homeworkId = computed(() => session.value?.homeworkId ?? session.value?.homework?.id ?? null)
const homeworkId = computed(
() => homework.value?.id ?? session.value?.homeworkId ?? session.value?.homework?.id ?? null
)
const uploadHomeworkFile = async (file) => {
const fd = objectToFormData({ file, purpose: 'homework_file', context: 'homework' })