From 14c6dd64565191e4aea5ffd9d05f3d9a8a7a26a4 Mon Sep 17 00:00:00 2001 From: hamed <15238-genius.ha@users.noreply.drupalcode.org> Date: Wed, 24 Jun 2026 01:55:19 +0330 Subject: [PATCH] feat(patients): prefill visit price from free-visit price Co-Authored-By: Claude Opus 4.8 --- assets/admin/pages/NewSessionPage.tsx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/assets/admin/pages/NewSessionPage.tsx b/assets/admin/pages/NewSessionPage.tsx index 7e68c31d..ee5421ec 100644 --- a/assets/admin/pages/NewSessionPage.tsx +++ b/assets/admin/pages/NewSessionPage.tsx @@ -1,4 +1,4 @@ -import { useMemo, useState } from 'react'; +import { useEffect, useMemo, useState } from 'react'; import { useParams, useNavigate } from 'react-router-dom'; import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'; import { useForm } from 'react-hook-form'; @@ -73,6 +73,16 @@ export default function NewSessionPage() { const { data: contractsData } = useQuery<{ data: { data: Contract[] } }>({ queryKey: ['tenant-insurances'], queryFn: () => api.get('/api/v1/billing/tenant-insurances'), }); + const { data: pricingData } = useQuery<{ data: { free_visit_price_rials: number } }>({ + queryKey: ['insurance-pricing'], queryFn: () => api.get('/api/v1/insurance-pricing'), + }); + const freeVisit = (pricingData as any)?.data?.free_visit_price_rials ?? 0; + + useEffect(() => { + if (freeVisit > 0 && !form.getValues('visit_price_rials')) { + form.setValue('visit_price_rials', freeVisit); + } + }, [freeVisit]); const contracts = (contractsData as any)?.data?.data as Contract[] | undefined ?? []; const baseOpts = contracts.filter(c => c.insurance_kind === 'basic').map(c => ({ value: String(c.insurance_id), label: c.insurance_name ?? `#${c.insurance_id}` }));