mirror of
https://github.com/pacnpal/thrilltrack-explorer.git
synced 2025-12-20 11:51:14 -05:00
Refactor Admin Page Structure
This commit is contained in:
57
src/components/admin/UserManagement.tsx
Normal file
57
src/components/admin/UserManagement.tsx
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
|
||||||
|
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
|
||||||
|
import { ProfileManager } from '@/components/moderation/ProfileManager';
|
||||||
|
import { UserRoleManager } from '@/components/moderation/UserRoleManager';
|
||||||
|
import { Users, Shield, UserCheck, UserX } from 'lucide-react';
|
||||||
|
|
||||||
|
export function UserManagement() {
|
||||||
|
return (
|
||||||
|
<div className="space-y-6">
|
||||||
|
<div className="flex items-center gap-3">
|
||||||
|
<Users className="w-6 h-6 text-primary" />
|
||||||
|
<h2 className="text-2xl font-semibold">User Management</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<Tabs defaultValue="profiles" className="space-y-4">
|
||||||
|
<TabsList className="grid w-full grid-cols-2">
|
||||||
|
<TabsTrigger value="profiles" className="flex items-center gap-2">
|
||||||
|
<UserCheck className="w-4 h-4" />
|
||||||
|
Profile Management
|
||||||
|
</TabsTrigger>
|
||||||
|
<TabsTrigger value="roles" className="flex items-center gap-2">
|
||||||
|
<Shield className="w-4 h-4" />
|
||||||
|
Role Management
|
||||||
|
</TabsTrigger>
|
||||||
|
</TabsList>
|
||||||
|
|
||||||
|
<TabsContent value="profiles">
|
||||||
|
<Card>
|
||||||
|
<CardHeader>
|
||||||
|
<CardTitle>Profile Management</CardTitle>
|
||||||
|
<CardDescription>
|
||||||
|
Manage user profiles, ban users, and handle account moderation
|
||||||
|
</CardDescription>
|
||||||
|
</CardHeader>
|
||||||
|
<CardContent>
|
||||||
|
<ProfileManager />
|
||||||
|
</CardContent>
|
||||||
|
</Card>
|
||||||
|
</TabsContent>
|
||||||
|
|
||||||
|
<TabsContent value="roles">
|
||||||
|
<Card>
|
||||||
|
<CardHeader>
|
||||||
|
<CardTitle>Role Management</CardTitle>
|
||||||
|
<CardDescription>
|
||||||
|
Assign and manage user roles and permissions
|
||||||
|
</CardDescription>
|
||||||
|
</CardHeader>
|
||||||
|
<CardContent>
|
||||||
|
<UserRoleManager />
|
||||||
|
</CardContent>
|
||||||
|
</Card>
|
||||||
|
</TabsContent>
|
||||||
|
</Tabs>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -8,8 +8,7 @@ import { Badge } from '@/components/ui/badge';
|
|||||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
|
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';
|
||||||
import { ModerationQueue } from '@/components/moderation/ModerationQueue';
|
import { ModerationQueue } from '@/components/moderation/ModerationQueue';
|
||||||
import { ReportsQueue } from '@/components/moderation/ReportsQueue';
|
import { ReportsQueue } from '@/components/moderation/ReportsQueue';
|
||||||
import { UserRoleManager } from '@/components/moderation/UserRoleManager';
|
import { UserManagement } from '@/components/admin/UserManagement';
|
||||||
import { ProfileManager } from '@/components/moderation/ProfileManager';
|
|
||||||
import { AdminHeader } from '@/components/layout/AdminHeader';
|
import { AdminHeader } from '@/components/layout/AdminHeader';
|
||||||
|
|
||||||
export default function Admin() {
|
export default function Admin() {
|
||||||
@@ -100,7 +99,7 @@ export default function Admin() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Tabs defaultValue="queue" className="space-y-6">
|
<Tabs defaultValue="queue" className="space-y-6">
|
||||||
<TabsList className="grid w-full grid-cols-4">
|
<TabsList className="grid w-full grid-cols-3">
|
||||||
<TabsTrigger value="queue" className="flex items-center gap-2">
|
<TabsTrigger value="queue" className="flex items-center gap-2">
|
||||||
<FileText className="w-4 h-4" />
|
<FileText className="w-4 h-4" />
|
||||||
Moderation Queue
|
Moderation Queue
|
||||||
@@ -109,13 +108,9 @@ export default function Admin() {
|
|||||||
<Flag className="w-4 h-4" />
|
<Flag className="w-4 h-4" />
|
||||||
Reports
|
Reports
|
||||||
</TabsTrigger>
|
</TabsTrigger>
|
||||||
<TabsTrigger value="profiles" className="flex items-center gap-2">
|
|
||||||
<Users className="w-4 h-4" />
|
|
||||||
Profile Management
|
|
||||||
</TabsTrigger>
|
|
||||||
<TabsTrigger value="users" className="flex items-center gap-2">
|
<TabsTrigger value="users" className="flex items-center gap-2">
|
||||||
<Shield className="w-4 h-4" />
|
<Users className="w-4 h-4" />
|
||||||
User Roles
|
User Management
|
||||||
</TabsTrigger>
|
</TabsTrigger>
|
||||||
</TabsList>
|
</TabsList>
|
||||||
|
|
||||||
@@ -147,32 +142,8 @@ export default function Admin() {
|
|||||||
</Card>
|
</Card>
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
|
|
||||||
<TabsContent value="profiles">
|
|
||||||
<Card>
|
|
||||||
<CardHeader>
|
|
||||||
<CardTitle>Profile Management</CardTitle>
|
|
||||||
<CardDescription>
|
|
||||||
Manage user profiles, ban status, and role assignments
|
|
||||||
</CardDescription>
|
|
||||||
</CardHeader>
|
|
||||||
<CardContent>
|
|
||||||
<ProfileManager />
|
|
||||||
</CardContent>
|
|
||||||
</Card>
|
|
||||||
</TabsContent>
|
|
||||||
|
|
||||||
<TabsContent value="users">
|
<TabsContent value="users">
|
||||||
<Card>
|
<UserManagement />
|
||||||
<CardHeader>
|
|
||||||
<CardTitle>User Role Management</CardTitle>
|
|
||||||
<CardDescription>
|
|
||||||
Advanced role management and user search
|
|
||||||
</CardDescription>
|
|
||||||
</CardHeader>
|
|
||||||
<CardContent>
|
|
||||||
<UserRoleManager />
|
|
||||||
</CardContent>
|
|
||||||
</Card>
|
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user