Vertretungs-Foto: extras (photoB64 + offlinePhotoB64) berücksichtigen

Foto-Auflösung für Vertretungen prüft nun auch manuelle Uploads
und synchronisierte Server-Fotos aus extras, nicht nur sub.photoUrl
und Mitglieder-Match. Ines-Benedict-Fall (Foto nur als Base64 in
extras) wird jetzt korrekt aufgelöst.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Christian Heubaum
2026-07-03 00:48:12 +02:00
parent 68adca35e5
commit 24808e35f6

View File

@@ -2686,8 +2686,12 @@ function getDisplayData(presenter) {
const sub = state.substitutes[presenter.id]; const sub = state.substitutes[presenter.id];
let resolvedSub = null; let resolvedSub = null;
if (sub && sub.name) { if (sub && sub.name) {
// If substitute has no photo, try to find them as a chapter member // Foto-Auflösung Vertretung: explizit → manueller Upload (extras) → Server-Sync (extras) → Mitglieder-Match
let photoUrl = sub.photoUrl || ''; let photoUrl = sub.photoUrl || '';
if (!photoUrl) {
const subEx = loadExtras()[extrasKey(sub.name)] || {};
photoUrl = subEx.photoB64 || subEx.offlinePhotoB64 || '';
}
if (!photoUrl) { if (!photoUrl) {
const match = state.members.find(m => const match = state.members.find(m =>
m.name.toLowerCase().trim() === sub.name.toLowerCase().trim() m.name.toLowerCase().trim() === sub.name.toLowerCase().trim()