export const PRODUCTS_QUERY = `
  query getProducts($first: Int!, $after: String, $query: String) {
    products(first: $first, after: $after, query: $query) {
      pageInfo {
        hasNextPage
        endCursor
      }
      edges {
        node {
          id
          title
          descriptionHtml
          description
          vendor
          productType
          handle
          status
          tags
          collections(first: 20) {
            edges {
              node {
                id
                title
                handle
              }
            }
          }
          tracksInventory
          totalInventory
          media(first: 20) {
            edges {
              node {
                mediaContentType
                alt
                ... on MediaImage {
                  id
                  image {
                    id
                    url
                    altText
                    width
                    height
                  }
                }
                ... on Video {
                  id
                  sources {
                    url
                    format
                    mimeType
                  }
                  originalSource {
                    url
                  }
                }
                ... on ExternalVideo {
                  id
                  originUrl
                  embeddedUrl
                }
              }
            }
          }
          images(first: 20) {
            edges {
              node {
                id
                url
                altText
                width
                height
              }
            }
          }
          variants(first: 100) {
            edges {
              node {
                id
                title
                sku
                barcode
                price
                compareAtPrice
                inventoryQuantity
                inventoryPolicy
                availableForSale
                selectedOptions {
                  name
                  value
                }
                image {
                  id
                  url
                  altText
                }
                inventoryItem {
                  measurement {
                    weight {
                      unit
                      value
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
`;

export const SHOP_INFO_QUERY = `
  query getShopInfo {
    shop {
      id
      name
      email
      myshopifyDomain
      currencyCode
      ianaTimezone
      timezoneOffset
      primaryDomain {
        url
        host
      }
    }
  }
`;

export const COLLECTIONS_QUERY = `
  query getCollections($first: Int!, $after: String) {
    collections(first: $first, after: $after) {
      pageInfo {
        hasNextPage
        endCursor
      }
      edges {
        node {
          id
          title
          handle
          description
          productsCount {
            count
          }
          image {
            url
            altText
          }
        }
      }
    }
  }
`;

export const PRODUCT_TAGS_QUERY = `
  query getProductTags($first: Int!) {
    shop {
      productTags(first: $first) {
        edges {
          node
        }
      }
    }
  }
`;
