Quando mudar temas/plugins para `.gjs`?

Gostaria de reabrir este tópico, pois estou tentando descobrir a melhor maneira de lidar com meus componentes. Atualmente, vejo duas opções que têm desvantagens significativas: eu poderia criar um registro por componente de tema que renderiza blocos, mas isso meio que anula todo o propósito modular. Ou adicionar um globalmente através de um plugin, mas então meus componentes se tornam dependentes da instalação desse plugin.

Portanto, parece que ter uma API de registro de blocos global no core realmente ajudaria. Algo que os componentes de tema poderiam usar para invocar a renderização de blocos e também para registrar novos blocos.

Eu adoro trabalhar com a abordagem de blocos porque me permite dividir as preocupações entre o layout do aplicativo e o conteúdo do componente. O componente de bloco apenas lida com a renderização de seu conteúdo, e então é renderizado por outro componente no aplicativo. Posso remover toda a lógica de rota e outlet do componente de bloco, e posso facilmente reutilizar o mesmo bloco várias vezes em um layout e até mesmo em todo o aplicativo.

Eu acho que isso torna tudo mais enxuto e reutilizável, e é uma abordagem elegante no geral. Ter um suporte sólido para esse padrão no Discourse seria ótimo.

4 curtidas