From 396c315266c473ff89333065f5ef14c7b3c74694 Mon Sep 17 00:00:00 2001 From: patcapulong Date: Sat, 21 Feb 2026 00:47:29 -0800 Subject: [PATCH 1/2] docs: clarify React hooks work in MDX, useEffect is not the issue Co-Authored-By: Claude Opus 4.6 --- CLAUDE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CLAUDE.md b/CLAUDE.md index a7ae0235..e583f6cf 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -13,7 +13,7 @@ Grid is an API for global payments across fiat, stablecoins, and Bitcoin. - Use snippets from `mintlify/snippets/` instead of duplicating content across use cases - Follow writing standards in `mintlify/CLAUDE.md` for all documentation content - MDX files require frontmatter with `title` and `description` -- Do not use `React.useEffect` in MDX — it breaks Mintlify's acorn parser. `React.useState` is fine. +- React hooks (`useState`, `useEffect`, etc.) work in MDX. If the acorn parser throws, it's usually a JS expression issue (e.g., template literals in JSX curlies), not the hook itself. ## Commands From 03767052a7d641148ccf3acee81d49f90ac28273 Mon Sep 17 00:00:00 2001 From: patcapulong Date: Tue, 24 Feb 2026 19:09:06 -0800 Subject: [PATCH 2/2] fix: use Mintlify dynamic thumbnails for API reference OG images Auto-generated OpenAPI pages were showing a blank background as their OG image because seo.metatags.og:image bypassed Mintlify's dynamic thumbnail generation. Switch to the thumbnails config so these pages get dynamically generated OG images with page titles overlaid on a dark background. Co-authored-by: Cursor --- mintlify/docs.json | 10 ++++------ mintlify/images/og/og-api-reference-generic.png | Bin 0 -> 16664 bytes 2 files changed, 4 insertions(+), 6 deletions(-) create mode 100644 mintlify/images/og/og-api-reference-generic.png diff --git a/mintlify/docs.json b/mintlify/docs.json index 97723499..5c94b22b 100644 --- a/mintlify/docs.json +++ b/mintlify/docs.json @@ -289,13 +289,11 @@ "contextual": { "options": ["copy", "view", "chatgpt", "claude"] }, - "seo": { - "metatags": { - "og:image": "/images/og/og-fallback-bg.png", - "og:image:width": "1200", - "og:image:height": "630" - } + "thumbnails": { + "background": "/images/og/og-api-reference-generic.png", + "appearance": "dark" }, + "seo": {}, "footer": {}, "head": { "raw": "", diff --git a/mintlify/images/og/og-api-reference-generic.png b/mintlify/images/og/og-api-reference-generic.png new file mode 100644 index 0000000000000000000000000000000000000000..d20f077618bfdd2ba0b85c6f40c00723510f6fd3 GIT binary patch literal 16664 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 k-^EA%y$%*?4f?Bg4fAA