Adicionar botões de Login/Cadastro ao HTML personalizado

Estou usando o tema Banner (https://meta.discourse.org/t/banner-themes-and-instructions-for-customizing-them/82368) para exibir conteúdo HTML para usuários anônimos. Basicamente, apenas incentivando-os a criar uma conta.

Estou tentando adicionar um “cadastre-se” no meio do meu conteúdo. De modo geral, tem sido bastante simples apenas criar um botão e, ao clicar, redirecionar para .xyz Domain Names | Join Generation XYZ e tratá-lo como um redirecionamento web comum. [Seja via JS / simples ‘form’ post / redirecionamento href etc…]

Tenho tentado ver se poderia utilizar uma maneira mais “nativa do Discourse” de realizar essa ação. Segui de perto o Guia do Desenvolvedor para Temas do Discourse. Em algum lugar entre widgets, controladores e componentes, deparei-me com uma pergunta:

Qual é a maneira mais direta usando Javascript (dentro de um script type=“text/discourse-plugin”) para “mostrar o modal de cadastro”? Para ser muito claro, estou tentando executar isso fora de um script Handlebars como este:

{{d-button action=(route-action “showCreateAccount”) class=“btn-primary sign-up-button” label=“sign_up”}}

Algo assim, no final… Estou tentando descobrir o que substituir o negrito por:

<script type="text/discourse-plugin"version=“0.8.18”>
document.getElementById(“showCreate”).onclick = function() {
{{d-button action=(route-action “showCreateAccount”) class=“btn-primary sign-up-button” label=“sign_up”}}
}
</script>

Tudo o que tentei gera diferentes erros, mas a maioria gira em torno de não entender a “ação”. Tentei pesquisar no Meta e, embora haja muitos exemplos de como criar um novo widget ou colocar isso em outro lugar, não consegui encontrar uma maneira de fazer isso nativamente. Qualquer ajuda seria muito apreciada.

(ps. Não estou dizendo que esta é a melhor maneira ou a maneira necessária de fazer isso funcionar, mas isso me ajudaria muito a entender como todo o aplicativo se encaixa)

Obrigado!

1 curtida