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

Jojo Todynho apoia Klara Castanho: 'Respeito por Antonia e Leo acabou'

Jojo Todynho comenta sobre o caso de Klara Castanho - Reprodução/Instagram
Jojo Todynho comenta sobre o caso de Klara Castanho Imagem: Reprodução/Instagram

Colaboração para Splash, em São Paulo

28/06/2022 11h30

Jojo Todynho, de 25 anos, se manifestou sobre o caso de Klara Castanho após a atriz ser exposta na mídia por engravidar, vítima de um estupro, e dar o bebê para adoção. Em seus stories no Instagram, a apresentadora mostrou indignação com a situação e criticou Antônia Fontenelle e o colunista Leo Dias.

"Eu tinha um carinho, um respeito enorme pela Antônia e pelo Leo. E se acabou. Estou muito triste", desabafou Jojo.

"Não imagino a dor que a Klara está sentindo (..) Fico imaginando, carregou por 9 meses uma coisa que não planejou. Um turbilhão, não é fácil. Obviamente quando teve a criança gera um amor, mas também vem as conturbações de tudo que aconteceu", refletiu.

Lembrando do próprio desejo de ser mãe, Jojo comentou sobre a gravidez ser uma "dádiva na vida da mulher", mas que era um momento de dor para a atriz.

"A gravidez é tão linda, é uma dádiva na vida de uma mulher. Quantas mulheres querem ter filhos e não conseguem? E a Klarinha tem que ar por essa crueldade. Imagino o quão doloroso é para ela. Eu tô com dor na alma", enfatizou.

Abuso, gravidez e exposição de Klara Castanho

A história teve início após a apresentadora Antonia Fontenelle dizer em uma live que "uma atriz global de 21 anos teria engravidado e entregado a criança para adoção". "Ela não quis olhar para o rosto da criança", afirmou Fontenelle.

Embora não tenha citado nominalmente Klara Castanho, os internautas imediatamente associaram a versão contada por Antonia à atriz. Após a declaração de Fontenelle repercutir, dezenas de internautas criticaram Klara Castanho e apontaram "falta de responsabilidade" da artista. Mesmo sem terem certeza do que aconteceu, a atriz foi julgada e atacada.

Procurada por Splash, Antonia Fontenelle questionou apenas: "e o que eu tenho a ver com isso?". Nas redes, ela publicou um relato em que classifica a história de "monstruosa" e disse que a doação de uma criança seria "abandono de incapaz".

Em carta aberta publicada no Instagram, Klara relatou que foi estuprada e engravidou, mesmo tendo tomado pílula do dia seguinte. Classificado por ela como "o relato mais difícil da minha vida", a artista explicou que não queria tornar o assunto público, mas já que a adoção foi exposta, resolveu se pronunciar.

Não posso silenciar ao ver pessoas conspirando e criando versões sobre uma violência repulsiva e de um trauma que eu sofri. Eu fui estuprada.
Klara Castanho

Klara não reportou a violência sexual à polícia por sentir "vergonha e culpa". Acreditou que, ao "fingir" que o episódio não aconteceu, ela "talvez esquecesse".

Ao dar prosseguimento ao relato, a atriz destaca que descobriu a gravidez ao ar mal e procurar um médico. Mas o profissional que a atendeu não se solidarizou com sua dor e a violência sofrida, mesmo após revelar que foi estuprada.

Incapaz de criar um filho fruto de um estupro, Klara Castanho optou pela doação do bebê que gerou e fez todos os procedimentos legais. Entretanto, quando teve a criança, teria sido ameaçada por uma enfermeira, que quis levar o caso a público por meio da imprensa.

Ela diz ainda que não demorou para que jornalistas assem a procurá-la, ainda no hospital, para questionar sobre a gravidez e a adoção, mas, ao explicar-lhes que o filho foi fruto de uma violência, os repórteres se comprometeram em não publicar matéria a respeito. Até que o assunto ganhou força no Twitter neste último sábado (25), após o colunista do jornal Metrópoles, Leo Dias, detalhar o caso em uma matéria.