From d5d391970465a37ae4781b13a4163b3ef522acf0 Mon Sep 17 00:00:00 2001 From: cawcenter Date: Fri, 12 Dec 2025 09:45:38 -0500 Subject: [PATCH] fix: Resolve IDE type errors for local development --- frontend/src/lib/seo/image-generator.ts | 7 ++++--- frontend/src/pages/api/seo/generate-article.ts | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/frontend/src/lib/seo/image-generator.ts b/frontend/src/lib/seo/image-generator.ts index 5e90198..ba197e8 100644 --- a/frontend/src/lib/seo/image-generator.ts +++ b/frontend/src/lib/seo/image-generator.ts @@ -139,9 +139,10 @@ export function generateFeaturedImage(input: ImageGeneratorInput): GeneratedImag .replace(/{subtitle}/g, escapeXml(input.subtitle || template.subtitle_text || '')); // Generate base64 data URI for inline use - const base64 = typeof Buffer !== 'undefined' - ? Buffer.from(svg).toString('base64') - : btoa(unescape(encodeURIComponent(svg))); + // Use TextEncoder for Node 18+ and browser compatibility + const encoder = new TextEncoder(); + const bytes = encoder.encode(svg); + const base64 = btoa(String.fromCharCode(...bytes)); const dataUri = `data:image/svg+xml;base64,${base64}`; return { diff --git a/frontend/src/pages/api/seo/generate-article.ts b/frontend/src/pages/api/seo/generate-article.ts index 693f02a..5f09dfd 100644 --- a/frontend/src/pages/api/seo/generate-article.ts +++ b/frontend/src/pages/api/seo/generate-article.ts @@ -1,3 +1,4 @@ +// @ts-ignore - Astro types available at build time import type { APIRoute } from 'astro'; import { getDirectusClient, readItems, createItem, updateItem } from '@/lib/directus/client'; import { parseSpintaxRandom, injectVariables } from '@/lib/seo/cartesian';