From 667972f05ee0583be35cf0e369a8111af9699eda Mon Sep 17 00:00:00 2001 From: James Collins Date: Mon, 13 Mar 2023 21:23:11 +1000 Subject: [PATCH] added image size helper methods --- resources/js/helpers/image.ts | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/resources/js/helpers/image.ts b/resources/js/helpers/image.ts index 17d500a..533eb0c 100644 --- a/resources/js/helpers/image.ts +++ b/resources/js/helpers/image.ts @@ -1,3 +1,5 @@ +import { ImportMetaExtras } from "../../../import-meta"; + type ImageLoadCallback = (url: string) => void; export const imageLoad = ( @@ -12,3 +14,33 @@ export const imageLoad = ( }; tmp.src = url; }; + +export const imageSize = (size: string, url: string) => { + const availableSizes = ["thumb", "medium", "large"]; + if (availableSizes.includes(size)) { + if ( + url.startsWith((import.meta as ImportMetaExtras).env.APP_URL) === + true + ) { + return `${url}?size=${size}`; + } + } + + return url; +}; + +export const imageThumb = (url: string) => { + return imageSize("thumb", url); +}; + +export const imageMedium = (url: string) => { + return imageSize("medium", url); +}; + +export const imageLarge = (url: string) => { + return imageSize("large", url); +}; + +export const imageFull = (url: string) => { + return imageSize("full", url); +};