@@ -9,6 +9,13 @@ import {
99 PersonalInfo ,
1010 ProfileInfo ,
1111} from "@/components/admin/users/ServerSections" ;
12+ import {
13+ DropdownMenu ,
14+ DropdownMenuTrigger ,
15+ DropdownMenuContent ,
16+ DropdownMenuItem ,
17+ DropdownMenuSeparator
18+ } from "@/components/shadcn/ui/dropdown-menu" ;
1219import { auth } from "@clerk/nextjs/server" ;
1320import { notFound } from "next/navigation" ;
1421import { isUserAdmin } from "@/lib/utils/server/admin" ;
@@ -42,7 +49,7 @@ export default async function Page({ params }: { params: { slug: string } }) {
4249 { /* <p className="text-sm text-muted-foreground">{users.length} Total Users</p> */ }
4350 </ div >
4451 </ div >
45- < div className = "col-span-2 flex items-center justify-end gap-2" >
52+ < div className = "col-span-2 hidden md: flex items-center justify-end gap-2 " >
4653 < Link href = { `/@${ user . hackerTag } ` } target = "_blank" >
4754 < Button variant = { "outline" } > Hacker Profile</ Button >
4855 </ Link >
@@ -64,6 +71,44 @@ export default async function Page({ params }: { params: { slug: string } }) {
6471 />
6572 ) }
6673 </ div >
74+ < div className = "col-span-2 flex md:hidden items-center justify-end pr-4" >
75+ < DropdownMenu >
76+ < DropdownMenuTrigger asChild >
77+ < Button variant = { "outline" } >
78+ Admin Actions
79+ </ Button >
80+ </ DropdownMenuTrigger >
81+ < DropdownMenuContent align = "end" className = "min-w-[160px]" >
82+ < DropdownMenuItem className = "justify-center" >
83+ < Link href = { `/@${ user . hackerTag } ` } target = "_blank" >
84+ < Button variant = { "outline" } > Hacker Profile</ Button >
85+ </ Link >
86+ </ DropdownMenuItem >
87+ < DropdownMenuSeparator />
88+ < DropdownMenuItem className = "justify-center" >
89+ < Link href = { `mailto:${ user . email } ` } >
90+ < Button variant = { "outline" } > Email Hacker</ Button >
91+ </ Link >
92+ </ DropdownMenuItem >
93+ < DropdownMenuSeparator />
94+ < div className = "px-2 py-1.5 text-sm text-center hover:bg-accent rounded-sm cursor-pointer" >
95+ < UpdateRoleDialog
96+ name = { `${ user . firstName } ${ user . lastName } ` }
97+ canMakeAdmins = { admin . role === "super_admin" }
98+ currPermision = { user . role }
99+ userID = { user . clerkID }
100+ />
101+ </ div >
102+
103+ { ( c . featureFlags . core . requireUsersApproval as boolean ) && (
104+ < ApproveUserButton
105+ userIDToUpdate = { user . clerkID }
106+ currentApproval = { user . isApproved }
107+ />
108+ ) }
109+ </ DropdownMenuContent >
110+ </ DropdownMenu >
111+ </ div >
67112 </ div >
68113 < div className = "mt-20 grid min-h-[500px] w-full grid-cols-3" >
69114 < div className = "flex h-full w-full max-w-[250px] flex-col items-center" >
0 commit comments