Project-Image-Uploader/backend/src/routes
matthias.lotz 4b9feec887 Refactor: Create modular component architecture for ManagementPortalPage
- Created new modular components:
  * ConsentManager: Manages workshop + social media consents with individual save
  * GroupMetadataEditor: Manages group metadata (title, description, name, year) with save
  * ImageDescriptionManager: Manages image descriptions with batch save
  * DeleteGroupButton: Standalone group deletion component

- Refactored ManagementPortalPage to use modular components:
  * Each component in Paper box with heading inside (not outside)
  * HTML buttons with CSS classes (btn btn-success, btn btn-secondary)
  * Inline feedback with Material-UI Alert instead of SweetAlert2 popups
  * Icons: 💾 save, ↩ discard, 🗑️ delete
  * Individual save/discard functionality per component

- Enhanced ConsentCheckboxes component:
  * Added children prop for flexible composition
  * Conditional heading for manage mode inside Paper box

- Fixed DescriptionInput:
  * Removed duplicate heading (now only in parent component)

- React state management improvements:
  * Deep copy pattern for nested objects/arrays
  * Sorted array comparison for order-insensitive change detection
  * Set-based comparison for detecting removed items
  * Initialization guard to prevent useEffect overwrites

- Bug fixes:
  * Fixed image reordering using existing /api/groups/:groupId/reorder route
  * Fixed edit mode toggle with unsaved changes warning
  * Fixed consent state updates with proper object references
  * Fixed uploadImageBatch signature to use object destructuring
  * Removed unnecessary /api/manage/:token/reorder route from backend

Next: Apply same modular pattern to MultiUploadPage and ModerationGroupImagesPage
2025-11-15 17:25:51 +01:00
..
admin.js feat(phase2): Implement Management Audit-Log (Task 10) 2025-11-11 21:12:07 +01:00
batchUpload.js feat(phase2): Implement Management Portal API (Tasks 2-7) 2025-11-10 20:00:54 +01:00
consent.js fix(phase2): Fix API routes and filter logic (Issues 6 & 7) 2025-11-13 20:22:22 +01:00
download.js IMP: Eigene Verzeichnisse für Uploads und Datenbank 2025-10-18 14:23:12 +02:00
groups.js fix(phase2): Fix API routes and filter logic (Issues 6 & 7) 2025-11-13 20:22:22 +01:00
index.js feat(phase2): Implement Management Portal API (Tasks 2-7) 2025-11-10 20:00:54 +01:00
management.js Refactor: Create modular component architecture for ManagementPortalPage 2025-11-15 17:25:51 +01:00
migration.js Initial Commit 2025-10-15 21:33:00 +02:00
reorder.js feat: implement drag-and-drop reordering infrastructure 2025-11-03 21:06:39 +01:00
upload.js Fix batch upload and attempt nginx auth setup 2025-11-06 18:28:32 +01:00