import { useQuery, useResult } from '@vue/apollo-composable' import gql from 'graphql-tag' export interface User { id: string name: string email: string avatar?: string setupDone?: boolean } export interface UseCurrentUserOptions { fragment?: string } export function useCurrentUser (options: UseCurrentUserOptions = {}) { const query = useQuery(gql` query currentUser { currentUser { id name email avatar setupDone emailConfirmationNeeded ${options.fragment || ''} } } `) const user = useResult(query.result) return { user, ...query, } }