From bdbbb88be9c0b91ec390a2bba71d442ff3898392 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Wed, 26 Nov 2025 17:15:42 +0100 Subject: [PATCH] Enhance MemberGalleryDialog to manage initial load state for gallery members. Introduce isInitialLoad flag to control gallery member loading behavior, ensuring size updates only occur on the first load. Reset isInitialLoad on dialog close for consistent state management. --- frontend/src/components/MemberGalleryDialog.vue | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/frontend/src/components/MemberGalleryDialog.vue b/frontend/src/components/MemberGalleryDialog.vue index eaa7f10..93e4f50 100644 --- a/frontend/src/components/MemberGalleryDialog.vue +++ b/frontend/src/components/MemberGalleryDialog.vue @@ -79,12 +79,14 @@ export default { galleryImageUrl: null, galleryError: '', gallerySize: 200, - galleryMembers: [] + galleryMembers: [], + isInitialLoad: true }; }, watch: { modelValue(newVal) { if (newVal) { + this.isInitialLoad = true; this.loadGalleryMembers(); } else { this.handleClose(); @@ -114,9 +116,12 @@ export default { const response = await apiClient.get(`/clubmembers/gallery/${this.currentClub}?format=json&size=${this.gallerySize}`); const members = response.data.members || []; - // Setze Größe basierend auf Anzahl der Mitglieder (vor dem Laden der Bilder) - this.galleryMembers = members; // Temporär setzen für count - this.updateGallerySizeBasedOnCount(); + // Setze Größe basierend auf Anzahl der Mitglieder nur beim ersten Laden + if (this.isInitialLoad) { + this.galleryMembers = members; // Temporär setzen für count + this.updateGallerySizeBasedOnCount(); + this.isInitialLoad = false; + } // Lade Bilder als Blobs und erstelle ObjectURLs this.galleryMembers = await Promise.all(members.map(async (member) => { @@ -193,6 +198,7 @@ export default { } }); this.galleryMembers = []; + this.isInitialLoad = true; this.$emit('update:modelValue', false); }, handleGalleryMemberClick(member) {