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) {