Properly handle account deleted

Close #191

Also fix an issue with public events not being accessible when requested
as another logged-in user.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2019-10-08 18:13:06 +02:00
parent 3a133b946f
commit bff00dea21
2 changed files with 15 additions and 8 deletions

View File

@@ -15,7 +15,7 @@
<search-field />
</b-navbar-item>
<b-navbar-dropdown v-if="currentUser.isLoggedIn" right>
<b-navbar-dropdown v-if="currentActor.id && currentUser.isLoggedIn" right>
<template slot="label" v-if="currentActor" class="navbar-dropdown-profile">
<figure class="image is-32x32" v-if="currentActor.avatar">
<img class="is-rounded" alt="avatarUrl" :src="currentActor.avatar.url">
@@ -97,6 +97,7 @@ import { RouteName } from '@/router';
skip() {
return this.currentUser.isLoggedIn === false;
},
error({ graphQLErrors }) { this.handleErrors(graphQLErrors); },
},
config: {
query: CONFIG,
@@ -135,6 +136,12 @@ export default class NavBar extends Vue {
}
}
async handleErrors(errors: GraphQLError) {
if (errors[0].message === 'You need to be logged-in to view your list of identities') {
await this.logout();
}
}
async logout() {
await logout(this.$apollo.provider.defaultClient);
this.$buefy.notification.open({