import React, { useMemo } from 'react';
// Safely render snippet containing ... without dangerouslySetInnerHTML
export const SnippetRenderer: React.FC<{ snippet: string }> = ({ snippet }) => {
const parts = useMemo(() => {
if (!snippet) return [];
return snippet.split(/([\s\S]*?<\/mark>)/g);
}, [snippet]);
return (
{parts.map((part, i) => {
if (part.startsWith('') && part.endsWith('')) {
const text = part.slice(6, -7);
return (
{text}
);
}
return {part};
})}
);
};