È questo il modo corretto per creare un componente tema?

Sebbene questo approccio sia tecnicamente possibile, non è quello ideale.

Invece di utilizzare i tag script e $(document).ready di jQuery, sarebbe meglio integrarsi correttamente con il sistema di rendering di Ember.

Per iniziare, è consigliabile creare un repository per il componente del tema con una struttura di cartelle appropriata. Dai un’occhiata alla CLI discourse_theme, poiché questa genererà automaticamente quella struttura per te, semplificandoti lo sviluppo del componente. (In alternativa, esiste anche lo skeleton del tema se ti serve solo la struttura e non le altre funzionalità della CLI del tema).

Da qui, ti consiglio di utilizzare gli strumenti che Discourse mette a disposizione per l’estensibilità, come apiInitializers, la pluginAPI, gli outlet dei plugin, ecc., per ottenere ciò che stai cercando di fare.

Il modo migliore per imparare queste cose è consultare le Guide per gli sviluppatori qui su Meta, in particolare le sezioni relative ai temi/componenti del tema. Inoltre, ti consiglio di esplorare la categoria Customization > Theme component e di esaminare i loro repository GitHub. Studiare il loro codice e come realizzano le varie funzionalità ti sarà molto utile.

Spero che questo ti sia utile!