diff --git a/src/pages/admin-users/admin-user-detail/AdminUserDetailPage.tsx b/src/pages/admin-users/admin-user-detail/AdminUserDetailPage.tsx new file mode 100644 index 0000000..e9bb08c --- /dev/null +++ b/src/pages/admin-users/admin-user-detail/AdminUserDetailPage.tsx @@ -0,0 +1,202 @@ +import { useParams, useNavigate } from 'react-router-dom'; +import { ArrowRight, Shield, Users, Key, Edit, Calendar, FileText, User } from 'lucide-react'; +import { Button } from '../../../components/ui/Button'; +import { LoadingSpinner } from '../../../components/ui/LoadingSpinner'; +import { useAdminUser } from '../core/_hooks'; +import { PermissionWrapper } from '../../../components/common/PermissionWrapper'; +import { PageContainer, PageTitle, SectionTitle, SectionSubtitle, BodyText } from '../../../components/ui/Typography'; + +const AdminUserDetailPage = () => { + const navigate = useNavigate(); + const { id = "" } = useParams(); + + const { data: user, isLoading, error } = useAdminUser(id); + + if (isLoading) return ; + if (error) return
خطا در بارگذاری اطلاعات کاربر
; + if (!user) return
کاربر یافت نشد
; + + const formatDate = (dateString: string) => { + return new Date(dateString).toLocaleDateString('fa-IR'); + }; + + const getStatusBadge = (status: string) => { + const isActive = status === 'active'; + return ( + + {isActive ? 'فعال' : 'غیرفعال'} + + ); + }; + + return ( + +
+
+ +
+ جزئیات کاربر ادمین +

نمایش اطلاعات کامل کاربر ادمین

+
+
+ +
+ + + +
+
+ +
+
+
+ + + اطلاعات اصلی + + +
+
+ + {user.first_name || 'تعریف نشده'} +
+ +
+ + {user.last_name || 'تعریف نشده'} +
+ +
+ + {user.username} +
+ +
+ + {getStatusBadge(user.status)} +
+
+
+ + {user.roles && user.roles.length > 0 && ( +
+ + + نقش‌ها + +
+ {user.roles.map((role: any) => ( + + {role.title} + + ))} +
+
+ )} + + {user.permissions && user.permissions.length > 0 && ( +
+ + + دسترسی‌های مستقیم + +
+ {user.permissions.map((permission: any) => ( +
+
+ {permission.title} +
+
+ {permission.description} +
+
+ ))} +
+
+ )} +
+ +
+
+ + + اطلاعات زمانی + + +
+
+ + تاریخ ایجاد + + + {user.created_at ? formatDate(user.created_at) : 'تعریف نشده'} + +
+ +
+ + آخرین بروزرسانی + + + {user.updated_at ? formatDate(user.updated_at) : 'تعریف نشده'} + +
+
+
+ +
+ + + آمار سریع + + +
+
+ تعداد نقش‌ها + + {user.roles ? user.roles.length : 0} + +
+
+ تعداد دسترسی‌ها + + {user.permissions ? user.permissions.length : 0} + +
+
+
+
+
+
+ ); +}; + +export default AdminUserDetailPage; \ No newline at end of file