🛠 پنل کنترل سیگنال سرا

سایت اپ خروج

ورود ادمین

فقط نقش admin

async function loadPendingReviews(){ const box=document.getElementById('pendingReviewsBox'); if(!box) return; try{ const d=await api('/api/admin/reviews'); const list=(d.reviews||[]).filter(r=>!r.status||r.status==='pending'); if(!list.length){ box.innerHTML='
نظر معلقی نیست
'; return; } box.innerHTML=list.map(r=>`
${r.display_name||r.last_name||''} · ${r.email||''}
${r.topic||r.subject||''} · ${'★'.repeat(Number(r.score)||0)}
${r.body||r.text||''}
`).join(''); }catch(e){ box.innerHTML='
خطا نظرات: '+String(e.message||e)+'
'; } } async function modReview(id, action){ try{ if(action==='approve') await api('/api/admin/reviews/'+id+'/approve',{method:'POST',body:{}}); else await api('/api/admin/reviews/'+id,{method:'DELETE'}); toast('انجام شد'); loadPendingReviews(); }catch(e){ toast('خطا'); } } async function clearAllResults(){ if(!confirm('همه نتایج پاک شود؟')) return; try{ await api('/api/results/clear',{method:'POST',body:{}}); toast('ریست شد'); loadAdminResults(); } catch(e){ toast('خطا: '+String(e.message||e)); } } async function loadAdminResults(){ const box=document.getElementById('adminResultsBox'); if(!box) return; try{ const d=await api('/api/results?period=all'); const st=d.stats||{}; box.innerHTML=`کل ${st.total||0} · برد ${st.wins||0} · باخت ${st.losses||0} · وین‌ریت ${st.winrate||0}%`; }catch(e){ box.textContent='—'; } }