import { getCurrentUser } from "@/lib/auth/user";
import { queryAuditLogs } from "@/lib/services/admin.service";
import { AuditLogViewer } from "@/components/admin/audit-log-viewer";
import { History, ShieldAlert } from "lucide-react";

export default async function AdminAuditLogsPage(props: {
  searchParams?: Promise<{ search?: string; action?: string; entityType?: string; page?: string }>;
}) {
  const user = await getCurrentUser();
  if (!user) return null;

  const searchParams = await props.searchParams;
  const search = searchParams?.search || "";
  const action = searchParams?.action || "";
  const entityType = searchParams?.entityType || "";
  const page = searchParams?.page ? parseInt(searchParams.page, 10) : 1;

  const { logs, totalCount, totalPages } = await queryAuditLogs(user, {
    search,
    action,
    entityType,
    page,
    limit: 25,
  });

  return (
    <div className="space-y-6">
      <div className="pb-4 border-b border-border">
        <h1 className="text-xl sm:text-2xl font-bold tracking-tight text-foreground">
          Platform Security Audit Trail
        </h1>
      </div>

      <AuditLogViewer
        logs={logs}
        totalCount={totalCount}
        currentPage={page}
        totalPages={totalPages}
      />
    </div>
  );
}
