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

Marido de Jojo Todynho sobre pai biológico: 'Histórico com álcool e drogas'

De Splash, em São Paulo

03/02/2022 22h15

Lucas Souza, 21, casado com a cantora Jojo Todynho, 24, desde o último sábado (29), rebateu as declarações do pai biológico, Renato Souza, que afirmou que o militar "negou suas origens" e o "excluiu" da cerimônia.

O senhor Renato tem histórico de alcoolismo e drogas. É um exemplo negativo como pai. Graças a Deus, eu e meus irmãos fomos criados longe desse homem. Todos que fazem parte da minha família sabem que só tivemos a educação da minha mãe. Não foi o Renato que me criou.
Lucas Souza

"Foram 12 anos de tortura, de relacionamento abusivo, esfaqueamento e agressão. Pai é quem cria. Não quem vai para a mídia querendo expor o filho", disse Lucas na sequência ao comentar sobre o casamento de Renato com sua mãe, Marcia Antocevicz.

O militar destacou que o pai biológico "está apenas buscando mídia" e "vai se complicar judicialmente" por conta das declarações após o casamento. "Ele está com um empresário só marcando entrevistas para falar sobre isso", completou.

O marido de Jojo Todynho destacou que a Marcia tem uma medida protetiva contra Renato. Após consultar a mãe, ele revelou que chamou o pai biológico para o casamento.

Liguei, mandei convite. Esse camarada começou a chamar pessoas que eu não conheço. Eram amigos que usavam drogas com ele. Durante a minha infância eu era incentivado a usar drogas por esse pessoal. Para o meu casamento só chamei pessoas próximas, quem eu realmente gosto. Não vou fazer casamento para parente distante que eu nem conheço.
Lucas Souza

Jojo Todynho também apareceu durante o vídeo compartilhado por Lucas. Ela brinca ao esclarecer que não está grávida e destaca que as pessoas "estão buscando fama" com a situação. "A única pessoa famosa nesta história sou eu", apontou a cantora.

Desabafo do pai

Em um vídeo divulgado pela colunista Fábia Oliveira, Renato Souza deu a sua versão sobre a ausência na cerimônia que aconteceu no último final de semana.

"Eu não fui no casamento porque, na verdade, ele negou suas origens. Um dia antes (do casório), ele me ligou falando que não era para ir ninguém de lá (Fazenda Rio Grande, cidade no Paraná onde Lucas nasceu) e isso me deixou muito traumatizado e entristecido, porque realmente ele se criou ali e eu não aceitei", alegou.

Lucas ainda teria feito acusações que, segundo Renato, não condiziam com a realidade.

"Ele também me falou coisas, que eu não ajudei a criar ele, quem criou ele foi a mãe dele. Infelizmente, eu me entristeci muito. Ele tem uma descendência lá da Fazenda Rio Grande, que é Souza, e também ninguém ficou sabendo. Só pelas mídias".