Fix admin AI nav bug, add rescan feature

- Fix Blade parse error in admin AI settings (Blade was interpreting
  JSON braces in DEFAULT_PROMPT as template tags, breaking the navbar)
  — pass defaultPrompt from controller instead
- Add rescan: POST /nail-polishes/{id}/rescan creates a new import for
  an existing nail polish and updates its fields after AI analysis
- Add KI-Rescan button on collection cards (only if image exists)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Housemann
2026-06-13 18:22:41 +02:00
co-authored by Claude Sonnet 4.6
parent f60221d0ef
commit 9861a74e1e
6 changed files with 57 additions and 19 deletions
+24 -14
View File
@@ -61,22 +61,32 @@ class ProcessNailPolishImage implements ShouldQueue
);
}
// Nagellack-Nummer eindeutig machen falls nötig
$number = $data['number'] ?? ('import-' . $this->importId);
if (NailPolish::where('number', $number)->exists()) {
$number .= '-' . $this->importId;
// Rescan: bestehenden Lack updaten
if ($import->nail_polish_id) {
$nailPolish = NailPolish::findOrFail($import->nail_polish_id);
$nailPolish->update([
'name' => $data['name'] ?? $nailPolish->name,
'number' => $data['number'] ?? $nailPolish->number,
'manufacturer_id' => $manufacturer?->id ?? $nailPolish->manufacturer_id,
]);
} else {
// Neuen Lack anlegen
$number = $data['number'] ?? ('import-' . $this->importId);
if (NailPolish::where('number', $number)->exists()) {
$number .= '-' . $this->importId;
}
$nailPolish = NailPolish::create([
'name' => $data['name'] ?? 'Unbekannt',
'number' => $number,
'manufacturer_id' => $manufacturer?->id,
'image_path' => $import->image_path,
]);
// Zur Sammlung des Users hinzufügen
$import->user->nailPolishes()->syncWithoutDetaching([$nailPolish->id]);
}
$nailPolish = NailPolish::create([
'name' => $data['name'] ?? 'Unbekannt',
'number' => $number,
'manufacturer_id' => $manufacturer?->id,
'image_path' => $import->image_path,
]);
// Zur Sammlung des Users hinzufügen
$import->user->nailPolishes()->syncWithoutDetaching([$nailPolish->id]);
$import->update([
'status' => 'done',
'result' => $data,