diff --git a/src/views/account/MyClassesView.vue b/src/views/account/MyClassesView.vue
index a1aae5e..050a0eb 100644
--- a/src/views/account/MyClassesView.vue
+++ b/src/views/account/MyClassesView.vue
@@ -49,6 +49,14 @@
پایان
{{ formatJalali(item.endDate) }}
+
+
روزها
+ {{ formatClassDays(item.days) }}
+
+
+
ساعت
+ {{ formatClassTime(item.startTime, item.endTime) }}
+
شهریه
{{ formatPrice(item.tuitionFee) }}
@@ -65,6 +73,39 @@ import { RouterLink } from 'vue-router'
import { classesApi } from '@/api/classesApi'
import { formatJalali, formatPrice, getApiErrorMessage } from '@/utils/format'
+const WEEKDAY_LABELS = {
+ 0: 'یکشنبه',
+ 1: 'دوشنبه',
+ 2: 'سهشنبه',
+ 3: 'چهارشنبه',
+ 4: 'پنجشنبه',
+ 5: 'جمعه',
+ 6: 'شنبه'
+}
+const IRAN_WEEK_ORDER = [6, 0, 1, 2, 3, 4, 5]
+
+function joinFaList(items) {
+ if (!items.length) return '—'
+ if (items.length === 1) return items[0]
+ if (items.length === 2) return `${items[0]} و ${items[1]}`
+ return `${items.slice(0, -1).join('، ')} و ${items[items.length - 1]}`
+}
+
+function formatClassDays(days = []) {
+ const unique = [...new Set((days || []).map(Number).filter((day) => day >= 0 && day <= 6))]
+ unique.sort((a, b) => IRAN_WEEK_ORDER.indexOf(a) - IRAN_WEEK_ORDER.indexOf(b))
+ return joinFaList(unique.map((day) => WEEKDAY_LABELS[day]).filter(Boolean))
+}
+
+function formatClassTime(startTime, endTime) {
+ const start = String(startTime || '').trim()
+ const end = String(endTime || '').trim()
+ if (!start && !end) return '—'
+ if (!end) return start
+ if (!start) return end
+ return `${start} – ${end}`
+}
+
const classes = ref([])
const loading = ref(true)
const error = ref('')
@@ -134,7 +175,7 @@ onMounted(load)
.meta-grid {
display: grid;
- grid-template-columns: repeat(4, minmax(0, 1fr));
+ grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 0.85rem;
margin: 0;
}