import { useQuery } from '@tanstack/react-query'; import { WrenchScrewdriverIcon } from '@heroicons/react/24/outline'; import { api } from '../lib/api'; import type { ApiResponse } from '../lib/api'; import type { StaffAssignedService } from '../types'; import { formatRial } from '../lib/utils'; import DataTable, { type Column } from '../components/ui/DataTable'; import PageHeader from '../components/ui/PageHeader'; interface StaffDashboardData { services: StaffAssignedService[]; } const EMPTY: StaffAssignedService[] = []; /** * سرویس‌های تخصیص‌یافته به پرسنل — فقط خواندنی. * داده از همان اندپوینت داشبورد پرسنل می‌آید؛ نقش staff اندپوینت دیگری ندارد. */ export default function StaffMyServicesPage() { const { data, isLoading } = useQuery({ queryKey: ['dashboard-staff'], queryFn: () => api.get>('/api/v1/dashboard/staff'), staleTime: 60_000, }); const services = data?.data?.services ?? EMPTY; const columns: Column[] = [ { key: 'name', header: 'سرویس', render: (s) => (
{s.name}
{s.section_name}
), }, { key: 'price_rials', header: 'تعرفه', render: (s) => {formatRial(s.price_rials)}, }, { key: 'duration_minutes', header: 'مدت', render: (s) => ( {s.duration_minutes ? `${s.duration_minutes} دقیقه` : '—'} ), }, ]; return ( <>
{services.length === 0 && !isLoading ? (
هنوز سرویسی به شما تخصیص نیافته
پس از تخصیص سرویس توسط مطب/کلینیک، اینجا نمایش داده می‌شود.
) : ( )}
); }