;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Luva de Pedreiro joga altinha com Fátima Bernardes e Ana Thaís no Encontro

Iran Ferreira, o "Cara da Luva de Pedreiro", jogou uma altinha com Fátima Bernardes e Ana Thaís Matos no programa Encontro - Reprodução/Globoplay
Iran Ferreira, o 'Cara da Luva de Pedreiro', jogou uma altinha com Fátima Bernardes e Ana Thaís Matos no programa Encontro Imagem: Reprodução/Globoplay

Do UOL, em São Paulo

11/04/2022 11h48

Iran Ferreira, mais conhecido como o 'Cara da Luva de Pedreiro', foi convidado especial da edição de hoje (11) do 'Encontro', da Rede Globo. O baiano de 20 anos, que virou fenômeno na internet pelos seus vídeos de golaços em um campinho de terra, jogou uma altinha ao vivo com a apresentadora Fátima Bernardes e a comentarista Ana Thaís Matos.

Natural de Quijingue, uma cidade no nordeste do estado da Bahia, Iran já soma mais de 11 milhões de seguidores no Instagram e quase 14 milhões no Tik Tok. O jovem conquistou a internet com seu carisma e está fazendo sucesso no meio do futebol. Ele, inclusive, realizou seu sonho ao conhecer o ídolo Neymar.

Torcedor do Vasco, Luva de Pedreiro já participou do 'Domingão com Hulk' e hoje esteve com a também vascaína Fátima Bernardes no 'Encontro'. Ao lado de Ana Thaís Matos, o jovem contou sobre sua trajetória e também comentou futebol. Ele revelou que acredita no título de seu time do coração na Série B de 2022.

"Sou vascaíno sempre, independentemente do momento. Se Deus quiser, e com a torcida apoiando, somos campeões de todo jeito", disse. O Vasco. Na primeira partida do Cruz-Maltino na atual edição da competição, o Vasco empatou com o Vila Nova por 1 a 1, em São Januário. "O campeonato acabou de começar", completou.

Questionado por Fátima sobre qual time estaria torcendo na Série A, Iran revelou ainda não ter escolhido. "Falar a verdade, eu sou um cara do futebol, amo todas as torcidas. O Vasco é do coração mesmo, mas, por enquanto, ainda não escolhi [por qual torcer na primeira divisão], estou observando", afirmou.

Luva de Pedreiro, que já sonhou em ser jogador de futebol, conta que agora tem um "planejamento pesado" de conteúdo para produzir nas mídias sociais, tudo pensado por ele. Iran acrescenta que pretende voltar a estudar e quer atuar na área do esporte. "Vou ser treinador daqui a um tempo, uns cinco anos", destacou.

Iran ainda deu sua opinião sobre os episódios de violência no futebol que marcaram a última semana, como as ameaças aos jogadores do Corinthians e os ataques aos atletas do Flamengo. "O futebol não é de briga, futebol é amor", concluiu.