Tengo una cosa más con la que necesito ayuda para completar esto. Es un poco descarado pedirlo, lo sé.
Ahora estoy intentando modificar Pavilion para que también pueda admitir este comportamiento, utilizando la lógica simple de tus tres fragmentos geniales. Sin embargo, no puedo hacerlo funcionar debido a mi ineptitud con javascript. Esto es lo que estoy intentando modificar:
createWidget('layouts-group-link', {
tagName: 'li.layouts-group-link',
buildKey: (attrs) => `layouts-group-link-${attrs.id}`,
getGroupTitle(group) {
return h('span.group-title', group.name);
},
isOwner(group) {
if (group.owner) {
return h('span.group-owner-icon', iconNode('shield-alt'));
}
},
html(attrs) {
const contents = [this.getGroupTitle(attrs), this.isOwner(attrs)];
return contents;
},
click() {
DiscourseURL.routeTo(`/g/${this.attrs.name}/messages`);
},
});
¿Cómo aplico la parte de abajo a eso? He intentado todo lo que se me ocurrió en el último click(){etc} pero he fallado. Simplemente termino rompiendo el enlace por completo.
if (group.is_group_user && group.has_messages) {
groupURL = `${groupURL}/messages/`;
}