Next.js Discord

Discord Forum

Help with Next-js redirect function in server component

Unanswered
Atlantic herring posted this in #help-forum
Open in Discord
Atlantic herringOP
Greetings!
I am using Next-js version 14.1.0 and in layout.tsx for auth routes I am getting customer using getCustomer() server action and using if condition to redirect user to home page if the user is logged in, so that the user can't access auth pages while logged in, but then I remove the cookie manually from browser, and getCustomer server action is returning null but still I am unable to access to sign-in page, it still redirects to home page. And If I refresh the page, then I can access the sign-in page once again.

could someone help me out here?

1 Reply

Atlantic herringOP
src/app/(auth)/layout.tsx

export default async function Layout({
  children,
}: {
  children: React.ReactNode;
}) {

  const customer = await getCustomer();

  if (customer) {
    redirect("/")
  }
  
  return (
    <div className="min-h-screen w-full bg-[#f0f0fa] p-5">
      <Card className="flex justify-center rounded-none border-0 bg-[#f0f0fa] px-4 py-1 shadow-none">
        <Link href="/">
          <Image
            src="/assets/images/logo.png"
            width={90}
            height={90}
            alt="logo"
          />
        </Link>
      </Card>
      {children}
    </div>
  );
}

export const dynamic = "force-dynamic";


Here is the code for reference, could anyone help me out here? Thank You.