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

Irmão de Marília quer conversar com Felipe Araújo: 'Saber como ele lidou'

Lucas Pasin

De Splash, no Rio

03/12/2021 10h00

Desde a morte de Marília Mendonça em um trágico acidente aéreo, João Gustavo, irmão da "rainha da sofrência", vem lidando com todos os tipos de comentários na internet. O sertanejo ganhou os holofotes não só pelo parentesco com a cantora, mas também por anunciar que, ao lado de sua dupla, Dom Vittor, lançaria uma música com a participação da irmã. "Calculista" chegou às plataformas digitais hoje (3).

Muitos comentários nas redes sociais compararam Gustavo a Felipe Araújo. O irmão de Cristiano Araújo, morto em um acidente de carro em 2015, se lançou na música após a perda na família. No caso de Dom Vittor e Gustavo, os sertanejos já haviam iniciado a carreira há um ano e eram empresariados por Marília.

Gustavo, em conversa com Splash, diz não se importar com as comparações e entrega que, recentemente, pediu a um amigo o telefone de Felipe Araújo.

Não acho ruim que comparem. Felipe é muito legal e sou fã. Inclusive, peguei o telefone dele e vou ligar. Quero que a gente sente para conversar, e ouvir como ele lidou com tudo. Saber como foi a mudança da dor para a saudade, e a transição para as lembranças boas.

O irmão de Marília continua: "Sei que ele ou por ataques e conseguiu lidar com isso. Felipe provou com seu talento que é capaz de estar ali. Quero conversar com ele e pegar dicas, saber como ele lidou e trocar experiências".

Dom Vittor e Gustavo gravaram música com participação de Marília Mendonça - Divulgação - Divulgação
Dom Vittor e Gustavo gravaram música com participação de Marília Mendonça
Imagem: Divulgação

'Ignoramos comentários maldosos'

Quem também precisa lidar com alguns comentários nada agradáveis é Dom Vittor. O sertanejo já ouviu que formou dupla com Gustavo apenas por ele ser "o irmão de Marília Mendonça".

"Antes mesmo de ela ser nossa empresária já faziam comentários maldosos. Como se eu estivesse com o Gustavo por ter sucesso já garantido. A nossa melhor resposta é provar com o nosso trabalho, com pequenas atitudes. ei a entender que a internet tem coisas desagradáveis e parei de dar bola", diz Dom Vittor.

Gustavo complementa o colega e diz que qualquer rótulo ligado a Marília é, na verdade, um presente.

Ignoramos mesmo os comentários maldosos. Vão chegar muitos ainda. Esse rótulo de 'irmão da Marília' nunca vai fazer mal. A minha irmã foi uma pessoa muito f.... O que ela fez por aqui foi incrível.

Dom Vittor e Gustavo formaram dupla no fim de 2020; eles ainda não estrearam nos palcos - Divulgação - Divulgação
Dom Vittor e Gustavo formaram dupla no fim de 2020; eles ainda não estrearam nos palcos
Imagem: Divulgação