ttcMD: finished migrating to abstracted identifier registration, inlines token renderers to reduce memory overhead
This commit is contained in:
@@ -16,6 +16,7 @@ import React, {
|
||||
|
||||
import { sanitize } from "isomorphic-dompurify";
|
||||
import { MDSkeletonLoader } from "../loader";
|
||||
import { Token } from "@/types";
|
||||
|
||||
export const TTCMD: FC<
|
||||
{ body: string; escapeTOC?: (tokens: Token[]) => boolean }
|
||||
@@ -64,7 +65,9 @@ export const TTCMD: FC<
|
||||
);
|
||||
};
|
||||
|
||||
export const TTCMDRenderer: FC<{ tokens: Token[] }> = ({ tokens }) => {
|
||||
export const TTCMDRenderer: FC<{ tokens: Token[] }> = (
|
||||
{ tokens },
|
||||
) => {
|
||||
const tada = useMemo(
|
||||
() => (
|
||||
<>
|
||||
@@ -90,9 +93,7 @@ export const TTCMDRenderer: FC<{ tokens: Token[] }> = ({ tokens }) => {
|
||||
|
||||
function renderer(tokens: Token[]) {
|
||||
const usedIds: string[] = [];
|
||||
return tokens.map((t) => (
|
||||
<div className="p" key={t.uuid}>{render(t, usedIds)}</div>
|
||||
));
|
||||
return tokens.map((t) => <div className="p" key={t.uuid}>{t.render(t)}</div>);
|
||||
}
|
||||
|
||||
function render(token: Token, usedIds: string[]) {
|
||||
@@ -175,7 +176,7 @@ function render(token: Token, usedIds: string[]) {
|
||||
}
|
||||
case "inline-code":
|
||||
return (
|
||||
<span className="p-1 rounded-md font-mono bg-black/20 border border-mixed-100/20 mx-2">
|
||||
<span className="p-1 rounded-md font-mono bg-black/20 border border-mixed-100/20 mx-1">
|
||||
{token.content}
|
||||
</span>
|
||||
);
|
||||
|
Reference in New Issue
Block a user