The web app supports dynamic content through Payloads CMS integration and content components.
@/services/cms/cms.ts
)@/features/content/
)render-rich-text.tsx
)apps/web/src/lib/render-rich-text.tsx
to render rich text content from a Lexical-compatible JSON structure into React components.
Key Features:
LexicalNode
objects (see the LexicalNode
type in the file).<span>
with formatting classes.<h1>
, <h2>
, <h3>
with anchor IDs for linking.<p>
with spacing and leading.<ul>
/<li>
with proper indentation.<a>
with external link handling.See the file for full details and customization.
(content)/
)/blogs
and /blogs/[id]
for blog listings and detail pages./privacy-policy
for privacy content.