import { Form, json, useLoaderData, Outlet, Link, NavLink } from "remix"; import type { LoaderFunction } from "remix"; import { requireUserId } from "~/session.server"; import { useUser } from "~/utils"; import { getNoteListItems } from "~/models/note.server"; type LoaderData = { noteListItems: Awaited>; }; export const loader: LoaderFunction = async ({ request }) => { const userId = await requireUserId(request); const noteListItems = await getNoteListItems({ userId }); return json({ noteListItems }); }; export default function NotesPage() { const data = useLoaderData() as LoaderData; const user = useUser(); return (

Notes

{user.email}

+ New Note
{data.noteListItems.length === 0 ? (

No notes yet

) : (
    {data.noteListItems.map((note) => (
  1. `block border-b p-4 text-xl ${isActive ? "bg-white" : ""}` } to={note.id} > 📝 {note.title}
  2. ))}
)}
); }