import React from 'react'; import { useParams, useNavigate } from 'react-router-dom'; import { useQuery } from '@tanstack/react-query'; import { ArrowRightIcon } from '@heroicons/react/24/outline'; import { api } from '../lib/api'; import type { ApiResponse } from '../lib/api'; import type { User } from '../types'; import { formatDate, formatDateTime } from '../lib/utils'; import PageHeader from '../components/ui/PageHeader'; import { ActiveBadge } from '../components/ui/StatusBadge'; function InfoRow({ label, value }: { label: string; value: React.ReactNode }) { return (
{label} {value ?? '—'}
); } export default function UserDetailPage() { const { uuid } = useParams<{ uuid: string }>(); const navigate = useNavigate(); const { data, isLoading } = useQuery({ queryKey: ['user', uuid], queryFn: () => api.get>(`/api/v1/user-profile/${uuid}`), enabled: !!uuid, }); const user = data?.data; return (
navigate('/admin/users')} className="flex items-center gap-2 text-sm text-slate-500 dark:text-slate-400 hover:text-slate-800 dark:hover:text-slate-100 transition-colors" > بازگشت } /> {isLoading ? (
{Array.from({ length: 6 }).map((_, i) => (
))}
) : user ? (

اطلاعات پایه

{user.uuid}} /> {user.mobile_number}} /> } />

نقش‌ها و دسترسی‌ها

{user.roles.map((role) => ( {role} ))}
) : (
کاربری یافت نشد
)}
); }