import { type LoaderFunction, json } from "@remix-run/node"; import { getErrorMessage, requireLoggedOut } from "~/utils/auth.server"; import { commitSession, getSession } from "~/utils/session.server"; export type SignInLoaderData = { errors: { general: string } } | null; const loader: LoaderFunction = async ({ request }) => { const session = await getSession(request); const errorMessage = getErrorMessage(session); if (errorMessage) { return json( { errors: { general: errorMessage } }, { headers: { "Set-Cookie": await commitSession(session) }, }, ); } await requireLoggedOut(request); return null; }; export default loader;