1import{s as t}from"./index-DRQAaCbt.js";import{r as u}from"./vendor-react-CoJda1Bd.js";function f(e,l,a){(async()=>{try{await t.rpc("insert_audit_event",{p_event_type:e,p_patient_id:l??void 0,p_metadata:a??{}})}catch{}})()}function m(e){const[l,a]=u.useState({isCaregiverViewing:!1,accessLevel:null,caregiverName:null,caregiverRole:null,patientId:null,loading:!0});return u.useEffect(()=>{(async()=>{try{const{data:{session:n}}=await t.auth.getSession();if(!n){a(r=>({...r,loading:!1}));return}const i=n.user.id,{data:o}=await t.from("patients").select("id").eq("patient_id",i).maybeSingle();if(o&&(!e||e===o.id)){a({isCaregiverViewing:!1,accessLevel:null,caregiverName:null,caregiverRole:null,patientId:o.id,loading:!1});return}const{data:s}=await t.from("caregiver_patient_access").select(` 2 patient_id, 3 access_level, 4 care_team_member_id, 5 patient_care_team!caregiver_patient_access_care_team_member_id_fkey ( 6 name, 7 role 8 ) 9 `).eq("caregiver_user_id",i).eq("status","accepted");if(!s||s.length===0){a(r=>({...r,loading:!1}));return}const c=e?s.find(r=>r.patient_id===e):s[0];if(!c){a(r=>({...r,loading:!1}));return}const{data:v}=await t.from("user_profiles").select("display_name").eq("user_id",i).maybeSingle(),g=c.patient_care_team;a({isCaregiverViewing:!0,accessLevel:c.access_level,caregiverName:g?.name||v?.display_name||null,caregiverRole:g?.role||null,patientId:c.patient_id,loading:!1})}catch(n){console.error("Error checking caregiver context:",n),a(i=>({...i,loading:!1}))}})()},[e]),l}function y(e){return e.isCaregiverViewing?{reported_by:"caregiver",caregiver_name:e.caregiverName||"Caregiver",caregiver_role:e.caregiverRole||"caregiver"}:null}export{y as g,f as t,m as u};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.