import { NextResponse } from 'next/server';
import type { NextRequest } from 'next/server';

export function middleware(request: NextRequest) {
  const { pathname } = request.nextUrl;
  const token = request.cookies.get('token')?.value;

  const isAdminRoute = pathname.startsWith('/admin');
  const isLoginPage = pathname === '/admin/login';

  // 🔒 Not logged in → block admin routes
  if (isAdminRoute && !isLoginPage && !token) {
    return NextResponse.redirect(new URL('/admin/login', request.url));
  }

  // 🔁 Logged in → prevent login page
  if (isLoginPage && token) {
    return NextResponse.redirect(new URL('/admin/', request.url));
  }

  // ❌ REMOVE THIS (causes loop)
  // if (pathname === '/admin' && token) {
  //   return NextResponse.redirect(new URL('/admin/', request.url));
  // }

  return NextResponse.next();
}

export const config = {
  matcher: ['/admin/:path*'],
};