eventPackage->event; $tenant = $event?->tenant; $package = $this->eventPackage->package; $percentage = (int) round($this->threshold * 100); $remaining = max(0, $this->limit - $this->used); $eventName = $event?->name['de'] ?? $event?->name['en'] ?? $event?->name ?? __('emails.package_limits.event_fallback'); $url = url('/tenant/events/'.($event?->slug ?? '')); $subject = __('emails.package_limits.photo_threshold.subject', [ 'event' => $eventName, 'percentage' => $percentage, ]); $greeting = __('emails.package_limits.photo_threshold.greeting', [ 'name' => $tenant?->name ?? __('emails.package_limits.team_fallback'), ]); return (new MailMessage) ->subject($subject) ->view('emails.notifications.basic', [ 'title' => $subject, 'preheader' => $greeting, 'heroTitle' => $greeting, 'heroSubtitle' => $subject, 'lines' => [ __('emails.package_limits.photo_threshold.body', [ 'event' => $eventName, 'package' => $package?->getNameForLocale() ?? $package?->name ?? __('emails.package_limits.package_fallback'), 'percentage' => $percentage, 'used' => $this->used, 'limit' => $this->limit, 'remaining' => $remaining, ]), ], 'cta' => [ [ 'label' => __('emails.package_limits.photo_threshold.action'), 'url' => $url, ], ], 'footer' => __('emails.package_limits.footer'), ]); } }