KI-Kennzeichnung: 2 Optionen im Submit-Modal + Labels auf Detailseite

Submit-Modal auf zwei Auswahloptionen reduziert (kein Label vs.
"Ganz oder ueberwiegend mit generativer KI erstellt"); alle vier
Enum-Werte bleiben fuer API/Bestand gueltig und mappen per formOption()
auf die zwei Gruppen. Oeffentliche Detailseite rendert jetzt Text-Label
("KI-generiert: Nach Angaben ...") und Bild-Badge (KI-generiert/
KI-bearbeitet, abgedunkelter Hintergrund) — fehlte dort bisher komplett.
Bildnachweis-Vorschlag ohne "Foto:"-Praefix (stand sonst doppelt).
Einreich-Toast + FAQ: automatische Pruefung in Minuten statt 24 h.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Kevin Adametz 2026-07-10 16:51:23 +00:00
parent c8836564e9
commit dc2a3443c1
13 changed files with 172 additions and 50 deletions

View file

@ -101,7 +101,7 @@ new class extends Component {
$this->resetErrorBag('newLicenseDetail');
// Automatisch erzeugte Vorschläge weichen dem Vorschlag des neuen Typs.
if ($this->newCopyright === $this->autoCopyright || str_starts_with($this->newCopyright, __('Bild: KI-generiert'))) {
if ($this->newCopyright === $this->autoCopyright || str_starts_with($this->newCopyright, __('KI-generiert'))) {
$this->newCopyright = '';
$this->autoCopyright = '';
}
@ -135,7 +135,9 @@ new class extends Component {
return;
}
$this->autoCopyright = filled($this->newAuthor) ? __('Foto: :author', ['author' => trim($this->newAuthor)]) : '';
// Ohne „Foto:"-Präfix — die Veröffentlichungsseite stellt es dem
// Bildnachweis bereits selbst voran (sonst stünde dort „Foto: Foto: …").
$this->autoCopyright = filled($this->newAuthor) ? trim($this->newAuthor) : '';
$this->newCopyright = $this->autoCopyright;
}
@ -154,11 +156,11 @@ new class extends Component {
return;
}
if (filled($this->newCopyright) && !str_starts_with($this->newCopyright, __('Bild: KI-generiert'))) {
if (filled($this->newCopyright) && !str_starts_with($this->newCopyright, __('KI-generiert'))) {
return;
}
$this->newCopyright = filled($this->newLicenseDetail) ? __('Bild: KI-generiert (:tool)', ['tool' => trim($this->newLicenseDetail)]) : __('Bild: KI-generiert');
$this->newCopyright = filled($this->newLicenseDetail) ? __('KI-generiert (:tool)', ['tool' => trim($this->newLicenseDetail)]) : __('KI-generiert');
}
public function closeUploadForm(): void
@ -214,7 +216,7 @@ new class extends Component {
]),
],
[
'newCopyright.required' => __('Bitte einen öffentlichen Bildnachweis angeben, z. B. Foto: Max Mustermann / Beispiel GmbH.'),
'newCopyright.required' => __('Bitte einen öffentlichen Bildnachweis angeben, z. B. Max Mustermann / Beispiel GmbH.'),
'newAuthor.required' => $isAiGenerated ? __('Bitte angeben, wer für die Erstellung verantwortlich ist (Person oder Firma).') : __('Bitte Urheber, Fotograf oder Rechteinhaber angeben.'),
'newLicenseType.required' => __('Bitte einen Lizenztyp wählen.'),
'newLicenseDetail.required' => $isAiGenerated ? __('Bitte das verwendete KI-Tool angeben, z. B. Midjourney, Gemini, ChatGPT, DALL·E, Adobe Firefly.') : __('Bitte die Lizenz genauer angeben.'),
@ -624,8 +626,8 @@ new class extends Component {
<flux:input wire:model="newCopyright" :label="__('Öffentlicher Bildnachweis')"
:badge="__('Pflicht')"
:description="__('Wird öffentlich unter dem Bild angezeigt — Vorschlag anpassbar.')"
:placeholder="__('z. B. Foto: Max Mustermann / Beispiel GmbH')" required />
:description="__('Wird öffentlich unter dem Bild angezeigt („Foto: …") — Vorschlag anpassbar.')"
:placeholder="__('z. B. Max Mustermann / Beispiel GmbH')" required />
</section>
{{-- ===== Schritt 3 · Personen & Rechte Dritter ===== --}}