Olá a todos,
Tenho experiência em desenvolvimento iOS (Swift), apenas conhecimento superficial com Rails e Javascript. Estou tentando desenvolver um plugin para o Discourse e estou tendo problemas para exibir uma caixa de diálogo modal após clicar em um botão na barra de ferramentas da interface do editor de posts.
Consegui adicionar o botão com algo parecido com isto:
assets/javascripts/discourse/initializers/audio-message-button.js.es6
import { withPluginApi } from 'discourse/lib/plugin-api';
function initializeWithApi(api) {
api.onToolbarCreate(toolbar => {
toolbar.addButton({
id: "audio_message",
group: "extras",
icon: "microphone",
perform: (editor) => {
}
});
});
}
export default {
name: 'audio-message-button',
initialize(container) {
withPluginApi('0.12.0', api => initializeWithApi(api));
}
};
Tenho tentado usar o ChatGPT para me ajudar no desenvolvimento, e ele fez várias sugestões em relação à estrutura de pastas. Usando componentes, templates, arquivos de controller, mas não consigo fazer o diálogo aparecer. Ou recebo mensagens de erro ou nada acontece.
Já tentei pesquisar no fórum aqui, mas não consigo encontrar nada que possa me ajudar com isso.
Alguém pode me indicar a direção correta sobre como devo configurar a estrutura de pastas e, especialmente, as convenções de nomenclatura dos arquivos envolvidos, para que eu possa exibir um diálogo modal simples para começar?
Agradeço antecipadamente!
EDIT: Estou ciente de que a função perform não faz nada no código acima. Tentei vários métodos para fazê-la funcionar, mas nada ajudou. Então a deixei em branco aqui, apenas demonstrando o que fiz até agora para fazer o botão aparecer na barra de ferramentas.