Fotoupload im Personenformular ergänzen und Initialen-Platzhalter aussortieren

Fotofeld mit Dateiauswahl, Einfügen per Strg+V, Zwischenablage-Schaltfläche
und Drag & Drop; sichtbarer Foto-Button je Zeile. Foto wird beim Anlegen
oder Speichern übernommen bzw. entfernt.

Nextcloud meldet generierte Initialen-Avatare teils als eigene Profilbilder.
Der Import erkennt Bilder mit dominanter Hintergrundfarbe und lässt sie aus;
„Platzhalter-Fotos entfernen" bereinigt bereits importierte.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
ferdi2goandClaude Fable 5.1 committed 2026-09-16 09:57:54 +00:00
1 parent 8a0f903a40
commit 9ed59bcf56
6 files changed
+295 -7

No files matched your search

+16
View File
@@ -64,6 +64,18 @@
<label>Nachname <input name="lastName" required maxlength="60"></label>
<label>E-Mail (optional, für Kalendereinladungen) <input name="email" type="email" maxlength="120"></label>
<label>Notiz / Grund (optional) <input name="note" maxlength="300" placeholder="z. B. Azubi, nur Nebenmoderation"></label>
<div class="photo-field wide" id="photo-field" tabindex="0" aria-label="Foto: Datei ablegen oder mit Strg+V einfügen">
<span class="avatar plain photo-preview" id="photo-preview" aria-hidden="true"></span>
<div class="photo-text">
<strong>Foto</strong>
<span id="photo-status" class="hint">Kein Foto. Datei wählen, hierher ziehen oder mit Strg+V aus der Zwischenablage einfügen.</span>
<div class="photo-actions">
<button type="button" id="photo-choose">Datei wählen</button>
<button type="button" id="photo-paste" class="ghost">Aus Zwischenablage einfügen</button>
<button type="button" id="photo-clear" class="ghost" hidden>Foto entfernen</button>
</div>
</div>
</div>
<fieldset class="checks">
<legend>Rolle in der Rotation</legend>
<label><input type="checkbox" name="canMain" checked> Hauptmoderation möglich</label>
@@ -86,6 +98,10 @@
<button type="button" id="open-contacts">Aus Nextcloud importieren …</button>
</div>
</form>
<div class="list-tools">
<button type="button" class="ghost" id="remove-placeholders">Platzhalter-Fotos entfernen</button>
<span class="hint" id="placeholder-hint"></span>
</div>
<ul id="person-list" class="person-list"></ul>
<input type="file" id="photo-input" accept="image/*" hidden>
</section>