SurfSense/surfsense_web/mdx-components.tsx

34 lines
914 B
TypeScript
Raw Normal View History

2025-07-27 10:05:37 -07:00
import defaultMdxComponents from "fumadocs-ui/mdx";
import type { MDXComponents } from "mdx/types";
2026-01-07 19:10:53 -08:00
import Image, { type ImageProps } from "next/image";
2025-12-24 18:03:22 -08:00
import {
Accordion,
AccordionContent,
AccordionItem,
AccordionTrigger,
} from "@/components/ui/accordion";
import { cn } from "@/lib/utils";
2025-07-27 10:05:37 -07:00
2025-04-22 02:24:13 -07:00
export function getMDXComponents(components?: MDXComponents): MDXComponents {
2025-07-27 10:05:37 -07:00
return {
...defaultMdxComponents,
img: ({ className, alt, ...props }: React.ComponentProps<"img">) => (
<Image
2026-01-07 19:10:53 -08:00
{...(props as ImageProps)}
className={cn("rounded-md border", className)}
alt={alt ?? ""}
/>
2025-12-24 18:03:22 -08:00
),
Video: ({ className, ...props }: React.ComponentProps<"video">) => (
<video className={cn("rounded-md border", className)} controls loop {...props} />
),
Accordion,
AccordionItem,
AccordionTrigger,
AccordionContent,
2025-07-27 10:05:37 -07:00
...components,
};
}
2025-12-24 18:03:22 -08:00
export const useMDXComponents = getMDXComponents;