Код баннера «Добро пожаловать/с возвращением» не работает?

Я попробовал это, но имя пользователя не отображается.

Может ли кто-нибудь посмотреть, почему это сейчас не работает? :slightly_smiling_face:

Я хочу это использовать. :slightly_smiling_face:

Привет @kynic :wave:

У вас это работает?

Если доступно имя, отображается имя; если доступно только имя пользователя, отображается оно.

Просто чтобы сохранить текущий пример выше :arrow_down_small:

Заголовок

<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 = "Привет " + api.getCurrentUser().name + "!";
      } else {
        loggedInUser.innerText = "Привет " + api.getCurrentUser().username + "!";
      }
    }
  });
</script>

После заголовка

<h2 class="x-title"><span id="logged-in-user"></span> Добро пожаловать в ваше новое сообщество</h2>

Надеюсь, это поможет. :slight_smile:

Привет,

Я тестировал это на локальном хосте, и когда я добавил своё полное имя в профиль пользователя, оно начало отображаться. Но должно ли это работать и без добавления полного имени?

В любом случае, на продакшн-сайте всё работает отлично.

Хочу показывать «С возвращением, [имя пользователя]» для авторизованных пользователей и «Добро пожаловать» для неавторизованных.

Кто-нибудь может помочь?

Измените JavaScript так, чтобы возвращалось «Welcome», если текущего авторизованного пользователя нет:

<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 = "Привет " + api.getCurrentUser().name + "!";
      } else {
        loggedInUser.innerText = "Привет " + api.getCurrentUser().username + "!";
      }
    } else {
      loggedInUser.innerText = "Welcome"
    }
  });
</script>