diff --git a/src/components/assets/GraphCMSAsset.tsx b/src/components/assets/GraphCMSAsset.tsx index ac0694178..d627c0608 100644 --- a/src/components/assets/GraphCMSAsset.tsx +++ b/src/components/assets/GraphCMSAsset.tsx @@ -120,8 +120,8 @@ const GraphCMSAsset = (props: Props): JSX.Element => { key={id} id={id} src={resolvedAssetProps.url} - title={resolvedAssetProps.title} - alt={resolvedAssetProps.alt || resolvedAssetProps.title || resolvedAssetProps.url} + title={resolvedAssetProps.filename} + alt={resolvedAssetProps.filename || resolvedAssetProps.url} className={classnames(`asset-${id}`, className, resolvedAssetProps.classes)} style={deepmerge(style || {}, resolvedAssetProps.style || {})} /> diff --git a/src/components/assets/Logo.tsx b/src/components/assets/Logo.tsx index 4cf24ab48..d0f06feb7 100644 --- a/src/components/assets/Logo.tsx +++ b/src/components/assets/Logo.tsx @@ -63,8 +63,8 @@ const Logo = (props: Props): JSX.Element => { } const sizes = generateSizes({ - baseWidth: parseFloat(resolvedLogoProps.width as string), - baseHeight: parseFloat(resolvedLogoProps.height as string), + baseWidth: resolvedLogoProps.thumbnails.small.width, + baseHeight: resolvedLogoProps.thumbnails.small.height, sizesMultipliers, }); @@ -89,9 +89,9 @@ const Logo = (props: Props): JSX.Element => { key={id} id={id} src={resolvedLogoProps.url} - title={resolvedLogoProps.title} - alt={resolvedLogoProps.alt || resolvedLogoProps.title || resolvedLogoProps.url} - className={classnames(`logo-${id}`, className, resolvedLogoProps.classes)} + title={resolvedLogoProps.filename} + alt={resolvedLogoProps.filename || resolvedLogoProps.url} + className={classnames(`logo-${id}`, className)} style={deepmerge(style || {}, resolvedLogoProps.style || {})} onClick={onClick} /> diff --git a/src/types/data/AirtableSystemFields.ts b/src/types/data/AirtableSystemFields.ts index 1415252cf..1a7b92cab 100644 --- a/src/types/data/AirtableSystemFields.ts +++ b/src/types/data/AirtableSystemFields.ts @@ -4,6 +4,6 @@ * Those fields are available on any Airtable record. */ export declare type AirtableSystemFields = { - id: string; - createdTime: string; + id?: string; + createdTime?: string; } diff --git a/src/types/data/Asset.ts b/src/types/data/Asset.ts index 247a78f9b..1ce24f4d6 100644 --- a/src/types/data/Asset.ts +++ b/src/types/data/Asset.ts @@ -12,12 +12,20 @@ export type AssetThumbnail = { * All fields are managed internally by Airtable and we have no control over them (they're not columns) */ export declare type Asset = { - url: string; - filename: string; + url?: string; + filename?: string; size?: number; type?: string; thumbnails?: { small?: AssetThumbnail; large?: AssetThumbnail; - } + }; + + // NRN own fields, dynamically set when manipulating assets + classes?: string; + defaultTransformations?: object; + linkTarget?: string; + linkUrl?: string; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + style?: string | object | any; } & AirtableSystemFields;