import { Fragment, type ReactNode } from "react";
import { TermDetail } from "@/components/public/term-detail";
import type { CatalogTextNode } from "@/lib/catalog/lunaris";
function renderNodes(nodes: CatalogTextNode[]): ReactNode {
return nodes.map((node, index) => {
if (node.type === "text") return {node.value};
const children = renderNodes(node.children);
if (node.type === "color") {
return {children};
}
if (!node.detail) return {children};
return (
);
});
}
export function LunarisText({
nodes,
fallback,
}: {
nodes?: CatalogTextNode[];
fallback: string;
}) {
return <>{nodes?.length ? renderNodes(nodes) : fallback}>;
}