1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[77221],{19865:(e,a,r)=>{"use strict";r.d(a,{IG:()=>c,db:()=>u,j2:()=>d,yA:()=>l});var t=r(97873),s=r(65140),i=r(30928),o=r(4927);let n={apiKey:"AIzaSyAO_sbTBemKD068NVqv3RYb15ckEthjtrQ",authDomain:"login.brasilmineral.com.br",projectId:"brasil-mineral-newsletter",storageBucket:"brasil-mineral-newsletter.firebasestorage.app",messagingSenderId:"145521886346",appId:"1:145521886346:web:bb9afd106c161d05031973",measurementId:"G-QCKC22MY1G"},l=0===(0,t.Dk)().length?(0,t.Wp)(n):(0,t.Sx)(),d=(0,s.xI)(l),c=(0,i.c7)(l),u=(0,o.aU)(l,"premium-us".trim()||"(default)");n.projectId||console.error("Firebase Initialization Error: Firebase config is not fully set. Check your NEXT_PUBLIC_FIREBASE_ environment variables. Firebase features may not work correctly.")},20232:(e,a,r)=>{"use strict";r.d(a,{A:()=>t});let t=(0,r(78340).A)("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]])},23451:(e,a,r)=>{Promise.resolve().then(r.bind(r,85285))},29991:(e,a,r)=>{"use strict";r.d(a,{bq:()=>m,eb:()=>x,gC:()=>h,l6:()=>c,yv:()=>u});var t=r(95155),s=r(12115),i=r(14710),o=r(66088),n=r(9921),l=r(94514),d=r(40980);let c=i.bL;i.YJ;let u=i.WT,m=s.forwardRef(({className:e,children:a,...r},s)=>(0,t.jsxs)(i.l9,{ref:s,className:(0,d.cn)("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm r
1ing-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...r,children:[a,(0,t.jsx)(i.In,{asChild:!0,children:(0,t.jsx)(o.A,{className:"h-4 w-4 opacity-50"})})]}));m.displayName=i.l9.displayName;let f=s.forwardRef(({className:e,...a},r)=>(0,t.jsx)(i.PP,{ref:r,className:(0,d.cn)("flex cursor-default items-center justify-center py-1",e),...a,children:(0,t.jsx)(n.A,{className:"h-4 w-4"})}));f.displayName=i.PP.displayName;let p=s.forwardRef(({className:e,...a},r)=>(0,t.jsx)(i.wn,{ref:r,className:(0,d.cn)("flex cursor-default items-center justify-center py-1",e),...a,children:(0,t.jsx)(o.A,{className:"h-4 w-4"})}));p.displayName=i.wn.displayName;let h=s.forwardRef(({className:e,children:a,position:r="popper",...s},o)=>(0,t.jsx)(i.ZL,{children:(0,t.jsxs)(i.UC,{ref:o,className:(0,d.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===r&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...s,children:[(0,t.jsx)(f,{}),(0,t.jsx)(i.LM,{className:(0,d.cn)("p-1","popper"===r&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:a}),(0,t.jsx)(p,{})]})}));h.displayName=i.UC.displayName,s.forwardRef(({className:e,...a},r)=>(0,t.jsx)(i.JU,{ref:r,className:(0,d.cn)("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...a})).displayName=i.JU.displayName;let x=s.forwardRef(({className:e,children:a,...r},s)=>(0,t.jsxs)(i.q7,{ref:s,className:(0,d.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...r,children:[(0,t.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,t.jsx)(i.VF,{children:(0,t.jsx)(l.A,{className:"h-4 w-4"})})}),(0,t.jsx)(i.p4,{children:a})]}));x.displayName=i.q7.displayName,s.forwardRef(({className:e,...a},r)=>(0,t.jsx)(i.wv,{ref:r,className:(0,d.cn)("-mx-1 my-1 h-px bg-muted",e),...a})).displayName=i.wv.displayName},33024:(e,a,r)=>{"use strict";r.d(a,{A:()=>t});let t=(0,r(78340).A)("Layers",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65",key:"dd6zsq"}],["path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65",key:"ep9fru"}]])},40980:(e,a,r)=>{"use strict";r.d(a,{Y:()=>o,cn:()=>i,o:()=>n});var t=r(29722),s=r(622);function i(...e){return(0,s.QP)((0,t.$)(e))}function o(e){return e?e.toString().toLowerCase().trim().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[\s_]+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""):`artigo-sem-titulo-${Date.now()}`}function n(e){return e&&"string"==typeof e?e.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]/g,""):""}},48375:(e,a,r)=>{"use strict";r.d(a,{A:()=>d,O:()=>l});var t=r(95155),s=r(12115),i=r(65140),o=r(19865);let n=(0,s.createContext)(void 0);function l({children:e}){let[a,r]=(0,s.useState)(null),[d,c]=(0,s.useState)(null),[u,m]=(0,s.useState)(null),[f,p]=(0,s.useState)(null),[h,x]=(0,s.useState)(!0),[g,b]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let e,a=!1,t=()=>{a||(e=(0,i.hg)(o.j2,async e=>{if(r(e),b(!!e?.emailVerified),e)try{let a=await e.getIdToken(),r=await fetch("/api/auth/me",{headers:{Authorization:`Bearer ${a}`}}),t=r.ok?await r.json():null;c(t?.user??null),m(t?.profile??null),p(t?.access??null)}catch(e){console.error("[AuthContext] Failed to fetch user data:",e),c(null),m(null),p(null)}else c(null),m(null),p(null);x(!1)}))},s="function"==typeof window.requestIdleCallback?window.requestIdleCallback(t,{timeout:2e3}):window.setTimeout(t,0);return()=>{a=!0,"function"==typeof window.cancelIdleCallback?window.cancelIdleCallback(s):window.clearTimeout(s),e?.()}},[]);let y=(0,s.useMemo)(()=>f?.isAdmin??d?.role==="admin",[f,d]),v=(0,s.useMemo)(()=>f?.isEditor??(d?.role==="admin"||d?.role==="editor"),[f,d]),w=(0,s.useMemo)(()=>f?.dashboardPermissions??d?.dashboardPermissions??[],[f,d]),N=(0,s.useMemo)(()=>e=>y||w.includes(e),[y,w]),j=(0,s.useMemo)(()=>!!a,[a]),C=(0,s.useMemo)(()=>u?.accountType==="premium",[u]),A=(0,s.useMemo)(()=>!!u?.isAdvertiser,[u]),k=async()=>{await o.j2.currentUser?.reload(),b(!!o.j2.currentUser?.emailVerified)},R=(0,s.useMemo)(()=>({user:a,appUser:d,userProfile:u,isLoading:h,isAdmin:y,isEditor:v,dashboardPermissions:w,hasFeature:N,isAuthenticated:j,isPremium:C,isAdvertiser:A,emailVerified:g,refreshEmailVerified:k}),[a,d,u,h,y,v,w,N,j,C,A,g]);return(0,t.jsx)(n.Provider,{value:R,children:e})}function d(){let e=(0,s.useContext)(n);if(void 0===e)throw Error("useAuth must be used within an AuthProvider");return e}},73321:(e,a,r)=>{"use strict";var t=r(74645);r.o(t,"notFound")&&r.d(a,{notFound:function(){return t.notFound}}),r.o(t,"useParams")&&r.d(a,{useParams:function(){return t.useParams}}),r.o(t,"usePathname")&&r.d(a,{usePathname:function(){return t.usePathname}}),r.o(t,"useRouter")&&r.d(a,{useRouter:function(){return t.useRouter}}),r.o(t,"useSearchParams")&&r.d(a,{useSearchParams:function(){return t.useSearchParams}})},81477:(e,a,r)=>{"use strict";r.d(a,{BT:()=>d,Wu:()=>c,ZB:()=>l,Zp:()=>o,aR:()=>n});var t=r(95155),s=r(12115),i=r(40980);let o=s.forwardRef(({className:e,...a},r)=>(0,t.jsx)("div",{ref:r,className:(0,i.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",e),...a}));
1o.displayName="Card";let n=s.forwardRef(({className:e,...a},r)=>(0,t.jsx)("div",{ref:r,className:(0,i.cn)("flex flex-col space-y-1.5 p-6",e),...a}));n.displayName="CardHeader";let l=s.forwardRef(({className:e,...a},r)=>(0,t.jsx)("div",{ref:r,className:(0,i.cn)("text-2xl font-semibold leading-none tracking-tight",e),...a}));l.displayName="CardTitle";let d=s.forwardRef(({className:e,...a},r)=>(0,t.jsx)("div",{ref:r,className:(0,i.cn)("text-sm text-muted-foreground",e),...a}));d.displayName="CardDescription";let c=s.forwardRef(({className:e,...a},r)=>(0,t.jsx)("div",{ref:r,className:(0,i.cn)("p-6 pt-0",e),...a}));c.displayName="CardContent",s.forwardRef(({className:e,...a},r)=>(0,t.jsx)("div",{ref:r,className:(0,i.cn)("flex items-center p-6 pt-0",e),...a})).displayName="CardFooter"},85285:(e,a,r)=>{"use strict";r.r(a),r.d(a,{default:()=>f});var t=r(95155),s=r(12115),i=r(73321),o=r(81477),n=r(89239),l=r(29991),d=r(33024),c=r(20232),u=r(66609),m=r(48375);function f(){let e=(0,i.useRouter)(),{user:a}=(0,m.A)(),r=async()=>{if(!a)return{"Content-Type":"application/json"};let e=await a.getIdToken();return{"Content-Type":"application/json",Authorization:`Bearer ${e}`}},[f,p]=(0,s.useState)(!1),[h,x]=(0,s.useState)([]),[g,b]=(0,s.useState)(""),[y,v]=(0,s.useState)(!0);return(0,s.useEffect)(()=>{p(!0)},[]),(0,s.useEffect)(()=>{!async function(){try{let e=await r(),[a,t]=await Promise.all([fetch("/api/magazines/list?limit=100",{headers:e}),fetch("/api/magazines/annual",{headers:e})]),s=a.ok?await a.json():null,i=t.ok?await t.json():null,o=s?.success&&s?.data?.magazines?s.data.magazines:[],n=i?.success&&Array.isArray(i.magazines)?i.magazines.filter(e=>!e.id.startsWith("storage-")):[],l=new Set(o.map(e=>e.id)),d=n.filter(e=>!l.has(e.id)),c=[...o];d.forEach(e=>{c.push({...e,title:(e.title||`Edition ${e.editionNumber}`)+" (EN)"})}),c.sort((e,a)=>(a.editionNumber??0)-(e.editionNumber??0)),x(c)}catch(e){console.error("Erro ao carregar revistas:",e)}finally{v(!1)}}()},[]),(0,t.jsxs)("div",{className:"container mx-auto p-6 max-w-4xl",children:[(0,t.jsxs)("div",{className:"mb-8",children:[(0,t.jsxs)("h1",{className:"text-3xl font-bold mb-2 flex items-center gap-2",children:[(0,t.jsx)(d.A,{className:"w-8 h-8"}),"Processamento de Revistas"]}),(0,t.jsx)("p",{className:"text-muted-foreground",children:"Extra\xe7\xe3o autom\xe1tica de artigos com IA (PyMuPDF + Document AI + Claude Vision) â sem revis\xe3o intermedi\xe1ria"})]}),(0,t.jsxs)(o.Zp,{className:"border-2 border-purple-200 bg-purple-50/30",children:[(0,t.jsxs)(o.aR,{children:[(0,t.jsxs)(o.ZB,{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-purple-600",children:"â¡"}),"Selecione a revista"]}),(0,t.jsx)(o.BT,{children:"Escolha a edi\xe7\xe3o que deseja processar. Na pr\xf3xima tela voc\xea pode processar artigos individualmente ou selecionar v\xe1rios para rodar em lote (sequencial ou em paralelo)."})]}),(0,t.jsxs)(o.Wu,{children:[(0,t.jsxs)("div",{className:"flex gap-4 items-end",children:[(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)("label",{className:"text-sm font-medium mb-2 block",children:"Revista"}),(0,t.jsxs)(l.l6,{value:g,onValueChange:b,disabled:!f||y||0===h.length,children:[(0,t.jsx)(l.bq,{children:(0,t.jsx)(l.yv,{placeholder:!f||y?"Carregando revistas...":0===h.length?"Nenhuma revista encontrada":"Selecione uma revista..."})}),f&&h.length>0&&(0,t.jsx)(l.gC,{children:h.map((e,a)=>(0,t.jsx)(l.eb,{value:e.id,children:e.title||`Edi\xe7\xe3o ${e.editionNumber}`},`${e.id}-${a}`))})]})]}),(0,t.jsxs)(n.$,{onClick:()=>{if(!g)return void u.oR.error("Selecione uma revista");if(!h.find(e=>e.id===g))return void u.oR.error("Revista n\xe3o encontrada");let a=`/admin/magazine-workflow/integrated?magazineId=${g}`;try{e.push(a)}catch(e){u.oR.error(`Erro ao navegar: ${e.message}`),window.location.href=a}},disabled:!g||!f,className:"min-w-[200px] bg-purple-600 hover:bg-purple-700 disabled:opacity-50 disabled:cursor-not-allowed",children:[(0,t.jsx)(c.A,{className:"w-4 h-4 mr-2"}),"Processar Artigos"]})]}),(0,t.jsxs)("div",{className:"mt-4 p-3 bg-purple-100/50 rounded-lg text-sm",children:[(0,t.jsx)("p",{className:"font-medium mb-1",children:"⨠Como funciona:"}),(0,t.jsxs)("ul",{className:"list-disc list-inside space-y-1 text-muted-foreground",children:[(0,t.jsx)("li",{children:"Extrai imagens automaticamente (PyMuPDF + YOLO)"}),(0,t.jsx)("li",{children:"Extrai texto com Document AI (mais preciso)"}),(0,t.jsx)("li",{children:"Classifica an\xfancios com Claude Vision"}),(0,t.jsx)("li",{children:"Monta artigo final automaticamente"}),(0,t.jsx)("li",{children:"Selecione v\xe1rios artigos e processe em lote, sequencial ou em paralelo"})]}),(0,t.jsxs)("p",{className:"mt-3 pt-3 border-t border-purple-200 font-medium text-purple-800",children:["\uD83D\uDCC1 Diret\xf3rio institucional (ex.: BRAZILIAN MINING INSTITUTIONAL DIRECTORY): ap\xf3s abrir, selecione o artigo do diret\xf3rio na lista e marque ",(0,t.jsx)("strong",{children:"âProcessar como diret\xf3rio institucionalâ"})," antes de clicar em Processar Artigo."]})]})]})]})]})}},89239:(e,a,r)=>{"use strict";r.d(a,{$:()=>d,r:()=>l});var t=r(95155),s=r(12115),i=r(42442),o=r(18460),n=r(40980);let l=(0,o.F)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),d=s.forwardRef(({className:e,variant:a,size:r,asChild:s=!1,...o},d)=>{let c=s?i.DX:"button";return(0,t.jsx)(c,{className:(0,n.cn)(l({variant:a,size:r,className:e})),ref:d,...o})});d.displayName="Button"}},e=>{e.O(0,[62992,47416,18409,49304,16511,91798,99854,82330,78236,66609,28441,93794,77358],()=>e(e.s=23451)),_N_E=e.O()}]);
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.