<?php

namespace App\Http\Controllers\Web;

use App\Http\Controllers\Controller;
use App\Mail\WebsiteContactLeadMail;
use App\Services\WebsiteContactLeadService;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;

class WebsiteContactController extends Controller
{
    public function store(Request $request, WebsiteContactLeadService $leadService)
    {
        $data = $request->validate([
            'name' => ['required', 'string', 'max:100'],
            'email' => ['required', 'email', 'max:150'],
            'phone' => ['required', 'regex:/^[6-9]\d{9}$/'],
            'subject' => ['required', 'string', 'max:150'],
            'message' => ['required', 'string', 'max:2000'],
        ], [
            'phone.required' => 'Phone number is required.',
            'phone.regex' => 'Enter a valid 10-digit Indian mobile number.',
        ]);

        $leadService->createFromContactForm($data);

        $to = config('mail.from.address');
        if ($to) {
            try {
                Mail::to($to)->send(new WebsiteContactLeadMail($data));
            } catch (\Throwable $exception) {
                report($exception);
            }
        }

        return back()->with('success', 'Thanks for contacting KiyoHRMS. Our team will get back to you soon.');
    }
}
