Estoy intentando rastrear el inicio de sesión de los usuarios en el foro de nuestro cliente. Básicamente, me gustaría crear un detector de eventos (en vanilla JS) que ejecute una función de JavaScript cada vez que un usuario inicie sesión en el foro.
Puedes usar algo como esto en la pestaña common > header de un componente de tema.
<script type="text/discourse-plugin" version="0.8">
const user = api.getCurrentUser();
// el usuario ya ha iniciado sesión, sal
if (user) {
return;
}
// haz tu trabajo aquí...
const clickCallback = (clickEvent) => {
console.log(clickEvent);
alert("el usuario está iniciando sesión");
// ..
// ..
};
api.onAppEvent("modal:body-shown", (event) => {
const loginButton = document.querySelector("#login-button");
if (loginButton) {
loginButton.addEventListener("click", clickCallback, { once: true });
}
});
</script>
Añade el código que necesites en la función clickCallback, y se activará cuando el usuario haga clic en el botón Login dentro del modal. Actualmente, esa id falta en el móvil, pero se corregirá cuando esto se fusione.