*/ public function via(object $notifiable): array { return ['mail']; } /** * Get the mail representation of the notification. */ public function toMail(object $notifiable): MailMessage { $locale = $notifiable->preferred_language ?? 'ar'; $timeline = $this->update->timeline; return (new MailMessage) ->subject($this->getSubject($locale, $timeline->case_name)) ->markdown('emails.timeline.update.'.$locale, [ 'update' => $this->update, 'timeline' => $timeline, 'user' => $notifiable, ]); } /** * Get the subject based on locale. */ private function getSubject(string $locale, string $caseName): string { return $locale === 'ar' ? "تحديث جديد على قضيتك: {$caseName}" : "New update on your case: {$caseName}"; } /** * Get the array representation of the notification. * * @return array */ public function toArray(object $notifiable): array { return [ 'type' => 'timeline_update', 'timeline_update_id' => $this->update->id, 'timeline_id' => $this->update->timeline_id, ]; } }