Enhance member gallery generation with customizable image size selection

This commit updates the member gallery generation feature by allowing users to specify the image size through the frontend. The DiaryView component now includes a dropdown for selecting image dimensions (100x100, 150x150, 200x200), which is passed to the backend for processing. The memberService has been modified to validate the size parameter, ensuring only allowed dimensions are used. These changes improve user experience by providing flexibility in gallery display options.
This commit is contained in:
Torsten Schulz (local)
2025-11-12 10:05:08 +01:00
parent 98c50bc03a
commit 8ef4e1dc9d
3 changed files with 58 additions and 6 deletions

View File

@@ -1070,10 +1070,14 @@ class MemberService {
}
}
async generateMemberGallery(userToken, clubId) {
async generateMemberGallery(userToken, clubId, size = 200) {
try {
await checkAccess(userToken, clubId);
// Validiere und setze tileDimension (nur 100, 150, 200 erlaubt)
const validSizes = [100, 150, 200];
const tileDimension = validSizes.includes(size) ? size : 200;
const members = await Member.findAll({
where: {
clubId,
@@ -1130,8 +1134,6 @@ class MemberService {
error: 'Keine aktiven Mitglieder mit Bildern gefunden'
};
}
const tileDimension = 200;
// Maximale Breite für die Galerie (Dialog-Breite 900px - 32px Padding = 868px)
const maxGalleryWidth = 868;
// Berechne maximale Anzahl Spalten, die in die Breite passen