import type { LoaderFunctionArgs } from "@remix-run/node"; import { useLoaderData } from "@remix-run/react"; import { getMDXComponent } from "mdx-bundler/client/index.js"; import React from "react"; import { BlogWrapper } from "~/components/BlogWrapper"; import { Title } from "~/components/Title"; import { getMdxFile } from "~/utils/posts.server"; export const handle = { to: "/blog", text: "Go Back", }; export const loader = async ({ params }: LoaderFunctionArgs) => { const name = params.name; if (name == null) { throw new Response(null, { status: 400 }); } return getMdxFile(name); }; export default function () { const { code, frontmatter: { title }, } = useLoaderData(); const MdxComponent = React.useMemo(() => getMDXComponent(code), [code]); return ( <> {title}
); }