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

Topo

Luiza Possi e Paulo Ricardo fazem homenagem a Djavan com 'Flor de Lis'

31/07/2022 09h00

Convidado do programa "Sai da Caixa" desta semana, Paulo Ricardo se uniu à apresentadora Luiza Possi para uma versão de "Flor de Lis", clássico de Djavan. No papo do programa, ele falou do auge do RPM nos anos 1980, de sua amizade com Cazuza e muito mais.

O 'Sai da Caixa' é um programa musical do Canal UOL e vai ao ar toda quarta-feira, às 14h30. Além de Paulo, outros nomes do rock já aram por aqui como Tony Bellotto, Fiuk e Lucas Silveira.

PR - Reinaldo Canato/UOL - Reinaldo Canato/UOL
Paulo Ricardo e Luiza Possi contam juntos no 'Sai da Caixa'
Imagem: Reinaldo Canato/UOL

Depois de lembrar os anos 80, quando o Brasil respirava o rock, Luiza foi direto matar uma curiosidade - dela e nossa também: "Dessa galera dos anos 80, quem era o mais louco?"

Sem pensar muito, Paulo revelou: "Cazuza, sem dúvidas! Em primeiro, segundo e terceiro lugar."

Para o convidado de Luiza, o cantor não interpretava nenhum personagem: "Ele era poesia, ele era aquilo tudo. A poesia dele reflete quem ele era. O Cazuza era a poesia, o tempo todo muito íntegro", contou o amigo com muito orgulho.

Muitos não sabem, mas os dois nutriam uma amizade forte. Paulo, por exemplo, gostava de ar os finais de semana na casa do cantor, e até chamava dona Lucinha - mãe de Cazuza, de tia.

Ele era muito intenso e muito influente. As pessoas inevitavelmente eram influenciadas por ele. A coisa dele era muito forte. Ele era muito intenso, muito vibrante, muito engraçado e muito autêntico. Paulo Ricardo

Tenho saudade

Na conversa, o convidado abriu o coração e revelou que não é muito de sentir saudade de pessoas e do que já ou, mas quando se fala de Cazuza, é diferente: "Não tenho saudade de quase nada. Mas estar com ele, ser aquele garoto [de quando eu era quando estava com ele]...". Os dois tinham 4 anos de diferença na idade.

Ainda falando do amigo, Paulo enalteceu a facilidade poética de Cazuza e contou um lado não tão conhecido pelos fãs: "Ele estudava, ficava em casa à tarde com a máquina de escrever. Ele era muito sério", revelou.

Ele não era doidão 24 horas, ele levava o trabalho dele muito a sério. Paulo Ricardo

Você pode assistir a toda a programação do Canal UOL aqui