resolves zulip client before routing

This commit is contained in:
كارل مبارك 2021-07-15 13:29:54 +02:00
parent 6eb4968579
commit 219095a6c6

View file

@ -40,13 +40,19 @@ export default {
this.$store.commit("setMobile", this.checkIfMobile());
});
this.getStreams();
this.$router.beforeEach(async (to) => {
if (!this.zulipClient || this.streams.length == 0) {
await this.getStreams()
}
})
this.$router.afterEach((to) => {
this.$store.commit("setTopics", []);
this.$store.commit("setRules", []);
this.$store.commit("setCurStream", to.path.replace("/", ""));
if (this.currentStream != "" && this.streams.find(s => s.name == this.currentStream)) {
if (this.currentStream != ""
&& this.streams.find(s => s.name == this.currentStream)
) {
this.setUpDoc(this.currentStream);
}
});
@ -56,6 +62,7 @@ export default {
checkIfMobile: () => window.innerWidth < 700,
getStreams() {
return new Promise((resolve) => {
api.zulip.init().then((client) => {
this.zulipClient = client;
api.zulip.getStreams(client).then((result) => {
@ -63,9 +70,11 @@ export default {
"setStreams",
result.streams.filter((s) => s.name.startsWith(this.pubStr))
);
resolve()
});
api.zulip.listen(this.zulipClient, this.eventHandler);
});
})
},
setUpDoc(stream) {