From cf3bd3cd6d43ffaff774cc329faac01fc3174da7 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Thu, 13 Nov 2025 12:12:49 +0100 Subject: [PATCH] Enhance member training participation tracking and UI feedback This commit adds functionality to track training participations for members in the backend, updating the MemberService to include a count of training participations. The frontend components, DiaryView and MembersView, have been updated to display warning icons based on the number of training participations, providing visual feedback for members with significant participation. CSS styles for warning icons have also been refined to improve visibility and user experience. --- backend/services/memberService.js | 15 +++++++++++++++ frontend/src/views/DiaryView.vue | 29 +++++++++++++++++++++++++++-- frontend/src/views/MembersView.vue | 21 +++++++++++++++++++-- 3 files changed, 61 insertions(+), 4 deletions(-) diff --git a/backend/services/memberService.js b/backend/services/memberService.js index 8f2da14..1010a5d 100644 --- a/backend/services/memberService.js +++ b/backend/services/memberService.js @@ -70,6 +70,21 @@ class MemberService { })); } + // Berechne Trainingsteilnahmen + const trainingParticipations = await Participant.count({ + include: [{ + model: DiaryDate, + as: 'diaryDate', + where: { + clubId: clubId + } + }], + where: { + memberId: member.id + } + }); + memberJson.trainingParticipations = trainingParticipations; + const imageData = await this._prepareMemberImages(member, { forceReload: true }); memberJson.images = imageData.images; memberJson.primaryImageId = imageData.primaryImageId; diff --git a/frontend/src/views/DiaryView.vue b/frontend/src/views/DiaryView.vue index f18a90a..2977401 100644 --- a/frontend/src/views/DiaryView.vue +++ b/frontend/src/views/DiaryView.vue @@ -389,11 +389,15 @@ - {{ + + 🛑 + ⚠️ + {{ member ? member.firstName : '' }} {{ member ? member.lastName : '' - }} + }} +