(function(){
'use strict';
const revenueCards=document.querySelector('#page-revenue .cards');
const editor=document.createElement('div');
editor.className='form-panel';
editor.style.marginBottom='18px';
editor.innerHTML=`<h3 style="margin-top:0">بررسی و اصلاح درآمد روزانه</h3><p style="color:var(--muted);font-size:12px">تاریخ را انتخاب کنید تا فهرست نوبت‌ها، وضعیت حضور و مبلغ دریافتی همان روز نمایش داده شود.</p><div style="display:flex;gap:10px;align-items:end;flex-wrap:wrap"><label class="field" style="margin:0"><span>تاریخ شمسی</span><input id="dailyRevenueDate" type="text" inputmode="numeric" placeholder="۱۴۰۵/۰۶/۱۳"></label><button id="dailyRevenueYesterday" type="button" class="btn secondary">دیروز</button><button id="dailyRevenueToday" type="button" class="btn secondary">امروز</button><button id="showDailyRevenue" type="button" class="btn primary">نمایش روز</button></div><div id="dailyRevenueSummary" class="notice" style="margin-bottom:12px"></div><div id="dailyRevenueTable" class="panel"></div>`;
revenueCards.parentNode.insertBefore(editor,revenueCards);

function setDailyRevenueDate(offset){const d=new Date();d.setDate(d.getDate()+offset);document.querySelector('#dailyRevenueDate').value=d.toLocaleDateString('fa-IR');renderDailyRevenueEditor()}
function selectedDailyRevenueDate(){const input=document.querySelector('#dailyRevenueDate'),date=jalaliToIso(input.value.trim());return{input,date}}
function renderDailyRevenueEditor(){if(role!=='manager')return;const selected=selectedDailyRevenueDate();if(!selected.input.value.trim()){setDailyRevenueDate(-1);return}if(!selected.date){document.querySelector('#dailyRevenueSummary').textContent='تاریخ شمسی واردشده صحیح نیست.';document.querySelector('#dailyRevenueTable').innerHTML='';return}const rows=db.appointments.filter(a=>a.date===selected.date&&a.status!=='لغو شده').sort((a,b)=>a.time.localeCompare(b.time)),present=rows.filter(a=>(a.attendance||'pending')==='present'),total=present.reduce((sum,a)=>sum+Math.max(0,Number(a.payment)||0),0);document.querySelector('#dailyRevenueSummary').innerHTML=`<b>${fmtDate(selected.date)}</b> — ${fa(rows.length)} نوبت، ${fa(present.length)} مراجعه، درآمد ثبت‌شده: <b>${fa(total)} تومان</b>`;document.querySelector('#dailyRevenueTable').innerHTML=table(['ساعت','بیمار','نوع مراجعه','خدمات جلسه','وضعیت نوبت','حضور','مبلغ دریافتی'],rows.map(a=>{const p=patient(a.patientId)||{};return[a.time,p.name||'—',appointmentLabel(a),treatmentSummary(a),a.status,attendanceControl(a),paymentControl(a)]}))}

document.querySelector('#dailyRevenueYesterday').onclick=()=>setDailyRevenueDate(-1);
document.querySelector('#dailyRevenueToday').onclick=()=>setDailyRevenueDate(0);
document.querySelector('#showDailyRevenue').onclick=renderDailyRevenueEditor;
document.querySelector('#dailyRevenueDate').addEventListener('keydown',e=>{if(e.key==='Enter')renderDailyRevenueEditor()});
const renderRevenueBeforeDailyEditor=renderRevenue;
renderRevenue=function(){renderRevenueBeforeDailyEditor();renderDailyRevenueEditor()};
setDailyRevenueDate(-1);
})();
