Banner persistente do Discourse

:information_source: Resumo Um banner persistente é exibido na parte superior de cada página e só pode ser ocultado por administradores.
:eyeglasses: Prévia Theme Creator
:hammer_and_wrench: Repositório GitHub - NateDhaliwal/discourse-persistent-banner: A theme component for Discourse that cannot be closed by the user.
:question: Guia de Instalação Como instalar um tema ou componente de tema
:open_book: Novo em Temas do Discourse? Guia para iniciantes no uso de temas do Discourse

Instalar este componente de tema

Este componente exibe um banner na parte superior de cada página. Quaisquer cores CSS válidas podem ser usadas. Se você planeja usar variáveis de tema do Discourse, coloque-as entre var(), então você obterá algo como var(--tertiary-very-low).


Existem 7 configurações para controlar o banner.

  1. banner_background_color altera a cor de fundo do banner.
  2. banner_text_color altera a cor do texto do banner.
  3. banner_border_color altera a cor da borda do banner.
  4. banner_border_thickness altera a espessura da borda do banner.
  5. banner_text_content altera o texto do banner. O texto será quebrado no banner se for maior que 1 linha.
  6. banner_visible altera a visibilidade do banner. show para mostrar o banner, hide oculta o banner.
  7. banner_location coloca o banner em 1 dos 4 locais fornecidos: above-site-header, below-site-header, above-main-container e before-topic-list.

Agradecimentos especiais a @Lilly por ajudar a organizar os arquivos!

4 curtidas

Acho bastante semelhante aos componentes de tema " Notification banners " e tem mais personalização.

2 curtidas

Sim, mas desta forma o banner permanece lá (as pessoas perguntaram como fazer o banner voltar depois de fechá-lo).

2 curtidas

Bom trabalho, Nate. :clap: :slight_smile:
Gosto da simplicidade.

Acho que a pré-visualização do criador de temas não está funcionando. :thinking:

Algumas sugestões para você pensar:

  • há um pequeno problema de posicionamento no modo desktop, especialmente se alguém estiver usando uma tela larga / tela cheia.

  • seria bom controlar o tamanho e a cor dessa borda.

  • talvez opções de posicionamento com diferentes saídas de plugin, como below-site-header e above-main-containter?

  • embora o uso de lista enum vs. entrada de texto para escolhas de cores seja conveniente, também limita os administradores de usar as variáveis de paleta de cores que funcionam com modos escuro/claro, ou de serem mais granulares com valores de cores hexadecimais.

  • Eu sugiro tornar a configuração de entrada de texto da string do banner com a propriedade textarea: true, então você obterá uma caixa de texto multilinha que o usuário pode expandir. Então é mais fácil fazer isso:

2 curtidas

Vou experimentar os posicionamentos do banner e tentar fazer isso funcionar.

Não deve ser um grande problema, vou adicionar isso.

Entendido. Tenho uma ideia de como implementar isso.

Acho que posso implementar isso.

Entendido, vou adicionar isso.

1 curtida

@Lilly Só para verificar, eu adiciono isso em settings.yml?

1 curtida

sim, você pode vê-lo aqui no componente de banner versátil:

resultado nas configurações do componente:

2 curtidas

Implementado.

Feito.

Agora você pode usar valores hexadecimais (inclua o #), cores CSS válidas ou variáveis de tema (var(–var-name)).

Também feito.

Acho que está corrigido. Você poderia testar do seu lado?

2 curtidas

isso está definitivamente corrigido. bom trabalho. :smiley: :discourse:

captura de tela da minha visualização de desktop widescreen

3 curtidas

ATUALIZAÇÃO:
Simplifiquei o arquivo .gjs movendo as instruções if de verificação se o texto do banner está vazio e a visibilidade do banner para o arquivo .scss.

2 curtidas