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.

Hola, MaríaArquitecto

Props

Interfaz pública del componente DashboardNidusNavbar.

PropTipoDefaultDescripción
userInitialsstringIniciales mostradas en el círculo avatar (ej. "LM"). Requerido.
userNamestring?undefinedNombre del usuario para el saludo. Si se omite, el pill no se renderiza.
userRolestring?undefinedEtiqueta de rol mostrada bajo el nombre (ej. "Arquitecto"). Solo visible si userName está definido.
onNotificationClick() => void?undefinedCallback disparado al hacer clic en la campana de notificaciones.
classNamestring?undefinedClases 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>
  );
}