57 lines
1.4 KiB
PHP
57 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Livewire;
|
|
|
|
use App\Models\User;
|
|
use Livewire\Component;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Hash;
|
|
use Illuminate\Support\Facades\Http;
|
|
use App\Actions\Fortify\CreateNewUser;
|
|
|
|
class Register extends Component
|
|
{
|
|
public $name;
|
|
public $email;
|
|
public $password;
|
|
public $password_confirmation;
|
|
|
|
protected $rules = [
|
|
'name' => 'required|string|max:255',
|
|
'email' => 'required|email|unique:users,email',
|
|
'password' => 'required|string|min:8|confirmed', // Password confirmation
|
|
];
|
|
public function register(CreateNewUser $creator)
|
|
{
|
|
$this->validate();
|
|
|
|
|
|
$user = $creator->create([
|
|
'name' => $this->name,
|
|
'email' => $this->email,
|
|
'password' => $this->password,
|
|
'password_confirmation' => $this->password_confirmation,
|
|
]);
|
|
|
|
Auth::login($user);
|
|
|
|
if ($user) {
|
|
session()->flash('message', 'User registered successfully!');
|
|
return redirect()->route('login');
|
|
} else {
|
|
session()->flash('error', 'There was an error registering the user. Please try again.');
|
|
}
|
|
|
|
return redirect()->route('profile');
|
|
}
|
|
|
|
public function resetInputs()
|
|
{
|
|
$this->reset(['name', 'email', 'password', 'password_confirmation']);
|
|
}
|
|
public function render()
|
|
{
|
|
return view('livewire.register');
|
|
}
|
|
}
|