Skip to content

Commit

Permalink
feat(snippet): write the client query to find public snippets
Browse files Browse the repository at this point in the history
  • Loading branch information
tericcabrel committed Nov 1, 2023
1 parent 17b6dfb commit 815f18d
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 20 deletions.
18 changes: 4 additions & 14 deletions packages/front/graphql/snippets/queries/public-snippets.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
import { gql, useQuery } from '@apollo/client';
import { gql, useLazyQuery } from '@apollo/client';

import { PublicSnippetsQuery, PublicSnippetsQueryVariables } from '../../generated';

type UsePublicSnippetsQueryArgs = {
itemPerPage?: number | null;
nextToken?: string | null;
};

export const findPublicSnippetsQuery = gql`
query publicSnippets($args: PublicSnippetsArgs!) {
publicSnippets(args: $args) {
Expand Down Expand Up @@ -35,13 +30,8 @@ export const findPublicSnippetsQuery = gql`
}
`;

export const usePublicSnippetsQuery = (args: UsePublicSnippetsQueryArgs) => {
return useQuery<PublicSnippetsQuery, PublicSnippetsQueryVariables>(findPublicSnippetsQuery, {
variables: {
args: {
itemPerPage: args.itemPerPage,
nextToken: args.nextToken,
},
},
export const useLazyPublicSnippetsQuery = () => {
return useLazyQuery<PublicSnippetsQuery, PublicSnippetsQueryVariables>(findPublicSnippetsQuery, {
fetchPolicy: 'network-only',
});
};
22 changes: 16 additions & 6 deletions packages/front/services/snippets/public-snippets.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { PublicSnippetsQuery } from '../../graphql/generated';
import { usePublicSnippetsQuery } from '../../graphql/snippets/queries/public-snippets';
import { useLazyPublicSnippetsQuery } from '../../graphql/snippets/queries/public-snippets';
import { PublicSnippetResult } from '../../typings/queries';

type UsePublicSnippetsArgs = {
Expand Down Expand Up @@ -36,13 +36,23 @@ export const formatPublicSnippetsResult = (data?: PublicSnippetsQuery): PublicSn
};
};

export const usePublicSnippets = (args: UsePublicSnippetsArgs) => {
const query = usePublicSnippetsQuery(args);
export const usePublicSnippets = () => {
const [query] = useLazyPublicSnippetsQuery();

const data = formatPublicSnippetsResult(query.data);
// const data = formatPublicSnippetsResult(query.data);

const findPublicSnippets = (args: UsePublicSnippetsArgs) => {
return query({
variables: {
args: {
itemPerPage: args.itemPerPage,
nextToken: args.nextToken,
},
},
});
};

return {
data,
isLoading: query.loading && !query.error && !query.data,
findPublicSnippets,
};
};

0 comments on commit 815f18d

Please sign in to comment.