saleor-dashboard/src/pages/queries.ts
Krzysztof Wolski a82de30309
Add circleci config and enhance our linters (#519)
* Add circleci config

* Season linting config

* Apply code style
2020-05-14 11:30:32 +02:00

73 lines
1.3 KiB
TypeScript

import makeQuery from "@saleor/hooks/makeQuery";
import gql from "graphql-tag";
import { TypedQuery } from "../queries";
import { PageDetails, PageDetailsVariables } from "./types/PageDetails";
import { PageList, PageListVariables } from "./types/PageList";
export const pageFragment = gql`
fragment PageFragment on Page {
id
title
slug
isPublished
}
`;
export const pageDetailsFragment = gql`
${pageFragment}
fragment PageDetailsFragment on Page {
...PageFragment
contentJson
seoTitle
seoDescription
publicationDate
}
`;
const pageList = gql`
${pageFragment}
query PageList(
$first: Int
$after: String
$last: Int
$before: String
$sort: PageSortingInput
) {
pages(
before: $before
after: $after
first: $first
last: $last
sortBy: $sort
) {
edges {
node {
...PageFragment
}
}
pageInfo {
hasPreviousPage
hasNextPage
startCursor
endCursor
}
}
}
`;
export const usePageListQuery = makeQuery<PageList, PageListVariables>(
pageList
);
const pageDetails = gql`
${pageDetailsFragment}
query PageDetails($id: ID!) {
page(id: $id) {
...PageDetailsFragment
}
}
`;
export const TypedPageDetailsQuery = TypedQuery<
PageDetails,
PageDetailsVariables
>(pageDetails);