45 lines
944 B
Vue
45 lines
944 B
Vue
|
<template>
|
||
|
<!-- TODO -->
|
||
|
</template>
|
||
|
|
||
|
<script lang="ts">
|
||
|
import { Component, Vue } from 'vue-property-decorator';
|
||
|
import { CREATE_PERSON, LOGGED_PERSON } from '../../graphql/actor';
|
||
|
import { IPerson } from '@/types/actor';
|
||
|
|
||
|
@Component({
|
||
|
apollo: {
|
||
|
loggedPerson: {
|
||
|
query: LOGGED_PERSON,
|
||
|
},
|
||
|
},
|
||
|
})
|
||
|
export default class Identities extends Vue {
|
||
|
loggedPerson!: IPerson;
|
||
|
errors: string[] = [];
|
||
|
newPerson!: IPerson;
|
||
|
|
||
|
async createProfile(e) {
|
||
|
e.preventDefault();
|
||
|
|
||
|
try {
|
||
|
await this.$apollo.mutate({
|
||
|
mutation: CREATE_PERSON,
|
||
|
variables: this.newPerson,
|
||
|
});
|
||
|
|
||
|
this.$apollo.queries.identities.refresh();
|
||
|
} catch (err) {
|
||
|
console.error(err);
|
||
|
err.graphQLErrors.forEach(({ message }) => {
|
||
|
this.errors.push(message);
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
|
||
|
host() {
|
||
|
return `@${window.location.host}`;
|
||
|
}
|
||
|
}
|
||
|
</script>
|