import React, { useMemo } from 'react'; import { Link } from 'react-router-dom'; import { useHolidays } from '../../hooks/useResourceCalendar'; import { formatDate, currentJalaliYear } from '../../lib/utils'; /** * تعطیلات رسمیِ سال، همانجایی که تعطیلی اختصاصی تعریف میشود. * * تقویم رسمی یک بار مرکزی ثبت میشود و هر پزشک و هر منبع از آن ارث میبرد؛ اینجا فقط * دیده میشود و — اگر این محیط آن روز باز باشد — با یک سوییچ خنثی میشود. ساخت و حذفِ * خودِ تعطیلی کارِ مدیر سیستم است، نه کلینیک. * * یک کامپوننت برای دو مصرفکننده: تب تعطیلات پزشک و تب تعطیلات منبع. دو نسخه یعنی دو * رفتار که با هم واگرا میشوند. */ export default function NationalHolidaysCard({ canUpdate, year = currentJalaliYear() }: { canUpdate: boolean; year?: number; }) { const { holidays, overrides, loading, setOverride, removeOverride } = useHolidays(year); const overrideByDate = useMemo( () => new Map(overrides.map((o) => [o.date, o])), [overrides], ); return (
اینها برای همهٔ پزشکان و منابع اعمال میشوند. اگر این محیط روزی را باز است، همینجا استثنا بزنید — مدیریت کاملشان در{' '} تنظیمات ← تعطیلات رسمی.
{loading ? ( در حال بارگذاری... ) : holidays.length === 0 ? (برای سال {year.toLocaleString('fa-IR', { useGrouping: false })} تعطیلی رسمی ثبت نشده است.
) : (