Trigger manualmente la navigazione a tutte le pagine chat e anche alla chat singola di un utente

Ciao, come posso attivare manualmente la navigazione alla chat dell’utente?

Ho un elenco personalizzato di utenti visualizzato nella pagina degli utenti, voglio aggiungere un pulsante di chat che attivi la navigazione alla pagina della chat di quell’utente, simile a quello che fa questo pulsante Chat nello screenshot

Ho provato ad allegare questa callback al pulsante:

customChatButton.addEventListener('click', () => {
    window.Discourse.router.transitionTo(`/chat/c/${username}`)
});

ma mi porta a “pagina non esiste o è privata”

Inoltre, in quella tabella di utenti, ho un pulsante personalizzato per tutte le chat e voglio che quando l’utente ci clicca sopra lo porti alla pagina di tutte le chat, a schermo intero, senza attivare il popup della chat dall’angolo in basso a destra del mio schermo.

Questo comando non sembra funzionare:

goToAllChatButton.addEventListener('click', () => {
    window.Discourse.router.transitionTo(`/chat`)
});

Puoi usare questo componente direttamente:

<Chat::DirectMessageButton @user={{user}} @modal={{true}} />
3 Mi Piace

Grazie per la risposta @j.jaffeux, è possibile farlo direttamente con l’oggetto router?