6bfffca0a9
* fix(fe2): show signup CTA for non-registered invitees [web-1144] * fix: server invite signup error * WIP project error access block * feat(fe2): better 'no project access' error screens * CR fix
28 lines
747 B
TypeScript
28 lines
747 B
TypeScript
import { useQuery } from '@vue/apollo-composable'
|
|
import type { Get } from 'type-fest'
|
|
import type {
|
|
UserSearchQuery,
|
|
UserSearchQueryVariables
|
|
} from '~~/lib/common/generated/gql/graphql'
|
|
import { userSearchQuery } from '~~/lib/common/graphql/queries'
|
|
|
|
export type UserSearchItem = NonNullable<Get<UserSearchQuery, 'userSearch.items[0]'>>
|
|
|
|
export function useUserSearch(params: { variables: Ref<UserSearchQueryVariables> }) {
|
|
const { variables } = params
|
|
const {
|
|
result,
|
|
variables: usedVariables,
|
|
refetch
|
|
} = useQuery(userSearchQuery, variables, () => ({
|
|
debounce: 300,
|
|
enabled: (variables.value.query || '').length >= 3
|
|
}))
|
|
|
|
return {
|
|
userSearch: result,
|
|
searchVariables: usedVariables,
|
|
refetch
|
|
}
|
|
}
|