fix: fixed highligh search terms color

This commit is contained in:
190km
2025-02-23 01:18:18 +00:00
parent 56af89468a
commit 2470d672d4

View File

@@ -48,23 +48,12 @@ export function TerminalLine({ log, noTimestamp, searchTerm }: LogLineProps) {
} }
const htmlContent = fancyAnsi.toHtml(text); const htmlContent = fancyAnsi.toHtml(text);
const modifiedContent = htmlContent.replace(
/<span([^>]*)>([^<]*)<\/span>/g,
(match, attrs, content) => {
const searchRegex = new RegExp(`(${escapeRegExp(term)})`, "gi"); const searchRegex = new RegExp(`(${escapeRegExp(term)})`, "gi");
if (!content.match(searchRegex)) return match;
const segments = content.split(searchRegex); const modifiedContent = htmlContent.replace(
const wrappedSegments = segments searchRegex,
.map((segment: string) => (match) =>
segment.toLowerCase() === term.toLowerCase() `<span class="bg-orange-200/80 dark:bg-orange-900/80 font-bold">${match}</span>`,
? `<span${attrs} class="bg-yellow-200/50 dark:bg-yellow-900/50">${segment}</span>`
: segment,
)
.join("");
return `<span${attrs}>${wrappedSegments}</span>`;
},
); );
return ( return (