;(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

Chico Barney

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

A Fazenda: Expulsa? Que nada! Pétala será a campeã da temporada

Pétala é um dos destaques na caótica A Fazenda de número 14 - Reprodução
Pétala é um dos destaques na caótica A Fazenda de número 14 Imagem: Reprodução

Colunista do UOL

16/09/2022 14h22

Receba os novos posts desta coluna no seu e-mail

Email inválido

A intrigante Pétala Barreiros precisou de pouquíssimo tempo para se tornar uma das peças mais importantes de A Fazenda 14. E diferentemente de Deolane, Déborah, Shay ou Bruno, não fez isso aos berros.

Não cito esse fato como um juízo de valor, mas apenas para sublinhar uma característica que tem me causado certo fascínio desde a estreia da nova temporada. Com a voz mansa e um olhar fulminante, Pétala oferece ao público um entretenimento diferente.

Ela está no epicentro de algumas das melhores narrativas desses primeiros três dias de programa no ar.

* Déborah falou para Moranguinho que sabia de intimidades a respeito de Pétala que fariam Léo Dias "se coçar" —no sentido de que são fofocas de alta octanagem. Compreendida como ameaça, a fala foi o estopim para o grande caos promovido por Deolane contra a Fênix ao longo da quinta-feira.

* Ao tentar consolar Ruivinha de Marte durante uma crise de ansiedade, Pétala levou uma bordoada psicológica de Ingrid Ohara, que avisou para não "roubar" o foco da cantora. E se saiu muito bem, dando conselhos afetuosos.

* Barreiros também tem dado a entender que conseguiu algumas informações privilegiadas durante o pré-confinamento, com o ao Instagram, junto com Deolane e Thomaz.

Este terceiro ponto estaria levando a produção a avaliar uma possível expulsão da peoa, segundo o colunista Gabriel Perline do portal IG. Cá entre nós, acho virtualmente impossível. A Fazenda costuma privilegiar a diversão e o caos em vez do bom senso, então tirá-la agora seria um tiro no pé.

E também acredito que a postura e as histórias nas quais estão se envolvendo, além da personalidade firme, são importantes indícios de que ela será a grande campeã da temporada. Pode favoritar e me cobrar em dezembro.

Voltamos a qualquer momento com novas informações.