@@ -35,7 +35,7 @@ function AdminUserManagement() {
3535 const [ users , setUsers ] = useState ( [ ] ) ;
3636 const [ searchInput , setSearchInput ] = useState ( '' ) ;
3737 const [ search , setSearch ] = useState ( '' ) ;
38- const [ filter , setFilter ] = useState ( '' ) ; // '' | 'active' | 'blacklisted'
38+ const [ filter , setFilter ] = useState ( '' ) ; // '' | 'active' | 'blacklisted' | 'admin'
3939 const [ sortBy , setSortBy ] = useState ( 'newest' ) ; // 'newest' | 'oldest' | 'name_asc' | 'name_desc'
4040 const [ page , setPage ] = useState ( 1 ) ;
4141 const [ meta , setMeta ] = useState ( { total : 0 , totalPages : 1 , hasNext : false , hasPrev : false } ) ;
@@ -209,6 +209,7 @@ function AdminUserManagement() {
209209 { label : 'All' , value : '' } ,
210210 { label : 'Active' , value : 'active' } ,
211211 { label : 'Blacklisted' , value : 'blacklisted' } ,
212+ { label : 'Admins' , value : 'admin' } ,
212213 ] . map ( opt => (
213214 < button
214215 key = { opt . value }
@@ -219,6 +220,8 @@ function AdminUserManagement() {
219220 ? 'bg-red-600 text-white'
220221 : opt . value === 'active'
221222 ? 'bg-green-600 text-white'
223+ : opt . value === 'admin'
224+ ? 'bg-amber-500 text-white'
222225 : 'bg-gray-900 text-white'
223226 : 'bg-gray-100 text-gray-600 hover:bg-gray-200'
224227 } `}
@@ -255,9 +258,11 @@ function AdminUserManagement() {
255258 ) }
256259 { filter && (
257260 < span className = { `inline-flex items-center gap-1 px-2 py-0.5 text-xs rounded-full ${
258- filter === 'blacklisted' ? 'bg-red-100 text-red-700' : 'bg-green-100 text-green-700'
261+ filter === 'blacklisted' ? 'bg-red-100 text-red-700'
262+ : filter === 'admin' ? 'bg-amber-100 text-amber-700'
263+ : 'bg-green-100 text-green-700'
259264 } `} >
260- { filter === 'blacklisted' ? 'Blacklisted only' : 'Active only' }
265+ { filter === 'blacklisted' ? 'Blacklisted only' : filter === 'admin' ? 'Admins only' : 'Active only' }
261266 < button onClick = { ( ) => { setFilter ( '' ) ; setPage ( 1 ) ; } } className = "ml-1 hover:opacity-70" > ✕</ button >
262267 </ span >
263268 ) }
@@ -296,7 +301,11 @@ function AdminUserManagement() {
296301 < div
297302 key = { user . _id }
298303 className = { `border rounded-lg p-4 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 transition-shadow hover:shadow-sm ${
299- user . isBlacklisted ? 'border-red-200 bg-red-50' : 'border-gray-200'
304+ user . isBlacklisted
305+ ? 'border-red-200 bg-red-50'
306+ : user . isAdmin
307+ ? 'border-amber-300 bg-amber-50'
308+ : 'border-gray-200 bg-white'
300309 } `}
301310 >
302311 { /* User Info */ }
@@ -316,6 +325,11 @@ function AdminUserManagement() {
316325 < div >
317326 < div className = "flex items-center gap-2 flex-wrap" >
318327 < span className = "font-semibold text-gray-900" > { user . name } </ span >
328+ { user . isAdmin && (
329+ < span className = "px-2 py-0.5 bg-amber-100 text-amber-700 text-xs font-semibold rounded-full flex items-center gap-1" >
330+ < Shield size = { 11 } /> Admin
331+ </ span >
332+ ) }
319333 { user . isBlacklisted && (
320334 < span className = "px-2 py-0.5 bg-red-100 text-red-700 text-xs font-semibold rounded-full flex items-center gap-1" >
321335 < Ban size = { 11 } /> Blacklisted
0 commit comments