feat: Visualização de detalhes do cliente
feat: Visualização de detalhes do cliente
This commit is contained in:
commit
b716dadd4f
|
|
@ -23,6 +23,9 @@ public function login(Request $request)
|
|||
]
|
||||
);
|
||||
|
||||
$request->flashOnly(['email']);
|
||||
$teste = $request->old('email');
|
||||
|
||||
if (!Auth::attempt($validated)) {
|
||||
return redirect()->route('login', status: 302)->with('error', 'Credenciais inválidas');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ public function editUser(UserService $userService)
|
|||
$this->dispatch('notify', message: $this->userForm->name . ' atualizado com sucesso!');
|
||||
} catch (\Exception $e) {
|
||||
$this->dispatch('notify', message: 'Falha na edição: ' . $e->getMessage(), type: 'error');
|
||||
// $this->addError('general', $e->getMessage());
|
||||
}
|
||||
}
|
||||
public function render()
|
||||
|
|
|
|||
|
|
@ -8,8 +8,6 @@
|
|||
|
||||
class UserForm extends Form
|
||||
{
|
||||
|
||||
|
||||
public string $name = '';
|
||||
public string $email = '';
|
||||
public string $password = '';
|
||||
|
|
@ -28,7 +26,7 @@ public function editUser(User $user)
|
|||
|
||||
protected $rules = [
|
||||
'name' => 'required|string|max:255',
|
||||
'email' => 'email|unique:users,email',
|
||||
'email' => 'required|email',
|
||||
'password' => 'string|min:8',
|
||||
'password_confirm' => 'string|same:password',
|
||||
'permissions' => 'required|string|in:user,admin'
|
||||
|
|
@ -37,7 +35,6 @@ public function editUser(User $user)
|
|||
protected $messages = [
|
||||
'name' => 'Nome precisa ser informado.',
|
||||
'email' => 'O email precisa ser informado.',
|
||||
'email.unique' => 'O email informado já foi cadastrado anteriormente.',
|
||||
'password' => 'A senha precisa ter 8 ou mais caracteres.',
|
||||
'password_confirm' => 'As senhas não coincidem.',
|
||||
'permissions' => 'Escolha o nível de autorização do usuário.'
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ public function run(): void
|
|||
User::factory()->create([
|
||||
'name' => 'admin',
|
||||
'permissions' => ['admin'],
|
||||
'email' => 'inglinesystemsadmin@inglinesystems.com.br',
|
||||
'email' => 'suporte@inglinesystems.com.br',
|
||||
'password' => Hash::make('*Ingline.Sys#9420%SECURITY#')
|
||||
]);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@
|
|||
|
||||
@section('content')
|
||||
<livewire:admin.user.create-user />
|
||||
<livewire:admin.client.edit-client />
|
||||
<livewire:admin.user.edit-user />
|
||||
<livewire:admin.client.add-client />
|
||||
<livewire:admin.user.delete-user>
|
||||
<livewire:admin.show-users />
|
||||
<livewire:admin.client.delete-client />
|
||||
<x-are-you-sure />
|
||||
<livewire:show-client />
|
||||
<livewire:admin.client.edit-client />
|
||||
<livewire:admin.user.edit-user />
|
||||
@endsection
|
||||
|
|
@ -13,34 +13,34 @@
|
|||
|
||||
<form wire:submit.prevent="editUser" class="form-wrapper">
|
||||
@error('general')
|
||||
<div class="error-box">
|
||||
<strong>Erro:</strong> {{ $message }}
|
||||
</div>
|
||||
<div class="error-box">
|
||||
<strong>Erro:</strong> {{ $message }}
|
||||
</div>
|
||||
@enderror
|
||||
|
||||
<div>
|
||||
<label for="name" class="form-label">Nome</label>
|
||||
<input type="text" wire:model.defer="userForm.name" id="name" class="form-input">
|
||||
@error('name') <span class="error-text">{{ $message }}</span> @enderror
|
||||
@error('userForm.name') <span class="error-text">{{ $message }}</span> @enderror
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="email" class="form-label">Email</label>
|
||||
<input type="email" wire:model.defer="userForm.email" id="email" class="form-input">
|
||||
@error('email') <span class="error-text">{{ $message }}</span> @enderror
|
||||
@error('userForm.email') <span class="error-text">{{ $message }}</span> @enderror
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="password" class="form-label">Senha</label>
|
||||
<input type="password" wire:model.defer="userForm.password" id="password" class="form-input">
|
||||
@error('password') <span class="error-text">{{ $message }}</span> @enderror
|
||||
@error('userForm.password') <span class="error-text">{{ $message }}</span> @enderror
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="password_confirm" class="form-label">Confirmar Senha</label>
|
||||
<input type="password" wire:model="userForm.password_confirm" id="password_confirm"
|
||||
class="form-input">
|
||||
@error('password_confirm') <span class="error-text">{{ $message }}</span> @enderror
|
||||
@error('userForm.password_confirm') <span class="error-text">{{ $message }}</span> @enderror
|
||||
</div>
|
||||
|
||||
<div>
|
||||
|
|
@ -97,7 +97,7 @@ class="absolute inset-y-0 left-0 flex items-center pl-3 text-blue-600">
|
|||
</div>
|
||||
</div>
|
||||
|
||||
@error('permissions') <span class="error-text">{{ $message }}</span> @enderror
|
||||
@error('userForm.permissions') <span class="error-text">{{ $message }}</span> @enderror
|
||||
</div>
|
||||
|
||||
<div class="form-footer">
|
||||
|
|
|
|||
|
|
@ -2,42 +2,28 @@
|
|||
@section('title', 'Nexus - Login')
|
||||
@section('content')
|
||||
|
||||
<!--
|
||||
1. Container principal que centraliza o card
|
||||
(Usa a classe .container-form do seu novo CSS)
|
||||
-->
|
||||
<div class="container-form">
|
||||
|
||||
<!--
|
||||
2. O Card de Login "Vidro Fosco"
|
||||
(Usa a classe .form-class do seu novo CSS)
|
||||
-->
|
||||
<form action="{{ route('login-post') }}" class="form-class" method="POST">
|
||||
@csrf
|
||||
|
||||
<!-- 3. A Logo (Usa .container-title) -->
|
||||
<div class="container-title">
|
||||
<!-- Coloque sua nova logo aqui! -->
|
||||
<img src="{{ Vite::asset('resources/images/logo.png') }}" alt="Ingline Logo" class="h-10">
|
||||
<!-- (Ajuste o src e o h-10 se necessário) -->
|
||||
</div>
|
||||
|
||||
<div class="container-message">
|
||||
|
||||
</div>
|
||||
|
||||
<!-- 4. Título (Usa .form-title) -->
|
||||
<h1 class="form-title">
|
||||
Efetue seu login
|
||||
</h1>
|
||||
|
||||
<!-- 5. Mensagens de Sessão -->
|
||||
<x-session-messages />
|
||||
|
||||
<!-- 6. Grupo de Inputs (Usa .input-group, .form-label, .form-input-class) -->
|
||||
<div class="input-group">
|
||||
<label for="email" class="form-label">E-mail</label>
|
||||
<input class="form-input-class" id="email" type="email" name="email" placeholder="seu@email.com" required>
|
||||
<input class="form-input-class" id="email" type="email" name="email" value="{{ old('email') }}" placeholder="suporte@provedor.com" required>
|
||||
</div>
|
||||
|
||||
<div class="input-group">
|
||||
|
|
@ -45,12 +31,10 @@
|
|||
<input class="form-input-class" id="password" type="password" name="password" placeholder="••••••••" required>
|
||||
</div>
|
||||
|
||||
<!-- 7. Botão de Login (Usa .form-button-class) -->
|
||||
<div class="mt-4">
|
||||
<button class="form-button-class" type="submit">Login</button>
|
||||
</div>
|
||||
|
||||
<!-- 8. Link de Senha (Usa .forget-password) -->
|
||||
<div class="forget-password">
|
||||
<a href="#">Esqueceu sua senha?</a>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue