Resto de las vistas y plantillas del sistema

This commit is contained in:
Lucho
2026-06-24 16:21:44 -03:00
parent 7a622f469d
commit ff2fa9b70f
39 changed files with 6142 additions and 103 deletions
@@ -0,0 +1,19 @@
<aside class="admin-sidebar" aria-label="Menu administrador">
<nav class="admin-sidebar-nav">
<a class="btn app-navbar-link admin-sidebar-link {{ request()->is('administrador/profesionales*') ? 'active' : '' }}" href="/administrador/profesionales">Profesionales</a>
<a class="btn app-navbar-link admin-sidebar-link {{ request()->is('administrador/dashboard') ? 'active' : '' }}" href="/administrador/dashboard">Mis Datos</a>
<a class="btn app-navbar-link admin-sidebar-link {{ request()->is('administrador/contenido-web*') ? 'active' : '' }}" href="/administrador/contenido-web">Contenido</a>
<a class="btn app-navbar-link admin-sidebar-link {{ request()->is('administrador/emails*') ? 'active' : '' }}" href="/administrador/emails">Emails</a>
<a class="btn app-navbar-link admin-sidebar-link {{ request()->is('administrador/logs*') ? 'active' : '' }}" href="/administrador/logs">Logs</a>
<a class="btn app-navbar-link admin-sidebar-link {{ request()->is('administrador/fallas*') ? 'active' : '' }}" href="/administrador/fallas">Fallas</a>
<a class="btn app-navbar-link admin-sidebar-link position-relative {{ request()->is('administrador/bugs*') ? 'active' : '' }}" href="/administrador/bugs">
Bugs
@if(($bugsPendientesCount ?? 0) > 0)
<span class="position-absolute top-0 start-100 translate-middle p-1 bg-danger rounded-circle">
<span class="visually-hidden">Hay bugs pendientes</span>
</span>
@endif
</a>
<a class="btn app-navbar-link admin-sidebar-link {{ request()->is('administrador/backups*') ? 'active' : '' }}" href="/administrador/backups">Backup</a>
</nav>
</aside>
@@ -0,0 +1,65 @@
<a
id="reportar-falla-boton"
href="/reportar-falla?origen={{ urlencode(request()->fullUrl()) }}"
class="btn btn-sm text-danger border-0 d-none reportar-falla-btn"
title="Reportar un error"
>
🐞
</a>
<style>
.reportar-falla-btn {
transition: background-color 0.18s ease, color 0.18s ease;
}
.reportar-falla-btn:hover,
.reportar-falla-btn:focus-visible {
background-color: #dc3545;
color: #fff !important;
}
</style>
<script>
(function () {
const boton = document.getElementById('reportar-falla-boton');
if (!boton) {
return;
}
const navbarBrand = document.querySelector('.app-navbar .navbar-brand, .navbar-brand');
if (navbarBrand && navbarBrand.parentElement) {
boton.classList.remove('d-none');
boton.classList.add('ms-2', 'align-self-center');
navbarBrand.insertAdjacentElement('afterend', boton);
} else {
// Fallback para pantallas sin navbar compatible.
boton.classList.remove('d-none');
boton.classList.add('position-fixed', 'end-0', 'bottom-0', 'm-3', 'shadow-sm');
boton.style.zIndex = '1040';
}
boton.addEventListener('click', function (e) {
e.preventDefault();
const destino = boton.getAttribute('href');
const capturar = window.html2canvas
? window.html2canvas(document.body, { useCORS: true, scale: 0.6, logging: false })
: Promise.reject();
boton.textContent = '⏳';
boton.style.pointerEvents = 'none';
capturar
.then(function (canvas) {
try {
sessionStorage.setItem('bug_captura', canvas.toDataURL('image/jpeg', 0.75));
} catch (_) { /* sessionStorage lleno o bloqueado */ }
window.location.href = destino;
})
.catch(function () {
window.location.href = destino;
});
});
})();
</script>