diff --git a/app/(protected)/admin/loading.tsx b/app/(protected)/admin/loading.tsx
index 296546a..afab127 100644
--- a/app/(protected)/admin/loading.tsx
+++ b/app/(protected)/admin/loading.tsx
@@ -14,8 +14,7 @@ export default function AdminPanelLoading() {
-
-
+
>
);
diff --git a/app/api/admin/route.ts b/app/api/admin/route.ts
index 686374e..32317b6 100644
--- a/app/api/admin/route.ts
+++ b/app/api/admin/route.ts
@@ -1,7 +1,20 @@
import { prisma } from "@/lib/db";
+import { checkUserStatus } from "@/lib/dto/user";
+import { getCurrentUser } from "@/lib/session";
+
+export const revalidate = 60;
export async function GET(req: Request) {
try {
+ const user = checkUserStatus(await getCurrentUser());
+ if (user instanceof Response) return user;
+ if (user.role !== "ADMIN") {
+ return Response.json("Unauthorized", {
+ status: 401,
+ statusText: "Unauthorized",
+ });
+ }
+
const threeMonthsAgo = new Date();
threeMonthsAgo.setMonth(threeMonthsAgo.getMonth() - 3);
diff --git a/components/layout/navbar.tsx b/components/layout/navbar.tsx
index e616e78..f2e3519 100644
--- a/components/layout/navbar.tsx
+++ b/components/layout/navbar.tsx
@@ -107,7 +107,9 @@ export function NavBar({ scroll = false }: NavBarProps) {
href="/dashboard"
className="hidden text-sm font-medium text-foreground/60 transition-colors hover:text-foreground/80 md:block"
>
- Dashboard
+