diff --git a/src/components/PageGrid/index.tsx b/src/components/PageGrid/index.tsx index 3cd73edc..9efe7658 100644 --- a/src/components/PageGrid/index.tsx +++ b/src/components/PageGrid/index.tsx @@ -20,8 +20,8 @@ export const PageGrid: React.FC = props => { {props.items.map((item, i) => { const gridColumn = item.featured ? 'span 2' : 'auto' const layout: CardLayout = item.featured ? 'featured' : 'simple' - const src = item.coverSrc - const srcSet = imageSrcSet(item.coverSrc, [ImageSize.large, ImageSize.medium, ImageSize.small]) + const src = item.coverSrc ?? process.env.APP_CARD_DEFAULT_IMAGE + const srcSet = imageSrcSet(src, [ImageSize.large, ImageSize.medium, ImageSize.small]) const content = !item.featured ? ( diff --git a/src/lib/image.ts b/src/lib/image.ts index b838226b..1b0df646 100644 --- a/src/lib/image.ts +++ b/src/lib/image.ts @@ -6,6 +6,10 @@ export type ResizeOptions = { } export function resizeImage(src: string, options: ResizeOptions): string { + if (!src || src === '') { + return null + } + return `https://images.weserv.nl/?url=${src}&w=${options.width}&h=${options.height}&n=-1` } diff --git a/src/types.ts b/src/types.ts index b3657913..ec92ac13 100644 --- a/src/types.ts +++ b/src/types.ts @@ -11,9 +11,9 @@ export interface IBreadcumbsPart { export type PageCardData = { url: string title: string - featured: boolean date: Date - coverSrc: string + featured?: boolean + coverSrc?: string } export interface IPage {