subject_name, (string) ($item->context['author_name'] ?? __('Someone')), isset($item->context['file_id']) ? (int) $item->context['file_id'] : null, ); } /** * @return array */ public function via(object $notifiable): array { return ['mail']; } public function toMail(object $notifiable): MailMessage { $replacements = [':name' => $this->fileName, ':author' => $this->authorName]; $message = ($override = $this->overrideOrNull(EmailTemplateSlot::CommentPosted)) !== null ? $this->mailFromOverride($override, $replacements) : (new MailMessage) ->subject(__('New comment on ":name"', ['name' => $this->fileName])) ->line(__(':author commented on ":name".', ['author' => $this->authorName, 'name' => $this->fileName])); return $message->action(__('Read the comment'), $this->url()); } /** * The deep link resolves per viewer (staff and clients have no page in * common), so it is safe to send the same URL to either. */ private function url(): string { return $this->fileId === null ? route('my-files.index') : route('comments.go', $this->fileId); } }