From 7267c30fc9162a2f89e34930ba0da4528da2ec6f Mon Sep 17 00:00:00 2001 From: Tyler Myracle Date: Sat, 13 Jan 2024 15:19:58 -0600 Subject: [PATCH] fix json parsing issue in image-loader --- .../onboarding/steps/setup/AddFirstAccount.tsx | 2 ++ libs/client/shared/src/utils/image-loaders.ts | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/libs/client/features/src/onboarding/steps/setup/AddFirstAccount.tsx b/libs/client/features/src/onboarding/steps/setup/AddFirstAccount.tsx index ae7cb1c1..6cf93491 100644 --- a/libs/client/features/src/onboarding/steps/setup/AddFirstAccount.tsx +++ b/libs/client/features/src/onboarding/steps/setup/AddFirstAccount.tsx @@ -59,6 +59,8 @@ export function AddFirstAccount({ title, onNext }: StepProps) { loader={BrowserUtil.enhancerizerLoader} src={`financial-institutions/white/${src}.svg`} alt={name} + height={96} + width={96} /> ))} diff --git a/libs/client/shared/src/utils/image-loaders.ts b/libs/client/shared/src/utils/image-loaders.ts index 6ccd7cf3..2fa529d4 100644 --- a/libs/client/shared/src/utils/image-loaders.ts +++ b/libs/client/shared/src/utils/image-loaders.ts @@ -1,7 +1,23 @@ import type { ImageLoaderProps } from 'next/legacy/image' +function isJSON(str: string): boolean { + try { + JSON.parse(str) + return true + } catch (e) { + return false + } +} + export function enhancerizerLoader({ src, width }: ImageLoaderProps): string { - const parsed = JSON.parse(src) as { [key: string]: string | number } + let parsed: { [key: string]: string | number } + + if (isJSON(src)) { + parsed = JSON.parse(src) + } else { + parsed = { src } + } + parsed.width ??= width parsed.height ??= width