From a13be0530fa07013ea879f2cbd0022bad34a6fa7 Mon Sep 17 00:00:00 2001 From: James Collins Date: Mon, 10 Apr 2023 14:49:07 +1000 Subject: [PATCH] added media variants helper --- resources/js/helpers/media.ts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 resources/js/helpers/media.ts diff --git a/resources/js/helpers/media.ts b/resources/js/helpers/media.ts new file mode 100644 index 0000000..77bd966 --- /dev/null +++ b/resources/js/helpers/media.ts @@ -0,0 +1,25 @@ +import { Media } from "./api.types"; + +export const mediaGetVariantUrl = ( + media: Media, + variant = "scaled" +): string => { + if (!media) { + return ""; + } + + // If the variant is 'original', return the media url + if (variant === "original") { + return media.url; + } + + // If the variant key exists in media.variants, return the corresponding variant URL + if (media.variants && media.variants[variant]) { + return media.url.replace(media.name, media.variants[variant]); + } + + // If the variant key does not exist, return the 'scaled' variant + return media.variants && media.variants["scaled"] + ? media.url.replace(media.name, media.variants["scaled"]) + : media.url; +};