import React, { useState } from 'react'; import { useParams, useNavigate } from 'react-router-dom'; import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'; import { PencilIcon, TrashIcon, CheckCircleIcon, XCircleIcon } from '@heroicons/react/24/outline'; import { toast } from 'sonner'; import { api } from '../lib/api'; import type { ApiResponse, PaginatedResponse } from '../lib/api'; import type { Representation, City } from '../types'; import { formatDate, formatNumber } from '../lib/utils'; import PageHeader from '../components/ui/PageHeader'; import { ActiveBadge } from '../components/ui/StatusBadge'; import ConfirmDialog from '../components/ui/ConfirmDialog'; import Modal from '../components/ui/Modal'; import SearchableSelect from '../components/ui/SearchableSelect'; interface RepDoctor { uuid: string; id: number; name: string; gender: string | null; medical_code: string | null; is_active: boolean; owner_status?: string; appointment_count: number; created_at: string; } function DetailRow({ label, value }: { label: string; value: React.ReactNode }) { return (
اطلاعات بانکی ثبت نشده
)}در حال بارگذاری…
) : repDoctors.length === 0 ? (این نماینده پزشکی ندارد
) : (| نام | کد نظام | تعداد نوبت | وضعیت |
|---|---|---|---|
| {d.name} | {d.medical_code ?? '—'} | {formatNumber(d.appointment_count)} |