"use client"; import { useCurrentUser } from "@/src/hooks/useCurrentUser"; export default function ProfilePage() { const { user, loading, error } = useCurrentUser(); if (loading) { // حالة تحميل بسيطة تتماشى مع سبينر الصور اللي عملتها قبل كده في الصفحات التانية return (
); } if (error || !user) { return (
{error ?? "تعذر عرض بيانات الحساب."}
); } const fields: { label: string; value: string }[] = [ { label: "الاسم", value: user.name }, { label: "اسم المستخدم", value: user.userName ?? "—" }, { label: "البريد الإلكتروني", value: user.email ?? "—" }, { label: "رقم الهاتف", value: user.phone }, { label: "الحالة", value: user.isActive ? "نشط" : "غير نشط" }, { label: "تاريخ الإنشاء", value: new Date(user.createdAt).toLocaleDateString("ar-SA") }, { label: "آخر تحديث", value: new Date(user.updatedAt).toLocaleDateString("ar-SA") }, ]; // تجميع الصلاحيات حسب الموديول عشان تبقى منظمة وسهلة القراءة const permissionsByModule = (user.role?.permissions ?? []).reduce>( (acc, entry) => { const mod = entry.permission.module || "أخرى"; if (!acc[mod]) acc[mod] = []; acc[mod].push(entry.permission.name); return acc; }, {}, ); const modules = Object.keys(permissionsByModule); return (
{/* بطاقة البيانات الأساسية */}
{user.name?.trim().charAt(0) ?? "?"}

{user.name}

{user.role?.name && ( {user.role.name} )}
{/* عرض البيانات بشكل read-only بدون أي فورم أو زرار تعديل */}
{fields.map((f) => (
{f.label}
{f.value}
))}
{/* بطاقة الدور والصلاحيات */} {user.role && (

الدور والصلاحيات

{user.role.description && (

{user.role.description}

)}
{modules.length === 0 ? (

لا توجد صلاحيات مسجّلة لهذا الدور.

) : (
{modules.map((mod) => (
{mod} {permissionsByModule[mod].length}
{permissionsByModule[mod].map((name) => ( {name} ))}
))}
)}
)}
); }