F2 avanzada
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
@using Microsoft.AspNetCore.Identity
|
||||
@inject SignInManager<ApplicationUser> SignInManager
|
||||
@inject UserManager<ApplicationUser> UserManager
|
||||
|
||||
<nav class="sidebar">
|
||||
<div class="sidebar-header d-flex align-items-center justify-content-between mb-4 px-3">
|
||||
<a class="text-decoration-none" asp-controller="Home" asp-action="Index">
|
||||
<span class="h5 fw-bold text-dark">VitaAsistente</span>
|
||||
</a>
|
||||
<button id="sidebarToggle" class="btn btn-sm p-0 ms-auto d-md-none" aria-label="Toggle sidebar">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@if (SignInManager.IsSignedIn(User))
|
||||
{
|
||||
<div class="sidebar-user-info mb-4 px-3 pb-2 border-bottom d-flex align-items-center">
|
||||
<div class="flex-grow-1 text-truncate">
|
||||
<small class="text-muted">Hola,</small>
|
||||
<span class="d-block small fw-medium" title="@User.Identity?.Name ?? "Usuario"">@User.Identity?.Name ?? "Usuario"</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if (User.IsInRole("Admin"))
|
||||
{
|
||||
<div class="sidebar-section pb-2 px-3">
|
||||
<h4 class="section-title mb-2">Administración</h4>
|
||||
<ul class="nav flex-column">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" asp-controller="Usuarios" asp-action="Index">
|
||||
<span class="me-2">👥</span> Gestión de Usuarios
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" asp-controller="Roles" asp-action="Index">
|
||||
<span class="me-2">📋</span> Gestión de Roles
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (User.IsInRole("Admin") || User.IsInRole("Usuario"))
|
||||
{
|
||||
<div class="sidebar-section pb-2 px-3">
|
||||
<h4 class="section-title mb-2">Módulos Principales</h4>
|
||||
<ul class="nav flex-column">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" asp-controller="Home" asp-action="Index">
|
||||
<span class="me-2">🏠</span> Dashboard
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="p-4 text-center">
|
||||
<div class="mb-3">
|
||||
<i class="bi bi-person-circle" style="font-size: 2.5rem;"></i>
|
||||
</div>
|
||||
<a href="/" class="btn btn-sm btn-outline-primary">Volver al inicio</a>
|
||||
</div>
|
||||
}
|
||||
|
||||
<form asp-controller="Account" asp-action="Logout" method="post" class="sidebar-footer p-3 border-top">
|
||||
@Html.AntiForgeryToken()
|
||||
@if (SignInManager.IsSignedIn(User))
|
||||
{
|
||||
<button type="submit" class="btn btn-sm btn-outline-danger w-100">Cerrar Sesión</button>
|
||||
}
|
||||
</form>
|
||||
</nav>
|
||||
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const sidebar = document.querySelector('.sidebar');
|
||||
const toggleButton = document.getElementById('sidebarToggle');
|
||||
|
||||
if (toggleButton && sidebar) {
|
||||
toggleButton.addEventListener('click', function() {
|
||||
sidebar.classList.toggle('collapsed');
|
||||
// Update button icon based on state
|
||||
const icon = toggleButton.querySelector('i');
|
||||
if (sidebar.classList.contains('collapsed')) {
|
||||
icon.className = 'bi bi-arrow-bar-right';
|
||||
} else {
|
||||
icon.className = 'bi bi-list';
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
Reference in New Issue
Block a user