First Commit

This commit is contained in:
marco
2026-09-01 09:22:30 -03:00
commit a43ae23eb4
407 changed files with 36138 additions and 0 deletions
@@ -0,0 +1,35 @@
<section class="space-y-4">
<header>
<h2 class="h5 fw-bold text-gray-800 mb-1">Excluir Conta</h2>
<p class="text-muted small">Depois que sua conta for excluída, todos os seus recursos e dados serão excluídos permanentemente. Antes de excluir sua conta, baixe todos os dados ou informações que deseja reter.</p>
</header>
<button type="button" class="btn btn-danger" data-bs-toggle="modal" data-bs-target="#confirmUserDeletion">
Excluir Conta
</button>
<div class="modal fade" id="confirmUserDeletion" tabindex="-1" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<form method="post" action="{{ route('profile.destroy') }}" class="p-4">
@csrf
@method('delete')
<h2 class="h5 fw-bold mb-3">Tem certeza que deseja excluir sua conta?</h2>
<p class="text-muted small mb-3">Depois que sua conta for excluída, todos os seus recursos e dados serão excluídos permanentemente. Insira sua senha para confirmar.</p>
<div class="mb-3">
<label for="password" class="form-label sr-only">Senha</label>
<input type="password" class="form-control" id="password" name="password" placeholder="Senha">
@error('password') <div class="text-danger small">{{ $message }}</div> @enderror
</div>
<div class="d-flex justify-content-end gap-2">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancelar</button>
<button type="submit" class="btn btn-danger">Excluir Conta</button>
</div>
</form>
</div>
</div>
</div>
</section>
@@ -0,0 +1,56 @@
<section>
<header>
<h2 class="h5 fw-bold text-gray-800 mb-1">Atualizar Senha</h2>
<p class="text-muted small">Garanta que sua conta esteja usando uma senha longa e aleatória para manter-se segura.</p>
</header>
<form method="post" action="{{ route('password.update') }}" class="mt-4">
@csrf
@method('put')
<div class="mb-3">
<label for="update_password_password" class="form-label">Nova Senha</label>
<div class="input-group">
<input type="password" class="form-control" id="update_password_password" name="password" autocomplete="new-password">
<button class="btn btn-outline-secondary" type="button" onclick="togglePasswordVisibility('update_password_password', this)">
<i class="bi bi-eye"></i>
</button>
</div>
@error('password') <div class="text-danger small">{{ $message }}</div> @enderror
</div>
<div class="mb-3">
<label for="update_password_password_confirmation" class="form-label">Confirmar Senha</label>
<div class="input-group">
<input type="password" class="form-control" id="update_password_password_confirmation" name="password_confirmation" autocomplete="new-password">
<button class="btn btn-outline-secondary" type="button" onclick="togglePasswordVisibility('update_password_password_confirmation', this)">
<i class="bi bi-eye"></i>
</button>
</div>
</div>
<div class="d-flex align-items-center gap-3">
<button type="submit" class="btn btn-primary">Salvar</button>
@if (session('status') === 'password-updated')
<span class="small text-success">Senha atualizada.</span>
@endif
</div>
</form>
</section>
<script>
function togglePasswordVisibility(inputId, button) {
const input = document.getElementById(inputId);
const icon = button.querySelector('i');
if (input.type === 'password') {
input.type = 'text';
icon.classList.remove('bi-eye');
icon.classList.add('bi-eye-slash');
} else {
input.type = 'password';
icon.classList.remove('bi-eye-slash');
icon.classList.add('bi-eye');
}
}
</script>
@@ -0,0 +1,46 @@
<section>
<header>
<h2 class="h5 fw-bold text-gray-800 mb-1">Informações do Perfil</h2>
<p class="text-muted small">Atualize as informações da sua conta e endereço de e-mail.</p>
</header>
<form id="send-verification" method="post" action="{{ route('verification.send') }}">
@csrf
</form>
<form method="post" action="{{ route('profile.update') }}" class="mt-4">
@csrf
@method('patch')
<div class="mb-3">
<label for="name" class="form-label">Nome</label>
<input type="text" class="form-control" id="name" name="name" value="{{ old('name', $user->name) }}" required autofocus autocomplete="name">
@error('name') <div class="text-danger small">{{ $message }}</div> @enderror
</div>
<div class="mb-3">
<label for="email" class="form-label">E-mail</label>
<input type="email" class="form-control" id="email" name="email" value="{{ old('email', $user->email) }}" required autocomplete="username">
@error('email') <div class="text-danger small">{{ $message }}</div> @enderror
@if ($user instanceof \Illuminate\Contracts\Auth\MustVerifyEmail && ! $user->hasVerifiedEmail())
<div class="mt-2">
<p class="small text-muted">Seu e-mail não está verificado.</p>
<button form="send-verification" class="btn btn-link btn-sm p-0">Reenviar e-mail de verificação</button>
@if (session('status') === 'verification-link-sent')
<p class="mt-2 small text-success">Um novo link de verificação foi enviado.</p>
@endif
</div>
@endif
</div>
<div class="d-flex align-items-center gap-3">
<button type="submit" class="btn btn-primary">Salvar</button>
@if (session('status') === 'profile-updated')
<span class="small text-success">Salvo com sucesso.</span>
@endif
</div>
</form>
</section>