Código do banner de boas-vindas/bem-vindo de volta não está funcionando?

Tentei isso e não está mostrando o nome de usuário.

Alguém pode dar uma olhada no porquê não está funcionando agora? :slightly_smiling_face:

Eu quero usá-lo. :slightly_smiling_face:

Olá @kynic :wave:

Funciona para você?

Se o nome estiver disponível, ele mostra o nome; se apenas o nome de usuário estiver disponível, ele mostrará o nome de usuário.

Apenas para manter o exemplo atual acima :arrow_down_small:

Cabeçalho

<script type="text/discourse-plugin" version="0.8">
  api.onPageChange(() => {
    if (api.getCurrentUser()) {
      const loggedInUser = document.getElementById("logged-in-user");
      if (api.getCurrentUser().name) {
        loggedInUser.innerText = "Hey " + api.getCurrentUser().name + "!";
      } else {
        loggedInUser.innerText = "Hey " + api.getCurrentUser().username + "!";
      }
    }
  });
</script>

Após o Cabeçalho

<h2 class="x-title">
  <span id="logged-in-user"></span> Bem-vindo à sua nova comunidade
</h2>

Espero que isso ajude. :slight_smile:

4 curtidas

Olá,

Eu estava testando isso no meu host local e, quando adicionei meu nome completo ao perfil do usuário, ele começou a aparecer. Mas ele também deveria funcionar sem adicionar um nome completo?

De qualquer forma, no site de produção, funciona bem.

Quero mostrar “Bem-vindo de volta user name” para usuários logados e “Bem-vindo” para usuários não logados.

Alguém pode ajudar?

Altere o Javascript para retornar “Welcome” se não houver nenhum usuário logado no momento—

<script type="text/discourse-plugin" version="0.8">
  api.onPageChange(() => {
    const loggedInUser = document.getElementById("logged-in-user");
    if (api.getCurrentUser()) {
      if (api.getCurrentUser().name) {
        loggedInUser.innerText = "Hey " + api.getCurrentUser().name + "!";
      } else {
        loggedInUser.innerText = "Hey " + api.getCurrentUser().username + "!";
      }
    } else {
      loggedInUser.innerText = "Welcome"
    }
  });
</script>
3 curtidas