Feat/SW-1956 add English caption fallback * feat(SW-1956): add English fallback to gallery caption * feat(SW-1956): add English fallback to gallery caption Approved-by: Anton Gunnarsson
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
import type { ApiImage } from "@scandic-hotels/trpc/types/hotel"
|
|
import type { ImageVaultAsset } from "@scandic-hotels/trpc/types/imageVault"
|
|
|
|
import type { GalleryImage } from "@/types/components/imageGallery"
|
|
|
|
function mapApiImageToGalleryImage(apiImage: ApiImage): GalleryImage {
|
|
return {
|
|
src: apiImage.imageSizes.medium,
|
|
alt:
|
|
apiImage.metaData.altText ||
|
|
apiImage.metaData.altText_En ||
|
|
apiImage.metaData.title ||
|
|
apiImage.metaData.title_En,
|
|
caption: apiImage.metaData.title || apiImage.metaData.title_En,
|
|
smallSrc: apiImage.imageSizes.small,
|
|
}
|
|
}
|
|
|
|
export function mapApiImagesToGalleryImages(
|
|
apiImages: ApiImage[]
|
|
): GalleryImage[] {
|
|
return apiImages.map(mapApiImageToGalleryImage)
|
|
}
|
|
|
|
function mapImageVaultImageToGalleryImage(
|
|
imageVaultImage: ImageVaultAsset
|
|
): GalleryImage {
|
|
return {
|
|
src: imageVaultImage.url,
|
|
alt: imageVaultImage.meta.alt || imageVaultImage.meta.caption || "",
|
|
caption: imageVaultImage.meta.caption,
|
|
}
|
|
}
|
|
|
|
export function mapImageVaultImagesToGalleryImages(
|
|
imageVaultImages: ImageVaultAsset[]
|
|
): GalleryImage[] {
|
|
return imageVaultImages.map(mapImageVaultImageToGalleryImage)
|
|
}
|