guesstimate/client/src/gql/queries/project.ts

23 lines
713 B
TypeScript

import { gql, useQuery, QueryHookOptions } from '@apollo/client';
import { useGraphQLData } from './helper';
import { Project } from '../../types/project';
import { FRAGMENT_FULL_PROJECT } from '../fragments/project';
export const QUERY_PROJECTS = gql`
query projects($filter: ProjectsFilter) {
projects(filter: $filter) {
...FullProject
}
}
${FRAGMENT_FULL_PROJECT}`;
export function useProjectsQuery() {
return useQuery(QUERY_PROJECTS);
}
export function useProjects<A = any, R = Record<string, any>>(options: QueryHookOptions<A, R> = {}) {
const { data, loading, error } = useGraphQLData<Project[]>(
QUERY_PROJECTS, 'projects', [], options
);
return { projects: data, loading, error };
}