forked from crowetic/commerce
57 lines
1.1 KiB
TypeScript
57 lines
1.1 KiB
TypeScript
import productFragment from '../fragments/product';
|
|
import seoFragment from '../fragments/seo';
|
|
|
|
const collectionFragment = /* GraphQL */ `
|
|
fragment collection on Collection {
|
|
handle
|
|
title
|
|
description
|
|
seo {
|
|
...seo
|
|
}
|
|
updatedAt
|
|
}
|
|
${seoFragment}
|
|
`;
|
|
|
|
export const getCollectionQuery = /* GraphQL */ `
|
|
query getCollection($handle: String!) {
|
|
collection(handle: $handle) {
|
|
...collection
|
|
}
|
|
}
|
|
${collectionFragment}
|
|
`;
|
|
|
|
export const getCollectionsQuery = /* GraphQL */ `
|
|
query getCollections {
|
|
collections(first: 100, sortKey: TITLE) {
|
|
edges {
|
|
node {
|
|
...collection
|
|
}
|
|
}
|
|
}
|
|
}
|
|
${collectionFragment}
|
|
`;
|
|
|
|
export const getCollectionProductsQuery = /* GraphQL */ `
|
|
query getCollectionProducts(
|
|
$handle: String!
|
|
$sortKey: ProductCollectionSortKeys
|
|
$reverse: Boolean
|
|
) {
|
|
collection(handle: $handle) {
|
|
products(sortKey: $sortKey, reverse: $reverse, first: 100) {
|
|
edges {
|
|
node {
|
|
...product
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
${productFragment}
|
|
`;
|