Repository navigation
Expand file tree
/
Copy pathadmin-verifications.html
More file actions
1 lines (1 loc) · 1.74 KB
/
Copy pathadmin-verifications.html
File metadata and controls
1 lines (1 loc) · 1.74 KB
1
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Verification Queue — HomeSync AI</title><link rel="stylesheet" href="css/style.css"><link rel="stylesheet" href="css/admin-control-center.css"></head><body><main class="wrap section-tight"><div class="section-heading-row"><div><span class="eyebrow">Admin Trust & Safety</span><h2>Verification queue</h2><p class="muted">Review submitted verification requests. Never mark a user verified without independent evidence.</p></div><a class="btn btn-ghost" href="admin.html">← Admin portal</a></div><div class="card ops-section"><div id="queue">Loading…</div></div></main><script src="https://cdn.jsdelivr.net/npm/@supabase/supabase-js@2/dist/umd/supabase.js"></script><script src="js/supabaseClient.js"></script><script>(async()=>{const{data:{user}}=await supabaseClient.auth.getUser();if(!user){location.href='admin-login.html';return}const{data:me}=await supabaseClient.from('profiles').select('is_admin').eq('id',user.id).maybeSingle();if(!me?.is_admin){location.href='admin-login.html';return}const q=document.getElementById('queue');const{data,error}=await supabaseClient.from('trust_verification_requests').select('*').order('created_at',{ascending:false});if(error){q.innerHTML='<p class="muted">'+error.message+'</p>';return}if(!data?.length){q.innerHTML='<p class="muted">No verification requests.</p>';return}q.innerHTML=data.map(x=>'<div class="ops-row"><span>🪪</span><b>'+String(x.status||'pending')+'</b><span><strong>'+String(x.verification_type||'Verification')+'</strong><br><small>'+String(x.public_note||'No note')+'</small></span><span>'+new Date(x.created_at).toLocaleString()+'</span></div>').join('')})()</script></body></html>