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