Skip to content

Commit 273f263

Browse files
committed
fix: enrollment history tab
1 parent 9c2576c commit 273f263

File tree

2 files changed

+18
-16
lines changed

2 files changed

+18
-16
lines changed

frontend-v2/src/pages/class-detail/EnrollmentHistoryTab.tsx

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,21 +25,19 @@ export function EnrollmentHistoryTab({ classId }: EnrollmentHistoryTabProps) {
2525
const [timeFilter, setTimeFilter] = useState<TimeFilter>('all');
2626

2727
const { data: enrollmentResp } = useSWR<ServerResponseMany<ClassEnrollment>>(
28-
`/api/program-classes/${classId}/enrollments?status=all`
28+
`/api/program-classes/${classId}/enrollments?status=not_enrolled&per_page=1000`
2929
);
3030

3131
const historicalEnrollments = useMemo(() => {
32-
return (enrollmentResp?.data ?? [])
33-
.filter((e) => e.enrollment_status !== EnrollmentStatus.Enrolled)
34-
.sort((a, b) => {
35-
const dateA = a.completion_dt
36-
? new Date(a.completion_dt).getTime()
37-
: 0;
38-
const dateB = b.completion_dt
39-
? new Date(b.completion_dt).getTime()
40-
: 0;
41-
return dateB - dateA;
42-
});
32+
return (enrollmentResp?.data ?? []).sort((a, b) => {
33+
const dateA = new Date(
34+
a.enrollment_ended_at ?? a.completion_dt ?? a.updated_at
35+
).getTime();
36+
const dateB = new Date(
37+
b.enrollment_ended_at ?? b.completion_dt ?? b.updated_at
38+
).getTime();
39+
return dateB - dateA;
40+
});
4341
}, [enrollmentResp]);
4442

4543
const filtered = useMemo(() => {
@@ -60,8 +58,9 @@ export function EnrollmentHistoryTab({ classId }: EnrollmentHistoryTabProps) {
6058
};
6159
cutoff.setDate(cutoff.getDate() - (daysMap[timeFilter] ?? 0));
6260
result = result.filter((e) => {
63-
if (!e.completion_dt) return false;
64-
return new Date(e.completion_dt) >= cutoff;
61+
const dt =
62+
e.enrollment_ended_at ?? e.completion_dt ?? e.updated_at;
63+
return new Date(dt) >= cutoff;
6564
});
6665
}
6766

@@ -193,7 +192,8 @@ export function EnrollmentHistoryTab({ classId }: EnrollmentHistoryTabProps) {
193192
</span>
194193
</div>
195194
)}
196-
{enrollment.completion_dt && (
195+
{(enrollment.enrollment_ended_at ??
196+
enrollment.completion_dt) && (
197197
<div className="flex gap-2">
198198
<span className="font-medium">
199199
{enrollment.enrollment_status ===
@@ -203,7 +203,8 @@ export function EnrollmentHistoryTab({ classId }: EnrollmentHistoryTabProps) {
203203
</span>
204204
<span>
205205
{new Date(
206-
enrollment.completion_dt
206+
enrollment.enrollment_ended_at ??
207+
enrollment.completion_dt!
207208
).toLocaleDateString()}
208209
</span>
209210
</div>

frontend-v2/src/types/attendance.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ export interface ClassEnrollment {
7171
doc_id: string;
7272
completion_dt?: string;
7373
enrolled_at?: string;
74+
enrollment_ended_at?: string;
7475
}
7576

7677
export interface AttendanceFlag {

0 commit comments

Comments
 (0)