company = $company; } public function envelope(): Envelope { return new Envelope( subject: "[{$this->company->name}] Mașina dvs. este gata — fișa {$this->workOrder->number}", from: new \Illuminate\Mail\Mailables\Address( config('mail.from.address'), $this->company->display_name ?? $this->company->name, ), ); } public function content(): Content { return new Content( view: 'emails.work-order-ready', with: array_merge($this->buildBrandingContext(), [ 'workOrder' => $this->workOrder, 'client' => $this->workOrder->client, 'vehicle' => $this->workOrder->vehicle, 'paid' => (float) $this->workOrder->payments->sum('amount'), 'total' => (float) $this->workOrder->total, 'currency' => $this->company->settings['currency'] ?? 'MDL', ]), ); } public function attachments(): array { try { $pdf = app(WorkOrderPdfService::class)->generate($this->workOrder); return [ Attachment::fromData(fn () => $pdf->output(), app(WorkOrderPdfService::class)->filename($this->workOrder)) ->withMime('application/pdf'), ]; } catch (\Throwable $e) { return []; } } }