Login.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace App\Livewire;
  3. use App\Models\User;
  4. use Livewire\Attributes\Layout;
  5. use Livewire\Component;
  6. use Illuminate\Support\Facades\Auth;
  7. class Login extends Component
  8. {
  9. public $email;
  10. public $password;
  11. protected $rules = [
  12. 'email' => 'required',
  13. 'password' => 'required',
  14. ];
  15. protected $messages = [
  16. 'email.required' => 'La mail è obbligatoria',
  17. 'password.required' => 'La password è obbligatoria',
  18. ];
  19. public $error = '';
  20. #[Layout('layouts.frontend')]
  21. public function render()
  22. {
  23. return view('livewire.login');
  24. }
  25. public function login()
  26. {
  27. $this->validate();
  28. if (Auth::attempt(['email' => $this->email, 'password' => $this->password]))
  29. {
  30. $user = Auth::user();
  31. if (!$user->first_login_completed)
  32. {
  33. $user->first_login_at = now();
  34. $user->save();
  35. return redirect('/onboarding');
  36. }
  37. return redirect()->route('dashboard');
  38. }
  39. else
  40. {
  41. $this->error = 'Email o password errata';
  42. }
  43. }
  44. }