diff --git a/src/components/admin/ControlBar.tsx b/src/components/admin/ControlBar.tsx
index 46818d9..5b70a5e 100644
--- a/src/components/admin/ControlBar.tsx
+++ b/src/components/admin/ControlBar.tsx
@@ -1,3 +1,4 @@
+import { Role } from "@prisma/client";
import { useSession } from "next-auth/react";
const AdminBarLayout = ({
@@ -11,7 +12,7 @@ const AdminBarLayout = ({
return (
- {data?.user ? (
+ {data?.user.role === Role.ADMIN ? (
Admin Mode
diff --git a/src/server/auth.ts b/src/server/auth.ts
index 533768c..54426d0 100644
--- a/src/server/auth.ts
+++ b/src/server/auth.ts
@@ -9,11 +9,13 @@ import { PrismaAdapter } from "@next-auth/prisma-adapter";
import { prisma } from "~/server/db";
import { loginSchema } from "~/lib/validation/auth";
import { verify } from "argon2";
+import { type Role } from "@prisma/client";
interface SessionUser {
id: string;
name: string;
username: string;
+ role: Role;
}
/**
@@ -100,6 +102,7 @@ export const authOptions: NextAuthOptions = {
id: result.id,
name: result.name,
username,
+ role: result.role,
};
} catch {
return null;