summaryrefslogtreecommitdiff
path: root/apps/web/src/components/ui/prose.tsx
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2025-07-22 11:41:58 +0200
committerMaze Winther <mazewinther@gmail.com>2025-07-22 11:41:58 +0200
commitfb5dca9f9d02a8e01a5189c4a8cf864d7a343b7e (patch)
tree3b2755097baa487e4447a973890be9f59f7d2689 /apps/web/src/components/ui/prose.tsx
parentc783062121a4a31ec6ee20c4ca52fd47f4fbdab7 (diff)
parenta5f7b477e65e5acba56b8761cd9cd3074cdb41ac (diff)
downloadopencut-fb5dca9f9d02a8e01a5189c4a8cf864d7a343b7e.tar.gz
Merge branch 'main' into staging
Diffstat (limited to 'apps/web/src/components/ui/prose.tsx')
-rw-r--r--apps/web/src/components/ui/prose.tsx22
1 files changed, 22 insertions, 0 deletions
diff --git a/apps/web/src/components/ui/prose.tsx b/apps/web/src/components/ui/prose.tsx
new file mode 100644
index 00000000..c25a5a65
--- /dev/null
+++ b/apps/web/src/components/ui/prose.tsx
@@ -0,0 +1,22 @@
+import { cn } from "@/lib/utils";
+import type React from "react";
+
+type ProseProps = React.HTMLAttributes<HTMLElement> & {
+ as?: "article";
+ html: string;
+};
+
+function Prose({ children, html, className }: ProseProps) {
+ return (
+ <article
+ className={cn(
+ "prose prose-h2:font-semibold max-w-none prose-h1:text-xl prose-a:text-blue-600 prose-p:text-justify dark:prose-invert mx-auto",
+ className
+ )}
+ >
+ {html ? <div dangerouslySetInnerHTML={{ __html: html }} /> : children}
+ </article>
+ );
+}
+
+export default Prose;