2020-09-11 09:19:18 +02:00
|
|
|
import { gql, useQuery, QueryHookOptions } from '@apollo/client';
|
|
|
|
import { useGraphQLData } from './helper';
|
|
|
|
import { Project } from '../../types/project';
|
2020-09-11 11:55:22 +02:00
|
|
|
import { FRAGMENT_FULL_PROJECT } from '../fragments/project';
|
2020-09-11 09:19:18 +02:00
|
|
|
|
|
|
|
export const QUERY_PROJECTS = gql`
|
|
|
|
query projects($filter: ProjectsFilter) {
|
|
|
|
projects(filter: $filter) {
|
2020-09-11 11:55:22 +02:00
|
|
|
...FullProject
|
2020-09-11 09:19:18 +02:00
|
|
|
}
|
2020-09-11 11:55:22 +02:00
|
|
|
}
|
|
|
|
${FRAGMENT_FULL_PROJECT}`;
|
2020-09-11 09:19:18 +02:00
|
|
|
|
|
|
|
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 };
|
|
|
|
}
|