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

Antonio Fagundes revela em live viagem inesquecível e desastre na cozinha

Mais Brasil com Zeca
1 | 25

De Nossa

21/10/2020 04h00

Os atores Bruno e Antonio Fagundes foram os convidados especiais de Zeca Camargo no último episódio do Brasil com Zeca, programa transmitido todos os domingos, ao meio dia, no Youtube de Nossa e no portal e redes sociais do UOL.

No bate-papo animado (veja os melhores momentos no vídeo), eles conversaram sobre a importância da leitura, a reabertura do cinemas e teatros (e a saudade que estão dos palcos e da tela grande), a reinvenção que aram durante a pandemia e os novos projetos que tocaram durante esse período — como a narração do audiobook "Sapiens, uma Breve História da Humanidade", de Yuval Harari, que Antonio está gravando em casa, e a estreia de Bruno como diretor.

Destino inesquecível

Saudosos de rodar o Brasil e o mundo, Zeca e seus convidados mataram a vontade relembrando destinos.

Antonio Fagundes revelou que uma de suas aventuras mais marcantes foi motivada por uma sugestão que Zeca deu para ele anos atrás.

"A partir da dica que você deu, fizemos uma das viagens mais lindas que já fizemos. Eu, o Bruno e meu outro filho, Antonio, fomos para o Butão", conta o veterano. "Foi uma loucura, amos de 10 a 15 dias lá".

O eio foi tão marcante que, até hoje, Bruno usa no pescoço um cordãozinho que recebeu de um sacerdote durante a viagem. "Nunca mais tirei. Nem para entrar no banho ou no mar... Estou fulltime com ele", diz o ator.

Explosão na cozinha

Uma das reinvenções de Antonio Fagundes durante a pandemia foi dedicar-se à gastronomia. "Estou fazendo aula a distância até. Abro o computador e vou fazendo com a orientação. Tá saindo muito bem!".

Porém, ele relembrou um caso digno do @chefsnaquarentena, Instagram que reúne desastres culinários. "Eu estava começando a cozinhar e decidi fazer um quindim para Bruno, que adora doces", conta. "Coloquei tudo no liquidificador, mas estava nervoso, porque ele ia experimentar depois. Quando liguei, esqueci de colocar a tampa. Foi bagunça para a cozinha inteira".

"Zeca, você já imaginou o que é um quindim no teto!", divertiu-se Bruno.

Anota aí!

Brasil com Zeca vai ao ar todo domingo, às 12 horas. Você pode acompanhar o programa no Youtube de Nossa, na home do UOL e no Facebook e no Twitter do UOL.