locale = session('locale', 'ar'); } /** * Get the message envelope. */ public function envelope(): Envelope { $locale = session('locale', 'ar'); return new Envelope( subject: $locale === 'ar' ? 'تم استلام طلب الاستشارة' : 'Your Consultation Request Has Been Submitted', ); } /** * Get the message content definition. */ public function content(): Content { $locale = session('locale', 'ar'); return new Content( markdown: 'emails.booking.guest-submitted.'.$locale, with: [ 'consultation' => $this->consultation, 'guestName' => $this->consultation->guest_name, 'summaryPreview' => $this->getSummaryPreview(), 'formattedDate' => $this->getFormattedDate($locale), 'formattedTime' => $this->getFormattedTime(), ], ); } /** * Get truncated summary preview (max 200 characters). */ public function getSummaryPreview(): string { $summary = $this->consultation->problem_summary ?? ''; return strlen($summary) > 200 ? substr($summary, 0, 200).'...' : $summary; } /** * Get formatted date based on locale. */ public function getFormattedDate(string $locale): string { $date = $this->consultation->booking_date; return $locale === 'ar' ? $date->format('d/m/Y') : $date->format('m/d/Y'); } /** * Get formatted time. */ public function getFormattedTime(): string { $time = $this->consultation->booking_time; return Carbon::parse($time)->format('h:i A'); } /** * Get the attachments for the message. * * @return array */ public function attachments(): array { return []; } }