Files
banu-front/src/services/mock/fixtures/admin-terms.js
T
sajjadtalkhabi 8990ceaddd fix: design
2026-05-19 22:53:05 +03:30

88 lines
2.4 KiB
JavaScript

// Each term carries both the spec keys (title/description/is_active/
// starts_at/ends_at/cover_url/created_at — camelized) and the UI-only
// keys the current frontend reads (image, startDate, endDate,
// studentsCount, coursesCount). See docs/backend-api-todo.md.
const makeTerm = (overrides) => {
const startsAt = overrides.startsAt ?? overrides.startDate ?? ''
const endsAt = overrides.endsAt ?? overrides.endDate ?? ''
const coverUrl = overrides.coverUrl ?? overrides.image ?? ''
return {
// --- spec ---
id: overrides.id,
title: overrides.title ?? '',
description: overrides.description ?? '',
isActive: overrides.isActive ?? true,
startsAt,
endsAt,
coverUrl,
createdAt: overrides.createdAt ?? '',
// --- ui-only ---
image: coverUrl,
startDate: startsAt,
endDate: endsAt,
studentsCount: overrides.studentsCount ?? 0,
coursesCount: overrides.coursesCount ?? 0,
}
}
export const adminTerms = [
makeTerm({
id: 1,
title: 'ترم پاییز ۱۴۰۴',
description: 'ترم پاییز با محوریت آموزش معارف اسلامی.',
coverUrl: 'https://picsum.photos/seed/term1/200/200',
startsAt: '2025-09-23T00:00:00.000Z',
endsAt: '2026-01-20T00:00:00.000Z',
isActive: true,
studentsCount: 18,
coursesCount: 4,
createdAt: '2025-08-01T08:00:00.000Z',
}),
makeTerm({
id: 2,
title: 'ترم زمستان ۱۴۰۴',
description: 'ترم زمستان با تمرکز بر فقه و اصول.',
coverUrl: 'https://picsum.photos/seed/term2/200/200',
startsAt: '2026-01-21T00:00:00.000Z',
endsAt: '2026-04-20T00:00:00.000Z',
isActive: true,
studentsCount: 12,
coursesCount: 3,
createdAt: '2025-11-10T08:00:00.000Z',
}),
makeTerm({
id: 3,
title: 'ترم بهار ۱۴۰۵',
description: 'ترم بهار ویژه دوره‌های تخصصی.',
coverUrl: '',
startsAt: '2026-04-21T00:00:00.000Z',
endsAt: '2026-08-21T00:00:00.000Z',
isActive: false,
studentsCount: 0,
coursesCount: 2,
createdAt: '2026-02-15T08:00:00.000Z',
}),
]
export { makeTerm }
export const termStudentLinks = new Map([
[
1,
[
{ userId: 100, isOnLeave: false },
{ userId: 101, isOnLeave: false },
{ userId: 102, isOnLeave: true },
{ userId: 103, isOnLeave: false },
],
],
[
2,
[
{ userId: 104, isOnLeave: false },
{ userId: 105, isOnLeave: false },
],
],
])