diff --git a/framework/spree/types/index.ts b/framework/spree/types/index.ts index 86f5bcd97..c4d846a3e 100644 --- a/framework/spree/types/index.ts +++ b/framework/spree/types/index.ts @@ -26,10 +26,14 @@ export interface ImageStyle { url: string width: string height: string + size: string } export interface SpreeProductImage extends JsonApiDocument { attributes: { + position: number + alt: string + original_url: string styles: ImageStyle[] } } diff --git a/framework/spree/utils/create-get-absolute-image-url.ts b/framework/spree/utils/create-get-absolute-image-url.ts index 7b75aa780..09a31c54c 100644 --- a/framework/spree/utils/create-get-absolute-image-url.ts +++ b/framework/spree/utils/create-get-absolute-image-url.ts @@ -2,13 +2,19 @@ import { SpreeProductImage } from '../types' import getImageUrl from './get-image-url' const createGetAbsoluteImageUrl = - (host: string) => + (host: string, useOriginalImageSize: boolean = true) => ( image: SpreeProductImage, minWidth: number, minHeight: number ): string | null => { - const url = getImageUrl(image, minWidth, minHeight) + let url + + if (useOriginalImageSize) { + url = image.attributes.original_url || null + } else { + url = getImageUrl(image, minWidth, minHeight) + } if (url === null) { return null