PageSourceSearch

https://brasilmineral.com.br/_next/static/chunks/60321-6f213720905f4d0d.js

js brasilmineral.com.br collected 2026-09-24 19:17:00 UTC 13,601 bytes, 11 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[60321],{4138:(e,n,r)=>{r.d(n,{l:()=>a});var t=r(12115);function a(){let[e,n]=(0,t.useState)({width:0,height:0});return(0,t.useEffect)(()=>{function e(){n({width:window.innerWidth,height:window.innerHeight})}return window.addEventListener("resize",e),e(),()=>window.removeEventListener("resize",e)},[]),e}},26205:(e,n,r)=>{r.d(n,{AdSlot:()=>s});var t=r(95155),a=r(12115),i=r(76225);let o=[],l=!1;function s({placementId:e,placement:n,className:r="",priority:c=!1}){let[u,m]=(0,a.useState)(!1),f=(0,a.useRef)(null),h=(0,a.useRef)(null),g=(0,a.useRef)(!1);return(0,a.useEffect)(()=>{if(!g.current){if(c)m(!0),g.current=!0;else{if(!f.current)return;h.current=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&!g.current&&(g.current=!0,o.push(()=>{m(!0)}),function e(){if(l||0===o.length)return;l=!0;let n=o.shift();n?(n(),setTimeout(()=>{l=!1,e()},100)):l=!1}(),h.current&&h.current.disconnect())})},{rootMargin:"400px",threshold:.01}),h.current.observe(f.current)}return()=>{h.current&&h.current.disconnect()}}},[c]),(0,t.jsx)("div",{ref:f,className:`ad-slot-container ${r}`,"data-placement":e,children:u?(0,t.jsx)(i.N,{placementId:e,placement:n,priority:c}):(0,t.jsx)(d,{minHeight:n?.minHeight,creativeWidth:n?.creativeWidth}
1)})}function d({minHeight:e,creativeWidth:n}){let r=e??250,a=!!(n&&n>0&&r>0);return(0,t.jsx)("div",{className:"ad-placeholder w-full",children:(0,t.jsx)("div",{className:"w-full mx-auto relative rounded overflow-hidden",style:{maxWidth:a?`${n}px`:"1095px",backgroundColor:"#f5f5f5",...a?{aspectRatio:`${n} / ${r}`}:{minHeight:`${r}px`}},children:(0,t.jsx)("div",{className:"absolute inset-0 flex items-center justify-center",style:{backgroundColor:"#f5f5f5"},children:(0,t.jsx)("div",{className:"text-xs text-gray-400 uppercase tracking-wider",style:{fontSize:"10px",opacity:.5},children:"Publicidade"})})})})}},60321:(e,n,r)=>{r.d(n,{TopOfPageBanner:()=>c});var t=r(95155),a=r(12115),i=r(26708),o=r(90895),l=r(4138),s=r(26205);function d({className:e="",minHeight:n}){return(0,t.jsxs)("div",{className:e,children:[(0,t.jsxs)("div",{className:"flex items-center gap-4 text-xs text-muted-foreground mb-2",children:[(0,t.jsx)("div",{className:"flex-1 border-t"}),(0,t.jsx)("span",{className:"flex-shrink-0",children:"PUBLICIDADE"}),(0,t.jsx)("div",{className:"flex-1 border-t"})]}),(0,t.jsx)("div",{className:"mb-8 w-full mx-auto relative rounded overflow-hidden",style:{maxWidth:"1095px",backgroundColor:"#f5f5f5",minHeight:`${n??250}px`}})]})}function c({contentType:e="article",className:n="",initialPlacements:r}){let{data:u=[],isLoading:m}=(0,i.I)({queryKey:["adPlacements"],queryFn:o.i,staleTime:3e5,initialData:r}),{width:f}=(0,l.l)(),[h,g]=(0,a.useState)(!1);(0,a.useEffect)(()=>g(!0),[]);let p=(0,a.useMemo)(()=>h?Array.isArray(u)?u.find(n=>n.positions.includes("top-of-page")&&n.contentTypes.includes(e)&&n.breakpoints.includes(f>=1024?"desktop":f>=768?"tablet":"mobile")):null:void 0,[h,u,f,e]);if(!h||m){let r=Array.isArray(u)&&u.filter(n=>n.positions.includes("top-of-page")&&n.contentTypes.includes(e)).reduce((e,n)=>Math.max(e,n.minHeight??0),0)||void 0;return(0,t.jsx)(d,{className:n,minHeight:r})}return p?(0,t.jsxs)("div",{className:n,children:[(0,t.jsxs)("div",{className:"flex items-center gap-4 text-xs text-muted-foreground mb-2",children:[(0,t.jsx)("div",{className:"flex-1 border-t"}),(0,t.jsx)("span",{className:"flex-shrink-0",children:"PUBLICIDADE"}),(0,t.jsx)("div",{className:"flex-1 border-t"})]}),(0,t.jsx)("div",{className:"mb-8 text-center flex items-center justify-center w-full mx-auto",children:(0,t.jsx)(s.AdSlot,{placementId:p.id,placement:p,priority:!0})})]}):null}},76225:(e,n,r)=>{r.d(n,{N:()=>d});var t=r(95155),a=r(12115);function i({banner:e,onImpression:n,onClick:r,className:o="",responsive:l=!0,maxWidth:s="100%",priority:d=!1}){let c=(0,a.useRef)(null),u=(0,a.useRef)(null),[m,f]=(0,a.useState)(!1),[h,g]=(0,a.useState)(1);if(!e.html5Assets)return(0,t.jsx)("div",{className:"bg-muted text-muted-foreground p-4 rounded text-center",children:"Banner HTML5 sem assets configurados"});let{indexUrl:p,width:x,height:b,clickThroughUrl:v}=e.html5Assets,y=b/x;(0,a.useEffect)(()=>{if(!l||!u.current)return;let e=()=>{let e=u.current;if(!e)return;let n=e.offsetWidth;n<x?g(n/x):g(1)};e(),window.addEventListener("resize",e);let n=new ResizeObserver(e);return n.observe(u.current),()=>{window.removeEventListener("resize",e),n.disconnect()}},[l,x,b]),(0,a.useEffect)(()=>{if(m||!n||!u.current)return;let e=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&!m&&(f(!0),n())})},{threshold:.5});return e.observe(u.current),()=>e.disconnect()},[m,n]),(0,a.useEffect)(()=>{let e=c.current;if(!e||!v)return;let n=setInterval(()=>{document.activeElement===e&&(r&&r(),window.open(v,"_blank","noopener,noreferrer"),e.blur())},100);return()=>clearInterval(n)},[v,r]);let w=l?{display:"flex",justifyContent:"center",width:"100%",maxWidth:"number"==typeof s?`${s}px`:s}:{width:`${x}px`,height:`${b}px`,maxWidth:"100%",position:"relative",overflow:"hidden"},R=l?{width:"100%",maxWidth:`${x}px`,paddingBottom:`${100*y}%`,position:"relative",overflow:"hidden"}:{width:`${x}px`,height:`${b}px`,position:"relative"},A=l?{position:"absolute",top:0,left:0,width:`${x}px`,height:`${b}px`,transform:`scale(${h})`,transformOrigin:"top left",border:"none",display:"block"}:{border:"none",display:"block",width:`${x}px`,height:`${b}px`};return(0,t.jsx)("div",{ref:u,className:`block mx-auto ${o}`,style:w,children:(0,t.jsx)("div",{style:R,children:(0,t.jsx)("iframe",{ref:c,src:p,width:x,height:b,scrolling:"no",frameBorder:"0",allow:"autoplay",sandbox:"allow-scripts allow-same-origin",style:A,title:e.name,loading:d?"eager":"lazy"})})})}function o({banner:e,onClick:n,className:r=""}){let i=(0,a.useRef)(null);if(!e.adTag)return(0,t.jsx)("div",{className:"bg-muted text-muted-foreground p-4 rounded text-center",children:"Banner tag sem c\xf3digo configurado"});let l=e.adTagWidth||1095,s=e.adTagHeight||250,d=`<!doctype html>
2<html>
3<head>
4<meta charset="utf-8">
5<style>
6  html, body { margin: 0; padding: 0; height: 100%; overflow: hidden; }
7  body { display: flex; align-items: center; justify-content: center; }
8</style>
9</head>
10<body>${e.adTag}</body>
11</html>`;return(0,a.useEffect)(()=>{let e=i.current;if(!e||!n)return;let r=setInterval(()=>{document.activeElement===e&&(n(),e.blur())},100);return()=>clearInterval(r)},[n]),(0,t.jsx)("div",{className:`mx-auto ${r}`,style:{width:"100%",maxWidth:`${l}px`},children:(0,t.jsx)("iframe",{ref:i,srcDoc:d,width:l,height:s,scrolling:"no",frameBorder:"0",style:{border:"none",display:"block",width:"100%",height:`${s}px`},title:e.name})})}async function l(e,n){let r=new URLSearchParams({placementId:e});n?.length&&r.set("exclude",n.join(","));let t=await fetch(`/api/ads/select?${r}`,{cache:"no-store"});return t.ok?(await t.json()).data??null:null}async function s(e){let n=new URLSearchParams({placementId:e}),r=await fetch(`/api/ads/select-pool?${n}`,{cache:"no-store"});return r.ok?(await r.json()).data??[]:[]}function d({placementId:e,placement:n,className:r="",priority:c=!1}){let[u,m]=(0,a.useState)(null),[f,h]=(0,a.useState)(!0),[g,p]=(0,a.useState)(!1),x=(0,a.useRef)(null),b=(0,a.useRef)(new Set),v=(0,a.useRef)(null),y=(0,a.useRef)([]);console.log("[AdRenderer] Montado com placementId:",e),console.log("[AdRenderer] Placement recebido:",n),console.log("[AdRenderer] Rota\xe7\xe3o configurada?",n?.rotation);let w=(0,a.useRef)(null);(0,a.useEffect)(()=>{w.current=u},[u]);let R=(0,a.useCallback)(async(r=!1)=>{console.log("[AdRenderer] Carregando banner para:",e,"withTransition:",r);try{r&&(console.log("[AdRenderer] Iniciando fade out..."),p(!0),await new Promise(e=>setTimeout(e,600)));let t=[];if(r&&w.current&&(t.push(w.current.banner.id),console.log("[AdRenderer] Excluindo banner atual da sele\xe7\xe3o:",w.current.banner.id)),n?.rotation?.preventRepeatUntilCycle){let e=Array.from(b.current);t=[...t,...e],console.log("[AdRenderer] Excluindo tamb\xe9m hist\xf3rico:",e)}t=[...new Set(t)];let a=await l(e,t.length>0?t:void 0);if(console.log("[AdRenderer] Banner recebido:",a),a){if(r&&w.current&&a.banner.id===w.current.banner.id){console.warn("[AdRenderer] ⚠️ Banner retornado \xe9 o mesmo! Tentando buscar outro...");let r=await l(e,[w.current.banner.id]);r&&r.banner.id!==w.current.banner.id?(console.log("[AdRenderer] ✅ Banner diferente encontrado na segunda tentativa"),n?.rotation?.preventRepeatUntilCycle&&b.current.has(r.banner.id)&&(console.log("[AdRenderer] Ciclo completo! Reiniciando hist\xf3rico."),b.current.clear()),b.current.add(r.banner.id),m(r)):console.log("[AdRenderer] Apenas 1 banner dispon\xedvel - mantendo o mesmo")}else n?.rotation?.preventRepeatUntilCycle&&b.current.has(a.banner.id)&&(console.log("[AdRenderer] Ciclo completo! Reiniciando hist\xf3rico."),b.current.clear()),b.current.add(a.banner.id),m(a);r&&(console.log("[AdRenderer] Iniciando fade in..."),requestAnimationFrame(()=>{p(!1)}))}else console.log("[AdRenderer] Nenhum banner ativo encontrado"),p(!1)}catch(e){console.error("[AdRenderer] Erro ao carregar banner:",e),p(!1)}finally{h(!1)}},[e,n]);(0,a.useEffect)(()=>{R()},[R]),(0,a.useEffect)(()=>{let n=!1;return s(e).then(e=>{n||(console.log("[AdRenderer] Pool de rota\xe7\xe3o carregado:",e.length,"banner(s)"),y.current=e)}),()=>{n=!0}},[e]);let A=(0,a.useCallback)((e=!1)=>{let r=y.current;if(r.length<=1)return;let t=()=>{let e=[];w.current&&e.push(w.current.banner.id),n?.rotation?.preventRepeatUntilCycle&&(e=[...e,...Array.from(b.current)]),e=[...new Set(e)];let t=r.filter(n=>!e.includes(n.banner.id));0===t.length&&(console.log("[AdRenderer] Ciclo completo! Reiniciando hist\xf3rico."),b.current.clear(),0===(t=r.filter(e=>!w.current||e.banner.id!==w.current.banner.id)).length&&(t=r));let a=function(e){if(!e||0===e.length)return null;if(1===e.length)return e[0];let n=e.reduce((e,n)=>e+(n.weight||50),0);if(0===n)return e[Math.floor(Math.random()*e.length)];let r=Math.random()*n;for(let n of e)if((r-=n.weight||50)<=0)return n;return e[0]}(t.map(e=>e.banner)),i=t.find(e=>e.banner.id===a?.id)??t[0];i&&(b.current.add(i.banner.id),m(i))};e?(p(!0),setTimeout(()=>{t(),requestAnimationFrame(()=>p(!1))},600)):t()},[n]);(0,a.useEffect)(()=>
11{if(v.current&&(console.log("[AdRenderer] Limpando intervalo anterior"),clearInterval(v.current),v.current=null),n?.rotation?.enabled&&n.rotation.intervalSeconds>0)return console.log("[AdRenderer] Rota\xe7\xe3o ativada:",n.rotation.intervalSeconds,"segundos"),v.current=setInterval(()=>{document.hidden||y.current.length<=1||(console.log("[AdRenderer] Rotacionando banner (cache local)..."),A(!0))},1e3*n.rotation.intervalSeconds),()=>{v.current&&(console.log("[AdRenderer] Cleanup: Limpando intervalo"),clearInterval(v.current),v.current=null)}},[n?.rotation?.enabled,n?.rotation?.intervalSeconds,A]),(0,a.useEffect)(()=>{u&&x.current!==u.banner.id&&(x.current=u.banner.id,console.log("[AdRenderer] Rastreando impress\xe3o:",{campaignId:u.campaignId,bannerId:u.banner.id}),fetch("/api/ad-track/impression",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({campaignId:u.campaignId,bannerId:u.banner.id})}).catch(e=>console.error("[AdRenderer] Erro ao rastrear impress\xe3o:",e)))},[u]);let j=()=>{u&&fetch("/api/ad-track/click",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({campaignId:u.campaignId,bannerId:u.banner.id})}).catch(e=>console.error("[AdRenderer] Erro ao rastrear clique:",e))};if(f){console.log("[AdRenderer] Renderizando loading...");let e=window.innerWidth<768;return(0,t.jsx)("div",{className:`ad-renderer ad-loading ${r}`,children:(0,t.jsx)("div",{className:"w-full max-w-full mx-auto",style:{position:"relative",paddingBottom:`${1/(e?6.4:4.38)*100}%`,maxWidth:e?"320px":"1095px"},children:(0,t.jsx)("div",{className:"absolute inset-0 animate-pulse bg-gray-200 rounded"})})})}if(!u)return console.log("[AdRenderer] Sem dados de banner, retornando null"),null;let{banner:$}=u;console.log("[AdRenderer] Renderizando banner:",$.type,$.name);let N=n?.rotation?.transitionEffect||"fade",k=`ad-transition-${N}`;return(console.log("[AdRenderer] Estado de transi\xe7\xe3o:",{effect:N,isTransitioning:g,classes:`${k} ${g?"transitioning":""}`}),"image"===$.type&&$.imageUrl)?(console.log("[AdRenderer] Renderizando imagem:",$.imageUrl),(0,t.jsx)("div",{className:`ad-renderer ad-image ${k} ${g?"transitioning":""} ${r}`,children:$.linkUrl?(0,t.jsx)("a",{href:$.linkUrl,target:"_blank",rel:"noopener noreferrer",onClick:j,className:"inline-block mx-auto",children:(0,t.jsx)("img",{src:$.imageUrl,alt:$.name,className:"max-w-full h-auto mx-auto",loading:c?"eager":"lazy"})}):(0,t.jsx)("img",{src:$.imageUrl,alt:$.name,className:"max-w-full h-auto mx-auto",loading:c?"eager":"lazy"})})):"tag"===$.type&&$.adTag?(0,t.jsx)("div",{className:`ad-renderer ad-tag ${k} ${g?"transitioning":""} ${r}`,children:(0,t.jsx)(o,{banner:$,onClick:j})}):"html5"===$.type&&$.html5Assets?(console.log("[AdRenderer] Renderizando HTML5:",$.html5Assets.indexUrl),(0,t.jsx)("div",{className:`ad-renderer ad-html5 flex justify-center ${k} ${g?"transitioning":""} ${r}`,children:(0,t.jsx)(i,{banner:$,priority:c,onImpression:()=>{console.log("[AdRenderer] HTML5 banner impression via component")},onClick:j})})):null}},90895:(e,n,r)=>{r.d(n,{i:()=>t});async function t(){let e=await fetch("/api/ad-placements");if(!e.ok)throw Error(`Falha ao carregar placements: HTTP ${e.status}`);let n=await e.json();return Array.isArray(n?.placements)?n.placements:[]}}}]);

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.