import { LoaderFunctionArgs, json } from "@remix-run/node"; import { useLoaderData } from "@remix-run/react"; import Article from "~/components/common/article"; export async function loader({ params }: LoaderFunctionArgs) { if (Number.isNaN(Number(params.year)) || Number.isNaN(Number(params.id))) { throw json("Not Found", { status: 404 }); } const note = await fetch(`https://paul.ren/api/note/get?id=${params.id}&year=${params.year}`).then((res) => res.json()) as API.Response; if (note.status === "Failed") { throw json("Not Found", { status: 404 }); } return json(note); } export default function Detail() { const note = useLoaderData(); return (

{note.data.title}

{note.data.date}

); };