Deseja modificar o modelo de TopicExcerpt?

Quero adicionar o avatar do criador do tópico às
exibições da lista de tópicos, mas não parece haver nenhuma maneira de modificar o Topic Excerpt.

TopicExcerpt:

Acho que a única opção é ocultar .topic-excerpt com CSS e usar meu próprio componente através do topic-list-main-link-bottom Plugin Outlet, que fica logo abaixo da área do TopicExcerpt. O problema com isso é que o plugin outlet só recebe o tópico como argumento, então tenho que duplicar toda a lógica em expandPinned para saber se devo exibi-lo ou não.

tl;dr; Poderíamos ter um PluginOutlet dentro do TopicExcerpt e/ou passar @expandPinned para os outlets topic-list-main-link-bottom?

1 curtida

Você tem mais opções agora, veja:

1 curtida

Pelo que sei, analisei todas as opções. Não vejo nenhuma maneira cirúrgica de modificar apenas o trecho.

sim, existe, exclua-o e adicione o seu

Você quer dizer substituir o item da lista de tópicos inteiro pelo meu? Eu gostaria de evitar ter que manter tudo isso quando só quero modificar uma pequena parte.

não, substitua a célula de trechos ou adicione outra ao lado dela e oculte-a.

O trecho não é uma célula. Ele é usado dentro do topic-cell e no item móvel

Você também pode ver lá que o topic-list-main-link-bottom plugin-outlet próximo passa apenas o @topic, mas não o @expandPinned.

1 curtida

Ah sim, você está certo, desculpas.

Eu vi o arquivo nos componentes da lista de tópicos e fiz uma suposição.

Mas, de qualquer forma, existem muitas ferramentas para conseguir o que você quer aqui, não?

O plugin outlet parece uma boa opção e, em seguida, manipular o layout com CSS?

Quanto ao expandPinned, talvez replicar a lógica em seu novo Componente conforme necessário?

Sim, esse é o caminho que eu estava seguindo. O que também significa replicar

  get useMobileLayout() {
    return applyValueTransformer(
      "topic-list-item-mobile-layout",
      this.site.mobileView,
      { topic: this.args.outletArgs.topic }
    );
  }
  //e de discovery/topics.js
  get expandGloballyPinned() {
    !this.expandAllPinned();
  }
  get expandAllPinned() {
    const category = this.discovery.category?.id
    const tag = this.discovery.tag?.id
    return category || tag;
  }

Eu estava esperando que implorar aos deuses pudesse produzir uma opção mais limpa :pray: :sweat_smile:

1 curtida

É isso que eu costumo fazer nas segundas-feiras de manhã.

2 curtidas

isso parece razoável, então fiz isso aqui:

5 curtidas

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.