Optimize academy

This commit is contained in:
2026-06-09 13:16:01 +02:00
parent f89ee937c0
commit 5af95f6533
109 changed files with 6862 additions and 719 deletions

View File

@@ -0,0 +1,47 @@
<?php
declare(strict_types=1);
namespace App\Mail;
use App\Models\User;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
final class AcademyAccessIssue extends Mailable
{
use Queueable, SerializesModels;
public function __construct(
public readonly User $user,
public readonly ?string $message = null,
public readonly ?string $sessionId = null,
public readonly ?string $issueType = null,
public readonly ?string $contactEmail = null,
)
{
}
public function build(): self
{
$subject = 'Academy support request'.($this->issueType ? ' ['.$this->issueType.']' : '').' from '.$this->user->email;
$replyTo = trim((string) ($this->contactEmail ?: $this->user->email));
$mail = $this->subject($subject)
->view('emails.academy_access_issue')
->with([
'user' => $this->user,
'message' => $this->message,
'sessionId' => $this->sessionId,
'issueType' => $this->issueType,
'contactEmail' => $this->contactEmail,
]);
if ($replyTo !== '') {
$mail->replyTo($replyTo);
}
return $mail;
}
}