2020-05-14 09:30:32 +00:00
|
|
|
import makeQuery from "@saleor/hooks/makeQuery";
|
2019-06-19 14:40:52 +00:00
|
|
|
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}
|
2019-12-17 17:13:56 +00:00
|
|
|
query PageList(
|
|
|
|
$first: Int
|
|
|
|
$after: String
|
|
|
|
$last: Int
|
|
|
|
$before: String
|
|
|
|
$sort: PageSortingInput
|
|
|
|
) {
|
|
|
|
pages(
|
|
|
|
before: $before
|
|
|
|
after: $after
|
|
|
|
first: $first
|
|
|
|
last: $last
|
|
|
|
sortBy: $sort
|
|
|
|
) {
|
2019-06-19 14:40:52 +00:00
|
|
|
edges {
|
|
|
|
node {
|
|
|
|
...PageFragment
|
|
|
|
}
|
|
|
|
}
|
|
|
|
pageInfo {
|
|
|
|
hasPreviousPage
|
|
|
|
hasNextPage
|
|
|
|
startCursor
|
|
|
|
endCursor
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
`;
|
2019-12-17 17:13:56 +00:00
|
|
|
export const usePageListQuery = makeQuery<PageList, PageListVariables>(
|
2019-06-19 14:40:52 +00:00
|
|
|
pageList
|
|
|
|
);
|
|
|
|
|
|
|
|
const pageDetails = gql`
|
|
|
|
${pageDetailsFragment}
|
|
|
|
query PageDetails($id: ID!) {
|
|
|
|
page(id: $id) {
|
|
|
|
...PageDetailsFragment
|
|
|
|
}
|
|
|
|
}
|
|
|
|
`;
|
|
|
|
export const TypedPageDetailsQuery = TypedQuery<
|
|
|
|
PageDetails,
|
|
|
|
PageDetailsVariables
|
|
|
|
>(pageDetails);
|