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

Férias no México e problemas com sogro: o relacionamento de Jojo Todynho

De Splash, em São Paulo

17/02/2022 04h00

Jojo Todynho e Lucas Souza se casaram no final de janeiro, e seguem comemorando a união nas redes sociais. Nesta semana, a cantora e influenciadora mostrou a tatuagem que o marido fez em homenagem a ela.

Os dois se conhecem há seis meses, mas já viveram histórias suficientes para anos de relacionamento. Relembre a trajetória do casal!

O começo

Jojo Todynho e o namorado, Lucas Souza - Reprodução/Instagram - Reprodução/Instagram
Jojo Todynho e o marido, Lucas Souza
Imagem: Reprodução/Instagram

O início de tudo foi em Tulum, no México, em agosto do ano ado. Jojo conta que viu Lucas e logo se interessou, mas não foi falar com ele por acreditar se tratar de um estrangeiro. O tenente foi quem se aproximou, dizendo ser fã da cantora desde o reality "A Fazenda".


Lucas pediu uma foto, e Jojo não perdeu tempo: pediu um beijo!

Os dois namoraram em segredo até novembro, quando Jojo postou uma foto dos dois em um perfil privado no Instagram com cerca de 100 seguidores. Um deles vazou a imagem, revoltando a cantora: "Pessoas que eu gosto, que eu tenho contato pessoal. Não imaginava que iria vazar. Isso prova que eu tenho que ficar cada vez mais afastada dos outros", disse Jojo.

Críticas

Jojo Todynho e Lucas Souza se casam hoje, anunciou a cantora - Reprodução/Instagram - Reprodução/Instagram
Jojo e Lucas foram alvos de críticas
Imagem: Reprodução/Instagram

Logo que confirmou o namoro com o militar, Jojo começou a receber críticas: foi chamada de "palmiteira" por namorar um homem branco e comentários nas redes sociais sugeriam que Lucas estava com ela por interesse.

Lucas não precisa de mídia. Se ele precisasse, o Instagram dele seria aberto. Ele é oficial, então obviamente não precisa do meu dinheiro e de biscoito. Aliás, nunca dei dinheiro para homem. Jojo Todynho no Instagram

Lucas também se pronunciou: "As pessoas ficam enchendo o saco. Só me mandam mensagens negativas. O pessoal é perturbado, não me deixa em paz. Não preciso ficar escutando merda das pessoas".

Casamento

Em dezembro, Lucas pediu Jojo em casamento. O pedido aconteceu de surpresa e em casa, com direito a balões e roupas brancas.

A cerimônia aconteceu no Rio, no dia 29 de janeiro. Entre os convidados, estavam famosos como David Brazil, a atriz Fabiana Karla, a modelo Raíssa Barbosa e o cantor Mariano ao lado da namorada, Jakeline Oliveira.

Jojo curtiu tanto a festa que acabou torcendo o joelho, e os dois perderam o voo para a lua de mel em Jijoca de Jericoacoara (CE).

Briga de família

Lucas Souza, marido de Jojo Todynho, desabafou sobre pai biológico - Reprodução/Instagram - Reprodução/Instagram
Lucas Souza, marido de Jojo Todynho, interrompeu a lua de mel para falar sobre o pai biológico
Imagem: Reprodução/Instagram

O casamento não foi só flores: o pai biológico de Lucas disse que, um dia antes da cerimônia, recebeu uma ligação do filho dizendo que não o queria no evento. "Ele negou suas origens", disse Renato Souza em vídeo.

Marcia Antocevicz, sogra de Jojo, logo deu sua versão e disse que ele nunca participou da criação dos filhos. "Eu convivi com ele por 12 anos e foi a pior coisa que aconteceu na minha vida. Um relacionamento abusivo, eu fui traída, eu fui esfaqueada", revelou.

"Tudo o que você imagina, aconteceu na minha vida. E ele sempre na bagunça, nunca quis saber dos filhos. E até hoje eu tenho medida protetiva contra ele, vários boletins de ocorrência, até fiz mais um essa semana".

Lucas interrompeu sua lua de mel para rebater o pai: "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".