File: /home/armgroup/libs/app/Http/Livewire/Frontend/Newsletter.php
<?php
namespace App\Http\Livewire\Frontend;
use App\Http\Livewire\ConvertEmptyStringsToNull;
use App\Http\Livewire\General;
use App\Models\NewsletterMember;
use App\Rules\Mobile;
use Illuminate\Support\Facades\Validator;
use Livewire\Component;
class Newsletter extends Component
{
use ConvertEmptyStringsToNull, General;
public $mobile;
public function render()
{
return view('livewire.frontend.newsletter');
}
public function subscribe()
{
$validator = Validator::make(
['mobile' => $this->mobile],
['mobile' => ['required', new Mobile]]
);
if ($validator->fails()) {
$this->ajaxDoneMessage($validator->errors()->first('mobile'), 'error');
} else {
NewsletterMember::updateOrCreate(['mobile' => to_latin_numbers($this->mobile)]);
$this->mobile = null;
$this->ajaxDoneMessage(__('You have successfully subscribed to the newsletter'));
}
}
}