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

'Eles tinham se mudado 3 dias antes', diz avô de bebê morta em chuvas no RJ

Aylla Sophia Rodrigues Costa, 2 anos, vítima das chuvas no estado do Rio - Arquivo pessoal
Aylla Sophia Rodrigues Costa, 2 anos, vítima das chuvas no estado do Rio Imagem: Arquivo pessoal

Daniele Dutra

Colaboração para o UOL, no Rio

08/02/2023 15h20

O temporal no estado do Rio de Janeiro deixou ao menos quatro mortos em 24 horas. Aylla Sophia Rodrigues Costa, de 2 anos, foi vítima de deslizamento de terra em uma casa no Morro Chácara do Céu, na Tijuca, zona norte da capital.

Aylla estava com a mãe e o padrinho quando foi soterrada pela lama. A criança tinha se mudado para a casa com os pais havia apenas três dias.

Segundo o avô da vítima, Edson, seu filho estava no trabalho falando com a mãe da menina ao telefone quando a casa desabou.

Foi uma tragédia. Ele estava na linha com a esposa quando ouviu o barulho, o pedido de socorro. Saiu correndo, mas quando chegou lá já não tinha mais jeito. Eles estão muito abalados, a mãe mais ainda. Era a única filha deles."
Francisco Edson da Costa, avô de Aylla

Jhon Costa, padrinho de Aylla, estava na casa no momento que aconteceu o deslizamento de terra. Ao UOL, ele conta que a família perdeu tudo e a casa ficou destruída, repleta de entulhos e bananeiras caídas:

Começou a desabar terra de uma pedra que fica acima da casa. Eu e a mãe dela estávamos no quarto, que é mais à frente, e a nenê estava na cozinha, onde o impacto foi maior. Estamos em choque."
Jhon Costa, padrinho de Aylla

Amigos e parentes fizeram um apelo e pedem ajuda com doações, como a família perdeu tudo com as chuvas. A menina será enterrada hoje, no cemitério do Catumbi.

Nas redes sociais, parentes lamentaram a perda da criança. "Princesinha da titia, por que você nos deixou? Não consigo aceitar. Eu te amo muito e vou te amar eternamente, minha eterna Anjinha. Nossa pequena agora está descansando ao lado do nosso pai eterno", disse Drika Rodrigues.

As outras vítimas do temporal foram:

  • José Diniz, 82, que estava em uma casa que desabou no Catete;
  • Aroldo Alves Júnior, 27, que foi atingido por um raio em Saquarema, região dos Lagos;
  • uma jovem de 22 anos, cujo nome não foi divulgado. Ela estava no Morro da Coruja, em São Gonçalo, na região metropolitana.

Os Bombeiros do Rio já atenderam cerca de 300 ocorrências relacionadas às chuvas, desde as 17h de ontem, em todo o território fluminense, incluindo 105 de alagamentos e inundações, 70 salvamentos de pessoas presas ou ilhadas, 82 cortes de árvores e 37 desabamentos ou deslizamentos.

"Agentes da Defesa Civil Estadual estão em contato permanente com as Prefeituras, dando e quando as ocorrências extrapolam a capacidade de resposta da gestão municipal - o que ainda não aconteceu", diz a nota.