feat(contact): Add hCaptcha integration, Discord alert for contact

- Added hCaptcha validation to the contact form.
- Integrated hCaptcha configuration in the application.
- Implemented Discord alerts for new contact submissions with detailed content.
This commit is contained in:
Rico van Zelst
2024-02-24 21:52:00 +01:00
parent 1ed7856985
commit 8bdcd5b086
6 changed files with 131 additions and 38 deletions

View File

@@ -4,6 +4,7 @@ namespace App\Http\Controllers;
use App\Http\Requests\ContactSubmissionRequest;
use App\Models\ContactSubmission;
use Spatie\DiscordAlerts\Facades\DiscordAlert;
class ContactSubmissionController extends Controller
{
@@ -16,6 +17,20 @@ class ContactSubmissionController extends Controller
{
$contactSubmission = ContactSubmission::create($request->validated());
$descriptionContent = "**Name**: {$contactSubmission->name}\n\n**Email**: {$contactSubmission->email}\n\n**Category**: {$contactSubmission->category->humanReadable()}\n\n**Subject**: {$contactSubmission->subject}\n\n**Message**: {$contactSubmission->message}";
if ($contactSubmission->discord) {
$descriptionContent .= "\n\n\n**Discord**: {$contactSubmission->discord}";
}
DiscordAlert::message("There is a new contact submission from {$contactSubmission->name} ({$contactSubmission->email}).", [
[
'title' => "{$contactSubmission->category->humanReadable()} - {$contactSubmission->subject}",
'description' => $descriptionContent,
'color' => '#ff8a4c',
]
]);
return redirect()->route('contact.index')->with('success', 'Your message has been sent!');
}
}