Como alavancar a configuração "Abrir todos os links externos em uma nova guia" nas personalizações do site

Ah certo, eu negligenciei a parte “usuário” :sweat_smile: desculpe

Não é muito diferente usar a configuração do usuário, você só precisaria alterar as duas primeiras constantes para referenciar o usuário:

// configura a variável de usuário e destino:
const user = api.getCurrentUser()
const target = user?.user_option?.external_links_in_new_tab ? "_blank" : ""

e então todo o resto seria o mesmo.

Se isso fosse funcionar mais como o core, verificaríamos se o usuário existe e, se não existir, recorreríamos à configuração do site:

// configura as variáveis de usuário, siteSettings e destino:
const user = api.getCurrentUser()
const siteSettings = api.container.lookup('site-settings:main');
let target = siteSettings.default_other_external_links_in_new_tab ? "_blank" : ""; 

if (user) { // se o usuário existir, defina o destino com base na opção do usuário
 target = user.user_option?.external_links_in_new_tab ? "_blank" : ""
} 

// modifique a instrução if onde o link é criado para usar a variável de destino: 
if (userFields && userFields[userFieldId]) {
  const url = "http://myawesomewebsite.com/user/" + userFields[userFieldId];
  const link = `<a href="${url}" target="${target}">${url}</a>`;
  return Ember.Object.create({ link, name: externalUserIdField.get('name') });
} else {
  return null;
}
2 curtidas