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

Mãe de Whindersson Nunes pede desculpas após criticar família de Maria Lina

Valdenice, mãe de Whindersson Nunes, criticou a família da ex-noiva do filho - Reprodução/Instagram
Valdenice, mãe de Whindersson Nunes, criticou a família da ex-noiva do filho Imagem: Reprodução/Instagram

De Splash, em São Paulo

23/02/2022 19h28

Valdenice Nunes, mãe de Whindersson Nunes, compartilhou um comunicado após contar durante entrevista ao programa IelCast, que não aprovava os familiares de Maria Lina, ex-noiva do youtuber, e Luísa Sonza, sua ex-esposa.

"Muitos sabem do meu jeito de ser, principalmente quando se trata dos meus filhos. Muitas vezes acabamos reagindo na emoção e no impulso, o que acaba machucando algumas pessoas", iniciou em publicação nos Stories do Instagram.

Valdenice Nunes, mãe de Whindersson Nunes, pediu desculpas por declarações em podcast - Reprodução/Instagram - Reprodução/Instagram
Valdenice Nunes, mãe de Whindersson Nunes, pediu desculpas por declarações em podcast
Imagem: Reprodução/Instagram

A mãe do youtuber destacou que se tratava de uma "conversa descontraída" durante o podcast e afirmou que as declarações podem "magoar e entristecer" outras pessoas.

"Quero pedir desculpas se, de alguma forma, ofendi alguém. Quero deixar claro que sempre recebi e recebo de braços abertos as pessoas que se relacionam com a minha família", afirmou.

No Twitter, Whindersson disse estar "morto de vergonha" após as falas da mãe. Maria Lina também se manifestou nas redes sociais exaltando as qualidades dos pais.

"Pai e mãe, eu quero que vocês saibam, na verdade, que quero que todo mundo saiba, que vocês são pessoas maravilhosas", destacou ela sem citar as declarações de Valdenice.

Declarações da mãe de Whindersson

Em entrevista ao IelCast, Valdenice comentou sobre o comediante e seus relacionamentos amorosos. No entanto, não deixou de alfinetar a família da última companheira de Whindersson.

"Quando cheguei na segunda vez, agora da segunda [Maria Lina], ele foi me mostrar a casa, me perguntou se gostei. Eu disse: 'Gostei. Acontece, meu filho, que você só mudou de sobrenome. A família é pior do que a da primeira [Luísa Sonza]", revelou.

Diante disso, a mãe do youtuber relembrou o que o filho falou para ela na ocasião. "Ele [disse] então: 'Mãe, pelo amor de Deus, a senhora já diz isso. Eu namoro com ela, não é com a família, não'. Eu respondi: 'Quem aceita a mulher, aceita a família todinha'. Mas mudei, fiquei com medo de ele ficar com raiva e eu estava na casa dele. Tive que procurar o meu lugar", concluiu.

O relacionamento de Whindersson e Maria Lina terminou no ano ado, pouco após anunciarem o nascimento e morte do filho, João Miguel. A influenciadora destacou recentemente que a decisão do rompimento partiu do humorista.