Shared/Dashboard Nidus Navbar
Dashboard Nidus Navbar
Barra de navegación superior del panel de administración. Muestra un saludo con pill de fondo arena (opcional) y las acciones globales: campana de notificaciones y avatar con iniciales. Responsive: en mobile el pill incluye un disparador para abrir el sidebar.
Solo acciones
Vista por defecto cuando no se pasan userName ni userRole. Las acciones se alinean a la derecha.
Con saludo
Cuando se proveen userName y userRole, aparece el pill de bienvenida a la izquierda.
Props
Interfaz pública del componente DashboardNidusNavbar.
| Prop | Tipo | Default | Descripción |
|---|---|---|---|
userInitials | string | — | Iniciales mostradas en el círculo avatar (ej. "LM"). Requerido. |
userName | string? | undefined | Nombre del usuario para el saludo. Si se omite, el pill no se renderiza. |
userRole | string? | undefined | Etiqueta de rol mostrada bajo el nombre (ej. "Arquitecto"). Solo visible si userName está definido. |
onNotificationClick | () => void? | undefined | Callback disparado al hacer clic en la campana de notificaciones. |
className | string? | undefined | Clases Tailwind adicionales para el elemento <header>. |
Uso
Colocalo dentro de un SidebarProvider (para que el trigger mobile funcione) y renderizalo encima del contenido principal.
import {
DashboardNidusNavbar,
DashboardNidusSidebar,
SidebarProvider,
} from '@repo/ui';
export default function DashboardLayout({ children }) {
return (
<SidebarProvider>
<DashboardNidusSidebar />
<div className="flex min-h-screen flex-1 flex-col">
<DashboardNidusNavbar
userInitials="LM"
userName="María"
userRole="Arquitecto"
onNotificationClick={() => console.log('open notifications')}
/>
<main className="flex-1 overflow-auto">{children}</main>
</div>
</SidebarProvider>
);
}