import React from 'react'; import { useAppointmentSegments } from '../hooks/useResourceBooking'; import { formatNumber } from '../lib/utils'; const timeOf = (ts: number) => new Date(ts * 1000).toLocaleTimeString('fa-IR', { hour: '2-digit', minute: '2-digit' }); /** * بخش‌های ثبت‌شدهٔ نوبت — همان چیزی که لحظهٔ رزرو تثبیت شد، نه الگوی امروزِ خدمت. * * بخشی که بیمار در آن حاضر نیست کم‌رنگ می‌آید: اپراتوری که «۹۰ دقیقه» را روی نوبت * می‌بیند باید بفهمد بیمار همهٔ آن مدت روی صندلی نیست. * * نوبت اسلاتی بخشی ندارد و کارت اصلاً رندر نمی‌شود — جدول خالی یعنی چیزی خراب است. */ export default function AppointmentSegmentsCard({ appointmentUuid }: { appointmentUuid: string }) { const { segments, loading } = useAppointmentSegments(appointmentUuid); if (loading || segments.length === 0) return null; const total = segments.reduce((sum, s) => sum + s.duration_minutes, 0); return (

بخش‌های نوبت

{formatNumber(total)} دقیقه
{segments.map((s) => (
))}
    {segments.map((s) => (
  1. {formatNumber(s.sequence)} {s.name} {timeOf(s.starts_at)} – {timeOf(s.ends_at)} {!s.patient_present && ( بدون حضور بیمار )}
  2. ))}
); }