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

'Eu gosto de ser visto como alguém envelheceu bem', diz Lucas Silveira

Colaboração para Splash, em São Paulo

25/06/2022 04h00

Luiza Possi recebeu Lucas Silveira, o vocalista da Fresno, na terceira temporada do "Sai da Caixa". A banda que surgiu no início dos anos 2000 carrega até hoje uma legião de fãs e, certamente, marcou um período na vida das pessoas que cresceram nessa época. Apesar do grande sucesso no rock, Lucas 'sai da caixa', encara o pagode e não quer ser visto só pelo sucesso da banda.

Na conversa com Luiza, Lucas surpreendeu muita gente ao falar que adora um pagode. Talvez seja por isso que as pessoas o enxergam como um cara que está sempre por ai, "metido nas coisas", como ele mesmo definiu. Inclusive, ele gosta disso, de aprender e fazer coisas novas para não ser só a pessoa que marcou determinada época.

Eu gosto de ser visto, eu procuro ser visto como alguém que não está necessariamente ligado a uma época. Apesar de estar, eu não nego isso. Eu gosto de ser visto também como alguém que foi embora e envelheceu bem. Lucas Silveira

Sai da Caixa: Luiza Possi recebe Lucas Silveira; confira os bastidores

O cantor da turma

Lucas contou que cresceu em meio aos instrumentos musicais da mãe, isso o fez desenvolver um bom ouvido para música, mas na época era só brincadeira: "Era natural pra mim, eu nem considerava que aquilo era uma aptidão, achava que todo mundo cantava", explicou.

Foi na escola, por volta de 14 anos, que Lucas voltou a cantar: "As pessoas falavam: 'ah, o cara canta bem' e eu virei o cantor da turma". Ele ainda não estava completo: "Me frustrava muito não saber tocar violão e depender das pessoas", revelou.

Peguei um violão, coloquei as cordas (....) e aprendi. A partir daquilo ali eu me senti muito poderoso. Lucas Silveira

E não parou por aí. Ele contou que comprou várias revistas que ensinavam a tocar violão e quando menos esperou, já estava tocando de tudo.
Disso aí para montar uma banda, foi um pulo. Eu já tinha meus colegas que também tocavam e já montamos a banda que viraria a Fresno lá na frente.

Sai da Caixa - Carine Wallauer/UOL - Carine Wallauer/UOL
Lucas Silveira é o convidado da semana no 'Sai da Caixa', com Luiza Possi
Imagem: Carine Wallauer/UOL

A primeira e a segunda temporada do 'Sai da Caixa' foram apresentadas por Tiago Abravanel. O ator, cantor e ex-BBB recebeu em sua casa convidados que soltaram a voz nos mais diversos ritmos, como Thiaguinho, Felipe Araújo e Lauana Prado.

O 'Sai da Caixa' vai ao ar toda às quartas-feiras, às 14h, no Canal UOL. Além dele, nomes da música como Gabi Martins, Fiuk e Tierry estão entre os convidados.

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