🐛 (share) go to account after first sync

This commit is contained in:
2020-08-23 12:08:12 +02:00
parent 7819c762fb
commit 9e006a16dc
2 changed files with 24 additions and 7 deletions

View File

@@ -1,7 +1,11 @@
<template>
<div class="account-list">
<div class="account-grid" v-if="accounts.length">
<account-card v-for="(account, k) in accounts" :key="k" :account="account" />
<account-card
v-for="(account, k) in accounts"
:key="k"
:account="account"
/>
</div>
<div v-else-if="fetched">
<awe-icon icon="inbox" />&nbsp;Les comptes créés s'afficheront ici.
@@ -43,6 +47,10 @@ export default class AccountList extends Vue {
bus.$on(SYNC, this.getData)
}
public beforeDestroy() {
bus.$off(SYNC, this.getData)
}
public async getData(): Promise<void> {
this.accounts = await accountService.getAll(this.archived)
this.fetched = true

View File

@@ -6,6 +6,7 @@
import Vue from 'vue'
import { Action, Getter } from 'vuex-class'
import { Component, Prop } from 'vue-property-decorator'
import bus, { SYNC } from '@/utils/bus-event'
import IUser from '@/models/IUser'
import IAccount from '@/models/IAccount'
import queueNotifService from '@/services/QueueNotifService'
@@ -22,6 +23,7 @@ export default class AccountPublic extends Vue {
public addAccountId!: any
public async mounted(): Promise<void> {
bus.$on(SYNC, this.goToAccount)
try {
if (this.id) {
this.account = await accountService.get(this.id)
@@ -32,21 +34,28 @@ export default class AccountPublic extends Vue {
}
} catch (error) {
this.account = await accountService.getRemote(this.id)
if (this.account && this.account.isPublic) {
this.addAccountId({ accountId: this.id })
await couchService.initLive()
queueNotifService.success(
`Récupération du compte public ${this.account.name} en cours...`
)
await couchService.initLive()
this.$router.push({
name: 'account',
params: { id: this.id }
})
return
}
return
}
}
public beforeDestroy() {
bus.$off(SYNC, this.goToAccount)
}
public goToAccount() {
this.$router.push({
name: 'account',
params: { id: this.id }
})
}
}
</script>