import Link from "next/link";
import { PageContainer } from "@/components/layout/PageContainer";
import { ROUTES } from "@/config/routes.config";
import { getCurrentUser } from "@/modules/auth";
import { isAdminRole } from "@/lib/auth/permissions";

export default async function NotFoundPage() {
  const user = await getCurrentUser();
  const isAdmin = user && isAdminRole(user.role);
  const homeHref = isAdmin ? "/admin" : ROUTES.home;
  const homeLabel = isAdmin ? "Go to admin dashboard" : "Go home";
  return (
    <PageContainer>
      <div className="mx-auto max-w-xl text-center">
        <p className="text-sm font-medium text-muted">404</p>
        <h1 className="mt-2 text-3xl font-semibold tracking-tight text-foreground">
          Page not found
        </h1>
        <p className="mt-3 text-muted">
          The page you are looking for does not exist or has been moved.
        </p>
        <div className="mt-6">
          <Link
            href={homeHref}
            className="inline-flex items-center justify-center rounded-lg bg-primary px-5 py-2.5 text-sm font-medium text-primary-foreground hover:bg-primary-hover transition-colors"
          >
            {homeLabel}
          </Link>
        </div>
      </div>
    </PageContainer>
  );
}
