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

@ -336,20 +336,21 @@ test('a valid ai generated upload stores tool and ai flag', function () {
expect($image->is_ai_generated)->toBeTrue();
// Lizenztyp „KI-generiert" setzt die KI-Kennzeichnung automatisch.
expect($image->ai_declaration)->toBe(AiImageDeclaration::AiGenerated);
expect($image->copyright)->toBe('Bild: KI-generiert (Midjourney v7)');
expect($image->copyright)->toBe('KI-generiert (Midjourney v7)');
});
test('the copyright suggestion follows the author but respects manual input', function () {
/** @var TestCase $this */
// Ohne „Foto:"-Präfix — den stellt die Veröffentlichungsseite selbst voran.
['owner' => $owner, 'pr' => $pr] = makeImageDraftOwner();
$this->actingAs($owner);
LivewireVolt::test('components.press-release-images-manager', ['pressReleaseId' => $pr->id])
->set('newLicenseType', ImageLicenseType::Own->value)
->set('newAuthor', 'Jane Doe')
->assertSet('newCopyright', 'Foto: Jane Doe')
->assertSet('newCopyright', 'Jane Doe')
->set('newAuthor', 'John Smith')
->assertSet('newCopyright', 'Foto: John Smith')
->assertSet('newCopyright', 'John Smith')
->set('newCopyright', 'Eigener Nachweis')
->set('newAuthor', 'Jane Doe')
->assertSet('newCopyright', 'Eigener Nachweis');
@ -363,11 +364,11 @@ test('switching to ai replaces an automatically suggested author copyright', fun
LivewireVolt::test('components.press-release-images-manager', ['pressReleaseId' => $pr->id])
->set('newLicenseType', ImageLicenseType::Own->value)
->set('newAuthor', 'Jane Doe')
->assertSet('newCopyright', 'Foto: Jane Doe')
->assertSet('newCopyright', 'Jane Doe')
->set('newLicenseType', ImageLicenseType::AiGenerated->value)
->assertSet('newCopyright', 'Bild: KI-generiert')
->assertSet('newCopyright', 'KI-generiert')
->set('newLicenseType', ImageLicenseType::Own->value)
->assertSet('newCopyright', 'Foto: Jane Doe');
->assertSet('newCopyright', 'Jane Doe');
});
test('the ai copyright suggestion follows the tool but respects manual input', function () {
@ -377,9 +378,9 @@ test('the ai copyright suggestion follows the tool but respects manual input', f
LivewireVolt::test('components.press-release-images-manager', ['pressReleaseId' => $pr->id])
->set('newLicenseType', ImageLicenseType::AiGenerated->value)
->assertSet('newCopyright', 'Bild: KI-generiert')
->assertSet('newCopyright', 'KI-generiert')
->set('newLicenseDetail', 'DALL·E 3')
->assertSet('newCopyright', 'Bild: KI-generiert (DALL·E 3)')
->assertSet('newCopyright', 'KI-generiert (DALL·E 3)')
->set('newCopyright', 'Eigener Nachweis')
->set('newLicenseDetail', 'Midjourney v7')
->assertSet('newCopyright', 'Eigener Nachweis');