import type { LoaderFunctionArgs } from "@remix-run/node"; import { Outlet, redirect, useLocation } from "@remix-run/react"; import { isAdmin, isMemberBasic, isMemberHasOTP, isMemberNotActive, isMemberPlatinum, } from "~/lib/middleware"; import RegisterCarousel from "./components/RegisterCarousel"; export async function loader({ request }: LoaderFunctionArgs) { const isUserAdmin = await isAdmin(request); const isPlatinum = await isMemberPlatinum(request); const isMember = await isMemberBasic(request); const isNotActive = await isMemberNotActive(request); const isMemberOTP = await isMemberHasOTP(request); if (isUserAdmin) { return redirect("/dashboard"); } if (isPlatinum || isMember) { return redirect("/app"); } if (isNotActive) { return redirect("/member"); } if (isMemberOTP) { return redirect("/otp"); } return null; } export default function AuthLayout() { const location = useLocation(); return (
{location.pathname === "/auth/register" ? (
) : ( hero )}
); }