label('AI: sugerează diagnostic') ->icon('heroicon-m-sparkles') ->color('primary') ->visible(fn () => ! empty($this->record->complaint)) ->modalHeading('Diagnostic AI bazat pe plângerea clientului') ->modalSubmitAction(false) ->modalCancelActionLabel('Închide') ->modalContent(function () { [$reply, $meta] = app(\App\Services\Ai\AiAssistantService::class) ->suggestDiagnosis($this->record); return view('filament.tenant.ai-reply', ['reply' => $reply, 'meta' => $meta]); }), Actions\Action::make('tracking') ->label('Link client (QR)') ->icon('heroicon-m-qr-code') ->color('primary') ->modalHeading(fn () => 'Tracking client — WO #' . $this->record->number) ->modalSubmitAction(false) ->modalCancelActionLabel('Închide') ->modalContent(fn () => view('filament.tenant.tracking-qr', [ 'wo' => $this->record, ])), Actions\Action::make('pdf') ->label('Descarcă PDF') ->icon('heroicon-m-document-arrow-down') ->color('gray') ->action(function () { /** @var WorkOrder $wo */ $wo = $this->record; $svc = app(WorkOrderPdfService::class); $pdf = $svc->generate($wo); return response()->streamDownload( fn () => print($pdf->output()), $svc->filename($wo) ); }), Actions\DeleteAction::make(), ]; } }