import { useQuery } from '@tanstack/react-query'; import { api, type ApiResponse } from '../lib/api'; export interface PriceSnapshotLine { label: string; rials: number; kind?: string; } export interface PriceSnapshot { base_rials: number; items_rials: number; discount_rials: number; insurance_base_rials: number; insurance_supplementary_rials: number; tax_rials: number; final_rials: number; deposit_rials: number; created_at?: number; breakdown: { discounts: PriceSnapshotLine[]; sources: Record; }; } /** فاکتور یک نوبت — همان اعداد لحظهٔ ثبت، حتی اگر قیمت سرویس بعداً عوض شده باشد. */ export function useAppointmentInvoice(appointmentUuid: string | undefined) { const query = useQuery({ queryKey: ['appointment-invoice', appointmentUuid], queryFn: () => api.get>(`/api/v1/appointment/${appointmentUuid}/price-snapshot`), enabled: !!appointmentUuid, // نوبتِ بدون فاکتور ۴۰۴ می‌دهد و آن خطا نیست، یعنی «هنوز ثبت نشده». retry: false, }); return { invoice: query.data?.data, loading: query.isLoading, missing: query.isError }; }