import { auth } from '@/auth'; import { getImageCacheHeadersForAuth, getPhotosCached } from '@/cache'; import { IMAGE_OG_SIZE, MAX_PHOTOS_TO_SHOW_TEMPLATE_TIGHT, } from '@/photo/image-response'; import TemplateImageResponse from '@/photo/image-response/TemplateImageResponse'; import { getIBMPlexMonoMedium } from '@/site/font'; import { ImageResponse } from 'next/server'; export const runtime = 'edge'; export async function GET() { const [ photos, { fontFamily, fonts }, headers, ] = await Promise.all([ getPhotosCached({ sortBy: 'priority', limit: MAX_PHOTOS_TO_SHOW_TEMPLATE_TIGHT, }), getIBMPlexMonoMedium(), getImageCacheHeadersForAuth(await auth()), ]); const { width, height } = IMAGE_OG_SIZE; return new ImageResponse( ( ), { width, height, fonts, headers, }, ); }