import { NextResponse } from "next/server";
import type { NextRequest } from "next/server";
export function middleware(request: NextRequest) {
const { pathname } = request.nextUrl;
// Only protect /dashboard routes
if (pathname.startsWith("/dashboard")) {
const sessionCookie = request.cookies.get("dashboard_session");
if (!sessionCookie?.value) {
const loginUrl = new URL("/login", request.url);
return NextResponse.redirect(loginUrl);
}
}
// Redirect /login to dashboard if already logged in
if (pathname === "/login") {
const sessionCookie = request.cookies.get("dashboard_session");
if (sessionCookie?.value) {
const dashboardUrl = new URL("/dashboard/overview", request.url);
return NextResponse.redirect(dashboardUrl);
}
}
return NextResponse.next();
}
export const config = {
matcher: ["/dashboard/:path*", "/login"],
};