Bem-vindo Banner do Link

Estou fazendo alguns testes (ao longo de meses… não pergunte).

Voltando a isso - parece que, desde uma atualização, a barra de boas-vindas agora só aparece quando o usuário está deslogado.

Existe alguma maneira de fazer a barra aparecer para todos - independentemente do status de login?

Obrigado

Martyn

1 curtida

Eu acabei de testar um pouco e não vejo esse problema, é possível que você tenha dispensado o banner clicando no x no canto? Se for esse o caso, você teria que limpar o localStorage do seu navegador para vê-lo novamente.

3 curtidas

Boa ideia - vou dar uma olhada
Obrigado

Tentei limpar o localstorage - tentei limpar os dados do navegador - tentei no Edge (vou tentar me limpar por semanas!) … ainda sem sucesso :frowning:

Como você configurou as definições de nível máximo de confiança e ocultar para a equipe?
Você tentou com um novo usuário criado para teste?

3 curtidas

Gostaria de tornar banners diferentes visíveis para usuários registrados e não registrados ou não deveriam ser todos os links do banner visíveis para usuários não registrados. Isso é possível?

1 curtida

@Aurora

Uma maneira seria criar links para usuários logados e seguir os links para usuários deslogados (em ordem, para que você tenha dois grupos de links).

Em seguida, com algum CSS, você oculta um grupo ou outro.
Existe uma classe CSS anon que você poderia usar.

Por exemplo, digamos que você tenha dois links para usuários logados e 3 para usuários deslogados:

  • link para usuário logado 1
  • link para usuário logado 2
  • link para usuário deslogado 1
  • link para usuário deslogado 2
  • link para usuário deslogado 3

Em CSS, você pode fazer:

/* Usuários deslogados: Oculta os dois primeiros links */
html.anon .featured-banner-link > div:nth-child(-n+2) {
    display: none !important;
}

/* Usuários logados: Oculta os últimos três links */
html:not(.anon) .featured-banner-link > div:nth-last-child(-n+3) {
    display: none !important;
}

Isso funcionaria para você?

5 curtidas

Sim! Muito obrigado! Isso é muito útil!

3 curtidas

Na área de links, no campo de ícone, não seria possível ter um autocompletar para facilitar a busca pelo ícone desejado?

Se não, pelo menos incluir um link direto para o site da FontAwesome tornaria mais óbvio que esse é o provedor de ícones, além de direcionar a pessoa diretamente para a fonte.

Por exemplo, baixei o componente e instalei, depois, ao criar o link, tive que voltar a este tópico para ler sobre ele novamente para então saber que é FontAwesome. Apenas uma sugestão para tornar mais rápido e fácil adicionar ícones.

EDIT: Usei o nome do site deles, mas não adiciona os ícones:

Por exemplo, este:

image

que parece ser gratuito:

Então, quais devemos usar?

Também notei um problema com o Resumo aqui neste tópico. Diz Welcome Link Banner é um banner simples que permite adicionar texto personalizado e 1-4 links, mas na verdade me permite adicionar mais links. Consegui adicionar 6 (e se eu continuar clicando, continuará adicionando mais links).

Se 4 é realmente o objetivo, então acredito que seria melhor se, após adicionar o 4º link, o + banner link desaparecesse ou ficasse esmaecido.

1 curtida

Concordo que seria útil. Isso não é específico deste TC, no entanto. Alguns tipos de entrada não estão disponíveis no TC em comparação com o core/plugins.

Vou ver se consigo fazer um PR para melhorar a descrição.

Você também pode precisar adicionar ícones que não estão incluídos no Discourse por padrão à configuração svg_icons

Este deve ser o seu problema.

Sim, você pode adicionar quantos quiser. Não há limite.
Isso implica que foi projetado para funcionar melhor com 1-4 links.

2 curtidas

obrigado

Ah, eu não sabia que ele não carregava todos os ícones disponíveis. Pensei que estivesse lendo diretamente do site do FA. Adicionei um ícone que não estava carregando e ele está visível agora. Muito obrigado.
Como posso ver quais estão disponíveis? Existe uma lista ou é como adicionar, ver se não aparece e depois adicionar?

Entendo. Acho que é a redação então. Talvez algo como
O Banner de Link de Boas-Vindas é um banner simples que permite adicionar texto e links personalizados (recomendado: até 4 links). ou algo assim.

Muito obrigado pela sua ajuda. Fico feliz que os ícones estejam visíveis agora! :slight_smile:

2 curtidas

Sim, essa seria a maneira mais fácil.

2 curtidas

Atualizar o tema "Welcome Link Banner" causou um erro de compilação SCSS e travou o site

Olá,

Recentemente, encontrei um problema crítico ao atualizar o tema "Welcome Link Banner" no meu fórum Discourse.

:stop_sign: Resumo do Problema:

  • Após atualizar o tema, o site travou imediatamente.
  • O modo de segurança (/safe-mode) também ficou inacessível.
  • O erro registrado foi:
CssSyntaxError: Missed semicolon in common.scss (MiniRacer::RuntimeError)
  • Este erro SCSS impediu o Discourse de compilar os assets, fazendo com que o frontend falhasse completamente.

:magnifying_glass_tilted_left: Causa Raiz:

  • O arquivo common.scss atualizado dentro do tema "Welcome Link Banner" continha um erro de sintaxe (falta de ; ponto e vírgula).
  • Como resultado, a compilação de assets falhou, e o Discourse não conseguiu servir nem mesmo a interface básica.

:hammer_and_wrench: Como Resolvi:

Como não consegui acessar a interface web (nem mesmo o Modo de Segurança), tive que corrigir manualmente:

  1. Conectei-me ao servidor via SSH.

  2. Entrei no container da aplicação:

    ./launcher enter app
    
  3. Abri o console Rails:

    RAILS_ENV=production rails c
    
  4. Desabilitei o tema com defeito:

    Theme.where(name: "Welcome Link Banner").update_all(enabled: false)
    
  5. Saí do console Rails.

  6. Limpei todos os assets compilados:

    RAILS_ENV=production rake assets:clobber
    
  7. Reconstruí a aplicação:

    ./launcher rebuild app
    

Após esses passos, o fórum voltou a ficar online.


:light_bulb: Sugestão:

  • Talvez adicionar uma verificação extra de sintaxe SCSS durante o upload/atualização do tema, antes de aplicá-lo aos sites de produção.
  • Isso poderia ajudar a evitar travamentos completos do site causados por pequenos erros de CSS.
1 curtida

Isso é estranho. Não há ponto e vírgula faltando no CSS para este componente.
Também não vejo nenhuma alteração no histórico. :thinking:

Em tempo, se /safe-mode não funcionar, você pode tentar anexar diretamente ?safe_mode=no_themes à URL.

3 curtidas

Hmm, eu também verifiquei e não vejo este problema. O componente foi personalizado? Ou talvez algo deu errado no processo de atualização?

1 curtida

Pode conflitar com outro componente que estou desenvolvendo

2 curtidas

1 - Eu descartei o banner, mas quero testar algumas coisas, então preciso trazê-lo de volta. Como?
2 - Notei que, pelo menos no celular, quando estou na página de Canais, o banner atrapalha completamente todo o layout:

3 - É possível excluir o banner de certas páginas, além de usar CSS? Estou ciente de que há o menu suspenso com homepage,discovery,all, mas isso é muito limitado.

Acho que limpar o cache pode ajudar, pois ele é armazenado no localStorage:

Eu fiz isso:

mas não funcionou. Estou usando Cloudflare e tive problemas com o cache deles. Devo esperar um pouco mais, ou como é localStorage, não está relacionado?

Não sou especialista nisso. Apenas adivinhando…

Existe alguma maneira de remover isso pela janela de Ferramentas do Desenvolvedor? Lembro-me de ter excluído algumas coisas lá em um ponto quando estava trabalhando em um site.

Atualização: Pedi ao ChatGPT para me ajudar de acordo com sua resposta e obtive isto:

Limpar o cache do navegador não afeta o localStorage, que é onde o estado de descarte é armazenado. Você precisa remover o item manualmente do localStorage.

Faça isto:

  1. Abra o site do Discourse.

  2. Pressione F12 ou clique com o botão direito → Inspecionar para abrir as Ferramentas do Desenvolvedor.

  3. Vá para a aba Console.

  4. Cole isto e pressione Enter:

    localStorage.removeItem("discourse_dismissedWelcomeLinkBanner");
    
  5. Atualize a página.

Isso redefinirá o estado de descarte, e o Banner de Boas-Vindas deverá aparecer novamente.


Então perguntei se eu também poderia fazer isso manualmente, e sim, posso, indo para a aba Application, depois na barra lateral indo para Storage > Localstorage e excluindo a “entrada”:

image


Deixe-me agradecer por me apontar na direção certa!

Então, agora minha pergunta é: se é assim que eu faço no meu desktop, como posso fazer no celular? O ChatGPT disse que eu poderia adicionar isto à barra de endereços e “executar”, mas não ajudou:

javascript:localStorage.removeItem("discourse_dismissedWelcomeLinkBanner");

EDIT: funcionou! Eu estava fazendo isso errado. O ChatGPT deixou claro agora que eu precisava abrir o fórum, então nessa mesma aba, executar javascript:localStorage.removeItem("discourse_dismissedWelcomeLinkBanner");, não em uma nova aba, que é o que eu estava fazendo.

Novamente, obrigado pela sua resposta, pois definitivamente ajudou a estreitar as coisas. :raising_hands:

1 curtida