2bb7802fb9
* abstract base invite banner * WIP banner actions * WIP modify obj * minor fix * invite accept/decline cache mutations * banner accept/decline basically works * new block for accepting workspace invite * WIP wrong account flow * login/registration block changes * add email invite related changes * add new email FE * add email w/ invite works * final adjustments * minor fixes * addressing cr comments * no-FF support * extra workspace ff checks
30 lines
773 B
TypeScript
30 lines
773 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,
|
|
loading
|
|
} = useQuery(userSearchQuery, variables, () => ({
|
|
debounce: 300,
|
|
enabled: (variables.value.query || '').length >= 3
|
|
}))
|
|
|
|
return {
|
|
userSearch: result,
|
|
searchVariables: usedVariables,
|
|
refetch,
|
|
loading
|
|
}
|
|
}
|