feat: add reusable app-file-upload component with drag-and-drop and preview
Replace bare <input type="file"> across all upload locations with a card-based dropzone component via shared partial. Three visual states: current server file (thumbnail + Replace/Delete), empty dropzone, and pending file preview (local FileReader thumbnail + metadata). Delete actions use data-confirm-message for confirmation dialog. Centralized as templates/partials/app-file-upload.phtml to prevent markup drift — documented as deliberate exception to plain-HTML inputs convention in CLAUDE.md and developer checklist. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1430,5 +1430,10 @@
|
||||
"Username or password not valid": "Benutzername oder Passwort ungültig",
|
||||
"Write-only. Leave empty to keep current value.": "Nur Schreibzugriff. Leer lassen, um den aktuellen Wert beizubehalten.",
|
||||
"Your account is deactivated.": "Ihr Konto ist deaktiviert.",
|
||||
"LDAP": "LDAP"
|
||||
"LDAP": "LDAP",
|
||||
"Drop file here or click to select": "Datei hierher ziehen oder klicken",
|
||||
"Remove selected file": "Ausgewaehlte Datei entfernen",
|
||||
"Replace": "Ersetzen",
|
||||
"Delete this image?": "Dieses Bild löschen?",
|
||||
"Current image": "Aktuelles Bild"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user