From 1df13ea3ca790ed0990912a21a85555a5246e179 Mon Sep 17 00:00:00 2001 From: MacRimi <123239993+MacRimi@users.noreply.github.com> Date: Sat, 15 Feb 2025 11:53:47 +0100 Subject: [PATCH] Create GuideContent.tsx --- web/app/guides/[slug]/GuideContent.tsx | 44 ++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 web/app/guides/[slug]/GuideContent.tsx diff --git a/web/app/guides/[slug]/GuideContent.tsx b/web/app/guides/[slug]/GuideContent.tsx new file mode 100644 index 0000000..d84a95d --- /dev/null +++ b/web/app/guides/[slug]/GuideContent.tsx @@ -0,0 +1,44 @@ +"use client" + +import { useState, useEffect } from "react" +import CopyableCode from "@/components/CopyableCode" + +function processContent(content: string) { + const codeBlockRegex = /
([\s\S]*?)<\/code><\/pre>/g
+ return content.replace(codeBlockRegex, (match, code) => {
+ return ` `
+ })
+}
+
+export default function GuideContent({ content }: { content: string }) {
+ const [processedContent, setProcessedContent] = useState("")
+
+ useEffect(() => {
+ setProcessedContent(processContent(content))
+ }, [content])
+
+ useEffect(() => {
+ const placeholders = document.querySelectorAll("CopyableCodePlaceholder")
+ placeholders.forEach((placeholder, index) => {
+ const code = decodeURIComponent(placeholder.getAttribute("code") || "")
+ const codeElement =
+ placeholder.replaceWith(codeElement)
+ })
+ }, []) // Removed unnecessary dependency: processedContent
+
+ return (
+
+ )
+}