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

John Mayer busca carro deixado por Bob Saget em aeroporto e se emociona

John Mayer se emociona ao falar do amigo Bob Saget - Reprodução/Instagram
John Mayer se emociona ao falar do amigo Bob Saget Imagem: Reprodução/Instagram

Colaboração para Splash, no Rio de Janeiro

13/01/2022 13h43

John Mayer, de 44 anos, um dos amigos mais próximos de Bob Saget, encontrado morto em seu quarto de hotel em Orlando, na Flórida, nos Estados Unidos, no domingo ado (9), tem estado próximo aos familiares do ator e ajudado no que é possível nesse período. Ontem, o cantor se juntou ao comediante Jeff Ross, 56, para resgatar o carro deixado por Bob no aeroporto de Los Angeles antes de morrer.

Ao viajar para outro estado norte-americano, o ator deixou o carro no aeroporto internacional de Los Angeles (LAX) para seguir para a Orlando, local de sua apresentação.

No trajeto para buscar o carro, John, emocionado, e Jeff lembraram de momentos especiais ao lado do ator e compartilharam as histórias durante uma transmissão ao vivo no Instagram.

Eu nunca conheci um ser humano na Terra que pudesse dar tanto amor, individual e completamente, a tantas pessoas de uma maneira que fizesse cada pessoa se sentir como um personagem principal em suas vidas e que elas eram um personagem na sua vida. Todo mundo está tão ciente de quão universal era o amor de Bob pelas pessoas, afirmou John.

O cantor ressaltou que, embora o ator tivesse motivos para se abater por ter enfrentado situações difíceis e perdas trágicas como a morte de suas duas irmãs, ele era forte e tinha uma felicidade que contagiava todos ao seu redor.

"Ele tinha todas as desculpas para ser cínico, aborrecido, desconfiado. Ele tinha todos os motivos para ser o cara amargo no fundo do bar. [Mas] ele riu e espalhou alegria em protesto contra a crueldade dessas coisas", continuou.

Emocionado, John lembrou Bob valorizava muito as relações e suas amizades eram longas e valiosas. Os dois se conheciam há 15 anos e o cantor ainda brincou que ele "novato".

Jeff também comentou sobre o amigo durante o percurso até o aeroporto de LA. Na transmissão, ele disse que o ator se preocupava com todos.

"Se você precisava de um médico, de um advogado, de um sanduíche de pastrami às três da manhã porque uma garota acabou de partir seu coração, Bob era esse cara", brincou ele.

Ele sabia como lidar com o sucesso e ajudar as pessoas a permanecerem bem-sucedidas. Ele sempre me deu ótimos conselhos... Eu dizia: 'Bob, o que eu faço? Eu me sinto culpado. Estou sendo pressionado a fazer isso ou aquilo.' Ele dizia: 'Faça o que é bom para você'. E ele realmente entendeu como se preservar e cuidar de si mesmo e cuidar dos outros, continuou o comediante.

John, que dirigia o carro, continuou o desabafo e refletiu sobre o amor que Bob deixou. A expressão de amor efusiva e repetida de Bob é o maior presente que ele deixou às pessoas, porque tudo o que temos é a dor de sua partida", disse o cantor.

Jeff complementou: "Ele adorava fazer as pessoas felizes. Não importava quem você fosse, sua situação e posição... De certa forma ele pegou sua família da TV e fez dela sua verdadeira família, o que é inédito. Vai ser algo que fará falta por muito tempo", afirmou.

O cantor falou sobre a ida até o aeroporto para buscar o carro do amigo. "Esta é a única vez na minha vida que tive a honra de ajudar um amigo no LAX", brincou Mayer.

De acordo com o artista, a multa do estacionamento que o ator acabou deixando custou US$ 250 (aproximadamente R$ 1380). "A empresa de estacionamento foi, digamos, pouco receptiva, à ideia de que estávamos ajudando um amigo que não está mais conosco", disse o cantor. "Eles ficaram tipo, 'Se fosse o carro de [John] Stamos, nós deixaríamos você ir", brincou Jeff.

Ao finalizar a transmissão, os dois amigos deixaram mensagens de carinho para a esposa do ator, Kelly Rizzo. John aproveitou para falar que nunca lidou com uma perda tão grande e avisou para os fãs se preparem para alguns álbuns.

"Devo dizer que somos apenas algumas estrelas na galáxia dos entes queridos de Bob Saget", finalizou o cantor. "O que podemos dizer além de 'Nós amamos você, Bob' é 'Vida longa ao Rei Saget'", completou Ross.