1
0
Fork 0
mirror of https://gitlab.com/Alamantus/Readlebee.git synced 2025-07-05 07:34:18 +02:00
Readlebee/app/appListeners.js

29 lines
1,023 B
JavaScript
Raw Normal View History

export const appListeners = (app, state, emitter) => {
emitter.on(state.events.DOMCONTENTLOADED, () => {
emitter.emit(state.events.DOMTITLECHANGE, app.siteConfig.siteName);
2020-09-16 14:00:45 -06:00
// Emitter listeners
emitter.on(state.events.RENDER, callback => {
// This is a dirty hack to get the callback to call *after* re-rendering.
if (callback && typeof callback === "function") {
setTimeout(() => {
callback();
}, 50);
}
});
emitter.on(state.events.SET_LANGUAGE, newLanguage => {
app.setSettingsItem('lang', newLanguage);
state.language = newLanguage;
state.i18n.fetchLocaleUI().then(() => {
emitter.emit(state.events.RENDER);
});
});
2019-09-26 12:56:28 -06:00
state.i18n.fetchLocaleUI().then(() => {
app.checkIfLoggedIn(state).then(isLoggedIn => {
emitter.emit(state.events.RENDER); // This should hopefully only run once after the DOM is loaded. It prevents routing issues where 'render' hasn't been defined yet
});
})
});
}