UDT-008: Gestión completa de usuarios #11

Merged
dmolinari merged 16 commits from feature/UDT-008 into main 2026-04-16 00:01:36 +00:00
2 changed files with 5 additions and 21 deletions
Showing only changes of commit 9e93c70d8b - Show all commits

View File

@@ -1,4 +1,4 @@
import { Menu, LogOut, User } from 'lucide-react' import { Menu, LogOut, User, Lock } from 'lucide-react'
import { useNavigate } from 'react-router-dom' import { useNavigate } from 'react-router-dom'
import { import {
Sheet, Sheet,
@@ -85,6 +85,10 @@ export function AppHeader() {
<User className="mr-2 h-4 w-4" /> <User className="mr-2 h-4 w-4" />
Mi perfil Mi perfil
</DropdownMenuItem> </DropdownMenuItem>
<DropdownMenuItem onClick={() => void navigate('/perfil/contrasena')}>
<Lock className="mr-2 h-4 w-4" />
Cambiar contraseña
</DropdownMenuItem>
<DropdownMenuSeparator /> <DropdownMenuSeparator />
<DropdownMenuItem onClick={handleLogout}> <DropdownMenuItem onClick={handleLogout}>
<LogOut className="mr-2 h-4 w-4" /> <LogOut className="mr-2 h-4 w-4" />

View File

@@ -9,7 +9,6 @@ import {
Users, Users,
ShieldCheck, ShieldCheck,
KeyRound, KeyRound,
Lock,
} from 'lucide-react' } from 'lucide-react'
import { cn } from '@/lib/utils' import { cn } from '@/lib/utils'
import { Badge } from '@/components/ui/badge' import { Badge } from '@/components/ui/badge'
@@ -88,25 +87,6 @@ export function SidebarNav() {
) )
})} })}
{/* Profile / account section — visible for all authenticated users */}
<div className="pt-2 pb-1 px-3">
<span className="text-xs font-semibold uppercase tracking-wider text-muted-foreground/60">
Mi cuenta
</span>
</div>
<Link
to="/perfil/contrasena"
className={cn(
'flex items-center gap-3 rounded-md px-3 py-2 text-sm transition-colors hover:bg-accent hover:text-accent-foreground',
pathname === '/perfil/contrasena'
? 'bg-accent text-accent-foreground font-medium'
: 'text-muted-foreground',
)}
>
<Lock className="h-4 w-4 shrink-0" />
<span>Cambiar contraseña</span>
</Link>
{/* Admin-only section */} {/* Admin-only section */}
{isAdmin && ( {isAdmin && (
<> <>