Skip to content

Commit 31e2e7a

Browse files
functionalitate login & register
1 parent 8cf400d commit 31e2e7a

File tree

14 files changed

+190
-28
lines changed

14 files changed

+190
-28
lines changed

app/Http/Livewire/ForgotPassword.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
namespace App\Http\Livewire;
4+
5+
use Livewire\Component;
6+
7+
class ForgotPassword extends Component
8+
{
9+
public function render()
10+
{
11+
return view('livewire.forgot-password')
12+
->layout('layouts.base');
13+
}
14+
}

app/Http/Livewire/Login.php

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,28 @@
66

77
class Login extends Component
88
{
9+
10+
public $email = '';
11+
public $password = '';
12+
13+
protected $rules = [
14+
'email' => 'required|email',
15+
'password' => 'required',
16+
];
17+
18+
public function login()
19+
{
20+
$credentials = $this->validate();
21+
return auth()->attempt($credentials)
22+
? redirect()->intended('/profile')
23+
: $this->addError('email', trans('auth.failed'));
24+
25+
}
26+
27+
928
public function render()
1029
{
11-
return view('livewire.auth.login');
30+
return view('livewire.auth.login')
31+
->layout('layouts.base');
1232
}
1333
}

app/Http/Livewire/Profile.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ class Profile extends Component
88
{
99
public function render()
1010
{
11-
return view('livewire.profile');
11+
return view('livewire.profile')
12+
->layout('layouts.base');
1213
}
1314
}

app/Http/Livewire/Register.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,34 @@
33
namespace App\Http\Livewire;
44

55
use Livewire\Component;
6+
use App\Models\User;
7+
use Illuminate\Support\Facades\Hash;
68

79
class Register extends Component
810
{
11+
12+
public $email = '';
13+
public $password = '';
14+
public $passwordConfirmation = '';
15+
16+
public function updatedEmail()
17+
{
18+
$this->validate(['email'=>'required|email|unique:users']);
19+
}
20+
21+
public function register()
22+
{
23+
$this->validate([
24+
'email' => 'required',
25+
'password' => 'required|same:passwordConfirmation',
26+
]);
27+
28+
$user = User::create([
29+
'email' =>$this->email,
30+
'password' => Hash::make($this->password),
31+
]);
32+
}
33+
934
public function render()
1035
{
1136
return view('livewire.auth.register')

app/Http/Livewire/ResetPassword.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
namespace App\Http\Livewire;
4+
5+
use Livewire\Component;
6+
7+
class ResetPassword extends Component
8+
{
9+
public function render()
10+
{
11+
return view('livewire.reset-password')
12+
->layout('layouts.base');
13+
}
14+
}

app/Models/User.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,12 @@ class User extends Authenticatable
1616
*
1717
* @var array
1818
*/
19-
protected $fillable = [
19+
/* protected $fillable = [
2020
'name',
2121
'email',
2222
'password',
23-
];
23+
]; */
24+
protected $guarded=[];
2425

2526
/**
2627
* The attributes that should be hidden for arrays.

database/migrations/2014_10_12_000000_create_users_table.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public function up()
2020
$table->string('Gender')->nullable();
2121
$table->string('Email')->unique();
2222
$table->string('password');
23-
$table->string('Phone');
23+
$table->string('Phone')->nullable();
2424
$table->timestamp('email_verified_at')->nullable();
2525
$table->rememberToken();
2626
$table->timestamps();

resources/views/layouts/base.blade.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@
4646
<!-- Volt CSS -->
4747
<link type="text/css" href="/css/volt.css" rel="stylesheet">
4848

49+
@livewireStyles
50+
51+
@livewireScripts
52+
4953
<script src="/assets/js/volt.js"></script>
5054
<script src="/assets/js/datepicker.min.js"></script>
5155
<script async defer src="https://buttons.github.io/buttons.js"></script>

resources/views/layouts/sidenav.blade.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,12 @@ class="nav-link @@if (context.page_group !== 'page_examples') { collapsed } d-fl
100100
</a>
101101
</li>
102102
<li class="nav-item">
103-
<a class="nav-link" href="/pages/examples/forgot-password.html">
103+
<a class="nav-link" href="/forgot-password">
104104
<span class="sidebar-text">Forgot password</span>
105105
</a>
106106
</li>
107107
<li class="nav-item">
108-
<a class="nav-link" href="/pages/examples/reset-password.html">
108+
<a class="nav-link" href="/reset-password">
109109
<span class="sidebar-text">Reset password</span>
110110
</a>
111111
</li>

resources/views/livewire/auth/login.blade.php

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
11
@extends('layouts.base')
22

3-
4-
5-
<!-- NOTICE: You can use the _analytics.html partial to include production code specific code & trackers -->
6-
{{-- @@if (environment === 'production') {
7-
@@include('./_analytics-body.html')
8-
} --}}
9-
103
<main>
114

125
<!-- Section -->
@@ -19,14 +12,15 @@
1912
<div class="text-center text-md-center mb-4 mt-md-0">
2013
<h1 class="mb-0 h3">Sign in to our platform</h1>
2114
</div>
22-
<form action="#" class="mt-4">
15+
<form wire:submit.prevent="login" action="#" class="mt-4" method="POST">
2316
<!-- Form -->
2417
<div class="form-group mb-4">
2518
<label for="email">Your Email</label>
2619
<div class="input-group">
2720
<span class="input-group-text" id="basic-addon1"><span class="fas fa-envelope"></span></span>
28-
<input type="email" class="form-control" placeholder="example@company.com" id="email" autofocus required>
21+
<input wire:model="email" type="email" class="form-control" placeholder="example@company.com" id="email" autofocus required>
2922
</div>
23+
@error('email') <div> {{$message}} </div> @enderror
3024
</div>
3125
<!-- End of Form -->
3226
<div class="form-group">
@@ -35,8 +29,9 @@
3529
<label for="password">Your Password</label>
3630
<div class="input-group">
3731
<span class="input-group-text" id="basic-addon2"><span class="fas fa-unlock-alt"></span></span>
38-
<input type="password" placeholder="Password" class="form-control" id="password" required>
32+
<input wire:model.lazy="password" type="password" placeholder="Password" class="form-control" id="password" required>
3933
</div>
34+
@error('password') <div> {{ $message }} </div> @enderror
4035
</div>
4136
<!-- End of Form -->
4237
<div class="d-flex justify-content-between align-items-top mb-4">

0 commit comments

Comments
 (0)