Skip to content

Barra de navegação

AlpopNavbar é a barra superior: uma área de marca, uma faixa horizontal de itens de navegação e uma área do usuário. É apenas layout.

É desacoplado do router e da autenticação: os itens são passados via prop e clicar em um item emite select com o item (o app decide a rota). A área do usuário é um slot — coloque nela alpop-notifications-dropdown / alpop-profile-menu. Sem área de usuário, os rótulos signInLabel / signUpLabel renderizam os botões públicos que emitem sign-in / sign-up; um slot #actions os substitui.

Também compõe o topo de AlpopStaticNavbarPage e AlpopStaticSidebarPage.

Props

PropTipoPadrãoDescrição
itemsArray[]Itens de navegação { key, label, active }
notificationsArrayundefinedNotificações; presença opta pelo sino padrão da navbar
unreadCountNumber0Quantidade exibida no badge do sino
notificationsLoadingBooleanfalseExibe carregamento no menu de notificações
notificationsClickableBooleantruePermite clique nas notificações
formatNotificationTimeFunctionidentidadeFormata createdAt de cada notificação
notificationsTitleStringnullSobrescreve título/aria-label do menu de notificações
notificationsEmptyLabelStringnullSobrescreve estado vazio do menu de notificações
signInLabelStringundefinedRótulo do botão entrar; presença opta pelos botões padrão
signUpLabelStringundefinedRótulo do botão cadastrar; presença opta pelos botões padrão

Basta a presença de signInLabel / signUpLabel (mesmo como null) para optar pelos botões padrão. Sem um valor explícito, o rótulo cai para o padrão traduzido (components.navbar.signIn = "Entrar", components.navbar.signUp = "Cadastrar") via mixin translatable.

Slots

SlotDescrição
brandMarca/logo no início da barra
user-areaÁrea do usuário ao final (dropdown de notificações, perfil)
actionsSubstitui os botões públicos padrão

Eventos

EventoPayloadDescrição
selectitemEmitido ao clicar em um item de navegação
notification-openEmitido ao abrir o menu de notificações
notification-closeEmitido ao fechar o menu de notificações
notification-selectnotificationEmitido ao clicar em uma notificação
notification-load-moreEmitido ao rolar até o fim das notificações
sign-inEmitido pelo botão entrar padrão
sign-upEmitido pelo botão cadastrar padrão