fix: education
Deploy banu-front / deploy (push) Successful in 1m21s

This commit is contained in:
sajjadtalkhabi
2026-05-28 19:49:00 +03:30
parent 9660e3fe8f
commit d42b7aaa7b
27 changed files with 362 additions and 219 deletions
@@ -25,8 +25,8 @@
<div class="session-form__main-col">
<LineTitleBlock title="اطلاعات جلسه" title-en="Session Details" />
<!-- row 1 — title / startsAt / endsAt -->
<div class="session-form__row session-form__row--three">
<!-- row 1 — title -->
<div class="session-form__row">
<TextField
v-model="form.title"
name="title"
@@ -38,34 +38,10 @@
<SvgIcon name="book" :size="20" color="var(--color-thd-gray)" />
</template>
</TextField>
<DatePickerField
v-model="form.startsAt"
name="startsAt"
label="زمان شروع"
type="datetime"
:error="errors.startsAt"
@blur="validateAt('startsAt', form.startsAt)"
/>
<DatePickerField
v-model="form.endsAt"
name="endsAt"
label="زمان پایان"
type="datetime"
:error="errors.endsAt"
/>
</div>
<!-- row 2 — durationMinutes / courseId / contentType -->
<div class="session-form__row session-form__row--three">
<TextField
v-model="form.durationMinutes"
name="durationMinutes"
label="مدت زمان جلسه (دقیقه)"
inputmode="numeric"
:convert-digits="true"
:error="errors.durationMinutes"
@blur="validateAt('durationMinutes', form.durationMinutes)"
/>
<!-- row 2 — courseId / contentType -->
<div class="session-form__row session-form__row--two">
<SelectField
v-model="form.courseId"
name="courseId"
@@ -184,7 +160,6 @@ import { objectToFormData } from '@/utils/object-to-formdata'
import { useUploadMediaMutation } from '@/services/query/auth'
import TextareaField from '@/components/form/TextareaField.vue'
import { sessionSchema } from '@/features/admin/sessions/schema'
import DatePickerField from '@/components/form/DatePickerField.vue'
import { useAdminCoursesListQuery } from '@/services/query/admin-courses'
import BoxedIconTitleBlock from '@/components/blocks/BoxedIconTitleBlock.vue'
import { COURSE_CONTENT_TYPE, COURSE_CONTENT_TYPE_ACCEPT, SESSION_TYPE } from '@/enums'
@@ -214,9 +189,6 @@ const contentTypeOptions = Object.entries(COURSE_CONTENT_TYPE).map(([value, labe
const form = ref({
title: '',
startsAt: '',
endsAt: '',
durationMinutes: '',
courseId: '',
contentType: '',
type: '',
@@ -274,9 +246,6 @@ watch(
const contentType = collectionToContentType(contentMedia?.collectionName)
form.value = {
title: session.title ?? '',
startsAt: session.startsAt ?? '',
endsAt: session.endsAt ?? '',
durationMinutes: session.durationMinutes ?? '',
courseId: session.course?.id ?? '',
contentType,
type: session.type ?? '',
@@ -359,9 +328,6 @@ const buildPayload = (values) => {
const mediaIds = [coverMediaId.value, contentMediaId.value].filter((id) => id != null)
const payload = {
title: values.title,
startsAt: values.startsAt,
endsAt: values.endsAt,
durationMinutes: values.durationMinutes,
courseId: values.courseId,
type: values.type,
link: values.type === 'online' ? values.link : undefined,