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

OPINIÃO

Leão Lobo: Desbocada, Lívia Andrade ainda é mal-aproveitada pela Globo

Colaboração para Splash

24/06/2023 04h00

O jornalista Leão Lobo, 69, reforçou no programa Splash Show sua iração pela apresentadora Lívia Andrade, que completou 40 anos nesta semana. Eles trabalharam juntos no programa Fofocalizando (SBT) e também em outros projetos, dentro e fora da TV.

Leão defende que Lívia merecia mais espaço na Globo. "Acho que ela está sendo muito mal-aproveitada. A Globo parece que não sabe como usar o talento da Lívia, que é um talento popular. Ela tem essa coisa meio desbocada, que fica meio esquisito na Globo, parece que não funciona direito."

Ele recordou ocasiões em que Lívia brigou por respeito nos bastidores da telinha. "Houve uma vez em que ela bateu em um produtor do programa do Gugu, porque ela chegou [ao estúdio] de calça e ele queria que ela pusesse uma minissaia, senão não ia entrar [no palco]. Lívia deu um soco no estômago do produtor e disse: 'você não vai me chamar de piranha, eu vou entrar do jeito que eu sou, que eu quero!'"

Até mesmo fora dos estúdios ela teve que lidar com o assédio sexual. "Eu trabalhei com a Lívia no teatro, [onde] ela era cantada por uma diretora, que lhe deu o papel com a intenção de [assediá-la]. Só que ela tirava de letra, sabia como se safar, se defendia. Lívia conseguiu fazer desse limão uma limonada, à força de muita batalha."

Leão Lobo: Ana Maria foi grossa como de costume, mas erro partiu da equipe

A apresentadora Ana Maria Braga, 74, perdeu a paciência com a designer de interiores Patrícia Fernandes, sua convidada no Mais Você (Globo) de hoje. Ela se irritou porque Patrícia, ao invés de dar dicas de iluminação para 'casas comuns', usou termos técnicos e citou projetos muito elaborados.

Leão Lobo acredita que Ana Maria não foi a culpada pelo 'climão'. "Na verdade, foi um erro da produção, que devia ter orientado essa moça. Ela está acostumada a casas de ricos, não tem uma linguagem popular. Ou você não chama essa pessoa ou, antes de o programa entrar no ar, explica", reclamou ele.

  • O programa Splash Show é exibido ao vivo de segunda a sexta-feira, às 13h, no canal de Splash no YouTube e na home do UOL, com as principais notícias do dia e comentários. Assista à íntegra: