'required|email', ]; public function render() { return view('livewire.waitlist.index')->layout('layouts.simple'); } public function mount() { $this->waitingInLine = Waitlist::whereVerified(true)->count(); $this->users = User::count(); if (isDev()) { $this->email = 'waitlist@example.com'; } } public function submit() { $this->validate(); try { $already_registered = User::whereEmail($this->email)->first(); if ($already_registered) { throw new \Exception('You are already on the waitlist or registered.
Please check your email to verify your email address or contact support.'); } $found = Waitlist::where('email', $this->email)->first(); if ($found) { if (!$found->verified) { $this->emit('error', 'You are already on the waitlist.
Please check your email to verify your email address.'); return; } $this->emit('error', 'You are already on the waitlist.
You will be notified when your turn comes.
Thank you.'); return; } $waitlist = Waitlist::create([ 'email' => Str::lower($this->email), 'type' => 'registration', ]); $this->emit('success', 'Check your email to verify your email address.'); dispatch(new SendConfirmationForWaitlistJob($this->email, $waitlist->uuid)); } catch (\Throwable $e) { return handleError($e, $this); } } }