@@ -8,8 +8,10 @@ import {
88 ChevronDown ,
99 Shield ,
1010 LogIn ,
11+ Star ,
1112} from "lucide-react" ;
1213import { AnimatePresence , motion } from "motion/react" ;
14+ import { Badge } from "@/components/ui/badge" ;
1315
1416function UserMenu ( ) {
1517 const { user, isAuthenticated, logout } = useAuth ( ) ;
@@ -43,8 +45,18 @@ function UserMenu() {
4345 className = "h-10 px-1 rounded-[50px] flex items-center gap-2 justify-between hover:bg-white/10 transition-colors"
4446 >
4547 < div className = "flex items-center gap-2" >
46- < div className = "w-8 h-8 rounded-full bg-gradient-to-br from-purple-500 to-blue-500 flex items-center justify-center" >
47- { user ?. role === "ADMIN" ? (
48+ < div
49+ className = { `w-8 h-8 rounded-full flex items-center justify-center ${
50+ user ?. role === "SUPER_ADMIN"
51+ ? "bg-gradient-to-br from-amber-500 to-yellow-500"
52+ : user ?. role === "ADMIN"
53+ ? "bg-gradient-to-br from-purple-500 to-blue-500"
54+ : "bg-gradient-to-br from-blue-500 to-cyan-500"
55+ } `}
56+ >
57+ { user ?. role === "SUPER_ADMIN" ? (
58+ < Star className = "w-4 h-4 text-white fill-white" />
59+ ) : user ?. role === "ADMIN" ? (
4860 < Shield className = "w-4 h-4 text-white" />
4961 ) : (
5062 < User className = "w-4 h-4 text-white" />
@@ -90,16 +102,34 @@ function UserMenu() {
90102 < p className = "text-xs text-white/60 mt-0.5" > { user . email } </ p >
91103 ) }
92104 < div className = "mt-2" >
93- < span
94- className = { `inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium ${
95- user ?. role === "ADMIN"
96- ? "bg-purple-500/20 text-purple-300"
97- : "bg-blue-500/20 text-blue-300"
105+ < Badge
106+ variant = {
107+ user ?. role === "SUPER_ADMIN"
108+ ? "default"
109+ : user ?. role === "ADMIN"
110+ ? "secondary"
111+ : "outline"
112+ }
113+ className = { `inline-flex items-center gap-1 ${
114+ user ?. role === "SUPER_ADMIN"
115+ ? "bg-amber-500/20 text-amber-300 border-amber-500/30"
116+ : user ?. role === "ADMIN"
117+ ? "bg-purple-500/20 text-purple-300 border-purple-500/30"
118+ : "bg-blue-500/20 text-blue-300 border-blue-500/30"
98119 } `}
99120 >
121+ { user ?. role === "SUPER_ADMIN" && (
122+ < Star className = "w-3 h-3 fill-amber-300" />
123+ ) }
100124 { user ?. role === "ADMIN" && < Shield className = "w-3 h-3" /> }
101- { user ?. role === "ADMIN" ? "Admin" : "User" }
102- </ span >
125+ { user ?. role === "SUPER_ADMIN"
126+ ? "Super Admin"
127+ : user ?. role === "ADMIN"
128+ ? "Admin"
129+ : user ?. role === "GUEST"
130+ ? "Guest"
131+ : "User" }
132+ </ Badge >
103133 </ div >
104134 </ div >
105135
0 commit comments