У меня есть ещё одна вещь, с которой мне нужна помощь, чтобы полностью завершить это. Я знаю, что немного наглую, просив об этом.
Сейчас я пытаюсь модифицировать Pavilion, чтобы она тоже поддерживала такое поведение, используя простую логику из ваших трёх замечательных сниппетов. Однако у меня ничего не получается из-за моего неумения работать с JavaScript. Вот что я пытаюсь изменить:
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`);
},
});
Как применить код ниже к этому? Я перепробовал всё, что мог придумать, в части click(){...}, но безуспешно. В итоге ссылка полностью ломается.
if (group.is_group_user && group.has_messages) {
groupURL = `${groupURL}/messages/`;
}