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

Com time na série B, Samuel Rosa brinca: 'Tô querendo esquecer futebol'

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

14/12/2021 11h30Atualizada em 14/12/2021 11h38

No "Sai da Caixa" desta semana, Tiago Abravanel recebeu um convidado com a bagagem cheia de histórias, Samuel Rosa. Afinal, são mais de 30 anos de sucesso na música como cantor, compositor, músico e violinista, e, claro, vocalista e guitarrista do Skank. E claro que futebol virou assunto também nesta 'resenha' entre os dois.

Só de citar a banda, logo lembramos que "bola na trave não altera o placar", mas rendem boas risadas e o Abravanel pode provar isso.

Não tem como falar de Skank, falar de Samuel e não referenciar o hit "É Uma Partida de Futebol", lançada em 1996 e estourado até hoje. Sabendo disso, Tiago começou a conversa dentro do campo: "Top 5 de jogadores de futebol para você", questionou.

"Eu sabia que você ia falar de futebol", brincou Samuel que revelou o seu top: "Pelé, Garrincha, Maradona, Messi e Tostão."

Com maior carinho, o Tostão. Ele jogou no meu time, aliás, o Tostão fez o meu time figurar entre os maiores times do Brasil nos anos 60 (...) Esse time eu não vi jogar, mas eu sei que foi o melhor time que o Cruzeiro teve e foi um dos melhores times que o Brasil teve. Samuel Rosa

samuel - Reinaldo Canato/UOL - Reinaldo Canato/UOL
Sai da Caixa: Tiago Abravanel recebe Samuel Rosa
Imagem: Reinaldo Canato/UOL

Música de futebol

"Você está vivendo um momento diferente agora", continuou Tiago, que quis saber se Samuel já se sentiu desnudo em algum momento solo.

A nossa profissão é uma profissão de ficar pelado em alguns momentos, não tem jeito. Samuel Rosa

Samuel mostrou que não tem como se conectar com tantas pessoas sem ter o peito aberto para tudo o que vier: "Não tenho medo de me expor, o que eu tenho medo é de uma deturpação, que as pessoas não entendam o que eu o e que de fato não sou eu", explicou.

Exemplificando, Samuel brincou que já pensou "essa música virou minha cara", mas nem sempre ele vai ser aquilo o tempo inteiro: "Igual as pessoas perguntam 'você não vai fazer música de futebol de novo?'"

Eu não sou só futebol, meu time está na série B [do Campeonato Brasileiro], eu tô querendo esquecer o futebol. Samuel Rosa

Nascido em Belo Horizonte, Samuel Rosa é torcedor do Cruzeiro. Em 2019, o Cruzeiro caiu para a série B do Campeonato Brasileiro pela primeira vez. Por lá, disputou o campeonato em 2020 e 2021 e jogará em 2022.

Sai da Caixa: O que rolou nos bastidores da participação de Samuel Rosa

Toda semana ele recebe um convidado para 'sair da caixa' na sua casa. Além de Samuel Rosa, ainda este ano, ele terá a visita de Mariana Nolasco e Lauana Prado.Você pode assistir a toda a programação do Canal UOL aqui