@@ -145,14 +145,19 @@ export default function UsersPage() {
145145 }
146146
147147 return (
148- < div className = "space-y-6 md:space-y-8 " >
149-
150- < div className = "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4" >
148+ < div className = "space-y-8 md:space-y-14 min-h-screen px-4 py-8 md:px-8 lg:px-16 relative overflow-x-hidden " >
149+ < div className = "flex items-center gap-3 pb-6 border-b border-zinc-800/60 relative z-10 mt-2 mb-4" >
150+ < span className = "inline-block w-2 h-6 sm:h-8 bg-gradient-to-b from-blue-400 to-pink-400 rounded-full mr-2" / >
151151 < div >
152- < h1 className = "text-2xl sm:text-3xl font-bold tracking-tight" > User Management</ h1 >
153- < p className = "text-muted-foreground text-sm sm:text-base" > Manage and monitor all platform users</ p >
152+ < h1 className = "text-2xl sm:text-3xl md:text-4xl font-extrabold tracking-tight text-zinc-900 dark:text-white drop-shadow-sm flex items-center gap-3" >
153+ User Management
154+ </ h1 >
155+ < p className = "text-zinc-400 mt-1 font-medium text-sm sm:text-base" > Manage and monitor all platform users</ p >
154156 </ div >
155- < div className = "flex flex-col sm:flex-row items-stretch sm:items-center gap-2" >
157+ </ div >
158+
159+ < div className = "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4" >
160+ < div className = "flex gap-3" >
156161 < Button variant = "outline" className = "text-sm" >
157162 < Download className = "h-4 w-4 mr-2" />
158163 Export
@@ -206,18 +211,37 @@ export default function UsersPage() {
206211 </ div >
207212 </ div >
208213
209-
214+ { /* User Stats Section Header */ }
215+ < div className = "flex items-center gap-3 mt-8 md:mt-10 mb-2 relative z-10" >
216+ < span className = "inline-block w-1.5 h-6 bg-gradient-to-b from-blue-400 to-emerald-400 rounded-full" />
217+ < h2 className = "text-lg sm:text-xl font-bold text-zinc-900 dark:text-white tracking-tight" > User Stats</ h2 >
218+ </ div >
219+
220+ { /* Stats Cards */ }
210221 < div className = "grid gap-4 grid-cols-1 sm:grid-cols-2 lg:grid-cols-4" >
211222 { userStats . map ( ( stat ) => (
212- < Card key = { stat . title } className = "border-0 shadow-lg" >
213- < CardHeader className = "flex flex-row items-center justify-between space-y-0 pb-2" >
214- < CardTitle className = "text-xs sm:text-sm font-medium" > { stat . title } </ CardTitle >
215- < div className = { `p-2 rounded-lg ${ stat . bgColor } ` } >
223+ < Card key = { stat . title } className = {
224+ `border-0 shadow-2xl rounded-2xl transition-transform duration-300 hover:-translate-y-2 ` +
225+ (
226+ stat . title === "Total Users"
227+ ? "bg-gradient-to-br from-blue-100/80 to-blue-200/60 dark:from-blue-900/60 dark:to-blue-800/40"
228+ : stat . title === "Active This Month"
229+ ? "bg-gradient-to-br from-emerald-100/80 to-emerald-200/60 dark:from-emerald-900/60 dark:to-emerald-800/40"
230+ : stat . title === "New Signups"
231+ ? "bg-gradient-to-br from-green-100/80 to-green-200/60 dark:from-green-900/60 dark:to-green-800/40"
232+ : stat . title === "Suspended"
233+ ? "bg-gradient-to-br from-red-100/80 to-red-200/60 dark:from-red-900/60 dark:to-red-800/40"
234+ : "bg-white/10 dark:bg-zinc-900/60"
235+ )
236+ } >
237+ < CardHeader className = "flex flex-row items-center justify-between space-y-0 pb-2 relative z-10" >
238+ < CardTitle className = "text-xs sm:text-sm font-medium text-zinc-900 dark:text-zinc-100 flex items-center gap-2 tracking-tight" > { stat . title } </ CardTitle >
239+ < div className = "p-2 rounded-lg bg-gradient-to-br from-white/80 to-zinc-100/40 dark:from-zinc-800/80 dark:to-zinc-900/40 shadow-lg flex items-center justify-center" >
216240 < stat . icon className = { `h-4 w-4 ${ stat . color } ` } />
217241 </ div >
218242 </ CardHeader >
219243 < CardContent >
220- < div className = "text-xl sm:text-2xl font-bold" > { stat . value } </ div >
244+ < div className = "text-xl sm:text-2xl font-bold text-zinc-900 dark:text-white " > { stat . value } </ div >
221245 < p className = "text-xs text-muted-foreground" >
222246 < span className = { stat . change . startsWith ( "+" ) ? "text-green-500" : "text-red-500" } > { stat . change } </ span > { " " }
223247 from last month
@@ -227,11 +251,20 @@ export default function UsersPage() {
227251 ) ) }
228252 </ div >
229253
230-
231- < Card className = "border-0 shadow-lg" >
254+ { /* User Directory Section Header */ }
255+ < div className = "flex items-center gap-3 mt-8 md:mt-10 mb-2 relative z-10" >
256+ < span className = "inline-block w-1.5 h-6 bg-gradient-to-b from-cyan-400 to-purple-400 rounded-full" />
257+ < h2 className = "text-lg sm:text-xl font-bold text-zinc-900 dark:text-white tracking-tight" > User Directory</ h2 >
258+ </ div >
259+
260+ { /* User Directory Card */ }
261+ < Card className = "border-0 shadow-2xl rounded-2xl bg-gradient-to-br from-cyan-100/80 to-cyan-200/60 dark:from-cyan-900/60 dark:to-cyan-800/40 relative overflow-hidden group" >
232262 < CardHeader >
233- < CardTitle className = "text-lg sm:text-xl" > User Directory</ CardTitle >
234- < CardDescription className = "text-sm" > Search and filter through all platform users</ CardDescription >
263+ < CardTitle className = "text-lg sm:text-xl text-zinc-900 dark:text-zinc-100 font-bold flex items-center" >
264+ < Users className = "h-5 w-5 mr-2 text-blue-400" />
265+ User Directory
266+ </ CardTitle >
267+ < CardDescription className = "text-zinc-500 dark:text-zinc-300 font-medium text-sm" > Search and filter through all platform users</ CardDescription >
235268 </ CardHeader >
236269 < CardContent >
237270 < div className = "flex flex-col gap-4 mb-6" >
@@ -270,7 +303,6 @@ export default function UsersPage() {
270303 </ div >
271304 </ div >
272305
273-
274306 < div className = "overflow-x-auto" >
275307 < Table >
276308 < TableHeader >
@@ -287,14 +319,14 @@ export default function UsersPage() {
287319 </ TableHeader >
288320 < TableBody >
289321 { filteredUsers . map ( ( user ) => (
290- < TableRow key = { user . id } >
322+ < TableRow key = { user . id } className = "hover:bg-purple-700/10 transition-colors" >
291323 < TableCell >
292324 < div className = "flex items-center space-x-3" >
293325 < div className = "w-8 h-8 bg-gradient-to-br from-primary to-purple-600 rounded-full flex items-center justify-center text-white text-sm font-semibold" >
294326 { user . avatar }
295327 </ div >
296328 < div className = "min-w-0 flex-1" >
297- < p className = "font-medium text-sm truncate" > { user . name } </ p >
329+ < p className = "font-medium text-sm truncate text-zinc-900 dark:text-zinc-100 " > { user . name } </ p >
298330 < p className = "text-xs text-muted-foreground truncate" > { user . email } </ p >
299331 < div className = "flex items-center gap-2 mt-1 sm:hidden" >
300332 { getRoleBadge ( user . role ) }
@@ -313,7 +345,7 @@ export default function UsersPage() {
313345 < TableCell className = "text-right" >
314346 < DropdownMenu >
315347 < DropdownMenuTrigger asChild >
316- < Button variant = "ghost" className = "h-8 w-8 p-0" >
348+ < Button variant = "ghost" className = "h-8 w-8 p-0 hover:bg-purple-700/20 text-purple-400 font-semibold text-xs sm:text-sm " >
317349 < MoreHorizontal className = "h-4 w-4" />
318350 </ Button >
319351 </ DropdownMenuTrigger >
0 commit comments