Sou novo aqui, mas estou interessado em resolver o problema, então perguntei ao chat-gpt:
Aqui está a resposta:
O script que você encontrou é um bom começo. Ele está modificando o controlador poll-ui-builder para definir a propriedade publicPoll como true quando a função onShow() do controlador é chamada. Isso, de fato, se destina a ser adicionado como um Componente de Tema.
No entanto, o código pode não estar funcionando devido à ordem de execução. O método onShow() original define publicPoll como false e, em seguida, a modificação define publicPoll como true depois.
Uma maneira correta seria chamar primeiro o método onShow() do pai e, em seguida, definir publicPoll como true:
<script type="text/discourse-plugin" version="0.8">
api.modifyClass("controller:poll-ui-builder", {
onShow() {
this._super(...arguments);
this.set('publicPoll', true);
}
});
</script>
Você pode adicionar este script ao seu tema seguindo estes passos:
- Vá para o painel de administração do Discourse.
- Na seção “Customize”, clique em “Themes”.
- Selecione o tema que você deseja modificar.
- Na tela de edição do tema, clique em “Edit CSS/HTML”.
- Na barra lateral esquerda, clique em “</>” Common.
- Cole o script acima na seção “</>” Common.
- Clique no botão “Save”.
Isso aplicará a alteração ao seu tema. Lembre-se que as alterações de tema só são aplicadas aos usuários que estão usando aquele tema específico. Se você tiver vários temas, precisará adicionar essa modificação a cada um deles.
Além disso, lembre-se de limpar o cache do seu navegador ou fazer uma recarga forçada para garantir que as alterações sejam carregadas corretamente.
Tentarei seguir estes passos com o administrador do nosso Fórum, mas isso leva tempo. Se alguém aqui quiser tentar primeiro e der um feedback, ficarei muito feliz.
Outra coisa que eu adoraria mudar é o comportamento da interface do usuário, quero pular a tela simples, então perguntei ao chat-gpt novamente:
No seu código atual, a visualização estendida é controlada pela propriedade showAdvanced. Se ela estiver definida como true, a visualização avançada será exibida.
Para sempre exibir a visualização avançada, você pode modificar o método onShow() no controlador poll-ui-builder para definir showAdvanced como true. Você pode adicionar essa modificação ao componente de tema que você criou anteriormente. Aqui está o script atualizado:
<script type="text/discourse-plugin" version="0.8">
api.modifyClass("controller:poll-ui-builder", {
onShow() {
this._super(...arguments);
this.set('publicPoll', true);
this.set('showAdvanced', true);
}
});
</script>
Lembre-se de seguir os passos que descrevi anteriormente para adicionar este script ao seu tema. Assim que o script for salvo, a visualização avançada deverá ser sempre exibida quando a interface do usuário da enquete for carregada.
Novamente, lembre-se de limpar o cache do seu navegador ou fazer uma recarga forçada para garantir que as alterações sejam carregadas corretamente.
Eu adoraria tentar e testar por mim mesmo de alguma forma, mas como mencionado antes, sou apenas um moderador, não o administrador do nosso site, então isso levará alguns dias ou semanas.