This commit is contained in:
sajjadtalkhabi
2026-05-21 15:51:32 +03:30
parent 8990ceaddd
commit 74227d5021
71 changed files with 2014 additions and 1666 deletions
@@ -21,18 +21,13 @@
</div>
<div class="course-item__meta">
<div v-if="course.term?.title" class="course-item__pill">
<span class="course-item__pill-label">مختص به:</span>
<span class="course-item__pill-value">{{ course.term.title }}</span>
</div>
<div class="course-item__pill">
<span class="course-item__pill-label">ظرفیت:</span>
<span class="course-item__pill-value">{{ capacity || '—' }}</span>
</div>
<div v-if="course.prerequisitesCount" class="course-item__pill">
<span class="course-item__pill-label">پیشنیاز:</span>
<span class="course-item__pill-value">{{ course.prerequisitesCount }}</span>
</div>
<Badge v-if="course.term?.title" label="مختص به:" :value="course.term.title" />
<Badge label="ظرفیت:" :value="capacity || '—'" />
<Badge
v-if="course.prerequisitesCount"
label="پیش‌نیاز:"
:value="course.prerequisitesCount"
/>
</div>
<div v-if="!isActive" class="course-item__status">
@@ -82,6 +77,7 @@
<script setup>
import { computed } from 'vue'
import Badge from '@/components/Badge.vue'
import BaseButton from '@/components/BaseButton.vue'
import SvgIcon from '@/components/icons/SvgIcon.vue'
import CircleButton from '@/components/CircleButton.vue'
@@ -94,14 +90,14 @@ const props = defineProps({
const emit = defineEmits(['edit', 'delete', 'change-status', 'show-details'])
const teacherName = computed(() => {
const t = props.course.teacher || props.course.defaultTeacher
const t = props.course.teacher
if (!t) return '—'
return `${t.firstName || ''} ${t.lastName || ''}`.trim() || t.fullName || '—'
return t.name
})
const capacity = computed(() => props.course.capacity ?? props.course.defaultCapacity ?? '')
const capacity = computed(() => props.course.capacity ?? '')
const isActive = computed(() => props.course.isActive ?? props.course.isActiveByDefault ?? false)
const isActive = computed(() => props.course.isActive ?? false)
</script>
<style lang="scss" scoped>
@@ -193,28 +189,7 @@ const isActive = computed(() => props.course.isActive ?? props.course.isActiveBy
flex-wrap: wrap;
gap: 0.375rem;
flex: 1 1 33%;
justify-content: flex-end;
}
&__pill {
background: rgba(107, 107, 107, 5%);
padding: 0.25rem 1rem;
border-radius: 0.875rem;
line-height: 1.5;
white-space: nowrap;
}
&__pill-label {
font-family: var(--font-family-fa);
font-weight: 300;
font-size: 0.75rem;
color: #848484;
margin-inline-end: 0.25rem;
}
&__pill-value {
font-family: var(--font-family-en);
font-size: 0.75rem;
justify-content: flex-start;
}
&__status {