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
@@ -3,6 +3,7 @@
namespace App\Http\Controllers;
use App\Jobs\ProcessNailPolishImage;
use App\Models\NailPolish;
use App\Models\NailPolishImport;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
@@ -63,9 +64,25 @@ class NailPolishImportController extends Controller
public function show(NailPolishImport $nailPolishImport)
{
// Nur eigene Imports ansehen
abort_if($nailPolishImport->user_id !== auth()->id(), 403);
return view('nail-polish-imports.show', ['import' => $nailPolishImport->load('nailPolish.manufacturer')]);
}
public function rescan(NailPolish $nailPolish)
{
abort_unless($nailPolish->image_path, 404);
$import = NailPolishImport::create([
'user_id' => auth()->id(),
'image_path' => $nailPolish->image_path,
'status' => 'pending',
'nail_polish_id' => $nailPolish->id,
]);
ProcessNailPolishImage::dispatch($import->id);
return redirect()->route('nail-polish-imports.show', $import)
->with('success', 'KI-Analyse gestartet. Die Daten werden aktualisiert.');
}
}