mirror of
https://github.com/filamentphp/filament.git
synced 2026-09-24 15:42:09 +08:00
Reset password WIP
This commit is contained in:
@@ -15,12 +15,4 @@ return [
|
||||
|
||||
'signin' => 'Sign in to your account',
|
||||
|
||||
'labels' => [
|
||||
|
||||
'email' => 'E-mail Address',
|
||||
|
||||
'password' => 'Password',
|
||||
|
||||
],
|
||||
|
||||
];
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
'errorClasses' => $errors->has($name) ? ' motion-safe:animate-shake' : '',
|
||||
])
|
||||
|
||||
<div {{ $attributes->merge(['class' => 'space-y-1'.$errorClasses]) }}>
|
||||
<div {{ $attributes->merge(['class' => 'space-y-2'.$errorClasses]) }}>
|
||||
<div class="flex items-center justify-between space-x-2">
|
||||
<x-filament::label :for="$name">
|
||||
{{ $label ?? $name }}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<form wire:submit.prevent="sendEmail" class="space-y-4">
|
||||
<x-filament::message />
|
||||
<x-filament::input-group-stacked name="email" :label="__('filament::auth.labels.email')" required>
|
||||
<x-filament::input-group-stacked name="email" :label="__('E-Mail Address')" required>
|
||||
<x-filament::input type="email" name="email" wire:model.defer="email" id="email" required autocomplete="email" autofocus />
|
||||
<x-slot name="hint">
|
||||
<a href="{{ route('filament.login') }}" class="text-current hover:text-blue">
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<form wire:submit.prevent="login" class="space-y-4">
|
||||
<x-filament::input-group-stacked name="email" :label="__('filament::auth.labels.email')" required>
|
||||
<x-filament::input-group-stacked name="email" :label="__('E-Mail Address')" required>
|
||||
<x-filament::input type="email" name="email" wire:model.defer="email" id="email" required autocomplete="email" autofocus />
|
||||
</x-filament::input-group-stacked>
|
||||
|
||||
<x-filament::input-group-stacked name="password" :label="__('filament::auth.labels.password')" required>
|
||||
<x-filament::input-group-stacked name="password" :label="__('Password')" required>
|
||||
@if (Route::has('filament.password.forgot'))
|
||||
<x-slot name="hint">
|
||||
<a href="{{ route('filament.password.forgot') }}" class="text-current hover:text-blue">
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
<form wire:submit.prevent="resetPassword" class="space-y-4">
|
||||
<x-filament::input-group-stacked name="email" :label="__('E-Mail Address')" required>
|
||||
<x-filament::input type="email" name="email" wire:model.defer="email" id="email" required autocomplete="email" :disabled="$email" />
|
||||
</x-filament::input-group-stacked>
|
||||
|
||||
<x-filament::input-group-stacked name="password" :label="__('Password')" required>
|
||||
<x-filament::input type="password" name="password" wire:model.defer="password" id="password" required autocomplete="new-password" autofocus />
|
||||
</x-filament::input-group-stacked>
|
||||
|
||||
<x-filament::input-group-stacked name="password_confirmation" :label="__('Confirm Password')" required>
|
||||
<x-filament::input type="password" name="password_confirmation" wire:model.defer="password_confirmation" id="password_confirmation" required autocomplete="new-password" />
|
||||
</x-filament::input-group-stacked>
|
||||
|
||||
<x-filament::button type="submit" class="w-full">
|
||||
{{ __('Reset Password') }}
|
||||
</x-filament::button>
|
||||
</form>
|
||||
@@ -36,12 +36,12 @@ class Login extends Component
|
||||
|
||||
$this->incrementLoginAttempts($request);
|
||||
|
||||
$this->addError('email', trans('auth.failed'));
|
||||
$this->addError('email', __('auth.failed'));
|
||||
}
|
||||
|
||||
public function render()
|
||||
{
|
||||
return view('filament::livewire.auth.login')
|
||||
->layout('filament::layouts.auth', ['title' => trans('filament::auth.signin')]);
|
||||
->layout('filament::layouts.auth', ['title' => __('filament::auth.signin')]);
|
||||
}
|
||||
}
|
||||
@@ -4,10 +4,13 @@ namespace Filament\Http\Livewire\Auth;
|
||||
|
||||
use App\Providers\RouteServiceProvider;
|
||||
use Illuminate\Auth\Events\PasswordReset;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Support\Facades\Password;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Str;
|
||||
use Illuminate\Support\Facades\{
|
||||
Auth,
|
||||
Hash,
|
||||
Password,
|
||||
};
|
||||
use Livewire\Component;
|
||||
|
||||
class ResetPassword extends Component
|
||||
@@ -23,9 +26,10 @@ class ResetPassword extends Component
|
||||
'password_confirmation' => 'required',
|
||||
];
|
||||
|
||||
public function mount($token)
|
||||
public function mount(Request $request, $token)
|
||||
{
|
||||
$this->token = $token;
|
||||
$this->email = $request->input('email');
|
||||
}
|
||||
|
||||
protected function credentials()
|
||||
@@ -49,6 +53,7 @@ class ResetPassword extends Component
|
||||
$this->user = $user;
|
||||
}
|
||||
);
|
||||
|
||||
if ($status === Password::PASSWORD_RESET) {
|
||||
Auth::login($this->user);
|
||||
$this->redirect(route('filament.dashboard'));
|
||||
|
||||
@@ -17,7 +17,7 @@ class LoginTest extends TestCase
|
||||
// $this->withoutExceptionHandling();
|
||||
$this->get(route('filament.login'))
|
||||
->assertSuccessful()
|
||||
->assertSee(trans('filament::auth.signin'));
|
||||
->assertSee(__('filament::auth.signin'));
|
||||
}
|
||||
|
||||
public function test_existing_user_can_log_in()
|
||||
|
||||
Reference in New Issue
Block a user