diff --git a/backend/src/list/list.service.ts b/backend/src/list/list.service.ts index 704f684..fa3a8b0 100644 --- a/backend/src/list/list.service.ts +++ b/backend/src/list/list.service.ts @@ -97,9 +97,10 @@ export class ListService { }); if (!uw) throw new NotFoundException('Entry not found'); + const wasAlreadyCompleted = uw.status === ListStatus.COMPLETED; uw.status = status; - if (status === ListStatus.COMPLETED) { - uw.completedAt = new Date(); + if (status === ListStatus.COMPLETED && !wasAlreadyCompleted) { + uw.completedAt = uw.completedAt || new Date(); await this.userService.addXp(userId, XP_COMPLETE); }