import { createElement } from "react"; import { icons } from "lucide-react"; import { loader } from "fumadocs-core/source"; import { transformerOpenAPI } from "fumadocs-openapi/server"; import { createOpenAPI } from "fumadocs-openapi/server"; import { docs } from "@/.source"; import * as Adapters from "./media-adapter"; import * as ClientAdapters from "./media-adapter.client"; // See https://fumadocs.vercel.app/docs/headless/source-api for more info export const source = loader({ // it assigns a URL to your pages baseUrl: "/", source: docs.toFumadocsSource(), pageTree: { transformers: [transformerOpenAPI()], }, icon(icon) { if (!icon) { return; } if (icon in icons) { return createElement(icons[icon as keyof typeof icons]); } }, }); export const openapi = createOpenAPI({ proxyUrl: "/api/proxy", mediaAdapters: { // override the default adapter of `application/json` "application/json": { ...Adapters.OpenIsleMediaAdapter, client: ClientAdapters.OpenIsleMediaAdapter, }, }, });