Generar manualmente la navegación a toda la página de chat y también a la página de chat de un solo usuario

Hola, ¿cómo puedo activar manualmente la navegación al chat de usuario?

Tengo una lista personalizada de usuarios mostrada en la página de usuarios, quiero adjuntar un botón de chat que active la navegación a la página de chat de ese usuario, similar a lo que hace este botón de chat en la captura de pantalla.

He intentado adjuntar esta devolución de llamada al botón:

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

pero me lleva a “la página no existe o es privada”.

Además, en esa tabla de usuarios, tengo un botón personalizado de “todos los chats”, y quiero que cuando el usuario haga clic en él, lo lleve a la página de “todos los chats”, a pantalla completa, sin activar la ventana emergente de chat desde la esquina inferior derecha de mi pantalla.

Este comando no parece funcionar:

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

Puede usar este componente directamente:

<Chat::DirectMessageButton @user={{user}} @modal={{true}} />
3 Me gusta

Gracias por la respuesta @j.jaffeux, ¿es posible hacerlo directamente con el objeto router?