Devo stare facendo qualcosa di molto stupido, ma sono incapace di vederlo. Spero che pubblicare qui mi faccia vedere così posso cancellarlo prima che qualcun altro sappia quanto sono stupido.
“HELLO WORLD” dovrebbe essere visualizzato sulla home page. Vedo “THIS IS THE HOMEPAGE” nella console. So che sta funzionando. Ma non c’è.
Poi ho provato ad aggiungere “Extra item” perché non avevo altre idee. Nemmeno questo viene visualizzato.
Ho ricevuto errori prima di rinominare il file in .gjs, quindi è un’ulteriore prova che sta prestando attenzione al file e che sta facendo succedere qualcosa.
import { apiInitializer } from "discourse/lib/api";
export default apiInitializer("1.8.0", (api) => {
// see if we're on the home page
api.onPageChange(() => {
const router = api.container.lookup("service:router");
const url = router?.currentURL;
const isHomePage = url === "/";
api.renderInOutlet("top-notices", <template>Extra item</template>);
if (isHomePage) {
console.log("THIS IS THE HOMEPAGE");
api.renderInOutlet("after-header", <template>HELLO WORLD</template>);
}
});
});
Oh, baby! Sapevo davvero cos’era un servizio! Sapevo davvero cos’era un getter! Ora il mio testo viene visualizzato sulla home page e non su un’altra pagina (e presumibilmente su tutte le altre!).