summaryrefslogtreecommitdiff
path: root/apps/web/src/components/ui/react-markdown-wrapper.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/src/components/ui/react-markdown-wrapper.tsx')
-rw-r--r--apps/web/src/components/ui/react-markdown-wrapper.tsx26
1 files changed, 26 insertions, 0 deletions
diff --git a/apps/web/src/components/ui/react-markdown-wrapper.tsx b/apps/web/src/components/ui/react-markdown-wrapper.tsx
new file mode 100644
index 00000000..181ae8ac
--- /dev/null
+++ b/apps/web/src/components/ui/react-markdown-wrapper.tsx
@@ -0,0 +1,26 @@
+import ReactMarkdown from "react-markdown";
+import { cn } from "@/utils/ui";
+
+export function ReactMarkdownWrapper({ children }: { children: string }) {
+ return (
+ <ReactMarkdown
+ components={{
+ a: ({ className: linkClassName, children, ...props }) => (
+ <a
+ className={cn("text-primary hover:underline", linkClassName)}
+ target="_blank"
+ rel="noopener noreferrer"
+ {...props}
+ >
+ {children}
+ </a>
+ ),
+ strong: ({ children }) => (
+ <strong className="text-foreground font-semibold">{children}</strong>
+ ),
+ }}
+ >
+ {children}
+ </ReactMarkdown>
+ );
+}