0

I want to set an images field in my document to an array of type [SanityImage]. I have tried setting it to type: 'image' but when I query the field I get that the type is [SanityCollectionItemsImages]

The images field is found inside an object (productVariant) which is then included in the main document (collection) where I have an array of productVariants in my items field.

Inside the fields array of my collection document:

...
{
  title: "Items",
  name: "items",
  type: "array",
  of: [
    {
      title: "Item",
      type: "productVariant",
    },
  ],
},
...

The productVariant type object:

export default {
  title: "Product variant",
  name: "productVariant",
  type: "object",
  fields: [
    {
      name: "images",
      title: "Images",
      type: "array",
     of: [
       {
         type: "image",
         options: {
           hotspot: true,
         },
       },
     ],
   },
   ...

My query using GraphQL:

allSanityCollection {
  edges {
    node {
      _id
      title
      description
      items {
        _key
        title
        images {
          asset {
            _ref
            _id
            fluid(maxHeight: 600) {
              base64
              aspectRatio
              src
              srcSet
              srcWebp
              srcSetWebp
              sizes
            }
          }
        }
      }
    }
  }
}

When I click on the the images field inside the GraphiQL web IDE: GraphiQL web IDE screenshot

Using Sanity.io HTTP API to get the whole document:

"images": [
  {
    "_key": "5605f5383975",
    "_type": "image",
    "asset": {
      "_ref": "image-14f9b7688912499f187b7c20e57816b3cdf42c1e-4016x4688-jpg",
      "_type": "reference"
    }
  },
  ...

My question is how to set the type of a field in my schema to be explicitly [SanityImage] instead of [SanityCollectionItemsImages] and why do I get that weird type?

Harry Theo
  • 784
  • 1
  • 8
  • 28

1 Answers1

1

The Sanity schema looks totally sane, and the API delivers the proper data structure as you say, so the problem seems to be related to the Gatsby and GraphQL layer of things.

I'll recommend making sure you are using the latest versions of the CLI, Studio and Sanity Gatsby plugin and see if that makes things better as development on the Gatsby source plugin is moving fast.