24 lines
565 B
TypeScript
24 lines
565 B
TypeScript
import { NextRequest, NextResponse } from "next/server";
|
|
|
|
export function proxy(request: NextRequest) {
|
|
const token = request.cookies.get("access_token");
|
|
const isLoginPage = request.nextUrl.pathname === "/login";
|
|
|
|
if (isLoginPage && token) {
|
|
return NextResponse.redirect(new URL("/dashboard", request.url));
|
|
}
|
|
|
|
if (!isLoginPage && !token) {
|
|
return NextResponse.redirect(new URL("/login", request.url));
|
|
}
|
|
|
|
return NextResponse.next();
|
|
}
|
|
|
|
export const config = {
|
|
matcher: [
|
|
"/login",
|
|
"/dashboard/:path*",
|
|
"/users/:path*",
|
|
],
|
|
};
|