@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user