PageSourceSearch

https://monalisaescola.lovable.app/assets/monacast-CD0QQBYI.js

js monalisaescola.lovable.app collected 2026-10-03 03:34:50 UTC 1,103 bytes, 1 lines download raw bytes

1import{a as p,r as n,i as d,s as a,t as g,j as o,O as x}from"./main-Cc8MXM0b.js";import{L as b}from"./loader-circle-BDgPbVnp.js";const k=["catálogo","catalogo","professor","premium","master","pro"];function j(){const r=p(),[i,s]=n.useState("checking");return n.useEffect(()=>{let e=!1;return(async()=>{if(d()){e||s("ok");return}const{data:{session:c}}=await a.auth.getSession(),t=c?.user;if(!t){e||s("ok");return}const{data:l}=await a.from("profiles").select("is_admin").eq("id",t.id).maybeSingle();if(l?.is_admin){e||s("ok");return}const{data:u}=await a.from("user_subscriptions").select("plan_name").eq("user_id",t.id).maybeSingle(),m=(u?.plan_name||"").toLowerCase();if(!k.some(f=>m.includes(f))){e||(g.error("MonaCast está disponível nos planos Catálogo, Professor e Premium."),s("blocked"),r({to:"/planos",replace:!0}));return}e||s("ok")})(),()=>{e=!0}},[r]),i==="checking"?o.jsx("div",{className:"min-h-screen flex items-center justify-center bg-[#1a1613] text-white",children:o.jsx(b,{className:"w-8 h-8 animate-spin text-[#FDAA3E]"})}):i==="blocked"?null:o.jsx(x,{})}export{j as component};

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.